FPGA随记——FPGA的存储资源

一  RAM 

1.BRAM 和分布式RAM

BRAM就是block ram 顾名思义就是块ram,一般是用的逻辑内部的已经有的存储资源做的。

分布是RAM站在逻辑的角度也是RAM,但是实际上是用寄存器和LUT搭的。

2.IP核生成RAM 和IP核生成FIFO:

通过IP的调用生成的RAM和FIFO。

3.以及他们的调用:

自己点开一个IP核的界面就可以调用了 。

二:实际应用

1.RAM中初始化

一般实际应用中,一种是ram在例化的时候,可以在ip里面设置初始值。这样每次复位都会有初始值写入。另一种是逻辑实现,顺次地址自加然后写入一些值。

2.RAM冲突

读写冲突、写写冲突(双口的)

读写冲突发生在同一时间对同一个地址进行读写操作时。例如,当一个端口正在向某个地址写入数据,而另一个端口同时从该地址读取数据时,就会发生读写冲突。在这种情况下,读取的数据可能是未更新的旧数据,或者是一个未知的状态。

我们是通过空满指示信号保证的读写冲突。

但是一般用读写地址作比较判断RAM的空满,都不直接使用RAM使用的读写地址,一般是读写的时序,使用打拍子后的读地址或者写地址,与另一个没有打拍的地址比较作为空满的判断。

3.应用

代码中定位信号的增加,可以分为输入部分的定位和输出部分的定位,以及中间编码部分的定位。
代码中一般也要增加异常复位,一般这种异常复位包括CPU给过来的复位,状态异常自己生成的复位(ram中满了,空了,状态机死了等)
ram的定位一般可以包括:输入,输出计数,信号sop 和eop ,en的计数,ram状态跳转时候的一些计数。

二 :RAM仿真

RAM仿真最好初始化一下ram中的值,一般设备上的存储器件初始化都会写0的,所以仿真的时候也要记得初始化ram。初始化ram的代码可以找AI帮忙写一写。

不过不仿真初始化,用高阻态可以观察一下哪些信号有异常也是比较好的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值