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