博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
quartus FIR仿真笔记
阅读量:5854 次
发布时间:2019-06-19

本文共 2429 字,大约阅读时间需要 8 分钟。

第一章:

  最近百度了一些fir滤波器的资料,都没有自己想要的。容我吐槽一大段文字>

  在旧版的quartus中,比如13.0,有两个fir滤波器的选项,如下所示:

 

网上很多都是讲不带II的那个,而在新版的quartus已经找不到这个IP了,如下所示:

 

 

对于第一版的FIT滤波器,在旧的版本中,经常生成不了fir这个滤波器(quartus 的软件问题让人抓狂。。)

选择生成仿真模型

(卡在这里不动了。。我会告诉你不勾选生成仿真模型就能生成成功了嘛。。呵)

哎。

 

第二章:

解决方法:

1.我不看仿真了。。(我不)

2.于是我按照普通的方法,生成FIR II,然后按照一般的方法联合仿真。然后就会报错。。如下所示:

 

3.正确的方法只要使用quartus自带的modelsim,仿真就可以(其实加入相应的库也可以仿真的。。。不想研究了)。如下所示:

 

 

第三章:

仿真matlab中的输入数据:(有兴趣的去研究,有两段话,怎么加入数据,以及怎么输出数据,matlab是不是可以导入txt分析呢?。)

 

`timescale 1 ps/ 1 psmodule FirIPDa_vlg_tst();// constants                                           // general purpose registers// test vector input registersreg [11:0] Xin;reg clk;reg reset_n;// wires                                               wire [24:0]  Yout;//wire clk_data;// assign statements (if any)                          FirIPDa i1 (// port map - connection between master ports and signals/registers   	.Xin(Xin),	.Yout(Yout),	.clk(clk),	//.clk_data(clk_data),	.reset_n(reset_n));parameter clk_period=626; //设置时钟信号周期(频率):1.6MHz//parameter clk_period_data=clk_period*13;parameter clk_half_period=clk_period/2;//parameter clk_half_period_data=clk_half_period*13;parameter data_num=2000;  //仿真数据长度parameter time_sim=data_num*clk_period; //仿真时间initialbegin	//设置时钟信号初值	clk=1;	//clk_data=1;	//设置复位信号	reset_n=0;	#10000 reset_n=1;	//设置仿真时间	#time_sim $finish;	//设置输入信号初值	Xin=12'd10;end//产生时钟信号always                                                 	#clk_half_period clk=~clk;//always//	#clk_half_period_data clk_data=~clk_data;//从外部TX文件(SinIn.txt)读入数据作为测试激励integer Pattern;reg [11:0] stimulus[1:data_num];initialbegin   //文件必须放置在"工程目录\simulation\modelsim"路径下	//$readmemb("E4_9_Bin_noise.txt",stimulus);	$readmemb("E4_9_Bin_s.txt",stimulus);	Pattern=0;	repeat(data_num)		begin			Pattern=Pattern+1;			Xin=stimulus[Pattern];			//#clk_period_data;//数据周期为时钟周期的8倍			#clk_period;//数据周期为时钟周期的8倍		endend//将仿真数据dout写入外部TXT文件中(out.txt)integer file_out;initial begin   //文件放置在"工程目录\simulation\modelsim"路径下                                                  	//file_out = $fopen("E4_9_Noiseout.txt");	file_out = $fopen("E4_9_Sout.txt");	if(!file_out)		begin			$display("could not open file!");			$finish;		endendwire rst_write;wire signed [24:0] dout_s;assign dout_s = Yout;                   //将dout转换成有符号数据assign rst_write = clk& (reset_n);//产生写入时钟信号,复位状态时不写入数据always @(posedge rst_write )	$fdisplay(file_out,"%d",dout_s);	endmodule

  

 

 

 

转载于:https://www.cnblogs.com/cofin/p/9515098.html

你可能感兴趣的文章
python+chrome+Selenium模拟手机浏览器
查看>>
我的友情链接
查看>>
在java程序项目中如何使用xml配置文件存储信息简述
查看>>
cups设置linux共享打印机
查看>>
中国软件产业培训网的SQL独到见解
查看>>
fastreport查找相关组件
查看>>
Service的生命周期
查看>>
卸载安全包袱,打造安全桌面虚拟平台
查看>>
网卡速率变化导致paramiko模块timeout的失效,多线程超时控制解决办法。
查看>>
中小企业web集群方案 haproxy+varnish+LNMP+memcached配置
查看>>
MYSQL数据库常用架构设计
查看>>
Python面向对象基础
查看>>
Python网络编程之线程与进程
查看>>
python11.12
查看>>
我的友情链接
查看>>
OpenGL 坐标系定义
查看>>
Jumbo Frame
查看>>
PRCS-1007 : Server pool egapdb already exists
查看>>
我的友情链接
查看>>
ios中pch文件的创建与配置
查看>>