ic設計有兩個發展趨勢:巨集觀上向系統級演化,即所謂的片上系統;微觀上,進入奈米尺度的設計範疇。
片上系統是採用基於ip的開發方式,所面臨的問題:
1、如何進行設計復用;
2、如何驗證別人的ip;
3、如何將ip整合在一起,並使其協調工作;
4、如何進行系統驗證;
5、如何進行軟硬體協同設計和驗證
深亞微公尺設計中,比較棘手的問題有:
1、連線延時的估計;
2、串擾的分析與處理;
3、電源線上的歐姆壓降的處理;
4、低功耗的設計;
通常乙個ic系統的組成部分如下:數字部分、模擬部分、
i/o部分、儲存器、連線部分。
ic的設計過程實際上是在效能、面積和功耗之間進行平衡。現代
ic系統設計可以分為三大部分:系統設計、電路
/邏輯設計、物理設計,還有乙個嵌入式軟體設計,不過這裡不作為
ic設計的內容。
系統設計主要包括演算法設計和架構設計,具體內容:給出浮點數演算法、進行軟硬體劃分、給出資料的定點表示、結構的並行性及流水線設計、儲存器分配。
電路/邏輯設計是將系統設計的演算法和架構付諸實現的過程,分為數字設計和模擬設計。對於數字設計,多採用
verilog/vhdl
在rtl
級實現並綜合生成網表;對於模擬設計,一般採用電路圖與
spice
完成設計。
物理設計是ic設計的最後一步,物理設計得到的
gdsii
檔案被送到工廠進行生產。對於模擬電路和有特定要求的數位電路採用定製的辦法完成物理設計;對於一般的數字設計,採用自動布局佈線方法完成設計。對於深亞微公尺的誰,上述開發流程不再是順序執行,而是互相迭代。
(一)系統設計 c
語言或者
matlab
,現在也用
systemc
來研究演算法。架構設計是系統設計的重要步驟,通過效能估算和**,設計者可以確定設計中所採用的資料通路結構:例如設計中採用並行還是序列、是否需要流水線、資料寬度確定等。這些都是架構設計的範疇。架構設計和演算法設計緊密聯絡。架構設計需要確定各模組如何劃分、模組如何相連、儲存器如何分配等問題。同時,在架構設計過程中,要仔細設計模組之間的介面、把晶元實現的功能和時序區域性化。還需要考慮哪些設計需要
ip完成,哪些設計需要自由實現。
ip分為三類:軟核:可綜合的
rtl模型,可重複使用,靈活性高;固核是帶有布局規劃資訊的網表;硬核是經過流片驗證的版圖。
系統設計對設計者提出了非常高的要求。
設計者往往要具備嵌入式處理器、
數字訊號處理器、
儲存器、
系統匯流排等各方面的知識,
能夠平衡系統儲存器頻寬和dsp的處理功能兩方面的要求, 並且能夠與軟體開發者協同工作。
(二)電路、邏輯設計
這一部分分為數位電路設計和模擬電路設計。先介紹一下數位電路設計。數位電路設計一般從rtl級開始,**完成之後進行**保證設計功能正確。然後進行用邏輯綜合工具將
rtl**轉化為門級網表。如下圖所示,虛線上面是邏輯設計,下面是物理設計
在一些深亞微公尺的設計中,物理設計和邏輯綜合融合在一起,即物理綜合。物理綜合流程中,可以在晶元規劃floorplan之後,採用物理綜合工具對網表進行反覆的綜合和布局。由於這時工具能夠得到每個單元上較為準確的連線資訊,因此可以消除設計不收斂的問題,提高晶元的效能。物理綜合流程如圖所示:
邏輯設計需要設計者對設計要求、基本電路結構、綜合庫、rtl語言、邏輯**等非常熟悉,並了解可測性設計、低功耗設計、可復用設計等技術。
模擬設計一般從經電晶體級開始,採用手工設計生成最終網表,如下為其設計流程:
實際的ic設計一般都是數模混合系統,如下是數模混合**流程圖:
(三)物理設計
上面已經提到對於模擬電路和有特定要求的數位電路採用定製的辦法完成物理設計,也就是全定製電路的版圖設計;對於一般的數字設計,採用自動布局佈線方法完成設計,也就是自動布局佈線的版圖設計。下面是自動布局佈線(apr)流程:
1)頂層規劃:在實際的大型晶元設計中,往往很早就確定了晶元中各個塊的位置。也就是說,晶元的頂層規劃常常在邏輯設計的時候就開始了。如下為頂層規劃步驟,在此過程要考慮如何縮小晶元面積、巨集單元與pad的連線、引腳方案、分析佈線資訊:
2)布局佈線:一般分為布局、掃瞄鏈的優化(降低佈線複雜度)、時鐘樹的綜合及佈線(在pr中稱為時鐘樹綜合)、佈線。
IC卡製作常識概述
ic卡主要有9種 1 接觸型ic卡 2 非接觸型ic卡 3 序列傳輸型ic卡 4 並行傳輸型ic卡 5 儲存型ic卡 6 智慧型ic卡 7 超級智慧型ic卡 8 無線電波 微波 型ic卡 9 電磁感應型ic卡。電磁感應型ic卡是非接觸型ic卡的一種,也是無源型ic卡。在這種卡片的卡基內嵌有一組特別的...
IC設計流程
1 設計規劃階段 design specification 乙個design specification的建立有賴於市場人員對所設計晶元的大致功能和成本提出要求,市場人員和工程師互相合作提出晶元的功能 2 架構與設計劃分階段 architecture and design partition 擬訂開...
數字IC設計流程
數字後端 待補充 數字ic設計筆試題簡答 1 專案需求 確定晶元的具體指標 spec 2 系統級設計 用系統建模語言對各模組進行描述 3 前端設計 rtl設計 硬體原型驗證 電路綜合 4 後端設計 版圖設計 物理驗證 後 5 封裝和測試 工具 designcompiler rtl compiler。...