主要内容

使用HDL模拟器的CUDL代码

生成用于HDL模拟器的HDL Cosimulation块

编码器支持生成Sim金宝appulink金宝app®高密度脂蛋白Cosimulation块。您可以使用生成的HDL Cosimulation块来使用Simulink与HDL模拟器共同模拟您的滤波器设计。金宝app要使用此功能,您必须拥有HDL Verifier™许可证。

生成的HDL Cosimulation块配置为符合代码生成所选择的过滤器的端口和数据类型接口。通过将一个HDL Cosimulation块连接到一个Simulink模型来代替滤波器,您金宝app可以用所需的HDL模拟器来模拟您的设计。

生成HDL Cosimulation块:

  1. 选择试验台窗格在“生成HDL”对话框中。

  2. 选择COSIMULATION块选择。

    选择此选项时,编码器会生成并打开一个Simulink模型,该模型包含每个支持的HDL模拟器的HDL Cosimulation金宝app块。金宝app

  3. 如果要仅生成HDL Cosimulation块(不生成HDL测试台代码),请清除HDL测试工作台

    下图显示了两者HDL测试工作台COSIMULATION块选中。

  4. 在“生成HDL”对话框中,单击产生生成HDL和测试台代码。

  5. 除了通常的代码文件,编码器生成一个Simulink模型,其中包含一个HDL Cosimulation块,用于由HDL 金宝appverification支持的每个HDL模拟器。金宝app

  6. 生成的模型是未命名的,仅存在于内存中。如果希望保留模型和块以供将来会话使用,请确保将其保存到目标文件夹中。

要配置HDL Cosimulation块参数,如定时、延迟和数据类型,请参见定义HDL Cosimulation块接口(高密度脂蛋白校验)

选择命令行:使用generatehdl功能与属性GenerateCosimBlock生成HDL Cosimulation块。

生成A.金宝app与HDL模拟器的协同仿真模型

笔记

要使用此功能,您必须具有HDL验证程序许可证。

该编码器生成一个Simulink模型,它运行金宝app过滤器设计的Simulink仿真,以及使用HDL模拟器的设计的辅助。该模型将Simulink滤波器的输出与HDL仿真结果进行了比较。金宝app

生成的模型包括:

  • 一种在Simulink子系统中实现了滤波器设计的行为模型。金宝app子系统使用诸如加法器和延迟之类的基本块实现过滤器设计。

  • 相应的HDL协同仿真模块。编码器配置此块以使用Simulink与以下任意一种一起模拟滤波器设计:金宝app

    • 导师图形®ModelSim®

    • 抑扬顿挫的®

  • 测试输入数据,由您指定的测试台刺激计算得出。编码人员将测试数据存储在模型工作区变量中inputdata。一种来自工作区块路由测试数据到滤波器子系统和HDL协同仿真块。

  • 一种范围块,让您观察和比较测试输入信号与输出筛选块和HDL Cosimulation。范围还显示了这两个输出之间的差异(错误)。

生成模型

生成辅助模型需要注册输入和/或输出(参见限制)。在生成模型之前,请确保您的模型符合此要求,如下所示:

  1. 选择全局设置窗格生成HDL对话框。

  2. 全局设置窗格中,单击港口标签。出现端口选项。

  3. 选择以下两个选项:

    • 添加输入寄存器

    • 添加输出寄存器

要生成模型:

  1. 在“生成HDL”对话框中,根据您的设计配置其他代码生成和测试台阶参数。

  2. 选择试验台窗格的生成HDL对话框。

  3. 选择用品用作:选择。选择此选项将启用相邻的下拉菜单,您可以在其中进行选择导师图形ModelSim抑扬顿挫的

  4. 使用下拉菜单,选择您想在生成的模型中使用哪种类型的HDL Cosimulation块。选择导师图形ModelSim(默认)或抑扬顿挫的

    如下图所示,协同仿真模型类型为导师图形ModelSim,刺激信号为白噪声反应

  5. 在“生成HDL”对话框中,单击产生生成HDL和测试台代码。

    除了通常的代码文件之外,编码器还生成并打开Simulink模型。金宝app下图显示了从上一步中所示的编码器配置生成的模型。

  6. 生成的模型是未命名的,仅存在于内存中。如果希望保留模型和块以供将来会话使用,请确保将其保存到目标文件夹中。

要配置HDL Cosimulation块参数,如定时、延迟和数据类型,请参见定义HDL Cosimulation块接口(高密度脂蛋白校验)

生成模型的详细信息

生成的模型包含以下块:

  • 测试刺激: 这来自工作区在模型工作区变量中阻塞路由测试数据inputdata到过滤子系统和高密度脂蛋白Cosimulation块。

  • 筛选:该子系统实现了过滤器的行为模型设计。

  • 高密度脂蛋白Cosimulation:此块共同模拟生成的HDL代码。表HDL协同仿真块设置介绍编码器如何配置Cosimulation块参数。

  • 重置延迟:指定的TCL命令高密度脂蛋白Cosimulation阻塞应用复位信号。复位高在0 ns和低在22 ns(在第三上升时钟边缘之前)。Simu金宝applink模拟从0、10、20 ns开始输入。的重置延迟块添加了一个延迟,这样当第一个样本准备好后,复位被应用的RTL模拟可用。

  • 高密度脂蛋白延迟:这个延迟表示RTL模拟和Simulink行为块之间的延迟的区别。金宝app

  • 错误的输出之间的差值筛选块和高密度脂蛋白Cosimulation堵塞。

  • ABS.:错误计算的绝对值。

  • 错误边缘::误差绝对值与试验台误差裕度值(见为优化的过滤代码设置误差范围)。

  • 范围:显示输入信号,从输出筛选块和高密度脂蛋白Cosimulation块,两者之间的差异(如果存在一个)。

  • 启动HDL模拟器按钮:启动你的HDL协同仿真软件。

HDL协同仿真块设置

窗格 设置
港口

端口名称:与为筛选器生成的代码中的名称相同。

输入/输出数据类型:继承

输入样本时间:继承

输出采样时间:与Simulink固定步长相同。金宝app

时钟

时钟端口名称:与筛选器生成的代码中的名称相同。

主动时钟边缘:升起

期间:与Simulink采样时间相同。金宝app

时间尺度 在Simulink中,1金宝app秒对应于HDL模拟器中的1个勾号
联系

连接模式:完全仿真

连接方法:共享内存

Tcl(模拟预算命令)
Force / HLP / CLK_ENABLE 1;Force / HLP / RESET 1 0 NS,0 22 NS;放了-----------------------------------------跑“运行Simulink Cosim金宝appulation块”。;置于[时钟格式[时钟秒]]
Tcl(模拟后命令)
Force / HLP / RESET 1放置[时钟格式[时钟秒]]

生成的模型设置。生成的模型具有以下非默认设置:

  • 解算器离散(没有连续的状态)

  • 解算器类型固定步骤

  • 停止时间Ts * stimlen.,在那里TS.Simulin金宝appk的采样时间和刺激刺激长度是刺激长度。

  • 采样时间颜色:启用

  • 端口数据类型:启用

  • 硬件实现: ASIC / FPGA

限制

  • 一个运行时不会遇到错误的协同仿真要求生成的HDL代码的输出与时钟同步。在生成代码之前,确保选择了以下两个选项:

    • 添加输入寄存器

    • 添加输出寄存器

    如果不选择这些选项中的任何一个,则该编码器将终止具有错误的模型生成。但是,完成测试台代码生成。

  • 当目标语言是Verilog时,编码器不金宝app支持生成Cosimulation模型,并且生成Double类型的数据。

命令线替代品

使用generatehdl函数,传入属性的下列值之一GenerateCosimModel.

  • generatehdl(filtsysobj,“InputDataType”15) numerictype(16日,......“GenerateCosimModel”“尖锐”);
  • generatehdl(filtsysobj,“InputDataType”15) numerictype(16日,......“GenerateCosimModel”'modelsim');