首页 > 试题广场 >

在FPGA中,BRAM和DRAM有什么区别?

[问答题]
在FPGA中,BRAM和DRAM有什么区别?
BRAM是块RAM,DRAM是分布式RAM。在FPGA里,BRAM是以块为单位,也就说即使你使用了一小部分也会使得整块RAM无法再使用。DRAM的分布RAM只要以LUT来工作,这使得他对资源的大小可以进行合适的匹配。但是DRAM不需要时钟进行驱动。一般而言少量数据用DRAM,对时钟要求比较高或者资源很大的数据用BRAM。
发表于 2022-06-30 10:17:29 回复(0)
BRAM是块状存储器 是fpga专用存储器 DRAM是分布式存储器 是fpga逻辑资源构成的存储器
发表于 2024-10-25 11:14:36 回复(0)
首先,明确一下FPGA的内部资源 在FPGA中,CLB是实现逻辑功能的基本单元,一个CLB由2个slice组成,slice可以分成以下的两类: SliceM(Memory)和SliceL(Logic)。这两种slice的区别在于它们的LUT不同。 SLICEM(M:Memory):其内部的LUT可以读也可以写,可以实现移位寄存器和64bit的DRAM等存储功能,还可以实现基本的查找表逻辑。 SLICEL(L:Logic): 其内部的LUT只可以读,只能实现基本的查找表逻辑。 两者区别 1、BRAM(嵌入式块RAM):其是FPGA内部固定特有的资源,在FPGA内部可配置成单端口RAM、双端口RAM 、内容地址存储器(CAM)以及FIFO等常用存储结构,使用BRAM不占用额外的逻辑资源,并且速度更快(相对于DRAM);读出数据需要使用时钟,但是Tsu/Th/Tco更大。 2、DRAM(Distributed RAM 即分布式RAM),其是用FPGA内部的逻辑资源(LUT6中,SliceL的LUT只具有存储数据的能力,只能作为ROM使用,而SliceM的LUT还具备了数据写入的功能,可以作为DRAM或移位寄存器使用)搭建而成的存储器,相对BRAM来说更消耗资源;读取数据可以是纯组合逻辑也可以是时序逻辑,可能降低CLB中的其他资源利用率。
发表于 2024-09-27 10:21:11 回复(0)
BRAM是FPGA中的动态存储,具有高速,低延迟,低功耗的特点,适合小容量的储存;DRAM是外部连接的动态存储器,容量大,但访问速度较慢,非实时存储;
发表于 2024-08-15 15:26:20 回复(0)
DRAM是动态随机存储器,它是通过电容存储数据,由于电容的特性,会漏电流,所以需要定时刷新来保持数据稳定
发表于 2024-08-06 17:47:07 回复(0)
BRAM是块为单位RAM是分布式RAM
编辑于 2024-03-04 14:04:40 回复(0)
1、用的资源不同,BRAM用的DRAM资源,消耗的资源以块为单位,DRAM用的LUT资源拼凑而成,且使用资源灵活;2、时序,BRAM时序严格
发表于 2023-11-10 10:24:38 回复(0)
BRAM是块RAM,DRAM是分布式RAM。前者是以块为单位, 速度较慢,但存储数据多。后者是以LUT为单位的,速度较快,但存储数据少
发表于 2023-09-22 21:45:22 回复(0)
BARM是快存储器、DARM是分布式存取器。BARM的是按照块给的,不灵活,不能分配资源大小。DARM是分布式的RAM,主要以LUT为基础,灵活,可以分配资源大小,但是存储大小不会很大。一般来说,数据较少使用DARM,数据较大使用BRAM
发表于 2023-08-10 14:14:19 回复(0)
BRAM指块存储器,是fpga中定制的ram资源,使用时需要时钟,存储空间较大;DRAM指分布式存储器,为fpga中用逻辑资源lut拼出来的,使用时不需要时钟,可以是纯组合逻辑,给地址就能输出数据,使用更加方便,存储空间小。
发表于 2023-03-09 19:57:18 回复(0)
这里的答案中的分布式RAM和DRAM不是一个东西吧
发表于 2023-02-20 20:20:01 回复(1)