当前位置: 首页> 财经> 金融 > 石家庄住房和城乡建设局官网_微网站运营_百度seo是什么意思_免费的h5制作网站模板

石家庄住房和城乡建设局官网_微网站运营_百度seo是什么意思_免费的h5制作网站模板

时间:2025/7/11 7:34:31来源:https://blog.csdn.net/weixin_45137708/article/details/144118554 浏览次数:1次
石家庄住房和城乡建设局官网_微网站运营_百度seo是什么意思_免费的h5制作网站模板

验证从Simulink模型生成的HDL代码

  • 一、什么是HDL Test Bench(测试台)
  • 二、简单的计数器模型
  • 三、验证方法
  • 四、生成HDL Test Bench
    • 生成VHDL Test Bench
    • 生成Verilog Test Bench代码
  • 五、查看HDL Test Bench文件
  • 六、运行仿真和验证生成的HDL代码
  • 七、在目标设备上部署生成的HDL代码

这个例子展示了如何生成一个HDL Testbench,并验证一个简单计数器模型生成的代码。要为该模型生成HDL代码,请参考本系列上一篇文章:Matlab Simulink HDL Coder开发流程(二)—从Simulink模型生成HDL代码”。

如果您没有为这个模型生成HDL代码,那么HDL Coder将在生成Testbench之前运行代码生成。

一、什么是HDL Test Bench(测试台)

为了验证DUT的HDL代码的功能,生成一个HDL测试台(测试台)。测试台包括:

  • 由连接到被测实体的信号源产生的激励数据。
  • 被测实体生成的输出数据。在测试台运行期间,将此数据与VHDL模型的输出进行比较以进行验证。
  • 时钟、复位和时钟使能输入能够驱动被测实体。
  • 被测实体的组件实例化。
  • 驱动被测实体的代码,并将其输出与预期数据进行比较。

您可以使用ModelSim模拟器模拟生成的测试台架和脚本文件。

二、简单的计数器模型

打开这个模型可以看到一个简单的计数器。该模型从零开始计数到一个阈值,然后返回到零。阈值设置为15。要更改阈值,请更改count_threshold端口的输入值。Enable信号指定计数器是向上计数还是保持先前的值。值为1表示计数器持续向上计数。
在这里插入图片描述

三、验证方法

如果安装了HDL验证程序,也可以使用这些方法验证生成的HDL代码。
在这里插入图片描述

四、生成HDL Test Bench

生成VHDL Test Bench

生成VHDL、Verilog或SystemVerilog测试台架代码。默认情况下,相对于当前文件夹,HDL代码和测试台代码被写入相同的目标文件夹hdlsrc。

对于计数器模型,HDL_DUT子系统就是DUT。要生成测试台架,请选择此子系统。
1、在Apps选项卡中,选择HDL Coder。
2、选择DUT子系统HDL_DUT,并确保此名称出现在HDL Code选项卡上的Code for选项中。要记住选择,请固定此选项。单击Generate T estbench。

生成Verilog Test Bench代码

要为计数器模型生成Verilog测试台架代码:
1、在“HDL Code”选项卡中,单击“设置”。
2、在“HDL Code Generation”区域框的“Language”中选择“Verilog”。
3、在“HDLCode Generation > Test Bench”窗格中,单击“Generate Test Bench”。
在这里插入图片描述
在这里插入图片描述
HDL Coder对模型进行编译并生成测试台架。
测试台架生成完成并显示此消息。生成的文件出现在hdlsrc文件夹中
在这里插入图片描述

五、查看HDL Test Bench文件

对于计数器模型,hdlsrc文件夹包含这些测试台架文件:

  • HDL_DUT_tb.vhd:VHDL测试台代码包含生成的测试和输出数据。如果您生成了Verilog或SystemVerilog测试台架代码,生成的文件是HDL_DUT_tb.v或HDL_DUT_tb.sv。
  • HDL_DUT_tb_pkg.vhd:包文件为VHDL测试台代码。如果生成SystemVerilog测试台架代码,生成的文件是HDL_DUT_tb_pkg.sv。如果指定Verilog作为目标语言,则不会生成此文件。
  • HDL_DUT_tb_compile.do:ModelSim编译脚本(vcom命令)。该脚本编译并加载要测试的实体(HDL_DUT_tb.vhd)和测试台架代码(HDL_DUT_tb.vhd)。
  • HDL_DUT_tb_sim.do:ModelSim脚本初始化模拟器,设置波窗口信号显示,并运行仿真。

要在MATLAB编辑器中查看生成的测试台架代码,在当前文件夹中双击HDL_DUT_tb.vhd或HDL_DUT_tb.v。

六、运行仿真和验证生成的HDL代码

为了验证仿真结果,您可以使用Siemens ModelSim模拟器。您必须已经安装了Siemens ModelSim。
直接打开ModelSim或者在Matlab中打开模拟器,使用vsim (HDL验证器)功能。这个命令显示了如何通过指定可执行文件的路径来打开模拟器,在Matlab命令窗口中执行:

vsim('vsimdir','vsim.exe可执行文件所在路径')

在这里插入图片描述
要编译和运行模拟生成的模型和测试台代码,请使用HDL Coder生成的脚本。对于计数器模型,运行这些命令来编译和模拟为HDL_DUT子系统生成的测试台。
1、打开ModelSim软件并导航到包含生成的代码文件和脚本的文件夹。
在这里插入图片描述
2、使用生成的编译脚本来编译和加载生成的模型和文本工作台代码。对于HDL_DUT子系统,运行此命令编译生成的代码。
在这里插入图片描述
3、使用生成的仿真脚本执行仿真。您可以忽略警告消息。对于HDL_DUT子系统,运行此命令模拟生成的代码。
在这里插入图片描述
模拟器优化您的设计并在波窗口中显示结果。如果没有看到模拟结果,请打开波窗口。仿真脚本显示模型中的输入和输出,包括波窗口中的时钟、复位和时钟使能信号。
在这里插入图片描述
现在可以查看信号并验证仿真结果是否与原始设计的功能相匹配。验证完成后,关闭Siemens ModelSim模拟器,然后关闭MATLAB Editor中打开的文件。

七、在目标设备上部署生成的HDL代码

要在目标FPGA设备上部署生成的代码,请使用Simulink HDL Workflow Advisor。
关于该章节详细内容在本系列第四篇文章进行详细说明:Matlab Simulink HDL Coder开发流程(四)— 基于Simulink模型的HDL代码生成和FPGA综合

参考文档:Matlab Simulink HDL Coder官方使用文档说明

关键字:石家庄住房和城乡建设局官网_微网站运营_百度seo是什么意思_免费的h5制作网站模板

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: