VHDL-kieli FPGA-suunnittelussa/4-bittinen kierretty rengaslaskuri
Wikikirjasto
[muokkaa] 4-bittinen kierretty rengaslaskuri
Jos kierretty rengaslaskuri on täynnä nollia, se alkaa täyttymään ykkösillä. Kun se on täynnä ykkösiä, se alkaa täyttymään nollilla. n-bittisessä kierretyssä rengaslaskurissa on käytössä 2n tilaa.
Tämän laskurin haitta, kuten muidenkin n-bittisten laskurien, joilla on käytössä alle 2n tilaa, on mahdollinen väärien tilojen sekvenssi.
[muokkaa] VHDL toteutus
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity JC is port( Clock: in std_logic; R: in std_logic; Output: out std_logic_vector(3 downto 0)); end JC; architecture Beh of JC is signal temp: std_logic_vector(3 downto 0); begin process (Clock, R) begin if R='1' then temp <= "0000"; elsif Clock'event and Clock='1' then temp <= (not temp(0)) & temp(3 downto 1); end if; end process; Output <= temp; end Beh;