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