Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. ENTITY AULA4 IS
  2. PORT ( CLOCK, INICIA : IN BIT;
  3. QOUT : BUFFER BIT_VECTOR(2 DOWNTO 0) );
  4. END AULA4;
  5. ARCHITECTURE CANARINHOPISTOLA OF AULA4 IS
  6. COMPONENT FFJK
  7. PORT ( J, K, CLK, PRS, RST : IN BIT;
  8. Q, QN : OUT BIT );
  9. END COMPONENT;
  10. SIGNAL AUX, A1, A2 : BIT;
  11. BEGIN
  12. FF1 : FFJK PORT MAP (J=>'1',K=>'1',CLK=>CLOCK,PRS=>AUX,
  13. RST=>'1', Q=>QOUT(0), QN=>A1);
  14. FF2 : FFJK PORT MAP (J=>'1',K=>'1',CLK=>A1,PRS=>'1',
  15. RST=>AUX, Q=>QOUT(1), QN=>A2);
  16. FF3 : FFJK PORT MAP (J=>'1',K=>'1',CLK=>A2,PRS=>AUX,
  17. RST=>'1', Q=>QOUT(2));
  18. AUX <= INICIA AND (NOT ((NOT QOUT(2)) AND (NOT QOUT(1)) AND (NOT QOUT(0))));
  19. END CANARINHOPISTOLA;
  20.  
  21. ENTITY FFJK IS -- FLIP FLOP JK COM PRESET E RESET
  22. PORT ( J, K, CLK, PRS, RST : IN BIT;
  23. Q, QN : OUT BIT );
  24. END FFJK;
  25. ARCHITECTURE OSCARNIEMEYER OF FFJK IS
  26. SIGNAL STATE : BIT; -- ESTADO INTERNO (PARA EVITAR LEITURA DO Q)
  27. BEGIN
  28. PROCESS (CLK, PRS, RST)
  29. BEGIN
  30. IF PRS='0' THEN STATE <= '1'; -- PRESET ASSÍNCRONO
  31. ELSIF RST='0' THEN STATE <= '0'; -- RESET ASSÍNCRONO
  32. ELSIF CLK='0' AND CLK'EVENT THEN -- CHECAR DESCIDA DE CLOCK
  33. IF J='1' AND K='1' THEN STATE <= NOT STATE; -- TOGGLE
  34. ELSIF J='0' AND K='1' THEN STATE <= '0';
  35. ELSIF J='1' AND K='0' THEN STATE <= '1';
  36. END IF;
  37. END IF;
  38. END PROCESS;
  39. Q <= STATE;
  40. QN <= NOT STATE;
  41. END OSCARNIEMEYER;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement