隨著微電子工藝制造技術(shù)和電子設(shè)計(jì)自動(dòng)化技術(shù)的飛速發(fā)展,集成電路已經(jīng)進(jìn)入系統(tǒng)芯片即SoC(System on Chip)時(shí)代。SoC芯片設(shè)計(jì)將數(shù)字電路、模擬電路、微處理器等集成在單一的硅芯片上,構(gòu)成一個(gè)系統(tǒng),實(shí)現(xiàn)復(fù)雜的功能。如何評(píng)估和驗(yàn)證數(shù);旌蟂oC芯片,成為當(dāng)今芯片設(shè)計(jì)者一個(gè)新的挑戰(zhàn)。 1 固網(wǎng)短信電話專用SoC芯片介紹 固網(wǎng)短信是中國電信開通的一項(xiàng)通過固定電話網(wǎng)收發(fā)短信息的業(yè)務(wù),由中國電信、上海貝爾、步步高、中興通訊等公司聯(lián)合進(jìn)行固網(wǎng)信服務(wù)平臺(tái)的建設(shè)。目前已在許多地區(qū)開通了這項(xiàng)業(yè)務(wù)。 固網(wǎng)短信電話專用SoC芯片是固網(wǎng)信息電話終端專用的微處理器芯片(以下簡稱為SMS芯片)。其內(nèi)嵌了一個(gè)8位的微控制器(MCU,MicroController Unit),并且集成了電話主叫識(shí)別信息傳送模塊(CID,Calling Identity Delivery)和雙音多頻編碼模塊(DTMF,Dual Tone Multi Frequency),使固網(wǎng)電話支持在固網(wǎng)短信服務(wù)平臺(tái)上接收和發(fā)送短消息。 SMS芯片的結(jié)構(gòu)框圖如圖1所示。 ![]() SMS芯片的主要功能是: ①CID模塊識(shí)別并解調(diào)電話線上的FSK調(diào)制信號(hào);A/D接口模塊將解調(diào)后的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)傳遞給MCU,MCU對(duì)該數(shù)字信號(hào)進(jìn)行一定的處理后在LCD上顯示信息。 ②MCU將鍵盤輸入的信息轉(zhuǎn)換為數(shù)字信號(hào),經(jīng)A/D接口模塊傳遞給DTMF模塊,實(shí)現(xiàn)撥號(hào)功能。 SMS芯片的設(shè)計(jì)主要分為兩部分,數(shù)字部分和模擬部分并行實(shí)現(xiàn)。數(shù)字部分采用基于標(biāo)準(zhǔn)單元的ASIC設(shè)計(jì)流程,其中RAM為IP模塊;模擬部分采用全定制設(shè)計(jì)流程,最后將兩部分整合到一塊芯片上,構(gòu)成SoC芯片。芯片的功能和時(shí)序驗(yàn)證是設(shè)計(jì)過程中的重要環(huán)節(jié)。為了實(shí)現(xiàn)芯片產(chǎn)業(yè)化,縮短設(shè)計(jì)周期,必須對(duì)數(shù)字部分、模擬部分和數(shù)模信號(hào)接口部分進(jìn)行嚴(yán)格的功能和時(shí)序驗(yàn)證。 2 SMS芯片驗(yàn)證方案 SMS芯片數(shù);旌显O(shè)計(jì)的特點(diǎn)使其無法簡單地使用一種仿真器進(jìn)行驗(yàn)證,但考慮到其數(shù)模接口信號(hào)是數(shù)字的(如圖1),我們可以選擇以下幾種驗(yàn)證方案。 (1)傳統(tǒng)的驗(yàn)證方法 數(shù)字部分采用級(jí)仿真,通過反復(fù)調(diào)試,盡可能發(fā)現(xiàn)問題;模擬部分采用晶體管級(jí)仿真,以驗(yàn)證其正確性,如果模擬部分規(guī)模較大可以自底向上進(jìn)行驗(yàn)證。這種驗(yàn)證方法無法對(duì)整個(gè)系統(tǒng)進(jìn)行同步仿真,因此需要分別對(duì)數(shù)字部分和模擬部分的接口引腳時(shí)序進(jìn)行嚴(yán)格的定義和驗(yàn)證。 (2)僅使用數(shù)字仿真器的驗(yàn)證方法 首先對(duì)芯片的模擬部分進(jìn)行晶體管級(jí)仿真,然后根據(jù)仿真結(jié)構(gòu)對(duì)模擬部分輸出的數(shù)字信號(hào)時(shí)序進(jìn)行Verilog行為級(jí)建模,再將該模型和數(shù)字部分一起用數(shù)字仿真器驗(yàn)證。這種方法仿真速度比較快,但模擬部分每進(jìn)行一次修改,設(shè)計(jì)者就得重新對(duì)其進(jìn)行仿真和建模;而這樣的修改對(duì)于模擬部分又是比較頻繁的,因此這種驗(yàn)證方法需要花費(fèi)大量人力進(jìn)行建模。 (3)僅使用模擬仿真器的驗(yàn)證方法 整個(gè)系統(tǒng)不論數(shù)字部分還是模擬部分都采用晶體管級(jí)仿真,這種驗(yàn)證方法不需要設(shè)計(jì)者進(jìn)行任何建模,相對(duì)比較簡單;但其用于仿真的時(shí)間比較長,特別是當(dāng)芯片規(guī)模達(dá)到一定程度時(shí),仿真需要花費(fèi)的時(shí)間往往是設(shè)計(jì)者所不能接受的。 (4)數(shù)字仿真器與模擬仿真器協(xié)同仿真的驗(yàn)證方法 為了充分利用數(shù)字仿真器和模擬仿真器各自的優(yōu)點(diǎn),解決混合信號(hào)同步仿真問題,許多EDA供應(yīng)商提供一種協(xié)同仿真的方法,即通過一個(gè)“平臺(tái)”將一個(gè)模擬仿真器和一個(gè)數(shù)字仿真器連接起來。數(shù)字部分用數(shù)字仿真器仿真,模擬部分用模擬仿真器仿真,數(shù)字部分和模擬部分的接口信號(hào)通過“平臺(tái)”實(shí)現(xiàn)同步。這種驗(yàn)證方法提高了仿真效率,實(shí)現(xiàn)了對(duì)整個(gè)系統(tǒng)的仿真。不過雖然“平臺(tái)”可以提供兩個(gè)仿真器間的同步功能,但卻忽視了混合信號(hào)建模的主要問題,使設(shè)計(jì)者必須人工地在兩個(gè)仿真器間并行混合信號(hào)模型的劃分。 SMS芯片中數(shù)字電路MCU不適合也不需要采用晶體管級(jí)仿真。同時(shí),由于數(shù)字部分和模擬部分之間存在數(shù)據(jù)的傳送和接收,這就使數(shù)模接口部分的功能和時(shí)序驗(yàn)證顯得尤為重要。因此,我們將采用數(shù)模混合協(xié)同仿真技術(shù)對(duì)SMS芯片進(jìn)行驗(yàn)證,數(shù)字部分采用門級(jí)仿真,模擬部分采用晶體管級(jí)仿真,通過“平臺(tái)”實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的同步仿真,以驗(yàn)證其數(shù)字部分和模擬部分接口的功能和時(shí)序。 3 仿真環(huán)境 在我們所采用的仿真環(huán)境中,數(shù)字仿真器使用Synopsys公司的VCS,模擬仿真器使用該公司的NanoSim,VCS-ACE則是連接這二者的“平臺(tái)”。這三者之間的關(guān)系如圖2所示。 ![]() (1)VCS VCS是編譯型Verilog模擬器,完全支持OVI標(biāo)準(zhǔn)的 Verilog HDL語言、PLI和SDF。VCS具有目前行業(yè)中最高的模擬性能,支持千萬門級(jí)的ASIC設(shè)計(jì),而其模擬精度也完全滿足深亞微米ASIC Sign-Off的要求。VCS是Synopsys完整的驗(yàn)證解決方案核心。 (2)NanoSim NanoSim集成了業(yè)界最優(yōu)秀的電路仿真技術(shù),是一種具有高速、高處理能力的新一代深亞微米晶體管級(jí)電路仿真器;支持Verilog-A和VCS仿真器的接口,能夠進(jìn)行高級(jí)電路的仿真,其中包括存儲(chǔ)器仿真和混合信號(hào)的仿真。 4 驗(yàn)證過程與結(jié)果 在進(jìn)行SMS芯片整體系統(tǒng)仿真之前,首先要分別對(duì)芯片的數(shù)字部分和模擬部分單獨(dú)進(jìn)行仿真,以確保這兩部分功能和時(shí)序的正確性。然后將這兩部分合并,驗(yàn)證其接口的同步性。 下面以驗(yàn)證FSK調(diào)制信號(hào)的接收功能為例,構(gòu)建圖3所示的驗(yàn)證平臺(tái)。 ![]() (1)FSK調(diào)制器建模 為了模擬電話線(TIP和RING,電話的接入線)上的FSK調(diào)制信號(hào),可以在CID模擬的外圍添加一個(gè)FSK調(diào)制器。用Verilog-A語言對(duì)其進(jìn)行行為級(jí)建模,提供CID模塊的輸入信號(hào)。 該FSK調(diào)制器要求產(chǎn)生相位連續(xù)的FSK信號(hào),即在碼元轉(zhuǎn)換時(shí)刻的相位是連接的。其調(diào)制信號(hào)可以寫作: ![]() 式中:A是載波的振幅,fc是未調(diào)載波的頻率,θc表示載波的初始相位,Δfd為峰值偏頻,m(t)為歸一化基帶信號(hào)。 ![]() 又由于TIP與 RING上的信號(hào)相位相反,取電壓偏置為2.5V,初始相位為0,所以FSK調(diào)制器的行為級(jí)模型為: 'ihclude “std.va” 'include “const.va” module fsk_modu(in,TIP,RING); inout in; inout TIP,RING; electrical in,TIP,RING; parameter real Vbias=2.5; parameter real A=0.28; parameter real fc=1700; parameter real delta_fd=500; real time; analog begin time=$realtime(); V(TIP)<+(Vbias+A*cos(2*3.14*fc*time+2*3.14*delta_fd*idt ((1-V(in)/2.5),0.0))); V(RING)<+(Vbias+A*cos(2*3.14*fc*time+2*3.14*delta_fd*idt((1-V(in)/2.5),0.0)+3.14)); end endmodule FSK調(diào)制器的仿真波形如圖4所示。 ![]() 其中in為待調(diào)制碼元信號(hào),a為電話線TIP線信號(hào),b為電話線RING線信號(hào)。 (2)模擬部分 Verilog建模 在TESTBENCH中需要例比數(shù)字部分和模擬部分,而TESTBENCH是用Verilog語言編寫的,因此需要對(duì)用SPICE語言描述的模擬部分進(jìn)行Verilog建模。這種建模相對(duì)比較簡單,只需要用Verilog語言給出模擬部分輸入、輸出引腳定義。 (3)模擬部分測試矢量 待調(diào)制信號(hào)的測試矢量必須滿足CID模擬與MCU之間的硬件通信協(xié)議,即:每幀數(shù)據(jù)由10位組成,第一位必須為“0”,作為起始位;最后一位必須為“1”,作為結(jié)束位,即0XXXXXXXX1。軟件通信協(xié)議暫不考慮。 考慮到當(dāng)“0”和“1”交替出現(xiàn)時(shí)是CID模擬FSK解調(diào)的最壞情況,因此取待調(diào)制信號(hào)的測試矢量為0101010101。 (4)數(shù)字部分測試程序 ROM為Verilog語言編寫的行為級(jí)程序寄存器模型,通過讀入編譯過的匯編指令文件完成程序的裝載,MCU則從ROM取指令,完成相位的功能。 MCU執(zhí)行程序如圖5所示。 ![]() (5)驗(yàn)證的理論結(jié)果 根據(jù)硬件通信協(xié)議,當(dāng)測試矢量為“0101010101”時(shí),有效的數(shù)據(jù)為“10101010”,即十六進(jìn)制數(shù)據(jù)“0AAH”,所以MCU累加器將接收到數(shù)據(jù)“0AAH”。 (6)驗(yàn)證的實(shí)際結(jié)果 驗(yàn)證結(jié)果如圖6所示。 ![]() 圖6中,in為待調(diào)制信號(hào);R_CLK為FSK數(shù)據(jù)接收時(shí)鐘信號(hào),由CID模塊產(chǎn)生,MCU在該時(shí)鐘信號(hào)的上升沿接收數(shù)據(jù),暫存在 FSK數(shù)據(jù)接收寄存器中;R_FDRN為數(shù)據(jù)準(zhǔn)備好信號(hào),由CID產(chǎn)生,根據(jù)匯編程序,MCU查詢到該信號(hào)有產(chǎn),則將FSK數(shù)據(jù)接收寄存器中的數(shù)據(jù)寫入累加器acc_[7:0]中。從圖6中可以看出,最后累加器接收到由模擬部分傳遞的數(shù)據(jù)0AAH,這與理論分析的結(jié)果相一致。因此可以得出結(jié)論:SMS芯片 FSK數(shù)據(jù)接收的功能和時(shí)序符合設(shè)計(jì)要求。 同樣采用數(shù);旌蠀f(xié)同仿真技術(shù),我們對(duì)SMS芯片的其它功能時(shí)序進(jìn)行了驗(yàn)證,得到的結(jié)論符合設(shè)計(jì)要求。2002年12月,我們將芯片在CSMC采用0.6μmCMOS工藝進(jìn)行流處制造,其物理版圖如圖7所示。 ![]() 5 結(jié)論 隨著系統(tǒng)級(jí)芯片(SoC)應(yīng)用的增加,對(duì)混合信號(hào)仿真的需求也將不斷擴(kuò)大。數(shù);旌戏抡嬉呀(jīng)成為當(dāng)今SoC設(shè)計(jì)中的重要一環(huán),采用高效的仿真技術(shù)不但能顯著提高設(shè)計(jì)質(zhì)量,而且還可以減少產(chǎn)生面市時(shí)間。 SMS芯片采用數(shù)模混合協(xié)同仿真技術(shù)進(jìn)行驗(yàn)證,充分利用了各個(gè)仿真器的優(yōu)點(diǎn),大大綜合了仿真時(shí)間,實(shí)現(xiàn)了對(duì)整個(gè)芯片系統(tǒng)的同步仿真。驗(yàn)證得到的正確結(jié)果增強(qiáng)了我們投片的信號(hào)。不可否認(rèn)數(shù);旌蠀f(xié)同仿真技術(shù)是一種高效的仿真技術(shù)。當(dāng)然,這種仿真技術(shù)也存在不足:其一,使用兩種仿真引擎導(dǎo)致設(shè)計(jì)成本增加;其二,需要人工進(jìn)行數(shù)模劃分。我們相信在不久的將來會(huì)出現(xiàn)更為理想、更為高效的數(shù);旌戏抡婕夹g(shù)。 參考文獻(xiàn) 1. 郭梯云 數(shù)據(jù)傳輸 1998 2. Lai Xinquan.Zhang Yue.Li Yushan.Liu Xuemei Behavioral Modeling of Electronic Circuit Module with Verilog-A Language [會(huì)議論文] 2000 3. YDN069-1997 YDN069-1997. 電話主叫識(shí)別信息傳送及顯示功能的技術(shù)要求和測試方法(暫行規(guī)定) 1998 作 者:東南大學(xué) 金肖科 凌明 茆邦琴 來 源: 單片機(jī)與嵌入式系統(tǒng)應(yīng)用 2004(1) |