Modelsim软件初学(手动仿真与联合仿真)

tb文件全称是 testbench文件,是fpga的仿真验证文件,它是一种文件种类,并非文件格式!

编写 TESTBENCH 的目的是为了对使用硬件描述语言设计的电路进行仿真验证

.v就是Verilog语言编写的程序代码文件 在Quartus II中tb文件用Verilog语言描述,因此一般以.v作为后缀。(.vt文件是Quartus II自产生的仿真文件,和.v文件在功能上一致)

模块例化可以理解为是模块调用,对于一个FPGA工程,通常是由一个顶层模块与多个功能子模块组成,为了实现顶层模块与子模块的连接,需要进行模块间的例化(或说是调用)#有关例化的解释待更新

RTL仿真(RTL,Register Transfer Level,直译为寄存器传输级),顾名思义,也就是在这个级别下,要描述各级寄存器(时序逻辑中的寄存器),以及寄存器之间的信号的是如何转换的(时序逻辑中的组合逻辑)。

通俗来讲,RTL代码不是在“写代码”,是在画电路结构。RTL代码需要“画”出输入输出端口,各级寄存器,寄存器之间的组合逻辑和前三者之间的连接。对于组合逻辑,只需要软件级描述,将其功能包装在“黑匣子”中即可,无需考虑其门级结构

关于RTL级仿真和门级仿真的区别可以参考:仿真流程、rtl仿真与网表仿真_rtl网表和门级网表_Num One的博客-CSDN博客

手动仿真 要自己写tb文件)

        打开ModelSim软件第一步要先去[File]->[Change Directory],一般修改路径到sim文件夹,因为ModelSim是按照绝对路径工作的,如果不更改路径会出现问题,并且由于这一特性,ModelSim的工作不推荐跨电脑使用。

        创建新工程[Create Project],推荐工程名字和tb文件名一致。

        将编写好的tb.v仿真文件和.v源文件,可以直接在ModelSim中右击+[Edit]修改代码

        右击[Compile All]编译所有文件

        编译完成后进行启动仿真[Simulate]->[Start Simulation]->[Design]->[work]->[tb文件]->取消勾选优化[Enable optimization]->[OK]

        右击仿真的目标文件(不是tb文件,可能是u文件),选择添加波形[Add Wave]

联合仿真(将开发环境(Quartus II)和仿真工具关联到一起,tb文件可以由Quartus生成模板):

        1、首先建立开发环境和仿真环境的关联,[Tools]->[Options]->[EDA Tool Options]->将ModelSim的路径添加到[ModelSim]->[OK]

        [Assignments]->[Settings]->[EDA Tool Settings]->[Simulation]->选择语言格式Verilog HDL 和 Timescale 1ns

        [EDA Tool Settings]->选择仿真工具为ModelSim,语言为Verilog HDL->[Apply]+[OK]

        2、 在进行tb仿真文件地框架生成, [Processing]->[Start]->[Start Test Bench Template Writer]

        在par文件夹中的simulation文件夹找到tb(.vt)文件,改写框架并写好激励(波形)

        [Assignments]->[Settings]->[EDA Tool Settings]->Simulation->[Test Benches]添加tb文件,名字使用module 的名字而不是文件名

         3、运行仿真,[Tools]->[Run Simulation Tool]

(总结:ModelSim软件是一款强有力的仿真软件。主要是通过添加激励到测试模块中,解析tb文件,得到输出波形,观察是否与期望波形一致)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值