前端学习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是一个理想的选择
相关推荐
军军君0113 分钟前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three
bylander42 分钟前
【AI学习】TM Forum《Autonomous Networks Implementation Guide》快速理解
人工智能·学习·智能体·自动驾驶网络
xxxmine1 小时前
redis学习
数据库·redis·学习
打小就很皮...1 小时前
Tesseract.js OCR 中文识别
前端·react.js·ocr
wuhen_n2 小时前
JavaScript内存管理与执行上下文
前端·javascript
Yff_world2 小时前
网络通信模型
学习·网络安全
Hi_kenyon2 小时前
理解vue中的ref
前端·javascript·vue.js
野犬寒鸦3 小时前
从零起步学习并发编程 || 第一章:初步认识进程与线程
java·服务器·后端·学习
科技林总3 小时前
【系统分析师】6.3 企业信息化规划
学习
落霞的思绪4 小时前
配置React和React-dom为CDN引入
前端·react.js·前端框架