完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 小梅哥 于 2020-2-21 15:12 编辑 主要有两种方式,一是matlab滤波器工具箱设计并生成Verilog或VHDL的代码,二是matlab滤波器工具箱设计并export 系数,又FIR II ip core import。先说下滤波器设计工具箱,filter Designer 低版本叫做 fdatool ![]() ![]() 先说调用ip core的方式,ip core是收费的,百度一下。 点击file-export,保存成.txt的格式 ![]() ![]() ![]() 打开quartus17.1,添加ipcore ![]() ![]() ![]() 然后就可以导入系数了,由滤波器工具箱直接生成的txt无法直接导入,需要做格式调整,将滤波器工具箱生成的系数文件命名为“filter.txt”,与附件中的filter.exe置于同一个目录下,并运行filter.exe(程序写的比较简陋,见谅)。 导入程序自动生成的fil.txt文件 ![]() ![]() ![]() ![]() ![]() 记住输入输出的位宽,然后finish 运行程序filter2.exe键入输入输出位宽 ![]() 会生成fir_filter.v文件,然后直接加入工程就能直接用了。 这个模块完成了,FIR ipcore的例化和配置。 module fir_filter( input clk,//系统时钟 input rst_n,//复位信号 input sample_clk,//采样时钟 input [7:0] filter_in,//滤波器输入 output reg [26:0] filter_out//滤波器输出 ); 重点:这里的采样时钟有讲究,采样时钟的频率为设置的频率,占空比一定是采样时钟/系统时钟。 例如:系统时钟50MHz,采样频率10MHz,则采样时钟为10MHz,占空比20% 系统时钟50MHz,采样频率50MHz,则采样时钟为50MHz,占空比100%,即恒为高电平1 至此,完成FIR ipcore的输入输出配置和介绍。 下面是滤波器工具箱生成的方式 ![]() ![]() 设计方法同上, 导出时注意一点 选择语言,名称,保存路径,然后Generate就行了。 (端口输入输出信号及仿真文件可以设置,自行解决) module filter ( clk, clk_enable, reset, filter_in, filter_out ); 要注意的是这里的clk_enable的要求与刚才说的采样时钟的要求一致。 PS:这个滤波器工具箱生成的代码,性能和ip core差远了。 欢迎各位补充。 ![]() |
|
相关推荐
|
|
真的优秀,感谢楼主分享
|
|
|
|
|
|
1215 浏览 1 评论
442 浏览 0 评论
求FPGA 驱动控制ltc2271 或者 ltc2180 或者 ltc2190或者 ltc2202 的代码
1932 浏览 0 评论
511 浏览 0 评论
求助:遇见诡异问题,FPGA模块A输出端口连接模块B输入后,模块A不能正常工作的
2045 浏览 1 评论
4713 浏览 107 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-4 18:10 , Processed in 0.564736 second(s), Total 43, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191