我正在使用Simulink / Matlab Embedded Coder构建模型,然后通过HDL Coder将其转换为VHDL。它在仿真与HDL方面应该略有不同,特别是在调试输出方面。
是否有一种编程方式来区分选择哪个目标?这最好不需要手动开关,例如“DEBUG = 1;”并确保根本不会合成禁用的代码或子模型。如果还可以区分不同的“加速器”模式,那将是一个加号。
更新 在自动生成HDL代码之前,这样的开关应该生效,因为我想避免手动触摸生成的代码。
解决方案: 我找到了一个部分回答我的问题的解决方案:EnvironmentController在Simulink中提供了这样的转换。也许还有一种嵌入式Matlab专用方式?
答案 0 :(得分:3)
当您在Simulink模型中使用MATLAB代码时,可以使用coder.target
来识别目标。您可以使用此功能区分“C”代码生成和“HDL”代码生成。
coder.target("HDL")
将是真的。
Doc的目的是http://www.mathworks.com/help/coder/ref/coder.target.html