关于SRAM验证的一些思考

最近遇到非标准的sram:两个sram拼在一起,每个SRAM 数据位宽是128bit,

关于读写

对于写端:每次可能写入128bit或256bit;

对于读端:只要sram 剩余数据大于等于256bit就会读256bit,否则读128bit,直至sram empty.

关于空满

pre_full , 可通过寄存器(back_pressure_thrd/back_pressure_return_thrd)配置sram 剩余多少空间pre_full举起来以及举起后剩余多少空间pre_full拉低;

当pre_full拉起来后HW还可以write 3 行sram  address .

empty,就是sram 空;

一些验证思考

  check part

  1. 计算sram使用空间的单位是什么,是128bit还是256bit(考虑写入奇数个128bit的场景)
  2. sram used depth 是否计算正确
  3. pre_full assert/de-assert的行为是否正确(是小于thrd还是小于等于thrd pre_full就会assert;产生逻辑是组合和是register out)
  4. pre_full拉起后是否最多写三笔
  5. sram 是否会overflow(当thrd设定值比较小时)
  6. 结合3、4、5,若是register out,需考虑back_pre_thrd不能小于5;若设为4,因为HW是小于thrd pre_full会为1,即left space 为3时,且 pre_full register out,故当pre_full举起时left space 可能为2.
  7. simulation结束时 FSM是IDLE,counter、sram used depth 均为0,sram 为empty ,读写指针要相等

   cover part

  1. stimulus 是否足够random(应对一些没有想到的场景)
  2. 两个sram address 是否都有访问
  3. 当sram left space 恰好等于back_press_thrd,且没有数据再写入sram
  4. 当sram left space 恰好等于back_press_return_thrd,且有数据再写入sram
  5. sram left space 等于0(full)
  6. sram 写入奇数个128bit data
  7. back_pressure_thrd 和 return_thrd相等
  8. 同T读2笔data(unit : sram used depth )
  9. 同T写2笔data(unit : sram used depth )
  10. cross item8和item9
SRAM是静态随机存取存储器的缩写,是一种常见的存储器组件。UVM (Universal Verification Methodology) 是一种通用的验证方法学,用于验证硬件设计的正确性。SRAM的UVM验证是通过使用UVM方法学来验证SRAM设计的正确性。 SRAM的UVM验证通常包括以下几个步骤: 1. 确定验证目标:首先需要定义需要验证的SRAM设备的功能和性能要求。例如,验证读写操作的正确性、保证数据的一致性等。 2. 编写验证环境:根据验证目标,编写基于UVM的验证环境。验证环境可以包括模拟生成器、事务级别建模、生成和检测校验点等组件。 3. 设计测试用例:根据验证目标,设计一系列测试用例来验证SRAM的各种操作。测试用例应该覆盖不同的读写情况以及极端情况,以确保SRAM能够正确地工作。 4. 运行仿真:使用验证环境和测试用例进行仿真运行。仿真会模拟SRAM设备的功能,并自动进行各种读写操作来验证SRAM的正确性。验证工程师可以通过仿真结果来检查SRAM是否满足功能和性能要求。 5. 分析结果和修复问题:根据仿真结果,验证工程师可以分析SRAM的行为,并检查是否存在问题。如果发现问题,需要修复SRAM设计,并重新运行验证过程直至通过验证。 通过以上步骤,就可以使用UVM方法学来验证SRAM的正确性。SRAM的UVM验证可以帮助确保SRAM在实际应用中能够按照设计预期正常工作,提高SRAM的可靠性和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值