【数字ic自整资料】存储器及不同端口RAM对比

51单片机按键控制数码管0~9_AT89C51单片机数字电子钟的设计 一、设计目的与要求设计目的:通过设计,培养运用已学知识解决实际问题的能力、查阅资料的能力、自学能力和独立分析问题、解决问题的能力和能通过独立思考。设计要求:设计一个时、分可调的数字电子钟、断电后将数据保存,开启后时间将从断电后时间继续行走。二、设计内容与方案制定具有校时功能,按键控制电路其中时键、分键六个键分别控制时、分时间的调。按下小时数实现对小时数加减,按下分钟数实现对分钟数进... 阅读详情

参考资料

【FPGA】zynq 单端口RAM 双端口RAM 读写冲突 写写冲突_双口ram-CSDN博客

华为海思数字芯片设计笔试第五套_10、下列不属于动志数组内建函数的是: a lengtho b. new c. delete() d-CSDN博客

目录

1、计算器典型存储体系结构

2、三种不同端口RAM

(1)单端口RAM(Single-port RAM)

(2)伪双端口RAM(Simple dual-port RAM)

(3)真双端口RAM(True dual-port RAM)

3、RAM冲突问题

(1)读写冲突

(2)写写冲突


1、计算器典型存储体系结构

(1)常说的cache缓存,就是指SRAM。

(2)cache加在reg和memory之间,用来缓冲reg和memory速度差异过大导致数据传输过程中CPU需要等待的情况。

(3)双倍数据速率同步DRAM(ddr sdram)是目前主流的dram, 它的特点是:ddr sdram会在时钟信号的上边沿和下边沿均采样数据,因此可以大大增加数据的吞吐量。

(4)RAM的基本结构可分为三个部分:存储矩阵,地址译码器,读写电路。

RAM和ROM对比:

ROM

RAM

存储

永久存储,掉电保存

临时存储,掉电擦除

读写

只能读不能写

随机读写

容量

成本

应用

储存程序代码

储存运行数据

SRAM和DRAM对比:

SRAM

DRAM

结构

六个晶体管(结构复杂)

一个晶体管+一个电容(结构简单)

成本

数据刷新

不需要

需要

集成度

速度

成本

应用

高速缓冲存储器

大容量主储存器

2、三种不同端口RAM

(1)单端口RAM(Single-port RAM)

        输入只有一组数据线和一组地址线,读写共用地址线,输出只有一个端口。如果CPU需要读取RAM中的数据并将其写入到RAM的另一个位置,必须先执行读取操作,然后执行写入操作。

(2)伪双端口RAM(Simple dual-port RAM)

        输入有一组数据线,两组地址线,输出只有一个端口。伪双端口RAM可以提供并行读写操作,避免了传统单端口RAM的等待时间,因此有更快的访问速度和响应时间。

        其中,端口A只用于完成写操作,端口B只用于完成读操作,允许读写同时进行,且可以不同时钟。

        多出来的端口的用于ECC:可以对单比特进行纠正 对双比特进行检错,属于伪双端口RAM独有

(3)真双端口RAM(True dual-port RAM)

        输入有两组地址线和两组数据线,输出有两个端口。所以双口RAM两个端口都分别带有读写端口,可以在没有干扰的情况下进行读写,彼此互不干扰,可以相当于对单端口 RAM 的所有信号做了一个复制处理。

        这种RAM通常用于高端计算机系统中,因为它可以提高系统性能。例如,在多处理器系统中,多个处理器可以同时访问同一块双端口RAM,从而提高系统的并行处理能力。

3、RAM冲突问题

        双端口RAM会遇到的问题:

        读写冲突(Write-Write Collisions): 在同一时间,两个端口对同一个地址,一个进行读取,一个进行写入操作。(这个在伪双端口RAM中也会遇到)

        写写冲突(Write-Write Collisions): 在同一时间,两个端口对同一个地址进行写入操作。

(1)读写冲突

        读写冲突:即同时刻读写同一地址所出现的冲突,例如理论上我们已经向某个地址写入了新的数据,我们也希望可以同时读到这个地址内新写入的数据,但实际上,这个新数据还没有写入 RAM 中,所以我们读出来的可能是 RAM 默认值,或者是 RAM 该地址中上一次的值,这便是读写冲突。

        可以设定双口RAM为读优先还是写优先。

        在上图中 WEA[3:0] 为写使能,字节使能,每一个bit可以选择写入数据的那个字节被写入,1表示写入该字节 ,0表示不写入该字节, DINA[31:0]为写数据总线,DOUTBarf为读优先情况下读数据总线的值,DOUTBawf为写优先情况下读数据总线的值,RAM Contents为RAM中存储的数据。

        在读优先情况下,同时对一个地址进行读写,会先把RAM里原本的数值发送到DOUTBarf读数据总线, DOUTBARF输出的值一直为RAM原本的数据。

        在写优先情况下,WEA[3:0] 为b0101 表示写入第1个字节和第3个字节, 此时 DINA[31:0]为AAAA AAAA 会写入00AA 00AA的数据 因为是写优先 ,所以会把数据先发送到DOUTBarf读数据总线上,但是读数据总线此时也在读取数据,此时DOUTBarf上的值,就不知道是原本RAM里的数据 还是新写入的这个数据,就成了一个未知态。

        所以当发生读写冲突时,读优先的模式下读出的是读地址中存储的上一个数据;写优先模式时读出的是未知的数据“XX”。

        解决读写冲突:写优先:当检测到读和写同一个地址的时候,当前读输出数据不从RAM中读取,而是直接取写入数据,该方法叫做“写穿通到读“

(2)写写冲突

        表示端口A和端口B写使能同时有效且写地址DINA和DINB相同,此时需要关断一个写,把两个写端口都需要更新的值处理到一个写端口上。切记任何双端口 RAM 都不支持写写冲突

        如果数据有效使能不同,还可以将两个数据合并成一个数据传入RAM;但是如果有效使能有重叠,那么就会出现x不定态。

        所以写写冲突的情况在双端口RAM中避免。

Altera FPGA是什么?开发流程? 器件选型是一件严肃的事情,既要考虑性能又要兼顾成本,还要考虑长期供货的稳定性。一般而言,FPGA 需要分三步进行选型。首先要对项目进行需求分析,评估项目中系统需要哪些资源,每一类资源需要的数量,需要哪些外设接口等,是否有特殊需求。接着结合开发人员的研发能力和对不同厂家器件的熟悉程度,使用熟悉的芯片和工具,可以减少开发难度,缩短开发时间,加快产品上市时间。 阅读详情

相关推荐

树莓派基础实验29:I2C LCD1602实验

一、介绍    众所周知,虽然液晶显示器和其他显示器大大的丰富了人机交互,但他们有一个共同的弱点。当它们连接到控制器时,需要占用大量的IO口,但是一般的控制器没有那么多的外部端口,也限制了控制器的其他功能。因此,开发具有I2C组件的LCD1602来解决该问题,LCD1602是一种只用来显示字母、数字、符号等的点阵型液晶模块。    字符型液晶显示模块是由字符型液晶显示屏LCD 、控制驱动主电路HD44780/KS0066及其扩展驱动电路HD44100或与其兼容的IC, 少量阻、容元件结构件等装配在PCB板上

chinacqzgp的博客 6634

Veriog HDL 基本电路设计13:双口SRAM

有志者,事竟成,破釜沉舟,百二秦关终属楚!苦心人,天不负,卧薪尝胆,三千越甲可吞吴!

普泽智慧(中国)有限公司 757

51单片机与RFID技术综合学习套件V2

RFID(Radio Frequency Identification)技术,即无线射频识别技术,是一种非接触式的自动识别技术。RFID技术利用射频信号通过空间耦合实现无接触信息传递,并通过传递的信息达到识别目标对象并获取相关数据的目的。RFID射频IC卡板子集成了蓝牙模块,通常是为了提供一种无线数据传输的手段。这样,我们可以无需物理连接即可与PC或者其他蓝牙设备进行数据交换。这种集成的蓝牙功能支持多种配置和数据传输协议,例如串口透传模式,使得用户能够通过蓝牙将数据发送到远端的设备或者应用。

weixin_35903223的博客 661

FPGARAM详解,真双口RAM的使用

真双口RAM IP练习 真双口RAM可以说是灵活性最大的RAM IP核,因为它赋予了用户最大的设计空间,两个可以独立读写地址空间的端口,充分释放了FPGA程序设计上的可能。 但是实际上真双口RAM在工程项目中还是和单双口RAM一样使用频率比较低的,因为其太过灵活自由了,就导致了用户在设计程序的过程中,比较难以驾驭,最大的苦恼即来自于两个独立读写端口的不可避免的读写冲突,当然也有一些FPGA工程师单独做了一个相对复杂的读写状态机,在程序设计上可以规避读写冲突,但是笔者也和大部分朋友们一样,比...

wandou0511的博客 2万+

IP核之RAM

RAM(Random Access Memory),即随机存取存储器,可以将数据写入地址,可以随时从任意指定地址读取数据。时钟频率决定了读取速度。

weixin_67803687的博客 2381

端口RAM、伪双端口RAM、真双端口RAM:功能详解与应用选型指南

本文详细介绍了单端口RAM、伪双端口RAM和真双端口RAM的特点与适用场景。单端口RAM结构简单,适合资源受限场景;伪双端口RAM支持同时读写不同地址,是FIFO等应用的理想选择;真双端口RAM提供最大并行性,适用于双处理器共享内存等需求。文章通过对比表、Verilog代码示例和选型指南,帮助工程师根据具体应用(如数据吞吐量、资源限制、时钟域需求等)选择合适的RAM类型,并解释了不同RAM在地址冲突时的处理机制。

weixin_63763813的博客 627

FPGA】zynq 单端口RAM端口RAM 读写冲突 写写冲突

伪双端口模式下我们需要避免读写冲突;在真双端口模式下我们需要避免读写冲突和写写冲突。

Z小旋 1万+

真双端口和简单双端口ram的区别

在控制逻辑的复杂性方面,真双端口RAM的控制逻辑通常最为复杂,需要处理两个端口的同步和冲突问题;单端口RAM则最为简单,仅涉及单个端口的读写控制。真双端口RAM(True Dual-Port RAM)和简单双端口RAM(Simple Dual-Port RAM)在功能和应用场景上存在显著差异。综上所述,真双端口RAM和简单双端口RAM在功能特点、应用场景以及资源使用和复杂性方面存在显著差异。从资源使用的角度来看,单端口RAM的资源消耗最少,简单双端口RAM次之,真双端口RAM最多。三、资源使用和复杂性。

weixin_41230430的博客 1529

数字IC笔面常考,跨时钟域神器。——异步FIFO(简介及手撕代码)

掌握基本的数字模块是数字IC工程师的基本要求,最近几年在笔试和面试的时候会遇到要求手撕代码,一方面是考察面试者有没有良好的coding style, 重要的则是考察面试者对常用模块的了解程度。面对这种问题,没有比较好的解决方法,只能是多看、多写,时常复习复习。之所以要把异步FIFO放到分享的第一篇技术博客,是因为本人在学习过程中,从项目中简单了解异步FIFO的IP核、到学习空满信号判断再到照着资料手敲代码,最后到面试中针对异步FIFO有问必答,一路走过来,越发了解到异步FIFO的重要性。

HFUT90S的博客 8901

从同步FIFO设计看数字IC基本功:格雷码、时序优化与工程权衡

数字集成电路设计中,同步FIFO(先进先出队列)是连接不同模块、进行数据缓冲的基础组件。其核心原理在于通过读写指针的环形寻址管理数据存取,并利用空满标志实现流控。为确保可靠性,指针通常采用格雷码编码,其相邻状态仅一位变化的特性,能有效降低跨时钟域采样时因多位跳变引发的亚稳态风险,这是处理异步信号同步的关键技术之一。从工程价值看,稳定的FIFO设计直接影响系统吞吐量和数据完性。在实现时,需关注时序路径优化,例如通过插入流水线寄存器来切割长组合逻辑,以满足建立时间要求,提升运行频率。本文以一道典型笔试题为例

weixin_30265103的博客 349

毕业设计 基于51单片机公交ic卡系统的设计

序🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机公交ic卡系统的设计。

Nueve_Y的博客 646

STM32学习知识总结

stm32内核及常见外设的基础知识

weixin_46545987的博客 1249

总线与微命令实验总结_树莓派基础实验29:I2C LCD1602实验

一、介绍 众所周知,虽然液晶显示器和其他显示器大大的丰富了人机交互,但他们有一个共同的弱点。当它们连接到控制器时,需要占用大量的IO口,但是一般的控制器没有那么多的外部端口,也限制了控制器的其他功能。因此,开发具有I2C组件的LCD1602来解决该问题,LCD1602是一种只用来显示字母、数字、符号等的点阵型液晶模块。 字符型液晶显示模块是由字符型液晶显示屏LCD 、控制驱动主电路HD4478...

weixin_39747049的博客 3886

蓝桥杯单片机数码管动态显示_AT89C51单片机数字电子钟的设计

一、设计目的与要求设计目的:通过设计,培养运用已学知识解决实际问题的能力、查阅资料的能力、自学能力和独立分析问题、解决问题的能力和能通过独立思考。设计要求:设计一个时、分可调的数字电子钟、断电后将数据保存,开启后时间将从断电后时间继续行走。二、设计内容与方案制定具有校时功能,按键控制电路其中时键、分键六个键分别控制时、分时间的调。按下小时数实现对小时数加减,按下分钟数实现对分钟数进...

weixin_39915505的博客 2279

csapp字符驱动实验_树莓派基础实验29:I2C LCD1602实验

一、介绍 众所周知,虽然液晶显示器和其他显示器大大的丰富了人机交互,但他们有一个共同的弱点。当它们连接到控制器时,需要占用大量的IO口,但是一般的控制器没有那么多的外部端口,也限制了控制器的其他功能。因此,开发具有I2C组件的LCD1602来解决该问题,LCD1602是一种只用来显示字母、数字、符号等的点阵型液晶模块。 字符型液晶显示模块是由字符型液晶显示屏LCD 、控制驱动主电路HD4478...

weixin_39696665的博客 1034

嵌入式硬件-Xilinx FPGA MIG & DDR4 研究(二)(DDR3/4接口信号+PCB布线准则+引脚分配准则+Pinout)

本文档提供了关于FPGA-MIG和DDR4内存的详细介绍,包括其工作原理、关键信号、以及与之相关的PCB设计准则。DDR4作为目前广泛使用的内存技术,其特点包括高速数据传输和同步工作机制,而FPGA-MIG则为这些内存提供了高效的控制和接口,确保数据传输的稳定性和高效性。文档还详细讨论了DDR4的信号类型,包括时钟信号、地址和命令信号以及数据信号等,这对于理解DDR4的工作机制至关重要。在PCB设计方面,本文档提供了关于如何布线和引脚分配的准则,旨在帮助设计师优化内存与FPGA之间的连接.

hi94的博客 5967

从零构建TTL计算机:深入解析Isetta复古计算机的设计与调试

晶体管-晶体管逻辑(TTL)是数字电路的基础,其核心在于使用74系列等标准逻辑芯片构建基本门电路和时序电路,实现二进制运算与控制。理解TTL原理是掌握计算机体系结构的基石,它能直观揭示数据流动、时钟同步和状态机控制等底层机制,具有极高的教学与工程实践价值。在嵌入式系统、硬件安全、教育实验平台等场景中,基于TTL的自主CPU设计能深化对冯·诺依曼架构的理解。本文聚焦于一个具体实践——Isetta TTL Computer项目,该项目将经典74LS系列芯片应用于完计算机的构建,并特别探讨了系统调试中常见的“T

weixin_30263073的博客 341

基于AT89C52单片机的温度检测设计与仿真

本设计是基于52系列的单片机进行的设计,可以完成温度的测控,可以实现实际温度与设定温度区域的比较,并在LED上相应的显示结果。设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C52单片机。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对温度测控系统算法特别性来运算实现功能,最终选用KEIL公司的μVision3软件,采用c语言进行编程,并用proteus仿真。 基本要求: 1、以单片机为核心器件,构造系统; 2、熟悉、掌握单片机汇编

qq_3191153580的博客 2366
上一篇: 【数字ic自整资料】STA(静态时序分析)相关
下一篇: 【数字IC自整资料】笔试相关
2401_83129283
博客等级 码龄2年 255粉丝 · 16原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值