VHDL kullanarak kayıt Shift

D

danesh

Guest
hi guys, VHDL im newbie. i dataflow modelinde sol kaydıran yazmacın yazmak atama var. burada ben dataflow model değiştirmek gerekiyor kodu tht: ------------------------------------ std_logic yılında; tr: std_logic in; w: std_logic içinde; ldsh std_logic_vector (0 downto 7): ---- library IEEE; kullanımı ieee.std_logic_1164.all;; kullanımı ieee.std_logic_unsigned.all varlık shift_register portu (d ; clk: std_logic içinde; rst: in std_logic; q: tampon std_logic_vector (0 downto 7)); sonunda shift_register; shift_register mimarisi kayma başlar (clk, rst) sürecini başlatmak olduğunu rst if = 'sonra q'0 '0') ; elsif (clk'event ve clk = '1 ') sonra eğer tr = '1' sonra eğer ldsh = '1 'ardından d (0)
 
Senin yolunu başarısız olduğunu. VHDL, size döngü kullanmaya gerek yok! İşte çözüm: ibrary ieee; ieee.std_logic_1164.all kullanmak; kullanımı ieee.std_logic_unsigned.all; varlık shift_register (clk noktası şudur:; rst std_logic in: std_logic in d: std_logic_vector (0 downto 7); ldsh: std_logic içinde ; - Yük paralel tr: std_logic içinde; w: std_logic içinde; q: tampon std_logic_vector (0 downto 7)); sonunda shift_register; shift_register mimari değişim sinyali int_reg şudur: std_logic_vector (0 downto 7); begin q?
 
library IEEE; ieee.std_logic_1164.all kullanmak; varlık basic_shift_register (NUM_STAGES: Doğal: = 64) genel olduğu; portu (clk: std_logic içinde; enable: std_logic içinde; sr_in: std_logic içinde; sr_out: std_logic üzerinden); sonunda varlık; mimarisi basic_shift_register arasında rtl olan - vardiya tipi sr_length kayıt için bir dizi türü oluşturun std_logic arasında ((NUM_STAGES-1) 0 downto) dizidir; - kaydıran yazmaç sinyal sinyal sr: Declare sr_length; süreç (clk) eğer başlamak başlar ( rising_edge (clk)) daha sonra ise -;) 1 downto ('= '1 izin) sonra Shift tek aşamalı veri son aşamaya gelen verileri (NUM_STAGES-1 (sr kaybolur)
 

Welcome to EDABoard.com

Sponsor

Back
Top