热度 12| |
一、概述
Signoff Flow是在模块设计完成、验证完成、lint & CDC、综合完成之后作为一个再次检查设计是否符合验收要求而出现的。但笔者认为,其实在设计之初就应该按照Signoff Flow的规则来进行模块的设计验证综合,这样才能最好的发现设计中是否存在违犯规则的情况,不要等到快验收的时候才发现某些地方违背了Signoff Flow的要求。下面简单介绍一下Signoff Flow有哪些流程。
二、WorkBook & TestPlan
设计之初,要做的就是写设计文档,也就是WorkBook 和TestPlan。设计人员写WorkBook,验证人员写TestPlan。
WorkBook 格式有如下几项:1,版本历史,2,功能介绍及Feature. 3, 模块结构及子模块功能详细描述。4,错误处理,5,RDL(寄存器配置),6,接口介绍(interface),7,message/data定义。以上内容根据需要有所增减。
TestPlan 格式有如下几项:1,版本历史,2,模块功能简介,3,验证平台结构图及其介绍,4,验证case描述。5,覆盖率。以上内容根据需要有所增减。
三、RTL 设计规范
RTL设计规范检查,主要检查时钟、复位、fifo、case语句、门级单元的使用、IP的使用,等是否符合规范。详细检查内容参考各家公司的规范。
四、Lint & CDC
Lint & CDC 一般使用nlint或者Spyglass进行检查。Lint 主要检查语法错误,数据宽度是否匹配,是否可综合等等内容。CDC 主要做跨时钟域检查,两个时钟域间的数据交互是否经过了同步,是通过三级寄存器同步,还是通过AFIFO来同步的数据等内容。
五、综合
综合的目的在于前期评估模块的时序是否满足要求,面积大小是否过大。如果时序不满足,在设计人员这边可以通过加一级寄存器的方式来解决,或者重新修改实现逻辑。但这种办法也不是每一次都能够达到期望的效果。有时候还可以采取使用更快的memory来达到满足时序要求这种办法。