文档详情

实验5移位寄存器

pu****.1
实名认证
店铺
DOC
97KB
约12页
文档ID:481599738
实验5移位寄存器_第1页
1/12

本科学生实验报告学号 114090316 姓名 李魁 学院 物电学院 专业、班级 11应电班 实验课程名称 电子设计自动化(EDA实验) 教师及职称 罗永道 副教授 开课学期 2013 至 2014 学年 下 学期 填报时间 2014 年 5 月 17 日云南师范大学教务处编印 / 实验序号 5实验名称移位寄存器实验时间2014年5月16日实验室同析楼114一.实验预习1. 实验目的:(1) 掌握移位寄存器的工作原理;(2) 熟悉VHDL编程语言的使用;(3) 熟悉Quartus II软件的使用2. 实验原理、实验流程或装置示意图:移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移既能左移又能右移的称为双向移位寄存器,只需要改变左右移的控制信号便可实现双向移位要求根据寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式这里我们实现移位寄存器的VHDL表述与设计。

移位寄存器是时序电路,其设计程序一定会涉及不完整条件语句的使用这个设计是带有同步预置控制功能的8位右移移位寄存器CLK是移位是时钟信号,DIN是8位并行预置数据端口,LOAD是并行数据预置使能信号,QB是串行输入端口,DOUT是移位并行输出此电路的工作原理是:当CLK上升沿来到时进程被启动,如果这时预置使能LOAD为高电平,则将输入端口的8位二进制数并行置入移位寄存器中,作为串行右移输出的初始值;如果LOAD为低电平,则执行语句:reg8(6 downto 0)<=reg8(7 downto 1);此句表明:(1) 一个时钟周期后将上一时钟周期移位寄存器中的高7位二进制数,即当前值reg8(7 downto 1)赋给此寄存器的低7位reg8(6 downto 0)于是其串行移空的最高位始终由最初的并行预置数的最高位填补2) 将上一周期移位寄存器中的最低位,即当前值reg(0)相QB中输出 随着CLK脉冲的到来,就完成了将并行预置输入的数据逐位向右串行输出的功能,即将寄存器中的最低位首先输出本实验利用进程中的非完整条件语句构成了时序电路,同时又利用信号的“并行”特性实现移位3. 实验设备及材料 电脑一台,QuartusII 实验平台4. 实验方法步骤及注意事项 实验方法步骤:(1)打开计算机;(2)打开Quartur II软件,编写和调试实验代码,然后进行试验仿真。

注意事项:实验过程中认真分析实验原理编写代码,防止书本、书包等物品与实验设备接触,以免造成不必要的麻烦二.实验内容1. 实验现象与结果(1)移位寄存器的VHDL实验代码如下:library ieee;use ieee.std_logic_1164.all;entity shift isport (clk,load:in std_logic; din:in std_logic_vector(7 downto 0); dout:out std_logic_vector(7 downto 0); qb:out std_logic);end shift;architecture behav of shift is signal reg8:std_logic_vector(7 downto 0);begin process(clk,load) begin if clk'event and clk='1'then if load='1'then reg8<=din;--装载新数据 else reg8(6 downto 0)<=reg8(7 downto 1); end if; end if;end process;qb<=reg8(0);dout<=reg8;end behav; (2)编译报告为:(3)其仿真波形如下所示:(4)RTL图为:(5)符号图为:2. 对实验现象、实验结果的分析及其结论由时序波形可见,当加载信号在第二个时钟上升沿拉高时,并行输入的数据“10011011”被载入,第三个时钟后,QB输出了右移出的第二个位“1”。

如此进行下去,直到第八个CLK后,右移出了所有的二进制数,最后一位是“1”移位寄存器是用来寄存二进制数字信息且能进行信息移动的时序逻辑电路根据移位寄存器存取信息的方式不同可以分为串入串出,串入并出,并入串出,并入并处4种形式应用:移位寄存器可以构成计数器,顺序脉冲发生器,串行累加器,串并转换,并串转换等教师评语及评分:签名: 年 月 日 友情提示:方案范本是经验性极强的领域,本范文无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用 。

下载提示
相似文档
正为您匹配相似的精品文档