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之和adder16u1(.a(a),.b(b),.clk(clk),.ce(en),.s(out1));adder16u2(.a(c),.b(d),.clk(clk),.ce(en),.s(out2));adder17u3(.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;// Inputsreg [15:0] a;reg [15:0] b;reg [15:0] c;reg [15:0] d;reg en;reg clk;// Outputswire [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));alwaysbegin#10 clk = ~clk;endinitial begin// Initialize Inputsa = 0;b = 0;c = 0;d = 0;en = 0;clk = 0;// Wait 100 ns for global reset to finish#100;// Add stimulus herea = 15;b = 25;c = 45;d = 85;en = 1;endendmodule

仿真结果为:

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

参考地址

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

  1. 【ZYNQ】IP核_关于视频IP核的详细介绍

    [ZYNQ]IP核_关于视频IP核的详细介绍 接口信号的含义 数据格式及编码 视频时序 视频时序的进一步说明 自动延迟匹配 视频子系统软件指南 接口信号的含义 在ZYNQ的设计中一般视频数据的传输遵循 ...

  2. AXI 基础第 5 讲-创建 AXI4-Lite Sniffer IP 以在赛灵思Vivado IP Integrator中使用

    点击"蓝字"关注我们 引言 在某些情况下,通过嗅探 AXI 接口来分析其中正在发生的传输事务是很有用的.在本文中,我将为大家演示如何创建基本 AXI4-Lite Sniffer I ...

  3. Vivado创建带AXI slave接口的IP—PS控制PL侧的LED

    目录 1. 1 创建AXI slave IP 1.2 修改AXI slave IP的2个文件 1.3 重新封装IP 1.4 新建BD添加IP(PS core IP+AXI slave IP) 1.5 ...

  4. 调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)

    在上一篇的文章中:https://blog.csdn.net/weixin_44502554/article/details/126228405?spm=1001.2014.3001.5502 讲述了 ...

  5. 手撕IP核系列——Xilinx FIR IP核之一

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 手撕IP核系列--Xilinx FIR IP核之一 前言 FIR 滤波器模块的设置 实现分析 前言 在Xilinx和Intel平台的F ...

  6. Node.js(黑马)笔记01--day1--最简单的node执行脚本,readFile,创建服务器,核心模块,IP地址和端口号,编码格式g、get,post,路由,静态资源

    0.webstom2020解决node代码不自动提示及显示警告的bug 完美解决Webstorm不支持nodejs等语法提示和补全 https://blog.csdn.net/Dobility/art ...

  7. VMware创建Linux及局域网内独立访问IP和访问外网IP的配置

    好早之前有一篇是配置远程连接Linux和部署Tomcat的文章,但是并没有讲解如何配置IP的相关知识.最近公司在搞集群配置,我就先拿电脑上的VMware上的Linux做个测试,分享和总结一下经验吧,也 ...

  8. 腾讯云服务器怎么搭建多个ip,(技巧)利用腾讯云架设多ip实现单窗口单ip

    本教程无偿贡献出来给大家伙使用别再本市面上的一个ip15-25所忽悠了  如发帖没有对应分类请A大删贴或转移 下面是详细教程 云主机配置 弹性网卡数 网卡绑定IP数 CPU: 1核 内存: 1G    ...

  9. 修改用友服务器ip地址,用友服务器ip地址更换

    用友服务器ip地址更换 内容精选 换一换 若用户想要更换Ubuntu服务器的IP地址,则Mind Studio安装使用的IP地址也要随之更换,方法如下:如果env.conf文件中的IP配置为Ubunt ...

最新文章

  1. JS学习梳理(三)类型和语法
  2. Mac中MacPorts安装和使用
  3. 【错误记录】应用运行 CPU 占用率达到 90% ( 使用 CPU Profiler 监控应用运行情况 )
  4. UOJ#33-[UR #2]树上GCD【长链剖分,根号分治】
  5. Android广播(笔记)
  6. 开源MSSQL Express Profile 文件
  7. C# 生成全球唯一标识符
  8. F5/LVS/Nginx/HAProxy硬软件级网络负载均衡介绍
  9. Repeater控件如何让变量自增 asp.net
  10. 今天开始进入cdsn~~~
  11. 课程设计-基于SSM实现个人健康管理系统
  12. Java基础学习总结(70)——开发Java项目常用的工具汇总
  13. SegNet算法详解
  14. Android网络优化--概括
  15. 隐藏win11任务栏时间,开启专注模式
  16. mysql添加一列求乘积_MySQL 生成累计乘积
  17. WTP协议简要翻译一(dlmu2001)
  18. 设计模式及其应用场景
  19. html+监听+页面滚动到底部,JS监听页面滚动到底部事件
  20. 最好最常用的国外邮箱推荐!注册非常简单!

热门文章

  1. 共享之windows与Linux
  2. ubuntu vscode_如何在Ubuntu-18.04下用VSCode编译LibTorch
  3. 奇瑞a3中控按键图解_纷纷亮相,奇瑞众多黑科技悄然现身,焦点全在星途VX智能座舱上...
  4. hadoop slaves文件_hadoop:分布式集群参数master节点的配置!
  5. oracle补丁怎么配置,如何检查Oracle补丁是否已安装?
  6. java hbase创建_hadoop组件介绍及python 连接Hbase
  7. 计算机信息通信基础知识,计算机基础-(数据通信基础知识)
  8. linux1.0内核下载,《Linux 0.01 内核分析与操作系统设计》(Linxu 0.01Source)
  9. android app功能 配置,配置安装时分发  |  Android 开发者  |  Android Developers
  10. 怎么解释三线圈直流电机工作原理更好?