主要内容

高密度脂蛋白Cosimulation

高密度脂蛋白Cosimulation与MATLAB动态仿真模块

HDL Verifier™软件由MATLAB组成®函数,一个MATLAB系统对象™和一个Simulink库®,所有这些都建立了HDL模拟器和MATLAB或Simulink之间的通信链接。

HDL Verifier软件通过集成可用于以下过程的工具简化了FPGA和ASIC开发:

  1. 为硬件设计参考模型开发规范

  2. 基于参考模型在HDL中实现硬件设计

  3. 对照参考设计验证设计

下图展示了HDL模拟器和MathWorks®2022世界杯八强谁会赢?产品适合这个硬件设计场景。

如图所示,HDL Verifier软件连接了传统上被单独使用的工具,以执行设计过程中的特定步骤。通过连接这些工具,该链接允许您直接共同模拟实现和原始规范,从而简化了验证。这种协同模拟可以节省大量的时间,并消除手工比较和检查所固有的错误。

除了前面的设计场景,HDL Verifier软件还可以使您以以下方式与工具一起工作:

  • 使用MATLAB或Simulink为HDL代码创建测试信号和软件测试台架

  • 使用MATLAB或Simulink为HDL仿真提供行为模型

  • 使用MATLAB分析和可视化功能实时洞察HDL实现

  • 使用Simulink将遗留的HDL描述转换为系统级视图

请注意

您可以使用SystemVerilog、SystemC或两者都使用MATLAB或使用HDL Verifier软件的Simulink共同模拟一个模块。围绕SystemC编写简单的包装器,并确保SystemVerilog联合仿真连接到链接联合仿真接口支持的数据类型的端口或信号。

更多关于协同仿真如何工作的讨论可以在以下部分找到:

连接与MATLAB和HDL模拟器

当与MATLAB链接时,HDL模拟器作为客户端,如下图所示。

在这种情况下,MATLAB服务器函数等待从HDL模拟器会话接收到的服务请求。在接收到请求后,服务器建立通信链接并调用指定的MATLAB函数,该函数为HDL模块(用VHDL编码)计算数据、验证或可视化®或Verilog®),在HDL模拟器中进行模拟。

服务器运行后,您可以启动并配置HDL模拟器或使用MATLAB提供的HDL Verifier函数:

  • nclaunch(Xcelium™)

  • vsim(ModelSim®)

下图显示了MATLAB测试台架函数在测试台架模拟会话中如何包裹并与HDL模拟器通信。

下图显示了在组件模拟会话中,一个MATLAB组件函数是如何被HDL模拟器包裹并与HDL模拟器通信的。

当你开始一个特定的测试台架或组件会话时,你指定识别以下信息的参数:

  • 连接到MATLAB服务器的模式和(如果适用)TCP/IP数据

  • 与HDL实例相关联并代表其执行的MATLAB函数

  • 指定何时调用模块的MATLAB函数的时序规范和其他控制数据

连接与动态仿真模块和HDL模拟器

当与Simulink链接时,HDL模拟器充当服务器的功能,如下图所示。

在这种情况下,HDL模拟器响应它从Simulink模型中的协同仿真块收到的仿真请求。你从Simulink开始一个联合仿真会话。在一个会话启动后,您可以使用Simulink和HDL模拟器来监视模拟的进展和结果。例如,您可以向HDL模拟器Wave窗口添加信号,以监视仿真时序图。

使用块参数对话框高密度脂蛋白CosimulationBlock,可以配置如下:

  • 阻塞对应于HDL模块的信号(包括内部信号)的输入输出端口。如果需要,可以为单个块输出端口指定采样时间和定点数据类型。

  • 用于在仿真工具之间交换数据的通信类型和通信设置。

  • 上升边缘或下降边缘时钟应用到您的模块。您可以单独指定每个时钟的周期。

  • 在模拟前后运行的Tcl命令。

HDL Verifier软件为HDL模拟器配备了一组定制的功能。对于ModelSim,当您使用该函数时vsimulink,您使用一个HDL模块实例执行HDL模拟器,以便与Simulink进行联合仿真。加载模块后,您可以从Simulink启动联合仿真会话。Xcelium的用户可以用这个函数执行同样的操作hdlsimulink

HDL Verifier软件还包括一个用于生成价值更改转储(VCD)文件的块。你可以使用这个块生成的VCD文件来执行以下任务:

  • 在你的HDL仿真环境中查看Simulink仿真波形

  • 比较多次模拟运行的结果,使用相同或不同的模拟环境

  • 用作模拟后分析工具的输入

HDL Cosimulation Wizard

HDL Verifier包含协同仿真向导功能,它使用现有的HDL代码创建定制的MATLAB函数(测试台或组件)、MATLAB系统对象或Simulink高密度脂蛋白Cosimulation块。更多信息,请参见准备导入HDL Code进行Cosimulation

用于HDL协同仿真的通信

用于HDL模拟器和MATLAB或Simulink之间链接的通信模式取决于您的应用程序是在本地、单系统配置中运行还是在网络配置中运行。如果这些产品和Ma2022世界杯八强谁会赢?thWorks产品可以在同一系统上本地运行,而您的应用程序只需要一个通信通道,那么您可以选择在共享内存和TCP/IP套接字通信之间进行选择。共享内存通信提供了最优的性能,并且是默认的通信模式。

TCP/IP套接字模式更通用。你可以将其用于单系统和网络配置。这个选项提供了最大的可伸缩性。有关TCP/IP套接字通信的更多信息,请参见TCP / IP套接字端口

硬件描述语言(HDL)支持

所有HDL Verifier MATLAB函数和HDL Cosimulation块都为Verilog和VHDL模型提供了相同的语言透明特性集。

HDL Verifier软件还支持混合语言的HDL模型(同时具有Verilog和VHDL组件的模型),允许您同时共同模拟VHDL和Verilog信号。MATLAB和Simulink软件都可以在任何级别访问不同语言的组件。

高密度脂蛋白Cosimulation工作流

HDL验证器用户指南为以下工作流程提供了使用支持的HDL模拟器的验证软件的指导:

  • 在MATLAB测试台架环境中模拟HDL组件

  • 用MATLAB组件函数替换HDL组件

  • 在Simulink测试台架环境中模拟HDL组件

  • 用Simulink算法替换HDL组件

  • 记录Simulink信号状态转换用于后处理

产品特点和平台支持

产品特性 所需的产品2022世界杯八强谁会赢? 推荐产品2022世界杯八强谁会赢? 支持的平台上
MATLAB与HDL模拟器协同仿真(函数) MATLAB 定点设计器™,信号处理工具箱™ 窗户®32位和64位;Linux®64位
MATLAB和HDL模拟器协同仿真(系统对象) MATLAB与定点设计器 通信工具箱™、DSP系统工具箱™ Windows 32和64位;Linux 64位
Simulink和HDL模拟器联合仿真 动态仿真模块、定点设计师 信号处理工具箱,DSP系统工具箱 Windows 32和64位;Linux 64位
Baidu
map