ram和fifo的优缺点

一、fifo

1、优点

(1)时序简单

        fifo通过读写使能控制,只要不满就可以写入数据;只要不空就可读出数据。不需要关注数据在fifo内部的存储位置。

(2)问题定位简单

        fifo的常见错误就是上/下溢出、非空情况不读、常空、常满等,容易定位。

(3)好的扩展性

        fifo不仅可当做缓存,同时也是很好的逻辑隔离单元,读或写逻辑部分的修改不影响对方的写或读逻辑,减少了逻辑耦合。

2、缺点

(1)首先不能控制地址,也就不能控制数据写入和读出的位置,所以不能存放表项;

(2)从资源的角度来看,需要有额外的逻辑来控制读写,还要产生空、满信号等;

(3)在一些特殊的应用场景下,比如对数据从写入到读出有延时需求的场景,不同的FIFO设计,有可能不满足要求。

二、ram

1、优点

(1)存放表项

        由于RAM的读写地址可以由用户自己控制,所以RAM是FPGA内存放大表项的几乎唯一的选择。

(2)覆盖

        在数据需要丢弃的场景中,可以通过重复写的方式来覆盖原来的数据,从而实现丢弃的功能。

(3)回读

        在有的场景中,同一个数据可能需要从缓存中多次读出,这种场景下RAM也是唯一的选择

2、缺点

(1)读写控制

        相比FIFO的读写控制,增加了地址这个控制信号,地址信号是比较容易引起问题,常见的就是地址错误导致数据写入错误。

(2)溢出

        由于RAM没有空满状态,RAM作为缓存的时候,写入和读出的逻辑,需要从方案上保证不溢出,复杂度略有增加。

(3)问题定位难

        除了上述地址错误导致写入的数据错误不好定位外,RAM没有空满状态,做缓存的时候,RAM的溢出同样不好定位。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值