FPGA系统设计原则和技巧之:FPGA系统设计的3种常用IP模块
9.3FPGA系统设计的3种常用IP模块
FPGA的开发工具软件,如QuartusII、ISE等,一般都会提供一些经过验证的IP模块。这些IP模块是芯片厂家提供的,所以只能用于该厂家的FPGA芯片设计中。这些IP主要包括以下几类。
·算术类,如乘法器、加法器、除法器等。
·逻辑门类,如与门、或门、非门等。
·存储器类,如FIFO、RAM、ROM、移位寄存器等。
·I/O类,如双向IO、PLL、LVDS等。
·接口类,如以太网MAC、PCI接口控制器、高速串行收发器(SERDES)等。
·商业IP核,需要付费购买的。
以上的IP中,最常用的3个IP分别是片上存储器(RAM/ROM/FIFO),锁相环(PLL/DLL)和高速串行收发器(SERDES)。灵活使用这些IP,可以提升设计的性能,同时降低设计的复杂度。
IP模块的实现方式主要有3种:使用HDL代码描述、使用综合约束属性例化或类推、使用器件商的IPcore生成器。
典型功能的IPcore都可以通过这3种途径实现。其中前两种方法需要学习综合RAM、ROM、CAM等存储单元的CodingStyle或约束属性,后一种方法非常方便、直接,建议初学者首先要掌握使用器件商IPcore生成器设计RAM、ROM、CAM等存储单元的方法。
下面通过QuartusII工具分别介绍Altera的3种IP模块的使用方法。
9.3.1片上存储器的使用方法
片上存储器由内嵌于FPGA内部的逻辑资源(分布RAM和块RAM)搭建而成。搭建出来的这些片上存储器的调用方法与分立器件基本一致,但却为开发者省去了大量的PCB布线资源。在小容量的存储器设计中有着非常广泛的应用,同时这些片上存储器还常常用作数据缓冲及时钟域转换等工作。
首先来介绍片上FIFO的使用方法。
1.FIFO
(1)打开宏模块向导管理器。
在QuartusII中,IP模块的生成都是通过“MegaWizardPlug-InManager”(宏模块向导管理器)实现的,它可以通过如图9.9的“Tools”菜单打开。
(2)选择新建宏模块。
在宏模块向导管理器的第1页,选择新建一个自定义的宏模块,如图9.10所示。
图9.9宏模块向导管理器调用 图9.10新建宏模块
(3)选择宏模块。
在宏模块向导管理器的第2页,管理器为我们提供了支持的宏模块树形目录。通过在该目录中选择相应的宏模块实现调用。同时在这一页中还可以选择应用的FPGA器件系列和宏模块的描述语言,并使用用户自定义的模块名,如图9.11所示。
图9.11选择宏模块
在本例中,我们选择“LPM_FIFO+模块”进行实现。
(4)设置FIFO宽度和深度。
在宏模块向导管理器(FIFO)的第3页,可以设置FIFO的深度和宽度,同时在本页的左下角会计算出实现这样一个深度和宽度的FIFO所消耗的FPGA资源,如图9.12所示。
图9.12设置FIFO深度和宽度
(5)设置FIFO的控制信号。
在宏模块向导管理器(FIFO)的第4页,可以设置FIFO的控制信号,包括满信号full、空信号empty、使用字节信号组usedw[]、几乎满信号almostfull(可编程)、几乎空信号almostempty(可编程)、异步清零信号和同步清零信号。
通过选择是否打开这些信号来构造一个用户自定义的FIFO,如图9.13所示。
图9.13设置FIFO的控制信号
(6)设置FIFO的模式。
在宏模块向导管理器(FIFO)的第6页,可以设置FIFO的模式。分为Lagacy同步模式和Show-ahead同步模式。区别在于输出数据是在FIFO的读请求信号rdreq发出之前还是之后有效,用户可以根据需要进行选择,如图9.14所示。
(7)设置FIFO的外部属性。
在宏模块向导管理器(FIFO)的第7页,可以设置FIFO的外部属性,包括输出寄存器使用最佳速度策略还是最小面积策略,数据溢出及读空状态下的保护机制,还可以强制只利用逻辑单元来构造FIFO,如图9.15所示。
图9.14设置FIFO的模式
图9.15设置FIFO的外部属性
(8)选择生成的FIFO模块文件。
在宏模块向导管理器(FIFO)的第8页,也就是最后一页,可以选择生成的FIFO模块文件。在QuartusII软件中,宏模块向导管理器可为FIFO生成7个文件,如图9.16所示。
图9.16选择生成的FIFO模块文件图9.17打开工程添加/删除文件对话框
(9)向工程添加FIFO模块文件。
生成FIFO模块的文件后,在工程的目录下生成了选择的文件。要在工程中调用这些模块,首先要将这些文件添加到工程中来。
打开“Project”菜单,选择其中的“Add/RemoveFilesinProject…”选项,如图9.17所示,打开工程添加/删除文件对话框。
在打开的对话框中,选择向工程添加3个文件,如图9.18所示。
图9.18添加FIFO模块文件图 9.19工程浏览器
添加成功后,在工程浏览器中,可以看到器件设计文件中已经包含了这
FPGA系统设计 存储器 IP模块 锁相环 高速串行收发器 相关文章:
- FPGA系统设计原则和技巧之:FPGA系统设计的3个基本原则(06-05)
- FPGA系统设计原则和技巧之:FPGA系统设计的3种常用技巧(06-05)
- 基于闪烁存储器的TMS320VC5409 DSP并行引导装载方法(05-23)
- DSP外部Flash存储器在线编程的软硬件设计(07-10)
- 一种新型的多DSP红外实时图像处理系统设计(02-03)
- DSP与普通MCU的比较(02-23)