VHDL-kieli FPGA-suunnittelussa/JK-kiikku
Wikikirjasto
[muokkaa] JK-kiikku
Kiikku on Komponentti digitaalitekniikassa, joka säilyttää asetetun loogisen tilan, eli se muistaa yhden bitin. Bitin arvo riippuu kiikun tyypistä, tulojen tilasta ja lähtöjen edellisestä tilasta. JK-kiikulla on kolme tuloa, valmistetulot J ja K sekä kellotulo CLK. Kiikku siirtyy seuraavaan tilaan kellosignaalin aktiivisella reunalla. Kun sekä J että K ovat molemmat nollia, seuraava tila on sama kuin kiikun nykyinen tila. Kun J ja K ovat molemmat ykkösiä, seuraava tila on kiikun nykyisen tilan komplementti. Alla on esitelty JK-Kiikun piirrosmerkki ja toiminta.
JK-kiikulle ominainen yhtälö: 
[muokkaa] JK-kiikun VHDL-koodi
Kyseessä on JK-kiikun VHDl-koodi joka on toteutettu Synkroonisella resetillä.
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity JK_FF_VHDL is port( J,K: in std_logic; Reset: in std_logic; Clock_enable: in std_logic; Clock: in std_logic; Output: out std_logic); end JK_FF_VHDL; architecture Behavioral of JK_FF_VHDL is signal temp: std_logic; begin process (Clock) begin if Clock'event and Clock='1' then if Reset='1' then temp <= '0'; elsif Clock_enable ='1' then if (J='0' and K='0') then temp <= temp; elsif (J='0' and K='1') then temp <= '0'; elsif (J='1' and K='0') then temp <= '1'; elsif (J='1' and K='1') then temp <= not (temp); end if; end if; end if; end process; Output <= temp; end Behavioral;
