基于Libero的数字逻辑设计仿真及验证实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

___计算机__学院计算机科学与技术专业班、学号姓名协作者______________教师评定_________________实验题目_________基于Libero的数字逻辑设计仿真及验证实验_________1、熟悉EDA工具的使用;仿真基本门电路。2、仿真组合逻辑电路。3、仿真时序逻辑电路。4、基本门电路、组合电路和时序电路的程序烧录及验证。5、数字逻辑综合设计仿真及验证。1实验报告1、基本门电路一、实验目的1、了解基于Verilog的基本门电路的设计及其验证。2、熟悉利用EDA工具进行设计及仿真的流程。3、学习针对实际门电路芯片74HC00、74HC02、74HC04、74HC08、74HC32、74HC86进行VerilogHDL设计的方法。二、实验环境Libero仿真软件。三、实验内容1、掌握Libero软件的使用方法。2、进行针对74系列基本门电路的设计,并完成相应的仿真实验。3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC00、74HC02、74HC04、74HC08、74HC32、74HC86相应的设计、综合及仿真。4、提交针对74HC00、74HC02、74HC04、74HC08、74HC32、74HC86(任选一个....)的综合结果,以及相应的仿真结果。四、实验结果和数据处理1、所有..模块及测试平台代码清单//74HC00代码-与非//74HC00.vmoduleHC00(A,B,Y);input[3:0]A,B;output[3:0]Y;assignY=~(A&B);endmodule//74HC00测试平台代码//test_00.v2`timescale1ns/1nsmoduletest_00;reg[3:0]a,b;wire[3:0]y;HC00u(a,b,y);initialbegina=4'b0000;b=4'b0001;#10b=b1;//0010#10b=b1;//0100#10b=b1;//1000a=4'b1111;b=4'b0001;#10b=b1;#10b=b1;#10b=b1;endendmodule//74HC02代码-或非//74HC02.vmoduleHC02(A,B,Y);input[3:0]A,B;output[3:0]Y;assignY=~(A|B);endmodule//74HC02测试平台代码//test_02.v`timescale1ns/1nsmoduletest_02;reg[3:0]a,b,c;wire[3:0]y;HC02u(a,b,y);initialbegina=4'b1111;c=4'b0001;b=~c;c=c1;#10b=~c;c=c1;#10b=~c;c=c1;#10b=~c;a=4'b0000;c=4'b0001;b=~c;c=c1;#10b=~c;c=c1;3#10b=~c;c=c1;#10b=~c;endendmodule//74HC04代码-非//74HC04.vmoduleHC04(A,Y);input[3:0]A;output[3:0]Y;assignY=~A;endmodule//74HC04测试平台代码//test_04.v`timescale1ns/1nsmoduletest_04;reg[3:0]a;wire[3:0]y;HC04u(a,y);initialbegina=4'b0001;#10a=a1;#10a=a1;#10a=a1;endendmodule//74HC08代码-与//74HC08.vmoduleHC08(A,B,Y);input[3:0]A,B;output[3:0]Y;assignY=A&B;endmodule//74HC08测试平台代码//test_08.v`timescale1ns/1nsmoduletest_08;reg[3:0]a,b;wire[3:0]y;4HC00u(a,b,y);initialbegina=4'b0000;b=4'b0001;#10b=b1;#10b=b1;#10b=b1;a=4'b1111;b=4'b0001;#10b=b1;#10b=b1;#10b=b1;endendmodule//74HC32代码-或//74HC32.vmoduleHC32(A,B,Y);input[3:0]A,B;output[3:0]Y;assignY=A|B;endmodule//74HC32测试平台代码//test_32.v`timescale1ns/1nsmoduletest_32;reg[3:0]a,b,c;wire[3:0]y;HC02u(a,b,y);initialbegina=4'b1111;c=4'b0001;b=~c;c=c1;#10b=~c;c=c1;#10b=~c;c=c1;#10b=~c;a=4'b0000;c=4'b0001;b=~c;c=c1;#10b=~c;c=c1;#10b=~c;c=c1;#10b=~c;endendmodule5//74HC86代码-异或moduleHC86(A,B,Y);input[3:0]A,B;output[3:0]Y;assignY=A^B;endmodule//74HC86测试平台代码//test_86.v`timescale1ns/1nsmoduletest_86;reg[3:0]a,b;wire[3:0]y;HC86u(a,b,y);initialbegina=4'b0000;b=4'b0001;#10b=b1;#10b=b1;#10b=b1;#10a=4'b1111;b=4'b0001;#10b=b1;#10b=b1;#10b=b1;endendmodule2、第一次仿真结果(任选一个....门,请注明,......插入截图,.....下同..)。(将波形窗口背景设为白色..,调整窗口至合适大小,使波形能完整显示,对窗口截图..。后面实验中的仿真使用相同方法处理)63、综合结果(截图..)。(将相关窗口调至合适大小,使RTL图能完整显示,对窗口截图,后面实验中的综合使用相同方法处理)4、第二次仿真结果(综合后)(截图..)。回答输出信号是否有延迟,延迟时间约为多少?输出信号有延迟,延迟时间约为0.3ns5、第三次仿真结果(布局布线后)(截图..)。回答输出信号是否有延迟,延迟时间7约为多少?分析是否有出现竞争冒险。输出信号有延迟,延迟时间约为3ns,没有出现竞争冒险。82、组合逻辑电路一、实验目的1、了解基于Verilog的组合逻辑电路的设计及其验证。2、熟悉利用EDA工具进行设计及仿真的流程。3、学习针对实际组合逻辑电路芯片74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511进行VerilogHDL设计的方法。二、实验环境Libero仿真软件。三、实验内容1、掌握Libero软件的使用方法。2、进行针对74系列基本组合逻辑电路的设计,并完成相应的仿真实验。3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511相应的设计、综合及仿真。4、74HC85测试平台的测试数据要求:进行比较的A、B两数,分别为本人学号的末两位,如“89”,则A数为“1000”,B数为“1001”。若两数相等,需考虑级联输入(级联输入的各种取值情况均需包括);若两数不等,则需增加一对取值情况,验证A、B相等时的比较结果。5、74HC4511设计成扩展型的,即能显示数字0~9、字母a~f。6、提交针对74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511(任.选一个...)的综合结果,以及相应的仿真结果。四、实验结果和数据处理1、所有模块及测试平台代码清单//74HC148代码//74HC148.vmoduleHC148(EI,In,Out,EO,GS);inputEI;input[7:0]In;output[2:0]Out;outputEO,GS;reg[2:0]Out;regEO,GS;intergerI;9always@(EIorIn)if(EI)beginOut=3'b111;EO=1;GS=1;endelseif(In==8'b11111111)beginOut=3'b111;EO=0;GS=1;endelsebeginfor(I=0;I8;I=I+1)beginif(~In[I])beginOut=~I;EO=1;GS=0;endendendendmodule//74HC148测试平台代码//test_148.v`timescale1ns/1nsmoduletest_148;regei;reg[7:0]turn;wire[7:0]in=~turn;wire[2:0]out;wireeo,gs;HC148u(ei,in,out,eo,gs);initialbeginei=1;turn=8'b1;repeat(8)#10turn=turn1;ei=0;turn=8'b1;repeat(8)#10turn=turn1;endendmodule10//74HC138代码//74HC138.vmoduledecoder3_8_1(DataIn,Enable,Eq);input[2:0]DataIn;inputEnable;output[7:0]Eq;reg[7:0]Eq;wire[2:0]DataIn;integerI;always@(DataInorEnable)beginif(Enable)Eq=0;elsefor(I=0;I=7;I=I+1)if(DataIn==I)Eq[I]=1;elseEq[I]=0;endendmodule//74HC138测试平台代码//test_138.v`timescale1ns/1nsmoduletest_138;wire[2:0]out;reg[7:0]in;reg[2:0]ei;HC138u(out,in,ei);taskcircle;beginin=0;repeat(8)#10in=in+1;endendtaskinitial11beginei=1;circle();ei=0;circle();ei=2;repeat(6)begincircle();#10ei=ei+1;endendendmodule//74HC153代码//74HC153.vmoduleHC153(DateOut,DateIn,Sel,Enable);input[3:0]DateIn;input[1:0]Sel;inputEnable;outputregDateOut;always@(EnableorSelorDateIn)if(Enable)DateOut=0;elseDateOut=DateIn[Sel];endmodule//74HC153测试平台代码//test_153.v`timescale1ns/1nsmoduletest_153();wireout;reg[3:0]in;reg[1:0]sel;regei;HC153u(out,in,sel,ei);initialbeginei=0;sel=0;in=4'b1010;repeat(4)#10sel=sel+1;ei=1;sel=0;in=4'b1010;repeat(4)12#10sel=sel+1;endendmodule//74HC85代码//74HC85.vmoduleHC85(DateA,DateB,Cas,Q);input[3:0]DateA,DateB;input[2:0]Cas;outputreg[2:0]Q;intergerI;always@(DateAorDateBorCas)beginif

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功