SOC設(shè)計(jì)流程
20世紀(jì)90年代中期,因使用ASIC實(shí)現(xiàn)芯片組受到啟發(fā),萌生應(yīng)該將完整計(jì)算機(jī)所有不同的功能塊一次直接集成于一顆硅片上的想法。這種芯片,初始起名叫System on a Chip(SoC),直譯的中文名是系統(tǒng)級(jí)芯片。
在集成電路界ASIC被認(rèn)為是一種為專門目的而設(shè)計(jì)的集成電路。是指應(yīng)特定用戶要求和特定電子系統(tǒng)的需要而設(shè)計(jì)、制造的集成電路。ASIC的特點(diǎn)是面向特定用戶的需求,ASIC在批量生產(chǎn)時(shí)與通用集成電路相比具有體積更小、功耗更低、可靠性提高、性能提高、保密性增強(qiáng)、成本降低等優(yōu)點(diǎn)。集成電路(integrated circuit)是一種微型電子器件或部件。采用一定的工藝,把一個(gè)電路中所需的晶體管、電阻、電容和電感等元件及布線互連一起,制作在一塊或幾小塊半導(dǎo)體晶片或介質(zhì)基片上,然后封裝在一個(gè)管殼內(nèi),成為具有所需電路功能的微型結(jié)構(gòu);其中所有元件在結(jié)構(gòu)上已組成一個(gè)整體,使電子元件向著微小型化、低功耗、智能化和高可靠性方面邁進(jìn)了一大步。集成電路發(fā)明于上世紀(jì)70年代,發(fā)明者為杰克·基爾比(基于鍺(Ge)的集成電路)和羅伯特·諾伊思(基于硅(Si)的集成電路)。
用SoC 技術(shù)設(shè)計(jì)系統(tǒng)芯片,一般先要進(jìn)行軟硬件劃分,將設(shè)如何界定SoC,認(rèn)識(shí)并未統(tǒng)一。但可以歸納如下:①SoC應(yīng)由可設(shè)計(jì)重用的IP核組成,IP核是具有復(fù)雜系統(tǒng)功能的能夠獨(dú)立出售的VLSI塊;②IP核應(yīng)采用深亞微米以上工藝技術(shù);③SoC中可以有多個(gè)MPU、DSP、MCU或其復(fù)合的IP核。
計(jì)基本分為兩部分:芯片硬件設(shè)計(jì)和軟件協(xié)同設(shè)計(jì)。芯片硬件設(shè)計(jì)包括:1.功能設(shè)計(jì)階段。設(shè)計(jì)人員產(chǎn)品的應(yīng)用場(chǎng)合,設(shè)定一些諸如功能、操作速度、接口規(guī)格、環(huán)境溫度及消耗功率等規(guī)格,以做為將來電路設(shè)計(jì)時(shí)的依據(jù)。更可進(jìn)一步規(guī)劃軟件模塊及硬件模塊該如何劃分,哪些功能該整合于SOC 內(nèi),哪些功能可以設(shè)計(jì)在電路板上。2.設(shè)計(jì)描述和行為級(jí)驗(yàn)證功能設(shè)計(jì)完成后,可以依據(jù)功能將SOC 劃分為若干功能模塊,并決定實(shí)現(xiàn)這些功能將要使用的IP 核。此階段將接影響了SOC 內(nèi)部的架構(gòu)及各模塊間互動(dòng)的訊號(hào),及未來產(chǎn)品的可靠性。決定模塊之后,可以用VHDL 或Verilog 等硬件描述語言實(shí)現(xiàn)各模塊的設(shè)計(jì)。
接著,利用VHDL 或Verilog 的電路仿真器,對(duì)設(shè)計(jì)進(jìn)行功能驗(yàn)證(functionsimulation,或行為驗(yàn)證 behavioral simulation)。注意,這種功能仿真沒有考慮電路實(shí)際的延遲,但無法獲得精確的結(jié)果。3.邏輯綜合確定設(shè)計(jì)描述正確后,可以使用邏輯綜合工具(synthesizer)進(jìn)行綜合。綜合過程中,需要選擇適當(dāng)?shù)倪壿嬈骷?kù)(logic cell library),作為合成邏輯電路時(shí)的參考依據(jù)。硬件語言設(shè)計(jì)描述文件的編寫風(fēng)格是決定綜合工具執(zhí)行效率的一個(gè)重要因素。事實(shí)上,綜合工具支持的HDL 語法均是有限的,一些過于抽象的語法只適于做為系統(tǒng)評(píng)估時(shí)的仿真模型,而不能被綜合工具接受。邏輯綜合得到門級(jí)網(wǎng)表。4.門級(jí)驗(yàn)證(Gate-Level Netlist Verification)門級(jí)功能驗(yàn)證是寄存器傳輸級(jí)驗(yàn)證。主要的工作是要確認(rèn)經(jīng)綜合后的電路是否符合功能需求,該工作一般利用門電路級(jí)驗(yàn)證工具完成。注意,此階段仿真需要考慮門電路的延遲。5.布局和布線布局指將設(shè)計(jì)好的功能模塊合理地安排在芯片上,規(guī)劃好它們的位置。布線則指完成各模塊之間互連的連線。注意,各模塊之間的連線通常比較長(zhǎng),因此,產(chǎn)生的延遲會(huì)嚴(yán)重影響SOC的性能,尤其在0.25 微米制程以上,這種現(xiàn)象更為顯著。