書名: 片上系統設計思想與源代碼分析作者名: 陳曦 黃毅本章字數: 98字更新時間: 2018-12-27 17:52:42
第1章 片上系統概述
本章主要內容
本章作為開篇,講述集成電路工藝技術和集成電路設計方法的發展、講述片上系統的基礎知識及基本概念,并在此基礎上,引出DemoSoC的架構設計,后續章節中將對其設計細節進行進一步分析。
1.1 片上系統的基礎知識
1.1.1 集成電路技術的發展
與分立元件相比,集成電路將晶體管、電阻、電容、二極管等電子組件整合裝至一塊芯片(chip)上,由于集成電路的體積極小,使載流子運動的距離大幅縮小,因此速度更快且可靠性更高。在集成電路的發展初期,集成電路的種類一般是以內含晶體管等電子組件的數量來劃分,其分類如下:
MSI(中型集成電路),晶體管數100~1000;
LSI(大規模集成電路),晶體管數1000~100000;
VLSI(超大規模集成電路),晶體管數100000以上。
然而集成電路的發展一直遵循摩爾指示的規律推進,即工藝特征尺寸大約每18個月減小一倍,集成度大約每18個月翻一番,至今已有40年的歷史。在VLSI之后,就再也沒有出現過被廣為接受的以晶體管個數形式命名的集成電路類型劃分名稱。如今,集成電路已經進入深亞微米階段,國外主流設計工藝尺寸已經達到90nm,最新工藝尺寸已達到40 nm,國內也發展到了0.13um,單芯片可集成的晶體管數已經超過千萬。由于信息市場的需求和微電子自身的發展,引發了以微細加工(集成電路特征尺寸不斷縮小)為主要特征的多種工藝集成技術和面向應用的系統級芯片的發展。
隨著半導體產業進入超深亞微米乃至納米加工時代,在單一集成電路芯片上就可以實現一個復雜的電子系統,諸如手機芯片、數字電視芯片、DVD芯片等,這就是片上系統SoC(System - on - Chip)。在未來幾年內,有上億個晶體管、幾千萬個邏輯門的集成電路都可望在單一芯片上實現。
1.1.2 片上系統基本概念
片上系統技術始于20世紀90年代中期,隨著半導體工藝技術的發展,IC設計者能夠將愈來愈復雜的功能集成到單硅片上,SoC正是在集成電路(IC)向集成系統(IS)轉變的大方向下產生的。1994年Motorola發布的FLEX-CORE系統(用來制作基于68000和PowerPC的定制微處理器)和1995年LSILogic公司為Sony公司設計的SoC,可能是基于IP(Intellectual Property)核完成SoC設計的最早報道。由于SoC可以充分利用已有的設計積累,從而顯著地提高了ASIC的設計能力,因此發展非常迅速,引起了工業界和學術界的關注。
片上系統的具體定義為:在單個芯片上集成一個完整的系統,一般包括系統級芯片控制邏輯模塊、微處理器/微控制器CPU內核模塊、數字信號處理器DSP模塊、嵌入的存儲器模塊、和外部進行通信的接口模塊、含有ADC/DAC的模擬前端模塊、電源提供和功耗管理模塊,是一個具備特定功能、服務于特定市場的軟件和硅集成電路的混合體,比如WLAN基帶芯片、便攜式多媒體芯片、DVD播放機解碼芯片等。片上系統產品的成功關鍵在于需要在正確的時間窗口為目標用戶提供令人滿意的性能和價格。片上系統常具備以下基本特征。
(1)片上系統應由可設計重用的IP核組成,IP核是具有復雜系統功能、能夠獨立出售的VLSI模塊;
(2)片上系統應采用深亞微米以上的工藝技術;
(3)片上系統中可以有多個MPU、DSP、MCU或其復合的IP核;
(4)片上系統內嵌有系統軟件或可載入的用戶軟件。
1.1.3 集成電路設計方法的發展與進步
最初的集成電路設計都采用邏輯門輸入方式,采用卡諾圖進行手工化簡,設計效率非常低。1985年Phil Moorby發明了Verilog HDL,1987年VHDL成為IEEE標準,這兩種語言被用來建模集成電路,使得組合邏輯能夠和時序邏輯分開單獨優化,進而出現了Synopsys的Design Compiler這樣的寄存器傳輸級(RTL)綜合工具。寄存器傳輸級綜合代表了人類集成電路設計能力的一次重要進步,人類進入了RTL時代。
此后,人們一直在尋找能夠提供更高設計效率的下一代設計方法學。1999年,EDA業界的Cadence、Synopsys、ARM等公司共同組織開始設計基于C++的新的EDA語言,從而誕生了SystemC。在2006年,SystemC成為IEEE標準,成為所有EDA軟件支持的VHDL、Verilog之后的第三種自然語言。此間,Verilog也發展到3.1版本,即SystemVerilog。SystemC的最大價值在于將通信和功能分開,將人類的集成電路設計時代引入以事務處理級(Transaction level or TL)建模為核心的電子系統級(ESL)時代。正如Verilog任務組主席Cliffcummings所說,SystemC的真正價值在于使得高層次綜合成為可能。SystemC正在逐漸為業界所接受,它能夠提供更高的設計效率、更高的首次流片成功概率、更有效的設計流程,從而幫助解決集成電路產業面臨的爆炸性的復雜度、上市壓力(Time to market presure)、飆升的成本等問題。
回首RTL時代,除了RTL綜合外,另外一個重要標志為FPGA(包括CPLD)的出現,FPGA作為ASIC原型驗證平臺芯片、高性能計算芯片、快速上市量少、價格不敏感的應用芯片出現在市場上,目前已經發展到每年50億美元的市值。FPGA的核心特征在于使得RTL綜合的結果可以直接運行在芯片上,讓人們立即看到運行的結果。在ESL時代,人們是否需要一種類似RTL時代FPGA的芯片,使得ESL的綜合結果可以直接運行在芯片上,讓人們看到運行的結果?在RTL時代,硅硬件占據了絕對的主導地位,軟件是非常少的。而ESL時代,軟件正在成為SoC的核心,而硅硬件只提供一個執行平臺。ESL的綜合結果一部分是硅硬件,它們可以繼續在FPGA上運行,而ESL綜合結果的另外一部分甚至是主要部分是嵌入式軟件,這部分軟件不適合在FPGA上運行,它們應該運行在一種更適合軟件運行的器件上,這是一種新型的器件,一種與FPGA一起共同支持和支撐ESL時代的器件,這種器件,在筆者看來,就是以能夠執行gcc的C編譯最小32位處理器陣列為核心構成的多核處理器,權且稱作SOPA(SystemC Optimized Processing Array),與FPGA(Field Programmable Gate Array)互補,正如設計語言SystemC與SystemVerilog之間的互補關系。
1.1.4 片上系統設計中的基本問題
片上系統設計中的基本問題包括以下幾點。
1.片上互聯問題
片上互聯常采用單總線、多總線和片上網絡方式。片上總線結構及互聯技術,直接影響芯片總體性能發揮。對于單一應用領域,可選用成熟的總線架構,如AMBA、WISHBONE、CoreConnect;對于系列化或綜合性能要求很高的,可進行深入的體系結構研究,構建具有自主特色的總線架構,做精做強,不受制于第三方,與系統同步發展。
2.IP核復用技術
IP核分為硬核、軟核和固核三種,硬核是指經過預先布局布線且不能由系統設計者修改的IP核,通常是GDSII格式;軟核通常以HDL RTL代碼形式提交,固核則是RTL代碼綜合后的網表。IP核應有良好的開發文檔和參考手冊,包括數據手冊、用戶使用指南、仿真和重用模型,便于移植。
3.軟硬件協同設計技術
由于市場和設計風險的壓力,SoC軟硬件協同設計尤為重要。改進軟硬件協同設計規范、協同分析、協同設計、協同模擬和協同驗證,可大大減少硬件設計風險和縮短嵌入式軟件的開發調試時間。同時在協同驗證環境中能夠及時發現軟硬件中所存在的致命問題。
4.先進驗證技術
主要分IP核驗證、IP核與總線接口兼容性驗證和系統級驗證三個層次,包括設計概念驗證、設計實現驗證、設計性能驗證、故障模擬、芯片測試等;從驗證類型分,有兼容性測試、邊角測試、隨機測試、真實碼測試、回歸測試和斷言驗證等。由于芯片愈來愈復雜,軟件仿真開銷大,因而硬件仿真驗證成為一種重要的驗證手段。
5.低功耗設計
降低功耗要從SoC多層次立體角度研究電路實現工藝、輸入向量控制(IVC)技術、多電壓技術、功耗管理技術,以及軟(算法)低功耗利用技術等多方面綜合解決問題。
6.嵌入式軟件移植/開發
包括嵌入式操作系統移植和應用軟件開發,軟件要便于維護,易讀易懂,要具有安全性好、健壯性強、代碼執行效率高等特點。
- 數據庫程序員面試筆試真題與解析
- 控糖控脂健康餐
- Visual Basic編程:從基礎到實踐(第2版)
- Mastering Python Scripting for System Administrators
- UI智能化與前端智能化:工程技術、實現方法與編程思想
- 深入理解Java7:核心技術與最佳實踐
- PHP 編程從入門到實踐
- Learning Hunk
- C#程序設計教程(第3版)
- LabVIEW虛擬儀器入門與測控應用100例
- Internet of Things with ESP8266
- Building Dynamics CRM 2015 Dashboards with Power BI
- Android Studio Cookbook
- Python青少年趣味編程
- Mastering Apache Camel