FPGA系统设计原则和技巧之:FPGA系统设计的3种常用IP模块
。可以设置DPRAM的容量单位为位或者是字节。同时在本页的左下角会计算出实现这样一个DPRAM所消耗的FPGA资源,如图9.21所示。
图9.21选择宏模块
(4)设置DPRAM数据宽度及容量。
在宏模块向导管理器(DPRAM)的第4页,可以设置DPRAM的数据宽度及容量,同时可以设置输入输出端口为不同的宽度实现串并或并串转换,如图9.22所示。
(5)设置DPRAM时钟及使能。
在宏模块向导管理器(DPRAM)的第5页,可以设置DPRAM的时钟及使能信号,可以将DPRAM设置为单时钟(输入输出使用同一个时钟),也可以使用独立的时钟。另外还可以为DPRAM增加读使能信号rden,如图9.23所示。
图9.22设置DPRAM数据宽度及容量
图9.23设置DPRAM时钟及使能
(6)设置DPRAM端口寄存器及清零信号。
在宏模块向导管理器(DPRAM)的第7页,可以设置DPRAM的端口寄存器及清零信号,可以选择是否增加端口的寄存器,如图9.24所示。
图9.24设置DPRAM端口寄存器及清零信号
(7)设置DPRAM初始化值。
在宏模块向导管理器(DPRAM)的第9页,可以设置DPRAM的初始化值。通过选择MIF文件或者HEX文件可以使用文件中的值对DPRAM进行初始化,如图9.25所示。
图9.25设置DPRAM初始化值
(8)生成DPRAM模块文件。
设置完成所有的参数,来到宏模块向导管理器(DPRAM)的最后一页。可以选择生成的DPRAM模块文件,共有6个文件可以生成,如图9.26所示。
图9.26生成DPRAM模块文件
DPRAM的调用方式与FIFO的类似,其构建方式及模块的声明结构可以参看DPRAM模块的dpram_test.v和dpram_test_bb.v文件。
3.ROM
这里主要介绍ROM模块的生成方法,模块的构造方法及调用方法与FIFO模块类似,就不详细介绍了。
(1)打开宏模块向导管理器并新建宏模块。
具体方法参见FIFO的方法。
(2)选择宏模块。
在本例中,我们选择LPM_ROM模块进行实现,如图9.27所示。
(3)设置ROM宽度、深度及时钟控制方式。
在宏模块向导管理器(DPRAM)的第3页,可以设置DPRAM的宽度、深度及时钟控制方式。ROM宽度指的是存储器数据位宽,深度指的是具有该宽度的存储单元个数。宏模块向导管理器会根据设计者的选择自动生成ROM的地址总线,同时也会在左下角显示消耗的FPGA逻辑资源情况。
图9.27选择宏模块
ROM的时钟控制方式分为两种,一种为单时钟,另一种将输入时钟和输出时钟分离。ROM的输入输出使用的是同一个数据端口,时钟的分离实际上也是对同一个数据端口作控制,如图9.28所示。
图9.28设置ROM宽度、深度及时钟控制方式
(4)设置端口寄存器及清零信号。
这个步骤与RAM中的第(6)步类似,不再详述,如图9.29所示。
(5)设置ROM初始化值。
同样可以参看RAM使用方法的第(7)步,如图9.30所示。
图9.29设置端口寄存器及清零信号
图9.30设置ROM初始化值
(6)选择生成ROM模块文件。
设置完成所有的参数,来到宏模块向导管理器(ROM)的最后一页。可以选择生成的ROM模块文件,同样有6个文件可以生成,如图9.31所示。
图9.31生成ROM模块文件
ROM的调用方式与FIFO的类似,其构建方式及模块的声明结构可以参看ROM模块的ROM_test.v和ROM_test_bb.v文件。
9.3.2锁相环的使用方法
锁相环在数字系统中的应用非常广泛,在Altera的FPGA产品中集成的锁相环是PLL模块,在Xilinx的FPGA产品中集成的锁相环是DLL模块。两者采用的技术不同,但是实现的基本功能大致相同,但也各有特点。
锁相环的原理及在FPGA内部的构造这里将不做介绍,只以Altera的CycloneFPGA的PLL为例讲解其使用方法。
CyclonePLL具有时钟倍频和分频、相位偏移、可编程占空比和外部时钟输出,进行系统级的时钟管理和偏移控制。PLL常用于同步内部器件时钟和外部时钟,使内部工作的时钟频率比外部时钟更高,时钟延迟和时钟偏移最小,减小或调整时钟到输出(TCO)和建立(TSU)时间。
(1)打开宏模块向导管理器并新建宏模块。
具体方法参见FIFO的方法。
(2)选择宏模块。
在本例中,我们选择ALTPLL模块进行实现,如图9.32所示。
图9.32选择宏模块
(3)设置时钟源,PLL类型及工作模式。
在宏模块向导管理器(PLL)的第3页,设计者可以设置一些PLL基本属性,如器件族、速度级别及基准频率,还可以设置PLL的类型及工作模式。
值得注意的是,这里的基准频率并不一定是最终设计者向PLL输入的时钟。最终的PLL是通过比例值来对输入频率进行综合,所以PLL的关键参数是比例值,即图9.33中PLL_test框图中的Ratio值。
例如Ratio值为5/2(通过后面几个步骤实现),而基准频率为40MHz,则PLL的c0输出为100MHz。在调用这个PLL时,若设计者使用20MHz的频率输入,则输出的频率为50
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)