文章來自 微信公眾號 「數字晶元實驗室」

眾所周知,數字IC設計崗位大致可分為前端邏輯設計和後端物理設計。在SOC設計中,前端驗證更是佔據著超過70%的項目時間。

數字IC研發是一個高門檻、高投入、高風險的行業,這就使得晶元研發需要進行非常多的迭代次數,以確保最終流片「儘可能」地萬無一失。否則,任何post_layout的硬體bug,甚至晶元變成不能動的「石頭」,都會導致巨大的經濟和人力損失,並且失去最佳的Time-to-market。

所以說,在數字IC研發中,晶元驗證工作顯得尤為重要。

對於驗證,目標就是「發現所有的bug」。

我們需要掌握uvm等驗證方法學、sv等high-level驗證語言、vcs等模擬工具以及perl等腳本語言。這些工具都是數字IC驗證工程師,除了基本的前端設計知識之外,必備的知識技能。

為此,博主錄製了VCS Lab

自製B站免費VCS Lab視頻鏈接如下:

space.bilibili.com/8790

自然,驗證人員對模擬工具的掌握並不需要數字後端人員對PR工具(icc,innovus等)那樣非常熟練地掌握。

IC驗證從業人員希望儘可能地讓輸入激勵覆蓋晶元工作所有的case。但現實情況是,隨著SOC晶元規模越來越大,我們幾乎不能遍歷所有的可能。因此,受約束的隨機激勵、覆蓋率驅動等驗證概念至關重要。對於UVM/sv等驗證語言、驗證方法學的掌握比對VCS等模擬工具要重要得多。另外,高效地使用verdi等工具trace信號,進行晶元功能debug也是一個非常重要的技能。

最後,VCS Lab視頻僅受用於未接觸過VCS模擬工具的初學者。

另外,數字IC驗證是IC從業人員中最接近軟體開發的崗位,也算滿足一些底層硬體工程師寫high_level代碼的一種心愿了。

推薦閱讀:

相关文章