隨著電路板復(fù)雜程度和密度的不斷提高,采用示波器和邏輯分析儀對(duì)有限的測(cè)試點(diǎn)進(jìn)行測(cè)試和除錯(cuò)的任務(wù)日益繁重,效率也愈加低下。新興的EDA模擬器和波形瀏覽器利用上千個(gè)時(shí)域可監(jiān)測(cè)信號(hào),并能大幅增加除錯(cuò)范圍。本文將詳細(xì)介紹板級(jí)模擬技術(shù)的強(qiáng)大功能及其在縮短
電路板設(shè)計(jì)生產(chǎn)周期中的作用。
圖1:典型的電路板開發(fā)流程圖。
無論開發(fā)工具如何的先進(jìn),在開發(fā)的整個(gè)過程中都不可避免會(huì)出現(xiàn)或大或小的缺陷,它們可能潛伏在設(shè)計(jì)、實(shí)現(xiàn)和CAD的各個(gè)不同階段。有缺陷并不可怕,重要的是盡早發(fā)現(xiàn)并消除這些缺陷,如此方能有效節(jié)省資金和時(shí)間。板級(jí)模擬工具的作用就是在電路板制造前后幫助PCB設(shè)計(jì)人員更快地開展除錯(cuò)工作。圖1是一個(gè)典型的電路板開發(fā)流程圖。
圖2是在圖1設(shè)計(jì)過程中增加了板級(jí)模擬的實(shí)際設(shè)計(jì)流程(這樣能大幅降低板級(jí)開發(fā)成本)。
板級(jí)模擬技術(shù)
板級(jí)模擬的主要步驟如下:
a. 制定測(cè)試計(jì)劃
模擬的第一步是制定完善的測(cè)試計(jì)劃,該計(jì)劃要充分反映產(chǎn)品在板級(jí)模擬方面的具體要求。測(cè)試計(jì)劃可以分成二個(gè)階段實(shí)施,階段1為單個(gè)界面測(cè)試;階段2為電路板的整體功能測(cè)試。
圖2:板級(jí)模擬的實(shí)際設(shè)計(jì)流程。
‘階段1’需要明確界定界面的類型和范圍,并把它們完整地隔離出來,例如處理器與記憶體界面的隔離。然后做出測(cè)試案例以檢查界面的連接性能和時(shí)序特性。
‘階段2’需要將電路板劃分為若干個(gè)功能塊(一個(gè)功能塊可以配備一個(gè)或多個(gè)界面)。每個(gè)界面藉由第一階段確認(rèn)為工作正常后,就可以把目標(biāo)鎖定在單個(gè)模組的功能上,即把整個(gè)電路板當(dāng)成是一個(gè)黑盒子。此時(shí)可以利用合適的測(cè)試向量測(cè)試模組的詳細(xì)功能,針對(duì)合成后的時(shí)序問題以及該功能塊的具體數(shù)據(jù)進(jìn)行處理。
b. 模擬環(huán)境的建立
在進(jìn)行模擬前需要建立一個(gè)完善的模擬環(huán)境用以支援、處理和反饋各種輸入信號(hào)和測(cè)量輸出信號(hào)。
模擬環(huán)境要包含以下內(nèi)容:1. 檢查器和監(jiān)視器;2. 網(wǎng)表;3. 模型;4. 目錄結(jié)構(gòu);
1. 檢查器和監(jiān)視器
測(cè)試計(jì)劃淮備好后要進(jìn)行錯(cuò)誤或缺陷的自動(dòng)記錄。把輸入激勵(lì)信號(hào)加到電路板上時(shí),人們都希望得到理想的輸出結(jié)果,但模擬結(jié)果可能有好有壞,這時(shí)為了分析輸出結(jié)果就需要花費(fèi)大量的時(shí)間。如果寫下用于比較的腳本則能避免這類耗時(shí)的分析工作,另外在模擬時(shí)采用標(biāo)志指示故障狀態(tài)也能起到同樣的效果。
在模擬時(shí)序和數(shù)據(jù)完整性問題時(shí),我們把用于指示缺陷的任務(wù)稱為監(jiān)視器(monitor),而用來模擬功能特性并用于最終結(jié)果比較的腳本稱為檢查器(checker)。這種方法在開始時(shí)可能會(huì)花一點(diǎn)時(shí)間,但在實(shí)際測(cè)試階段它能大量減少波形查找和結(jié)果分析的時(shí)間。
2. 網(wǎng)表
常用的原理圖輸入工具都具有Verilog/VHDL網(wǎng)表產(chǎn)生功能,這些網(wǎng)表包含所有的元件及元件之間的網(wǎng)絡(luò)連接關(guān)系。另外,網(wǎng)表中的元件和埠名稱均用符號(hào)來表示。
圖3:好的目錄結(jié)構(gòu)能方便管理和跟蹤所有的環(huán)境/代碼文件。
3. 模型
模擬需要用到每個(gè)元件的HDL模型,標(biāo)淮晶片的Verilog/VHDL模型庫(kù)可以從Synopsys或其它供應(yīng)商處取得。這些模型功能完全與實(shí)際元件相仿,并且能夠靈活改變時(shí)序以滿足最新的元件要求。如上所述,網(wǎng)表中的元件和埠名稱與原理圖輸入時(shí)聲明的名稱是相同的,但實(shí)際模型使用的元件和埠名稱可能會(huì)與網(wǎng)表中所用的不同。為了使網(wǎng)表中的埠與模型有正確的連接,需要建立一個(gè)打包文件,該文件僅僅提供網(wǎng)表與實(shí)際模型之間的埠映射關(guān)系,并專門為那些模型與網(wǎng)表中埠名稱不同的元件所建。例如某元件引腳的符號(hào)名為OE_,但模型中的埠被命名為oe_n,這時(shí)就需要這樣的打包文件來建立網(wǎng)表中符號(hào)引腳與模型埠的連接關(guān)系。
4. 目錄結(jié)構(gòu)
通常PCB設(shè)計(jì)者需要建立正確的目錄結(jié)構(gòu)用以跟蹤模擬過程的輸入/輸出信號(hào)。這些目錄可以用來區(qū)分不同類型的環(huán)境文件,這些文件類型包括了:cs、本地開發(fā)模型、監(jiān)視器/檢查器、腳本、板級(jí)網(wǎng)表、記錄文件和轉(zhuǎn)儲(chǔ)文件等等。好的目錄結(jié)構(gòu)能夠方便管理和跟蹤所有的環(huán)境/代碼文件。圖3給出了相關(guān)的例子。
模擬案例研究
下面這個(gè)案例討論的是一塊網(wǎng)絡(luò)數(shù)據(jù)板,它的一邊是T1/E1數(shù)據(jù)線,另一邊是PCI匯流排,該板的功能是完成數(shù)據(jù)從PCI匯流排到T1/E1線或T1/E1線到PCI匯流排的傳輸。從PCI匯流排發(fā)出的數(shù)據(jù)首先存入記憶體中,藉由本地處理器處理并轉(zhuǎn)換成T1/E1訊框格式,最后藉由T1/E1線發(fā)送出去。在數(shù)據(jù)處理過程中,還有一個(gè)判別器用來切換處理器和PCI控制器對(duì)記憶體的存取。從T1/E1線接收數(shù)據(jù)再傳輸?shù)絇CI匯流排的過程與上述過程正好相反。本應(yīng)用實(shí)例中,功能塊包括:PCI匯流排控制器、裁決器和訊框器/解訊框器,如圖4所示。
要將該電路板作為模擬的目標(biāo)板,首先需要?jiǎng)澇霾⒔缍ǜ鱾€(gè)獨(dú)立界面,該案例中定義的界面有:1. CPU界面(即CPU到Flash、CPU到SDRAM、CPU到SSRAM、CPU到控制器和CPU到ROM);2. 裁決器界面;3. PCI界面;4. 訊框器/解訊框器界面。
圖4:測(cè)試實(shí)例的功能塊包括PCI匯流排控制器、裁決器和訊框器/解訊框器。
在界面模擬中可能存在的隱患是邏輯連接與時(shí)序問題,一旦上述各個(gè)界面的功能都藉由單獨(dú)驗(yàn)証,就可以開展第二階段的功能性模擬。
在第二階段的模擬中需要定義不同的功能塊,本案例有如下幾種功能塊:1. PCI匯流排控制器;2. 系統(tǒng)控制器和裁決器;3. 訊框器/解訊框器。
將訊框器/解訊框器作為模擬的功能塊對(duì)象(假設(shè)PCI匯流排控制器、系統(tǒng)控制器和裁決器都能正常工作,要做的測(cè)試僅針對(duì)系統(tǒng)的訊框器/解訊框器),從PCI側(cè)輸入激勵(lì)信號(hào),在T1/E1數(shù)位線側(cè)檢查輸出結(jié)果,然后再反過來做一遍。
下面是幾種典型的測(cè)試情況:1. 不同數(shù)據(jù)內(nèi)容的訊框;2. 訊框的時(shí)延;3. 具有不同參數(shù)設(shè)置的超訊框或擴(kuò)展超訊框;4. 帶CRC錯(cuò)誤的訊框等。
可以按同樣的方法模擬其它的功能塊并檢查模擬結(jié)果。在這一測(cè)試階段可能會(huì)出現(xiàn)如下一些缺陷:1. 不同功能塊中二個(gè)不同界面具有相同的網(wǎng)絡(luò)名稱,這種情況下通常會(huì)導(dǎo)致短路。2. 系統(tǒng)綜合問題,如信號(hào)走線從一個(gè)界面跳到了另外一個(gè)界面。3. 某個(gè)界面的數(shù)據(jù)格式不能被其它界面所支援。該階段也稱為電路板的數(shù)據(jù)通道模擬。
模擬技巧
下面是板級(jí)模擬的一些技巧:1. 對(duì)于可程式元件要盡量利用后向標(biāo)注文件。這些文件包含有可預(yù)測(cè)的輸入輸出信號(hào)時(shí)序資訊;2. 檢查網(wǎng)表中所有的電源網(wǎng)絡(luò)說明,如果有任何遺漏應(yīng)立即補(bǔ)齊;3. 最終網(wǎng)表中存在的但不會(huì)被黏著到電路板上的元件需要加以注明。
雖然功能性模擬具有以上一些突出優(yōu)點(diǎn),但也有一定的局限性,使得模擬結(jié)果不能完全類比實(shí)際的電路板,這種局限性表現(xiàn)在:1. 缺少不同的電源網(wǎng)絡(luò)標(biāo)識(shí),因?yàn)樵贖DL中雖然可以聲明電源網(wǎng)絡(luò)但不能標(biāo)明具體數(shù)值,如5V還是3.3V。目前版本的HDL尚不支援這一功能。2. HDL不能模擬類比界面。3. 這種模擬不能發(fā)現(xiàn)與驅(qū)動(dòng)能力有關(guān)的問題。4. 執(zhí)行記憶體測(cè)試需要巨大的轉(zhuǎn)儲(chǔ)文件和較長(zhǎng)的執(zhí)行時(shí)間。
本文結(jié)論
板級(jí)模擬是發(fā)現(xiàn)板級(jí)設(shè)計(jì)缺陷的一種直接有效的途徑,雖然需要少量的模擬開銷,但它能大幅縮短產(chǎn)品上市時(shí)間并且有效地降低產(chǎn)品成本。今天,邏輯電路變得越來越復(fù)雜、板的物理尺寸越來越小,新產(chǎn)品上市時(shí)間愈加緊迫,因而板級(jí)模擬技術(shù)尤其顯得重要。當(dāng)然需要提醒大家的是,再好的模擬也不能完全替代實(shí)驗(yàn)室的物理測(cè)試過程。
深圳宏力捷推薦服務(wù):PCB設(shè)計(jì)打樣 | PCB抄板打樣 | PCB打樣&批量生產(chǎn) | PCBA代工代料