quartus FIR仿真笔记

摘要:
在旧版本的quartus(如13.0)中,fir过滤器有两种选择,如下所示:互联网上很多人都在谈论没有II的过滤器,但新版本的quarters再也找不到这个IP,如下所述:对于FIT过滤器的第一个版本,在旧版本中,通常无法生成fir过滤器(quartus的软件问题令人抓狂)。如下所示:3.正确的方法是使用quartus的内置modelsim来模拟(实际上,也可以通过添加相应的库来模拟。。。

第一章:

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

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

quartus FIR仿真笔记第1张

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

 quartus FIR仿真笔记第2张

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

quartus FIR仿真笔记第3张

选择生成仿真模型

quartus FIR仿真笔记第4张

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

哎。

第二章:

解决方法:

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

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

quartus FIR仿真笔记第5张

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

 quartus FIR仿真笔记第6张

第三章:

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

`timescale 1 ps/ 1 ps
module FirIPDa_vlg_tst();
// constants                                           
// general purpose registers
// test vector input registers
reg [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; //仿真时间

initial
begin
	//设置时钟信号初值
	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];
initial
begin
   //文件必须放置在"工程目录simulationmodelsim"路径下
	//$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倍
		end
end


//将仿真数据dout写入外部TXT文件中(out.txt)
integer file_out;
initial 
begin
   //文件放置在"工程目录simulationmodelsim"路径下                                                  
	//file_out = $fopen("E4_9_Noiseout.txt");
	file_out = $fopen("E4_9_Sout.txt");
	if(!file_out)
		begin
			$display("could not open file!");
			$finish;
		end
end
wire 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

  

 欢迎大家一起交流,Q群:912014800。

 

免责声明:文章转载自《quartus FIR仿真笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CruiseControl.Net+SVN+MSBuild+MSTest的自动构建测试环境Java根据条件删除Map中元素下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

modelsim脚本文件的编写

第一章 ModelSim介 绍本指南是为 ModelSim5.5f版本编写的,该版本运行于UNIX和Microsoft Windows 95/98/Me/NT/2000的操作系统环境中。本指南覆盖了VHDL和Verilog模拟仿真,但是你在学习过程中会发现对于单纯的HDL设计工作而言,它是一个很有用的参考。ModelSim具备强大的模拟仿真功能,在设计、编...

pspice仿真老不收敛怎么办?

仿真不收敛,提示ERROR(ORPSIM-15138): Convergence problem in transient analysis at Time =  116.4E-21.         Time step =  116.4E-21, minimum allowable step size =  1.000E-18 就是在计算时迭代还没有达到...

电脑不识别USB blaster驱动问题

电脑不识别USB blaster,如下图: 解决办法:手动更新 http://zhidao.baidu.com/link?url=snVT__AsbtmQ4U5EBVN05Yrgv1TPv7AdVYekY7LZkGa0lZX3qIljJyAeu3xiEtVMQkSg4BGaIX9zHvJVtpknna Quartus II 安装完成后自带有...

接触力的计算

  游戏或者仿真中要提供接近于真实世界的完整触觉反馈体验,需要VR头戴设备、控制器、外骨骼甚至是行走模拟装置的配合。然而,人类的触觉系统极其敏感,普通人打麻将就能用手指轻轻松松地摸出牌面。在目前的技术基础上,机器很难还原真实的人类触觉反馈,能做的只是在特定的内容和场景中尽量满足用户的反馈体验。比如在VR游戏中抓取武器和物品时,几厘米的偏差,没有准确还原物体...

[转]Quartus和Modelsim仿真ROM模块

新建一个工程 选择工程保存路径,为工程取一个名字 Page 2 of 5 直接点击next Page 4 of 5 直接点击next 下面为工程添加文件 需要注意模块名和模块所在文件的文件名要一致,下面的代码保存在Wave.v这个文件中 module Wave(     input i_clk,     input i_rst_n,     out...

转载.怎样在Quartus II中转化HDL文件为bsf文件?

步骤1 新建或打开Quartus II工程,用QII自带文本编辑器打开HDL文件。 图1 用QII自带的文本编辑器打开HDL文件 步骤2 选择File>Create / Update>Creat Symbol Files for Current File,等待图3所示画面出现即可。 图2 选择Creat Symbol Files for C...