网站流量建设,网站集约整合建设交流,永康住房和城乡建设部网站,中小企业网站多大空间IP核是FPGA芯片公司提供的逻辑功能块#xff0c;在FPGA芯片中可以进行优化和预先配置#xff0c;可以直接在用户设计的程序中使用#xff0c;应用范围很广。在FPGA设计开发过程中使用IP核#xff0c;可以大大的缩短开发周期#xff0c;高度优化的IP核可以使FPG开发工程师专… IP核是FPGA芯片公司提供的逻辑功能块在FPGA芯片中可以进行优化和预先配置可以直接在用户设计的程序中使用应用范围很广。在FPGA设计开发过程中使用IP核可以大大的缩短开发周期高度优化的IP核可以使FPG开发工程师专注于系统级开发从而有助于加速开发进程降低开发成本。
Xilinx公司提供的IP种类比较多涉及到通信、图像、数学计算方面。这里我们主要介绍经常用到的IP核PLL、FIFO、RAM。 FIFO定义 FIFO是英文First In First Out 的缩写是一种先进先出的数据缓存器它与普通存储器的区别是没有外部读写地址线这样使用起来非常简单但缺点就是只能顺序写入数据顺序的读出数据其数据地址由内部读写指针自动加1完成不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。
FIFO的分类 根据FIFO工作的时钟域可以将FIFO分为同步FIFO和异步FIFO。同步FIFO是指读时钟和写时钟为同一个时钟。在时钟沿来临时同时发生读写操作。异步FIFO是指读写时钟不一致读写时钟是互相独立的。 FIFO的工程创建 第一步通过IP_Catalog打开IP核的目录
第二步在Memories文件下查找FIFOS文件件
第三步双击FIFO_Gen 第一步可以修改IP的名字
第二步选择FIFO的存储资源类型 第一步设置数据位宽
第二步设置存储深度
第三步复位信号可以根据情况选择需要或者不需要 生成的FIFO_IP的接口如上图所示
Wr_clk代表的写入工作时钟Rd_clk代表的读取工作时钟
Din代表的写入的数据端口Wr_en代表的写使能信号
Rd_en代表的读使能信号Dout代表的从FIFO中读取的数据
Full代表的FIFO存储空间满信号当FIFO的存储空间全部存满数据后该信号就会变成高电平不满时该信号为低电平
empty代表FIFO存储空间空信号当FIFO中没有存储数据时该信号就会变成高电平有数据时就为低电平。
最后将上图程序例化到top文件中。 如上图程序所示分为三部分
一部分是将FIFO的IP例化到top中
第二部分是控制FIFO的写操作通过判断FIFO的full信号如果full信号为0时就给FIFO写入数据如果full信号为1时就停止给FIFO写数据。
最后一部分是控制FIFO的读操作通过判断FIFO的empty信号。如果empty为0时就读取FIFO的数据如果empty为1F代表FIFO中没有数据就停止读取。