ImageVerifierCode 换一换
格式:DOC , 页数:41 ,大小:1.23MB ,
资源ID:4754098      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4754098.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(EDA实验报告.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

EDA实验报告.doc

1、 计算机 学院 计算机科学与技术 专业 1班____组、学号 姓名协作者______________ 教师评定_________________ 实验题目_________基于Libero的数字逻辑设计仿真及验证实验_________ 1、 熟悉EDA工具的使用;仿真基本门电路。 2、 仿真组合逻辑电路。 3、 仿真时序逻辑电路。 4、 基本门电路、组合电路和时序电路的程序烧录及验证。 5、 数字逻辑综合设计仿真及验证。 实验报告 1、基本门电路 一、实验目的 1、了解基

2、于Verilog的基本门电路的设计及其验证。 2、熟悉利用EDA工具进行设计及仿真的流程。 3、学习针对实际门电路芯片74HC00、74HC02、74HC04、74HC08、74HC32、74HC86进行VerilogHDL设计的方法。 二、实验环境 Libero仿真软件。 三、实验内容 1、掌握Libero软件的使用方法。 2、进行针对74系列基本门电路的设计,并完成相应的仿真实验。 3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC00、74HC02、74HC04、74HC08、74HC32、74HC86相应的设计、综合及仿真。 4、提交针

3、对74HC00、74HC02、74HC04、74HC08、74HC32、74HC86(任选一个)的综合结果,以及相应的仿真结果。 四、实验结果和数据处理 1、所有模块及测试平台代码清单 //74HC00代码-与非 module HC00(A,B,Y); input [4:1]A,B; output [4:1]Y; assign Y=~(A&B);//与非 endmodule //74HC00测试平台代码 `timescale 1ns/1ns module testbench(); reg [4:1] a,b; wire [4:1]

4、y; HC00 u1(a,b,y); initial begin a=4'b0000;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; a=4'b1111;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; end endmodule //74HC02代码-或非 module HC02(A,B,Y); input [4:1]A,B;

5、 output [4:1]Y; assign Y=~(A|B);//或非 endmodule //74HC02测试平台代码 `timescale 1ns/1ns module testbench(); reg [4:1] a,b; wire [4:1] y; HC00 u1(a,b,y); initial begin a=4'b0000;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; a=4'b1111;b=

6、4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; end endmodule //74HC04代码-非 module HC04(A,Y); input [4:1]A; output [4:1]Y; assign Y=~A; endmodule //74HC04测试平台代码 `timescale 1ns/1ns module testbench(); reg [4:1] a,b; wire [4:1] y; HC00 u1(

7、a,b,y); initial begin a=4'b0000;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; a=4'b1111;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; end endmodule //74HC08代码-与 module HC08(A,B,Y); input [4:1]A,B; output [4:

8、1]Y; assign Y=A&B; endmodule //74HC08测试平台代码`timescale 1ns/1ns module testbench(); reg [4:1] a,b; wire [4:1] y; HC00 u1(a,b,y); initial begin a=4'b0000;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; a=4'b1111;b=4'b0001; #10

9、b=b<<1; #10 b=b<<1; #10 b=b<<1; end endmodule //74HC32代码-或 module HC32(A,B,Y); input [4:1]A,B; output [4:1]Y; assign Y=A|B; endmodule //74HC32测试平台代码 `timescale 1ns/1ns module testbench(); reg [4:1] a,b; wire [4:1] y; HC00 u1(a,b,y); initia

10、l begin a=4'b0000;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; a=4'b1111;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; end endmodule //74HC86代码-异或 module HC86(A,B,Y); input [4:1]A,B; output [4:1]Y; assign

11、 Y=A^B; endmodule //74HC86测试平台代码 `timescale 1ns/1ns module testbench(); reg [4:1] a,b; wire [4:1] y; HC00 u1(a,b,y); initial begin a=4'b0000;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; a=4'b1111;b=4'b0001; #10 b=b<<1;

12、 #10 b=b<<1; #10 b=b<<1; end endmodule 2、第一次仿真结果(任选一个门,请注明,插入截图,下同)。(将波形窗口背景设为白色,调整窗口至合适大小,使波形能完整显示,对窗口截图。后面实验中的仿真使用相同方法处理) 选用门电路为:与非门。 3、综合结果(截图)。(将相关窗口调至合适大小,使RTL图能完整显示,对窗口截图,后面实验中的综合使用相同方法处理) 4、第二次仿真结果(综合后)(截图)。回答输出信号是否有延迟,延迟时间约为多少? 输出信号有延迟,延迟时间约为0.7ns 5、第三

13、次仿真结果(布局布线后)(截图)。回答输出信号是否有延迟,延迟时间约为多少?分析是否有出现竞争冒险。 延迟时间约为38ns,由于信号输出经过或门与非门后产生了输出延迟,出现了竞争冒险。 2、组合逻辑电路 一、实验目的 1、了解基于Verilog的组合逻辑电路的设计及其验证。 2、熟悉利用EDA工具进行设计及仿真的流程。 3、学习针对实际组合逻辑电路芯片74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511进行VerilogHDL设计的方法。 二、实验环境 Libero仿真软件。 三、实验内容 1、掌握Libero软

14、件的使用方法。 2、进行针对74系列基本组合逻辑电路的设计,并完成相应的仿真实验。 3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511相应的设计、综合及仿真。 4、74HC85测试平台的测试数据要求:进行比较的A、B两数,分别为本人学号的末两位,如“89”,则A数为“1000”,B数为“1001”。若两数相等,需考虑级联输入(级联输入的各种取值情况均需包括);若两数不等,则需增加一对取值情况,验证A、B相等时的比较结果。 5、74HC4511设计成扩展型的,即能显示数字0~9、

15、字母a~f。 6、提交针对74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511(任选一个)的综合结果,以及相应的仿真结果。 四、实验结果和数据处理 1、所有模块及测试平台代码清单 //74HC148代码 module HC148(DataIn, EO, Dataout); input[7:0] DataIn; output EO; output[2:0] Dataout; reg[2:0] Dataout; reg EO; integer I; always @(DataIn) begin Dataout = 0

16、 EO = 1; for (I = 0; I < 8; I = I + 1) begin if (DataIn[I]) begin Dataout = I; EO = 0; end end end endmodule //74HC148测试平台代码 `timescale 1ns / 1ns module test148; reg[7:0] in; wire[2:0] out; wire EO; initial begin in = 00000001; repeat(9) #20 in = in << 1; end HC148

17、 u148(in, EO, out); endmodule //74HC138代码 module decoder138(Din, Enable, Eq); input[2:0] Din; input Enable; output[7:0] Eq; reg[7:0] Eq; wire[2:0]Din; integer I; always @ (Din or Enable) begin if (Enable) Eq = 0; else for (I = 0; I <= 7; I = I + 1) if (Din == I) Eq[I] = 1; el

18、se Eq[I] = 0; end endmodule //74HC138测试平台代码 `timescale 1ns / 1ns module testbench; reg[2:0]Din; reg enable; wire[7:0]dataout; initial #400 $finish; initial begin enable = 1; #40 enable = 0; end initial begin repeat(20) #20 dataIn = $random; end decoder138 test(Din,

19、enable, dataout); //74HC153代码 module mux4_1_a(D0, D1, D2, D3, Sel0, Sel1, Result); input D0, D1, D2, D3; input Sel0, Sel1; output Result; reg Result; always @(D0 or D1 or D2 or D3 or Sll or Sel0) begin case({ Sel1,Sel0 }) 0: Result = D0; 1 : Result = D1; 2 : Result = D2; 3 : Result

20、 D3; default: Result = 1`bx; endcase end endmodule //74HC153测试平台代码 `timescale 1ns / 1ps module testbench_4mux_1; reg D0, D1, D2, D3, Sel1, Sel0; wire Result; mux4_1_a DUT(D0, D1, D2, D3, Sel1, Sel0, Result); initial begin D0 = 0; D1 = 0; D2 = 0; D3 = 0; Sel1 = 0; Sel0

21、 = 0; #100 D0 = 1; D1 = 0; D2 = 0; D3 = 1; #100 Sel1 = 0; Sel0 = 1; #100 Sel1 = 1; Sel0 = 0; #100 Sel1 = 1; Sel0 = 1; #100; end endmodule //74HC85代码 module HC85(A3, A2, A1, A0, B3, B2, B1, B0, QAGB, QASB, QAEB, IAGB, IASB, IAEB); input A3, A2, A1, A0, B3, B2, B1, B0, IAGB,

22、 IASB, IAEB; output QAGB, QASB, QAEB; reg QAGB, QASB, QAEB; wire[3:0]DataA, DataB; assign DataA[0] = A0; assign DataA[1] = A1; assign DataA[2] = A2; assign DataA[3] = A3; assign DataB[0] = B0; assign DataB[1] = B1; assign DataB[2] = B2; assign DataB[3] = B3; always @(DataA or

23、 DataB) begin if (DataA > DataB) begin QAGB = 1; QASB = 0; QAEB = 0; end else if (DataA < DataB) begin QASB = 1; QAGB = 0; QAEB = 0; end else if (IAGB&!IASB&!IAEB) begin QAGB = 1; QASB = 0; QAEB = 0; end else if (!IAGB&IASB&!IAEB) begin QASB = 1; QAGB =

24、 0; QAEB = 0; end else if (IAEB) begin QAEB = 1; QASB = 0; QAGB = 0; end begin if (DataA == DataB) if (IAGB&IASB&!IAEB) begin QAGB = 0; QASB = 0; QAEB = 0; end if (!IAGB&!IASB&!IAEB) begin QAGB = 1; QASB = 1; QAEB = 0; end end end endmodule

25、 //74HC85测试平台代码 `timescale 1ns / 1ns module test85; reg A3, A2, A1, A0, B3, B2, B1, B0; reg IAGB, IASB, IAEB; wire QAGB, QASB, QAEB; initial begin A3 = 0; repeat(20) #20 A3 = $random; end initial begin A2 = 0; repeat(20) #20 A2 = $random; end initial

26、 begin A1 = 0; repeat(20) #20 A1 = $random; end initial begin A0 = 0; repeat(20) #20 A0 = $random; end initial begin B3 = 0; repeat(20) #20 B3 = $random; end initial begin B2 = 0; repeat(20) #20 B2 = $random; end initial begin B1 = 0

27、 repeat(20) #20 B1 = $random; end initial begin B0 = 0; repeat(20) #20 B0 = $random; end initial begin IAGB = 0; repeat(10) #40 IAGB = $random; end initial begin IASB = 0; repeat(10) #40 IASB = $random; end initial begin IAEB = 0; re

28、peat(10) #40 IAEB = $random; end HC85 u85 ( .A3(A3), .A2(A2), .A1(A1), .A0(A0), .B3(B3), .B2(B2), .B1(B1), .B0(B0), .IAGB(IAGB), .IASB(IASB), .IAEB(IAEB), .QAGB(QAGB), .QASB(QASB), .QAEB(QAEB) ); endmodule //74HC283代码

29、 module HC283(A, B, Cin, Sum, Cout); parameter N = 4; input[N - 1:0] A, B; input Cin; output[N - 1:0] Sum; reg[N - 1:0] Sum; output Cout; reg Cout; reg[N:0] q; always @ (A or B or Cin) begin:adder integer i; q[0] = Cin; for (i = 0; i <= N; i = i + 1) begin q[i + 1]

30、 (A[i] & B[i]) | (A[i] & q[i]) | (B[i] & q[i]); Sum[i] = A[i] ^ B[i] ^ q[i]; end Cout = q[N]; end endmodule //74HC283测试平台代码 `timescale 1ns / 10ps module testbench; reg[3:0] ina, inb; reg cin; wire[3:0] sum; wire cout; HC283 testbench283(ina, inb, cin, sum, cout);

31、 initial begin ina = 0; repeat(20) #20 ina = $random; end initial begin inb = 0; repeat(10) #40 inb = $random; end initial begin cin = 0; #200 cin = 1; end endmodule //74HC4511代码 module HC4511(A, Seg, LT_N, BI_N, LE); input LT_N, BI_N, L

32、E; input[3:0]A; output[7:0]Seg; reg[7:0]SM_8S; assign Seg = SM_8S; always @ (A or LT_N or BI_N or LE) begin if (!LT_N) SM_8S = 8'b11111111; else if (!BI_N) SM_8S = 8'b00000000; else if (LE) SM_8S = SM_8S; else case(A) 4'd0:SM_8S=8'b00111111; 4'd1:SM_8S=8'b0000011

33、0; 4'd2:SM_8S=8'b01011011; 4'd3:SM_8S=8'b01001111; 4'd4:SM_8S=8'b01100110; 4'd5:SM_8S=8'b01101101; 4'd6:SM_8S=8'b01111101; 4'd7:SM_8S=8'b00000111; 4'd8:SM_8S=8'b01111111; 4'd9:SM_8S=8'b01101111; 4'd10:SM_8S=8'b01110111; 4'd11:SM_8S=8'b01111100; 4'd12:SM_8S=8'b00111001; 4'd13:

34、SM_8S=8'b01011110; 4'd14:SM_8S=8'b01111001; 4'd15:SM_8S=8'b01110001; default:; endcase end endmodule //74HC4511测试平台代码 `timescale 1ns / 10ps module testbench; reg[3:0] a; reg lt_n, bi_n, le; wire[7:0] se

35、g; HC4511 hc4511(a, seg, lt_n, bi_n, le); initial begin a = 0; lt_n = 1; bi_n = 1; le = 0; #30 a = 4'b0001; #30 a = 4'b1000; #30 a = 4'b0111; #30 a = 4'b1010; #30 a = 4'b0101; #30 le = 1; #30 bi_n = 0; #30 lt_n = 0; #20; end endmodule 2、第一次仿真结果(任选一个模块,请注

36、明) 所选择模块:74HC85 3、综合结果 4、第二次仿真结果(综合后)。回答输出信号是否有延迟,延迟时间约为多少? 6、 第三次仿真结果(布局布线后)。回答输出信号是否有延迟,延迟时间约为多少?分析是否有出现竞争冒险。 延迟4.7ns,出现竞争冒险 3、时序逻辑电路 一、实验目的 1、了解基于Verilog的时序逻辑电路的设计及其验证。 2、熟悉利用EDA工具进行设计及仿真的流程。 3、学习针对实际时序逻辑电路芯片74HC74、74HC112、74HC194、74HC161进行VerilogHDL设计的方法。 二、实验环境 Libero仿

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

38、eset,Clk,D; output Q; reg Q; always @(posedge Clk or negedge Reset or negedge Set) begin if(!Reset) begin if(!Set)Q<=D; else Q<=1; end else if(!Set) Q<=0; end endmodule //74HC74测试平台代码 `timescale 1ns/1ns module testbench; reg D,Reset,Set,Clk;

39、 wire Q; d_ff testbench_dff(D,Clk,Q,Set,Reset); initial begin Clk =0; #400 $finish; end parameter clock_period=20; always#(clock_period/2)Clk=~Clk; initial begin D=0; repeat(20) #20 D=$random; end initial begin Reset=0; repeat(20) #20 Re

40、set=$random; end initial begin Set=0; repeat(20) #20 Set=$random; end endmodule //74HC112代码 module jk_ff(J,K,Clk,Q,Qn); input J,K,Clk; output Q,Qn; reg Q; assign Qn=~Q; always @ (posedge Clk) case({J,K}) 2'b00:Q<=Q; 2'b01:

41、Q<=1'b0; 2'b10:Q<=1'b1; 2'b11:Q<=~Q; default:Q<=1'bx; endcase endmodule //74HC112测试平台代码 `timescale 1ns/1ns module testbench; reg j,k,Clk; wire Q,Qn; parameter clock_period=20; always #(clock_period/2) Clk=~Clk; initial begin

42、 j=0;Clk=0; repeat(20) #20 j=$random; end initial begin k=0; repeat(20) #20 k=$random; end initial #300 $finish; jk_ff testbench_jk(j,k,Clk,Q,Qn); endmodule //74HC161代码 module HC161(CP,CEP,CE

43、T,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<=4'b0000; else if(!PEN) qaux<=Dn;

44、 else if(CEP&CET) qaux<=qaux+1; else qaux<=qaux; end always @ (posedge CP) begin if(qaux==4'b1111 && CET==1) TC=1'b1; else TC=1'b0; end assign Qn=qaux; endmodule //74HC161测试平台代码 `timescale 1ns/1ns module test

45、bench; reg cp,cep,cet,mrn,pen; reg[3:0] dn; wire tc; wire[3:0] qn; parameter DELY=20; always #(DELY/2) cp=~cp; initial begin cep=1; repeat(15) #DELY cet=$random; end initial begin pen=1; #DELY pen=0; #60 pen=1;

46、 end initial begin mrn=1; repeat(20) #15 mrn=$random; end initial #300 $finish; HC161 test(cp,cep,cet,mrn,pen,dn,qn,tc); endmodule //74HC194代码 module HC194(Data,Enable,Shiften,Shiftin,Aclr,Clock,Shiftout); input[3:0] Data; input Aclr;

47、 input Enable; input Shiften; input Shiftin; input Clock; output Shiftout; reg[3:0] Qaux; always @ (posedge Aclr or posedge Clock) begin if(Aclr) Qaux=0; else if(Enable) Qaux=Data; else if(Shiften)

48、 Qaux={Qaux[2:0],Shiftin}; end assign Shiftout=Qaux[3]; endmodule //74HC194测试平台代码 `timescale 1ns/1ns module testbench; reg[3:0] Data; reg Aclr,Enable,Shiften,Shiftin,Clock; wire Shiftout; parameter clock_period=20; always #(clock_period/2) Clock=~Clock;

49、 initial #400 $finish; initial begin Data=0; repeat(20) #20 Data=$random; end initial begin Clock=0; Aclr=0; #40 Aclr=1; #100 Aclr=0; end initial b

50、egin Enable=0; #100 Enable=1; #100 Enable=0; end initial begin Shiften=0; repeat(20) #20 Shiften=$random; end initial begin Shiftin=0; repeat(10) #40 S

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服