前端学习13:存储器

目录

[‌Memory Compiler(内存编译器)](#‌Memory Compiler(内存编译器))

典型的存储器

SRAM

SDRAM

DDRAM

ROM

FLASH


Memory Compiler(内存编译器)

‌Memory Compiler(内存编译器)‌‌是由芯片工艺厂商提供的专用工具,用于自动生成不同容量、类型和性能的存储器模块(如SRAM、Register file等),并输出包含行为模型、时序库、版图文件等完整设计数据。‌‌‌‌

‌核心功能与输出内容‌

Memory Compiler通过输入参数(如存储深度、位宽、工艺角等)生成以下设计文件:

  1. ‌前端设计文件‌:Verilog行为模型,用于仿真验证;‌‌‌‌
  2. ‌逻辑综合文件‌:时序库(.lib/.db),供综合工具使用;‌‌‌‌
  3. ‌后端设计文件‌:电路网表、LEF/GDS版图文件,用于物理实现;‌‌‌‌
  4. ‌验证文档‌:DFT测试相关文件和datasheet手册。‌‌

‌存储器类型与选择‌

根据设计需求,Memory Compiler可生成以下主要类型:

  • ‌SRAM‌:面积优势显著,适合大容量存储,分为Single Port和Dual Port结构;‌‌‌‌
  • ‌Register File‌:基于SRAM架构但读写端口更灵活,常用于高速小容量场景;‌‌‌‌
  • ‌ROM‌:仅支持读取,无写入功能。‌‌‌‌

‌性能权衡‌:High Speed型侧重速度,High Density型侧重面积优化。‌‌‌‌2

与手动设计的对比

对比维度 Memory Compiler生成模块 手动综合寄存器组
实现方式 专用SRAM单元+优化电路 标准单元(如D触发器)搭建
面积/功耗 更优(深度优化) 较差
适用场景 位数较大时更具经济性 小规模存储或特殊定制需求

典型的存储器

在SoC中,存储器是决定性能的一个重要因素。在不同的SoC设计中,根据实际需要采用不同的存储器类型和大小。常用的存储器有 SRAM、SDRAM、DDRAM、FLASH 和 ROM。

SRAM

(静态随机存储器)的特点是存储速度非常快,可以达到和处理器的时钟同步,而且SRAM存储器的接口简单,比较容易设计。SRAM 在系统中常常作为处理器的缓存 cache 。但是一个通用的SRAM的每1位需要6个晶体管,因此比相同存储空间的RAM的面积大,在SOC中只能少量使用。

(SRAM是实现Cache 的一种关键技术,Cache位于CPU和主存储器(通常是DRAM)之间,用来存放当前活跃的程序和数据,以减少CPU访问主存的延迟。Cache的工作原理基于程序的时间局部性和空间局部性,即程序在执行过程中会频繁访问最近使用过的数据和指令⁠⁣

SDRAM

(同步动态随机存储器)的价格低、体积小、容量大,是SOC中比较理想的存储器件。与SRAM 相比,SDRAM的控制逻辑复杂,速度较慢。SDRAM 每一个内存单元由一个能短暂存储电荷的电容器构成。由于动态内存单元容易失去电荷,因此容易失去存储在其中的数据。在 SDRAM中必须包括一个刷新电路,不断地刷新其中的电荷,使其值保持不变。

DDRAM

(双倍传输速度随机存取存储器)采用双倍数据技术,支持在时钟的上升沿和下降沿同时进行数据传输,从而增加数据的吞吐量,其最大带宽可以达到 SDRAM的两倍,当然它的接口设计也更加复杂。是 SDRAM的升级。

ROM

(只读存储器)是一种只读存储器,包括掩膜式 ROM、可编程 ROM(PROM)、可擦除可编程 ROM(EPROM)和可电擦除可编程 ROM(EEPROM)等。ROM 在SOC中一般用来存储固定的代码或资料。

FLASH

(闪存)是价格性能兼顾的一种新型的不挥发存储器。

NOR FLASH 和 NAND FLASH 是现在市场上两种主要的 FLASH 存储器。

NOR FLASH的特点是在芯片内可以直接运行程序,而不必再把代码读到系统 RAM 中。NOR的传输效率很高,但是写入和擦除速度较低,这就大大影响了它的性能。

NAND FLASH能提供比较高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。NOR FLASH 的接口比较简单而 NAND FLASH 的接口则要复杂得多。

NAND Flash与NOR Flash

  • NOR Flash的应用场景:
    • NOR Flash由于其支持随机访问和快速读取的特点,通常被用于需要快速启动和执行代码的场合。例如,在嵌入式系统中,NOR Flash常用来存储引导代码或固件程序 ⁠⁣ ⁠⁣2
    • 它还广泛应用于消费电子、物联网设备、车载系统以及工业领域,尤其是在那些对总线长度要求不高且需要直接从存储器中执行代码(XIP, Execute In Place)的应用中⁠⁣ ⁠⁣3⁠⁣ ⁠⁣4
  • NAND Flash的应用场景:
    • NAND Flash因其高数据存储密度和较低的成本优势,更适合于需要大容量存储的应用。比如,它在数码相机、智能手机、平板电脑等便携式设备中作为主要存储介质使用⁠⁣ ⁠⁣**** 3
    • 此外,NAND Flash也被大量应用于固态硬盘、存储卡以及其他需要高速写入速度的数据存储解决方案中⁠⁣ ⁠⁣4 。对于需要频繁进行大量数据写入操作的应用来说,NAND Flash是一个理想的选择
相关推荐
编程修仙2 小时前
第一篇 VUE3的介绍以及搭建自己的VUE项目
前端·javascript·vue.js
余生H2 小时前
Ai编程翻车修车记3 -一次因为移除监听器失败导致bug后的DOM事件深入学习
学习·bug·ai编程
星月心城2 小时前
八股文-JavaScript(第一天)
开发语言·前端·javascript
政采云技术2 小时前
深入理解 Webpack5:从打包到热更新原理
前端·webpack
T___T2 小时前
从入门到实践:React Hooks 之 useState 与 useEffect 核心解析
前端·react.js·面试
山有木兮木有枝_2 小时前
当你的leader问你0.1+0.2=?
前端
悠哉悠哉愿意2 小时前
【EDA学习笔记】电子技术基础知识:元件数据手册
笔记·单片机·嵌入式硬件·学习·eda
前端程序猿之路2 小时前
模型应用开发的基础工具与原理之Web 框架
前端·python·语言模型·学习方法·web·ai编程·改行学it
名字被你们想完了2 小时前
Flutter 实现一个容器内部元素可平移、缩放和旋转等功能(八)
前端·flutter