Matlab Simulink HDL Coder代码生成基本流程
Matlab Simulink HDL Coder代码生成基本流程
本文将介绍Matlab Simulink HDL Coder的代码生成基本流程,包括设计开发、兼容性检查、代码验证、硬件部署和优化等步骤。
Simulink HDL Coder开发基本流程
- Matlab 或者Simulink设计开发
- 建立HDL Coder工程
- 使用HDL Code Advisor检查HDL兼容性
- 生成HDL代码
- 验证生成的HDL代码
- 将生成的代码部署到目标硬件
- 优化设计的速度和面积
您可以使用HDL Coder从Simulink模型或MATLAB算法生成可合成的VHDL, Verilog和SystemVerilog代码。可以使用生成的HDL代码进行FPGA编程、ASIC原型设计和生产设计。使用HDL Workflow Advisor,您可以将生成的HDL代码部署到Xilinx、Intel和Microchip板上。您可以针对速度和面积优化您的设计,突出显示关键路径,并在综合成之前生成资源使用预估报告。
一、Matlab 或者Simulink设计开发
您可以在MATLAB和Simulink中开发HDL代码生成的设计。您可以使用HDL Coder从您的Simulink模型或MATLAB算法生成代码。编写与HDL代码生成兼容的语法和函数的MATLAB算法。使用HDL兼容的Simulink块创建您的设计与Simulink。
二、建立HDL Coder工程
要从MATLAB算法生成HDL代码,请为MATLAB设计创建并设置HDL Coder项目。将MATLAB文件添加到要为其生成HDL代码的HDL Coder项目中。
三、使用HDL Code Advisor检查HDL兼容性
您可以使用HDL Code Advisor检查您的Simulink模型的HDL兼容性。HDL Code Advisor工具验证和更新您的Simulink模型或子系统与HDL代码生成的兼容性。Model Checker工具检查模型配置设置、端口和子系统设置、块设置、对本机浮点数的支持以及对行业标准规则的遵从性。
四、生成HDL代码
在设计出与HDL兼容的Simulink模型或MATLAB算法后,可以使用HDL Coder生成HDL代码。您可以选择所需的目标语言,如VHDL、Verilog或SystemVerilog。HDL编码器在生成代码之前编译模型。HDL Coder在MATLAB命令窗口中显示进度消息,并链接到配置集和生成的HDL文件。
五、验证生成的HDL代码
生成HDL代码后,您可以使用HDL Testbench对您的Simulink模型或MATLAB算法进行测试和验证。Testbench包括由信号源、组件实例化和时钟、复位和时钟使能输入产生的刺激数据,以驱动被测实体。
在Testbench运行期间,软件将生成的输出数据与HDL模型的输出进行比较以进行验证。您可以使用Siemens ModelSim模拟器模拟生成的Testbench和脚本文件。
六、将生成的代码部署到目标硬件
HDL Coder包括一个工作流顾问。该工具可在Xilinx、Intel和Microchip板上自动生成原型代码,并为ASIC和FPGA工作流程生成IP内核。使用HDL Coder,您可以部署MATLAB或Simulink设计:
- 在独立的FPGA板上,如Intel FPGA或Xilinx FPGA板。
- 在具有独立FPGA和处理器的平台上,例如带有FPGA I/O板的Simulink实时目标设备。
- 作为系统级芯片(SoC)平台上的硬件和软件,如Xilinx Zynq®、Intel SoC或Microchip SoC。
七、优化设计的速度和面积
您可以使用速度和面积优化方法来满足资源使用、关键路径估计和时间要求等设计要求。应用优化来生成更高效的硬件HDL代码。在HDL Coder中使用面积和速度优化来节省资源并改善目标FPGA设备上设计的时序。优化不会改变算法的功能行为。
您可以初始化生成HDL代码并在FPGA平台上合成您的设计,而无需启用优化。如果设计不满足时间要求,则可以启用优化并重新运行工作流,直到设计满足面积和速度要求。