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