Shift Opret bruger VHDL

D

danesh

Guest
hi guys, im newbie i VHDL. Jeg har opgave at skrive venstre skiftende skift lade sig registrere i dataflow model. her er den kode tht jeg har brug for at ændre det til dataflow model: ------------------------------------ ---- bibliotek IEEE, brug ieee.std_logic_1164.all, brug ieee.std_logic_unsigned.all; enhed shift_register er port (d: i std_logic_vector (7 downto 0); ldsh: i std_logic DA: i std_logic; w: i std_logic ; CLK: i std_logic; RST: i std_logic q: buffer std_logic_vector (7 downto 0)); slutningen shift_register, arkitektur skift af shift_register er begynder proces (CLK, RST) påbegyndes, hvis RST = '0 'så q'0') ; elsif (clk'event og CLK = '1 '), så hvis EN = '1' så hvis ldsh = '1 'efterfulgt af d (0)
 
Din måde er mislykkes. I VHDL du behøver ikke at bruge loop! Det er den løsning: ibrary IEEE, brug ieee.std_logic_1164.all, brug ieee.std_logic_unsigned.all; enhed shift_register er port (CLK: i std_logic; RST: i std_logic d: i std_logic_vector (7 downto 0); ldsh: i std_logic - load parallelle DA: i std_logic; w: i std_logic q: buffer std_logic_vector (7 downto 0)); slutningen shift_register, arkitektur skift af shift_register er signal int_reg: std_logic_vector (7 downto 0); begynde q?
 
Biblioteket IEEE, brug ieee.std_logic_1164.all; enhed basic_shift_register er generisk (NUM_STAGES: naturlige: = 64); port (CLK: i std_logic; muligt: ​​i std_logic; sr_in: i std_logic; sr_out: ud std_logic); ende enhed; arkitektur RTL af basic_shift_register er - Byg et array type til Shift Register typen sr_length er matrix ((NUM_STAGES-1) downto 0) af std_logic - Erklær Shift Register signal signal sr: sr_length; begynde processen (CLK) begynder if ( rising_edge (CLK)) så hvis (aktivere = '1 ') derefter - Skift data fra en fase; data fra sidste etape er tabt sr ((NUM_STAGES-1) downto 1)
 

Welcome to EDABoard.com

Sponsor

Back
Top