我的Blog要去芜存精!不做论坛帖子的“故纸堆”---背景音乐: G弦上的咏叹调(巴赫)
【原创】从验证激励加不加白噪声说起
上一篇 /
下一篇 2006-06-01 10:35:58 / 天气: 晴朗
/ 心情: 高兴
/ 精华(1)
/ 个人分类:验证方法学
有朋友正在做无线通信芯片的RTL验证,他对激励中要不要加白噪声、要不要模拟无线信道感到疑惑。EDA中国门户网站G,gQN;QY4a*p4H O
EDA中国门户网站|%n4YPdNb
有的验证工程师觉得这是个伪问题,因为RTL验证手段是仿真,顾名思义,需要尽可能的模拟芯片的真实工作环境,激励的产生当然也需要这样做,否则验证将没有足够的说服力。这个想法没错,而且应该说,能这样思考问题,说明作为验证工程师,可以说是“渐入佳境”了!尽量的模拟真实环境,这是验证工程师的工作守则之一。
1WJjx8jW[x1|0
U
l?;w:c2igl0
对于很多设计(例如UART、DMA控制器、LCD Driver)来说,做到这一点不算特别困难,但是对于无线通信芯片或FPGA设计来说,要模拟的无线信道的情况可不是件容易的事情,特别是要比较真实地模拟多径、衰落、频偏,即便使用Matlab、SPW等算法仿真平台,也是非常困难的事情,以前我们用的某大EDA厂商提供的算法链路就在无线信道环境模拟上存在bug,其模型存在理论错误导致算法仿真结果远离真实情况。而且移动终端可能在城市,也可能在乡村,可能是静止的,也可能正在高速移动,可能在公路上,也可能在隧道入口或者隧道里,所处的状态不同,其无线信道的情况也大不相同,因此在验证时模拟无线信道环境是非常有挑战性的。
|
@;e`)^!r5q*i o*VU0
EDA中国门户网站2v3f)Q$j'HaO%N1g6Z
当然,对验证工程师来说,在模拟真实工作环境的过程中,面对困难是家常便饭了(所以验证工程师是苦的,otoko ga tsulai yo),所以我们可能还要模拟无线信道环境!可是,这样做到底有多少意义呢?难道就是因为自己相信“无功劳也有苦劳”?也许我们先讨论一下功能验证和性能验证两者的关系会有一些帮助。
CX&_ni/A,Kv8TK0
EDA中国门户网站7Ie&T\R
k@P+?)[7w
通常说的RTL验证属于功能验证,验证的目标是硬件逻辑的正确性,而性能验证是指误码率、信噪比、灵敏度等性能指标方面的验证,两者的区别不是一目了然的,甚至有时候根本难以区分,但是仍然有助于问题的讨论。在无线通信的基带处理中,我们最关心的是设计的逻辑功能是否正确,误码率等指标是否满足要求,在研发过程中,设计逻辑功能的正确性由RTL验证保证,而误码率等指标能否满足要求取决于算法设计,可以通过算法仿真、FPGA测试等手段进行验证。编写RTL代码时,算法应该基本确定下来,算法的性能也基本确定,RTL代码编写只是算法(特别是定点算法)的“翻译”,能做到的仅仅是正确地翻译,因此验证RTL代码的正确性,也就是验证这种翻译的正确性,即两者的一致性。误码率指标不是RTL仿真能确定的,例如Turbo译码器的误码率一般在百万分之一的数量级,为了验证Turbo译码器的误码率,至少需要译出一千万bit。TI6416 DSP内嵌的Turbo decoder的处理速率约10Mbps,也就是在真实工作环境中译出一千万bit需要运行1秒钟,6416的工作时钟约为500M,芯片级RTL仿真速度在500Hz左右,是6416工作频率的一百万分之一,因此在工作站上仿真需要1百万秒,也就是11天!因此RTL验证只适合做功能验证。
'\ Zc#bJVJF0
EDA中国门户网站Ms)_]!I8cSZ
模拟信道环境、在激励中加入白噪声对功能验证有帮助吗?我觉得在个别情况下是有用的,对多数情况只能说是harmless。在无线芯片/FPGA设计的功能验证过程中,一般会采用VERA或Specman,使用随机激励,在这种情况下,信道环境的模拟和加白噪声后,硬件的行为不会有新的变化,也就是不会exercise到新的RTL代码上。EDA中国门户网站R1Xl9l0J
)X%do;?c8pxx0
希望通过模拟无线信道环境、在激励中加白噪声来验证设计的性能是不现实的。设计的性能应该通过算法设计、算法仿真、FPGA测试来保证。尽量模拟真实环境是重要的,但是要具体情况具体分析,人力资源往往是短缺的。RTL验证应该做它最擅长做的事情,那就是bit-exact verification。EDA中国门户网站.yOH6xF1LE|
Alf.A5TOF#k9n]0
EDA中国门户网站|ij%q8\0bS0w
d5~9OG6V0
EDA中国门户网站Xz,N&AgX-L0^
EDA中国门户网站V2A
vcY#s2RiJ
EDA中国门户网站@;IM7A,qu$@K
4|k%}7h@^0m0
2q%yO4b n0
导入论坛
收藏
分享给好友
管理
举报
TAG:
HDL语言
验证方法学
验证