两种Quartus版本下的IP核,从使用者的角度来看仅仅是配置界面不同,在参数设置和使用方法上基本一致。本文以“MegaWizard Plug-In Manager”中的FIR Compiler IP核使用为例。
Quartus的FIR IP核属于收费IP,如果是个人学习使用需要对IP核单独破解。在Quartus的破解licence文件中找到下段代码,在licence最后复制粘贴一份,将“FEATURE 6AF7_XXXX”中的XXXX改成FIR IP核对应的编号“0012”。保存后重新打开Quartus,在License Setup页面看到FIR Compiler的破解信息,则可以正常使用。 有些人可能不行,试试将红色部分替换成你的NIC
#把license.dat里的XXXXXXXXXXXX 用您老的网卡号替换(在Quartus II 13.0的Tools菜单下选择License Setup,下面就有NIC ID)。
FEATURE 6AF7_XXXX alterad 2035.12 permanent uncounted E75BE809707E \
VENDOR_STRING="iiiiiiiihdLkhIIIIIIIIUPDuiaaaaaaaa11X38DDDDDDDDpjz5cddddddddtmGzGJJJJJJJJbqIh0uuuuuuuugYYWiVVVVVVVVbp0FVHHHHHHHHBUEakffffffffD2FFRkkkkkkkkWL$84" \
HOSTID=b025aa21c82f TS_OK SIGN="1E27 C980 33CD 38BC 5532 368B \
116D C1F8 34E0 5436 99A0 5A2E 1C8C 8DD0 C9C6 011B A5A9 932B \
08DE C5ED 9E62 2868 5A32 6397 D9B8 5C3A B8E8 4E4F CEC7 C836"
打开软件; 成功后:
使用IP核 :
视频地址:FPGA_QuartusII_结合Matlab的Fir设计_Altera_哔哩哔哩_bilibili
默认 点 next
常见的FIR 滤波 IP核在以下位置 (两个地方知识配置不同,使用都是一样的,版本问题)
第一个位置
这里要在路径后面加上创建位置,就是你放IP核配置文件地,随便起个英文名 就可以了
点step1, 进行配置
不过这个滤波器设计功能没有MATLAB的FDATOOL那么强大,也可以用MATLAB生成滤波器系数,存入txt文件中,在上面界面的“Imported Coefficient Set”中导入txt文件。
FIR Compiler IP核可以在主界面的structure中选择滤波器的四种结构,包括三种分布式算法结构:全并行、全串行和多比特串行,另外一种固定/可变系数的多时钟周期结构。如果设计时不需要改变滤波器系数,则选择四种结构的一种;如果需要在设计中重载滤波器系数,则必须选择最后一种结构。
“coefficients scaling”中可以选择滤波器系数的量化方式,“Bit width”中选择量化位宽,上面的图中可以看到滤波器的频率响应。
“Output Sepecification”中可以设置滤波器的输出方式和位宽,IP核会根据输入的数据位宽和其它参数设置自动计算输出数据的位宽。
IP核支持多通道数据输入,可以在“Number of Inpu Channels”中设置输入数据的通道数。另外设置FPGA型号、数据存储方式、系数存储方式、流水线级数、输入数据位宽等常规参数。
设置完成后可以生成IP核。老版本的IP核会自动加入到工程中;新版本的IP核集成在qsys中,需要手动在file中将IP核对应的qip文件加入工程。
IP核接口说明
Quartus的很多IP核采用的是Avalon-ST接口,主要有数据(data)、准备好(ready)、有效(valid)和错误(error)几种信号。Avalon-ST接口本身也支持时分复用来完成多通道同步(channel),因此FIR Compiler支持多通道数据处理。
FIR Compiler支持重载滤波器系数,但系数重载的相关端口(coed_set、coed_in_clk、coed_set_in、coed_in、coed_we、coed_ld)不被Avalon-ST接口支持,不属于该类型接口。
接下来介绍几个主要的接口:
在设置为多通道、可变系数模式时,还会用到其它的接口。上表中的接口已经足够完成一次单通道、固定系数的FIR滤波器设计。其它接口在后文的设计中使用到FIR滤波器的其它模式时,再做介绍。
第二个位置