赞
踩
1.三种方式
本文主要是ECP5™系列FPGA设备的内存。
设计人员可以通过三种不同的方式来使用内存原语。
方式 | 说明 |
---|---|
Clarity Designer | – Clarity Designer GUI 允许用户指定所需的内存类型和大小。 Clarity Designer 采用此规范并构造一个网表,通过使用一个或多个内存原语来实现所需的内存。 |
PMI | PMI 允许有经验的用户跳过图形界面,并从 Lattice Diamond® 项目导航器中即时使用可配置内存原语。可以设置 Verilog 或VHDL 所需的参数和控制信号。顶层设计将定义参数并声明信号,因此接口可以在运行期间自动生成黑盒合成。 |
Instantiation of Memory Primitives(内存原语的实例化) | 内存原语由顶层模块直接调用并在用户设计中实例化。这是一种高级方法,需要对内存连接和设计接口有透彻的了解。 |
2.利用内存原语的直接实例化
在设计中使用内存的另一种方法是直接实例化ECP5设备的内存原语,用户必须在EBR
块级别上工作。如果需要具有跨多个模块的内存,则用户需要自己创建级联内存。Lattice 在 Lattice Diamond 软件安装文件夹的 cae_library/synthesis
文件夹下的 VHDL/Verilog
文件中提供了所有原语的详细列表。
例如:在软件Lattice Diamond
安装目录下F:\lscc\diamond\3.10_x64\cae_library\simulation\verilog\ecp5u
可以看到ecp5u
系列的一些Verilog原语。
3.内存分类
1.Clarity Designer 生成的单端口内存模块
2.ECP5 器件的单端口 RAM 源语
3.基于EBR的单端口内存端口定义
1.无寄存输出Q
可以看到时钟上升沿存入/读取数据,数据读取延迟了时间Tco.
注
:Tco是寄存器发送据时需要的“最小持续(更新)时间”
2.输出寄存Q
透写:写入的数据一边写到RAM内核,一边输出到端口。
1.无寄存输出Q
可以看到时钟上升沿存入/读取数据,数据读取延迟了时间Tco.数据写入的内存Address的同时,也端口Q输出了数据。
2.寄存输出Q
注:写操作时,输出端口会将当前写地址的原数据输出。
1.无寄存输出Q
2.寄存输出Q
1.Clarity Designer 生成的真双端口内存模块
2.用于 ECP5 器件的真端口 RAM 源语
3.基于EBR的真双端口内存端口定义
1.无寄存输出
2.寄存输出
1.不带输出寄存
2.带输出寄存器
1.不带输出寄存
2.带输出寄存
1.Clarity Designer 生成的伪双端口内存模块
2.ECP5 器件的伪双端口 RAM 源语
3.基于 EBR 的伪双端口内存端口定义
1.由 Clarity Designer 生成的只读内存模块
2.基于 EBR 的 ROM 端口定义
1.无输出寄存器
IROM:internal rom 内部ROM,指的是集成到SoC内部的ROM
2.有输出寄存
1。Clarity Designer 生成的 FIFO 模块
2.FIFO端口定义
1.无寄存器
2.不带寄存器
1.不带寄存器
2.带寄存器
1.Clarity Designer 生成的 FIFO_DC 模块
、
2.rFIFO_DC端口信号定义
1.不带寄存器
2.带寄存器
1.不带寄存器
2.带寄存器
1.Clarity Designer 生成的分布式单端口 RAM 模块
2.用于 ECP5 设备的单端口分布式 RAM 源语
3.基于 PFU 的分布式单端口 RAM 端口定义
1.无输出寄存器
2.有输出寄存器
1.Clarity Designer 生成的分布式双端口 RAM 模块
2.用于 ECP5 设备的双端口分布式 RAM 原语
3.基于 PFU 的分布式双端口 RAM 端口定义
1.无输出寄存器
2.带输出寄存器
1.Clarity Designer 生成的分布式 ROM
2.ECP5 设备的分布式 ROM 源语
3.基于 PFU 的分布式 ROM 端口定义
1.不带寄存器
2.带输出寄存器
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。