主要内容

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”
为'sfir_fixed/symmetric_fir'生成HDL。###开始HDL检查。开始生成'sfir_fixed'的VHDL代码。###工作在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”
为'sfir_fixed/symmetric_fir'生成HDL。###开始HDL检查。开始为'sfir_fixed'生成Verilog代码。###将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”
为'sfir_fixed/symmetric_fir'生成HDL。使用模型的配置集sfir_fixed为HDL Code Generation参数。###开始HDL检查。开始生成'sfir_fixed'的VHDL代码。###将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,…,的家

例子:“开发”、“Verilog”
目标语言和文件夹选择选项

全部折叠

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

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

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

工具和合成选项

全部折叠

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

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

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

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

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

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

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

全部折叠

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

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

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

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

分区乘数在设计中基于一个阈值。阈值必须是正整数,N。有关更多信息,请参见乘数划分阈值

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

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

流水线和速度优化选项

全部折叠

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

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

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

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

开启被测端口时钟速率流水线。有关更多信息,请参见允许被测设备输出端口的时钟速率流水线

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

资源共享和区域优化选项

全部折叠

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

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

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

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

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

使用资源共享优化进行共享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函数块代码

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

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

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

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

有关更多信息,请参见展开生成循环在VHDL代码

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

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

有关更多信息,请参见寄存器使用“rising_edge/falling_edge”样式RTL风格参数

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

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

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

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

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

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

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

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

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

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

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

编码标准

全部折叠

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

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

模型生成参数

全部折叠

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

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

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

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

有关更多信息,请参见自动块放置

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

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

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

诊断和代码生成输出参数

全部折叠

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

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

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

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

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

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

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

脚本生成

全部折叠

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

另请参阅

|

在R2006b中引入