基于Libero的数字逻辑设计仿真及验证实验实验报告(实验4到8)YMT(18页).docx

上传人:1595****071 文档编号:37061467 上传时间:2022-08-29 格式:DOCX 页数:18 大小:255.72KB
返回 下载 相关 举报
基于Libero的数字逻辑设计仿真及验证实验实验报告(实验4到8)YMT(18页).docx_第1页
第1页 / 共18页
基于Libero的数字逻辑设计仿真及验证实验实验报告(实验4到8)YMT(18页).docx_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《基于Libero的数字逻辑设计仿真及验证实验实验报告(实验4到8)YMT(18页).docx》由会员分享,可在线阅读,更多相关《基于Libero的数字逻辑设计仿真及验证实验实验报告(实验4到8)YMT(18页).docx(18页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-基于Libero的数字逻辑设计仿真及验证实验实验报告(实验4到8)YMT-第 16 页_计算机_学院_专业_班_组、学号_姓名_协作者_教师评定_实验题目_基于Libero的数字逻辑设计仿真及验证实验_1、 熟悉EDA工具的使用;仿真基本门电路。2、 仿真组合逻辑电路。3、 仿真时序逻辑电路。4、 基本门电路、组合电路和时序电路的程序烧录及验证。5、 数字逻辑综合设计仿真及验证。实验报告1、基本门电路一、实验目的1、了解基于Verilog的基本门电路的设计及其验证。2、熟悉利用EDA工具进行设计及仿真的流程。3、学习针对实际门电路芯片74HC00、74HC02、74HC04、74HC08、7

2、4HC32、74HC86进行VerilogHDL设计的方法。二、实验环境Libero仿真软件。三、实验内容1、掌握Libero软件的使用方法。2、进行针对74系列基本门电路的设计,并完成相应的仿真实验。3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC00、74HC02、74HC04、74HC08、74HC32、74HC86相应的设计、综合及仿真。4、提交针对74HC00、74HC02、74HC04、74HC08、74HC32、74HC86(任选一个)的综合结果,以及相应的仿真结果。四、实验结果和数据处理1、所有模块及测试平台代码清单/74HC00代码-与非/ 74HC

3、00.vmodule HC00(A,B,Y);input 4:1A,B;output 4:1Y;assign Y=(A&B);endmodule/74HC00测试平台代码/ testbench.vtimescale 1ns/1nsmoduletestbench ();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代码-或非/

4、74HC02.vmodule HC02(A,B,Y);input 4:1A,B;output 4:1Y;assign Y=(A|B);endmodule/74HC02测试平台代码/ testbench.vtimescale 1ns/1nsmoduletestbench ();reg 4:1a,b;wire 4:1y;HC02 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/74HC04代码-

5、非/ 74HC04.vmodule HC04(A,Y);input 4:1A;output 4:1Y;assign Y=A;endmodule/74HC04测试平台代码/ testbench.vtimescale 1ns/1nsmodule testbench();reg 2:1a;wire 2:1y;HC04 u4(a,y);initialbegina=2b01;#10 a=2b10;#10 a=2b11;#10 a=2b00;endendmodule/74HC08代码-与module HC08(A,B,Y);input 4:1A,B;output 4:1Y;assign Y=A&B;/与e

6、ndmodule/74HC08测试平台代码timescale 1ns/1nsmodule test08();reg 4:1a,b;wire 4:1y;HC08 u8(a,b,y);initialbegina=4b0000; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;#10a=4b1111; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;endendmodule/74HC32代码-或module HC32(A,B,Y);input 4:1A,B;output 4:1Y;assign Y=A|B;/或endmodule/74HC32测试平台代

7、码timescale 1ns/1nsmodule test32();reg 4:1a,b;wire 4:1y;HC32 u32(a,b,y);initialbegina=4b0000; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;#10a=4b1111; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;endendmodule/74HC86代码-异或module HC86(A,B,Y);input 4:1A,B;output 4:1Y;assign Y=A&(B)|(A&B);/异或endmodule/74HC86测试平台代码timescal

8、e 1ns/1nsmodule test86();reg 4:1a,b;wire 4:1y;HC86 u86(a,b,y);initialbegina=4b0000; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;#10a=4b1111; b=4b0001;#10 b=b1;#10 b=b1;#10 b=b1;endendmodule2、第一次仿真结果(任选一个门,请注明,插入截图,下同)。(将波形窗口背景设为白色,调整窗口至合适大小,使波形能完整显示,对窗口截图。后面实验中的仿真使用相同方法处理)3、综合结果(截图)。(将相关窗口调至合适大小,使RTL图能完整显示,

9、对窗口截图,后面实验中的综合使用相同方法处理)4、第二次仿真结果(综合后)(截图)。回答输出信号是否有延迟,延迟时间约为多少?有延迟 300ps5、第三次仿真结果(布局布线后)(截图)。回答输出信号是否有延迟,延迟时间约为多少?分析是否有出现竞争冒险。延迟约4000PS有竞争冒险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 encoder8_3_1(DataIn,EO,Dataout,EI,GS); input 7:0DataIn; input EI; output EO; output 2:0Dataout; output GS; reg 2:0Dataout; reg EO; reg GS; integer I; always(D

12、ataIn or EI) begin if(EI) begin Dataout=7; EO=1; GS=1; end else if(DataIn=8b11111111) begin Dataout=7; EO=0; GS=1; end else for(I=0;I8;I=I+1) begin if(DataInI) begin Dataout=-1; EO=1; GS=0; end end end endmodule/74HC148测试平台代码 timescale 1ns/1ns module testbench; reg7:0 in; reg EI; wire GS; wire2:0out

13、; wire EO; initial begin EI=0; in=b00000001; repeat(9) #20 in=in1; /每循环1次,in左移1位,如0000001将移动为0000010 end encoder8_3_1 testbench_8_3encoder(in,EO,out,EI,GS); endmodule/74HC138代码/74HC138测试平台代码/74HC153代码/74HC153测试平台代码/74HC85代码/74HC85测试平台代码/74HC283代码/74HC283测试平台代码/74HC4511代码/ 74HC4511.vmodule HC4511(A,S

14、eg,LT_N,BI_N,LE,DIG4); input LT_N,BI_N,LE; input3:0A; output7:0Seg; output DIG4; reg 7:0SM_8S; assign Seg=SM_8S; assign DIG4=0; 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; /3

15、f 4d1: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

16、=8b00111001; /39 4d13:SM_8S=8b01011110; /5e 4d14:SM_8S=8b01111001; /79 4d15:SM_8S=8b01110001; /71 default:; endcase endendmodule/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; en

17、d 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、第一次仿真结果(任选一个模块,请注明)74HC1483、综合结果4、第二次仿真结果(综合后)。回答输出信号是否有延迟,延迟时间约为多少?延迟为500ps5、第三次仿真结果(布局布线后)。回答输出信号是否有延迟,延迟时间约为多少?分析是否有出现竞争冒险。延迟为7700ps有竞争冒险3、时序逻辑电路一、实验目的1、了解基于Verilog的时序逻辑电路的设计及其验证。2、熟悉利用EDA工具

18、进行设计及仿真的流程。3、学习针对实际时序逻辑电路芯片74HC74、74HC112、74HC194、74HC161进行VerilogHDL设计的方法。二、实验环境Libero仿真软件。三、实验内容1、熟练掌握Libero软件的使用方法。2、进行针对74系列时序逻辑电路的设计,并完成相应的仿真实验。3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC74、74HC112、74HC161、74HC194相应的设计、综合及仿真。4、提交针对74HC74、74HC112、74HC161、74HC194(任选一个)的综合结果,以及相应的仿真结果。四、实验结果和数据处理1、所有模块及

19、测试平台代码清单四、实验结果和数据处理1、所有模块及测试平台代码清单/74HC74代码module HC74(Q1,Q2,D1,D2,Clk1,Clk2,Rst1,Rst2,Set1,Set2);input D1,D2,Clk1,Clk2,Rst1,Rst2,Set1,Set2;output Q1,Q2;reg Q1,Q2;always (posedge Clk1 or negedge Rst1 or negedge Set1)beginif(!Rst1 & Set1)Q1 = 0;else if(Set1 & Rst1)Q1 = D1; else Q1 = 1;endalways (pose

20、dge Clk2 or negedge Rst2 or negedge Set2)beginif(!Rst2 & Set2)Q2 = 0;else if(Set2 & Rst2)Q2 = D2; else Q2 = 1;endendmodule /74HC74测试平台代码timescale 1ns/1nsmodule testHC74;reg D1,D2,Clk1,Clk2,Rst1,Rst2,Set1,Set2;wire Q1,Q2;HC74 u74(Q1,Q2,D1,D2,Clk1,Clk2,Rst1,Rst2,Set1,Set2);parameter clock_period = 20;

21、always #(clock_period / 2) Clk1 = Clk1;always #(clock_period / 2) Clk2 = Clk2;initialbegin D1 = 0; D2 = 0;Clk1 =0;Clk2 = 1;repeat(20)begin#20;D1 = $random; D2 = $random;endendinitialbeginRst1 = 0; Rst2 = 0; Set2 = 0;Set1 = 0;repeat(20)begin#20; Rst1 = $random; Rst2 = $random;Set1 = $random; Set2 = $

22、random;endendendmodule /74HC112代码module HC112(SD,RD,CLK,J,K,Q,NQ); input SD,RD,CLK,J,K; output Q,NQ; reg Q; assign NQ=Q; always (SD or RD or J or K) if(SD&RD) Q=1; else if(SD&RD) Q=0; else if(SD&RD) Q=1; always (negedge CLK) if(SD&RD) if(J&K) Q=Q; else if(J&K) Q=0; else if(J&K) Q=1; else Q=Q;endmodu

23、le/74HC112测试平台代码timescale 1ns/1nsmodule test74HC112; reg SD,RD,CLK,J,K; wire Q,NQ; parameter clock=20; HC112 (SD,RD,CLK,J,K,Q,NQ); initial begin CLK=0; #400 $finish; end always #(clock/2) CLK=CLK; initial begin SD=0;RD=1;J=0;K=0; #10 SD=1;RD=0;J=1; #10 SD=0;RD=0;K=1; #10 SD=1;RD=1;J=0;K=0; #10 K=1;

24、#10 J=1; #10 K=0; endendmodule/74HC161代码module HC161(CP,CEP,CET,MRN,PEN,Dn,Qn,TC); input CP; input CEP,CET; output 3:0 Qn; input MRN,PEN; input 3:0 Dn; output TC; reg 3:0 qaux; reg TC; always (posedge CP) begin if(!MRN) qaux=4b0000; else if(!PEN) qaux=Dn; else if(CEP&CET) qaux=qaux+1; else qaux=qaux

25、; end always (posedge CP) begin if(qaux=4b1111) TC=1b1; else TC=1b0; end assign Qn=qaux;endmodule/74HC161测试平台代码timescale 1ns/10psmodule test74HC161; reg cp,cep,cet,mr,pe; reg 3:0dn; wire 3:0qn; wire tc; parameter clock=20; always #(clock/2) cp=cp; HC161 u1(cp,cep,cet,mr,pe,dn,qn,tc); initial begin c

26、p=0; mr=0; pe=0; cet=1; cep=1; #10 mr=1; #10 dn=$random; #20 pe=1; repeat(3) #10 dn=$random; #10 cet=0; repeat(2) #10 dn=$random; #5 cet=1; #5 cep=0; repeat(2) #10 dn=$random; end initial #400 $finish;endmodule/74HC194代码module HC194(MR,S1,S0,CP,DSR,DSL,D,Q); input MR,S1,S0,CP,DSR,DSL; input 3:0D; ou

27、tput 3:0Q; reg 3:0Qaux; always (MR) if(MR) Qaux=0; always (S1 or S0) if(S1&S0) Qaux=Q; always (posedge CP) if(S1&S0) Qaux=Qaux2:0,DSR; else if(S1&S0) Qaux=DSL,Qaux3:1; else if(S1&S0) Qaux=D; assign Q=Qaux;endmodule/74HC194测试平台代码timescale 1ns/1nsmodule test74HC194; reg MR,S1,S0,CP,DSR,DSL; reg 3:0D;

28、wire 3:0Q; parameter clock=20; HC194 u(MR,S1,S0,CP,DSR,DSL,D,Q); initial begin CP=0; #400 $finish; end always #(clock/2) CP=CP; initial begin MR=0; #20 MR=1; #20 S1=0;S0=1;DSR=1; #20 S1=1;S0=0;DSL=1; #20 S1=0;S0=0; #20 S1=1;S0=1;D=4b1111; #20 S1=0;S0=0; #20 MR=0; endendmodule2、第一次仿真结果(任选一个模块,请注明)注:截图为74HC743、综合结果4、第二次仿真结果(综合后)5、第三次仿真结果(布局布线后)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com