数字逻辑实验报告-Verilog时序逻辑设计

上传人:ly****51 文档编号:71646219 上传时间:2022-04-07 格式:DOC 页数:8 大小:38.50KB
返回 下载 相关 举报
数字逻辑实验报告-Verilog时序逻辑设计_第1页
第1页 / 共8页
数字逻辑实验报告-Verilog时序逻辑设计_第2页
第2页 / 共8页
数字逻辑实验报告-Verilog时序逻辑设计_第3页
第3页 / 共8页
点击查看更多>>
资源描述
.电 子 科 技 大 学实 验 报 告学生:任彦璟 学 号:指导教师:吉家成 米源 王华一、实验工程名称:Verilog时序逻辑设计二、实验目的:掌握边沿D触发器74*74、同步计数器74*163、4位通用移位存放器74*194,的工作原理。设计移位存放器74*194设计3位最大序列长度线性反应移位存放器LFSR:Linear Feedback Shift Register计数器。设计同步计数器74*163 。三、实验容:1设计边沿D触发器74*74。2设计通用移位存放器74*194。3采用1片74*194和其它小规模逻辑门设计3位LFSR计数器。4设计4位同步计数器74*163。四、实验原理:74*74逻辑电路图74*194逻辑电路图3位LFSR逻辑电路图74*163逻辑电路图上图的设计可以采用门级描述,也可以采用教材数字设计原理与实践第4版第525页的表8-20中的行为描述五、实验器材设备、元器件:PC机、Windows *P、Anvyl或Ne*ys3开发板、*ilin* ISE 14.7开发工具、Digilent Adept下载工具。六、实验步骤:实验步骤包括:建立新工程,设计代码与输入,设计测试文件,设置仿真,查看波形,约束与实现、生成流代码与下载调试。七、关键源代码及波形图:1D触发器的Verilog代码源码如下module vr74*74(CLK, D, PR_L, CLR_L, Q, QN); input CLK, D, PR_L, CLR_L ; output Q, QN ;wire w1, w2, w3, w4 ;nand (w1, PR_L, w2, w4); nand (w2, CLR_L, w1, CLK) ;nand (w3, w2, CLK, w4) ;nand (w4, CLR_L, w3, D) ;nand (Q, PR_L, w2, QN);nand (QN, Q, w3, CLR_L);endmoduleinitial begin CLK = 0 ;PR_L = 1 ;CLR_L = 1 ;D = 0 ;#4 D = 1 ;#2 D = 0 ;#8 D = 0 ;#2 D = 1 ;#13 CLR_L = 0 ;#10 CLR_L = 1 ;#10 PR_L = 0 ;#5 D = 0 ;#10 PR_L = 1 ;end always begin #5 CLK = CLK ; end endmodulemodule vr74*74_tb;/ Inputsreg CLK;reg D;reg PR_L;reg CLR_L;/ Outputswire Q;wire QN;/ Instantiate the Unit Under Test (UUT)vr74*74 uut (.CLK(CLK), .D(D), .PR_L(PR_L), .CLR_L(CLR_L), .Q(Q), .QN(QN); 仿真结果如下列图所示检查输入输出关系,设计无误。24位通用移位存放器74*194module Vr74*194(CLK,CLR_L,LIN,RIN,S1,S0,A,B,C,D,QA,QB,QC,QD); input CLK,CLR_L,LIN,RIN,S1,S0,A,B,C,D ;output QA,QB,QC,QD ;wire CLK_D ;wire CLR_L_D ;wire S1_L,S1_H;wire S0_L,S0_H;wire QAN,QBN,Q,QDN ;wire w1,w2,w3,w4,w5,w6,w7,w8,w9,w10;wire w11,w12,w13,w14,w15,w16,w17,w18,w19,w20;buf(CLK_D,CLK);buf(CLR_L_D,CLR_L);not(m1,S1);not(m0,S0);and(n1,S0,m1,RIN);and(n2,S0,S1,A);and(n3,m0,m1,QA);and(n4,m0,S1,QB);and(n5,S0,m1,QA);and(n6,S0,S1,B);and(n7,m0,m1,QB);and(n8,m0,S1,QC);and(n9,S0,m1,QB);and(n10,S0,S1,C);and(n11,m0,m1,QC);and(n12,m0,S1,QD);and(n13,S0,m1,QC);and(n14,S0,S1,D);and(n15,m0,m1,QD);and(n16,m0,S1,LIN);or(p1,n1,n2,n3,n4);or(p2,n5,n6,n7,n8);or(p3,n9,n10,n11,n12);or(p4,n13,n14,n15,n16);vr74*74 q1(CLK_D,p1,1b1,CLR_L_D,QA,QAN);vr74*74 q2(CLK_D,p2,1b1,CLR_L_D,QB,QBN);vr74*74 q3(CLK_D,p3,1b1,CLR_L_D,QC,Q);vr74*74 q4(CLK_D,p4,1b1,CLR_L_D,QD,QDN);endmodule源码如下:S1 = 0;S0 = 0;A = 0;B = 0;C = 0;D = 0;/ Wait 100 ns for global reset to finish#100;/ Add stimulus hereCLR_L = 1 ;S1 = 0 ;S0 = 0 ;#100 ;S1 = 0 ;S0 = 1 ;RIN = 1 ;#100 ;S1 = 1 ;S0 = 1 ;A = 0 ;B = 0 ;C = 0 ;D = 0 ;#100 ;S1 = 1 ;S0 = 0 ;LIN = 1 ;#100 ;S1 = 1 ;S0 = 1 ;A = 1 ;B = 1 ;C = 1 ;D = 1 ;Endalways begin #5 CLK = CLK ;endendmodule测试文件:module vr74*194_tb;/ Inputsreg CLK;reg CLR_L;reg LIN;reg RIN;reg S1;reg S0;reg A;reg B;reg C;reg D;/ Outputswire QA;wire QB;wire QC;wire QD;/ Instantiate the Unit Under Test (UUT)Vr74*194 uut (.CLK(CLK), .CLR_L(CLR_L), .LIN(LIN), .RIN(RIN), .S1(S1), .S0(S0), .A(A), .B(B), .C(C), .D(D), .QA(QA), .QB(QB), .QC(QC), .QD(QD);initial begin/ Initialize InputsCLK = 0;CLR_L = 0;LIN = 0;RIN = 0;仿真结果如下列图所示检验输入输出结果正常,设计无误。33位LFSR计数器源码如下:module LFSR( CLK,RESET,*2,*1,*0);input CLK,RESET;output *2,*1,*0; wire w1,w3,w6 ; Vr74*194 U1(.CLK(CLK), .CLR_L(1b1), .RIN(w6), .S1(RESET), .S0(1b1), .A(1b1), .B(1b0), .C(1b0), .D(1b0), .QA(*2), .QB(*1) , .QC(*0) );*or (w3,*1,*0) ; nor (w1,*2,*1) ; *or (w6,w1,w3) ;endmodulemodule LFSR_tb;/ Inputsreg CLK;reg RESET;/ Outputswire *2;wire *1;wire *0;/ Instantiate the Unit Under Test (UUT)LFSR uut (.CLK(CLK), .RESET(RESET), .*2(*2), .*1(*1), .*0(*0);initial begin/ Initialize InputsCLK = 0;RESET = 1;/ Wait 100 ns for global reset to finish#100; / Add stimulus here RESET = 0 ;endalways begin #5 CLK = CLK ;end endmodule仿真结果如下列图所示检验输入输出结果正常,设计无误。4.74*163计数器and(w21,w20,w25);not(w26,ENT);nor(w1,LD_L,CLR);nor(w2,w1,CLR);*or(w4,w25,QN0);*or(w10,w9,QN1);*or(w16,w15,QN2);*or(w22,w21,QN3);and(w3,w1,A);and(w5,w2,w4);and(w7,w1,B);and(w11,w2,w10);and(w13,w1,C);and(w17,w2,w16);and(w19,w1,D);and(w23,w2,w22);or(w6,w3,w5);or(w12,w7,w11);or(w18,w13,w17);or(w24,w19,w23);vr74*74 U1 (D0, CLK, 1, CLR_L, Q0, QN0);vr74*74 U2 (D1, CLK, 1, CLR_L, Q1, QN1);vr74*74 U3 (D2, CLK, 1, CLR_L, Q2, QN2);vr74*74 U4 (D3, CLK, 1, CLR_L, Q3, QN3);endmodulemodule Vr74*163(CLK,CLR_L,LD_L,ENP,ENT,D,Q,RCO );input CLK,CLR_L,LD_L,ENP,ENT; input 3:0D;output 3:0Q;output RCO; wire w1,w2,w3,w4,w5,w6,w7,w8,w9,w10; wire w11,w12,w13,w14,w15,w16,w17,w18,w19,w20; wire w21,w22,w23,w24,w25,w26;wire CK;wire CLR;wire 3:0QN;wire CLK1;buf(CLK1,CLK);not(CLR,CLR_L);not(w8,QN0);nor(w14,QN1,QN0);nor(w20,QN2,QN1,QN0);and(w25,ENP,ENT);and(w9,w8,w25);and(w15,w14,w25);源码如下/ Add stimulus hereCLR_L = 0 ;LD_L = 1b* ;ENT = 1b* ;ENP = 1b* ;#20 ;CLR_L = 1 ;LD_L = 0;ENT = 1b* ;ENP = 1b* ; D = 4b1111 ;#20 ;CLR_L = 1 ;LD_L = 1;ENT = 0 ;ENP = 1b* ;#20 ;CLR_L = 1 ;LD_L = 1;ENT = 1b* ;ENP = 0 ;#20 ;CLR_L = 1 ;LD_L = 1;ENT = 1 ;ENP = 1 ;end always begin #5 CLK = CLK ; end3位LFSR计数器顶层设计模块module lfsr_8_main( input CLK , input RESET , output LED2 , LED1 , LED0 ); wire CLK_1Hz ; counter_100M u1( CLK , CLK_1Hz ) ; LFSR_8 u2(CLK_1Hz , RESET , LED2 , LED1 , LED0 ); endmodule仿真结果如下列图所示八、实验结论:边沿D触发器负跳沿触发的主从触发器工作时,必须在正跳沿前参加输入信号。如果在CP 高电平期间输入端出现干扰信号,则就有可能使触发器的状态出错。而边沿触发器允许在CP触发沿来到前一瞬间参加输入信号。移位存放器D、2D、1D、0D为并行输入端;3Q、2Q、1Q、0Q为并行输出端;RS为右移串行输入端;LS为左移串行输入端1S、0S为操作模式控制端;RC为直接无条件清零端;CP为时钟脉冲输入端。74LS194有5种不同操作模式:并行送数存放;右移(方向由3Q0Q);左移(方向由0Q3Q);保持及清零。对于同步计数器,由于时钟脉冲同时作用于各个触发器,克制了异步触发器所遇到的触发器逐级延迟问题,于是大大提高了计数器工作频率,各级触发器输出相差小,译码时能防止出现尖峰;但是如果同步计数器级数增加,就会使得计数脉冲的负载加重。九、总结及心得体会:在这此次试验中,根据边沿D触发器74*74的原理图编写设计和仿真模块;根据通用移位存放器74*194的原理图编写设计和仿真模块;采用1片74*194和其它小规模逻辑门设计3位LFSR计数器,编写设计和仿真了模块;根据4位同步计数器74*163的原理图编写设计和仿真了模块;将输入为100MHz的系统时钟采用7片74*163和其它小规模逻辑门设计了1Hz的数字信号;在FPGA开发板上调试了3位LFSR计数器。十、对本实验过程及方法、手段的改良建议:无报告评分: 指导教师签字:.
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!