31.存储器简介和分类+基于fpga的ip核ram的设计及调用
误区:可以用二维向量对存储器进行定义实际上,这在设计过程中是不可行的
在基于FPGA的电路设计方法中,一些固定的模块已经作为P核来调用,从而简化设计。
在专用集成电路设计过程中,有专用的软件—memory compiler来实现存储器的设计memory compiler的使用也和IP核的调用类似,通过改变一些参数来实现设计中需要的存储器,不同的是 memory compiler设计的存储器是基于具体的工艺的
iP核的简介
IP(知识产权)核将一些在数字电路中常用,但比较复杂的功能块,如FIR滤波器、SDRAM控制器、PCI接口等设计做成一个“黑盒”或者是可修改参数的模块,供设计者使用。IP核包括硬IP与软IP,调用IP核能避免重复劳动,大大减轻设计人员的工作量。
IP核生成RAM的过程以及例化的过程:
(1)打开 Quartus II(本文使用的版本是 Quartus ‖ 8.1),新建工程 New Quartus‖Project
(2)选择工程存储路径,并设置工程名,例IP_RAM
(2)添加文件,暂时不添加。
(4)选择芯片型号,例如 Cyclone II EP2C5Q208C8
(5)完成工程的建立
(6)点击 tools,选择 Tools-megaWizard plug-In Manager,创建新的 Mega Core;
(7)选择新建一个 Mega Core
(8)选择IP,在左侧选中RAM:2PORT,选择 Verilog HDL,并在对话框中设置输出文件名,例如 RAM PORT2
(9)定义读写端口;
(10)定义输入数据宽度(此处为8),RAM深度(此处为128)
(11)选择读写时钟
(12)定义输出锁存;
(13)选择是否进行初始化
(14)显示创建的输出文件类型;
(15)创建原理图输入文件:FILE> Newp Block Diagram/Schematic File
(16)双击左键,弹出 Symbol对话框,可以在上方的library中看到 project.显示已创建的 RAM PORT2 Symbol
(17)选择input和 output Symbol
(18)最终设置完成
(19)将该原理图保存为顶层文件P
(20)进行全编译,如图示,在顶层文件下会显示实例化
(21)一个RAM的核已经成功调用。
32.用Memory compiler生成ram并仿真
Memory Compiler的简介
Memory Compiler能够根据用户的要求自动生成ROM或RAM,在生成ROM时需要直接将ROM写入的数据在生成时存进去,在生成RAM的过程则不需要,Memory Compiler产生RAM的同时会生成用于行为级仿真的 verilog代码
其他重要的文件列举如下:
(1)LB该数据是RAM的时序信息文件
(2)CLEF布局布线工具需要使用的物理信息文件
(3)SPEC RAM是注释文件。
这里我们使用Asan的 Memory Compiler—Advantage Single-Port Register file Generator来生成。所使用的工艺是TSMc65nmCL65G+ Process。
在布局布线前,需要考虑RAM的长与宽,估计它的位置与方向,尽量让功能相关的模块靠近一些。