□ 劉志哲
航天科工集團二院二十五所從事遙感測試領域多種設備的研制,多年來積累了豐富經驗。隨著系統要求以及復雜度的提高,作為設備“大腦”的信號處理器承擔越來越多的工作。為了應對日益復雜的算法需求,往往需要多片高性能DSP和FPGA才能滿足系統要求,但是組合體積、功耗與處理器性能之間的矛盾逐漸增大。二十五所人面對嚴峻的挑戰和研制課題中的重重困難,秉承“專業、創新、團結、協作”的工作作風,緊追技術發展新潮流,完成了SOC芯片設計從無到有的突破,實現了核心芯片國產化的跨越式發展。本文讓我們一起回顧這奇妙的探索之旅。
SOC即片上系統(System On Chip),是將系統中的主要功能集中到一顆芯片上,是集成電路設計和制造工藝發展的結果,本質上是復雜集成電路的設計。SOC芯片的主要特點是片上包含一個或多個處理節點(微處理器CPU/數字信號處理器DSP等),周圍配合特定應用的固定邏輯、存儲器、總線、外設等,形成一整套系統組件。近10年來,民用市場上的3C類(計算機、通信、消費電子)產品在功能、體積、性能以及產品研發周期上的高速發展,很大程度上得益于SOC設計技術的普及以及SOC芯片的應用。
不僅僅在民用集成電路領域,在先進電子平臺上,SOC技術也得到了廣泛應用。隨著先進理論的發展,對裝備要求也產生了巨大變化,數字化、集成化、小型化以及智能化成為先進裝備的重要特點。為了應對上述變化,傳統的分離元器件的電子系統逐漸被基于SOC芯片的新型電子系統所替代,已經在國外多個應用領域,例如通訊系統、導航與定位系統中得到應用。
我國近年來通過加大研發力度,在新型裝備系統上的設計技術上已經取得相應突破,而這一發展也對SOC芯片集成化提出了要求,需要基于SOC芯片的新型系統提供性能和體積、功耗上的優勢。

芯片的功能模塊

F-16戰斗機上的機載相參多功能數字化火控雷達
航天科工集團二院二十五所作為國內先進的遙感遙測研究所,迫切需要SOC芯片技術帶來產品性能的提升,依托集團的創新研究課題,由二十五所信號處理室進行了基于某系統的SOC芯片的應用研究,完成了SOC芯片的全流程設計?;仡櫿n題研制過程,二十五所人充分發揮團結拼搏、提升超越、互助關懷的攻關精神,經歷了從SOC芯片設計的一窮二白到擁有初具規模的SOC芯片設計團隊、具有全流程設計的能力和掌握高級EDA軟件使用方法的過程。該課題的成功探索,填補了二十五所在信號處理SOC芯片設計領域的空白,提高了二十五所產品核心競爭力關鍵技術的積累,也為解決系統設備核心芯片國產化準備了一把利刃。

將電路板濃縮到一塊芯片內
準備篇觀千劍而后識器 操千曲而后曉聲
二十五所信號處理室負責所內設備的信號處理器設計。信號處理器作為整個系統的“大腦”,隨著算法復雜度的提高,承擔著越來越多的工作,基于通用芯片的設計平臺面臨體積、功耗等多個方面越來越多的限制。SOC芯片設計方法逐漸進入大家的關注視野,芯片設計對信號處理室來說是個陌生和全新的領域,其復雜度、設計難度和各項投入都非常巨大,當然回報也是豐厚的。經過調研,國外在上個世紀八十年代就已經開始SoC技術的研究工作,將子系統的SoC設計作為重點發展目標,有多種體系結構及驗證系統公布。美國的Aerofl xe公司為NASA開發的衛星遙測與控制系統利用SoC技術,將原來的多塊電路板組成的系統集成為單獨一塊芯片,重量也由原來的3200g降到34g。
美國空軍的F-16戰機上也采用新一代可編程雷達信號處理SOC芯片,在提高信號處理系統的前提下,極大的縮小了系統的體積和功耗。
為了掌握更先進的技術、為了信號處理更廣闊的生存空間,室里組織專業力量進行多方調研與論證:多片FPGA和DSP的功能可以集成到一片芯片中,降低了系統的運算節點數目,減少了系統內數據調度的復雜度,多塊信號處理板可以由一塊處理板替代,系統功耗可以呈倍數甚至幾十倍的降低;另外,SOC芯片完全是國內自主設計,產品的安全性、供貨可靠性得到保障等等。論證方案得到各方認可,信號處理室立即組織骨干力量,成立SOC芯片設計課題組,面對空白的知識領域,信號處理人并沒有退縮,抱著勇于創新、敢于拼搏的精神,開始了學習和探索之旅。
北京理工大學的微電子實驗室、中電集團五十八所、深圳國威電子公司等等都留下了信號處理室人的足跡,通過每次的交流和討論,課題組成員像沙漠中的胡楊樹,汲取著一次次如甘露般來之不易的專業知識。通過多次學習和探索,課題組在了解了多個成功設計案例后,逐漸對SOC芯片設計流程有了初步的了解,走出了芯片設計探索的第一步。

SOC組的設計師正在進行討論

裸片的內部構造
攻關篇路漫漫其修遠兮,吾將上下而求索
經過多方學習,二十五所人逐步揭開了SOC芯片設計的面紗。SOC芯片設計從算法到最終的流片需要經過多步設計步驟,每一步都對應一種EDA工具。從最開始的算法仿真,確定整顆芯片的系統架構,將算法進行細化,明確各個子模塊的功能,確定整顆芯片的主要IP核、系統參數、芯片管腳等整體指標。之后,利用硬件描述語言(VHDL、Verilog等)進行代碼設計,將各個模塊的算法進行具體的實現。在這個過程中,為了保證代碼的功能正確性、可綜合性性等需要仿真、代碼規則的檢查、調試以及跨時鐘域分析。完成代碼設計后,需要進行綜合,將設計語言描述的代碼轉化成實際的門級電路。數字電路中除了功能正確外,時序正確性致關重要,后續需要進行靜態時序分析等保證時序正確性的功能檢查,至此,僅僅完成了SOC設計的一半——前端設計,之后轉為相對獨立的SOC設計的后一半——后端設計。SOC設計的后端設計過程類似與PCB的布局布線功能,需要將門級網表中選中的與門、或門、觸發器等基本邏輯單元在一定的面積上進行布局和布線操作,之后需要進行版圖的DRC和LVS檢查,保證版圖的工藝正確性。至此,SOC的設計過程基本完成。SOC芯片的流片生產一般都是由代工廠完成,流片完成的芯片還比較“脆弱”,稱之為裸片,面積比較小,一般為平方毫米量級,需要通過封裝,給裸片增加一件外衣,引出所需的管腳,這樣才完成了SOC芯片的生產過程,變成我們常見的芯片模樣。拿到芯片后,還需要將SOC芯片放在具體的應用環境中進行實際的測試與性能檢查,滿足系統的最終要求后,SOC芯片的設計生產過程才基本閉環完成。
SOC芯片的設計生成過程是非常復雜的,單單由二十五所獨立完成是不可能的。一方面,二十五所是系統單位,對系統非常了解,有硬件描述語言設計的經驗積累,但是對集成電路的底層知識相對欠缺,后端設計相對獨立且專業性強,為了發揮專業互補優勢,由二十五所完成SOC芯片的前端設計,由微電子專業所完成后端設計;另一方面,芯片生產線的建設、維護費用極其昂貴,芯片生產都是由代工廠完成的。

北斗導航系統上的多系統多頻高性能SOC芯片

蘋果產品中的A5處理器,它是一個典型的SOC芯片

汽車導航儀中的SOC芯片

在智能手機、 平板電腦等移動數字產品中使用的SOC芯片
SOC前端設計需要多種EDA軟件工具,這些EDA軟件全部是在Linux操作系統下使用,他們的學習和使用就成了除設計之外的又一大難題,課題組又面臨著很大的壓力。課題組成員針對一份份課件的攻讀,碰到不會的,直接去User Guide(用戶手冊)中查找,實驗錯誤,再實驗再錯誤,在不斷的實踐過程中,逐漸摸到了各個軟件的脾氣,就像是馴服了草原上的一匹匹烈馬,大家在探索的道路上不斷前進。
雖然芯片設計使用的硬件描述語言與FPGA設計是相同的,但是其對代碼質量、代碼可靠性有更高的要求,甚至達到苛刻的地步。一次代碼設計到版圖實現到流片,不成功便成了一塊“石頭”(芯片的硅成分與石頭類似)。為了滿足SOC芯片設計這種只允許“一次成功”的設計要求,課題組經過反復討論決定分兩方面走,一方面是將代碼在FPGA芯片實現后在系統級反復測試驗證,另一方面是基于驗證方法學搭建完善的測試平臺,進行軟件級的大批量的仿真測試。方案確定后,課題組成員在時間緊,任務重的客觀事實面前,沒有打退堂鼓,為了該課題的順利進行,每位成員都盡職盡力,擠時間甚至犧牲自己的休息時間來保證進度。

左邊是一塊普通迷你主板,右邊是新型平板電腦中使用的SOC,兩者提供相近的功能

微軟XBOX360主機上的SOC芯片

液晶電視中使用的SOC芯片

英特爾公司的CE4100 SOC媒體處理器
總結篇寶劍鋒從磨礪出,梅花香自苦寒來
白駒過隙,彈指而過,SOC芯片課題組迎來了收獲的季節。芯片設計從最初的一個個方案論證的鉛字變成充分驗證的芯片版圖,多篇科技論文得到發表,相關專利已提交申請,二十五所的SOC芯片設計技術實現了從無到有的突破。為后續課題的設計打下了堅實的基礎,實現了國產芯片的跨越式發展。
百尺竿頭須進步,十方世界是全身。通過本課題,二十五所積累的SOC芯片設計的工程經驗,目前已經開始了新的更加復雜的SOC芯片設計,以某課題信號處理應用為背景,替換原有的多片FPGA芯片和DSP芯片,系統體積將縮小到原來的四分之一,系統功耗降低到原來的五分之一。
為了實現全系統國產化率百分之百的目的,尤其是核心元器件國產化的目的,二十五所人將逐步設計適應性更強的SOC芯片,預計到“十三五”期間,可以達到SOC芯片滿足所內系統設備所需要求。二十五所人將在國產SOC芯片的設計道路上堅定的走下去。