最近遇到非标准的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验证的一些思考相关推荐

  1. Verification Mind Games---how to think like a verifier像验证工程师一样思考

    1. 有效的验证需要验证工程师使用不同于设计者的思维方式思考问题.具体来说,验证更加关心在严格遵循协议的基础上发现设计里面的bug,搜索corner cases,对设计的不一致要保持零容忍的态度. m ...

  2. 验证arbiter的思考

    如下场景思考: 数据流拆解 1. 图中有四个arbiter,不考虑四个的依赖关系,必然会产生数据的mimatch. 2. 分离输入指令数据流,减少两者的耦合性 3. 重要的需要添加个人的想法 加入监测 ...

  3. 实战证明LINUX系统下密钥对验证的安全性

    实战证明LINUX系统下密钥对验证的安全性  密钥对验证:要求提供匹配的密钥信息才能通过验证,首先在客户端创建一对密钥文件(公钥.私钥),后把公钥文件放到需要远程连接的服务器中.远程登录时,系统将使用 ...

  4. FPGA实验三——计数器的实现并用SignalTap验证

    实验三 • 1.参照代码,设计一个0-17的计数器,当计数值为17的时候, OV输出1,其他输出0,注意设定合理的信号位宽. • 2.针对以上计数器,修改输出逻辑,当计数值为0-8时, OV输出0,9 ...

  5. 十年磨一剑,两万字长文深剖析分享IC验证经验

    有人认为我验证做得很牛,也有人认为我的验证早就丢下了:有人认为我发现了各个项目的不少问题,也有人认为我在CMM库的几百个问题单大部分属纯净水. 好吧,无论怎样,我还是把我在验证中如何发现和定位Bug的 ...

  6. 华为内部的关于IC验证的经验总结

    华为内部的关于IC验证的经验总结 ----IC验证工程师的"易筋经" 有人认为我验证做得很牛,也有人认为我的验证早就丢下了:有人认为我发现了各个项目的不少问题,也有人认为我在CMM ...

  7. 普通人最缺乏的深度思考能力,该如何培养?

    文章来源:Duing 仅做学术分享,侵权请联系删除 Duing 当你早晨拎着鸡蛋灌饼追公交车时,有的人却已经从车库缓缓开车出门. 每个人都是两个肩膀扛一个脑袋,为什么差距这么大呢? 其实,别人在拼命能 ...

  8. 在慕课网授课后关于学习模式的实践和思考

    之前有幸应邀参与了慕课网的免费课程<Android依赖管理与私服搭建>和实战电视连续剧<Android通用框架设计与完整电商App开发>,在早先录制关于依赖管理的课程时,就有一 ...

  9. 数字IC验证快速入门,你想知道的干货都在这里

    网上有很多人咨询关于数字IC验证的行情,下面大多数回答都说薪资高.机会多.发展好. 确实,一款芯片从立项到流片生产需要经过层层自测和验证,否则芯片注定是失败.可以说,IC验证是IC设计的关键所在. 验 ...

最新文章

  1. (转)大型网站架构演化发展历程
  2. eclipse提交Git时忽略文件
  3. android dialog 结构,Android 原生Dialog实现
  4. 一滴水从高处落下来,会不会砸死人?
  5. 认证服务器协议,基于口令的客户端/服务器认证协议
  6. laravel 环境自编译过程
  7. 2019-11-29GPS干扰技术解析
  8. 菏泽话务员机器人方案_AI人工智能语音系统电话机器人
  9. Java 8 日期和时间
  10. excel熵值法计算权重_一文讲清楚分散投资(下)——让很多人顿悟的“熵增定律”在投资中的应用...
  11. 拼团返利电商系统(拼返系统)v2.6
  12. 超实用的linux服务器vps测速脚本看看你的服务器到底跑多少带宽
  13. 最严“22条措施”打击市场乱象 云南旅游“浴火重生”
  14. 漫谈云数据中心的前世今生
  15. 什么是资金主力的撤资?主力撤资方式有哪些?
  16. svg loading效果(上百个)
  17. java并发编程实战wwj----------------------第一阶段--------------31-32-33-34
  18. jrxml 和 fr3文件的画图和编辑
  19. AVR ATMEGA8(2)
  20. PBOOTCMS红色教育留学咨询企业网站模板(PC+WAP)

热门文章

  1. 简单介绍一下CAD做三维图的REVOLVE指令
  2. 无线WiFi网络的密码破解攻防及原理详解
  3. Java实现 LeetCode 456 132模式
  4. Unity中SLua、Tolua、XLua和ILRuntime效率评测
  5. 红米9A android版本,红米9A配置参数-参数详情
  6. 跳频扩频通信系统Matlab仿真
  7. 普通的html页面中ie11的兼容性问题
  8. 90天掌握高级JS(第一个阶段日志)
  9. 来一波自动玩“别踩白块“脚本(三种方法)
  10. postman配置https证书(手动生成的证书)