VHDL-kieli FPGA-suunnittelussa/4-bittinen kierretty rengaslaskuri

Wikikirjasto

Loikkaa: valikkoon, hakuun

[muokkaa] 4-bittinen kierretty rengaslaskuri

JCNT.PNG

Krl.png

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;

[muokkaa] Simulaatiotulos

JC wave.PNG

Henkilökohtaiset työkalut
Muilla kielillä