1、有代码基于libero的数字逻辑设计仿真及验证实验48 计算机_学院_专业_班_组学号_姓名_协作者_ 教师评定_实验题目_基于Libero的数字逻辑设计仿真及验证实验_1、熟悉EDA工具的使用;仿真基本门电路。2、仿真组合逻辑电路。3、仿真时序逻辑电路。4、基本门电路、组合电路和时序电路的程序烧录及验证。5、数字逻辑综合设计仿真及验证。实验报告1、基本门电路一、实验目的1、了解基于Verilog的基本门电路的设计及其验证。2、熟悉利用EDA工具进行设计及仿真的流程。3、学习针对实际门电路芯片74HC00、74HC02、74HC04、74HC08、74HC32、74HC86进行VerilogH
2、DL设计的方法。二、实验环境Libero仿真软件。三、实验内容1、掌握Libero软件的使用方法。2、进行针对74系列基本门电路的设计,并完成相应的仿真实验。3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC00、74HC02、74HC04、74HC08、74HC32、74HC86相应的设计、综合及仿真。4、提交针对74HC00、74HC02、74HC04、74HC08、74HC32、74HC86(任选一个)的综合结果,以及相应的仿真结果。四、实验结果和数据处理1、所有模块及测试平台代码清单/74HC00代码-与非/ HC00.vmodule HC00(A,B,Y);i
3、nput 4:1A,B;output 4:1Y;assign Y=(A&B);endmodule/74HC00测试平台代码/ test.vtimescale 1ns/1nsmodule test1();reg 4:1a,b;wire 4:1y;HC00 u1(a,b,y);initialbegina=4b0000; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;a=4b1111; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;endendmodule/74HC02代码-或非/ HC02.vmodule HC02(A,B,Y);input 4:
4、1A,B;output 4:1Y;assign Y=(A|B);endmodule/74HC02测试平台代码/ test.vtimescale 1ns/1nsmodule test2();reg 4:1a,b;wire 4:1y;HC02 u2(a,b,y);initialbegina=4b0000; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;a=4b1111; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;endendmodule/74HC04代码-非/ HC04.vmodule HC04(A,Y);input 6:1A;output
5、6:1Y;assign Y=A;endmodule/74HC04测试平台代码/ test.vtimescale 1ns/1nsmodule test3();reg 6:1a;wire 6:1y;HC04 u3(a,y);initialbegina=4b000001;#10 a=a1;#10 a=a1;#10 a=a1;#10 a=a1;#10 a=a1;endendmodule/74HC08代码-与/ HC08.vmodule HC08(A,B,Y);input 4:1A,B;output 4:1Y;assign Y=A&B;endmodule/74HC08测试平台代码/ test.vtime
6、scale 1ns/1nsmodule test4();reg 4:1a,b;wire 4:1y;HC08 u4(a,b,y);initialbegina=4b0000; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;a=4b1111; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;endendmodule/74HC32代码-或/ HC32.vmodule HC32(A,B,Y);input 4:1A,B;output 4:1Y;assign Y=A|B;endmodule/74HC32测试平台代码/ test.vtimescale 1ns/
7、1nsmodule test5();reg 4:1a,b;wire 4:1y;HC32 u5(a,b,y);initialbegina=4b0000; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;a=4b1111; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;endendmodule/74HC86代码-异或/ HC86.vmodule HC86(A,B,Y);input 4:1A,B;output 4:1Y;assign Y=AB;endmodule/74HC86测试平台代码/ test.vtimescale 1ns/1nsmodule
8、test6();reg 4:1a,b;wire 4:1y;HC86 u6(a,b,y);initialbegina=4b0000; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;a=4b1111; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;endendmodule2、第一次仿真结果(任选一个门,请注明,插入截图,下同)。(将波形窗口背景设为白色,调整窗口至合适大小,使波形能完整显示,对窗口截图。后面实验中的仿真使用相同方法处理)异或门:3、综合结果。(将相关窗口调至合适大小,使RTL图能完整显示,对窗口截图,后面实验中的综合使用相同方法处
9、理)4、第二次仿真结果(综合后)。回答输出信号是否有延迟,延迟时间约为多少?输出信号有延迟,延迟时间为300ps。5、第三次仿真结果(布局布线后)。回答输出信号是否有延迟,延迟时间约为多少?分析是否有出现竞争冒险。输出信号有延迟,延迟时间是4200ps。没有出现竞争冒险。2、组合逻辑电路一、实验目的1、了解基于Verilog的组合逻辑电路的设计及其验证。2、熟悉利用EDA工具进行设计及仿真的流程。3、学习针对实际组合逻辑电路芯片74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511进行VerilogHDL设计的方法。二、实验环境Libero仿真软件。三、
10、实验内容1、掌握Libero软件的使用方法。2、进行针对74系列基本组合逻辑电路的设计,并完成相应的仿真实验。3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511相应的设计、综合及仿真。4、74HC85测试平台的测试数据要求:进行比较的A、B两数,分别为本人学号的末两位,如“89”,则A数为“1000”,B数为“1001”。若两数相等,需考虑级联输入(级联输入的各种取值情况均需包括);若两数不等,则需增加一对取值情况,验证A、B相等时的比较结果。5、74HC4511设计成扩展型的,即能显
11、示数字09、字母af。6、提交针对74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511(任选一个)的综合结果,以及相应的仿真结果。1、所有模块及测试平台代码清单/74HC148代码/HC148.vmodule HC148(DataIn,EO,Dataout);input 7:0 DataIn;output EO;output 2:0 Dataout;reg 2:0 Dataout;reg EO;integer I;always (DataIn)beginDataout=0;EO=1;for(I=0;I8;I=I+1)beginif(DataInI)be
12、ginDataout=I;EO=0;endendendendmodule/74HC148测试平台代码/ test148.vtimescale 1ns/1nsmodule test148;reg 7:0 in;wire 2:0 out;wire EO;initialbeginin=00000001;repeat(9)#20 in=in1;endHC148 u148(in,EO,out);endmodule/74HC138代码/HC138.vmodule HC138(A,B,C,G1,G2AN,G2BN,Y7,Y6,Y5,Y4,Y3,Y2,Y1,Y0);input A,B,C;input G1,G
13、2AN,G2BN;output Y7,Y6,Y5,Y4,Y3,Y2,Y1,Y0;wire Y7,Y6,Y5,Y4,Y3,Y2,Y1,Y0;reg 7:0 Eq;wire 7:0 EqN;wire 2:0DataIn;assign EqN=Eq;assign DataIn0=A;assign DataIn1=B;assign DataIn2=C;always (DataIn or G1 or G2AN or G2BN)beginif(!G1)Eq=8b11111111;else if(!(G2AN&G2BN)Eq=8b11111111;else Eq=1b1DataB)beginQAGB=1;Q
14、ASB=0;QAEB=0;endelse if(DataADataB)beginQASB=1;QAGB=0;QAEB=0;endelse if(IAGB&!IASB&!IAEB)beginQAGB=1;QASB=0;QAEB=0;endelse if(!IAGB&IASB&!IAEB)beginQASB=1;QAGB=0;QAEB=0;endelse if(IAEB)beginQAEB=1;QASB=0;QAGB=0;endbeginif(DataA=DataB)if(IAGB&IASB&!IAEB)begin QAGB=0;QASB=0;QAEB=0;endif(!IAGB&!IASB&!I
15、AEB)begin QAGB=1;QASB=1;QAEB=0;endendendendmodule/74HC85测试平台代码/ test85.vtimescale 1ns/1nsmodule test85;reg A3,A2,A1,A0,B3,B2,B1,B0;reg IAGB,IASB,IAEB;wire QAGB,QASB,QAEB;initialbeginA3=0;repeat(20)#20 A3=$random;endinitialbeginA2=0;repeat(20)#20 A2=$random;endinitialbeginA1=0;repeat(20)#20 A1=$rando
16、m;endinitialbeginA0=0;repeat(20)#20 A0=$random;endinitialbeginB3=0;repeat(20)#20 B3=$random;endinitialbeginB2=0;repeat(20)#20 B2=$random;endinitialbeginB1=0;repeat(20)#20 B1=$random;endinitialbeginB0=0;repeat(20)#20 B0=$random;endinitialbeginIAGB=0;repeat(10)#40 IAGB=$random;endinitialbeginIASB=0;re
17、peat(10)#40 IASB=$random;endinitialbeginIAEB=0;repeat(10)#40 IAEB=$random;endHC85 u85(.A3 (A3),.A2 (A2),.A1 (A1),.A0 (A0),.B3 (B3),.B2 (B2),.B1 (B1),.B0 (B0),.IAGB (IAGB),.IASB (IASB),.IAEB (IAEB),.QAGB (QAGB),.QASB (QASB),.QAEB (QAEB);Endmodule/74HC283代码/HC283.vmodule HC283(A3,A2,A1,A0,B3,B2,B1,B0,
18、Sigma3,Sigma2,Sigma1,Sigma0,C0,C4);input A3,A2,A1,A0,B3,B2,B1,B0;input C0;output Sigma3,Sigma2,Sigma1,Sigma0;output C4;reg C4;reg3:0Sigma;wire3:0DataA,DataB;assign DataA0=A0;assign DataA1=A1;assign DataA2=A2;assign DataA3=A3;assign DataB0=B0;assign DataB1=B1;assign DataB2=B2;assign DataB3=B3;always
19、(DataA or DataB or C0)beginC4,Sigma=DataA+DataB+C0;endassign Sigma0= Sigma0;assign Sigma1= Sigma1;assign Sigma2= Sigma2;assign Sigma3= Sigma3;endmodule/74HC283测试平台代码/ test283.vtimescale 1ns/10psmodule test283;reg A3,A2,A1,A0,B3,B2,B1,B0;reg C0;wire Sigma3,Sigma2,Sigma1,Sigma0;wire C4;initialbeginA3=
20、0;repeat(20)#20 A3=$random;endinitialbeginA2=0;repeat(20)#20 A2=$random;endinitialbeginA1=0;repeat(20)#20 A1=$random;endinitialbeginA0=0;repeat(20)#20 A0=$random;endinitialbeginB3=0;repeat(20)#20 B3=$random;endinitialbeginB2=0;repeat(20)#20 B2=$random;endinitialbeginB1=0;repeat(20)#20 B1=$random;end
21、initialbeginB0=0;repeat(20)#20 B0=$random;endinitialbeginC0=0;repeat(20)#20 C0=$random;endHC283 u283(.A3 (A3),.A2 (A2),.A1 (A1),.A0 (A0),.B3 (B3),.B2 (B2),.B1 (B1),.B0 (B0),.Sigma3 (Sigma3),.Sigma2 (Sigma2),.Sigma1 (Sigma1),.Sigma0 (Sigma0),.C0 (C0),.C4 (C4);Endmodule/74HC4511代码/HC4511.vmodule HC4511(A,Seg,LT_N,BI_N,LE);input LT_N,BI_N,LE;input3:0A;output7:0Seg;reg7:0SM_8S;assign Seg=SM_8S;always(A or LT_N or BI_N or LE)beginif(!LT_N)SM_8S=8b11111111;else if(!BI_N)SM_8S=8b00000000;else if(LE)SM_8S=SM_8S;elsecase(A)4d0:SM_8S=8b00111111;4d1:SM_8S=8b00000110;4d2:SM_8S
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1