matlab - simulink中仿真和HDL代码生成的区别

标签 matlab vhdl simulink hdl

我正在使用 Simulink/Matlab Embedded Coder 构建模型,然后通过 HDL Coder 将其转换为 VHDL。它在仿真和 HDL 中的行为应该略有不同,特别是在调试输出方面。

有没有一种程序化的方式来区分选择了哪个目标?这最好不需要手动开关,例如“DEBUG = 1;”并确保根本不会合成禁用的代码或子模型。如果还可以区分不同的“加速器”模式,那将是一个加号。

更新: 这样的开关应该在自动生成 HDL 代码之前生效,因为我想避免手动接触生成的代码。

解决方案: 我找到了一个可以部分回答我的问题的解决方案:EnvironmentController在 Simulink 中提供了这样一个开关。也许还有一种仅限嵌入式 Matlab 的方法?

最佳答案

当您的 Simulink 模型中有 MATLAB 代码时,您可以使用 coder.target 来识别目标。您可以使用它来区分“C”代码生成和“HDL”代码生成。

coder.target("HDL") 在生成 HDL 时为真。

此文档位于 http://www.mathworks.com/help/coder/ref/coder.target.html

关于matlab - simulink中仿真和HDL代码生成的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19265901/

相关文章:

r - 如何在 R 或 MATLAB 中为散点图创建带阴影的误差条 "box"

c++ - 如何从 matlab 将图像值分配给 Triclops 结构

arrays - 查找两个数组之间的(多集)差异

延迟 vhdl 中的信号

vhdl - 如何在 VHDL 中进行字符串/模式检查?

matlab - MATLAB 文档中给出的用于训练多个神经网络的示例代码中存在错误

vhdl - 如何在Xilinx中定义时钟输入

c - 在 c mex s 函数中设置采样时间

matlab - 使用 MATLAB 函数 block 在 Simulink 中生成随机数

python - python/matlab/simulink/maple 用户的 Modelica?