1 概 述
隨著集成電路工藝技術(shù)的發(fā)展和EDA設(shè)計(jì)水平的迅速提高,,基于知識產(chǎn)權(quán)IP(Intellectual Property)核進(jìn)行系統(tǒng)芯片SOC(System on Chip)設(shè)計(jì)的能力和技術(shù)得到了大大提高,。利用該技術(shù),可以將整個(gè)系統(tǒng)包括微處理器,、ASIC,、內(nèi)存和外設(shè)等集成到一個(gè)芯片中。在進(jìn)行SoC 芯片設(shè)計(jì)過程中,,由于8051系列單片機(jī)的廣泛使用和成熟的技術(shù),,許多SoC芯片的設(shè)計(jì)者在選用8位處理器做內(nèi)核時(shí)常采用8051。SoC芯片的設(shè)計(jì)是十分復(fù)雜的,,不僅要考慮芯片IP核的系統(tǒng)構(gòu)成,、軟硬件協(xié)同設(shè)計(jì)、不同工藝的綜合等問題,,還要考慮在設(shè)計(jì)過程中,,如何實(shí)現(xiàn)對芯片的模擬驗(yàn)證以及設(shè)計(jì)成功后針對該芯片仿真裝置的實(shí)現(xiàn),,從而促進(jìn)所設(shè)計(jì)系統(tǒng)芯片的迅速推廣。
2 SoC芯片的設(shè)計(jì)技術(shù)
2.1 軟硬件協(xié)同設(shè)計(jì)流程
SoC芯片是一種以可重用IP核為基礎(chǔ),,以軟硬件協(xié)同設(shè)計(jì)為主要設(shè)計(jì)方法的芯片設(shè)計(jì)技術(shù)[1],。參考文獻(xiàn)[2]提出的SoC設(shè)計(jì)流程如圖1所示。
系統(tǒng)芯片經(jīng)軟硬件劃分后,,設(shè)計(jì)基本分為兩部分:芯片硬件設(shè)計(jì)和軟件協(xié)同設(shè)計(jì),。芯片硬件設(shè)計(jì)包括硬件描述、時(shí)序設(shè)計(jì),、驗(yàn)證等,;軟件協(xié)同設(shè)計(jì)要考慮指令集、指令編譯系統(tǒng),、開發(fā)集成環(huán)境,、模擬仿真設(shè)備等。為達(dá)到盡快上市的目的,,要求這兩方面并行展開,,甚至要求在芯片上市之前,相應(yīng)的開發(fā)裝置和仿真環(huán)境就應(yīng)該建立起來,。對于需要進(jìn)行程序掩模的芯片,,這種要求就更加迫切。
2.2 應(yīng)用于固網(wǎng)短消息電話的SoC設(shè)計(jì)
該芯片是根據(jù)中國電信對于固網(wǎng)短消息話機(jī)的要求而設(shè)計(jì)的系統(tǒng)芯片,,可以廣泛應(yīng)用于來電顯示電話(CID:Calling Identify Delivery)和固網(wǎng)短消息電話等,。
該系統(tǒng)芯片將CPU和多個(gè)模擬功能模塊(CID部分)集成到一個(gè)芯片內(nèi),采用8051為CPU核,,指令集與標(biāo)準(zhǔn)8051完全兼容,;CID部分由FSK調(diào)制解調(diào)器、DTMF(雙音多頻)撥號,、CAS(CPE Alerting Signal)信號檢測,、振鈴檢測等IP核組成。這是一個(gè)數(shù)?;旌喜⒕邆渫暾娫捁δ艿南到y(tǒng)芯片,。系統(tǒng)結(jié)構(gòu)如圖2所示。
設(shè)計(jì)中,,8051核與各功能IP核通過寄存器和數(shù)據(jù)總線實(shí)現(xiàn)數(shù)據(jù)交換,。
8051內(nèi)部有256字節(jié) RAM,其中后128字節(jié)為特殊功能寄存器,。我們在該芯片設(shè)計(jì)中將CID部分電路所用寄存器(共12個(gè))定義在該區(qū)間內(nèi),。
該芯片工作流程如下:振鈴檢測模塊在檢測到振鈴信號后,置位RING_F寄存器中相應(yīng)位,,產(chǎn)生中斷或經(jīng)CPU輪循檢測,;軟件響應(yīng)該信號后置位FSK_F中FSK使能寄存器,,F(xiàn)SK解調(diào)器工作,F(xiàn)SK在接收到數(shù)據(jù)后,,置位FSK_F中數(shù)據(jù)準(zhǔn)備好寄存器,,產(chǎn)生中斷或CPU輪循檢測,軟件通過數(shù)據(jù)總線讀出該數(shù)據(jù),;CAS模塊根據(jù)CAS_F中CAS捕獲時(shí)間寄存器檢測,,收到CAS信號后,置位CAS_F中相應(yīng)寄存器,,產(chǎn)生中斷,;DTMF信號產(chǎn)生模塊根據(jù)DTMF_F寄存器內(nèi)容發(fā)出DTMF信號,。
3 系統(tǒng)芯片驗(yàn)證和仿真器設(shè)計(jì)方案
3.1 系統(tǒng)芯片的驗(yàn)證問題
系統(tǒng)芯片在硬件設(shè)計(jì)和軟件設(shè)計(jì)結(jié)束后,,按流程要求進(jìn)行系統(tǒng)驗(yàn)證,這就需要構(gòu)建一個(gè)驗(yàn)證平臺(tái),。對于數(shù)字電路來說,,采用FPGA基本可以實(shí)現(xiàn)對芯片設(shè)計(jì)的完全驗(yàn)證;而對于數(shù)?;旌想娐废到y(tǒng)芯片來說,,驗(yàn)證則十分復(fù)雜。在本設(shè)計(jì)中,,由于各外圍模擬IP核在市場上均有相應(yīng)模塊,,因此,可以考慮將FPGA和這些模擬芯片有機(jī)地組合起來,,實(shí)現(xiàn)對該系統(tǒng)芯片的驗(yàn)證,。
3.2 仿真器的設(shè)計(jì)目標(biāo)
一個(gè)8051仿真器系統(tǒng)包括仿真器、編譯器,、集成開發(fā)和調(diào)試仿真環(huán)境等,。在進(jìn)行基于8051核設(shè)計(jì)SoC芯片時(shí),為達(dá)到加快研發(fā)速度,、縮短上市時(shí)間,、減少開發(fā)費(fèi)用等目的,考慮采用市場上成熟的并為眾多用戶所使用的集成開發(fā)環(huán)境和開發(fā)裝置,,如KEIL等,。
3.3 芯片驗(yàn)證和仿真器設(shè)計(jì)方案
在前面描述中可以看到,在該芯片設(shè)計(jì)中由于采用標(biāo)準(zhǔn)的8051核,,其指令系統(tǒng)和體系結(jié)構(gòu)基本沒有改變,,但其中一些特殊寄存器與外圍模塊之間建立了映射關(guān)系,中斷源也得到了擴(kuò)充,。因此,,驗(yàn)證和仿真器的設(shè)計(jì)關(guān)鍵在于能否正確反映這些寄存器的狀態(tài)或通過寄存器控制這 些外圍模塊的工作,。
在系統(tǒng)芯片設(shè)計(jì)流程中,仿真器的設(shè)計(jì)與芯片設(shè)計(jì)同步甚至要提前,,因此沒有現(xiàn)成的CPU芯片作仿真器核心,;而簡單地將CPU與FSK、DTMF,、CAS等功能芯片組合起來替代該CPU芯片,,不能實(shí)現(xiàn)完全仿真和模擬,特別是無法獲得外圍模擬模塊的狀態(tài),。
在這里,,我們采用FPGA和FSK、DTMF,、CAS等功能芯片組合成模擬CPU來替代所設(shè)計(jì)的系統(tǒng)芯片,,系統(tǒng)結(jié)構(gòu)可參照圖3。圖3中,,8051核及數(shù)字接口部分由FPGA實(shí)現(xiàn),;CID部分中,F(xiàn)SK,、DTMF,、CAS、振鈴檢測等模塊則由相應(yīng)硬件模塊實(shí)現(xiàn),。
FSK,、DTMF、CAS,、振鈴檢測等模塊通過接口與FPGA中8051相應(yīng)寄存器對應(yīng),,這樣在這些外圍模塊動(dòng)作的同時(shí),在8051寄存器中都能正確映射,;反之,,F(xiàn)PGA中相應(yīng)寄存器的改變,也會(huì)引起這些外圍模塊的動(dòng)作,。
圖3是建立在通用8051仿真器上的短消息系統(tǒng)芯片仿真方案,。模擬CPU模塊集成了FPGA和CID部分芯片和電路,該模塊采用與8051定義一致的引腳與仿真板相連,。對于仿真板來說,,該模塊的命令和操作
◇完全兼容
現(xiàn)有集成開發(fā)和仿真環(huán)境;
◇簡化了數(shù)?;旌显O(shè)計(jì)的驗(yàn)證問題,;
◇經(jīng)過改進(jìn),可以利用通用仿真器仿真和調(diào)試硬件,、軟件,;
◇由于FPGA可以隨著芯片的改進(jìn)而重新編程,,因此增大了設(shè)計(jì)和驗(yàn)證的靈活性;
◇縮短了開發(fā)時(shí)間,,加快芯片上市時(shí)間,。
4 結(jié) 論
利用該方案構(gòu)成的系統(tǒng)芯片驗(yàn)證和仿真方案已經(jīng)在我們的設(shè)計(jì)中得到了應(yīng)用。事實(shí)上,,利用該方案的思想不僅可以實(shí)現(xiàn)基于8051核系統(tǒng)芯片的驗(yàn)證和仿真,,其它系統(tǒng)芯片的驗(yàn)證和仿真也是可以借鑒的。
參考文獻(xiàn)
1 李志堅(jiān),,周潤德. VLSI器件電路與系統(tǒng). 北京:科學(xué)出版社,,2000
2 Cadence. CC2.1 Production Documentation與標(biāo)準(zhǔn)8051是一致的,因此通用的仿真和集成環(huán)境