在simulink中区分模拟和HDL代码生成

时间:2013-10-09 07:40:15

标签: matlab vhdl simulink hdl

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

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

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

解决方案: 我找到了一个部分回答我的问题的解决方案:EnvironmentController在Simulink中提供了这样的转换。也许还有一种嵌入式Matlab专用方式?

1 个答案:

答案 0 :(得分:3)

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

当您生成HDL时,

coder.target("HDL")将是真的。

Doc的目的是http://www.mathworks.com/help/coder/ref/coder.target.html