日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数字IC设计】001. IC设计基础

發(fā)布時間:2023/12/9 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数字IC设计】001. IC设计基础 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.1 集成電路設(shè)計基礎(chǔ)(IC設(shè)計)

集成電路(Integrated Circuit,IC)又稱芯片,是現(xiàn)代信息社會的基石,它承載了信息時代的靈魂,是現(xiàn)代技術(shù)發(fā)展的精華結(jié)晶,所有現(xiàn)代的電子設(shè)備都必須依賴于芯片才能發(fā)揮出完全功效。集成電路現(xiàn)在已經(jīng)演變?yōu)橐粋€完整且獨立的設(shè)備形態(tài),單個芯片就可以完成一個傳統(tǒng)的設(shè)備系統(tǒng)功能,達到真正的System on Chip(SoC)。現(xiàn)在任何一部智能手機的處理器芯片的處理能力就遠超80年代的大型計算機了,同時,芯片也在朝著各個應(yīng)用領(lǐng)域和應(yīng)用場景演進,例如可穿戴式芯片,微機械芯片等。
一個典型的集成電路芯片,集成了大量的功能部件,包括模擬電路、數(shù)字電路以及CPU。數(shù)字電路主要用于數(shù)字信號的處理,模擬電路主要是由電容、電阻、晶體管等組成的,用于模擬信號的處理,主要包括射頻電路(RF)、功率放大器(PA與LNA)、鎖相環(huán)(PLL)、模擬濾波器、電源管理等。
對于單一功能的電路而言,采用純粹的硬件邏輯設(shè)計方案基本能夠滿足應(yīng)用需求。但對于通信系統(tǒng)或者移動互聯(lián)網(wǎng)應(yīng)用而言,芯片的功能需求時刻變化,應(yīng)對的客戶群體也形形色色,如果采用純粹的硬件邏輯,必然使應(yīng)用市場極為狹窄,因此復(fù)雜的系統(tǒng)級芯片必須SoC化或者軟件化。
SoC化的優(yōu)點很明顯,對于同樣的芯片,通過加載不同的應(yīng)用軟件,實現(xiàn)不同的功能定義,實現(xiàn)單一的芯片的通用化,從而達到單片成本最小化。因此在后續(xù)的設(shè)計中,需要熟悉如何將一個單純的邏輯電路改造為能夠支持各種軟件定義的功能器件,實現(xiàn)芯片功能覆蓋的軟件化。

1.1.1 硬件與軟件的優(yōu)缺點對比

  • 硬件的優(yōu)點:
    (1)吞吐率高、全并行化處理,相對于軟件可以實現(xiàn)10~100倍的性能提升;
    (2)相對于CPU/DSP設(shè)計而言,復(fù)雜度較低,整體規(guī)劃簡單;
    (3)軟件設(shè)計相對于簡單,而且代碼精簡;
  • 硬件的缺點:
    (1)成本較高,需要額外的硬件資源,芯片面積相對較大,此外還有大量IP使用費用;
    (2)研發(fā)時間很長,從概念原型到RTL編寫驗證至少6個月;
    (3)一次成功率較低,通常需要多次迭代驗證才能正常工作;
  • 軟件的優(yōu)點:
    (1)成本較低,可以隨時添加功能,而且不會隨著芯片量產(chǎn)而發(fā)生變化;
    (2)調(diào)試簡單,無須考慮時序收斂,功耗控制相對容易;
  • 軟件的缺點:
    (1)相對于硬件實現(xiàn)而言,性能較差;
    (2)算法實現(xiàn)對CPU/DSP的處理速度、存儲容量有較高要求;
    (3)由于軟件開發(fā)的不確定性因素很多,所以芯片上市后,還需要發(fā)布大量的補丁版本;
  • 1.1.2 集成電路設(shè)計中的分工層次

    IC設(shè)計通常包含多個方向,包括算法設(shè)計、系統(tǒng)架構(gòu)、數(shù)字電路設(shè)計(數(shù)字前端)、模擬電路設(shè)計、版圖設(shè)計、測試驗證、數(shù)字后端與DFT(Design For Test)、芯片生產(chǎn)測試設(shè)計(DFM設(shè)計)、芯片固件與軟件設(shè)計、電路板與應(yīng)用原型開發(fā)等,只有將這些完整的組合在一起,才能設(shè)計出一個完善的、具有一定競爭力、能被市場接受的芯片。下圖為芯片分工層次圖。

    根據(jù)不同的方向,對應(yīng)著不同的工程師,主要可以分為系統(tǒng)架構(gòu)設(shè)計工程師、算法設(shè)計工程師、電路設(shè)計工程師(數(shù)字前端設(shè)計工程師和模擬電路設(shè)計工程師)、芯片驗證工程師、量產(chǎn)測試工程師、固件與軟件工程師。

  • 系統(tǒng)架構(gòu)設(shè)計工程師
    系統(tǒng)架構(gòu)設(shè)計工程師的設(shè)計重點是保證IC芯片的整體架構(gòu)合理,各個基本單元模塊功能均衡、不存在設(shè)計短板,而且芯片在可控性、可驗證性、可測試性以及前后芯片產(chǎn)品的可維護性和延續(xù)性上具備卓越的性能。系統(tǒng)架構(gòu)是整個IC設(shè)計中最基礎(chǔ)的工作,產(chǎn)品是否滿足市場和客戶需求、上市時間是否領(lǐng)先競爭對手、功能是否有競爭力、解決方案的成本和芯片良率是否可控,都取決于系統(tǒng)構(gòu)架。
  • 算法設(shè)計工程師
    算法設(shè)計工程師的設(shè)計重點是保證IC芯片能夠完成特定功能,且設(shè)計的算法具備可實施性。算法工程師能夠決定芯片的性能和大部分的成本,同時也是系統(tǒng)構(gòu)架和電路設(shè)計的中間橋梁。
  • 電路設(shè)計工程師
    電路設(shè)計工程師設(shè)計的重點在于將算法精確地用電路實現(xiàn),同時兼顧功耗、成本和電路可測試性,此外還需要獨立設(shè)計模塊控制電路、各種電路膠粘邏輯、時鐘系統(tǒng)、復(fù)位系統(tǒng)以及全局控制邏輯。
  • 測試驗證工程師
    測試驗證工程的工作重點在于根據(jù)設(shè)計規(guī)范(Spec)和設(shè)計需求,對電路進行測試驗證,驗證工作通常包含白盒測試與黑盒測試,往往需要引入很多的測試方法學(xué)(UVM)和測試手段,例如SVA等,此外還需要多個團隊對同一款芯片做全方位的驗證。
  • 固件與軟件工程師
    固件與軟件工程師的工作重點在于配合電路設(shè)計工程師將整個IC芯片運行起來,充分挖掘芯片的功能潛力,并提供各種擴展創(chuàng)意。在當(dāng)前的IC設(shè)計領(lǐng)域,固件與軟件的開發(fā)工作量已經(jīng)占據(jù)整個芯片開發(fā)的60%以上,而且還在持續(xù)增加,出現(xiàn)這種情況的原因在于單純的電路邏輯無法應(yīng)對靈活多變的市場需求,必須通過隨時可變的軟件進行應(yīng)對。例如現(xiàn)在的LTE終端芯片,除射頻信號處理外,所有的基帶(baseband)都是可控和可編程的,而協(xié)議處理則基本交給多核CPU或DSP進行。現(xiàn)在很多領(lǐng)先的無線通信芯片設(shè)計公司,對軟件設(shè)計的劃分更加詳細,包括軟件平臺(操作系統(tǒng)、設(shè)備驅(qū)動)、物理層協(xié)議軟件、MAC協(xié)議處理、高層協(xié)議棧以及應(yīng)用軟件等。因此,對于芯片設(shè)計而言,軟件就是整個芯片的靈魂,對于任何一款智能芯片的開發(fā),首先應(yīng)當(dāng)想到的是如何靈活配置,并引入適當(dāng)?shù)能浖С帧?br /> 所以,我們不僅僅要會數(shù)字IC設(shè)計的能力,如果有時間精力那么還需要去掌握系統(tǒng)設(shè)計、算法、驗證、軟件等基礎(chǔ)知識。
  • 1.1.3 IC設(shè)計流程

    IC設(shè)計的主要流程可以通過下圖來描述:

    基于HDL的設(shè)計流程,主要包含系統(tǒng)架構(gòu)設(shè)計、軟件結(jié)構(gòu)設(shè)計和ASIC硬件設(shè)計三大部分。在芯片設(shè)計時,必須了解整個系統(tǒng)的應(yīng)用場景,定義出合理的芯片架構(gòu),使得軟硬件結(jié)合達到系統(tǒng)最佳工作狀態(tài)。此外,需要建立起以IP復(fù)用或更大的平臺復(fù)用為基礎(chǔ)的觀念,在整個流程中既要以IP復(fù)用為基礎(chǔ),又要將當(dāng)前設(shè)計作為下一輪設(shè)計的IP和基礎(chǔ)平臺。基于HDL的設(shè)計流程如下:

  • 系統(tǒng)需求指定
    系統(tǒng)設(shè)計主要是從需求確認開始,包含系統(tǒng)基本輸入和輸出及基本算法需求,以及系統(tǒng)要求的功能、性能、功耗、成本和開發(fā)時間等。通常會將用戶的需求轉(zhuǎn)換為用于設(shè)計的技術(shù)文檔,并初步確定系統(tǒng)的設(shè)計流程。這個階段是整個芯片項目開發(fā)中最重要的階段,各類設(shè)計框架、驗證模型均需要此階段完成。
  • 高級算法建模與仿真
    設(shè)計者將使用高級語言創(chuàng)建整個系統(tǒng)的高級算法模型和仿真模型。有了高級算法模型便可以得到軟硬件協(xié)同仿真所需的可執(zhí)行的說明文檔,此類文檔會隨著設(shè)計進程的深入而不斷地完善和細化。
  • 軟硬件劃分過程
    設(shè)計者通過軟硬件劃分來決定哪些功能應(yīng)該由硬件完成,哪些功能應(yīng)該由軟件來完成。此外,該步驟還涉及軟硬件頂層設(shè)計與內(nèi)部基本模塊的劃分。對于硬件而言,需要確定整體實現(xiàn)框架,包括全局模塊設(shè)定(時鐘、復(fù)位、功耗控制等)、主控模塊實現(xiàn)方案、數(shù)據(jù)流(Data Flow)分解方案及接口時序、總線或數(shù)據(jù)交換接口設(shè)計、調(diào)試接口以及驗證接口。硬件框架確定后,建立各種適合軟硬件交互的驗證環(huán)境。對于軟件而言,則是在硬件框架基礎(chǔ)上確定軟件框架,包括確定HAL(硬件抽象層)、設(shè)計驅(qū)動與軟件平臺,底層軟件、高層軟件、應(yīng)用軟件及測試軟件的層次劃分以及相互調(diào)用接口。此外,軟件還需要設(shè)計整體的自動測試框架。如果芯片開發(fā)者追求高效的軟硬件結(jié)合,還應(yīng)當(dāng)根據(jù)敏捷開發(fā)的要求,設(shè)計以面向測試為中心的軟硬件框架。
    軟硬件劃分以及內(nèi)部框架的確認是一個需要反復(fù)評估、修改直至滿足系統(tǒng)需求的過程。
  • 軟硬件同步設(shè)計
    由于軟硬件的分工已明確,芯片的架構(gòu)及軟件的接口也已定義,接下來便可以進行軟硬件的同步設(shè)計了。其中硬件設(shè)計包括RTL設(shè)計和集成、綜合、布局布線及最后的流片。軟件設(shè)計則包括算法優(yōu)化、應(yīng)用開發(fā),以及操作系統(tǒng)、接口驅(qū)動和應(yīng)用軟件的開發(fā)。
  • 1.1.4 IC硬件設(shè)計流程

    從HDL設(shè)計到最終版圖實現(xiàn)的設(shè)計流程如下圖所示,基本上每個步驟都會用到某款EDA工具,這里最核心的設(shè)計源頭還是硬件設(shè)計定義說明、模塊設(shè)計(RTL代碼變換)與IP復(fù)用。

  • 硬件設(shè)計定義說明(Hardware Design Specification)
    硬件設(shè)計定義說明用于描述芯片總體結(jié)構(gòu)、規(guī)格參數(shù)、模塊劃分、使用的總線以及各個模塊的詳細定義等。
  • 模塊設(shè)計與IP復(fù)用
    對于需要重新設(shè)計的模塊進行設(shè)計,對于可復(fù)用的IP核可根據(jù)總線接口標(biāo)準(zhǔn)做一定的修改。
  • 頂層模塊集成
    頂層模塊集成是將各個不同的功能模塊(包括新設(shè)計的與復(fù)用的)整合在一起,形成一個完整的設(shè)計。設(shè)計的重點包括時鐘模塊、復(fù)位模塊、功率控制等全局信號和各種頂層IP集成。對于ASIC 而言,還需要考慮IO PAD配置。
  • 布局前仿真(Pre-layout Simulation)
    布局前仿真也叫RTL級仿真,通常通過HDL仿真器驗證電路邏輯功能是否有效。通常在ASIC中采用的是Synopsys的VCS來進行驗證。
  • 邏輯綜合(Logic Synthesis)
    邏輯綜合主要采用EDA工具把硬件描述語言設(shè)計的電路自動轉(zhuǎn)換成特定工藝下的網(wǎng)表,也就是將RTL級的HDL代碼通過編譯與優(yōu)化產(chǎn)生符合約束條件的燜雞網(wǎng)表。這個階段會輸出邏輯綜合網(wǎng)表和時序信息,用戶可以進行初步的時序仿真,并找出可能存在的邏輯時序問題。
  • 版圖布局規(guī)劃(Floorplan)
    版圖布局規(guī)劃完成的任務(wù)是確定設(shè)計中各個模塊在版圖上的位置,主要包括:
    (1)I/O 規(guī)劃:確定I/O的位置,定義電源和接地口的位置;
    (2)模塊放置:定義各種物理的組、區(qū)域或模塊,對宏單元進行預(yù)放置;
    (3)供電設(shè)計:設(shè)計整個版圖的供電網(wǎng)絡(luò),基于電壓降(IR Drop)和電遷移進行拓撲優(yōu)化。
  • 功耗分析(Power Analysis)
    在版圖布局規(guī)劃后,需要對電源網(wǎng)絡(luò)進行功耗分析,確定電源引腳的位置和電源線寬度。在完成布局布線后,需要對整個版圖的布局進行動態(tài)功耗分析和靜態(tài)功耗分析。除了對版圖進行功耗分析以外,還應(yīng)通過仿真工具快速計算動態(tài)功耗,找出主要的功耗模塊或單元,并返回到模塊設(shè)計階段進行優(yōu)化。可以常用Spyglass工具。
  • 單元布局和優(yōu)化
    單元布局和優(yōu)化主要定義了每個標(biāo)準(zhǔn)單元的擺放位置并根據(jù)擺放的位置進行優(yōu)化。
  • 靜態(tài)時序分析(Static Timing Analysis - STA)
    STA是一種靜態(tài)驗證方法,通過對所提取電路中所有路徑上的延遲等信息的分析,計算出信號在時序路徑上的延遲,找出違背時序約束的錯誤,如檢查建立時間和保持時間是否滿足要求。通常采用Primetime工具。
  • 形式驗證(Formal Verification)
    形式驗證也是一種靜態(tài)驗證方法,在整個設(shè)計流程中會多次引入形式驗證以比較RTL代碼之間、門級網(wǎng)表與RTL代碼之間,以及門級網(wǎng)表之間在修改之前與修改之后功能的一致性。常用工具有Formality,Conformal以及Spyglass。
  • 可測試性電路插入(Design for Test - DFT)
    可測試性設(shè)計是SOC設(shè)計中的重要一步,對于邏輯電路采用掃描鏈的可測試結(jié)構(gòu),對于芯片的輸入/輸出端口采用邊界掃描的可測試結(jié)構(gòu)。基本思想是通過插入掃描鏈,增加電路內(nèi)部節(jié)點的可控性和可觀測性,以達到提高測試效率的目的。一般在邏輯綜合或者物理綜合后進行掃描電路的插入和優(yōu)化。
  • 時鐘書綜合(Clock Tree Synthesis)
    SoC設(shè)計方法強調(diào)同步電路的設(shè)計,構(gòu)建芯片內(nèi)部全局或局部平衡的時鐘鏈的過程稱為時鐘樹綜合。分布在芯片內(nèi)部的寄存器和時鐘的驅(qū)動電路構(gòu)成了一種樹狀結(jié)構(gòu),這種結(jié)構(gòu)稱為時鐘樹,時鐘樹綜合是在布線設(shè)計之前進行的。
  • 布線設(shè)計(Routing)
    這一階段完成所有節(jié)點的連接,類似于在電路PCB設(shè)計時,將各個元器件的連線在PCB上擺放好。
  • 寄生參數(shù)提取(Parasitic Extraction)
    通過提取版圖上內(nèi)部互連所產(chǎn)生的寄生電阻和電容值,進而得到版圖實現(xiàn)后的真實時序信息,這些寄生電路信息將用于進行靜態(tài)時序分析和后仿真。
  • 布局后仿真(Post-layout Simulation)
    布局后仿真也叫門級仿真、時序仿真、帶反標(biāo)的仿真,需要利用在布局布線后獲得的精確延遲參數(shù)和網(wǎng)表進行仿真,驗證網(wǎng)表的功能和時序是否正確。布局后仿真一般使用標(biāo)準(zhǔn)延時(Standard Delay Format- SDF)文件來輸入延時信息。
  • ECO修改
    ECO修改是工程修改命令的意思,這一步實際上是正常設(shè)計流程的一個例外,當(dāng)在設(shè)計的最后階段發(fā)現(xiàn)個別路徑有時序問題或者邏輯錯誤時,有必要通過ECO對設(shè)計的局部進行小范圍的修改和重新布線,而不影響芯片其余部分的布局布線。
  • 物理驗證
    物理驗證是對版圖的設(shè)計規(guī)則檢查(Design Rule Check - DRC)及邏輯圖網(wǎng)表和版圖網(wǎng)表比較(Layout Vs. Schematic - LVS)。
  • DRC用以保證制造良率
    LVS用以確認電路版圖網(wǎng)表結(jié)構(gòu)是否與原始原理圖一致。
  • 總結(jié)

    以上是生活随笔為你收集整理的【数字IC设计】001. IC设计基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。