还剩6页未读,继续阅读
文本内容:
8.实验题目8位左右移移位寄存器二.实验目的和要求复习左右移移位寄存器的原理与功能,学习掌握循环移位寄存器的设计实现方法,设计实现数字系统设计中常用的8位循环移位寄存器,逐步学会熟练运用Quartus II软件,熟悉EDA的verilog程序设计方法、学会使用信号升沿、降沿、verilog的敏感量表等内容,掌握时序逻辑电路的verilog描述方法,掌握应用EDA常用工具软件进行时序逻辑电路的设计、分析、综合、仿真等的方法与技巧三.实验原理8位左右移移位寄存器的真值表如下工作状态CP LDUD置数1X X循环右移0一1000-101循环左移移位开始,循环左移时,CP上每来一个脉冲升沿,寄存器从输出从低位开始依次左移一位,同时最高位给最低位相反,循环右移时,从高位开始依次右移一位,同时最低位给最高位管脚8位左右移移位寄存器的管脚如图:DOUTO DOUT1DODOUT2D1DOUT3D2DOUT4D3DOUT5D4DOUT6D5DOUT7D6D7CPLDLR其中D表示输入的初始值,Sta为开始移位信号,DOUT表示当前数值;LD表示预设计数值,LD为“1”,初始计数值打入器件;LR表示移位方向,LR为循环右移位,LR为X循环左移位;CP为移位脉冲实验方案设计、实验方法
1.实验方案8位左右移移位寄存器的描述有多种方法,设计过程中可以采用图形编程,首先设计D触发器,而后通过D触发器的互联实现8位左右移移位寄存器,采用计数脉冲CP作为敏感量,CP的每个上升沿,输出量Q的每一位赋给左边一位或右边一位同时循环左移时,最高位赋给最低位,循环右移时,最低位赋给最高位
2.实验方法首先根据前文所述,对照真值表的列出的不同输入逻辑状态,分情况依次输出于输入的对应关系,而后编译综合,由开发系统自行实现电路功能五.实验步骤
1.设计输入利用FILENew菜单输入源程序,创建源文件
2.设计项目的创建原文件存储…
3.设计编译....
4.器件选择及管脚分配….・
5.设计仿真…・・
6.时序分析…・・
7.编程下载六.程序代码module Verilog1clk,ldn,k,d,q;input clkldn,k;9input[7:0]d;output[7:0]q;reg[7:0]d_reg,q_reg;always@negedge Idnif!ldnd_reg=d;always@posedge elkbeginifkbegin//rightq_reg[7:0]={lb00,d_reg[7:l]};endelse q_reg[7:0]={d_reg[6:0],l*b0};endassign q=q_reg;endmodule七.仿真波形8位循环移位寄存器的仿真波形如下图,从波形可以得出,输入输出满足前文真值表,设计电路7000ns8000ns9000nsA—LDb370]3D0UT[70|D0UT72DOUTBDOUT5O D0UT4—DOUT3a DOUT2O DOUT1“DOUTO功能达到设计要求上述时间分析可6000以ns得到,输出信号存在的时间延迟,它X主要与器件速度、表达逻辑的合理性有关,选用速度更高器LTLrLrLrLrLrLrLrLrLrLrLrLTXH»件、优化设计可以使该值降低HXXXX八.心得体会X刚刚开始接触这门课的时候,我什么都不知道,只知道按照老师您打得程序来抄然后一步步按步骤做,经过一段时间的学习,学会了程序的运行和管脚的输入及在仪器上的运行,通过阅读简单的程序,来增加自己的知识,然后通过改写成程序来增加对程序的理解感觉这次能都把这串代码打出来还是很不容易的,不过有收获就行九.参考文献数字系统设计与王金明编著verilog hdl。