讓數(shù)字硬件設(shè)計(jì)輕松自如的方法以及其測(cè)試 - 全文
數(shù)字硬件設(shè)計(jì)調(diào)試壓力大、耗時(shí)長(zhǎng),真的可以輕松自如?英國(guó)工程與技術(shù)學(xué)會(huì)的研究員和特許工程師Adam Taylor說(shuō) “能”!
工程設(shè)計(jì)項(xiàng)目中最令人振奮的時(shí)刻之一就是第一次將硬件移到實(shí)驗(yàn)室準(zhǔn)備開(kāi)始集成測(cè)試的時(shí)候。開(kāi)發(fā)過(guò)程中的這個(gè)階段通常需要很長(zhǎng)時(shí)間,也會(huì)對(duì)所有的項(xiàng)目工程師造成很大的壓力。不過(guò),現(xiàn)有的工具和方法能減輕壓力,幫助推進(jìn)項(xiàng)目進(jìn)展。
讓我們來(lái)看一下,如何在將設(shè)計(jì)推進(jìn)到更高層面的過(guò)程中最大限度地減少可能發(fā)生的任何問(wèn)題,以及如何快速順利地通過(guò)調(diào)試階段。
從第一天起就要設(shè)想如何進(jìn)行測(cè)試
所有工程師都知道,隨著開(kāi)發(fā)進(jìn)程的推進(jìn),修改問(wèn)題的成本也會(huì)相應(yīng)增加。一旦設(shè)計(jì)方案最終定型并投產(chǎn),再修改引腳輸出錯(cuò)誤的成本必然高于早期設(shè)計(jì)評(píng)估時(shí)修改的成本。此外,在測(cè)試與集成方面也同樣存在成本問(wèn)題,越早考慮硬件、FPGA、系統(tǒng)等的測(cè)試問(wèn)題并編寫(xiě)測(cè)試規(guī)范,就越便于工程設(shè)計(jì)團(tuán)隊(duì)考慮到必要的測(cè)試點(diǎn)、連接和功能性。測(cè)試的目的是確保能推出可滿足用戶具體要求的安全系統(tǒng)。因此,我們必須確保測(cè)試能體現(xiàn)所有要求,而功能測(cè)試則要求應(yīng)能實(shí)現(xiàn)流程傳遞并可跟蹤設(shè)計(jì)要求(即每個(gè)測(cè)試均應(yīng)滿足其所對(duì)應(yīng)的需求)。
此外,對(duì)設(shè)計(jì)驗(yàn)證模型進(jìn)行編輯也是一種非常好的做法,能詳細(xì)說(shuō)明測(cè)試每項(xiàng)功能要求的方法,如具體的測(cè)試、分析或讀取方法(條件是在另一個(gè)項(xiàng)目上較早明確或測(cè)試了相關(guān)要求)。文檔(圖1)可能還涉及哪些測(cè)試需用于設(shè)計(jì)驗(yàn)證,以及哪些用于生產(chǎn)運(yùn)行。在項(xiàng)目階段早期即完成上述文檔,可確保系統(tǒng)設(shè)計(jì)團(tuán)隊(duì)和測(cè)試設(shè)備的設(shè)計(jì)團(tuán)隊(duì)獲得明確的基本方法。
但是,在進(jìn)行功能性測(cè)試之前,設(shè)計(jì)工程師還必須確保底層硬件的正確性。他們通常需要包含電源、性能和硬件基本驗(yàn)證等內(nèi)容的硬件級(jí)測(cè)試規(guī)范,而硬件基本驗(yàn)證需在功能測(cè)試之前進(jìn)行。
明確需要何種測(cè)試設(shè)備以及什么樣的性能非常重要,例如需要分析信號(hào)發(fā)生器和邏輯分析器是否能提供足夠的存儲(chǔ)深度和工作頻率?此外,還需明確是否需要更專業(yè)化的測(cè)試設(shè)備,如任意波形生成器、高穩(wěn)定性頻率參考等。
設(shè)計(jì)階段應(yīng)包括的內(nèi)容
在硬件的設(shè)計(jì)過(guò)程中,或許應(yīng)包括幾項(xiàng)設(shè)計(jì)特性和功能,以使電路板的測(cè)試能夠更方便。相關(guān)要求可能比較簡(jiǎn)單,也可能較有深度。
最簡(jiǎn)單也是最常見(jiàn)的測(cè)試規(guī)定是在所有電壓源上放置測(cè)試點(diǎn),這避免了探詢焊接點(diǎn)時(shí)造成損壞的可能性。不過(guò),還有一種比較好的辦法,是讓連接接地(0V)返回的焊盤靠近電壓測(cè)試點(diǎn),從而簡(jiǎn)化測(cè)試工作。若采用高值電阻來(lái)保護(hù)這個(gè)測(cè)試點(diǎn),就能限制測(cè)試中意外短路情況下的電流。我們也可考慮給這些焊盤添加測(cè)試引腳,使其連接到可隨后在生產(chǎn)運(yùn)行期間記錄結(jié)果的自動(dòng)測(cè)試系統(tǒng)上。
邊界掃描測(cè)試對(duì)在測(cè)試階段早期減少硬件設(shè)計(jì)風(fēng)險(xiǎn)非常有用
此外,監(jiān)控時(shí)鐘和復(fù)位輸出的功能至關(guān)重要。因此,在復(fù)位線路上放置測(cè)試點(diǎn)不矢為一種好辦法。另外,還應(yīng)確保正確端接不使用的時(shí)鐘緩沖器并添加測(cè)試點(diǎn),從而便于對(duì)時(shí)鐘進(jìn)行探詢。此外還可考慮添加測(cè)試端口,通過(guò)信號(hào)發(fā)生器、邏輯分析儀或其他測(cè)試工具來(lái)實(shí)現(xiàn)信號(hào)的注入和提取。
為了幫助原型設(shè)計(jì)達(dá)到功耗要求,如果可能,通常比較好的做法是在電壓調(diào)整器的輸出端串聯(lián)低值電阻(10毫歐、100毫歐等),以便精確測(cè)量電源軌上的電流。眾多FPGA器件也都能提供采用溫度二極管監(jiān)控芯片溫度的方法。需要想辦法為二極管提供恒定電流。測(cè)定芯片溫度有助于我們確保結(jié)溫不超出額定值。
?
圖1:非常實(shí)用的工具:用驗(yàn)證表詳細(xì)列出測(cè)試每個(gè)功能要求的方法
要確保所有組件都適當(dāng)就位,明確是否符合設(shè)計(jì)方案的要求,特別是如果只有一個(gè)上拉或下拉電阻應(yīng)就位并選擇配置模式時(shí)更是如此。
檢查完印刷電路板上的各組件之后,下一步就是首次給電路板加電。對(duì)于任何工程師來(lái)說(shuō),這都是非常緊張的時(shí)刻。但是,在設(shè)計(jì)階段(測(cè)試點(diǎn)、電流感測(cè)電阻等)編制的測(cè)試規(guī)定將在這時(shí)發(fā)揮很大的協(xié)助作用。第一步是確保負(fù)載點(diǎn)和其他穩(wěn)壓器的功率輸出不發(fā)生短路返回。您可能會(huì)在帶載器件(具有高電流要求)的電源軌上發(fā)現(xiàn)低阻抗,不過(guò)阻抗應(yīng)大于1歐姆。
對(duì)于業(yè)界率先實(shí)現(xiàn)的同類型設(shè)計(jì)(即新產(chǎn)品首次進(jìn)行實(shí)際構(gòu)建)而言,我們或許應(yīng)該制定更深入的設(shè)計(jì)決策,例如將電源與下游電子器件進(jìn)行分離處理。這樣,我們就能確保電源和上電順序都能正常工作,從而避免下游組件的應(yīng)力過(guò)大或損壞。更詳盡的前端設(shè)計(jì)階段有助于測(cè)試工作的例子還有一個(gè),那就是確保JTAG端口除了在系統(tǒng)中對(duì)所有FPGA或處理器進(jìn)行編程之外還能有更多用處,例如通過(guò)邊界掃描測(cè)試來(lái)進(jìn)行初始的硬件驗(yàn)證等。邊界掃描測(cè)試對(duì)在測(cè)試階段早期減少硬件設(shè)計(jì)風(fēng)險(xiǎn)非常有用,同時(shí)也要求對(duì)設(shè)計(jì)方案進(jìn)行優(yōu)化,以確保最大限度地覆蓋邊界掃描器件。
系統(tǒng)第一次到達(dá)實(shí)驗(yàn)室時(shí),您要做的第一件事情就是確定硬件底層模塊是否適合做進(jìn)一步的測(cè)試。相關(guān)檢查包括模塊的初步通電測(cè)試,這是個(gè)緊張的過(guò)程。剛拿到模塊,您希望確保其準(zhǔn)確投產(chǎn),能夠成功實(shí)現(xiàn)首次通電啟動(dòng)。第一步就是確保所有的組件都各就其位,引腳“1”正確定位,而且任何帶極性的組件都準(zhǔn)確放置。設(shè)計(jì)中通常可能包含眾多無(wú)需檢查定位的組件,例如那些適合不同版本或不同構(gòu)建選項(xiàng)的組件。
如果您確定所有電源軌都沒(méi)有短路,那么下一步就該加電了。初次加電時(shí),我傾向于采用分兩個(gè)階段進(jìn)行的方案。第一個(gè)階段是采用低電壓(0.5V)和低電流,以確保不錯(cuò)過(guò)信號(hào)層或電壓軌之間的任何短路情況;第二個(gè)階段是用正確的工作電壓在設(shè)定的電流限值內(nèi)加電,看看是否獲得預(yù)期電流(不要忘了突入電流問(wèn)題)。
成功給設(shè)計(jì)方案加電后,下一步就是確定電源上電的排序、復(fù)位以及時(shí)鐘是否能按設(shè)想的工作。切記,要確保復(fù)位時(shí)長(zhǎng)超過(guò)所有時(shí)鐘,并在釋放之前處于穩(wěn)定狀態(tài)。
明確硬件特性的下一步就是確保能通過(guò)JTAG鏈看到硬件,這使我們不僅能對(duì)FPGA編程,而且還能執(zhí)行邊界掃描測(cè)試。邊界掃描測(cè)試能幫助我們快速測(cè)試器件之間的互連,通過(guò)測(cè)試存儲(chǔ)器可確保其正常工作,如開(kāi)發(fā)回環(huán)接插件也可回轉(zhuǎn)輸入輸出。JTAG和邊界掃描測(cè)試可在進(jìn)一步詳細(xì)的測(cè)試之前消除設(shè)計(jì)風(fēng)險(xiǎn)。
致力于簡(jiǎn)化RTL
如果您的設(shè)計(jì)在硬件和FPGA層面上都很復(fù)雜,那么簡(jiǎn)化版的RTL將有助于測(cè)試開(kāi)發(fā)板以及FPGA和外設(shè)(圖2)之間的接口。對(duì)高速接口設(shè)計(jì)而言,更是如此。我們可結(jié)合采用優(yōu)化的RTL和賽靈思 ChipScope?工具來(lái)捕獲數(shù)據(jù),以及預(yù)載了數(shù)據(jù)模式的Block BRAM來(lái)發(fā)揮激勵(lì)作用。這種方法對(duì)采用ADC和DAC連接FPGA的情況尤其有用。在此情況下,您應(yīng)發(fā)揮FPGA的可再編程特性來(lái)最大限度地進(jìn)行設(shè)計(jì)開(kāi)發(fā),實(shí)現(xiàn)ADC和DAC的參數(shù)測(cè)試,比如噪聲/功率比、無(wú)雜散動(dòng)態(tài)范圍和有效比特位數(shù)(effective-number-of-bit)計(jì)算等。
此外,您還應(yīng)該充分利用FPGA提供的資源,尤其是賽靈思System Monitor和XADC,非常有利于監(jiān)控芯片上的電壓軌,進(jìn)而還能有助于驗(yàn)證在設(shè)計(jì)階段所執(zhí)行的電源完整性分析。此外,上述技術(shù)還能方便地報(bào)告芯片溫度,這對(duì)環(huán)境測(cè)試以及芯片溫度的功耗關(guān)聯(lián)等都有幫助。
多數(shù)情況下,簡(jiǎn)化RTL設(shè)計(jì)并采用FPGA提供的資源對(duì)精確定位未按預(yù)期工作的區(qū)域都有極大的幫助。
遇到問(wèn)題怎么辦?
在一步步推進(jìn)測(cè)試計(jì)劃的過(guò)程中,您可能會(huì)遇到一兩個(gè)問(wèn)題,如未能實(shí)現(xiàn)預(yù)期的功能,或在功能方面無(wú)法滿足所需的性能水平。不要擔(dān)心,我們能通過(guò)許多調(diào)查方法來(lái)確定問(wèn)題根源和所需的糾正措施。
在上述情況下,不要急于馬上做出修改。首先,要重新檢查設(shè)計(jì)方案,特別是原理圖和數(shù)據(jù)手冊(cè)等設(shè)計(jì)信息。如果問(wèn)題與FPGA有關(guān),則應(yīng)檢查引腳約束文件是否適合設(shè)計(jì)需要,因?yàn)橛锌赡芪募c設(shè)計(jì)不同步。
如果一時(shí)找不出什么明顯錯(cuò)誤,則不妨發(fā)揮一下互聯(lián)網(wǎng)的優(yōu)勢(shì),去網(wǎng)上看看其他工程師是否也遇到過(guò)跟您同樣的問(wèn)題。網(wǎng)上有很多論壇,您可在那里向其他設(shè)計(jì)人員提問(wèn)。Programmable Planet和賽靈思論壇都可為基于FPGA的設(shè)計(jì)提供廣泛的支持。
說(shuō)到底,硬件調(diào)試是工程設(shè)計(jì)中極富挑戰(zhàn),但又極具收獲的組成部分。若在設(shè)計(jì)早期階段即考慮到測(cè)試問(wèn)題,并在設(shè)計(jì)中包含測(cè)試所需的各元素,就能顯著簡(jiǎn)化調(diào)試工作。采用ChipScope、System Monitor和XADC等所有可用的資源來(lái)調(diào)試系統(tǒng),外加合理利用傳統(tǒng)測(cè)試設(shè)備,我們就能成功完成開(kāi)發(fā)工作。
圖2:這里的優(yōu)化代碼是從連接輸出的簡(jiǎn)單DAC接口到已知狀態(tài)的代碼片段,能夠生成Fs/2的正弦波。此類代碼的標(biāo)準(zhǔn)版可能有數(shù)百行的長(zhǎng)度。
- 第 1 頁(yè):讓數(shù)字硬件設(shè)計(jì)輕松自如的方法以及其測(cè)試
- 第 2 頁(yè):設(shè)計(jì)決策
本文導(dǎo)航
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說(shuō)] SR-MPLS是什么?SR-MPLS的實(shí)際應(yīng)用 2023-10-23
- [電子說(shuō)] 科通技術(shù)攜AMD解碼現(xiàn)代專業(yè)音視頻及工業(yè)醫(yī)療圖像新趨勢(shì) 2023-10-20
- [電子說(shuō)] 一種基于ADM策略的DAB控制方法建模研究 2023-10-16
- [電子說(shuō)] 豐田合資企業(yè)Admatechs成iPhone 15關(guān)鍵半導(dǎo)體材料供應(yīng)商 2023-09-28
- [PLD技術(shù)] k8s是什么意思?kubeadm部署k8s集群(k8s部署)|PetaExpres 2023-07-19
- [電子說(shuō)] 如何區(qū)分FOADM、ROADM和OXC 2023-07-19
- [電子說(shuō)] 什么是FOADM、ROADM和OXC? 2023-07-12
- [電子說(shuō)] ADM3055E/ADM3057E收發(fā)器CAN FD端口上IEC 61000-4-5浪涌保護(hù)的解決方案 2023-07-11
( 發(fā)表人:黃昊宇 )