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

上传人:仙*** 文档编号:78061842 上传时间:2022-04-21 格式:DOC 页数:16 大小:844.50KB
返回 下载 相关 举报
基于Libero的数字逻辑设计仿真及验证实验实验报告(实验6)_第1页
第1页 / 共16页
基于Libero的数字逻辑设计仿真及验证实验实验报告(实验6)_第2页
第2页 / 共16页
基于Libero的数字逻辑设计仿真及验证实验实验报告(实验6)_第3页
第3页 / 共16页
点击查看更多>>
资源描述
_计算机学院_计算机科学与技术 专业_4_组、学号:3113005946姓名_叶家星_协作者_ 教师评定_实验题目_基于Libero的数字逻辑设计仿真及验证实验_1、 熟悉EDA工具的使用;仿真基本门电路。2、 仿真组合逻辑电路。3、 仿真时序逻辑电路。4、 基本门电路、组合电路和时序电路的程序烧录及验证。5、 数字逻辑综合设计仿真及验证。实验报告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、提交针对基本门电路的综合结果,以及相应的仿真结果。四、实验结果和数据处理1、门电路模块及测试平台代码清单注:文件命名要求。工程(project)名要求:学号末4位+下划线+BasGate,例如陈静(3212005896)的工程名为“5896_BasGate”。设计代码文件名1:要求同上,即“5896_BasGate.v”。测试平台文件名:自己定义。(1)/ 模块一:2输入与门、或门、与非、或非、异或门各一,输入信号(1位A,1位B),输出信号(Y1,Y2,Y3,Y4,Y5) module BasGate(a,b,y1,y2,y3,y4,y5);input a,b;output y1,y2,y3,y4,y5;assign y1=a&b;assign y2=a|b;assign y3=ab;assign y4=(a&b);assign y5=(a|b);endmodule(2)/ 模块二:6个非门(同74HC04)module HC04(a,y);input5:0a;output5:0y;assign y=a;endmodule(3)测试平台代码timescale 1ns/1nsmodule testbench();reg a,b;wire y1,y2,y3,y4,y5;gates test_gates(a,b,y1,y2,y3,y4,y5);initialbegina=0;b=0;#10 b=1;#10 a=1;#10 b=0;#10;endendmodule2、模块一第一次仿真结果(截图)。将波形窗口背景设为白色,调整窗口至合适大小,使波形能完整显示,对窗口截图。后面实验中的仿真使用相同方法处理)模块二第一次仿真结果(截图)3、模块一综合结果(截图)。(将相关窗口调至合适大小,使RTL图能完整显示,对窗口截图,后面实验中的综合使用相同方法处理)4、模块一第二次仿真结果(综合后)(截图)。回答输出信号是否有延迟,延迟时间约为多少?是,延迟时间为400ps6、 模块一第三次仿真结果(布局布线后)(截图)。回答输出信号是否有延迟,延迟时间约为多少?分析是否有出现竞争冒险。出现信号延迟,延迟时间为400ps会发生竞争冒险7、 模块一布局布线的引脚分配(截图)。7、烧录(请老师检查)。2、组合逻辑电路一、实验目的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两数,分别依次为本人学号的奇数位和偶数位(例如,当学号为3212005896时,A数依次取学号从左到右的奇数位,即数字3、1、0、5、9,B数依次取学号从左到右的偶数位,即数字2、2、0、8、6),验证A、B的比较结果。注意:若两数相等,需考虑级联输入(级联输入的各种取值情况均需包括)。5、74HC4511设计成扩展型的,即能显示数字09、字母af。6、提交针对74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511(任选一个)的综合、布局布线结果,以及相应的仿真结果。7、完成课堂布置实验的Vierilog代码,并实现综合前仿真。四、实验结果和数据处理1、所有模块及测试平台代码清单注:文件命名要求。工程(project)名要求:学号末4位+下划线+芯片名,例如陈静(3212005896)74HC148芯片的工程名为“5896_74HC148”。设计代码文件名:要求同上,即“5896_74HC148.v”。测试平台文件名:自己定义。/74HC148代码module encoder8_3_1(DataIn,EO,Dataout); input7:0DataIn; output EO; output 2:0Dataout; reg 2:0Dataout; reg EO; integer I; always(DataIn) begin Dataout=0; EO=1; for(I=0;I8;I=I+1) begin if(DataInI) begin Dataout=I; EO=0; end end endendmodulemodule encoder8_3_1(DataIn,EO,Dataout); input7:0DataIn; output EO; output 2:0Dataout; reg 2:0Dataout; reg EO; integer I; always(DataIn) begin Dataout=0; EO=1; for(I=0;I8;I=I+1) begin if(DataInI) begin Dataout=I; EO=0; end end endendmodule/74HC148测试平台代码timescale 1ns/10psmodule testbench_8_3encoder; reg7:0 in; wire2:0 out; wire EO;initial begin in=b00000001; repeat(9) #20 in=in1; endencoder8_3_1 testbench_8_3encoder(in,EO,out);endmodule/74HC138代码module decoder3_8_1(DataIn,Enable,Eq); input2:0DataIn; input Enable; output7:0Eq; reg7:0Eq; wire2:0DataIn; integer I;always(DataIn or Enable) begin if(Enable) Eq=0; else for(I=0;I=DataB) AGEB=1; else AGEB=0; end endmodule/74HC85测试平台代码timescale 1ns/10ps module testbench; reg3:0 ina,inb; wire AGEB; comparator_4_a comparator_testbench(ina,inb,AGEB); initial begin ina=0;#20 ina=3;#20 ina=1;#20 ina=3;#20 ina=5;#20 ina=4;#20 $finish; end initial begin inb=0; #20 inb=1; #20 inb=3; #20 inb=0; #20 inb=9; #20 inb=6; end endmodule /74HC283代码module halfadder_1(DataA,DataB,Sum,Cout); input DataA,DataB; output Sum,Cout; assign Cout,Sum=DataA+DataB; endmodule /74HC283测试平台代码timescale 1ns/10ps module testbench; reg a,b; wire sum,cout; halfadder_1 adder_te(a,b,sum,cout); initial begin a=0;b=0; #20 b=1; #20 a=1; #20 b=0; #20; endendmodule/74HC4511代码module HC4511(A,Seg,LT_N,BI_N,LE); input LT_N,BI_N,LE; input3:0A; output7:0Seg; reg 7:0SM_8S; assign Seg=SM_8S; always (A or LT_N or BI_N or LE) begin if(!LT_N)SM_8S=8b11111111; /根据4511真值表写出 else if(!BI_N)SM_8S=8b00000000; else if(LE)SM_8S=SM_8S; else case(A) 4d0:SM_8S=8b00111111; /3f4d1:SM_8S=8b00000110; /06 4d2:SM_8S=8b01011011; /5b 4d3:SM_8S=8b01001111; /4f 4d4:SM_8S=8b01100110; /66 4d5:SM_8S=8b01101101; /6d 4d6:SM_8S=8b01111101; /7d 4d7:SM_8S=8b00000111; /07 4d8:SM_8S=8b01111111; /7f 4d9:SM_8S=8b01101111; /6f 4d10:SM_8S=8b01110111; /77 4d11:SM_8S=8b01111100; /7c 4d12:SM_8S=8b00111001; /39 4d13:SM_8S=8b01011110; /5e 4d14:SM_8S=8b01111001; /79 4d15:SM_8S=8b01110001; /71 default:; endcase end/74HC4511测试平台代码timescale 1ns/10ps module testbench; reg a,b,c; reg 3:0in; reg 7:0out; HC4511 decoder(LT_N,BI_N,LE, A,Seg); initial begin in=0; repeat(14) #20 in=$random; end initial begin a=0;b=0;c=0; #40 c=1; #40 b=1; #40 c=0; #40 a=1; #40 b=0; #40 c=1; #40 b=1; end endmodule2、课堂练习的模块代码及测试平台代码。注:工程名称为“学号末4位+下划线+Com”,例“5965_Com”Verilog代码文件名“学号末4位+下划线+Com”,例“5965_Com”模块名为“Com+下划线+学号末4位”,例“Com_5965”测试平台文件名及模块名自己定义。/模块代码/测试平台代码3、 第一次仿真结果截图(任选一个模块,请注明)4、 综合结果(截图)5、 第二次仿真结果(综合后仿真截图)。回答输出信号是否有延迟,最长延迟时间约为多少?6、 布局布线(引脚分配截图)7、第三次仿真结果(布局布线后)。回答输出信号是否有延迟,最长延迟时间约为多少?分析是否有出现竞争冒险。8、烧录,给老师检查。15
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


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

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


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