SystemVerilog(四):EDA工具modelsim

EDA比较:Modelsim vs VCS 参考链接:https://www.zhihu.com/question/270518986

一、FPGA设计验证包括功能仿真、时序仿真和电路仿真。

功能仿真指仅对逻辑功能进行模拟测试,以了解其实现的功能是否满足原设计的要求。 仿真过程没有加入时序信息, 不涉及具体器件的硬件特性,如延时特性等。

时序仿真是在HDL满足功能要求的基础上,在布局布线后,提取有关的器件延迟、连线延时等时序参数信息,并在此基础上进行仿真,是接近于器件真实运行状态的一种仿真。

以上两种仿真,modelsim都可以完成。

仿真流程:创建工程、编写源代码、编译、启动仿真器、运行仿真。

二、Test Bench 测试平台/测试仿真文件

1、设计实例化被测元件DUT,了解测试计划和测试案例。

2、test bench:模拟实际环境的输入激励和输出效验的一种“虚拟平台”,在这个平台上可以对设计从软件层面上进行分析和效验。Test Bench负责向被测元器件的输入端口提供激励(时钟)、一些控制信号(复位和置位信号)或者一些数据(地址、数据),另外Test Bench还监测被测元器件的输出端口所输出的信号值是否和我们的设计预期相符,并把监测的情况显示给我们。

三、modelsim使用

1、wave添加出错 :# (vish-4014) No objects found matching

参考文献:https://blog.csdn.net/li_qcxy/article/details/8510949

2、sim窗口:显示层次化测试平台。顶层tb,到dut,到具体底层设计。每个层次显示包含的硬件模块、任务、过程块。

3、object窗口:在sim窗口中选中层次,object窗口显示输入输出、内部信号。

4、wave窗口:除了放大镜缩放窗口,按F自动缩放信号,按住滚轮拖动缩放信号片段。

四、demo:全加器仿真与测试

1、全加器属组合逻辑电路(不含存储单元,输出仅与该时刻输入有关,与电路原来的状态无关 ),逻辑功能描述方式:逻辑图,逻辑函数,真值表。电路本身可以用框图表示。

2、逻辑抽象:分析因果关系、 二值逻辑状态01含义选定、列出真值表。

8-3编码器 选定高电平为有效输入信号。8-3优先编码器 选定低电平为有效输入信号。

2、代码

DUT 待测设计

module adder1(a,b,ci,so,co );

// Portdeclarations
input a,b,ci;
output so,co;

//InternalVariables
wire a,b,ci;

//CodeStarts Here
assign {co, so} = a + b + ci;

endmodule

Testbench 测试平台

`timescale 1ns/1ns //时间尺度指令,仿真时间单位/时间精度

module test_adder1;

wire so;
wire co;
reg a;
reg b;
reg ci;

adder1 U(.a(a),.b(b),.ci(ci),.so(so),.co(co)); //元件例化语句,嵌入全加器程序

initial begin
          #20 a = 0; b = 0; ci = 0;
          #20 a = 0; b = 0; ci = 1;
          #20 a = 0; b = 1; ci = 0;
          #20 a = 0; b = 1; ci = 1;
          #20 a = 1; b = 0; ci = 0;
          #20 a = 1; b = 0; ci = 1;
          #20 a = 1; b = 1; ci = 0;
          #20 a = 1; b = 1; ci = 1;
          #200 $stop; //暂停仿真过程
end

endmodule

                                        

断点调试方法:sim中,设置断点。然后restart,sim。

 

                                                     

                                                    

通过display显示变量的值:

https://blog.csdn.net/qq_40793742/article/details/82830591  Modelsim中通过$display显示变量的值

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值