基于Libero的数字逻辑设计仿真及验证实验分析报告_第1页
基于Libero的数字逻辑设计仿真及验证实验分析报告_第2页
基于Libero的数字逻辑设计仿真及验证实验分析报告_第3页
基于Libero的数字逻辑设计仿真及验证实验分析报告_第4页
基于Libero的数字逻辑设计仿真及验证实验分析报告_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、基于Libero的数字逻辑设计仿真及验证实验报告作者:日期:计算机 学院 计算机科学与技术 专业班、学号姓名协作者教师评定实验题目基于Libero的数字逻辑设计仿真及验证实验 1、熟悉EDA工具的使用;仿真基本门电路。2、仿真组合逻辑电路。3、仿真时序逻辑电路。4、基本门电路、组合电路和时序电路的程序烧录及验证。5、数字逻辑综合设计仿真及验证。实验报告1、基本门电路一、实验目的1、了解基于Verilog的基本门电路的设计及其验证。2、熟悉利用EDA工具进行设计及仿真的流程。3、学习针对实际门电路芯片 74HC00、74HC02、74HC04、74HC08、74HC32、74HC86 进行Ver

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

3、HC00(A, B, Y);in put 3:0 A, B;output 3:0 Y; assign Y = (A&B);en dmodule/74HC00测试平台代码/ test_00.vtimescale 1n s/1 ns module test_OO;reg 3:0 a,b;wire 3:0 y;HC00 u(a, b, y);in itialbegina = 4b0000;b = 4b0001;#10 b = b1;/0010#10 b = b1;/0100#10 b = b1;/1000a = 4b1111;b = 4b0001;#10 b = b1;#10 b = b1;#10

4、b = b1;enden dmodule/74HC02代码-或非/ 74HC02.Vmodule HC02(A, B, Y);in put 3:0 A, B; output 3:0Y; assign Y = (A|B);en dmodule/74HC02测试平台代码/ test_02.vtimescale 1n s/1 nsmodule test_02;reg 3:0 a,b,c;wire 3:0 y;HC02 u(a, b, y);in itialbegina = 4b1111;c = 4b0001; b = c;c = c1;#10 b = c;c = c1;#10 b = c;c = c

5、1;#10 b = c;a = 4b0000;c = 4b0001; b = c;c = c1;#10 b = c;c = c1;#10 b = c;c = c1;#10 b = c;enden dmodule/74HC04代码-非/ 74HC04.Vmodule HC04(A, Y);in put3:0 A;output 3:0Y;assig nY = A;en dmodule/74HC04测试平台代码/ test_04.vtimescale 1n s/1 nsmodule test_04;reg 3:0 a;wire 3:0 y;HC04 u (a, y);in itialbegina =

6、 4b0001;#10 a = a1;#10 a = a1;#10 a = a1;enden dmodule/74HC08代码-与/ 74HC08.Vmodule HC08(A, B, Y);input 3:0 A, B;output 3:0Y;assig nY = A&B;en dmodule/74HC08测试平台代码/ test_08.vtimescale 1n s/1 nsmodule test_08;reg 3:0 a,b;wire 3:0 y;HCOO u(a, b, y);in itialbegina = 4bOOOO;b = 4bOOO1;#10 b = b1;#10 b = b

7、1;#10 b = b1;a = 4b1111;b = 4b0001;#10 b = b1;#10 b = b1;#10 b = b1;enden dmodule/74HC32代码-或/74HC32.Vmodule HC32(A, B, Y);in put3:0 A, B;output 3:0Y;assig nY = A|B;en dmodule/74HC32测试平台代码/ test_32.vtimescale 1n s/1 nsmodule test_32;reg 3:0 a,b,c;wire 3:0 y;HC02 u(a, b, y);in itialbegina = 4b1111;c =

8、 4b0001; b =c;c = c1;#10 b =c;c =c1;#10 b =c;c =c1;#10 b =c;a = 4b0000;c = 4b0001;b = c;c = c1;#10 b =c;c =c1;#10 b =c;c =c1;#10 b =c;enden dmodule/74HC86代码-异或module HC86(A, B, Y);input 3:0 A, B;output 3:0Y; assig nY = AAB;en dmodule/74HC86测试平台代码/ test_86.vtimescale 1n s/1 nsmodule test_86;reg 3:0 a

9、, b;wire 3:0 y;HC86 u (a, b, y);in itialbegina = 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;enden dmodule2、第一次仿真结果(任选一个门,.请注明,插入截图,下同)。(将波形窗口背景 设为白色,调整窗口至合适大小,使波形能完整显示,对窗口 截图。后面实验中的仿真 使用相同方法处理)u 0 u u uQ 3 $ s s:Jr-L- 11JO1 Q Q- o3、综合

10、结果(截图)。(将相关囱口调至合适大小,使 RTL图能完整显示,对囱口 截图,后面实验中的综合使用相同方法处理)g H最A3:04、第二次仿真结果(综合后) 多少?(截图)。回答输出信号是否有延迟,延迟时间约为冋同同问眈MRIr-.lnns-1111111110001D00Q11L55tlStlStl3ca:Lili 3G1;: QIC-JoiecOooi0:l::G:o)c|Lio;ho ii111JJrJ1rJ厂ICODns输出信号有延迟,延迟时间约为 0.3 ns5、第三次仿真结果(布局布线后)(截图)。回答输出信号是否有延迟,延迟时间29约为多少?分析是否有出现竞争冒险。输出信号有延迟

11、,延迟时间约为3n s,没有出现竞争冒险。2、组合逻辑电路一、实验目的1、了解基于Verilog的组合逻辑电路的设计及其验证。2、熟悉利用EDA工具进行设计及仿真的流程。3、 学习针对实际组合逻辑电路芯片74HC148、74HC138、74HC153、74HC85、 74HC283、74HC4511 进行 VerilogHDL 设计的方法。、实验环境Libero仿真软件。三、实验内容1、掌握Libero软件的使用方法。2、进行针对74系列基本组合逻辑电路的设计,并完成相应的仿真实验。3、参考教材中相应章节的设计代码、 测试平台代码(可自行编程),完成74HC148、 74HC138、74HC1

12、53、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 (任 选一个)的综合结果,以及相应的仿真结果。四、实验结果和数据处理

13、1、所有模块及测试平台代码清单/74HC148 代码/ 74HC148.Vmodule HC148(EI, I n. Out, EO, GS);in putEI;in put7:0l n;output 2:OOut;output EO, GS;reg 2:OOut;reg EO, GS;in terger I;always (EI or In)if(EI)beginOut = 3b111; EO = 1; GS = 1;endelseif( In = 8b11111111 )beginOut = 3b111; EO = 0; GS = 1;endelsebeginfor(I = 0;I 8;

14、I = I + 1)beginif( I n I)beginOut = I; EO = 1; GS = 0;endendenden dmodule/74HC148测试平台代码/ test_148.vtimescale 1n s/1 nsmodule test_148;reg ei;reg 7:0turn;wire 7:0in = turn;wire 2:0out;wire eo,gs;HC148 u(ei, in, out, eo, gs);in itialbeginei = 1;turn = 8b1;repeat(8)#10 turn = turn 1;ei = 0;turn = 8b1;r

15、epeat(8)#10 turn = turn 1;enden dmodule/74HC138 代码/ 74HC138.Vmodule decoder3_8_1(Data ln,En able,Eq);in put 2:0 Data In;in put En able;output 7:0 Eq;reg 7:0 Eq;wire2:0 Data In;in teger I;always (Data In or En able)beginif(En able)Eq=0;elsefor(I=0;I=7;I=I+1)if(DataI n=I)EqI=1;elseEqI=0;enden dmodule/

16、74HC138测试平台代码/ test_138.vtimescale 1n s/1 nsmodule test_138;wire 2:0 out;reg 7:0 in;reg 2:0 ei;HC138 u(out, in, ei);task circle;beginin = 0;repeat(8)#10 in = in + 1;enden dtaskin itialbeginei = 1;circle();ei = 0;circle();ei = 2;repeat(6)begincircle(); #10 ei = ei + 1;endenden dmodule/74HC153 代码/ 74H

17、C153.Vmodule HC153(DateOut, DateIn, Sel, Enable);in put3:0Date In;in put1:0Sel;in putEn able;output regDateOut;always (E nable or Sel or Date In)if(E nable)DateOut = 0;elseDateOut = DateI nSel;en dmodule/74HC153测试平台代码/ test_153.vtimescale 1n s/1 nsmodule test_153();wire out;reg 3:0i n;reg 1:0sel;reg

18、 ei;HC153 u(out, i n, sel, ei);in itialbeginei = 0; sel = 0; in = 4b1010;repeat(4)#10 sel = sel +1;ei = 1; sel = 0; in = 4b1010;repeat(4)#10 sel = sel +1;enden dmodule/74HC85 代码/ 74HC85.Vmodule HC85(DateA, DateB, Cas, Q); input3:0 DateA, DateB;input2:0Cas;output reg 2:0Q;in terger I;always (DateA or

19、 DateB or Cas) beginif(DateA=DateB)beginQ = 3b010;Q = 3b101;Q = 3b000;Q = Cas;if(Cas1)else if(Cas=3b000)else if(Cas=3b101)elseendelsebeginfor(l=0;lDateBl) Q = 3b100; else if(DateAIDateBI) Q = 3b001;endenden dmodule/74HC85测试平台代码/ test_85.vtimescale 1n s/1 nsmodule test_85;reg 3:0 a,b;reg 2:0 cas;wire

20、 2:0 res;HC85 u(a, b, cas, res);task cascade_ in put;begin#0 cas = 0;#10 cas = 1;#10 cas = 3b100; #10 cas = 3b101;#10;#10 cas = 3b010;蹲10 cas = 3b011; #10 cas = 3b110; #10 cas = 3b111; enden dtaskin itialbegina = 4d9;b = a;cascade_i nput();b = 4d7;cascade_i nput();enden dmodule/74HC283 代码/ 74HC283.V

21、module HC283(DateA, DateB, Cin, Sum, Cout); input3:0 DateA, DateB;in putCi n;output3:0 Sum;outputCout;reg4:0Buf;assig n Cout,Sum = Buf;always (DateA or DateB or Cin)Buf = DateA + DateB + Cin + 5d0;en dmodule/74HC283测试平台代码/ test_283.vtimescale 1n s/1 nsmodule test_283;reg 3:0 a, b;reg in;wire 3:0sum;

22、wire out;in terger I;HC283 u(a, b, in, sum, out);task accumulate;begina = 4b0100;for(l=0;l ! ! B -I!叭 I M IH l tftDni?tt/TJert IKB/OE 烈1一105I输出信号有延迟,延迟时间约为 5.2 ns,出现了竞争冒险。3、时序逻辑电路一、实验目的1、了解基于Verilog的时序逻辑电路的设计及其验证。2、熟悉利用EDA工具进行设计及仿真的流程。3、 学习针对实际时序逻辑电路芯片 74HC74、74HC112、74HC194、74HC161进行 VerilogHDL设计的方

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

24、;in putSet_N, Rst_N, Clk, D;outputQ, Qn;reg1:0 Buf;assig nQ, Qn = Buf;always (n egedge Set_N or n egedge Rst_N or posedge Clk) case(Rst_N,Set_N)0: Buf = 2b11;1: Buf = 2b10;2: Buf = 2b01;default:Buf = D,D;endcaseen dmodule/74HC74测试平台代码/ test_74.vtimescale 1n s/1 nsmodule test_74;reg s, r, elk, d;wire

25、 q, qn;HC74 u(s, r, elk, d, q, qn);task clock;repeat(IO)begind = 0;#3; d = 1;#3;enden dtaskalwaysbeginelk = 0;#2; elk = 1;#2;endin itialbegins = 0;r = 1;clock;#5s =:l;r =0;clock;#5s =0;r =0;clock;#5s =:l;r =1;clock;enden dmodule/74HC112 代码/ 74HC112.Vmodule HC112(Set_N, Rst_N, Clk_N, J, K, Q, Qn);in

26、putSet_N, Rst_N, Clk_N, J, K;outputQ, Qn;regQ;assig n Qn = Q;always (n egedge Set_N or n egedge Rst_N or n egedge Clk_N) case(Set_N,Rst_N)0: Q = 1;1: Q = 1;2: Q = 0;default:case(J,K)0:Q = Q;1:Q = 0;2:Q = 1;default: Q = Q;endcaseendcaseen dmodule/74HC112测试平台代码/ test_112.vtimescale 1n s/1 nsmodule tes

27、t_112;reg set, res, elk, j, k;wire q, qn;HC112 u(set, res, elk, j, k, q, qn);always#5 elk = clk;task clock;repeat(3)beginj = 0;k = 1;#20; j = 1;k = 0;#20; j = 0;k = 0;#20; j = 1;k = 1;#20;enden dtaskin itialbeginclk = 0;set =0;res =0;clock;set =0;res =1;clock;set =1;res =0;clock;set =1;res =1;clock;

28、enden dmodule/74HC161 代码/ 74HC161.Vmodule HC161(CP,CEP,CET,MRN,PEN,D n,Qn ,TC); in put CP;input CEP,CET;output 3:0Q n;in put MRN,PEN;in put 3:0D n;output TC;reg 3:0qaux;always(posedge CP, negedge MRN) beginif(!MRN) qaux=4b0000;else if(!PEN) qaux=D n;else if(CEP & CET)qaux=qaux+1;elseqaux=qaux;endass

29、ig n TC=(&qaux)&CET;assig n Qn=qaux;en dmodule/74HC161测试平台代码/ 161testbe nch.vtimescale 1n s/1 nsmodule fre_testbe nch;reg CP,CEP,CET,MRN;reg LT_N,BI_ N, LE;reg 3:0D n;wire TC;wire 3:0Q n;wire 7:0Seg;in itialbeginCP=0;CEP=1; CET=1; MRN=0;LT_N=1; BI_N=1; LE=0;#10 MRN=1;endparameter clock_period=20; al

30、ways #(clock_period/2) CP=CP;in itialbeginDn=4bOO1O;(posedge TC)D n=4bO1OO;(posedge TC)D n=4b1000;(posedge TC)D n=4b1010;(posedge TC)D n=4b1110; endfreque ncy fre_test(CP,CEP,CET,MRN,D n,Seg, LT_N,BI_N,LE,Q n,TC); en dmodule/74HC194 代码/ 74HC194.Vmodule HC194(DataOut, ParIn, SerIn, Sel, Clk, MR_N); o

31、utput reg 3:0 DataOut;input3:0 ParI n;input1:0 SerI n, Sel;in putClk, MR_N;always (n egedge MR_N or posedge Clk) if(MR_N) DataOut = 0;elsecase(Sel)2b00: DataOut = DataOut;2b01:If(SerI n1) else2b10:if(SerI n0) elseDataOut = 1b1,DataOut3:1;DataOut 1;DataOut = DataOut2:0,1b1;DataOut = DataOut1;default:

32、 DataOut = ParI n; endcaseen dmodule/74HC194测试平台代码 / test_194.vtimescale 1ns/1ns module test_194;wire 3:0 out;reg 3:0 p ,t0:3;reg 1:0 s, sel;reg mr,clk;HC194 u(out, p, s, sel, clk, mr);always #2clk = clk;task s_clock;begins = 0;repeat(4)#10 s = s+1;enden dtask task clock;beginsel = 2b11;sel = 2b00;s

33、el = 2b01;sel = 2b10;s_clock;s_clock;s_clock;s_clock;enden dtaskin itialbeginp = 4b0110; clock;clk = 1;endin itialbeginmr = 1;#5 mr = 0;#10 mr = 1;enden dmodule2、第一次仿真结果(任选一个模块,请注明)74HC74inmmnnwiuumiuinnwmwjinmiowumwmnnnrjiniuuirjuii1JL 5血nsTTL-U JTTJnMessages011q /test.碑1Sil* /tec t_74/FS101G00 叩juuuinnminrn njinnuimruuinniunjuiruinniuuimurI3、综合结果uni Dunl Rst n理9:_门二=-un1 Rst n 1RuBDG| arc I4、第二次仿真结果(综合后)/tsst 7XoXoB羽斤DoXXX4-2 74HC02 圧兌訝XXooAXoXoBp胃斤DoooX4,3 74HC04 圧兌訝XoA斤D圧YoX4,4 74HC08 圧兌訝ABLED逻辑状态00灭001亮110亮111灭0表4-774LS148输入输出状态控制十进制数字信号输入二进制数码输岀状态输岀百I0I1I2I 3I4I5|6|7A2A1

温馨提示

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

评论

0/150

提交评论