基于Libero的数字逻辑设计仿真及验证实验实验报告(实验4到8)YMT.docx_第1页
基于Libero的数字逻辑设计仿真及验证实验实验报告(实验4到8)YMT.docx_第2页
基于Libero的数字逻辑设计仿真及验证实验实验报告(实验4到8)YMT.docx_第3页
基于Libero的数字逻辑设计仿真及验证实验实验报告(实验4到8)YMT.docx_第4页
基于Libero的数字逻辑设计仿真及验证实验实验报告(实验4到8)YMT.docx_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

_计算机_学院_专业_班_组、学号_姓名_协作者_教师评定_实验题目_基于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、提交针对74HC00、74HC02、74HC04、74HC08、74HC32、74HC86(任选一个)的综合结果,以及相应的仿真结果。四、实验结果和数据处理1、所有模块及测试平台代码清单/74HC00代码-与非/ 74HC00.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代码-或非/ 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代码-非/ 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;/与endmodule/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测试平台代码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测试平台代码timescale 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图能完整显示,对窗口截图,后面实验中的综合使用相同方法处理)4、第二次仿真结果(综合后)(截图)。回答输出信号是否有延迟,延迟时间约为多少?有延迟 300ps5、第三次仿真结果(布局布线后)(截图)。回答输出信号是否有延迟,延迟时间约为多少?分析是否有出现竞争冒险。延迟约4000PS有竞争冒险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两数,分别为本人学号的末两位,如“89”,则A数为“1000”,B数为“1001”。若两数相等,需考虑级联输入(级联输入的各种取值情况均需包括);若两数不等,则需增加一对取值情况,验证A、B相等时的比较结果。5、74HC4511设计成扩展型的,即能显示数字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(DataIn 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; 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,Seg,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; /3f 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=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; 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、第一次仿真结果(任选一个模块,请注明)74HC1483、综合结果4、第二次仿真结果(综合后)。回答输出信号是否有延迟,延迟时间约为多少?延迟为500ps5、第三次仿真结果(布局布线后)。回答输出信号是否有延迟,延迟时间约为多少?分析是否有出现竞争冒险。延迟为7700ps有竞争冒险3、时序逻辑电路一、实验目的1、了解基于Verilog的时序逻辑电路的设计及其验证。2、熟悉利用EDA工具进行设计及仿真的流程。3、学习针对实际时序逻辑电路芯片74HC74、74HC112、74HC194、74HC161进行VerilogHDL设计的方法。二、实验环境Libero仿真软件。三、实验内容1、熟练掌握Libero软件的使用方法。2、进行针对74系列时序逻辑电路的设计,并完成相应的仿真实验。3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC74、74HC112、74HC161、74HC194相应的设计、综合及仿真。4、提交针对74HC74、74HC112、74HC161、74HC194(任选一个)的综合结果,以及相应的仿真结果。四、实验结果和数据处理1、所有模块及测试平台代码清单四、实验结果和数据处理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 (posedge 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;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 = $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;endmodule/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; #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; 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 cp=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; rep

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论