• <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一区二区三区蜜臀,日韩精品久久久久久免费

        收藏壹芯微 | 在線留言| 網(wǎng)站地圖

        您好!歡迎光臨壹芯微科技品牌官網(wǎng)

        壹芯微

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

        全國服務(wù)熱線:13534146615

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

        數(shù)字集成電路(IC)開發(fā)流程介紹

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

        數(shù)字集成電路(IC)開發(fā)流程介紹

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

        數(shù)字集成電路

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

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

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

        layout后的開發(fā)階段 (后端工程師的職責(zé))

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

        數(shù)字集成電路

        1. 先來講講RTL開發(fā)階段:

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

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

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

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

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

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

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

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

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

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

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

        數(shù)字集成電路

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

        數(shù)字集成電路

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

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

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

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

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

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

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

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

        數(shù)字集成電路

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

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

        可以和真實的關(guān)聯(lián)設(shè)備協(xié)同驗證,例如USB host controller和市面上的各種U盤一起驗證,可以保證所設(shè)計的USB host controller的兼容性。

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

        常見的工具有Synplify和ISE.

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

        Placement & Route:

        在Placement步驟中,APR軟件 (例如Synopsys 的 ICC 或者 Cadence 的Encounter) 會根據(jù)設(shè)計者的Constraint將Cell擺放至適當方位以滿足規(guī)格,假使未滿足規(guī)格,設(shè)計者可再透過Placement Optimization取得更好的Performance。另外假使有Testing Circuit,需要在Placement時將Scan Chain作Re-order(因為在place & route 之前,syntest產(chǎn)生netlist中scanchain時因為無法知道各個寄存器物理位置的信息,會造成P&R后, chain上一個寄存器連接到很遠的另一個寄存器的情況,布線不優(yōu)化(chain所用到的總線長很長)甚至造成擁擠。因此會在布局布線后重新reorder scan chain. 但是要注意reorder后hold timing 會變差。reorder scan chain 是根據(jù)這些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達成規(guī)格,完成Routing步驟。完成整個芯片P&R后,確認都沒Violation后即可存成Post-layout GDSII及Gate-level Netlist檔案

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

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

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

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

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

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

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

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

        推薦閱讀

        【本文標簽】:

        【責(zé)任編輯】:壹芯微 版權(quán)所有:http://m.kannic.com/轉(zhuǎn)載請注明出處

        最新資訊

        1TVS選型別踩坑!這3個常見誤區(qū)讓防護形同虛設(shè)

        2提升開關(guān)電源電磁兼容性的關(guān)鍵策略解析

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

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

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

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

        7三類常見保護二極管全解析:穩(wěn)壓管、TVS管與快恢復(fù)管的作用與區(qū)別

        8為何N溝道MOSFET在功率開關(guān)與信號調(diào)理中更具優(yōu)勢?

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

        10二極管在LED照明電路中的高效應(yīng)用策略:提升能效,降低功耗的關(guān)鍵路徑

        全國服務(wù)熱線13534146615

        地 址/Address

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

        掃一掃!

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

        主站蜘蛛池模板: 亚洲夜夜性无码| 国产成人午夜精品福利视频| 少妇高潮特黄A片| 欧美十八一区二区三区| 吉木萨尔县| 国产又色又爽又黄的视频多人| 99这里只有精品| 中文无遮挡在线看| 起碰免费公开97在线视频| aⅴ无码一级a片在线视频免费| 在线看国产一区二区三区| 久久久午夜视频| 99伊人re这里只有精品6 | 欧美一级一区二区中文字幕| 无码任你躁久久久久久牛牛| 麻豆国产96在线日韩麻豆| 国产av一区二区不卡| 午夜香吻电视剧免费观看| 未满十八18禁止免费无码网站| 亚洲欧美国产一区二区| 亚洲成AV年一区二区三区| 国产成人亚洲精品另类动态| av一本大道香蕉大在线| 欧美精品国产精品| 成全视频免费观看在线播放| 中文字幕无码不卡一区二区三区| 定向就业和非定向就业有什么区别| 精品久久久久久中文字幕无码一级| 无码国产精品一区二区免费I6| 欧美精品一区二区三区午夜福利 | 国产精品一区二区三粉嫩| 精品国产中文字幕av| 武鸣县| 亚洲精品视频在线免费| 日韩新片中文字幕无码| 国产精品综合色| 国产成人精品一区二区三区| 成a人片在线无码免费 | 国产午夜无码片在线观看影院| 少妇xxxxx性开放| 成年黄页网站大全免费无码|