主要内容

generatehdl

生成量化的HDL代码DSP滤波器(需要滤波器设计高密度脂蛋白编码器)

描述

例子

generatehdl (filtSO“InputDataType”,nt)指定过滤系统生成HDL代码对象™和输入数据类型,nt

生成的文件是一个源文件,包括实体声明和架构代码。你可以找到这个文件在你当前的工作目录,里面hdlsrc子文件夹。

generatehdl (filtSO“InputDataType”,nt“FractionalDelayDataType”,fd)生成HDL代码dsp.VariableFractionalDelay过滤系统对象。指定输入数据类型,nt分数延迟数据类型,fd

generatehdl (filterObj)指定生成HDL代码dfilt使用默认设置过滤器对象。

例子

generatehdl (___、名称、值)使用可选名称参数,除了输入参数在以前的语法。使用这些属性来覆盖默认的HDL代码生成设置。

更多细节,请参阅相应的属性在滤波器设计高密度脂蛋白编码器™文档:

例子

全部折叠

设计一种直接与这些规范对称equiripple过滤器:

  • 0.2标准化的通频带的频率

  • 规范化的阻带频率为0.22

  • 通带波纹1 dB

  • 阻带衰减的60分贝

设计函数返回一个dsp.FIRFilter系统对象™实现规范。

filtSpecs = fdesign.lowpass (“Fp,置,美联社,Ast”,0.2,0.22,1、60);火=设计(filtSpecs,“equiripple”,“FilterStructure”,“dfsymfir”,“SystemObject”,真正的)
火= dsp。FIRFilter属性:结构:“直接形成对称”NumeratorSource:“财产”分子:[-0.0011 -0.0017 -0.0025 -0.0031 -0.0031 -0.0024 -9.7703 e-04 0.0010 0.0031 0.0049 0.0059 0.0057 0.0046 8.1727 -3.8937 -8.8308 -3.9494 0.0029 - 9.8747 e-04 e-04 e-04 e-04 e-04 0.0022 0.0032 0.0033 0.0025 9.6853 -6.5050 e-04 e-04……]InitialConditions: 0显示所有属性

生成HDL代码,调用generatehdl函数。过滤器是一个系统对象时,您必须指定一个定点数据类型的输入使用InputDataType(过滤器设计高密度脂蛋白编码器)财产。编码器生成该文件MyFilter.vhd在默认的目标文件夹,hdlsrc

generatehdl(火,“InputDataType”15)numerictype(16日,“名字”,“MyFilter”);
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:MyFilter # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex48836167 / hdlsrc / MyFilter。vhd # # # # # #开始代MyFilter VHDL的实体开始代MyFilter硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:MyFilter # # # HDL延迟是2样本

设计一种直接与这些规范对称equiripple过滤器:

  • 0.2标准化的通频带的频率

  • 规范化的阻带频率为0.22

  • 通带波纹1 dB

  • 阻带衰减的60分贝

设计函数返回一个dsp.FIRFilter系统对象™实现规范。

filtSpecs = fdesign.lowpass (“Fp,置,美联社,Ast”,0.2,0.22,1、60);火=设计(filtSpecs,“equiripple”,“FilterStructure”,“dfsymfir”,“SystemObject”,真正的)
火= dsp。FIRFilter属性:结构:“直接形成对称”NumeratorSource:“财产”分子:[-0.0011 -0.0017 -0.0025 -0.0031 -0.0031 -0.0024 -9.7703 e-04 0.0010 0.0031 0.0049 0.0059 0.0057 0.0046 8.1727 -3.8937 -8.8308 -3.9494 0.0029 - 9.8747 e-04 e-04 e-04 e-04 e-04 0.0022 0.0032 0.0033 0.0025 9.6853 -6.5050 e-04 e-04……]InitialConditions: 0显示所有属性

生成VHDL代码和硬件描述语言(VHDL)试验台的冷杉equiripple过滤器。过滤器是一个系统对象时,您必须指定一个定点数据类型的输入数据类型。编码器生成文件MyFilter.vhdMyFilterTB.vhd在默认的目标文件夹,hdlsrc

generatehdl(火,“InputDataType”15)numerictype(16日,“名字”,“MyFilter”,“GenerateHDLTestbench”,“上”,“TestBenchName”,“MyFilterTB”)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:MyFilter # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex63281302 / hdlsrc / MyFilter。vhd # # # # # #开始代MyFilter VHDL的实体开始代MyFilter硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:MyFilter # # # HDL延迟是2 # # #样品开始一代的硬件描述语言(VHDL)试验台。刺激# # # # # #生成输入生成输入刺激;4486个样本长度。# # #生成试验台:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex63281302 / hdlsrc / MyFilterTB。vhd # # #创造刺激向量……# # #完成生成硬件描述语言(VHDL)试验台。

设计直接形成对称equiripple过滤器完全平行(默认)体系结构和可编程的系数。的设计函数返回一个dsp.FIRFilter系统对象™使用默认低通滤波器规范。

firfilt =设计(fdesign.lowpass,“equiripple”,“FilterStructure”,“dfsymfir”,“SystemObject”,真正的)
firfilt = dsp。FIRFilter属性:结构:“直接形成对称”NumeratorSource:“财产”分子:[-0.0024 -0.0021 0.0068 0.0167 0.0111 -0.0062 -0.0084 0.0093 0.0130 -0.0101 -0.0183 0.0114 0.0262 -0.0125 -0.0380 0.0134 0.0582 -0.0140 -0.1027 0.0145 0.3172 0.4854 0.3172 0.0145 -0.1027 -0.0140 0.0582 0.0134 -0.0380 -0.0125……]InitialConditions: 0显示所有属性

生成HDL代码,调用generatehdl函数。过滤器是一个系统对象时,您必须指定一个定点数据类型的输入数据。为系数生成处理器接口,您必须指定一个额外的名称-值对的论点。

generatehdl (firfilt“InputDataType”15)numerictype(16日,“CoefficientSource”,“ProcessorInterface”)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex74213987 / hdlsrc / firfilt。vhd # # # # # #开始代firfilt VHDL的实体开始代firfilt硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # # HDL延迟是2样本

编码器生成这对滤波器硬件描述语言(VHDL)的实体对象。

创建一个直接形成反对称滤波器系数:

0.45多项式系数= fir1(22日);firfilt = dsp.FIRFilter (“分子”多项式系数,“结构”,直接形成反对称的)
firfilt = dsp。FIRFilter属性:结构:直接形成反对称的NumeratorSource:“财产”分子:[3.6133 e-04 e-04 8.4473 0.0031 -0.0090 -0.0072 0.0203 0.0272 -0.0341 -0.0794 0.0455 0.3078 0.4490 0.3078 0.0455 -0.0794 -0.0341 0.0272 0.0203 - -0.0072 -0.0090 - 8.4473 0.0031 - 3.6133 e-04 e-04] InitialConditions: 0显示所有属性

生成HDL代码,调用generatehdl函数。过滤器是一个系统对象时,您必须指定一个定点数据类型的输入数据。生成部分串行架构,指定一个串行分区。要启用CoefficientMemory财产,必须设置CoefficientSourceProcessorInterface

generatehdl (firfilt“InputDataType”15)numerictype(16日,“SerialPartition”7 [4],“CoefficientMemory”,“DualPortRAMs”,“CoefficientSource”,“ProcessorInterface”)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex21465785 / hdlsrc / firfilt。vhd # # # # # #开始代firfilt VHDL的实体开始代firfilt硬件描述语言(VHDL)架构# # #输入采样率的时钟频率是7倍这个架构。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # # HDL延迟是3样本

生成的代码包含一个双端口RAM接口可编程的系数。

探讨不同的串行实现的时钟频率和延迟相同的过滤器。使用对称结构也允许过滤逻辑共享乘数为对称系数。

创建一个与这些规范直接形成对称的冷杉过滤器:

  • 过滤器订单13

  • 6分贝的归一化截止频率为0.4点

设计函数返回一个dsp.FIRFilter系统对象™实现规范。

冷杉=设计(fdesign.lowpass (“N,俱乐部”13。4)“FilterStructure”,“dfsymfir”,“SystemObject”,真正的)
冷杉= dsp。FIRFilter属性:结构:“直接形成对称”NumeratorSource:“财产”分子:[0.0037 0.0045 -0.0115 0.1776 0.3674 0.3674 0.1776 1.0911 -0.0417 - 1.0911 e-17 e-17 -0.0417 -0.0115 0.0045 0.0037] InitialConditions: 0显示所有属性

生成HDL代码,调用generatehdl函数。过滤器是一个系统对象时,您必须指定一个定点数据类型的输入数据。

基线比较,首先生成一个默认的完全并行体系结构。

generatehdl(杉木、“名字”,“FullyParallel”,“InputDataType”numerictype(15) 1, 16日)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:FullyParallel # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex94948885 / hdlsrc / FullyParallel。vhd # # # # # #开始代FullyParallel VHDL的实体开始代FullyParallel硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:FullyParallel # # # HDL延迟是2样本

生成一个完全串行架构通过设置分区大小的有效过滤长度。系统时钟频率是六次输入采样率。高密度脂蛋白延迟报道是样品大于默认的并行实现。

generatehdl(杉木、“SerialPartition”6“名字”,“FullySerial”,“InputDataType”numerictype(15) 1, 16日)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:FullySerial # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex94948885 / hdlsrc / FullySerial。vhd # # # # # #开始代FullySerial VHDL的实体开始代FullySerial硬件描述语言(VHDL)架构# # #时钟频率是6乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:FullySerial # # # HDL延迟是3样本

生成一个部分串行架构有三个分区。此体系结构使用三种乘数。时钟频率是两倍的输入速率,延迟是一样的默认的并行实现。

generatehdl(杉木、“SerialPartition”(2 2 2),“名字”,“PartlySerial”,“InputDataType”numerictype(15) 1, 16日)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:PartlySerial # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex94948885 / hdlsrc / PartlySerial。vhd # # # # # #开始代PartlySerial VHDL的实体开始代PartlySerial硬件描述语言(VHDL)架构# # #时钟频率是2乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:PartlySerial # # # HDL延迟是3样本

生成一个cascade-serial架构通过启用蓄电池重用。指定的三个分区的大小降序排列。注意,时钟频率高于利率的部分串行(没有蓄电池重用)的例子。

generatehdl(杉木、“SerialPartition”(3 2 1),“ReuseAccum”,“上”,“名字”,“CascadeSerial”,“InputDataType”numerictype(15) 1, 16日)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:CascadeSerial # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex94948885 / hdlsrc / CascadeSerial。vhd # # # # # #开始代CascadeSerial VHDL的实体开始代CascadeSerial硬件描述语言(VHDL)架构# # #时钟频率4乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:CascadeSerial # # # HDL延迟是3样本

你也可以生成一个cascade-serial建筑如果没有显式指定分区。编码器自动选择分区大小。

generatehdl(杉木、“ReuseAccum”,“上”,“名字”,“CascadeSerial”,“InputDataType”numerictype(15) 1, 16日)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:CascadeSerial # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex94948885 / hdlsrc / CascadeSerial。vhd # # # # # #开始代CascadeSerial VHDL的实体开始代CascadeSerial硬件描述语言(VHDL)架构# # #时钟频率4乘以这个架构的输入采样率。# # # # 1有3个输入串行分区。# # # # 2有3个输入串行分区。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:CascadeSerial # # # HDL延迟是3样本

创建一个二级级联滤波器与这些规范为每个阶段过滤:

  • 直接形成对称的冷杉过滤器

  • 过滤器订单8

  • 6分贝的归一化截止频率为0.4点

每个调用的设计函数返回一个dsp.FIRFilter系统对象™实现规范。的级联函数返回一个二级级联滤波器。

lp =设计(fdesign.lowpass (“N,俱乐部”8。4)“FilterStructure”,“dfsymfir”,“SystemObject”,真正的)
lp = dsp。FIRFilter属性:结构:“直接形成对称”NumeratorSource:“财产”分子:[-0.0061 -0.0136 0.0512 0.2657 0.4057 0.2657 0.0512 -0.0136 -0.0061]InitialConditions: 0显示所有属性
惠普=设计(fdesign.highpass (“N,俱乐部”8。4)“FilterStructure”,“dfsymfir”,“SystemObject”,真正的)
惠普= dsp。FIRFilter属性:结构:“直接形成对称”NumeratorSource:“财产”分子:[0.0060 0.0133 -0.0501 -0.2598 0.5951 -0.2598 -0.0501 0.0133 0.0060]InitialConditions: 0显示所有属性
李宁公司=级联(lp)、惠普)
李宁公司= dsp。过滤器Cascade with properties: Stage1: [1x1 dsp.FIRFilter] Stage2: [1x1 dsp.FIRFilter] CloneStages: true

生成HDL代码,调用generatehdl级联滤波器的功能。过滤器是一个系统对象时,您必须指定一个定点数据类型的输入数据。

为每个指定不同的分区级联阶段作为一个单元阵列。

generatehdl (casc和“InputDataType”15)numerictype(16日,“SerialPartition”1,{2 [3],[4]})
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt # # # # 1 # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage1 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex16715237 / hdlsrc / casfilt_stage1。vhd # # # # # #开始代casfilt_stage1 VHDL的实体开始代casfilt_stage1硬件描述语言(VHDL)架构# # #时钟频率是3乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage1 # 2 # # # # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage2 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex16715237 / hdlsrc / casfilt_stage2。vhd # # # # # #开始代casfilt_stage2 VHDL的实体开始代casfilt_stage2硬件描述语言(VHDL)架构# # #时钟频率4乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage2 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex16715237 / hdlsrc / casfilt。vhd # # # # # #开始代casfilt VHDL的实体开始代casfilt硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt # # # HDL延迟是2样本

探索有效的滤波器长度和分区选项为每个过滤阶段的级联,调用hdlfilterserialinfo函数。函数返回一个分区向量对应一个所需数量的乘数。请求连环分区第一阶段的可能性,并选择一个数量的乘数。

hdlfilterserialinfo (casc.Stage1“InputDataType”numerictype(15) 1, 16日)
| 0 | |总系数A / Symm有效| | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 9 | 0 | 4 | 5 |有效的滤波器长度SerialPartition值是5。表的SerialPartition折叠因子值与相应的值的数量和乘数为给定的过滤器。| |折叠因素乘数| SerialPartition | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 1 | 5 | (1 1 1 1 1) | | 2 | 3 | (2 2 1) | | 3 | 2 | 2 [3] | | 4 | 2 | [4 1] | | 5 | 1 | [5] |

选择一个系列划分为两个乘数的目标向量,并通过的向量generatehdl函数。这样调用函数返回第一个可能的分区向量,但有多个分区向量实现two-multiplier架构。每个阶段使用不同的时钟频率基于乘数的数量。编码器生成派生这些时钟的定时控制器。

sp1 = hdlfilterserialinfo (casc.Stage1,“InputDataType”15)numerictype(16日,“乘数”,2)
sp1 =1×23 - 2
sp2 = hdlfilterserialinfo (casc.Stage2,“InputDataType”15)numerictype(16日,“乘数”3)
sp2 =1×32 2 1
generatehdl (casc和“InputDataType”15)numerictype(16日,“SerialPartition”,{sp1, sp2})
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt # # # # 1 # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage1 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex16715237 / hdlsrc / casfilt_stage1。vhd # # # # # #开始代casfilt_stage1 VHDL的实体开始代casfilt_stage1硬件描述语言(VHDL)架构# # #时钟频率是3乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage1 # 2 # # # # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage2 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex16715237 / hdlsrc / casfilt_stage2。vhd # # # # # #开始代casfilt_stage2 VHDL的实体开始代casfilt_stage2硬件描述语言(VHDL)架构# # #时钟频率是2乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage2 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex16715237 / hdlsrc / casfilt。vhd # # # # # #开始代casfilt VHDL的实体开始代casfilt硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt # # # HDL延迟是2样本

创建一个与这些规范直接形式我SOS过滤器:

  • 48 kHz的采样频率

  • 过滤器订单5

  • 10.8 kHz的截止频率3 dB

设计函数返回一个dsp.BiquadFilter系统对象™实现规范。自定义避免了量化误差累加器数据类型。

Fs = 48 e3;Fc = 10.8 e3;N = 5;lp =设计(fdesign.lowpass (“n, f3db”、N、Fc Fs),“黄油”,“FilterStructure”,“df1sos”,“SystemObject”,真的,“UseLegacyBiquadFilter”,真正的)
lp = dsp。BiquadFilter属性:结构:“直接形式我”SOSMatrixSource:“财产”SOSMatrix: [3 x6双]ScaleValues: x1双[4]NumeratorInitialConditions: 0 DenominatorInitialConditions: 0 OptimizeUnityScaleValues:正确显示所有属性
nt_accum = numerictype (“Signedness”,“汽车”,“字”,20岁,“FractionLength”15);nt_input = numerictype(15) 1, 16日;lp。NumeratorAccumulatorDataType =“自定义”;lp。CustomNumeratorAccumulatorDataType = nt_accum;lp。DenominatorAccumulatorDataType =“自定义”;lp。CustomDenominatorAccumulatorDataType = nt_accum;

列出所有可能的串行架构规格过滤器,调用hdlfilterserialinfo函数。过滤器是一个系统对象时,您必须指定一个定点数据类型的输入数据。

hdlfilterserialinfo (lp),“InputDataType”nt_input)
表折叠因素相应数量的乘数为给定的过滤器。| |折叠因素乘数| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 6 | 3 | | 9 | 2 | | 18 | 1 |

生成HDL代码,调用generatehdl函数的一个串行架构。指定的NumMultipliersFoldingFactor属性,但不能两者兼得。例如,使用NumMultipliers属性:

generatehdl (lp),“NumMultipliers”2,“InputDataType”nt_input)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:lp # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex90334139 / hdlsrc / lp。vhd # # #开始一代的lp硬件描述语言(VHDL)实体# # #开始一代的lp硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:lp # # # HDL延迟是2样本

另外,与指定相同的体系结构FoldingFactor财产。

generatehdl (lp),“FoldingFactor”9“InputDataType”nt_input)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:lp # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex90334139 / hdlsrc / lp。vhd # # #开始一代的lp硬件描述语言(VHDL)实体# # #开始一代的lp硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:lp # # # HDL延迟是2样本

这两个命令生成一个过滤器使用共有两个乘数,延迟的九个时钟周期。该建筑使用面积低于并行实现,为代价的延迟。

使用分布式算术乘数的选项来减少滤波器的实现。

创建一个直接形式冷杉过滤和计算滤波器长度,FL

filtdes = fdesign.lowpass (“N, Fc,美联社,Ast”,30岁,0.4,0.05,0.03,“线性”);firfilt =设计(filtdes,“FilterStructure”,“dffir”,“SystemObject”,真正的);FL =(找到(firfilt长度。分子~ = 0))
FL = 31

指定一组分区,分区大小添加到过滤器长度。这只是一个分区选项,您可以指定其他组合的大小。

generatehdl (firfilt“InputDataType”15)numerictype(16日,“DALUTPartition”(8 8 8 7))
# # #结构冷杉对称系数,考虑转换成结构symmetricfir面积减少。# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex00198568 / hdlsrc / firfilt。vhd # # # # # #开始代firfilt VHDL的实体开始代firfilt硬件描述语言(VHDL)架构# # #时钟频率是16倍的输入采样率这个架构。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # # HDL延迟是3样本

相比之下,创建一个直接形式对称冷杉过滤器。在对称情况下滤波器长度较小的。

filtdes = fdesign.lowpass (“N, Fc,美联社,Ast”,30岁,0.4,0.05,0.03,“线性”);firfilt =设计(filtdes,“FilterStructure”,“dfsymfir”,“SystemObject”,真正的);(找到(firfilt FL =装天花板(长度。分子~ = 0))/ 2)
FL = 16

指定一组分区,分区大小添加到过滤器长度。这只是一个分区选项,您可以指定其他组合的大小。提示:使用hdlfilterdainfo函数显示有效的滤波器长度,附近地区分区选项,和可能的DARadix值一个过滤器。

generatehdl (firfilt“InputDataType”15)numerictype(16日,“DALUTPartition”,8 [8])
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex00198568 / hdlsrc / firfilt。vhd # # # # # #开始代firfilt VHDL的实体开始代firfilt硬件描述语言(VHDL)架构# # #时钟频率是17倍的输入采样率这个架构。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # # HDL延迟是3样本

使用分布式算术乘数的选项来减少滤波器的实现。

创建一个直接形式冷杉多相杀害多人者,计算滤波器的长度。

d = fdesign.decimator (4);filt =设计(d,“SystemObject”,真正的);FL =大小(多相(filt), 2)
FL = 27

指定分布式算术附近地区的分区添加到过滤器的大小。当你指定分区作为多相滤波器的向量,每个subfilter使用相同的分区。

generatehdl (filt“InputDataType”15)numerictype(16日,“DALUTPartition”[8 8 8 3])
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:firdecim # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex51670151 / hdlsrc / firdecim。vhd # # # # # #开始代firdecim VHDL的实体开始代firdecim硬件描述语言(VHDL)架构# # #时钟频率是4倍的输入和输出采样率为16倍这个架构。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:firdecim是16 # # # HDL延迟样本

您还可以指定为每个subfilter独特的分区。同样的滤波器,subfilter分区指定为一个矩阵。第一个subfilter的长度是1,其它subfilters长度26。提示:使用hdlfilterdainfo函数显示有效的滤波器长度,附近地区分区选项,和可能的DARadix值一个过滤器。

d = fdesign.decimator (4);filt =设计(d,“SystemObject”,真正的);generatehdl (filt“InputDataType”15)numerictype(16日,“DALUTPartition”,(1 0 0 0;8 8 8 2;8 8 6 4;8 8 8 2])
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:firdecim # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex51670151 / hdlsrc / firdecim。vhd # # # # # #开始代firdecim VHDL的实体开始代firdecim硬件描述语言(VHDL)架构# # #时钟频率是4倍的输入和输出采样率为16倍这个架构。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:firdecim是16 # # # HDL延迟样本

使用分布式算术乘数的选项来减少滤波器的实现。

建立级联滤波器

创建一个二级级联滤波器。定义每个阶段不同的附近地区分区,并指定分区单元阵列的向量。

lp =设计(fdesign.lowpass (“N,俱乐部”8。4)“filterstructure”,“dfsymfir”,“SystemObject”,真正的);惠普=设计(fdesign.highpass (“N,俱乐部”8。4)“filterstructure”,“dfsymfir”,“SystemObject”,真正的);李宁公司=级联(lp)、惠普);nt1 = numerictype (1、12、10);generatehdl (casc和“InputDataType”nt1,“DALUTPartition”2、{[3],[2 2 1]})
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt # # # # 1 # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage1 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex17169310 / hdlsrc / casfilt_stage1。vhd # # # # # #开始代casfilt_stage1 VHDL的实体开始代casfilt_stage1硬件描述语言(VHDL)架构# # #时钟频率是13倍的输入采样率这个架构。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage1 # 2 # # # # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage2 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex17169310 / hdlsrc / casfilt_stage2。vhd # # # # # #开始代casfilt_stage2 VHDL的实体开始代casfilt_stage2硬件描述语言(VHDL)架构# # #时钟频率是29乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage2 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex17169310 / hdlsrc / casfilt。vhd # # # # # #开始代casfilt VHDL的实体开始代casfilt硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt # # # HDL延迟是4样本

分布式算法的选择

使用hdlfilterdainfo函数显示有效的滤波器长度,附近地区分区选项,和可能的DARadix值为每个滤波器级联的舞台。函数返回一个分区向量对应一个号码的地址位。

请求附近地区分区第一阶段的可能性。

hdlfilterdainfo (casc.Stage1“InputDataType”,nt1);
| 0 | |总系数A / Symm有效| | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 9 | 0 | 4 | 5 |有效的滤波器长度SerialPartition值是5。表“DARadix”的折叠因子和多值与相应的值附近地区设置为给定的滤波器。多个| | |折叠因素LUT-Sets DARadix | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 1 | 12 | 2 ^ 12 | | 3 | 6 | 2 ^ 6 | | 4 | 4 | 2 ^ 4 | | 5 | 3 | 2 ^ 3 | | 7 | 2 | 2 ^ 2 | | 13 | 1 | 2 ^ 1 |附近地区的细节与相应的“DALUTPartition”值。| |马克斯地址宽度大小(位)| |附近地区细节DALUTPartition | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 5 | 416 | 1 x32x13 | [5] | | 216 | | 1 x16x12 1 x2x12 | [4 1] | | 3 | 124 | 1 x4x13 1 x8x9 | 2 [3] | | 2 | 104 | 1 x2x12 1 x4x12 1 x4x8 | |(2 2 1)注:1。附近地区的细节表明附近地区的大小。例如1 x1024x18意味着附近地区1024是18位宽的位置。

为第二阶段请求附近地区分区的可能性,你必须首先确定输入数据类型的第二阶段。

y = casc.Stage1 (fi (0, nt1));nt2 = y.numerictype;hdlfilterdainfo (casc.Stage2“InputDataType”nt2);
| 0 | |总系数A / Symm有效| | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 9 | 0 | 4 | 5 |有效的滤波器长度SerialPartition值是5。表“DARadix”的折叠因子和多值与相应的值附近地区设置为给定的滤波器。多个| | |折叠因素LUT-Sets DARadix | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 1 | | 28日2 ^ 28 | | 3 | 14 | 2 ^ 14 | | 5 | 7 | 2 ^ 7 | | 8 | 4 | 2 ^ 4 | | 15 | 2 | 2 ^ 2 | | 29日| 1 | 2 ^ 1 |附近地区的细节与相应的“DALUTPartition”值。| |马克斯地址宽度大小(位)| |附近地区细节DALUTPartition | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 5 | 896 | 1 x32x28 | [5] | | 488 | | 1 x16x27 1 x2x28 | [4 1] | | 3 | 304 | 1 x4x28 1 x8x24 | 2 [3] | | 2 | 256 | 1 x2x28 1 x4x23 1 x4x27 | |(2 2 1)注:1。附近地区的细节表明附近地区的大小。例如1 x1024x18意味着附近地区1024是18位宽的位置。

每个阶段不同附近地区分区

选择地址宽度和折叠因素为每个阶段获得附近地区分区。第一阶段使用附近地区最大地址大小的五位。第二阶段使用附近地区最大地址大小的三个部分。他们运行在相同的时钟频率,有不同的附近地区分区。

dp1 = hdlfilterdainfo (casc.Stage1,“InputDataType”nt1,“LUTInputs”5,“FoldingFactor”3);dp2 = hdlfilterdainfo (casc.Stage2,“InputDataType”nt1,“LUTInputs”3,“FoldingFactor”5);generatehdl (casc和“InputDataType”nt1,“DALUTPartition”,{dp1、dp2});
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt # # # # 1 # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage1 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex17169310 / hdlsrc / casfilt_stage1。vhd # # # # # #开始代casfilt_stage1 VHDL的实体开始代casfilt_stage1硬件描述语言(VHDL)架构# # #时钟频率是13倍的输入采样率这个架构。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage1 # 2 # # # # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage2 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex17169310 / hdlsrc / casfilt_stage2。vhd # # # # # #开始代casfilt_stage2 VHDL的实体开始代casfilt_stage2硬件描述语言(VHDL)架构# # #时钟频率是29乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage2 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex17169310 / hdlsrc / casfilt。vhd # # # # # #开始代casfilt VHDL的实体开始代casfilt硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt # # # HDL延迟是4样本

不同的DARadix每个阶段的值

你也可以指定不同的DARadix值为每个滤波器级联。你只能在命令行指定不同的级联分区。当你指定的分区产生高密度脂蛋白对话框,所有级联阶段使用相同的分区。检查的结果hdlfilterdainfo设置DARadix值为每个阶段。

generatehdl (casc和“InputDataType”nt1,“DALUTPartition”2、{[3],[2 2 1)},“DARadix”,{2 ^ 3、2 ^ 7})
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt # # # # 1 # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage1 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex17169310 / hdlsrc / casfilt_stage1。vhd # # # # # #开始代casfilt_stage1 VHDL的实体开始代casfilt_stage1硬件描述语言(VHDL)架构# # #时钟频率是5乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage1 # 2 # # # # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage2 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex17169310 / hdlsrc / casfilt_stage2。vhd # # # # # #开始代casfilt_stage2 VHDL的实体开始代casfilt_stage2硬件描述语言(VHDL)架构# # #时钟频率是5乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage2 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex17169310 / hdlsrc / casfilt。vhd # # # # # #开始代casfilt VHDL的实体开始代casfilt硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt # # # HDL延迟是4样本

指定不同的过滤器体系结构级联滤波器的不同阶段。您可以指定一个串行、分布式算术(DA)和并行架构根据你的硬件约束。

建立级联滤波器

创建一个三级过滤。每个阶段都是不同的类型。

h1 = dsp.FIRFilter (“分子”,[0.05 -。25 .88点0.9 .88点-。25 0.05]);h2 = dsp.FIRFilter (“分子”(-0.008 0.06 -0.44 0.44 -0.06 - 0.008),“结构”,直接形成反对称的);h3 = dsp.FIRFilter (“分子”(-0.008 0.06 0.44 0.44 0.06 - -0.008),“结构”,直接形成对称的);李宁公司=级联(h1, h2, h3);

为每个阶段指定架构

为第一阶段指定DA架构,为第二阶段串行架构,一个完全平行(默认)架构第三阶段。

获得DARadix价值观第一建筑使用hdlfilterdainfo,然后选择一个值博士

元= numerictype (1、12、10);[dp,博士,lutsize, ff) = hdlfilterdainfo (casc.Stage1,“InputDataType”10)numerictype(12日);博士
博士=6 x1细胞{' 2 ^ 12}{2 ^ 6的}{2 ^ 4的}{' 2 ^ 3}{2 ^ 2的}{2 ^ 1的}

属性值设置为细胞阵列,每个单元适用于舞台。禁用一个属性为特定阶段,使用默认值(1和2的分区DARadix)。

generatehdl (casc和“InputDataType”元,“SerialPartition”{1,3,1},“DALUTPartition”,{3 [4],1,1},“DARadix”,{2 ^ 6 2 2});
# # #结构冷杉对称系数,考虑转换成结构symmetricfir面积减少。# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt # # # # 1 # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage1 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex13094988 / hdlsrc / casfilt_stage1。vhd # # # # # #开始代casfilt_stage1 VHDL的实体开始代casfilt_stage1硬件描述语言(VHDL)架构# # #时钟频率是2乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage1 # 2 # # # # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage2 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex13094988 / hdlsrc / casfilt_stage2。vhd # # # # # #开始代casfilt_stage2 VHDL的实体开始代casfilt_stage2硬件描述语言(VHDL)架构# # #时钟频率是3乘以这个架构的输入采样率。# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage2 # # # # 3 # # #级联阶段开始硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage3 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex13094988 / hdlsrc / casfilt_stage3。vhd # # # # # #开始代casfilt_stage3 VHDL的实体开始代casfilt_stage3硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt_stage3 # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex13094988 / hdlsrc / casfilt。vhd # # # # # #开始代casfilt VHDL的实体开始代casfilt硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:casfilt # # # HDL延迟是3样本

您可以指定输入系数与可编程测试过滤器系数。

创建一个直接形式对称冷杉过滤器与一个完全平行(默认)体系结构。定义过滤器对象的系数向量b。编码器生成试验台代码测试接口使用第二组系数,系数c。修剪的编码器c过滤器的有效长度。

b = (-0.01 0.1 - 0.8 0.1 - -0.01);c = (-0.03 0.5 - 0.7 0.5 - -0.03);c = c(1:装天花板(长度(c) / 2));filt = dsp.FIRFilter (“分子”b“结构”,直接形成对称的);generatehdl (filt“InputDataType”15)numerictype(16日,“GenerateHDLTestbench”,“上”,“CoefficientSource”,“ProcessorInterface”,“TestbenchCoeffStimulus”c)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex66247050 / hdlsrc / firfilt。vhd # # # # # #开始代firfilt VHDL的实体开始代firfilt硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # # HDL延迟是2 # # #样品开始一代的硬件描述语言(VHDL)试验台。刺激# # # # # #生成输入生成输入刺激;3107个样本长度。# # #生成试验台:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex66247050 / hdlsrc / firfilt_tb。vhd # # #创造刺激向量……# # #完成生成硬件描述语言(VHDL)试验台。

创建一个过滤器规范。生成HDL代码时,指定一个可编程接口的系数。

Fs = 48 e3;Fc = 10.8 e3;N = 5;f_lp = fdesign.lowpass (“n, f3db”、N、Fc Fs);filtiir =设计(f_lp,“黄油”,“FilterStructure”,“df2sos”,“SystemObject”,真的,“UseLegacyBiquadFilter”,真正的);filtiir。OptimizeUnityScaleValues = 0;generatehdl (filtiir“InputDataType”15)numerictype(16日,“CoefficientSource”,“ProcessorInterface”)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:filtiir # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex92389569 / hdlsrc / filtiir。vhd # # # # # #开始代filtiir VHDL的实体开始代filtiir硬件描述语言(VHDL)架构# # #二阶节# 1 # # #二阶节# 2 # # #一阶部分,# 3 # # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:filtiir # # # HDL延迟是2样本

编码器生成这对滤波器硬件描述语言(VHDL)的实体对象。

探索不同的方式来指定时钟端口多重速率的过滤器。

默认设置

创建一个多相采样率转换器。默认情况下,编码器生成一个单一的输入时钟(clk),一个输入时钟使(clk_enable),和一个时钟使输出信号命名ce_out。的ce_out信号表明当输出样本已经准备好了。的ce_in输出信号表示当输入样本接受。您可以使用这个信号来控制上游数据流。

firrc = dsp.FIRRateConverter (“InterpolationFactor”5,“DecimationFactor”3);generatehdl (firrc“InputDataType”numerictype(15) 1, 16日)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:firrc # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex09049114 / hdlsrc / firrc。vhd # # # # # #开始代firrc VHDL的实体开始代firrc硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:firrc # # # HDL延迟是2样本

所生成的实体有以下信号:

自定义时钟的名字

你可以提供自定义的名称输入时钟启用和输出时钟信号。你不能重命名ce_in信号。

firrc = dsp.FIRRateConverter (“InterpolationFactor”5,“DecimationFactor”3)
firrc = dsp。FIRRateConverter属性:主要InterpolationFactor: 5 DecimationFactor: 3 NumeratorSource:“财产”分子:[0 -1.8884 -2.2552 -1.6044 -6.6976 e-05 e-04 e-04 e-04 0 6.2531 8.2104 6.5785 3.2095 e-04 e-04 e-04 e-04 e-04 -0.0018 -0.0021 -0.0015 -9.1992 0 0 0 0.0021 0.0039 0.0045 0.0032 -0.0042 -0.0077 -0.0087 -0.0061 0.0076 0.0138 0.0154……)显示所有属性
generatehdl (firrc“InputDataType”15)numerictype(16日,“ClockEnableInputPort”,“clk_en1”,“ClockEnableOutputPort”,“clk_en2”)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:firrc # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex09049114 / hdlsrc / firrc。vhd # # # # # #开始代firrc VHDL的实体开始代firrc硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:firrc # # # HDL延迟是2样本

所生成的实体有以下信号:

多个时钟输入

生成多个时钟支持多频滤波器的输入信号,设置金宝appClockInputs财产“多”。在这种情况下,编码器不生成任何输出时钟使港口。

decim = dsp.CICDecimator (7、1、4);generatehdl (decim“InputDataType”15)numerictype(16日,“ClockInputs”,“多”)
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:cicDecOrIntFilt # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex09049114 / hdlsrc / cicDecOrIntFilt。vhd # # # # # #开始代cicDecOrIntFilt VHDL的实体开始代cicDecOrIntFilt硬件描述语言(VHDL)架构# # # # 1:部分积分器# # # # 2:部分积分器# # # # 3:部分积分器# # # # 4:部分积分器# # # # 5节:梳子# # # # 6节:梳子# # # # 7节:梳子# # # # 8节:梳子# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:cicDecOrIntFilt # # # HDL延迟7样品

所生成的实体有以下信号:

创建一个过滤器对象。然后调用generatehdl,并指定一个合成工具。

lpf = fdesign.lowpass (“fp,置,美联社,ast”,0.45,0.55,1、60);firfilt =设计(通滤波器,“equiripple”,“FilterStructure”,“dfsymfir”,“SystemObject”,真正的);generatehdl (firfilt“InputDataType”13)、numerictype(1、14日,“HDLSynthTool”,“第四的”);
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex92219095 / hdlsrc / firfilt。vhd # # # # # #开始代firfilt VHDL的实体开始代firfilt硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # # HDL延迟是2样本

编码器生成一个脚本文件命名firfilt_quartus.tcl,使用默认的脚本属性阿尔特拉®第二第四的合成工具。

类型hdlsrc / firfilt_quartus.tcl
load_package流设置top_level firfilt src_dir设置”。mkdir / hdlsrc q2dir“设置prj_dir文件. ./ $ prj_dir cd . .美元/ $ prj_dir project_new top_level修订美元top_level覆盖set_global_assignment - name家庭“Stratix II”set_global_assignment - name设备EP2S60F484C3 set_global_assignment - name TOP_LEVEL_ENTITY美元top_level set_global_assignment - name . . / $ src_dir / firfilt vhdl_FILE”。vhd”execute_flow编译project_close

可以设置脚本自动化属性来说明虚拟值编码器结构的合成脚本属性。

设计一个过滤器和产生高密度脂蛋白。指定一个合成工具,自定义文本中包含合成脚本。

lpf = fdesign.lowpass (“fp,置,美联社,ast”,0.45,0.55,1、60);firfilt =设计(通滤波器,“equiripple”,“FilterStructure”,“dfsymfir”,“Systemobject”,真正的);generatehdl (firfilt“InputDataType”13)、numerictype(1、14日,“HDLSynthTool”,“伊势”,“HDLSynthInit”,“init第1行:模块名称% s \ ninit第2行\ n”,“HDLSynthCmd”,'命令:高密度脂蛋白文件名是% s \ n”,“HDLSynthTerm”,“1 \ nterm线2 \ n”一词);
# # #开始硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # #生成:/ tmp / Bdoc23a_2213998_478575 / tpadc45a61 hdlfilter-ex64737676 / hdlsrc / firfilt。vhd # # # # # #开始代firfilt VHDL的实体开始代firfilt硬件描述语言(VHDL)架构# # #成功完成硬件描述语言(VHDL)过滤器的代码生成过程:firfilt # # # HDL延迟是2样本

编码器生成一个脚本文件命名firfilt_ise.tcl。注意指定的自定义文本的位置。您可以使用此功能添加合成指令生成的脚本。

类型hdlsrc / firfilt_ise.tcl
init第1行:模块的名字叫firfilt init 2命令行:高密度脂蛋白firfilt文件名。vhd项第1行项第2行

输入参数

全部折叠

过滤器的生成HDL代码,指定为一个过滤系统对象。要创建一个过滤系统对象,可以使用设计函数或看到页面的对象的引用。您可以使用以下系统对象从DSP系统工具箱™:

输入数据类型,指定为一个numerictype(定点设计师)对象。这种说法只适用于当输入滤波器是一个系统对象。调用numerictype(年代,w, f),在那里年代是无符号的签署的1和0,w是位字长,f是部分的数量。

分数延迟数据类型,指定为一个numerictype(定点设计师)对象。这种说法只适用于当输入滤波器dsp.VariableFractionalDelay系统对象。调用numerictype(年代,w, f),在那里年代是无符号的签署的1和0,w是位字长,f是部分的数量。

过滤器的生成HDL代码,指定为一个dfilt对象。您可以创建这个对象使用设计函数。支持过滤特性的概述,请参阅金宝app过滤器配置选项(过滤器设计高密度脂蛋白编码器)

选择

您可以使用fdhdltool(过滤器设计高密度脂蛋白编码器)函数来生成HDL代码而不是(需要滤波器设计HDL编码)。指定输入和分数延迟数据类型作为参数,然后设置附加属性产生高密度脂蛋白的对话框。

版本历史

之前介绍过的R2006a

另请参阅

(过滤器设计高密度脂蛋白编码器)|(过滤器设计高密度脂蛋白编码器)