《移位寄存器.pdf》由会员分享,可在线阅读,更多相关《移位寄存器.pdf(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 一、实验目的 利用数字电路设计中移位寄存器的相关知识,通过课程设计更加深入的了解移位寄存器的功能。在计算机中常要求寄存器有移位功能。如在进行乘法时要求将部分积右 移在将并行传送的数转换成串行数时也需要移位。因此移位寄存器的设计是必要的。二、硬件要求 主芯片 Altera EPM7128SLC84-15,时钟信号,拨码开关。三、实验内容 设计一个双向移位寄存器 四、实验原理 用 VHDL 语言描述任意分频数的分频器,并实现占空比任意设置.每当系统时钟上升沿到来时,计数器就加计数一位(可任意设置为 N 位),当计数值到达预定值时就对分频时钟翻转.这样就会得到一个连续的时钟脉冲.当移位信号到来时,
2、移位寄存器就对存储的二进制进行移位操作.移位寄存方式可自行设置(可左移,右移,一位移,多位移位寄存)。五、实验源程序 library ieee;use use use entity tdirreg is port(clk:in std_logic;din:in std_logic;dir:in std_logic;op_l:out std_logic;op_r:out std_logic);end tdirreg;architecture a of tdirreg is signal q:std_logic_vector(7 downto 0);begin process(clk)begin
3、if clkevent and clk=1then if dir=0 then q(0)=din;for i in 1 to 7 loop q(i)=q(i-1);end loop;else q(7)=din;for i in 7 downto 1 loop q(i-1)=q(i);end loop;end if;end if;end process;op_l=q(7);op_r=q(0);end a;六 波形仿真结果 dir 为一个控制信号,clk 为时钟控制信号,din 为输入信号,表示要存入的数据,op_r 表示右移,从高位到低位,后得到的结果,op_l 表示左移,从低位到高位后得到的结果。如图所示,当 dir 为 0 时,op_r 输出的是右移的结果,遇到一个 clk 的下降沿时,输入数据右移一位。op_l 输出的是左移的结果,遇到一个 clk 的下降沿时,输入数据左移一位。当 dir 为 1 时,op_r 与 op_l 与上述相反