DE新手如何和DV有效沟通
最近有几个IP需要和验证的同事进行拉通合作,需要他们的帮助,对设计的模块进行验证。
作为新入职场的菜鸟DE,怎么有效尽快的让DV同事get到所有信息,有几点体会。
01文档需要详实有效
一般来说,我们的设计从顶层到底层实现有好几份文档,分为架构级的高层次文档,实现级别的硬件实现文档,软件同事配置所需的编程文档等,这类文档需要详实记录你的设计电路,特别是硬件实现文档,这不仅仅是给DV的同事看的,还是给几个月后的你看的,不要到时候出了bug,DE自己都不知道这个rtl.sv是干嘛的。有效的意思是,当你修改了部分RTL之后,需要同步更新文档,尽可能减少代码和文档对不上的情况。
02参与TestPlan制定
文档交付出去以后,在DV制定TestPlan时,DE应当参与部分会议,拉通对齐对设计模块的认知,防止出现偏差。
03接口时序要明确
不同的模块设计,端口时序千奇百怪,这个最好是在文档中有描述,有时序图表述,比如握手信号的时序,一定要和DV沟通好,那些信号是需要什么情况下产生回应的。比如vld信号,有的设计的电平有效,有的是产生pulse,而有的则是边沿有效。
04编程指导需明确
当存在多个时钟,存在CSR寄存器时,需要和DV沟通,时钟是同步还是异步,先上电哪些模块,上电顺序等。
05代码内部存在的GAP需交代
一般来讲,DV使用了很多软件的语言,高层次的描述,但是对于硬件来讲,存在很多局限性,比如除法器的输出精度不够,电路延时不同步等。这些在验证中如果不明确可能会导致ref model存在问题,增加了DV的无效工作。
06命名规范
内部名称,端口名称最好有一套规则,看到名字就知道这个内部信号是干嘛的, 是net还是reg,与其他信号之间的关系等等。这个对于debug的用处很大。
最后,希望DE都能和DV高效合作,Bug少少!