数字逻辑实验报告Verilog时序逻辑设计Word格式.docx

上传人:b****4 文档编号:14332623 上传时间:2022-10-22 格式:DOCX 页数:16 大小:202.61KB
下载 相关 举报
数字逻辑实验报告Verilog时序逻辑设计Word格式.docx_第1页
第1页 / 共16页
数字逻辑实验报告Verilog时序逻辑设计Word格式.docx_第2页
第2页 / 共16页
数字逻辑实验报告Verilog时序逻辑设计Word格式.docx_第3页
第3页 / 共16页
数字逻辑实验报告Verilog时序逻辑设计Word格式.docx_第4页
第4页 / 共16页
数字逻辑实验报告Verilog时序逻辑设计Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

数字逻辑实验报告Verilog时序逻辑设计Word格式.docx

《数字逻辑实验报告Verilog时序逻辑设计Word格式.docx》由会员分享,可在线阅读,更多相关《数字逻辑实验报告Verilog时序逻辑设计Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

数字逻辑实验报告Verilog时序逻辑设计Word格式.docx

74x163逻辑电路图

上图的设计可以采用门级描述,也可以采用教材《数字设计—原理与实践》(第4版)第525页的表8-20中的行为描述

五、实验器材(设备、元器件):

PC机、WindowsXP、Anvyl或Nexys3开发板、XilinxISE14.7开发工具、DigilentAdept下载工具。

六、实验步骤:

实验步骤包括:

建立新工程,设计代码与输入,设计测试文件,设置仿真,查看波形,约束与实现、生成流代码与下载调试。

七、关键源代码及波形图:

1.D触发器的Verilog代码

源码如下

modulevr74x74(CLK,D,PR_L,CLR_L,Q,QN);

inputCLK,D,PR_L,CLR_L;

outputQ,QN;

wirew1,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);

endmodule

initialbegin

CLK=0;

PR_L=1;

CLR_L=1;

D=0;

#4D=1;

#2D=0;

#8D=0;

#2D=1;

#13CLR_L=0;

#10CLR_L=1;

#10PR_L=0;

#5D=0;

#10PR_L=1;

end

alwaysbegin

#5CLK=~CLK;

modulevr74x74_tb;

//Inputs

regCLK;

regD;

regPR_L;

regCLR_L;

//Outputs

wireQ;

wireQN;

//InstantiatetheUnitUnderTest(UUT)

vr74x74uut(

.CLK(CLK),

.D(D),

.PR_L(PR_L),

.CLR_L(CLR_L),

.Q(Q),

.QN(QN)

);

仿真结果如下图所示

检查输入输出关系,设计无误。

2.4位通用移位寄存器74x194

moduleVr74x194(CLK,CLR_L,LIN,RIN,S1,S0,A,B,C,D,QA,QB,QC,QD);

inputCLK,CLR_L,LIN,RIN,S1,S0,A,B,C,D;

outputQA,QB,QC,QD;

wireCLK_D;

wireCLR_L_D;

wireS1_L,S1_H;

wireS0_L,S0_H;

wireQAN,QBN,QCN,QDN;

wirew1,w2,w3,w4,w5,w6,w7,w8,w9,w10;

wirew11,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);

vr74x74q1(CLK_D,p1,1'

b1,CLR_L_D,QA,QAN);

vr74x74q2(CLK_D,p2,1'

b1,CLR_L_D,QB,QBN);

vr74x74q3(CLK_D,p3,1'

b1,CLR_L_D,QC,QCN);

vr74x74q4(CLK_D,p4,1'

b1,CLR_L_D,QD,QDN);

源码如下:

S1=0;

S0=0;

A=0;

B=0;

C=0;

D=0;

//Wait100nsforglobalresettofinish

#100;

//Addstimulushere

S1=0;

S0=0;

#100;

S0=1;

RIN=1;

S1=1;

A=0;

B=0;

C=0;

LIN=1;

#100;

A=1;

B=1;

C=1;

D=1;

End

alwaysbegin

测试文件:

modulevr74x194_tb;

regLIN;

regRIN;

regS1;

regS0;

regA;

regB;

regC;

wireQA;

wireQB;

wireQC;

wireQD;

//InstantiatetheUnitUnderTest(UUT)

Vr74x194uut(

.LIN(LIN),

.RIN(RIN),

.S1(S1),

.S0(S0),

.A(A),

.B(B),

.C(C),

.QA(QA),

.QB(QB),

.QC(QC),

.QD(QD)

initialbegin

//InitializeInputs

CLK=0;

CLR_L=0;

LIN=0;

RIN=0;

检验输入输出结果正常,设计无误。

3.3位LFSR计数器

moduleLFSR(CLK,RESET,X2,X1,X0);

inputCLK,RESET;

outputX2,X1,X0;

wirew1,w3,w6;

Vr74x194U1(.CLK(CLK),

.CLR_L(1'

b1),

.RIN(w6),

.S1(RESET),

.S0(1'

.A(1'

.B(1'

b0),

.C(1'

.D(1'

b0),

.QA(X2),

.QB(X1),

.QC(X0)

);

xor(w3,X1,X0);

nor(w1,X2,X1);

xor(w6,w1,w3);

moduleLFSR_tb;

regRESET;

wireX2;

wireX1;

wireX0;

LFSRuut(

.RESET(RESET),

.X2(X2),

.X1(X1),

.X0(X0)

CLK=0;

RESET=1;

//Addstimulushere

RESET=0;

4.74x163计数器

and(w21,w20,w25);

not(w26,ENT);

nor(w1,LD_L,CLR);

nor(w2,w1,CLR);

xor(w4,w25,~QN[0]);

xor(w10,w9,~QN[1]);

xor(w16,w15,~QN[2]);

xor(w22,w21,~QN[3]);

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);

vr74x74U1(D[0],CLK,1,CLR_L,Q[0],QN[0]);

vr74x74U2(D[1],CLK,1,CLR_L,

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

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1