主要内容

RTL样式参数

你访问寄存器传输逻辑(RTL)样式参数HDL代码生成>全局设置>编码风格选项卡中配置参数对话框。

对寄存器使用“rising_edge / falling_edge”风格

指定生成的代码使用硬件描述语言(VHDL)®rising_edge函数或falling_edge函数来检测时钟转换。

设置

默认值:

生成的代码使用的rising_edge函数或falling_edge函数。

例如,下面的代码生成的单位延迟块使用rising_edge函数来检测积极时钟转换:

Unit_Delay1_process:过程(时钟、复位)开始如果重置= ' 1 '然后Unit_Delay1_out1 < =(别人= > ' 0 ');ELSIF rising_edge(时钟),那么如果clk_enable = ' 1 '然后Unit_Delay1_out1 < =签署(x_in);如果;如果;结束过程Unit_Delay1_process;

生成的代码使用“事件语法。

例如,这个从单位延迟生成的代码块使用clk 'event clk = ' 1 '发现积极的时钟转换:

Unit_Delay1_process:过程(时钟、复位)开始如果重置= ' 1 '然后Unit_Delay1_out1 < =(别人= > ' 0 ');ELSIF clk 'event clk = ' 1 '如果clk_enable = ' 1 '然后Unit_Delay1_out1 < =签署(x_in);如果;如果;结束过程Unit_Delay1_process;

依赖

启用这个选项当目标语言是硬件描述语言(VHDL)。

命令行信息

属性:UseRisingEdge
类型:特征向量
值:“上”|“关闭”
默认值:“关闭”

要设置该属性,使用功能hdlset_parammakehdl。要查看属性值,可以使用函数hdlget_param

减少中间信号

指定是否优化debuggability HDL代码或代码覆盖率。

设置

默认值:

优化代码覆盖率,减少中间的信号。例如,使用此设置,假设生成的代码是:

7 const3 < = to_signed(24日);subtractor_sub_cast < =调整(const3 8);subtractor_sub_cast_1 < =调整(delayout 8);subtractor_sub_temp < = subtractor_sub_cast - subtractor_sub_cast_1;

与此设置,高密度脂蛋白编码器™优化输出:

subtractor_sub_temp < = 24(调整(delayout 8));

代码生成器删除中间的信号const3,subtractor_sub_cast,subtractor_sub_cast_1

优化代码为debuggability保留中间的信号。

命令行信息

属性:MinimizeIntermediateSignals
类型:特征向量
值:“上”|“关闭”
默认值:“关闭”

要设置该属性,使用功能hdlset_parammakehdl。要查看属性值,可以使用函数hdlget_param

在硬件描述语言(VHDL)展开为能够生成循环代码

指定是否硬件描述语言(VHDL)生成循环展开,省略了从硬件描述语言(VHDL)生成代码。

设置

默认值:

展开和省略生成循环从生成的硬件描述语言(VHDL)的代码。(Verilog®代码,循环总是展开。)

包括生成循环在生成VHDL代码。

命令行信息

属性:LoopUnrolling
类型:特征向量
值:“上”|“关闭”
默认值:“关闭”

要设置该属性,使用功能hdlset_parammakehdl。要查看属性值,可以使用函数hdlget_param

对于一些仿真软件金宝app®块,默认情况下,生成HDL代码通过使用为能够生成循环构建硬件描述语言(VHDL)当你设定的目标语言。这些仿真软件金宝app模块有:

使用生成的代码为能够生成循环有更好的代码可读性,减少代码行数,减少了代码生成时间。例如,考虑为重塑一个二维矩阵生成的VHDL代码到一个一维矩阵。这个例子显示了生成的代码重塑块有或没有为能够生成循环。

  • 重塑块没有为能够生成循环(为硬件描述语言(VHDL)代码生成循环展开启用了):

Reshape_output:过程(In1_signed)开始Reshape_out1 (0) < = In1_signed (0,0);Reshape_out1 (1) < = In1_signed (1,0);Reshape_out1 (2) < = In1_signed (2,0);Reshape_out1 (3) < = In1_signed (3,0);Reshape_out1 (4) < = In1_signed (4 0);Reshape_out1 (5) < = In1_signed (5,0);Reshape_out1 (6) < = In1_signed (6 0);Reshape_out1 (7) < = In1_signed (7,0);Reshape_out1 (8) < = In1_signed (8,0);Reshape_out1 (9) < = In1_signed (9,0); Reshape_out1(10) <= In1_signed(0, 1); ...

  • 重塑块用为能够生成循环(为硬件描述语言(VHDL)代码生成循环展开禁用):

Reshape_out1GEN_LABEL1: d1 0到1生成Reshape_out1GEN_LABEL:在0到9生成d0 Reshape_out1 (d0 + (d1 * 10)) < = In1_signed (d0, d1);最终生成;最终生成;

提示

  • 如果您正在使用一个电子设计自动化(EDA)工具,不支持金宝app生成循环,选择循环展开选项忽略循环从硬件描述语言(VHDL)生成代码。

  • 设置循环展开选项不影响结果从模拟或合成生成VHDL代码。

依赖

启用这个选项当目标语言是硬件描述语言(VHDL)。

从蒙面子系统生成参数化HDL代码

生成子系统的可重用的HDL代码相同的面具可调参数,但是具有不同的值。

设置

默认值:

为多个蒙面子系统生成一个可重用的HDL文件有不同的掩模参数的值。高密度脂蛋白编码器支金宝app持标量、向量和矩阵作为掩模参数值。高密度脂蛋白编码器检测子系统,面具可调参数,可共享的。

在子系统内部,您可以使用掩模参数只有在表中列出的模块和参数。

参数 限制
常数 恒定值主要对话框中的选项卡 没有一个
获得 获得主要对话框中的选项卡 参数的数据类型必须为所有获得块是相同的。

生成一个单独的HDL文件为每个蒙面子系统。

命令行信息

属性:MaskParameterAsGeneric
类型:特征向量
值:“上”|“关闭”
默认值:“关闭”

要设置该属性,使用功能hdlset_parammakehdl。要查看属性值,可以使用函数hdlget_param

限制面具参数值

  • 每个值必须是一个标量、向量或矩阵。

  • 值不能复杂。

  • 不可枚举值数据。

另请参阅

为子系统生成可重用的代码

枚举类型编码方案

指定编码方案在生成的HDL代码来表示枚举类型。

设置

默认值:默认的

使用一个默认的,onehot,twohot,或二进制编码方案生成的HDL代码来表示枚举类型。

默认的

Verilog代码生成器使用十进制编码,在硬件描述语言(VHDL) VHDL-native枚举类型。这个例子显示了Verilog代码片段的Stateflow编码方案®图表四个州。

参数is_Chart_IN_s_idle = 2 'd0 is_Chart_IN_s_rx = 2 'd1 is_Chart_IN_s_wait_0 = 2 'd2, is_Chart_IN_s_wait_tb = 2 'd3;

onehot

代码生成器使用一个单点的一个炎热的编码方案代表每一个枚举值。这个例子显示了Verilog代码片段的Stateflow编码方案图表四个州。

参数is_Chart_IN_s_idle = 4 'b0001 is_Chart_IN_s_rx = 4 'b0010 is_Chart_IN_s_wait_0 = 4 'b0100 is_Chart_IN_s_wait_tb = 4 'b1000;
这种编码方案不支持多金宝app64年枚举值或数字的状态。

twohot

代码生成器使用一个两位的两个热编码方案代表每一个枚举值。这个例子显示了Verilog代码片段的Stateflow编码方案图表四个州。

参数is_Chart_IN_s_idle = 4 'b0011 is_Chart_IN_s_rx = 4 'b0101 is_Chart_IN_s_wait_0 = 4 'b0110 is_Chart_IN_s_wait_tb = 4 'b1001;

二进制

代码生成器使用二进制编码方案来表示每一个枚举值。这个例子显示了Verilog代码片段的Stateflow编码方案图表四个州。

参数is_Chart_IN_s_idle = 2 'b00 is_Chart_IN_s_rx = 2 'b01 is_Chart_IN_s_wait_0 = 2 'b10, is_Chart_IN_s_wait_tb = 2 'b11;

在硬件描述语言(VHDL),生成的代码使用常数类型编码默认的枚举值在生成的代码。例如,这个代码片段显示生成的硬件描述语言(VHDL)代码时使用的两个热状态Stateflow编码图表四个州。

包s_pkg常数——两个热编码类型state_type_is_Chart常数IN_s_idle枚举值:std_logic_vector(3报纸0):= " 0011 ";常数IN_s_rx: std_logic_vector(3报纸0):= " 0101 ";常数IN_s_wait_0: std_logic_vector(3报纸0):= " 0110 ";常数IN_s_wait_tb: std_logic_vector(3报纸0):= " 1001 ";s_pkg结束;

命令行信息

属性:EnumEncodingScheme
类型:特征向量
值:“默认”|“onehot”|“twohot”“二元”
默认值:“默认”

要设置该属性,使用功能hdlset_parammakehdl。要查看属性值,可以使用函数hdlget_param

索引Scalarized端口命名

指定的起始索引scalarized向量港口的名称。例如,看到的数值向量生成港口硬件描述语言(VHDL)的代码

设置

默认值:从零开始的

从零开始的

的起始索引scalarized向量港口的名称0。例如,如果你有一个输入u这是一个1 x10类型的向量uint16scalarized,生成的HDL代码片段可能看起来像这样的代码:

实体子系统端口(u_0: std_logic_vector(15报纸0);——uint16 u_1: std_logic_vector(15报纸0);——uint16 u_2: std_logic_vector(15报纸0);——uint16 u_3: std_logic_vector(15报纸0);——uint16 u_4: std_logic_vector(15报纸0);——uint16 u_5: std_logic_vector(15报纸0);——uint16 u_6: std_logic_vector(15报纸0);——uint16 u_7: std_logic_vector(15报纸0);——uint16 u_8: std_logic_vector(15报纸0);——uint16 u_9: std_logic_vector(15报纸0); -- uint16 ); END Subsystem;

从1

的起始索引scalarized向量港口的名称1。例如,如果你有一个输入u这是一个1 x10类型的向量uint16scalarized,生成的HDL代码片段可能看起来像这样的代码:

实体子系统端口(u_1: std_logic_vector(15报纸0);——uint16 u_2: std_logic_vector(15报纸0);——uint16 u_3: std_logic_vector(15报纸0);——uint16 u_4: std_logic_vector(15报纸0);——uint16 u_5: std_logic_vector(15报纸0);——uint16 u_6: std_logic_vector(15报纸0);——uint16 u_7: std_logic_vector(15报纸0);——uint16 u_8: std_logic_vector(15报纸0);——uint16 u_9: std_logic_vector(15报纸0);——uint16 u_10: std_logic_vector(15报纸0); -- uint16 ); END Subsystem;

依赖

这个选项时应用模型配置参数Scalarize港口被设置为DUT的水平。有关更多信息,请参见Scalarize港口的部分DUT端口配置参数

命令行信息

属性:ScalarizedPortIndexing
类型:特征向量
值:“从零开始的”|“集中”
默认值:“从零开始的”

要设置该属性,使用功能hdlset_parammakehdl。要查看属性值,可以使用函数hdlget_param

为总线生成记录类型

生成代码和硬件描述语言(VHDL)构造记录类型为总线信号design-under-test (DUT)接口和不同子系统级接口。有关更多信息,请参见为总线信号生成VHDL代码与记录类型

设置

默认值:

为总线信号生成记录类型在你的硬件描述语言(VHDL)的代码。例如,这个代码片段显示了一个子系统的硬件描述语言(VHDL)代码生成三机一体着干活总线端口定义记录类型。

实体子系统端口(std_logic clk:;重置:std_logic;在BusObject_record In1:;——记录{双,双}着干活:BusObject_record——记录{双,双});终端子系统;
包文件定义了记录BusObject_record,它由两个总线元素的数据类型

包Subsystem_pkg类型BusObject_record记录signal1: std_logic_vector(63报纸0);signal2: std_logic_vector(63报纸0);结束记录BusObject_record;Subsystem_pkg结束;

高密度脂蛋白编码器趋于平缓子系统接口总线端口元素。这个代码片段显示生成的硬件描述语言(VHDL)的代码没有记录类型的子系统:

实体子系统端口(std_logic clk:;重置:std_logic;In1_signal1: std_logic_vector(63报纸0);——双重In1_signal2: std_logic_vector(63报纸0);——双重Out1_signal1: std_logic_vector(63报纸0);——双重Out1_signal2: std_logic_vector(63报纸0)——双);终端子系统;

命令行信息

属性:GenerateRecordType
类型:特征向量
值:“上”|“关闭”
默认值:“关闭”

要设置该属性,使用功能hdlset_parammakehdl。要查看属性值,可以使用函数hdlget_param

依赖

要启用该参数,设置目标语言硬件描述语言(VHDL)

另请参阅

为总线信号生成VHDL代码与记录类型