主要内容

HDL构造属性

在生成的代码中自定义HDL构造

使用HDL构造属性,您可以在生成的代码中自定义VHDL和Verilog构造。

将这些属性指定为名称 - 值参数generatehdl.功能。名称属性名称和价值是相应的价值。您可以以任何顺序指定多个名称值参数'name1',value1,...,'namen',valuen

例如:

fir = dsp.firfilter('结构''直接形成反对手');generatehdl(FIR,'inputdatatype',numerictype(1,16,15),'castbeforesum''离开');

HDL编码风格

展开全部

在添加或减法前键入铸造,指定为以下之一:

  • '上'- 在对值操作之前,生成的代码类型对所需结果类型的添加和减法操作的输入值。此设置产生典型的DSP处理器的数字结果。

  • '离开'- 生成的代码在加法和减法操作期间保留输入值类型,然后将结果转换为所需类型。

默认情况下,编码器集CastBeforesum.基于这一点在总和之前施放信号过滤器对象的过滤器设置设置。使用此属性覆盖继承的设置,请参阅在过滤器设计器中与施放的关系。对于系统对象,默认设置取决于过滤器类型和结构。

生成内联VHDL配置,指定为以下之一:

  • '上'- 编码器包括所生成的VHDL代码中的过滤器实体的配置。

  • '离开'- 编码器省略了配置的生成。如果要创建自己的VHDL配置文件,请使用此选项。

在生成的VHDL代码中展开循环,指定为以下之一:

  • '离开'- 编码器包括为了产生循环在生成的VHDL代码中。

  • '上'- 编码器展开并省略为了产生循环在生成的VHDL代码中。如果您的EDA工具不支持,请使用此选项金宝app产生循环。

连接零的类型安全语法,指定为以下之一:

  • '上'- 编码器使用'0'&'0'替代零的语法。建议使用此语法,因为它是明确的。

  • '离开'- 编码器使用“000000 ......“连接零的语法。这个语法可以更容易读取并且更紧凑,但它可能导致模糊类型。

表示汇总的常量值,指定为以下之一:

  • '离开'- 编码器表示常量小于32位的标量,并且常量大于或等于32位作为聚合。以下示例显示少于32位的常量的默认标量声明。

    常数COEFF1:签名(15下调0):= to_signed(-60,16);-  SFIX16_EN16常量COEFF2:签名(15下调0):= to_signed(-178,16);-  SFIX16_EN16.

  • '上'- 编码器表示聚合的常量,包括宽度小于32位的常量。以下示例显示少于32位的常量声明为聚合。

    常量C1:签名(15下降到0):=(5下降3 =>'0',1 downto 0 =>'0',其他=>'1');常量C2:签名(15下降到0):=(7 =>'0',5下调4 =>'0',0 =>'0',其他=>'1');

VHDL编码样式检查在寄存器上运行时的上升沿,指定为以下之一:

  • '离开'- 在寄存器上运行时,生成的代码检查时钟事件。例如:

    delay_pipeline_process:进程(clk,重置)开始,如果reset ='1'然后delay_pipeline(0到50)<=(其他=>'(其他=>'0'));elsif clk'event和clk ='1'然后如果clk_enable ='1'然后delay_pipeline(0)<=签名(filter_in);delay_pipeline(1到50)<= delay_pipeline(0到49);万一;万一;结束过程delay_pipeline_process;
  • '上'- 生成的代码使用VHDLrising_edge.在寄存器上运行时检查上升沿的功能。例如:

    delay_pipeline_process:进程(clk,重置)开始,如果reset ='1'然后delay_pipeline(0到50)<=(其他=>'(其他=>'0'));elsif riscing_edge(clk)然后如果clk_enable ='1'然后delay_pipeline(0)<=签名(filter_in);delay_pipeline(1到50)<= delay_pipeline(0到49);万一;万一;结束过程delay_pipeline_process;

当时钟转换时'X''1',两种编码样式具有不同的仿真行为。

使用Verilog'时间尺度编译器指令,指定为'上'或者'离开'。这时间尺度指令提供了一种在Verilog文件中为多个模块指定不同延迟值的方式。当此属性设置为时'离开',编码器排除生成的Verilog代码中的指令。

尖端

如果你使用fdhdltool.函数要生成HDL代码,可以设置相应的属性全局设置>先进的在“生成HDL”对话框中的选项卡。

也可以看看

|

话题