Lattice系列内存时序

  • 前言
  • 一、单端口RAM(RAM_DQ)
    • (一)概述
    • (二)正常模式——-Normal (NORMAL) Mode
    • (三)透写模式——Write Through (WRITETHROUGH) Mode
    • (四)先读后写模式-—— Read Before Write(READBEFOREWRITE) Mode
  • 二、真双端口RAM(RAM_DP_TRUE)—基于EBR
    • (一)概述
    • (二)正常模式——Normal (NORMAL) Mode
    • (三)透写模式——Write Through (WRITETHROUGH) Mode
    • (四)先读后写模式-—— Read BeforeWrite(READBEFOREWRITE) Mode
  • 三、伪双端口 RAM (RAM_DP) – 基于 EBR
    • (一)简介
    • (二)时序
  • 四、只读存储器 (ROM) – 基于 EBR
    • (一)概述
    • (二)时序
  • 五、单端口FIFO
    • (一)概述
    • (二)数据写入时序
    • (三)数据读取时序
    • (四)寄存输出Q和读使能RdEn
  • 六、双端口FIFO(FIFO_DC) – 基于 EBR 或 LUT
    • (一)概述
    • (二)写时序
    • (三)读时序
    • (四)寄存输出Q和RdEn
  • 七、分布式单端口 RAM (Distributed_SPRAM) – 基于 PFU
    • (一)概述
    • (二)时序
  • 八、分布式双端口 RAM (Distributed_DPRAM) – 基于 PFU
    • (一)概述
    • (二)时序
  • 九、分布式 ROM (Distributed_ROM) – 基于 PFU
    • (一)概述
    • (二)时序
  • 参考链接

前言

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

方式 说明
Clarity Designer – Clarity Designer GUI 允许用户指定所需的内存类型和大小。 Clarity Designer 采用此规范并构造一个网表,通过使用一个或多个内存原语来实现所需的内存。
PMI PMI 允许有经验的用户跳过图形界面,并从 Lattice Diamond® 项目导航器中即时使用可配置内存原语。可以设置 Verilog 或VHDL 所需的参数和控制信号。顶层设计将定义参数并声明信号,因此接口可以在运行期间自动生成黑盒合成。
Instantiation of Memory Primitives(内存原语的实例化) 内存原语由顶层模块直接调用并在用户设计中实例化。这是一种高级方法,需要对内存连接和设计接口有透彻的了解。

2.内存分类

  • 分布式内存块(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的工作模式

Lattice系列内存时序相关推荐

  1. 内存超频时序怎么调_电脑内存条专业科普,内存选购、内存品牌、内存安装、内存时序体质、内存超频频率详细讲解...

    有很多兄弟经常问,什么牌子的内存条好啊?我用PS.剪辑软件需要多大内存条?内存条怎么超频啊? 所以,今天我们来详细讲解一下内存条. 一.什么是内存条? 内存条又叫随机存取存储器(英文缩写RAM),是与 ...

  2. 内存条hyperx_全方位无死角 带你了解HyperX FURY系列内存

    早在今年1月份,美国 CES 2014消费电子展上,金士顿就揭开了HyperX FURY系列内存的神秘面纱.经过两个多月的短暂等待, HyperX FURY系列内存4月份正式登陆国内市场.作为Hype ...

  3. WPF性能调试系列 – 内存监测

    原文:WPF性能调试系列 – 内存监测 WPF性能调试系列文章: WPF页面渲染优化:Application Timeline WPF页面业务加载优化:Ants Performance Profile ...

  4. phpfpm内存越来越高_内存时序越小越好,为什么DDR1到DDR4 时序值越来越高了?

    内存参数中除了容量.频率外,一般还有一组由四个用破折号分割的数字串,这就是内存的时序. 1.如何查看内存时序 购买内存时,一般参数中都会标注内存的时序信息. 使用中的内存可以用 CPUZ 进行查看. ...

  5. 天选三超频实战/适用于所有AMD笔记本的全面超频指南:CPU频率,功耗墙,Infinity Fabric总线(FCLK),内存时序,CPU电压,核显频率,核显电压......

    修订2022.10.24 CPU curve optimizer 设为negative17仍然可以稳定工作. 零:前言 1.是的你没看错,所有AMD锐龙处理器笔记本都能超频,台式机也能用,不管BIOS ...

  6. 超频技术之内存“时序”重要参数设置解说

    相信大多数超频帖子里都会提到内存时序调整,也就是我们经常看到的5-5-5-15 1T.4-5-4-12 2T等等,那么这些参数都代表什么呢?又应该如何设置合理的参数呢?以下内容将向大家介绍内存时序的重 ...

  7. Lattice系列FPGA入门相关1(Lattice系列FPGA简介)

    需求说明:Lattice系统FPGA入门 内容       :Lattice系列FPGA简介 来自       :时间的诗 1.为什么Lattice在进入FPGA市场的第一年就能取得这么好的成绩? 我 ...

  8. FPGA经验谈系列文章——时序不过怎么办

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 FPGA经验谈系列文章--时序不过怎么办 前言 如果设计验证和测试已经接近尾声,偶尔进行小改可能出现几条时序违例的情况 逻辑级数过大引 ...

  9. 金士顿服务器内存条型号解读,金士顿ValueRAM系列内存新编号规则

    同一个系列的内存为了表示自身的性能不同就会采取不同的编号/型号,我们可以根据内存的这些编号/型号来选取我们需要的内存.那么内存的编号/型号有什么规则呢?今天桌面天下的小编就要来给大家讲解一下金士顿Va ...

  10. Java内存泄露系列--内存泄露的原因及解决方案(大全)

    原文网址:Java内存泄露系列--内存泄露的原因及解决方案(大全)_IT利刃出鞘的博客-CSDN博客 简介 简介 本文介绍Java中内存泄露的一些原因与解决方案. 如果内存泄露的空间足够大,就会导致内 ...

最新文章

  1. 基于YOLOv5的智慧工地实现---安全帽检测(2)
  2. Xen 和 KVM 下如何关闭 virbr0
  3. Flutter 21: 图解 ListView 下拉刷新与上拉加载 (三)【RefreshIndicator】
  4. oracle忘记口令
  5. oracle linux内存推荐分配,浅析Oracle 的体系架构及内存分配机制
  6. python websocket server_Python Websocket服务端
  7. SQL将金额转换为汉子
  8. mysql benchmark 测试工具_BenchmarkSQL数据库基准测试工具
  9. 从零开始学keras之过拟合与欠拟合
  10. 管理赚得多还是程序员多_程序员如何为自己开辟出更多的收入渠道
  11. Android library快速构建上传jcenter
  12. excel转json脚本
  13. OS文件处理库python应用整理DIY
  14. 为什么要进行前后端分离
  15. qt 批量裁剪图片_照片变素描,不用下载App,好用的在线图片处理及图库
  16. Jenkins RestAPI调用出现Error 403 No valid crumb was included in the request [亲测有用]
  17. 阅读类APP会员页竞品分析
  18. linux 查看文件创建时间
  19. 02-寻找 VIP(上)-有福利|长期招收编程一对一
  20. css实现 元素/图片上下跳动 左右跳动 css动画

热门文章

  1. 教学实验平台之三极管放大特性测试
  2. OneNote笔记备份
  3. C盘满了——扩展C盘内存
  4. vnc远程连接,5步实现vnc远程连接
  5. urllib库(三)parse模块:quote()/quote_plus(),unquote()/unquote_plus(),quote_from_bytes()
  6. 组策略禁止自动锁定计算机,让Win10自动锁屏的设置技巧
  7. Reset 重置按钮
  8. 2022年工作日节假日数据
  9. Python实现简易搜索引擎
  10. 大胖子走迷宫【第十届】【决赛】