Posuvného registra pomocou VHDL

D

danesh

Guest
Ahoj kluci, im nováčik vo VHDL. Mám úlohu napísať doľava presúvanie posuvného registra v toku dát model. Tu je kód THT musím zmeniť na dátový tok, model: ------------------------------------ ---- knižnica IEEE, použitie ieee.std_logic_1164.all, použitie ieee.std_logic_unsigned.all, osoba shift_register je port (d: v std_logic_vector (7 downto 0); ldsh: v std_logic, CS: v std_logic, w: v std_logic , CLK: v std_logic, RST: v std_logic q: vyrovnávacej std_logic_vector (7 downto 0)), koniec shift_register, architektúra posun shift_register je začať proces (CLK, RST) začať ak RST = '0 ', potom q'0) , elsif (clk'event a CLK = '1 '), potom v prípade en = '1' potom ak ldsh = '1 ', potom d (0)
 
Vaša cesta zlyhá. Vo VHDL nemusíte používať slučku! To je riešenie: ibrary IEEE, použitie ieee.std_logic_1164.all, použitie ieee.std_logic_unsigned.all, osoba shift_register je port (ČLK: v std_logic, RST: v std_logic, d: v std_logic_vector (7 downto 0); ldsh: v std_logic ; - zaťaženie paralelne en: v std_logic, w: v std_logic q: vyrovnávacej std_logic_vector (7 downto 0)), koniec shift_register, architektúra posun shift_register je signál int_reg: std_logic_vector (7 downto 0), začína q?
 
Knižnica IEEE; použitie ieee.std_logic_1164.all, osoba basic_shift_register je obyčajný (NUM_STAGES: prírodná: = 64), port (ČLK: v std_logic, aby: v std_logic, sr_in: v std_logic, sr_out: z std_logic), koniec subjektu, architektúra RTL je v basic_shift_register - Vytvorenie typu pole pre posuvný register typu sr_length je pole ((NUM_STAGES-1) downto 0) z std_logic, - určiť, že je posuvný register signál signál SR: sr_length, začne proces (CLK) začať if ( rising_edge (ČLK)) potom if (enable = '1 '), potom - Shift údaje o jeden stupeň, dáta z poslednej etape je stratená sr ((NUM_STAGES-1) downto 1)
 

Welcome to EDABoard.com

Sponsor

Back
Top