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