优化冷杉过滤器
请注意
滤波器设计高密度脂蛋白编码器™产品在将来的版本将会停止。相反,你可以硬件行为模型,生成HDL代码通过使用对象或仿真软件系统万博1manbetx®块从DSP HDL工具箱™。这些对象和块包括hardware-friendly控制信号和体系结构的选择。生成HDL代码DSP HDL工具箱对象和块,你还必须有HDL编码器™产品。
建模的冷杉滤波器硬件的例子,看看完全平行的收缩压冷杉滤波器实现(DSP HDL工具箱)和部分串行收缩期冷杉滤波器实现(DSP HDL工具箱)。这些示例使用离散冷杉滤波器(DSP HDL工具箱)块。等效的功能也是可用的dsphdl.FIRFilter
(DSP HDL工具箱)系统对象™。
为您的教程中创建一个文件夹文件
建立一个可写的工作文件夹以外的MATLAB®安装文件夹来存储文件,完成你的教程将生成的工作。本教程说明假设您创建的文件夹hdlfilter_tutorials
在驱动器C。
设计师设计冷杉过滤器过滤器
本教程将指导您完成的步骤设计一个优化量化离散冷杉过滤器,过滤器生成Verilog代码,验证Verilog代码与生成的试验台。
这部分假设您熟悉MATLAB用户界面和过滤器设计师。
启动MATLAB软件。
设置当前文件夹中创建的文件夹为您的教程中创建一个文件夹文件。
设计师通过输入启动过滤器
filterDesigner
在MATLAB命令窗口命令。滤波器的设计和分析工具。滤波器设计与分析工具,设置这些过滤器选项。
选项 价值 响应类型 低通滤波器
设计方法 冷杉Equiripple
过滤器订单 最低订购量 选项 密度因素:20
频率的规范 单位:
赫兹
Fs:
48000年
成就:
9600年
Fstop:12000
大小规格 单位:
dB
apas:
1
Astop:
80年
这些设置为默认滤波器设计的滤波器设计创造了你。如果你没有改变过滤器,和设计滤波器是灰色的,你做的,可以跳过吗数字转换冷杉过滤器。
点击设计滤波器。指定的过滤器设计师创建一个过滤器的设计。以下消息出现在滤波器设计任务完成时状态栏。
设计滤波器……完成
有关设计的更多信息过滤器过滤设计,DSP系统工具箱™文档。
数字转换冷杉过滤器
你必须为HDL代码生成数字转换过滤器。数字转换你的过滤器,
打开创建的数字滤波器设计设计师设计冷杉过滤器过滤器如果尚未打开。
单击设置量化参数按钮在左侧工具栏。显示一个过滤器设计师过滤算法菜单窗口的下半部分。
选择
定点
从列表中。然后选择指定所有
从过滤精度列表。过滤器设计显示三个选项卡面板的量化参数的第一个窗口的下半部分。使用量化选项来测试各种设置的影响量化滤波器的性能和精度。
设置量化参数如下:
选项卡 参数 设置 系数 分子字长 16
Best-precision部分长度 选择
使用无符号表示 清除
分子尺度系数要充分利用整个动态范围 清除
输入/输出 输入单词长度 16
输入部分长度 15
输出字长 16
过滤器内部 舍入模式 地板上
溢出模式 饱和
Accum.字长 40
点击应用。
更多信息量化过滤器过滤设计,DSP系统工具箱文档。
配置和生成优化的Verilog代码
后你数字转换过滤器,您可以配置编码器选择和生成过滤器的Verilog代码。本节将指导您完成启动UI,设置选项,并生成Verilog代码和冷杉的试验台滤波器设计和量化设计师设计冷杉过滤器过滤器和数字转换冷杉过滤器。
启动过滤器设计HDL编码UI选择目标>产生高密度脂蛋白在滤波器设计工具。过滤器设计显示了产生高密度脂蛋白的工具。
选择
Verilog
为语言选项,如这个图所示。在的名字文本框的目标窗格中,替换默认的名称
optfir
。这个选项名称Verilog模块和文件,其中包含的Verilog代码过滤器。在过滤器体系结构窗格中,选择优化高密度脂蛋白选择。该选项生成HDL代码优化性能或空间需求。当启用该选项时,编码器使权衡有关数据类型和可能忽略量化设置来实现优化。使用的选项时,请记住,你这样做的代价可能数字过滤结果差异产生的原始过滤器对象和模拟结果优化HDL代码。
选择
CSD
为乘数系数选择。这个选项优化系数乘法器操作指示编码器用添加的部分产品由规范签署数字(CSD)技术。s manbetx 845这种技术的加法操作所需的数量降至最低,常数乘以代表二进制数与最小的非零数字计数。选择添加流水线寄存器选择。FIR滤波器,这个选项优化最终的总和。程序员创建最后一个加法器,对连续执行成对除了产品和包括一个管道阶段注册后树的每一层。s manbetx 845当用于FIR滤波器,这个选项可以产生数值之间的差异的结果产生的原始过滤器对象和模拟结果优化HDL代码。
现在产生高密度脂蛋白工具出现。
选择全局设置选项卡的UI。然后选择一般选项卡的附加的设置部分。
在评论标题文本框中,键入
教程-冷杉滤波器进行了优化
。编码器将评论添加到的头注释块在每个生成的文件。选择港口选项卡的附加的设置部分的UI。
改变输入和输出端口的名称。在输入端口文本框、替换
filter_in
与data_in
。在输出端口文本框、替换filter_out
与data_out
。清楚的复选框添加输入寄存器选择。的港口面板现在看起来如图所示。
单击试验台选项卡中产生高密度脂蛋白的工具。在文件名称文本框,默认名称替换
optfir_tb
。该选项生成的试验台文件名称。在试验台面板中,单击配置选项卡。观察到的误差(位)选择启用。启用这个选项,因为以前选定的优化选项(如添加流水线寄存器)可能会产生数值结果不同于原始过滤器对象产生的结果。你可以使用这个选项来调整最低有效位的数量试验台忽略了在比较之前生成警告。
在产生高密度脂蛋白工具,单击生成启动代码生成过程。代码生成完成时,单击关闭关闭工具。
编码器将显示这些消息在MATLAB命令窗口生成过滤器和试验台Verilog文件:
# # #开始Verilog代码生成过程过滤:optfir # # #生成:C: \ hdlfilter_tutorials \ hdlsrc \ optfir。v # # #开始代optfir Verilog模块# # #开始代optfir Verilog模块体# # # HDL延迟是8 # # #样品成功完成Verilog代码生成过程过滤:optfir # # #开始一代的Verilog试验台刺激# # # # # #生成输入生成输入刺激;3429个样本长度。# # #生成试验台:C: \ hdlfilter_tutorials \ hdlsrc \ optfir_tb。v # # #请稍等…# # #完成生成VERILOG试验台
消息显示,编码器创建文件夹
hdlsrc
在你当前的工作目录和文件的地方optfir.v
和optfir_tb.v
在那个文件夹。观察到的信息包括超链接生成的代码和试验台文件。通过点击这些链接,你可以打开文件直接到MATLAB的代码编辑器。
生成的Verilog代码有这些特征:
Verilog模块命名
optfir
。寄存器使用异步复位信号时重置活性高(1)。
生成的代码,优化其使用的数据类型和消除冗余操作。
CSD的乘数系数优化技术。
最后合计使用管线式技术优化。
表显示了港口的名称。
Verilog港口 的名字 输入 data_in
输出 data_out
时钟输入 clk
时钟允许输入 clk_enable
复位输入 重置
一个额外的注册处理滤波器输出。
系数为
多项式系数
,在那里n
n
是系数的数字,从1开始。类型安全时使用0表示连接:
' 0 ' & ' 0 '
…后缀
“_process”
是附加到顺序(开始
)块的名字。
生成的测试工作台:
是一种便携式Verilog文件。
部队时钟,时钟使,和复位输入信号。
部队时钟使输入信号活性高。
驱动时钟输入信号高(1)5纳秒和低(0)5纳秒。
部队的复位信号两个周期+ 2纳秒的保存时间。
保存时间为2纳秒适用于数据输入信号。
适用于一个4位的误差。
冷杉过滤器,适用于冲动,一步,坡道,唧唧喳喳,白噪声刺激类型。
探索优化生成的Verilog代码
熟悉优化生成的Verilog代码通过打开并浏览该文件optfir.v
在一个ASCII或高密度脂蛋白模拟器编辑器:
打开生成的Verilog过滤器文件
optcfir.v
。搜索
optfir
。这条线标识Verilog模块,使用指定的值的名字选项目标窗格。看到第三步配置和生成优化的Verilog代码。搜索
教程
。这段代码是程序员的文本输入的地方评论标题选择。看到第9步配置和生成优化的Verilog代码。搜索
HDL代码
。本节列出了编码器的选择你修改配置和生成优化的Verilog代码。搜索
过滤器设置
。这部分的硬件描述语言(VHDL)代码描述了滤波器设计和量化设置中指定设计师设计冷杉过滤器过滤器和数字转换冷杉过滤器。搜索
模块
。这条线的名字Verilog模块,使用指定的值的名字选项目标窗格。这条线还声明端口的列表,所定义的选项港口面板产生高密度脂蛋白的工具。数据输入和输出的端口命名为指定的值输入端口和输出端口选项港口标签产生的高密度脂蛋白的工具。见步骤3和步骤11配置和生成优化的Verilog代码。搜索
输入
。这条线和四行,声明每个端口的方向模式。搜索
常量
。这段代码定义了系数。他们命名使用默认的命名方案,多项式系数
,在那里n
n
是系数的数字,从1开始。搜索
信号
。这段代码定义了滤波器的信号。搜索
sumvector1
。这个区域的代码声明了信号实现的一个实例管线式最后加法器。信号最终声明四个额外的管线式蛇也包括在内。这些信号被用来实现与指定的管线式冷杉加法器风格优化添加流水线寄存器选择。看到第7步配置和生成优化的Verilog代码。搜索
过程
。的块
的名字Delay_Pipeline_process
包括默认块
后缀“_process”
。搜索
重置
。这段代码断言复位信号。活性高(1),默认是指定。还注意到过程
适用于寄存器的默认生成代码时异步复位风格。搜索
posedge
。这个Verilog代码检查过滤器操作寄存器时上升的边缘。搜索
sumdelay_pipeline_process1
。这段管道冷杉加法器的实现了流水线寄存器阶段你第7步中指定的风格配置和生成优化的Verilog代码。搜索
output_register
。这段代码将滤波器的输出写入输出寄存器。这个寄存器的代码生成的默认。步骤12中配置和生成优化的Verilog代码,你了添加输入寄存器选择,但离开了添加输出寄存器选中。还要注意,进程名称Output_Register_process
包括默认过程
后缀“_process”
。搜索
data_out
。这段代码使滤波器的输出数据。
验证所生成的Verilog代码
本节解释如何验证冷杉滤波器的优化生成的Verilog代码生成的Verilog试验台。本教程使用的导师图形®ModelSim®模拟器作为编译和仿真的工具Verilog代码。您可以使用其他高密度脂蛋白仿真工具软件包。
验证过滤器代码,完成这些步骤。
开始你的模拟器。当你开始导师图形ModelSim模拟器,出现类似下面的屏幕显示。
设置当前文件夹包含生成的Verilog文件的文件夹。例如:
cd hdlsrc
如果需要,创建一个设计库来存储编译后的Verilog模块。在导师图形ModelSim模拟器,您可以创建一个设计库
vlib
命令。vlib工作
编译生成的过滤和试验台Verilog文件。在导师图形ModelSim模拟器,你编译的Verilog代码
视频博客
命令。这些命令编译过滤器和过滤试验台Verilog代码。视频博客optfir。v视频博客optfir_tb.v
这图显示了命令序列和信息性消息显示在编译。
为模拟加载试验台。加载试验台的过程取决于您所使用的模拟器。在导师图形ModelSim模拟器,加载试验台的模拟
vsim
命令。例如:vsim optfir_tb
这个图显示了加载的结果
optfir_tb
与vsim
命令。打开一个窗口显示监控仿真试验台运行。在导师图形ModelSim打开一个模拟器,可以使用这个命令波窗口和视图作为高密度脂蛋白波形仿真的结果。
加波*
这波窗口打开。
开始运行仿真,开始模拟命令你的模拟器。例如,在导师图形ModelSim模拟器,您可以启动一个模拟的
运行
命令。这图显示了
运行-
命令用于启动一个模拟世界中。作为你的试验台模拟运行时,注意错误消息。如果错误消息出现,解释他们属于你的过滤器设计和HDL代码生成选项选中。确定结果预计基于定制您指定在生成过滤器Verilog代码。
这波高密度脂蛋白波形窗口显示仿真结果。