第一范文网 - 专业文章范例文档资料分享平台

基于Libero的数字逻辑设计仿真及验证实验实验报告-eda

来源:用户分享 时间:2025/5/15 13:58:50 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

有延迟,延迟时间约为4000ps。有竞争冒险。

16

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、所有模块及测试平台代码清单

//74HC74代码

module HC74(SDN,RDN,Clk,D,Q,QN); input SDN,RDN,Clk,D; output Q,QN; reg Q;

assign QN=~Q;

always @(posedge Clk or negedge SDN or negedge RDN) begin

if((!SDN)&&RDN) Q<=1; else if(SDN&&(!RDN)) Q<=0; else if(SDN&&RDN) Q<=D; end

endmodule

//74HC74测试平台代码 `timescale 1ns/1ns

17

module testbench; reg SDN,RDN,Clk,D; wire Q,QN;

HC74 testbench1(SDN,RDN,Clk,D,Q,QN);

parameter clock_period=20;

always #(clock_period/2) Clk=~Clk; initial begin

D=0;Clk=0; repeat(20)

#20 D=$random; end initial begin SDN=0; repeat(20)

#20 SDN=$random; end initial begin RDN=0; repeat(20)

#20 RDN=$random; end initial

#300 $finish; endmodule

//74HC112代码

module HC112(J,K,Clk,SDN,RDN,Q,Qn); input J,K,Clk,SDN,RDN; output Q,Qn; reg Q;

assign Qn=~Q;

always @(negedge Clk or negedge SDN or negedge RDN) begin

if((!SDN)&&RDN) Q<=1`b1; else if(SDN&&!RDN)) Q<=1`b0; else if(SDN&&RDN)) case({J,K}) 2`b00:Q<=Q;

18

2`b01:Q<=1`b0; 2`b10:Q<=1`b1; 2`b11:Q<=~Q; default: Q<=1`bx; endcase end

endmodule

//74HC112测试平台代码 `timescale 1ns/1ns module testbench;

reg J,K,Clk,SDN,RDN; wire Q,Qn;

HC112 testbench112(J,K,Clk,SDN,RDN,Q,Qn); parameter clock_period=20;

always #(clock_period/2) Clk=~Clk; initial begin

J=0;K=0;Clk=1; #10 J=1; #10 K=1; #10 J=0;#10; end initial begin

SDN=0;RDN=1; #10 RDN=0; #10 SDN=1; #10 RDN=1;#10; end

endmodule

//74HC161代码

module HC161(CP,CEP,CET,MRN,PEN,Dn,Qn,TC); input CP,CEP,CET,MRN,PEN; input [3:0]Dn; output [3:0]Qn; output TC; reg [3:0]Qn; reg TC;

always @(posedge CP) begin

if(!MRN) Qn<=4`b0000;

19

基于Libero的数字逻辑设计仿真及验证实验实验报告-eda.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6d48b6ie308iiwm479c3_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top