<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數字IC設計流程中為什么要做門級仿真?

芯司機 ? 來源:芯司機 ? 作者:芯司機 ? 2023-06-07 09:55 ? 次閱讀

門級仿真(gate levelsimulation)也稱之為后仿真,是數字IC設計流程中的一個重要步驟。

在講解門級仿真作用之前,我們先簡單來看一下數字后端的流程:

3f5c7468-046b-11ee-90ce-dac502259ad0.png

在步驟1中,會插入DFT,生成post_DFT的網表netlist;在步驟2中會根據CPF/UPF插入isolation,生成post_ISO的網表;步驟3進行后端PR,會插入clock tree以及power switch等,生成最終的post_PR的網表。

理論上每次生成新的netlist都需要重新跑門級仿真,保證功能級仿真的正確。門級仿真的時間開銷很大,尤其對于規模稍大的芯片,跑完一個case經常需要幾天的時間。

有人會問,綜合之后都會做formal和STA,來保證網表的一致性和timing沒有violation。那為什么還要做如此耗時耗力的門級仿真的。下面我們就來羅列一下門級仿真的主要作用和重點。

1 雙重保險

不論是在步驟1,2,3中,插入不同的東西之后,都會改變原來的netlist,雖然會做一致性檢查,但是還是需要進行功能性的門級仿真,以保證網表的正確性。

2 STA檢查不到的timing問題

STA可以檢查大多數的timing violation,但是也有力所不及的地方。比如:

(1)異步模塊和端口的timingcheck,這一塊,有很多公司其實是會做類似CDC的flow來保證異步timing的,但是在門級仿真中能更直觀直接的反映出來。

(2)STA中constraint加的不足,這類情況,在analog model的情況中體現的非常明顯。

比如下圖的這個情況,信號ABC是analogmode的三根輸入信號,因為在RTL仿真中,A/B/C三根信號都是同時toggle的,信號進入analog的mode之后,不會出現仿真的問題。但是在后仿中,A/B/C三根信號必然不是同時toggle的,這樣的信號,傳入ananlogmode中就可能出現仿真的錯誤。

3f674136-046b-11ee-90ce-dac502259ad0.png

上面這種問題的解決方案是:

詳細了解analogmode的需求,然后寫出完善的constraints給做綜合和STA。但是這些constraint總歸不是100%完善的,很多時候就需要后仿來報錯發現。

3 X態傳播的debug

這個是門級仿真中最重要的工作之一,就是排除芯片中所有X態傳播而造成的功能問題。

有人不是很理解X態的傳播,我們先簡單解釋一下:

if(a==1) b=1;

else b=0;

如上面這段簡單的代碼,如果a=X態,在RTL仿真中,是不會傳播出去的,因為會走else這條通路,從而b=0;但是在門級仿真中,當a=X時,b就會=X,從而X態會一級一級傳播下去。

X態的傳播,有些是無所謂的,有些就會影響到芯片的正常工作,尤其是在controlpath上的X態傳播。而這些都只能依靠門級仿真來發現了。

當然,有很多大公司,在RTL仿真的時候,就會加入X態的模擬仿真,能提前盡早的發現這類問題。

4 驗證初始化reset流程的正確性

實際芯片在剛上電的時候,理論上大多數信號都是在不確定態X態的,需要經過reset流程來進行初始化。而只有在門級仿真中,才能更加真實充分的反應reset流程的正確性。

5 power評估

門級仿真中還有一個重要作用就是用來進行power估計,因為netlist尤其是post_PR的網表能更加真實的接近實際的芯片,提供的power評估值就越有參考價值。

一般會創建一個toggle rate最高的case來跑門級仿真,從而生成IR-DROP需要的VCD文件。

6 ISO值的驗證

低功耗設計在芯片設計中越來越重要,大多數芯片都會采取低功耗設計,在后端的實現中就需要插入isolation來保持一些信號在掉電狀態下的值。而ISO值為0還是為1,是直接參考CPF/UPF文件來實現的。而CPF/UPF文件很多時候是直接通過review得到的。

萬一在CPF/UPF中寫錯了,在門級仿真中就可以抓出類似的bug。

7 Power switch的驗證

同樣在low power設計中,powerswitchchain也是很重要的一環,而這個只有在post_PR的網表中才會真正插入。

以上只是簡單羅列了一下門級仿真的作用,具體的門級仿真的操作細節和注意事項會在后續的文章中慢慢道來。這篇文章比較適合有一定工作經驗但剛開始做門級仿真的朋友們,有什么問題,歡迎大家留言一起交流~

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IC設計
    +關注

    關注

    37

    文章

    1271

    瀏覽量

    103118
  • 芯片設計
    +關注

    關注

    15

    文章

    923

    瀏覽量

    54459
  • 仿真
    +關注

    關注

    50

    文章

    3880

    瀏覽量

    132333
  • DFT
    DFT
    +關注

    關注

    2

    文章

    223

    瀏覽量

    22512
  • 數字IC
    +關注

    關注

    1

    文章

    37

    瀏覽量

    12277

原文標題:數字IC設計流程中為什么要做門級仿真?

文章出處:【微信號:芯司機,微信公眾號:芯司機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    IC設計流程

    GDSⅡ的設計流程: 這個可以理解成半定制的設計流程,一般用來設計數字電路。 整個流程如下(左側為流程,右側為用到的相應EDA工具): 一個
    發表于 01-11 13:49

    個人總結的數字電路IC設計流程介紹

    ,不能不說FPGA, 這種是可編程的數字電路, 用法原理也不說了, 數字電路設計的目標,就是把這些功能,做成我們自己專用的ASIC/SOC, 這樣無論面積, 成本或者安全性等等都能有保證  從流程上講
    發表于 01-04 17:07

    我對IC設計流程的一些理解

    ic設計流程與使用工具介紹》我認為IC設計流程按照功能和應用場合不同大致可以劃分為三個部分進行介紹,分別是數字
    發表于 01-07 17:10

    RTL仿真與門仿真

    本人最近用verilog代碼寫了一個DDS正弦波發生器,RTL仿真波形正確,但仿真出現毛刺,不知道該如何去掉這些毛刺?我用的是quartus ii 15.0,一開始沒分清各種
    發表于 08-08 22:57

    關于RTL仿真仿真求助~

    。第一次做不太懂,求大家告訴我,可能是哪里出問題了?做完行為仿真以后還需要做什么才能保證仿真
    發表于 08-06 12:12

    一個關于quartus ii 仿真的問題,功能仿真準確,為什么仿真就爛的一塌糊涂

    我是學了fpga沒多久,寫了一個小程序,在信號DATA_IN高電平時就開始計數,低電平時就歸零,50MHz的參考時鐘,功能仿真準確,但是仿真就是一開始有一些數值而且不對,后面就全部
    發表于 04-12 13:36

    IC設計流程介紹

    Compiler仿真驗證通過,進行邏輯綜合。邏輯綜合的結果就是把設計實現的HDL代碼翻譯成網表netlist。綜合需要設定約束條件,就是你希望綜合出來的電路在面積,時序等目標參數上達到的標準。邏輯綜合需要
    發表于 08-13 17:05

    IC設計流程介紹

    進行仿真驗證、綜合和時序分析,最后轉換成基于工藝庫的網表。后端的流程圖如下,這也就是從netlist到GDSⅡ的設計流程: 后端的主要任
    發表于 08-16 09:14

    FPGA基本開發流程概述

    階段,則先對前面編寫好的代碼進行RTL仿真,確認代碼實現基本功能后,則進行器件管腳的分配,接著編譯并做時序約束,然后進行仿真。
    發表于 01-28 02:29

    今天為什么仍必須進行仿真(GLS)精選資料分享

    今天為什么仍必須進行仿真(GLS)使用仿真(GLS),在最終流片前2天,我發現了芯片中的
    發表于 07-26 07:28

    數字IC的設計流程有哪些

    數字IC是什么意思?數字IC前端設計流程有哪些?數字IC
    發表于 10-20 06:24

    數字IC的設計資料分享

    數字IC設計之DC篇:DC流程介紹綜合概念綜合是使用軟件的方法來設計硬件, 然后將門電路實現與優化的工作留給綜合工具的 一種設計方法。它是根據一個系統邏輯功能與性能的要求,在一個包含
    發表于 11-17 07:08

    數字IC設計流程

    ? ? 數字IC設計流程是每個IC從業者的第一課,無論你是做前端,后端,還是驗證,都需要對芯片的整個設計流程有個基本的了解。 本文章主要介紹
    的頭像 發表于 12-09 10:12 ?6546次閱讀
    <b class='flag-5'>數字</b><b class='flag-5'>IC</b>設計<b class='flag-5'>流程</b>

    數字IC設計之“數字SOC全流程漫談從0到1”

    數字IC設計之“數字SOC全流程漫談從0到1”講師背景:閻如斌老師畢業于慕尼黑工業大學的碩士研究生,具有非常豐富的IC研發經驗。在集成電路的
    發表于 11-05 20:51 ?15次下載
    <b class='flag-5'>數字</b><b class='flag-5'>IC</b>設計之“<b class='flag-5'>數字</b>SOC全<b class='flag-5'>流程</b>漫談從0到1”

    數字IC前端后端的區別,數字IC設計流程與設計工具

    數字IC就是傳遞、加工、處理數字信號的IC,是近年來應用最廣、發展最快的IC品種,可分為通用數字
    發表于 11-06 16:51 ?26次下載
    <b class='flag-5'>數字</b><b class='flag-5'>IC</b>前端后端的區別,<b class='flag-5'>數字</b><b class='flag-5'>IC</b>設計<b class='flag-5'>流程</b>與設計工具
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>