主要内容

HDL端口和标识符属性

自定义端口、标识符和注释

使用HDL端口和标识符属性,您可以在生成的代码中自定义端口、标识符和注释。

类的名称-值参数指定这些属性generatehdl函数。的名字属性名称和价值对应的值。可以以任意顺序指定多个名称-值参数Name1, Value1,…,“以”,家

例如:

冷杉= dsp。FIRFilter (“结构”直接形成反对称的);generatehdl(杉木、“InputDataType”15) numerictype(16日,“ClockInputPort”“clk_input”);

时钟、输入和输出

全部展开

时钟使能输入端口名称,指定为“clk_enable”、字符向量或字符串标量。

如果指定的值是目标语言中的保留字,编码器将添加后缀_rsvd这个值。方法可以更新后缀值ReservedWordPostfix财产。有关更多细节,请参见解决HDL保留字冲突

时钟使能输出端口名称,指定为“ce_out”、字符向量或字符串标量。此属性仅适用于多重速率的过滤器使用单一输入时钟(的默认行为ClockInputs).示例请参见多速率滤波器的时钟端口.有关更多细节,请参见多速率滤波器的代码生成选项

如果指定的值是目标语言中的保留字,编码器将添加后缀_rsvd这个值。方法可以更新后缀值ReservedWordPostfix财产。有关更多细节,请参见解决HDL保留字冲突

时钟输入端口名称,指定为“时钟”、字符向量或字符串标量。

如果指定的值是目标语言中的保留字,编码器将添加后缀_rsvd这个值。方法可以更新后缀值ReservedWordPostfix财产。有关更多细节,请参见解决HDL保留字冲突

过滤器输入端口的名称,指定为“filter_in”、字符向量或字符串标量。

如果指定的值是目标语言中的保留字,编码器将添加后缀_rsvd这个值。方法可以更新后缀值ReservedWordPostfix财产。有关更多细节,请参见解决HDL保留字冲突

过滤器输入端口的数据类型,指定为以下之一:

  • “std_logic_vector”“签署/无符号”(当目标语言是VHDL时)

  • “线”(当目标语言是Verilog时)

过滤器输出端口的名称,指定为“filter_out”、字符向量或字符串标量。

如果指定的值是目标语言中的保留字,编码器将添加后缀_rsvd这个值。方法可以更新后缀值ReservedWordPostfix财产。有关更多细节,请参见解决HDL保留字冲突

生成的HDL代码中过滤器输出端口的数据类型,指定为以下之一:

  • “与输入数据类型相同”“std_logic_vector”,或“签署/无符号”(当目标语言是VHDL时)

  • “线”(当目标语言是Verilog时)

重置

全部展开

过滤器重置端口的名称,指定为“重置”、字符向量或字符串标量。使用ResetAssertedLevel属性来控制此端口的行为。

如果指定的值是目标语言中的保留字,编码器将添加后缀_rsvd这个值。方法可以更新后缀值ReservedWordPostfix财产。有关更多细节,请参见解决HDL保留字冲突

禁止从移位寄存器生成重置,指定为“没有”“ShiftRegister”.若要忽略移位寄存器中的重置信号,请将此属性设置为“ShiftRegister”.从移位寄存器禁用复位信号可以导致更有效的FPGA实现。有关更多细节,请参见抑制重置逻辑的生成

复位输入信号的断言(活动)电平,指定为以下之一:

  • 高电平的-要在滤波器设计中重置寄存器,重置输入信号必须驱动高(1)。

    例如,这段代码检查是否重置在填充delay_pipeline登记。

    Delay_Pipeline_Process: PROCESS (clk, reset) BEGIN IF reset = '1' THEN delay_pipeline(0 TO 50) <= (OTHERS => (OTHERS => '0'));

  • “校验”-要在滤波器设计中重置寄存器,重置输入信号必须驱动低(0)。

    例如,这段代码检查是否重置在填充delay_pipeline登记。

    Delay_Pipeline_Process: PROCESS (clk, reset) BEGIN IF reset = '0' THEN delay_pipeline(0 TO 50) <= (OTHERS => (OTHERS => '0'));

寄存器的重置样式,指定为以下之一:

  • “异步”-编码器使用异步重置。在执行重置之前,HDL进程块不检查活动时钟。例如:

    delay_pipeline_process: PROCESS (clk, reset)开始IF Reset_Port = '1' THENdelay_pipeline (0 To 50) <= (OTHERS =>(OTHERS => '0'));ELSIF Clock_Port'事件和Clock_Port = '1'然后IF lockenable_port = '1' THENdelay_pipeline(0) < =签署(Fin_Port);delay_pipeline(1 TO 50) <= delay_pipeline(0 TO 49);如果;如果;结束过程delay_pipeline_process;

  • “同步”-编码器使用同步复位风格。在这种情况下,HDL进程块在执行复位之前检查时钟的上升沿。例如:

    delay_pipeline_process: PROCESS (clk, reset)开始如果rising_edge (Clock_Port)IF Reset_Port = '0' THENdelay_pipeline(0 To 50) <= (OTHERS =>(OTHERS => '0'));ELSIF clockkenable_port = '1' THENdelay_pipeline(0) < =签署(Fin_Port);delay_pipeline(1 TO 50) <= delay_pipeline(0 TO 49);如果;如果;结束过程delay_pipeline_process;

标识符和注释

全部展开

块节标签的后缀,指定为“_gen”、字符向量或字符串标量。此属性仅适用于目标语言为VHDL时。编码器将此后缀附加到VHDL的块节标签生成语句。

后缀到实例节标签,指定为“_gen”、字符向量或字符串标量。此属性仅适用于目标语言为VHDL时。编码器将此后缀附加到VHDL的实例节标签生成语句。

输出赋值块标签的后缀,指定为“outputgen”、字符向量或字符串标量。此属性仅适用于目标语言为VHDL时。编码器将此后缀附加到VHDL的输出赋值块标签生成语句。

对HDL时钟进程名的后缀,指定为“_process”、字符向量或字符串标量。编码器使用HDL进程块修改过滤器中寄存器的内容。块标签由寄存器名称和这个后缀派生而来。例如,在下面的块声明中,编码器从寄存器名称派生出进程标签delay_pipeline和默认后缀“_process”

delay_pipeline_process: PROCESS (clk, reset)开始

过滤器系数名称的前缀,指定为多项式系数的、字符向量或字符串标量。编码器通过将特定于过滤器的特征附加到这个前缀来获得系数名称。

过滤器类型 系数的名字
冷杉 编码器将系数号附加到CoeffPrefix从1开始。例如,第一个系数的默认值是coeff1
信息检索

编码器将以下字符追加到CoeffPrefix

  1. 下划线(_)

  2. 一个b系数名称(例如,_a2_b1,或_b2

  3. _sectionN,在那里N是节号。

例如,第三部分的第一个分子系数的默认值是coeff_b1_section3

例如:

firfilt =设计(fdesign.lowpass,“equiripple”...“FilterStructure”“dfsymfir”“SystemObject”,真正的);generatehdl (firfilt“InputDataType”15) numerictype(16日,...“CoefficientSource”“内部”“CoeffPrefix”“mycoeff”);

编码器将默认的系数名称前缀替换为自定义值:

架构rtl OF firfilt IS——本地函数——类型定义Type delay_pipeline_type IS ARRAY(自然范围<>)OF signed(15 DOWNTO 0);——sfix16_En15——Constants CONSTANT mycoeff1: signed(15 DOWNTO 0):= to_signed(- 159,16);——sfix16_En16 CONSTANT mycoeff2: signed(15 DOWNTO 0):= to_signed(- 137,16);——sfix16_En16 CONSTANT mycoeff3: signed(15 DOWNTO 0):= to_signed(444, 16);——sfix16_En16 CONSTANT mycoeff4: signed(15 DOWNTO 0):= to_signed(1097,16);——sfix16_En16……

依赖关系

此属性仅在设置时应用CoefficientSource“内部”

复信号名虚部的后缀,指定为“_im”、字符向量或字符串标量。看到使用复数据和系数

复杂信号名称实部的后缀,指定为“_re”、字符向量或字符串标量。看到使用复数据和系数

重复实体或模块名的后缀,指定为“_block”、字符向量或字符串标量。编码器附加此后缀以解析重复的VHDL实体或Verilog模块名称。例如,如果编码器检测到具有该名称的两个实体MyFilt,编码器命名第一个实体MyFilt第二个例子MyFilt_block

组件实例名的前缀,指定为“u_”,字符向量或字符串标量。

VHDL包文件名的后缀,指定为“_pkg”、字符向量或字符串标量。编码器通过将此后缀附加到筛选器名称来派生包名称。此选项仅在设计需要包文件时才适用。

保留字的后缀,指定为“_rsvd”、字符向量或字符串标量。中指定为字符向量或字符串标量的名称、后缀或标签值名称,值两个参数generatehdl.如果指定的值是目标语言中的保留字,则编码器将此后缀附加到值后面。例如,如果你打电话generatehdl使用参数对“名称”,“国防部”,编码器构成名称mod_rsvd在生成的筛选器代码中。看到保留字表

分割VHDL实体和体系结构代码,指定为“关闭”“上”.当此属性设置为“上”,编码器在两个单独的文件中生成过滤器的VHDL实体和体系结构代码。编码器通过附加后缀从筛选器名称派生文件名_entity而且_arch到基文件名。要指定自定义后缀值,请设置SplitEntityFilePostfix而且SplitArchFilePostfix属性。

VHDL架构文件名的后缀,指定为“_arch”、字符向量或字符串标量。

依赖关系

此属性仅在设置时应用SplitEntityArch“上”

VHDL实体文件名的后缀,指定为“_entity”、字符向量或字符串标量。

依赖关系

此属性仅在设置时应用SplitEntityArch“上”

向生成的HDL代码添加用户注释,指定为字符向量或字符串向量。用户注释出现在生成文件顶部的头注释块中,前面是特定于目标语言的前导注释字符。当您在用户注释中包含新行或换行时,编码器将为每一行发出单行注释。例如:

firfilt = dsp.FIRFilter;generatehdl (firfilt“InputDataType”15) numerictype(16日,...“UserComment”“这是一条评论线。这是第二条线。”
筛选器的结果报头注释块firfilt如下:
-- ------------------------------------------------------------- -- -- 模块:firfilt——由MATLAB生成(R) 9.1和3.1滤波器设计高密度脂蛋白编码器。—生成于:2016-11-08 15:28:25—这是一个注释行。这是第二条线。-- -- ------------------------------------------------------------- -- ------------------------------------------------------------- -- HDL代码生成选项:- - - - -开发:硬件描述语言(VHDL)——名称:firfilt——InputDataType: numerictype(15) 1, 16日——UserComment:用户数据长度——GenerateHDLTestBench: 47  -- ------------------------------------------------------------- -- HDL实现:完全平行,折叠因素:1  -- ------------------------------------------------------------- -- 过滤器设置:- - - - -离散冷杉过滤器(真实 ) -- ------------------------------- -- 滤波器结构:直接形式冷杉,滤波器长度:2——稳定:是的——线性相位:是的(2型)——算术:固定——分子:s16, 15 - > [1 1 ) -- -------------------------------------------------------------

VHDL矢量信号名称的前缀,指定为“vector_of_”、字符向量或字符串标量。

提示

如果你使用这个函数fdhdltool要生成HDL代码,您可以在generate HDL对话框中设置相应的属性。

财产 对话框中的位置

输入数据类型

输出数据类型

时钟使能输出端口

输入端口

输出端口

全局设置选项卡>港口选项卡
附加端口和标识符属性

上面的部分全局设置选项卡,全局设置选项卡>一般选项卡

查看主全局设置选项卡,港口而且一般标签的全局设置选项卡。

版本历史

之前介绍过的R2006a

另请参阅

|

主题

Baidu
map