数字逻辑试验报告-Verilog时序逻辑设计.docx

上传人:李司机 文档编号:1677540 上传时间:2022-12-13 格式:DOCX 页数:16 大小:219.59KB
返回 下载 相关 举报
数字逻辑试验报告-Verilog时序逻辑设计.docx_第1页
第1页 / 共16页
数字逻辑试验报告-Verilog时序逻辑设计.docx_第2页
第2页 / 共16页
数字逻辑试验报告-Verilog时序逻辑设计.docx_第3页
第3页 / 共16页
数字逻辑试验报告-Verilog时序逻辑设计.docx_第4页
第4页 / 共16页
数字逻辑试验报告-Verilog时序逻辑设计.docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数字逻辑试验报告-Verilog时序逻辑设计.docx》由会员分享,可在线阅读,更多相关《数字逻辑试验报告-Verilog时序逻辑设计.docx(16页珍藏版)》请在三一办公上搜索。

1、色孑科旌大学实验报告学生姓名:任彦璟学号:2015040101018指导教师:吉家成米源王华一、实验项目名称:VeriIog时序逻辑设计二、实验目的:掌握边沿D触发器74x74、同步计数器74x163、4位通用移位寄存器74x194,的工作原理。设计移位寄存器74x194设计3位最大序列长度线性反馈移位寄存器(LFSR:LinearFeedbackShiftRegister)计数器。设计同步计数器74x163O三、实验内容:1 .设计边沿D触发器74x74。2 .设计通用移位寄存器74xl94o3 .采用1片74x194和其它小规模逻辑门设计3位LFSR计数器。4 .设计4位同步计数器74x1

2、63。四、实验原理:CLRLcueaoCLR.LSiRlN74x194逻辑电路图74x163逻辑电路图上图的设计可以采用门级描述,也可以采用教材数字设计一原理与实践(第4版)第525页的表8-20中的行为描述五、实验器材(设备、元器件):PC机、WindowsXP、Anvyl或Nexys3开发板、XilinxISE具、DigilentAdept下载工具。14.7开发工六、实验步骤:实验步骤包括:建立新工程,设计代码与输入,设计测试文件,设置仿真,查看波形,约束与实现、生成流代码与下载调试。七、关键源代modulevr7474(CLK,D,PR_LCLR_L,Q,QN);码及波形图:inputC

3、LKzD,PR_L,CLR.L;outputQ,QN;1.D触发器的Verilog代码源码如下wirewl,w2zw3zw4;nand(wl,PR_L,w2,w4);nand(w2zCLR_L,wl,CLK);nand(w3zw2,CLK1w4);nand(w42CLR_Lw3,D);nand(Q,PR_Lw2,QN);nand(QN,Q1w3,CLR_L);endmoduleCLR.L=1;D = 0;# 4D = 1;# 2 D = 0;# 8 D = 0;# 2D = 1;# 13CLR.L = 0;# 10CLR.L = 1;# 10 PR_L = 0;# 5 D=0;# 10 PR_

4、L= 1; endalways begin# 5 CLK = -CLK; endendmodulemodulevr7474-tb;InputsregCLK;regD;regPR_L;regCLR_L;OutputswireQ;wireQN;/InstantiatetheUnitUnderTest(UUT)vr74x74t(.CLK(CLK)1.D(D),.PR_L(PR_L),.CLR_L(CLR_L),.Q(Q),.QN(QN)initialbeginCLK=0;PR_L=1;仿真结果如下图所示检查输入输出关系,设计无误。2.4位通用移位寄存器74x194源码如下:moduleVr74xl9

5、4(CLK,CLR_L,LIN,RIN,SLSOABCD,QA1QB1QC1QD);inputCLKcLFLLIJNRIN61.,SQABQD;outputQA1QB1QC1QD;wireCLK.D;wireCLR_L_D;wireS1_L,S1_H;wireSO_L,SO_H;wireQAN1QBNtQCNjQDN;wirewlw2,w3.w4zw5,w6,w7w8,w9wl;wirewll,wl2,wl3,wl4zwl51wl6wl7,wl8,wl9,w20;buf(CLK_D,CLK);buf(CLR_L_D,CLR_L);not(ml,SI);not(mO,SO);and(nl,SO,

6、ml,RIN);and(n2,S0,S,A);and(n3,mO,ml,QA);and(n5,S0,mLQA);and(n6,S0,SI,B);and(n7,mO,ml,QB);and(n8,mO,SLQC);and(9,S0,ml,QB);and(nlO,SO,SI,C);and(nll,mO,mLQC);and(nl2mO,SIQD);and(nl3,S0,mLQC);and(nl4,S0,SI,D);and(nl5,mO,ml,QD);and(nl6,mO,SI,LIN);or(pl,nln2,n3,4);or(p2,n56n7,n8);or(p3,n9,nl01nll,nl2);Or(

7、p4,nl3,nl4,nl5,nl6);vr7474ql(CLK_D,pl:bl,CLR_L_D,QA,QAN);vr74x74q2(CLK_D,p2,lbl,CLR_L_RQB,QBN);vr74x74q3(CLK_D,p3jb3,CLR_L_D,QWQCN);vr74x74q4(CLK_D,p4,Db4,CLR_L_D,QD,QDN);endmodule测试文件:modulevr74xl94_tb;11InputsregCLK;regCLR_L;regLIN;regRIN;regSI;regSO;regA;regB;regC;regD;/OutputswireQA;wireQB;wireQ

8、C;wireQD;/InstantiatetheUnitUnderTest(UUT)Vr74l94ut(.CLK(CLK)z.CLR_L(CLR_L),.LIN(LIN),.BIN(RIN),.S1(S1),.SO(SO),A(A),C(C),.D(D)t,QA(QA),.QB(QB)1.QC(QC)1,QD(QD);initialbegin/InitializeInputsCLK=0;CLR.L=0;LIN=O;SI=O;SO=O;A=O;B=O;C=0;D=0;/Wait100nsforglobalresettofinish#100;/AddstimulushereCLR.L=1;SI=0

9、;S0=0;#100;SI=0;S0=l;RIN=1#100;SI=I;S0=l;A=0;B=0;C=0;D=0;#100;SI=I;S0=0;LIN=1:#100;SI=I;S0=l;A=I;B=I;c=l;D=I;Endalwaysbegin-CLK;#5CLK=endendmodule仿真结果如下图所示检验输入输出结果正常,设计无误。3.3位LFSR计数器源码如下:moduleLFSR(CLK,RESET,2,X1,XO);inputCLKzRESET;outputX2zX1,XO;wirewl,w3,w6;Vr74xl941(.CLK(CLK)1.CLR-L(l,bl),.RIN(w6

10、),.S1(RESET)/SO(l,bl),.A(l,bl),B(IW),.C(lbO),D(lbO),QA(X2),.QB(X1)1.QC(XO);xor(w3zXzX0);nor(wl,X2,XI);xor(w6,wl,w3);endmodulemoduleLFSRtb;InputsregCLK;regRESET;OutputswireX2;wireXI;wireX0;/InstantiatetheUnitUnderTest(UUT)LFSRuut(.CLK(CLK),.RESET(RESET),.X2(X2),.X1(X1),.XO(XO);initialbegin/Initialize

11、InputsCLK=O;RESET=1;/Wait100nsforglobalresettofinish#100;/AddstimulushereRESET=O;endalwaysbegin#5CLK=-CLK;endendmodule检验输入输出结果正常,设计无误。4.74x163计数器源码如下moduleVr74xl63(CLK,CLR_LLD_L,ENRENDaRC0);inputCLK,CLR_L,LD_LENRENT;input3:0D;output(3:0Q;outputRCO;wirewl,w2,w3.w4.w5,w6,w7w8.w9,wl:wirewII,wI2,wI3,wI4

12、vI5W6W7vI8W9,w20;wirew21,w22,w23,w24,w25,w26;wireCK;wireCLR;wire3:0QN;wireCLK1;buf(CLKzCLK);not(CLRzCLR,L);not(w8,QN0);nor(wl4,QNILQN0);nor(w20,QN2,QNl,QN0);and(w25,ENRENT);and(w9,w8,w25);and(wl5,wl4,w25);and(w21,w20w25);not(w26zENT);nor(wl,LD_LCLR);nor(w2,wl,CLR);xor(w4,w251QN0);Xor(WIO,w9,jQN1);xo

13、r(wl6,wl51QN2);or(w22,w211QN3);and(w3,wl,A);and(w5,w2,w4);and(w72wl2B);and(wll,w2,wl);and(wl3,wl,C);and(wl7,w2.wl6);and(wl9,wl,D);and(w23,w2,w22);or(w6,w3,w5);Or(wl2,w7,wll);or(wl8,wl3zwl7);or(w24,wl9,w23);vr74x74Ul(D02CLK11,CLR_L,Q0,QNO);vr74x742(D(),CLK,1,CLR_L,Ql,QN1);vr74x743(D2zCLK11,CLR.L,Q21Q

14、N2);vr74x744(D3zCLK,1,CLR.L,Q3,QNO);endmodule/AddstimulushereCLR.L=O;LD-L=b;ENT=Tbx;ENP=rb;#20;CLR.L=1;LD_L=O;ENT=Tbx;ENP=rbx;D=4-bllll;#20;CLR.L=1;LD_L=1;ENT=O;ENP=rbx;#20;CLR.L=1;LD_L=1;ENT=Tbx;ENP=O;#20;CLR.L=1;LD_L=1;ENT=1;ENP=1;endalwaysbegin#5CLK=-CLK;end3位LFSR计数器顶层设计模块modulelfsr_8_main(inputC

15、LK1inputRESETZoutputLED2,LED1,LEDO);wireCLK.IHz;counter_1OOMl(CLK5CLKJHz);LFSR_8u2(CLKHZ,RESETZLED2,LED1,LEDO);endmodule仿真结果如下图所示ValueNameUirLrLnJTrLrLrLTLrLrLnjrLnj八、实验结论:边沿D触发器负跳沿触发的主从触发器工作时,必须在正跳沿前加入输入信号。如果在CP高电平期间输入端出现干扰信号,那么就有可能使触发器的状态出错。而边沿触发器允许在CP触发沿来到前一瞬间加入输入信号。移位寄存器D、2D、ID、OD为并行输入端;3Q、2Q、IQ

16、、OQ为并行输出端;RS为右移串行输入端;LS为左移串行输入端IS、OS为操作模式控制端;RC为直接无条件清零端;CP为时钟脉冲输入端。74LS194有5种不同操作模式:并行送数寄存;右移(方向由3Q-0Q);左移(方向由0Q-3Q);保持及清零。对于同步计数器,由于时钟脉冲同时作用于各个触发器,克服了异步触发器所遇到的触发器逐级延迟问题,于是大大提高了计数器工作频率,各级触发器输出相差小,译码时能避免出现尖峰;但是如果同步计数器级数增加,就会使得计数脉冲的负载加重。九、总结及心得体会:在这此次试验中,根据边沿D触发器74x74的原理图编写设计和仿真模块:根据通用移位寄存器74x194的原理图编写设计和仿真模块;采用1片74x194和其它小规模逻辑门设计3位LFSR计数器,编写设计和仿真了模块:根据4位同步计数器74x163的原理图编写设计和仿真了模块;将输入为IOoMHZ的系统时钟采用7片74x163和其它小规模逻辑门设计了IHZ的数字信号:在FPGA开发板上调试了3位LFSR计数器。十、对本实验过程及方法、手段的改进建议:无报告评分:指导教师签字:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号