博客涉及到的所有Simulink HDL Coder工程都默认使用了该脚本,如果你发现Simulink正确,但是生成的代码和预期不符,请先检查是否使用了该脚本设置对应参数。

在使用MATLAB HDL Coder Toolbox的时候,每次新建一个Simulink模型都会重置Verilog代码生成的参数,默认生成VHDL代码,不生成Report,有时候也不需要clk_enable信号,所以需要有一个方便的办法自动批量更改一下。

这个脚本的目的:

在MATLAB命令行输入: sethdl(),会自动获取当前活动的Simulink模型,然后将输出代码更改为Verilog,生成可跟踪的Report等,读者可以根据自己的需求更改脚本,如果没有活动的Simulink模型则无操作。

function sethdl()
 % 使用方法:
 % sethdl() 用于设置Simulink模型HDL代码生成的参数。
 % 需要注意:模型需要保存到当前路径,否则会找不到文件!
 % 1.指定生成Verilog代码,无法更改。
 % 2.指定生成Report
 % 3.指定取消clk_en和ce_out端口
% '<a href = "matlab:edit('sethdl')">查看sethdl</a>'
model_name = bdroot;
path_name = pwd;
filename = fullfile(path_name,model_name);

if exist(filename)
%      DUTname = hdlget_param(bdroot,'HDLSubsystem');
      hdlset_param(model_name,'TargetLanguage','Verilog');
      hdlset_param(model_name,Traceability = 'on',TraceabilityStyle = 'Line Level');
      hdlset_param(model_name,MinimizeClockEnables = 'on');
    
else
    disp('当前没有打开的Simulink文件。')
end
end