4

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

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

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

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

4

1 回答 1

3

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

coder.target("HDL")当您生成 HDL 时将是正确的。

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

于 2013-10-09T15:57:24.937 回答