8位移位寄存器的设计.doc_第1页
8位移位寄存器的设计.doc_第2页
8位移位寄存器的设计.doc_第3页
8位移位寄存器的设计.doc_第4页
8位移位寄存器的设计.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字电路与逻辑设计实验报告实验七8位移位寄存器的设计班级 信息安全2班 姓名 张亮 学号20110806228一、实验目的熟悉Quartus仿真软件的基本操作,并用VHDL语言设计8位移位寄存器。并且掌握组合逻辑电路的功能测试和时序仿真;学会运用逻辑图设计电路。二、实验内容用VHDL语言设计由边沿触发式D触发器构成的8位串入并出移位寄存器,并进行仿真与分析;(查找相应资料)三、实验原理 逻辑电路的原理8位移位寄存器的设计在数字电路中,用来存放二进制数据或代码的电路称为寄存器。寄存器是由具有存储功能的触发器组合起来构成的。一个触发器可以存储一位二进制代码,存放N位二进制代码的寄存器,需用n个触发器来构成。按功能可分为:基本寄存器和移位寄存器。移位寄存器中的数据可以在移位脉冲作用下一次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,串行输入、并行输出,十分灵活,用途也很广。目前常用的集成移位寄存器种类很多,如74164、74165、74166、74595均为八位单向移位寄存器,74195为四位单向移存器,74194为四位双向移存器,74198为八位双向移存器。逻辑图如图所示:逻辑功能表Inputs输入Outputs输出CLRCLKABQAQB .QHLXXXLLLHLXXQA0QB0QH0HHHHQAnQGnHLXLQAnQGnHXLLQAnQGn 通过实验实现逻辑的原理8位移位寄存器的设计在CMOS移位寄存器中,有的品种只具有串行或并行中的一种输入方式,但也有些品种同时兼有串行和并行两种输入方式。串行输入的数据加到第一个寄存单元的D端,在时钟脉冲的作用下输入,数据传送速度较慢;并行输入的数据一般由寄存单元的R、S端送入,传送速度较快。移位寄存器的移位方向有右移和左移之分。右移是指数据由左边最低位输入,依次由右边的最高位输出;左移时,右边的第一位为最低位,最左边的则为最高位,数据由低位的右边输入,由高位的左边输出。四、实验方法与步骤实验方法:采用基于FPGA进行数字逻辑电路设计的方法。采用的软件工具是QuartusII 软件仿真平台。实验步骤:1、编写源代码。打开QuartusII软件平台,点击File中得New建立一个文件。编写的文件名与实体名一致,点击File/Save as以“.vhd”为扩展名存盘文件。2、编译与调试。确定源代码文件为当前工程文件,点击Complier进行文件编译。编译结果有错误或警告,则将要调试修改直至文件编译成功。3、波形仿真及验证。在编译成功后,点击Waveform开始设计波形。点击“insert the node”,按照程序所述插入节点(具体节点根据不同实验的变量而定)。任意设置输入节点的输入波形点击保存按钮保存。五、实验结果与分析A. 编译过程8位移位寄存器的设计a)源代码(VHDL设计)LIBRARY ieee;USE ieee.std_logic_1164.all; ENTITY shifter IS PORT ( data_in : IN STD_LOGIC_VECTOR(7 DOWNTO 0); -输入的数据 n : IN STD_LOGIC_VECTOR(2 DOWNTO 0); -移位的数量 dir : IN STD_LOGIC; -移动的方向 0:左 1:右 kind : IN STD_LOGIC_VECTOR(1 DOWNTO 0); -移动类型 00:算术移 01:逻辑移 10:循环移 clock : IN BIT; -手动时钟PULSE data_out : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) -移位的结果 ); END shifter; ARCHITECTURE behav of shifter IS BEGIN PROCESS (data_in, n, dir, kind) VARIABLE x,y : STD_LOGIC_VECTOR(7 DOWNTO 0); VARIABLE ctrl0,ctrl1,ctrl2 : STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN IF (clockEVENT AND clock = 1)THEN -产生控制向量ctrl ctrl0 := n(0) & dir & kind(1) & kind(0); ctrl1 := n(1) & dir & kind(1) & kind(0); ctrl2 := n(2) & dir & kind(1) & kind(0); CASE ctrl0 IS WHEN 0000 | 0001 | 0010 | 0100 | 0101 | 0110 = x := data_in; -n=0时不移动 WHEN 1000 = x := data_in(6 DOWNTO 0) & data_in(0); -算术左移1位 WHEN 1001 = x := data_in(6 DOWNTO 0) & 0; -逻辑左移1位 WHEN 1010 = x := data_in(6 DOWNTO 0) & data_in(7); -循环左移1位 WHEN 1100 = x := data_in(7) & data_in(7 DOWNTO 1); -算术右移1位 WHEN 1101 = x := 0 & data_in(7 DOWNTO 1); -逻辑右移1位 WHEN 1110 = x := data_in(0) & data_in(7 DOWNTO 1); -循环右移1位 WHEN others = null; END CASE; CASE ctrl1 IS WHEN 0000 | 0001 | 0010 | 0100 | 0101 | 0110 = y := x; -n=0时不移动 WHEN 1000 = y := x(5 DOWNTO 0) & x(0) & x(0); -算术左移2位 WHEN 1001 = y := x(5 DOWNTO 0) & 00; -逻辑左移2位 WHEN 1010 = y := x(5 DOWNTO 0) & x(7 DOWNTO 6); -循环左移2位 WHEN 1100 = y := x(7) & x(7) & x(7 DOWNTO 2); -算术右移2位 WHEN 1101 = y := 00 & x(7 DOWNTO 2); -逻辑右移2位 WHEN 1110 = y := x(1 DOWNTO 0) & x(7 DOWNTO 2); -循环右移2位 WHEN others = null; END CASE; CASE ctrl2 IS WHEN 0000 | 0001 | 0010 | 0100 | 0101 | 0110 = data_out data_out data_out data_out data_out data_out null; END CASE; END IF; END PROCESS; END behav; 逻辑图(部分):b)编译、调试过程c)结果分析及结论B. 波形仿真a) 波形仿真过程 首先新建波形文件,然后点击保存,再导入引脚,单击noder find,选择引脚,将引脚插入波形文件中去,最后画出波形,最后找到processing中的simulation Tools,将其中的mode改为function,点击generate后,编译即可。如图所示:当进行功能仿真和时序仿真的切换时,需要按上图中的Generate。b) 波形仿真波形图如图所示为8位移位寄存器的设计的波形仿真结果,没有任何延迟:六、实验结论本次实验我收获到了很多移位寄存器的相关知识,虽然期间我遇到了很多无法解决的问题,但最终都通过查阅资料,询问同学,一一得到了解决。实验中我们完成了1个器件的编写:我使用了VHDL代码的方法。通过资料我知道了74HC164是8位移位寄存器,当其中一个(或二个)选通串行输入端的低电平禁止进入新数据,并把第一个触发器在下一个时钟脉冲来后复位到低电平时,门控串行输入端(A 和B) 可完全控制输入数据。一个高电平输入后就使另一个输入端赋能,这个输入就决定了第一个触发器的状态。虽然不管时钟处于高电平或低电平时,串行输入端的数据都可以被改变,但只有满足建立条件的信息才能被输入。时钟控制发生在时钟输入由低电平到高电平的跃变上。为了减小传输线效应,所有输入端均采用二极管钳位。每组实验我们都编写了他们的源代码,并且通过时序仿真和功能仿真不同的仿真方式让我对加法器这个逻辑学电子元件有了更

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论