Lattice系列内存时序

前言

1.三种方式
本文主要是ECP5™系列FPGA设备的内存。
设计人员可以通过三种不同的方式来使用内存原语。

方式说明
Clarity Designer– Clarity Designer GUI 允许用户指定所需的内存类型和大小。 Clarity Designer 采用此规范并构造一个网表,通过使用一个或多个内存原语来实现所需的内存。
PMIPMI 允许有经验的用户跳过图形界面,并从 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.内存分类

  • 分布式内存块(Distributed Memory Modules)
    • 分布式双端口 RAM (Distributed_DPRAM)
    • 分布式 ROM (Distributed_ROM)
    • 分布式单端口 RAM (Distributed_SPRAM)
  • 嵌入式块内存块(Embedded Block RAM或基于 EBR 的模块)
    • 双端口 RAM (RAM_DP_TRUE)
    • 伪双端口 RAM (RAM_DP)
    • 单端口 RAM (RAM_DQ)
    • 只读存储器 (ROM)
  • FIFO and FIFO_DC(先进先出存储器)
  • 基于 RAM 的移位寄存器( RAM Based Shift Register)

一、单端口RAM(RAM_DQ)

(一)概述

1.Clarity Designer 生成的单端口内存模块
在这里插入图片描述
2.ECP5 器件的单端口 RAM 源语
在这里插入图片描述

3.基于EBR的单端口内存端口定义
在这里插入图片描述

(二)正常模式——-Normal (NORMAL) Mode

1.无寄存输出Q
可以看到时钟上升沿存入/读取数据,数据读取延迟了时间Tco.

:Tco是寄存器发送据时需要的“最小持续(更新)时间”

在这里插入图片描述

2.输出寄存Q
在这里插入图片描述

(三)透写模式——Write Through (WRITETHROUGH) Mode

透写:写入的数据一边写到RAM内核,一边输出到端口。

1.无寄存输出Q
可以看到时钟上升沿存入/读取数据,数据读取延迟了时间Tco.数据写入的内存Address的同时,也端口Q输出了数据。
在这里插入图片描述
2.寄存输出Q
在这里插入图片描述

(四)先读后写模式-—— Read Before Write(READBEFOREWRITE) Mode

注:写操作时,输出端口会将当前写地址的原数据输出。
1.无寄存输出Q
在这里插入图片描述
2.寄存输出Q
在这里插入图片描述

二、真双端口RAM(RAM_DP_TRUE)—基于EBR

(一)概述

1.Clarity Designer 生成的真双端口内存模块
在这里插入图片描述
2.用于 ECP5 器件的真端口 RAM 源语
在这里插入图片描述
3.基于EBR的真双端口内存端口定义
在这里插入图片描述

(二)正常模式——Normal (NORMAL) Mode

1.无寄存输出
在这里插入图片描述
2.寄存输出
在这里插入图片描述

(三)透写模式——Write Through (WRITETHROUGH) Mode

1.不带输出寄存
在这里插入图片描述

2.带输出寄存器
在这里插入图片描述

(四)先读后写模式-—— Read BeforeWrite(READBEFOREWRITE) Mode

1.不带输出寄存
在这里插入图片描述

2.带输出寄存
在这里插入图片描述

三、伪双端口 RAM (RAM_DP) – 基于 EBR

(一)简介

1.Clarity Designer 生成的伪双端口内存模块
在这里插入图片描述
2.ECP5 器件的伪双端口 RAM 源语
在这里插入图片描述
3.基于 EBR 的伪双端口内存端口定义
在这里插入图片描述

(二)时序

  1. 无输出寄存器
  2. 在这里插入图片描述
    2.输出寄存
    在这里插入图片描述

四、只读存储器 (ROM) – 基于 EBR

(一)概述

1.由 Clarity Designer 生成的只读内存模块
在这里插入图片描述

2.基于 EBR 的 ROM 端口定义
在这里插入图片描述

(二)时序

1.无输出寄存器
IROM:internal rom 内部ROM,指的是集成到SoC内部的ROM
在这里插入图片描述
2.有输出寄存
在这里插入图片描述

五、单端口FIFO

(一)概述

1。Clarity Designer 生成的 FIFO 模块
在这里插入图片描述
2.FIFO端口定义
在这里插入图片描述

(二)数据写入时序

1.无寄存器
在这里插入图片描述
在这里插入图片描述

2.不带寄存器
在这里插入图片描述

在这里插入图片描述

(三)数据读取时序

1.不带寄存器
在这里插入图片描述
在这里插入图片描述

2.带寄存器
在这里插入图片描述
在这里插入图片描述

(四)寄存输出Q和读使能RdEn

在这里插入图片描述

六、双端口FIFO(FIFO_DC) – 基于 EBR 或 LUT

(一)概述

1.Clarity Designer 生成的 FIFO_DC 模块
在这里插入图片描述


2.rFIFO_DC端口信号定义
在这里插入图片描述

(二)写时序

1.不带寄存器
在这里插入图片描述
在这里插入图片描述

2.带寄存器
在这里插入图片描述
在这里插入图片描述

(三)读时序

1.不带寄存器
在这里插入图片描述

在这里插入图片描述

2.带寄存器
在这里插入图片描述
在这里插入图片描述

(四)寄存输出Q和RdEn

在这里插入图片描述

七、分布式单端口 RAM (Distributed_SPRAM) – 基于 PFU

(一)概述

1.Clarity Designer 生成的分布式单端口 RAM 模块

在这里插入图片描述
2.用于 ECP5 设备的单端口分布式 RAM 源语
在这里插入图片描述
3.基于 PFU 的分布式单端口 RAM 端口定义
在这里插入图片描述

(二)时序

1.无输出寄存器
在这里插入图片描述
2.有输出寄存器
在这里插入图片描述

八、分布式双端口 RAM (Distributed_DPRAM) – 基于 PFU

(一)概述

1.Clarity Designer 生成的分布式双端口 RAM 模块
在这里插入图片描述
2.用于 ECP5 设备的双端口分布式 RAM 原语
在这里插入图片描述
3.基于 PFU 的分布式双端口 RAM 端口定义
在这里插入图片描述

(二)时序

1.无输出寄存器
在这里插入图片描述
2.带输出寄存器
在这里插入图片描述

九、分布式 ROM (Distributed_ROM) – 基于 PFU

(一)概述

1.Clarity Designer 生成的分布式 ROM
在这里插入图片描述
2.ECP5 设备的分布式 ROM 源语
在这里插入图片描述
3.基于 PFU 的分布式 ROM 端口定义
在这里插入图片描述

(二)时序

1.不带寄存器
在这里插入图片描述

2.带输出寄存器
在这里插入图片描述

参考链接

FPGA下RAM的工作模式

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
时序约束是在数字电路设计中用于确保设计在时序要求下正确运行的一种方法。Lattice时序约束的一种类型。它是由Lattice Semiconductor公司提出并广泛使用的一种约束关系。Lattice时序约束主要用于确保设计满足条件时钟的时序要求。 Lattice时序约束主要涉及到时钟、数据路径和时序意图。时钟是指设计中使用的周期性信号,数据路径是指信号在电路中传输的路径,而时序意图是指设计者对信号在电路中的传输方式的理解和意图。 时序约束主要包括最大延迟和最小延迟。最大延迟是指信号传输经过的最长时间,而最小延迟是指信号传输经过的最短时间。通过对时钟、数据路径和时序意图进行合理的约束设置,可以确保设计在时序要求下正常运行。 Lattice时序约束的设置包括时钟频率、时钟起始时间、时钟边沿、数据路径延迟等方面。设计人员需要详细了解设计的时序要求,根据具体的应用情况来设置约束。通过合理设置时序约束,可以更好地控制时序和时钟的关系,从而提高电路的稳定性和可靠性。 总结来说,Lattice时序约束是一种用于确保电路设计在时序要求下正确运行的方法。通过合理设置时钟、数据路径和时序意图的约束,可以确保设计在时序要求下正常工作。Lattice时序约束的设置对于电路的稳定性和可靠性至关重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值