• <center id="ckp5g"></center>
    <thead id="ckp5g"><video id="ckp5g"></video></thead>

      <bdo id="ckp5g"></bdo>
      1. <button id="ckp5g"><video id="ckp5g"><small id="ckp5g"></small></video></button>
        中文字幕av日韩精品一区二区,少妇厨房愉情理伦片bd在线观看 ,久久久久人妻精品一区三寸蜜桃 ,91久久精品亚洲中文字幕无码,三级国产三级在线,A亚洲VA欧美VA国产综合,无码人妻AV一区二区三区蜜臀,日韩精品久久久久久免费

        收藏壹芯微 | 在線留言| 網站地圖

        您好!歡迎光臨壹芯微科技品牌官網

        壹芯微

        深圳市壹芯微科技有限公司二極管·三極管·MOS管·橋堆

        全國服務熱線:13534146615

        壹芯微二極管
        首頁 » 壹芯微資訊中心 » 常見問題解答 » 數字集成電路(IC)開發流程介紹

        數字集成電路(IC)開發流程介紹

        返回列表來源:壹芯微 發布日期 2020-08-10 瀏覽:-

        數字集成電路(IC)開發流程介紹

        數字集成電路(IC)的整個開發流程是很復雜的,下圖以一個數字IP在整個IC開發過程中要經過的環節為例來做個簡單的介紹。希望對大家的理解有所幫助并理解不同職位的工程師的職責所在。雖然目前業界主要有3家EDA tool提供商(Synopsys, Cadence, Mentor), 但因為作者本人對Synopsys公司的工具比較熟悉,所以涉及到的EDA工具會主要以Synopsys公司的為主。受限于篇幅,很多環節只會提到其中的主要目的。

        數字集成電路

        整個流程可以分成3個大的階段:

        RTL開發階段 (前端工程師職責所在)

        layout前的開發階段 (一般也由前端工程師負責)

        layout后的開發階段 (后端工程師的職責)

        大家可以看看下圖對這3個階段有個直觀的認知:

        數字集成電路

        1. 先來講講RTL開發階段:

        第一步是制定IP的SPEC, 這個階段可能會要參考一些業界的標準,例如Ethernet MAC IP的開發一定會要去參考IEEE 802.3 standard。有時候基于客戶或系統層面的應用需求,可能還會加入一些定制化的需求在里面。這就需要SPEC制定者與marketing, customer, system architecturer, SoC bus designer等等與當前IP相關的人員充分討論,而不是單純的閉門造車。

        SPEC制定后,設計工程師會開始做 RTL design。設計工程師一般用Verilog來實現RTL design, 也有用VHDL的,但就作者所接觸的公司來看不是主流。近年來也有些公司在嘗試用System Verilog來做RTL design, 其效果和EDA tool對其支持的完善程度還有待驗證。

        RTL coding完后,一般都由負責設計此RTL的設計工程師繼續做一些RTL品質的檢查,例如RTL代碼風格檢查,跨時鐘域的檢查等。這些檢查目前主流的工具有Synopsys公司的 Spyglass. 為什么要做這些檢查呢? 根本目的就是保證RTL設計的代碼是可以被EDA工具綜合(暫時理解為“翻譯”)成物理電路世界的具體電路(例如AND/OR/NAND gate, Dflipflop等),并且這些電路的功能是吻合設計者的預期的。舉個最簡單的例子,有些Verilog語法本身是無法被EDA tool翻譯成具體的電路的,例如Integer類型的變量。

        在設計工程師做上述事情的同時,驗證工程師會同步開始他的驗證工作。首先是根據自己對SPEC的理解編寫驗證規劃。這個過程中遇到理解上的問題可以找SPEC制定者和設計工程師討論,但是有個原則是不能什么都聽他們的,你覺得有道理的可以采納,你覺得沒有道理的就要勇于和他們充分討論。某些bug可能在前期的討論中就會被發現。

        驗證規劃里面要包含整個驗證環境的框架和主要組成部分的介紹。還有SPEC中提到的所有的功能點也要列出來(最簡單的就是用excel file),并說明怎么去測試這些功能點。

        驗證規劃制定好后,要找SPEC制定者和設計工程師審核(review),確保沒有理解上的偏差和驗證漏洞。這個過程可能會有幾個來回,對你的細心和耐心也是一種考驗。

        驗證規劃審核通過后,就可以開始搭建具體的驗證環境,搭建方法一種是用Verilog語言來搭建,另一種是用UVM來搭建。前者相對簡單些,驗證者可以在較短的時間里就搭建好一個基本的環境。后者相對復雜,但搭建好后,能夠更快地實現所有的測試項目。具體的差別我們可以在另一篇文章中來具體介紹。不管用什么方法都涉及到編譯和仿真工具的選擇。例如Synopsys公司的VCS或cadence的IRUN。

        驗證環境寫好后,驗證工程師就可以開始用它來測試設計工程師交付的RTL。絕大部分的設計缺陷都是在這個階段的動態仿真中發現的。這期間除了分析打印在電腦屏幕上或log file中的debug信息(由建立驗證環境和測試用例時由驗證工程師所寫的$display等打印函數打印出來的),你可能需要用到synopsys的Verdi來分析波形圖以確定到底是RTL的設計缺陷還是驗證環境的設計缺陷。

        設計工程師的設計成果可以由驗證工程師來把關,那驗證工程師的工作成果的品質如何保證呢?一方面是靠相關工程師的人工審核(review),另一方面是靠代碼覆蓋率(code coverage)和功能覆蓋率(function coverage)的客觀結果。代碼覆蓋率就是RTL設計中的每一行代碼,甚至每一個變量的變化都有被驗證環境覆蓋到。這個不論你的驗證環境是Verilog寫的還是UVM寫的,都會被衡量。功能覆蓋率是System Verilog 語言才有的一種方法,驗證工程師通過它來保證所有從SPEC中抽取出的功能點都有被UVM環境覆蓋到。具體的解釋,將在別的文章中展開。

        2. 設計工程師在完RTL設計和品質檢查后,除了和驗證工程師一起確認和修正RTL設計缺陷外,就可以開始進入下一個大的階段:即第一張圖中的pre-layout gate-level netlist階段 (layout前的開發階段)。

        第一步是用EDA工具將RTL設計的代碼翻譯成物理電路世界的具體電路(例如AND/OR/NAND gate, Dflipflop等),這個步驟專業的稱呼叫”綜合“。這個階段可以使用的EDA工具有Synopsys的Design Compiler或cadence的RTL Compiler。

        數字集成電路

        靜態時序分析(Static Timing Analysis, STA):STA是一種分析電路是否滿足時序需求的一種方法。所謂的“靜態”就體現在它不需要進行動態仿真。數字電路的基本組成簡言之可以看成組合邏輯門(例如AND/OR gate)和時序邏輯(例如DFF)的組合. 如下圖所示(圓圈表示組合邏輯電路)。組合邏輯電路的復雜度,就決定了電路能否在給定頻率的clk下正常工作。相關的工具有Synopsys的PrimeTime.

        數字集成電路

        Design for Test (DFT):在芯片的制造和封裝過程中,可能會出現一些瑕疵。DFT 的目的就是將一些特殊結構(例如scan chain)在設計階段植入原始電路中,以便芯片制造出來后可以對它進行測試看看哪些芯片是好的可以賣給客戶,哪些是有問題需要丟棄的。想想看一個幾千萬門或上億門的IC在生產出來后,芯片內部任一個門有問題,都需要能夠通過DFT電路觀察出來,是不是有點神奇?相關的工具有Synopsys的DFT compiler和tetramax。

        Power Analysis:分析所設計的電路需要消耗多少能量。想想手機電池基本要一日一充的痛苦,芯片設計工程師也正在想盡一切辦法讓自己的電路能夠盡可能的少消耗一些能量來提升用戶體驗。power分為靜態power和動態power, 靜態power主要指漏電引起的power消耗,例如CMOS的source到drain的亞閾值電流引起的power消耗。動態power又分為2類,一類是switching power, 是指電路狀態翻轉引起的對cell外部負載電容充放電引起的power消耗,另一類是internal power,是指對cell內部負載電容充放電引起的power消耗和短路電流引起的power消耗。tool要想算出準確的power的消耗,在指定制程的前提下,還需要知道每個cell的每個pin的翻轉頻率,transition time和cell的電容負載值。翻轉頻率可以通過simulation得到,準確的transition time和電容負載值需要在layout之后抽出實際的RC值才能得到,這就是為什么第一張流程圖中在post-layout階段還有一次power的分析步驟。相關的工具有Synopsys的PrimeTime

        Gate level Simulation(GLS): 將綜合得到的gate level netlist 拿來再做一次動態仿真測試。這個仿真應該盡可能的考慮到實際物理電路的timing信息,這個信息可以由layout工程師在完成layout后提供給你。在layout完成前做GLS的話,就只能依靠 cell library中提供的WLM來估計實際物理電路中的 delay信息了。因為仿真對象已經從RTL 變成了gate, 因此仿真工具需要讀取一個描述每種gate行為和delay信息來源的仿真模型,這個simulation model會由cell library 的提供商提供。既然前面已經做了RTL sim 和 STA,為什么還需要GLS呢?主要原因有以下幾點:

        coding style問題可能導致綜合前后Function會不一致,例如多個always block對同一個信號做了賦值,RTL simulation中的電路行為和實際門級電路的行為可能會不一致。

        STA是基于人寫的constraint,可能會有漏洞,也可能會有筆誤。

        異步電路(例如跨時鐘域的電路)在STA中是無法被分析的。

        各家EDA公司的RTL仿真工具都可以被用來做GLS,只是流程上要注意仿真對象發生了改變,以及綜合或layout后得到的實際電路的timing 信息如何反標到gate level netlist中,相關仿真工具的user guide會有詳細說明。

        Formal verification:因為coding style問題可能導致綜合前后Function會不一致,我們可以用Gate-level Simulation 得知合成后Function之正確性,但假使驗證后發現Function 不正確,要用Debug Tool 來抓錯誤點,往往需要耗上相當多的時間,為解決這問題,可以使用Formal Verification 工具找出其問題點. 設計者須準備綜合前的Golden RTL Code 與綜合后產生的Gate-level Netlist (Revised Code)及其相關Library檔,在添加一些合理的約束信息后(例如,當綜合時有額外添加電路如TestingCircuit,可以給定Constraints 予以Mask掉),工具就可以將整個電路切割成一個個的logic cone, logic cone的輸入和輸出往往是I/O或DFF,然后工具會給這些Logic cone提供各種可能的輸入值,如果logic cone的輸出結果在2個版本的設計中永遠都是一致的,那么就表示PASS。相關的工具有Synopsys的Formality和Cadence的LEC.

        數字集成電路

        FPGA測試:這個環節很多國內的研究生是比較熟悉的。因為FPGA板子上的測試可以看到的設計內部的信號是有限的, 所以FPGA測試時遇到問題的debug難度是遠大于RTL動態仿真時的debug的。并且既然RTL動態仿真已經將所有可能的功能點都cover了,為什么還需要做FPGA測試呢?根據作者的認知主要有如下幾點考量:

        FPGA上的測試可以真實的驗證軟件和硬件的協作流程

        可以和真實的關聯設備協同驗證,例如USB host controller和市面上的各種U盤一起驗證,可以保證所設計的USB host controller的兼容性。

        一些需要和模擬電路協同工作的IP在RTL仿真時往往是使用的模擬電路的行為級模型,這個模型可能存在和實際電路行為不一致之處。在FPGA測試時可以使用模擬電路的實際電路(一般會先開發出相關的test chip并做成子板)來確保不會有問題。

        常見的工具有Synplify和ISE.

        3. 接下來我們講講 gate level post-layout 這個階段的工作任務: 這個階段的主線任務簡單說就是將上一階段產出的 gate level netlist 經過布局布線,生成 GDSII文件,然后就可以把這個GDSII文件提交給芯片制造代工廠生產出最終的芯片。 具體的工作內容說明如下:

        Placement & Route:

        在Placement步驟中,APR軟件 (例如Synopsys 的 ICC 或者 Cadence 的Encounter) 會根據設計者的Constraint將Cell擺放至適當方位以滿足規格,假使未滿足規格,設計者可再透過Placement Optimization取得更好的Performance。另外假使有Testing Circuit,需要在Placement時將Scan Chain作Re-order(因為在place & route 之前,syntest產生netlist中scanchain時因為無法知道各個寄存器物理位置的信息,會造成P&R后, chain上一個寄存器連接到很遠的另一個寄存器的情況,布線不優化(chain所用到的總線長很長)甚至造成擁擠。因此會在布局布線后重新reorder scan chain. 但是要注意reorder后hold timing 會變差。reorder scan chain 是根據這些register的物理位置來改變scan chain 中register的順序(connectivity)),以取得較好的Performance。完成Placement后即可開始進行Clock Tree Synthesis(CTS),目的讓每個Clock Signal可以balance送至Flip-Flop的末端,以降低Clock Skew及增加Clock Signal的推動力。最后再將Standard Cell、IO Pad Cell、Macro等Cell之Signal Pin進行繞線,并作Routing Optimization達成規格,完成Routing步驟。完成整個芯片P&R后,確認都沒Violation后即可存成Post-layout GDSII及Gate-level Netlist檔案

        從整個APR Flow 可以發現,Placement、CTS、Routing 這些都是軟件在作的,這對設計者來說并非是難事,但是在Floorplan 及Power 的規劃卻是要花最多Effort 的,這是因為Design 中如果有多個Macro 時會不知道怎么擺放才可以做到滿足Timing 規格,也不知道要如何作出一個好的Power Mesh 規劃,像是P/G Cell 個數要多少?、Metal寬度要多少?Stripe 要幾條?才不會造成IR Drop 過多或Electro-Migration(EM)問題發生。這些問題常常困擾著設計者,也是Layout 最花時間的部分

        EM問題:在電流密度很高的導體上,電子的流動會產生不小的動量,這種動量作用在金屬原子上時,就可能使一些金屬原子脫離金屬表面到處流竄,結果就會導致原本光滑的金屬導線的表面變得凹凸不平,造成永久性的損害。這種損害是個逐漸積累的過程,當這種“凹凸不平”多到一定程度的時候,就會造成CPU內部導線的斷路與短路,而最終使得CPU報廢。溫度越高,電子流動所產生的作用就越大,其徹底破壞CPU內一條通路的時間就越少,即CPU的壽命也就越短,這也就是高溫會縮短CPU壽命的本質原因

        Post-layout power analysis:Layout 過程中,當完成Power Mesh 規劃及Cell、Macro 擺定位后,為了確認目前規劃的Power Mesh 夠Robust,不會造成IR Drop 超過合理范圍(一般為工作電壓10%以下)及EM Violations 發生,因此要使用Layout 軟件之Power Analysis 的功能進行分析。Power Analysis 前須準備包括,P/G Cell 個數及方位、該芯片的Input端的Transition Time(因一個Cell Power Consumption 是根據Input Transition 與Output Capacitance 查表得知的 )、Net Switch Activity。前面兩項可依實際電路給定,Switch Activity 須將目前Layout 結果存成Gate-level Netlist 并灌入實際的Pattern 進行Simulation得到。

        Formal verification:Layout 后,電路的Function 有可能因Layout 而有所改變。會造成電路Function 錯誤原因一般是Signal Pin 被floating 掉或CTS 出了問題(這與synthesis后function改變原因不一樣)。因此在Layout 后還要再作Gate-level Post-layout Simulation 以確認Function是否正確。但假使驗證后發現Function 不正確,要用Debug Tool來抓錯誤點,往往需要耗上相當多的時間,為解決這問題,同樣地我們可以使用Formal Verification工具幫忙找出其問題點(但是對于CTS造成timing不對而影響function還是只能通過simulation才能找到問題)

        Gate level simulation:在Layout時,設計者要提供RC Table 給Tool 計算Net 的Delay,RC Table 都是由Library 廠商會提供,該Table 可以查到每unit 長度的Metal 其RC 值為多少,Tool 會自動查表并計算Net 長度為多少,來決定每條Net 的Delay 是多少。由于Layout 時已有實際電路存在,Tool 可以依據實際長度計算出Net Delay 時間,因此跟綜合時所使用的WLM 準確度差異甚多。因此每次設計者要Report Timing 前,都要針對目前Layout 電路再作一次RC Extraction,以取得精確地Delay Calculation,直到最后Layout 完成產生正確的sdf 檔,作為Post-layout Gate-level Simulation之用。

        Design Rule Check(DRC):將Layout 結果,依據Foundry 對該制程定義的Max or Min Width、最小圖像間距,金屬寬度等Rule 作確認有無違反,若不check則代工廠生產出來的可能是廢品。

        Layout vs. Schematic (LVS):將Layout 結果(GDS)與Schematic(netlist)作比對,比較兩者間Instance、Port(PIN)、Net 等個數、Cell 連線情況及Power/Ground連接是否一致,以確認Layout 完結果之正確性

        壹芯微科技針對二三極管,MOS管作出了良好的性能測試,應用各大領域,如果您有遇到什么需要幫助解決的,可以點擊右邊的工程師,或者點擊銷售經理給您精準的報價以及產品介紹

        推薦閱讀

        【本文標簽】:

        【責任編輯】:壹芯微 版權所有:http://www.kannic.com/轉載請注明出處

        最新資訊

        1TVS選型別踩坑!這3個常見誤區讓防護形同虛設

        2提升開關電源電磁兼容性的關鍵策略解析

        3從布局到選材:提升MOS管散熱效率的五大關鍵策略

        41500W電源設計該選雙管正激還是半橋拓撲?深度對比分析

        5揭示雙管正激效率瓶頸:設計與損耗的平衡難題

        6雙橋正激拓撲全解析:運行機制、性能特點與實際應用

        7三類常見保護二極管全解析:穩壓管、TVS管與快恢復管的作用與區別

        8為何N溝道MOSFET在功率開關與信號調理中更具優勢?

        9掌握ESD二極管核心參數,提升電路抗靜電能力

        10二極管在LED照明電路中的高效應用策略:提升能效,降低功耗的關鍵路徑

        全國服務熱線13534146615

        地 址/Address

        工廠地址:安徽省六安市金寨產業園區
        深圳辦事處地址:深圳市福田區寶華大廈A1428
        中山辦事處地址:中山市古鎮長安燈飾配件城C棟11卡
        杭州辦事處:杭州市西湖區文三西路118號杭州電子商務大廈6層B座
        電話:13534146615 企業QQ:2881579535

        掃一掃!

        深圳市壹芯微科技有限公司 版權所有 | 備案號:粵ICP備2020121154號

        主站蜘蛛池模板: 国产在线一区二区三区四区五区| 国产福利不卡视频在免费播放| 2021国产福利三级| 欧美刺激性大交| 乡村最婬荡交换小说短篇| 亚洲熟妇色XXXXX欧美老妇Y| 天天摸日日摸狠狠添 | 欧美色图片区| 青浦区| 天天综合网网欲色天天影视| 精品无码一区二区三区爱欲九九| 99久久久国产精品免费蜜臀| 制服丝袜av无码免费| 999av免费视频| 人妻无码vs中文字幕久久av爆| 国产一级av在线播放| 粗大的内捧猛烈进出少妇| 中文字幕无码他人妻味| 精品久久久久久久换人妻| 一本一道久久综合久久| 日本三级香港三级人妇99| 无码少妇一区二区| 亚洲av无码成h人动漫无遮| 少妇极品熟妇人妻无码| 欧美码.中文字精品视频在线观看| 2020天天久久躁日日躁狠狠躁 | 6080yyy午夜理论片久久 | 舌L子伦熟妇Gv| 国产2021中文天码字幕| 欧美成免费A级毛片| 亚洲人成网亚洲欧洲无码久久| 免费 无码 国产在线网站| 成人亚洲一区二区三区在线 | 精品少妇人妻av无码中文字幕| 热久久视久久精品2020| 你是我的女人中文字幕高清| 精品人妻AV一区二区三区| 国产午夜亚洲精品国产成人AV| 老熟妇乱子伦中文字幕| 911国产自产精品al| 久久影视这里只有国产中文精品国产|