数字逻辑实验报告-Verilog时序逻辑设计_第1页
数字逻辑实验报告-Verilog时序逻辑设计_第2页
数字逻辑实验报告-Verilog时序逻辑设计_第3页
数字逻辑实验报告-Verilog时序逻辑设计_第4页
数字逻辑实验报告-Verilog时序逻辑设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、电孑斛猛丈萼学生姓名:任彥璟学号:2015040101018 指导教师:吉家成米源王华一、实验顼目名称:Verilog时序逻辑设计二、实验目的:拿握边沿D触发器74x74、同步计数器74x163、4位通用移位寄存器74x194, 的工作原理。设计移位寄存器74x194设计3位最大序列长度线性反馈移位寄存器(LFSR: Linear Feedback Shift Register)计数器。设计同步计数器74x163。三、实验内容:1. 设计边沿D触发器74x74。2. 设计通用移位寄存器74x194o3. 采用1片74x194和其它小规模逻辑门设计3位LFSR计数器。4. 设计4位同步计数器74

2、x163o四、实验原理:精品74x74逻揖电路图CLKCIR,LSIsooc0600QA74x194逻辑电站图74*023位LFSR逻辑电站图74x163逻辑电跖国X2X1XO上图的设计可以采用门级描述,也可以采用教材数字设计一原理与实践(第4版)第525页的表820中的行为描述五、实验器材(设备-元器件):PC 机 Windows XP、Anvyl 或 Ncxys3 开发板xXilinx ISE 14.7 开发工具、DigilcniAdcpl下载工具。六、实验步骤:实验步骤包括:建立新工程,设计代码与输入,设计测试文件,设置仿真, 査看波形,约束与实现、生成流代码与下载调试。七、关键源代码及

3、波形图:1. D触发器的Verilog代码源码如下module vr74x74(CLK, D, PR_L, CLR_L, Q, QN); input CLK, D, PR_L, CLR_L;output Q., QN ;wire wl, w2, w3, w4 ;nand (wlz PR_L, w2, w4);nand (w2, CLR_U wl, CLK);nand (w3z w2, CLKZ w4);nand (w4, CLR_L, w3, D);nand (Q, PR_LZ w2, QN);nand (QN, Q, w3z CLR_L);endmodulemodule vr74x74_tb

4、;initial begin/ InputsCLK = 0;PR_L=1;reg CLK;CLR_L=1;reg D;D = 0;reg PR_L;reg CLR_L;# 4 D = 1;/ Outputs# 2D = 0;# 8D = 0;wire Q;#2 D = 1;wire QN;#13 CLR_L = O;/ Instantiate the Unit Under Test#10 CLR_L=1;#10 PR_L = 0;(UUT)#5 D=0;vr74x74 uut (#10 PR_L = 1;.CLK(CLK),end D(D),always begin.PR_L(PR_L),#5

5、 CLK = CLK; CLR_L(CLR_L),endQ(Q),.QN(QN)endmodule仿真结果如下图所示检査输入输出关系,设计无误。24位通用移位寄存器74x194源码如下:moduleand(n5,S0,m:L,QA);Vr74xl94(CLK,CLR_L 丄 IN,RIN,Sl,SO,AbCQQand(n6,S0,Sl,B);AqBqcqD);and(n7,mO,ml,QB); and(n8,mO,Sl,QC);input CLK,CLR_L,LIN,RIN,SbSOAB,C,D;output QA,QBqC,QD;and(n9,S0mbQB); and(nlO,SOzSl,C

6、);wire CLK_D;and(nll,mO,miqC);wire CLR_L_D;and(nl2/mO/Sl,QD);wire SH;and(nl3,S0,ml,QC);wire SO丄SO_H;and(nl4,S0,Sl,D);wire QAN,QBN,QCNqDN ;and(nl5,mO,miqD); and(nl6,mO,SbUN);wireor(pl,nl/n2/n3/n4);wl/w2/w3/w4,w5/w6,w7/w&w9,wl0;or(p2/n5/n6/n7,n8);wireor(p3/n9/nl0/nll, nl2);wll/wl2/wl3/wl4/wl5/wl6/wl7/

7、wl8/wl9/or(p4,nl3,nl4,nl5,nl6);w20;vr74x74buf(CLK_D,CLK);ql(CLK_D,pHbbCLR_ l_DQA,QAN);buf(CLR_L_D,CLR_L);vr74x74q2(CLK_D,p2,l,bl/CLR_ L_DQB,QBN);not(ml,Sl);vr74x74not(mOzSO);q3(CLK_D,p3,llbl/CLR_ L_DQC,QCN);vr74x74and(nl,SO,mbRIN);q4(CLK_Dp4fbbCLR_L_DQDqDN);and(n2/S0,Sl/A); and(n3,mO,ml,QA);en dmodu

8、le测试文件:module vr74xl94_tb;Sl = 0;S0 = 0;/ InputsA = 0;reg CLK;B = 0;reg CLR_L;C = 0;reg LIN;D = 0;reg RIN;/ Wait 100 ns for global reset toreg SI;finishreg SO;#100;reg A;/ Add stimulus herereg B;CLR_L=1;reg C;Sl = 0;reg D;S0 = 0; #100;/ OutputsSl = 0;wire QA;S0 = l;wire QB;RIN = 1;wire QC;#100;wire

9、QD;Sl = l;/ Instantiate the Unit Under Test (UUT)S0 = l;Vr74xl94 uut (A = 0;CLK(CLK),B = 0; CLR_L(CLR_L),C = 0;.L IN(LIN),D = 0; RIN(RIN),#100;.Sl(SlhSl = l; SO(SO),S0 = 0;A(A),LIN = 1;#100;C(C),Sl = l;D(D),S0 = l; QA(QA),A = l; QB(QB),B = l; QC(QC),C = l;.QD(QD)D = l;);Endinitial beginalways begin/

10、 Initialize Inputs#5 CLK = CLK;CLK = 0;endCLR_L = 0;LIN = O;en dmodule仿真结果如下图所示检验输入输岀结杲正常,设计无误。33位LFSR计数器源码如下:module LFSR( CLK,RESE1;X2,X:LXO); input CLK,RESET;output X2,X1,XO;wire wl,w3,w6;Vr74xl94 U1(.CLK(CLK), CLR_L(rb RIN(w6), .S1(RESET)/ SOflbl),(lbO), .qibO), D(rbO)f QA(X2), .QB(X1), QC(XO) );

11、xor (w3#XlpX0);nor (wl.XXl); xor (w6,wl,w3);en dmodulemodule LFSR_tb;/ Inputsreg CLK;reg RESET;/ Outputs wire X2; wire XI; wire XO;/ Instantiate the Unit Under Test (UUT) LFSR uut (CLK(CLK),RESET(RESET), .X2(X2), .X1(X1)Z XO(XO);initial begin/ Initialize In puts CLK = O; RESET =1;/ Wait 100 ns for g

12、lobal reset to finish #100;/ Add stimulus here RESET = 0;endalways begin#5 CLK = CLK ;end en dmodule仿真结果如下图所示检验输入输岀结杲正常,设计无误。4. 74x163计数器moduleand(w21/w20/w25);Vr74xl63(CLKzCLR_L/LD_L/ENBENTD/Q/RCnot(w26,ENT);0nor(wl,LD_L,CLR););nor(w2/wl/CLR);input CLK,CLR_L,LD_L,ENBENT;xor(w4,w25 厂 QNO);input 3:0D

13、;xor(wlO,w9QNl);output 3:0Q;xor(wl6zwl5rQ N );output RCO;xor(w22,w21 广 QN3); and(w3/wlzA);wireand(w5/w2/w4);wl/w2/w3/w4/w5/w6,w7/w &w9,wl0;and(w7,wl,B);wireand(wll/w2/wl0);wll/wl2/wl3/wl4/wl5/wl6/wl7/wl8/wland(wl3/wl/C);9,w20;and(wl7/w2/wl6);wire w21/w22/w23zw24,w25/w26;and(wl9/wl/D); and(w23/w2,w22

14、);wire CK;or(w6,w3,w5);wire CLR;or(w3.2,w7,wll);wire 3:0QN;or(wl8,wl.3M17); or(w24M19,w23);wire CLK1;vr74x74 U1 (D0, CLK, 1, CLR_L, Q0z QNO);buf(CLKlzCLK);vr74x74 U2 (D1L CLK, 1, CLR_L, Ql,not(CLR,CLR_L);QN );not(w8zQN0);vr74x74 U3 (D2)f CLK, 1, CLR_L, Q2,nor(wl4,QNMQN0);QN2);nor(w20,QN2,QNMQN0);vr7

15、4x74 U4 (D3z CLK, 1, CLR_L, Q3,and(w25/ENBENT); and(w9/w8/w25);QN3);and(wl5,wl4,w25);endmodule源码如下/ Add stimulus hereCLR_L = 0; LD_Lbx;ENT=Tbx; ENP = bx;#20;CLR_L = 1; LD_L = 0;ENT=rbx; ENP = llbx;#20;CLR_L=1;LD_L = 1;ENT = 0;ENP = rbx;#20;CLR_L = 1;LD_L = 1; ENT=rbx;ENP = 0;#20;CLR_L = 1;LD_L = 1;E

16、NT=1;ENP = 1; endalways begin#5 CLK = CLK;end3位LFSR计数器顶层设计模块module lfsr_8_main(input CLK,input RESET,output LED2 , LED1, LEDO);wire CLK_lHz;counter_100M ul( CLK, CLK_lHz );LFSR_8 u2(CLKJLHz , RESET , LED2 z LED1, LEDO ); endmoduleQ3:o-RCOCLKCLR_LLD-LENPName仿真结杲如下图所示Value300 na八、实验结论:边沿D触发器负跳沿触发的主从触发

17、器工作时,必须在正跳沿前加入输入信 号。如果在CP高电平期间输入端出现干扰信号,那么就有可能使触发器的状态 出错。而边沿触发器允许在CP触发沿来到前一瞬间加入输入信号。移位寄存器 D、2D、ID、0D为并行输入端;3Q、2Q、IQ、0Q为并行输出端;RS为右移 串行输入端;LS为左移串行输入端IS、OS为操作模式控制端;RC为直接无条 件清零端;CP为时钟脉冲输入端。74LS194有5种不同操作模式:并行送数寄存; 右移仿向由3QTQ;左移仿向由0Q3Q);保持及清零。对于同步计数器, 由于时钟脉冲同时作用于各个触发器,克服了异步触发器所遇到的触发器逐级延 迟问题,于是大大提髙了计数器工作频率,各级触发器输岀相差小,译码时能避 免出现尖峰;但是如果同步计数器级数增加,就会使得计数脉冲的负载加重。九、总

温馨提示

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

评论

0/150

提交评论