使用ISE创建IP核(以加法器的IP核建立为例)

IP核介绍:

IP(知识产权)核将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器,SDRAM控制器,PCI接口等做成一个“黑盒”或者可修改参数的模块,供设计者使用。IP核包括硬IP与软IP。调用IP核能避免重复劳动,大大减轻设计人员的工作量。

IP Core生成器(Core Generator)是Xilinx FPGA设计中的一个重要设计工具,提供了大量成熟的、高效的IP Core为用户所用,涵盖了汽车工业、基本单元、通信和网络、数字信号处理、FPGA特点和设计、数学函数、记忆和存储单元、标准总线接口等8大类,从简单的基本设计模块到复杂的处理器一应俱全。配合Xilinx网站的IP中心使用,能够大幅度减轻设计人员的工作量,提高设计可靠性。 

Core Generator最重要的配置文件的后缀是.xco,既可以是输出文件又可以是输入文件,包含了当前工程的属性和IP Core的参数信息。 

下面介绍在ISE中新建IP类型的源文件来启动Core Generator的方法:

1)在ISE Project Navigator新建工程,在工程管理区单击鼠标右键,在弹出的菜单中选择New Source,选中IP类型,在File Name文本框中输入adder(注意:该名字不能出现英文的大写字母),然后点击Next按键,进入IP Core目录分类页面,如下图示:



点击Next,以加法器模块为例介绍,找到并选中Math Funcation  Adder & Subtracter  Adder Subtracter v11.0,如下图:


点击Next,进入Summary界面,点击Finish,弹出一个Adder Subtracter 配置界面,如下图:


配置信息如上,根据自己的需求进行配置,配置完成后点击Generate,若在工程管理区出现一个“adder.xco”的文件。这样加法器的IP Core已经生成并成功调用。

如下图示单击adder.xco,双击View HDL Instatiation Template,即可复制,在Verilog HDL中例化adder IP核。



实例解析:

例:调用加法器的IP core,并用其实现图4-15所示的2级加法树。


按照上述方法,产生两个IP核,adder16和adder17,在verilog HDL源程序中例化即可实现上述加法树。其verilog HDL设计代码为:

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date:    18:31:11 05/28/2018 
// Design Name: 
// Module Name:    adder_2 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//
module adder_2(
    input [15:0] a,
    input [15:0] b,
    input [15:0] c,
    input [15:0] d,
    input en,
    input clk,
    output [17:0] out
    );
	 wire [16:0] out1, out2; //out1为a与b之和,out2是c与d之和
	 adder16
		u1(
		.a(a),
		.b(b),
		.clk(clk),
		.ce(en),
		.s(out1)
		);
		
		adder16
		u2(
		.a(c),
		.b(d),
		.clk(clk),
		.ce(en),
		.s(out2)
		);
		
		adder17
			u3(
		.a(out1),
		.b(out2),
		.clk(clk),
		.ce(en),
		.s(out)
		);
			
endmodule

RTL schematic为:




测试文件为:

`timescale 1ns / 1ps


// Company: 
// Engineer:
//
// Create Date:   18:50:40 05/28/2018
// Design Name:   adder_2
// Module Name:   F:/ISE_file/adder_IP/adder_2_tb.v
// Project Name:  adder_IP
// Target Device:  
// Tool versions:  
// Description: 
//
// Verilog Test Fixture created by ISE for module: adder_2
//
// Dependencies:
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 


module adder_2_tb;

	// Inputs
	reg [15:0] a;
	reg [15:0] b;
	reg [15:0] c;
	reg [15:0] d;
	reg en;
	reg clk;

	// Outputs
	wire [17:0] out;

	// Instantiate the Unit Under Test (UUT)
	adder_2 uut (
		.a(a), 
		.b(b), 
		.c(c), 
		.d(d), 
		.en(en), 
		.clk(clk), 
		.out(out)
	);
	
	always
		begin
			#10 clk = ~clk;
		end

	initial begin
		// Initialize Inputs
		a = 0;
		b = 0;
		c = 0;
		d = 0;
		en = 0;
		clk = 0;

		// Wait 100 ns for global reset to finish
		#100;
        
		// Add stimulus here
		a = 15;
		b = 25;
		c = 45;
		d = 85;
		en = 1;

	end
      
endmodule

仿真结果为:


(仿真结果是否有问题,有待确认)

参考地址

  • 9
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
ISE FIR滤波器是一种数字滤波器,全称为Infinite Impulse Response Finite Impulse Response滤波器。它是将无限时响应(Infinite Impulse Response)滤波器和有限时响应(Finite Impulse Response)滤波器的特性结合在一起的一种滤波器。 ISE FIR滤波器的设计采用了有限长度的冲激响应,即在输入信号通过滤波器之前,将冲激响应截断为有限长度。这样设计的好处是可以实现线性相位特性,不引入相位延迟。因此,ISE FIR滤波器广泛应用于需要保持信号相位完整性的应用场景,如音频处理、通信系统等。 ISE FIR滤波器的设计和实现相较于其他类型的滤波器较为简单。它的特点是具有较高的Sidelobe抑制能力,即在频率响应中具有较好的滤波效果,能够有效滤除输入信号中的噪声和干扰。此外,ISE FIR滤波器还能够实现多种滤波响应,如低通、高通、带通、带阻等。 在应用中,ISE FIR滤波器需要通过选择合适的滤波器系数来实现所需的滤波特性。通常可以利用数字滤波器设计工具进行滤波器系数的计算和优化。随着计算机和数字信号处理技术的发展,ISE FIR滤波器在实时滤波和离散信号处理等领域有着广泛的应用。 总之,ISE FIR滤波器是一种常用的数字滤波器,通过将无限时响应和有限时响应的特性结合在一起,实现了具备线性相位和较高Sidelobe抑制能力的滤波效果。它的设计和实现相对简单,适用于音频处理、通信系统等需要保持信号相位完整性的应用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李锐博恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值