移位寄存器的设计(VHDL)及testbench的编写
移位寄存器是一种常用的存储元件,此处由D触发器构成,如下图所示。 当时钟边沿到来时,存储在移位寄存器的数据朝一个方向移动一个BIT位。 移位寄存器的功能主要为:串并转换,并串转换和同步延迟。 vhdl代码如下: 1 library ieee; 2 use ieee.std_logic_1164.all; 3 4 entity shiftreg_rb is --实体说明及端口说明 5 port( 6 si,clr_bar,clk:in std_logic; 7 qout:buffer std_logic_vector(3 downto 0)--由于qout端口既是当前D触发器的输入也是上一个D触发器的输出。 8 ); --即qout信号是被驱动源驱动的同时还要驱动下一个端口。 9 end entity shiftreg_rb; --此情况下要使用buffer模式的端口。 10 11 architecture behavior of shiftreg_rb is 12 begin 13 process (clk) ---当时钟发生变化(上升沿或下降沿发生),执行进程 14 begin 15 if clk='1' then --时钟上升沿触发 16 if clr_bar = '0' then --时钟使能 17 qout <= "0000"; 18 else 19 qout(0) <