基于Libero的数字逻辑设计仿真及验证实验报告 联系客服

发布时间 : 星期三 文章基于Libero的数字逻辑设计仿真及验证实验报告更新完毕开始阅读cfbc0e715901020207409cd7

4、第二次仿真结果(综合后)。回答输出信号是否有延迟,延迟时间约为多少?

输出信号有延迟,延迟时间约为0.5ns 5、第三次仿真结果(布局布线后)。回答输出信号是否有延迟,延迟时间约为多少?分析是否有出现竞争冒险。

16

输出信号有延迟,延迟时间约为5.2ns,出现了竞争冒险。

17

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代码 // 74HC74.v

module HC74(Set_ N, Rst_N, Clk, D, Q, Qn); input Set_N, Rst_N, Clk, D; output Q, Qn; reg [1:0] Buf;

assign {Q, Qn} = Buf;

always @(negedge Set_N or negedge Rst_N or posedge Clk) case({Rst_N,Set_N}) 0: Buf <= 2'b11; 1: Buf <= 2'b10; 2: Buf <= 2'b01; default:Buf <= {D,~D}; endcase endmodule

18

//74HC74测试平台代码 // test_74.v

`timescale 1ns/1ns module test_74; reg s, r, clk, d; wire q, qn;

HC74 u(s, r, clk, d, q, qn);

task clock; repeat(10) begin

d = 0; #3; d = 1; #3; end endtask

always begin

clk = 0;#2; clk = 1;#2; end

initial begin

s = 0;r = 1;clock; #5 s = 1;r = 0;clock; #5 s = 0;r = 0;clock; #5 s = 1;r = 1;clock; end

endmodule

//74HC112代码 // 74HC112.v

module HC112(Set_N, Rst_N, Clk_N, J, K, Q, Qn); input Set_N, Rst_N, Clk_N, J, K; output Q, Qn; reg Q;

assign Qn = ~Q;

always @(negedge Set_N or negedge Rst_N or negedge Clk_N) case({Set_N,Rst_N}) 0: Q <= 1;

19