主要内容

makehdl

从模型、子系统或模型引用生成HDL RTL代码

描述

例子

makehdl (dut从指定的DUT模型、子系统或模型引用生成HDL代码。

请注意

执行该命令可以激活在模拟开始时打开的块的设置范围块,因此调用该块。

例子

makehdl (dut名称,值使用由一个或多个名称-值对参数指定的选项,从指定的DUT模型、子系统或模型引用生成HDL代码。

例子

全部折叠

这个例子展示了如何为对称FIR模型生成VHDL。

打开sfir_fixed模型。

sfir_fixed

为当前模型生成HDL代码,代码生成选项设置为默认值。

makehdl (“sfir_fixed / symmetric_fir”“TargetDirectory”“C: \ GenVHDL \ hdlsrc”
###生成HDL 'sfir_fixed/symmetric_fir'。###开始HDL检查。###开始VHDL代码生成'sfir_fixed'。### sfir_fixed/symmetric_fir作为C:\GenVHDL\hdlsrc\sfir_fixed\symmetric_fir.vhd###创建HDL代码生成检查报告文件://C:\GenVHDL\hdlsrc\sfir_fixed\symmetric_fir_report.html ### HDL检查'sfir_fixed'完成0错误,0警告,0消息。HDL代码生成完成。

生成的VHDL代码保存在hdlsrc文件夹中。

为子系统生成Verilog®symmetric_fir在模型内sfir_fixed

打开sfir_fixed模型。

sfir_fixed;

该模型将在一个新的Simulink®窗口中打开。金宝app

的生成Verilogsymmetric_fir子系统。

makehdl (“sfir_fixed / symmetric_fir”“开发”“Verilog”...“TargetDirectory”“C: / Generate_Verilog / hdlsrc”
###生成HDL 'sfir_fixed/symmetric_fir'。###开始HDL检查。###开始Verilog代码生成'sfir_fixed'。将sfir_fixed/symmetric_fir作为C:\Generate_Verilog\hdlsrc\sfir_fixed\symmetric_fir.v###创建HDL代码生成检查报告文件://C:\Generate_Verilog\hdlsrc\sfir_fixed\symmetric_fir_report.html ### HDL检查'sfir_fixed'完成0错误,0警告,0消息。HDL代码生成完成。

生成的Verilog代码用于symmetric_fir子系统保存在hdlsrc \ sfir_fixed \ symmetric_fir.v

关闭模型。

bdclose (“sfir_fixed”);

检查子系统symmetric_fir兼容HDL代码生成,然后生成HDL。

打开sfir_fixed模型。

sfir_fixed

该模型将在一个新的Simulink®窗口中打开。金宝app

使用checkhdl函数,检查是否存在symmetric_fir子系统与HDL代码生成兼容。

hdlset_param (“sfir_fixed”“TargetDirectory”“C: / HDL_Checks / hdlsrc”);checkhdl (“sfir_fixed / symmetric_fir”
###开始HDL检查。###创建HDL代码生成检查报告文件://C:\HDL_Checks\hdlsrc\sfir_fixed\symmetric_fir_report.html ### HDL检查'sfir_fixed'完成0错误,0警告,0消息。

checkhdl成功完成,这意味着该模型与HDL代码生成兼容。要生成代码,使用makehdl

makehdl (“sfir_fixed / symmetric_fir”
###生成HDL 'sfir_fixed/symmetric_fir'。###使用模型的配置集sfir_fixed用于HDL代码生成参数。###开始HDL检查。###开始VHDL代码生成'sfir_fixed'。### sfir_fixed/symmetric_fir作为C:\HDL_Checks\hdlsrc\sfir_fixed\symmetric_fir.vhd###创建HDL代码生成检查报告文件://C:\HDL_Checks\hdlsrc\sfir_fixed\symmetric_fir_report.html ### HDL检查'sfir_fixed'完成0错误,0警告,0消息。HDL代码生成完成。

生成的VHDL®代码用于symmetric_fir子系统保存在hdlsrc \ sfir_fixed \ symmetric_fir.vhd

关闭模型。

bdclose (“sfir_fixed”);

输入参数

全部折叠

指定为子系统名称、顶级模型名称或具有完整层次路径的模型引用名称。

例子:“top_level_name”

例子:“top_level_name / subsysA subsysB / codegen_subsys_name '

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:“开发”、“Verilog”

目标语言和文件夹选择选项

全部折叠

在模型中指定要为其生成HDL代码的子系统。有关更多信息,请参见生成HDL

指定是生成VHDL代码还是Verilog代码。有关更多信息,请参见语言

指定将生成的文件和HDL代码写入其中的路径。有关更多信息,请参见文件夹

工具和合成选项

全部折叠

指定合成工具,将生成的HDL代码定位为字符向量。有关更多信息,请参见合成工具

将目标设备的合成工具芯片家族指定为字符向量。有关更多信息,请参见家庭

将目标设备的合成工具设备名称指定为字符向量。有关更多信息,请参见设备

将目标设备的合成工具包名称指定为字符向量。有关更多信息,请参见

将目标设备的合成工具速度值指定为字符向量。有关更多信息,请参见速度

指定目标频率(以MHz为单位)作为字符向量。有关更多信息,请参见目标频率参数

一般优化和多循环路径约束设置

全部折叠

指定是否在模型上启用延迟均衡。有关更多信息,请参见平衡延迟

以比特为单位指定映射到RAM而不是寄存器所需的最小RAM大小。有关更多信息,请参见RAM映射阈值(位)

指定是否将生成的HDL代码中的管道寄存器映射到FPGA上的块ram。有关更多信息,请参见将管道延迟映射到RAM

指定是否转换延迟初始值为非零的块延迟初始值为零的块。有关更多信息,请参见转换非零初始值延迟

分区乘法器的设计基于一个阈值。阈值必须为正整数值,N.有关更多信息,请参见乘数分区阈值

有关更多信息,请参见移除未使用的端口

生成一个多循环路径约束文本文件。有关更多信息,请参见寄存器到寄存器的路径信息

生成一个基于启用的多循环路径约束文件。有关更多信息,请参见Enable-based约束

管道和速度优化选项

全部折叠

指定分布式流水线优化的优先级是数值完整性还是性能。有关更多信息,请参见分布式流水线优先级

在模型上应用分层的分布式流水线优化来跨层次移动延迟。有关更多信息,请参见分层分布流水线

在模型中分布设计延迟。有关更多信息,请参见保留设计延迟

使用分布式管道的综合时间估计,可以更准确地反映组件在硬件上的功能,从而更好地分布管道并提高目标设备的时钟速度。有关更多信息,请参见为分布式流水线使用综合评估

以时钟速率或数据速率插入管道寄存器。有关更多信息,请参见时钟频率流水线

为DUT端口启用时钟速率管道。有关更多信息,请参见允许DUT输出端口的时钟速率管道

在设计中插入自适应管道寄存器。有关更多信息,请参见自适应流水线

资源共享和区域优化选项

全部折叠

在设计中使用资源共享优化来共享加法器。有关更多信息,请参见分享方案

用于资源共享优化的共享加法器的最小位宽,指定为正整数。有关更多信息,请参见加法器共享最小位宽

使用资源共享优化来共享设计中的乘数。有关更多信息,请参见分享乘数

用于资源共享优化的共享乘数的最小位宽,指定为正整数。有关更多信息,请参见乘数共享最小位宽

代码生成器提升一个乘数以与其他乘数共享的最小字长。有关更多信息,请参见乘数提升阈值

使用资源共享优化进行共享Multiply-Add块在你的设计。有关更多信息,请参见分享乘数

共享的最小位宽Multiply-Add块用于资源共享优化,指定为正整数。有关更多信息,请参见乘法-添加块共享最小位宽

使用资源共享优化进行共享原子子系统块在你的设计。有关更多信息,请参见共享子系统

使用资源共享优化进行共享MATLAB函数块在你的设计。有关更多信息,请参见共享MATLAB函数块

在设计中使用资源共享优化共享浮点ip。有关更多信息,请参见共享浮点ip

浮点目标

全部折叠

有关更多信息,请参见浮点IP库

代码生成报告选项

全部折叠

生成一个具有从代码到模型以及从模型到代码导航的超链接的可追溯性报告。有关更多信息,请参见生成可追溯性报告

生成一个可追溯性报告,其中包含从每行或到指示代码块的注释的超链接,用于从代码导航到模型,以及从模型导航到代码。有关更多信息,请参见可追溯性风格

生成一个资源利用报告,显示生成的HDL代码使用的硬件资源的数量。有关更多信息,请参见生成资源利用报告

生成一个优化报告,显示流、共享和分布式管道等优化的效果。有关更多信息,请参见生成优化报告

在“代码生成”报告中生成模型的web视图,以便在代码和模型之间轻松导航。有关更多信息,请参见生成模型Web视图

时钟设置

全部折叠

在生成的HDL代码中指定是使用同步重置还是异步重置。有关更多信息,请参见重置类型

指定重置输入信号是使用active-high还是active-low断言电平。有关更多信息,请参见重置断言级别

将时钟输入端口名称指定为字符向量。有关更多信息,请参见时钟输入接口

将时钟启用输入端口名称指定为字符向量。有关更多信息,请参见时钟启用输入端口

重置输入端口名称,指定为字符向量。

有关更多信息,请参见复位输入口

为生成的HDL代码指定活动时钟边缘。有关更多信息,请参见时钟边缘

在HDL代码中指定是生成单个还是多个时钟输入。有关更多信息,请参见时钟输入

全局过采样时钟频率,指定为模型基本速率的整数倍。有关更多信息,请参见过采样因子

通用文件和变量名称选项

全部折叠

在生成的HDL和测试台架文件的标题中指定注释行。有关更多信息,请参见标头注释

为生成的Verilog文件指定文件扩展名。有关更多信息,请参见Verilog文件扩展名

为生成的VHDL文件指定文件扩展名。有关更多信息,请参见VHDL文件扩展名

将后缀指定为字符向量,用于解析重复的实体或模块名称。有关更多信息,请参见实体冲突后缀

将包文件名的后缀指定为字符向量。有关更多信息,请参见包后缀

有关更多信息,请参见保留字后缀

有关更多信息,请参见分离实体和体系结构

有关更多信息,请参见拆分实体文件后缀

有关更多信息,请参见拆分arch文件后缀

有关更多信息,请参见VHDL体系结构名称

将时钟进程名的后缀指定为字符向量。有关更多信息,请参见时钟进程后缀部分时钟设置和定时控制器后缀参数

有关更多信息,请参见复杂虚部后缀复杂信号后缀参数

有关更多信息,请参见复实部后缀复杂信号后缀参数

内部时钟使能和控制流使能信号的前缀,指定为字符向量。有关更多信息,请参见时钟使能设置和参数

为生成的HDL代码中的每个模块或实体名称指定一个前缀。HDL Coder™还将此前缀应用于生成的脚本文件名

有关更多信息,请参见ModulePrefix语言特定的标识符和后缀参数

有关更多信息,请参见定时控制器后置时钟设置和定时控制器后缀参数

有关更多信息,请参见管道后缀

有关更多信息,请参见VHDL库名称

有关更多信息,请参见为单个库中的模型引用生成VHDL代码

有关更多信息,请参见块生成标签

有关更多信息,请参见输出生成标签

有关更多信息,请参见实例生成标签

有关更多信息,请参见实例后缀

有关更多信息,请参见实例的前缀

有关更多信息,请参见向量的前缀

有关更多信息,请参见地图文件后缀

端口配置选项

全部折叠

VHDL输入可以有“std_logic_vector”“签署/无符号”数据类型。Verilog输入必须是“线”

有关更多信息,请参见输入输出端口和时钟使能输出类型参数

VHDL输出可以“与输入数据类型相同”“std_logic_vector”“签署/无符号”.Verilog输出必须是“线”

有关更多信息,请参见输入输出端口和时钟使能输出类型参数

时钟使能输出端口名称,指定为字符向量。

有关更多信息,请参见开启输出端口

有关更多信息,请参见最小化时钟启用和复位信号参数

有关更多信息,请参见最小化时钟启用和复位信号参数

有关更多信息,请参见使用触发信号作为时钟

有关更多信息,请参见为测试点启用HDL DUT端口生成

有关更多信息,请参见Scalarize港口

编码风格

全部折叠

有关更多信息,请参见通过聚合表示常量值

有关更多信息,请参见内联MATLAB函数块代码

有关更多信息,请参见初始化所有内存块

有关更多信息,请参见内存架构

有关更多信息,请参见无重置寄存器初始化

有关更多信息,请参见尽量减少中间信号

有关更多信息,请参见在VHDL代码中展开For-Generate循环

有关更多信息,请参见从屏蔽子系统生成参数化HDL代码

有关更多信息,请参见枚举类型编码方案

有关更多信息,请参见缩放端口命名的索引

有关更多信息,请参见内联VHDL配置

有关更多信息,请参见连接类型安全的零

指定是否要混淆生成的HDL代码。有关更多信息,请参见生成模糊的HDL代码

指定是否希望在测试设计(DUT)接口和不同的子系统级接口上为总线信号生成VHDL构造记录类型的代码。有关更多信息,请参见为总线生成记录类型

有关更多信息,请参见优化定时控制器

有关更多信息,请参见定时控制器架构

有关更多信息,请参见自定义文件头注释

有关更多信息,请参见自定义文件页脚注释

有关更多信息,请参见在标头中产生时间/日期戳RTL标注参数

有关更多信息,请参见在块注释中包含需求

有关更多信息,请参见使用Verilog的时间刻度指令

有关更多信息,请参见Verilog时间刻度规范

编码标准

全部折叠

指定生成的HDL代码是否必须符合行业编码标准指南。有关更多信息,请参见选择编码标准和报告选项参数

在生成HDL代码时,与行业编码标准一起使用的编码标准定制对象。有关更多信息,请参见hdlcoder。CodingStandard

模型生成参数

全部折叠

有关更多信息,请参见生成的模型

有关更多信息,请参见验证模型

有关更多信息,请参见生成的模型名称的前缀

有关更多信息,请参见验证模型名称的后缀

有关更多信息,请参见布局风格

有关更多信息,请参见自动信号路由

有关更多信息,请参见块间水平缩放

有关更多信息,请参见块间垂直缩放

诊断和代码生成输出参数

全部折叠

指定是否在设计中突出显示反馈循环。有关更多信息,请参见强调反馈循环抑制延迟平衡和优化

指定是否突出显示时钟速率管道优化的障碍。有关更多信息,请参见突出显示抑制时钟速率流水线的块

有关更多信息,请参见突出显示抑制分布式管道的块

有关更多信息,请参见检查黑匣子接口中的名称冲突

有关更多信息,请参见检查生成的HDL代码中是否存在实数

指定是生成HDL代码,还是只显示生成的模型,还是生成HDL代码并显示生成的模型。有关更多信息,请参见生成HDL代码部分代码生成输出参数

为模型生成HDL代码。有关更多信息,请参见生成HDL代码部分代码生成输出参数

脚本生成

全部折叠

有关更多信息,请参见生成EDA脚本

有关更多信息,请参见编译初始化

有关更多信息,请参见编译终止

有关更多信息,请参见编译文件后缀

Verilog编译命令,指定为字符向量。的SimulatorFlags名称-值对指定第一个参数,模块名指定第二个参数。

有关更多信息,请参见Verilog的编译命令

VHDL编译命令,指定为字符向量。的SimulatorFlags名称-值对指定第一个参数,实体名称指定第二个参数。

有关更多信息,请参见VHDL编译命令

有关更多信息,请参见选择HDL皮棉工具

HDL lint初始化名称,指定为字符向量。的默认值派生自HDLLintTool名称-值对。

有关更多信息,请参见线头初始化

HDL lint命令,指定为字符向量。的默认值派生自HDLLintTool名称-值对。

有关更多信息,请参见线头命令

HDL lint终止,指定为字符向量。的默认值派生自HDLLintTool名称-值对。

有关更多信息,请参见线头终止

有关更多信息,请参见选择合成工具

HDL合成命令,指定为字符向量。的默认值派生自HDLSynthTool名称-值对。

有关更多信息,请参见合成的命令

HDL合成脚本文件名称后缀,指定为字符向量。的默认值派生自HDLSynthTool名称-值对。

有关更多信息,请参见合成文件后缀

HDL合成脚本的初始化,指定为字符向量。的默认值派生自HDLSynthTool名称-值对。

有关更多信息,请参见合成初始化

HDL合成脚本的终止名称。的默认值派生自HDLSynthTool名称-值对。

有关更多信息,请参见合成终止

版本历史

在R2006b中引入

另请参阅

|