IP核

Vivado IP核调用

在开发PL时一般都会用到分频或倍频,对晶振产生的时钟进行分频或倍频处理,产生系统时钟和复位信号,下面就介绍一下在vivado2017.3中进行PL开发时调用IP的方法。

首先打开vivado2017.3新建一个RTL项目。

点击Flow navigator的IP Catalog 选项,如下图所示:


在搜索框中输入clock;

如图;依次展开,找到clockingwizard;双击

出现如下提示

(SelectIO)新IP核学习的正确打开方式

作者: 做但不能忘思考,FPGA2嵌入式

当我们使用一种新的IP核的时候,遇到的最大问题是:以前根本没有接触过的新东西,我们会感到恐惧,不知道如何下手。比如,SelectIO该怎么来实现LVDS的功能:

Step1,我们新加一个接收的SelectIO的IP核,界面如下图:

Step2,打开IP核对应的数据手册和文档来学习IP核的大致使用方法,见EDA中自带的IP核你会快速用吗?,根据参考的数据文档我们大致配置好为:DDR模式2*4的LVDS_25接口,配置完后保存。

Vivado平台IP核的封装方式

作者:浅搁 FPGA2嵌入式

1. 前言

IP核这个东西相信很多人都不陌生吧,不管是哪个FPGA厂家,都会有自己的一些现成IP核供用户使用,从而节省设计的开发时间。在一个设计中,个人觉得将模块变成一个个直观的图形界面更有助于理清思路,增强整个设计的逻辑性。以前用过Microsemi的开发平台,觉得挺人性化的,你写完代码后,直接把.v文件拉到画布中,文件便会以图形模块的形式显示出来,然后拖动鼠标便可以把两个模块的对应引脚连接起来,十分方便直观。

2. Vivado中的IP核封装

在Vivado平台中,我一直想寻找看看有没有这种形式,最终发现并没有~~。不过Vivado也提供了类似的方式,你首先要把.v文件封装成IP,然后才能放到画布中调用,虽然过程有点繁琐,不过有总比没有好呀~~

IP核的封装其实也不会很难,前提是你得把.v文件先准备好,如果连代码都没有还扯啥犊子哟。

在打开Vivado工程后,单击“Tools ---- Creat and Package IP”。嗯,就是这厮了,然后一路Next。

接着出现如下界面,按着选项选择自己的需求即可,点击“Next”,正式进入主题。

Zynq-7000 rgb2ycbcr IP的创建与使用

作者:OpenSLee

1 背景知识

IP(Intellectual Property)在嵌入式FPGA设计中,指的是某些设计好的模块,分为软件模块和硬件模块。这些模块,一般都是已经测试好,所有功能完善的,由一些用户自己设计的。有些模块是免费的,也有收费的模块。所有用户都可以将这些IP核(IP Core)导入到自己的工程中,同样,所有用户也都可以定制自己的IP核。

将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器,SDRAM控制器,PCI接口等等设计成可修改参数的模块,让其他用户可以直接调用这些模块,这样就大大减轻了工程师的负担,避免重复劳动。随着CPLD/FPGA的规模越来越大,设计越来越复杂,使用IP核是一个发展趋势。理想地,一个知识产权核应该是完全易操作的--也就是说,易于插入任何一个卖主的技术或者设计方法。通用异步接发报机(UARTs)、中央处理器(CPUs)、以太网控制器和PCI接口(周边元件扩展接口)等都是知识产权核的具体例子。

Xilinx加法器IP核adder

1.加法器IP核配置

2.adder_top.v代码
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 10:20:30 07/19/2017
// Design Name:
// Module Name: adder_top
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//

Vivado IP集成器(IPI)必知必会IP核

Vivado IP集成器(IPI) 里怎么分总线?
相反,Vivado IP集成器(IPI) 里怎么合总线?
Vivado IP集成器(IPI) 里怎么做总线信号的逻辑操作?
Vivado IP集成器(IPI) 里怎么给常量(怎么接地/拉1)?
……

常用IP
上述功能,都是在图形化设计环境下,很常用的功能;
但是Vivado中并没有明确的指示引导初级玩家,那么FPGAPlayer就为广大玩家献上本文。
先拉出这几个IP亮下相。

任意根信号(任意位宽)合成一个总线信号
应该不用多解释,左侧(输入)可以支持32个信号,每个信号最大可以是4096bit位宽,并且可以设置为AUTO模式,在连接时自动识别位宽;IP会合成为一个总线信号输出。

Xilinx 浮点数IP核的用法- 定点数转浮点数

首先调用IP核

标注1:选择定点数转浮点数

标注1:32位定点数

标注2:数字格式,符号位,整数位和小数位

标注1,2:转化为的浮点数可以是单精度也可以是双精度。

标注3:为转化后的数据格式。

仿真如下:

Xilinx FIR IP核的的使用及延时问题

前一段时间一直在研究通信系统,必然就会和各种滤波器打交道,同样也遇到了一些问题。比如说本文的主要内容,滤波器的延时问题。

在生成滤波器IP核之前需要产生抽头系数,这个抽头系数的阶数是自己设定的,阶数越高代表滤波器乘累加运算越多,但是阶数大小的选择要看是否满足自己的设计要求(例如衰减db是否满足要求)。同时,生成的滤波器抽头系数的值是与自己设计滤波器的各种参数确定的,如数据采样速率,通带截止频率、阻带起始频率(低通)、滤波器类型等。

这些抽头系数可以用MATLAB生成,MATLAB中有一个FDATool的工具,以图形化的方式供使用者产生所需的滤波器,然后将系数导出(以coe格式),这样我们在ISE中新建FIR IP核之后就可以直接导入刚刚产生的抽头系数表,非常方便。

下面直接开始用MATLAB生成抽头系数表:

1、利用 matlab 的 FDATool,产生需要的滤波器系数,打开【FDATool】

利用Xilinx FSL总线自定义IP核(下)

基于FSL总线的IP核定义好之后,下面开始添加IP核
首先hardware——>configure coprocessor 选择刚才定义的led_ip,点击add
如果是第一次添加FSL总线,会弹出一个警告,警告会在后面去除,先点OK或者yes。

到ports栏,展开led_ip_0 右击led 选择 make external 然后会在上面external ports看到 led_ip_0_led_pin 是最终要输出到led灯的。

利用Xilinx FSL总线自定义IP核(上)

一、创建IP核
首先打开XPS,建立一个工程之后(选择AXI总线),建立工程之后,点击project——>creat and import peripheral wizard界面如下:以点亮一个led为例

点击next 选择creat templates for a new peripheral

next,默认选择 to an XPS project

next,取名为led_ip。版本号也很重要,最初为1.00

同步内容