定位問題 作為初學(xué)者,仿真和調(diào)試時經(jīng)常遇到如下問題:時鐘一直為低、信號為X態(tài)或高阻態(tài)、波形與想象中的不一致、功能實現(xiàn)不出來等。 這種情況下,大部分學(xué)員都是從網(wǎng)上求助的。由于其他人不知道你寫的具體代碼,所以根本無法得到有效的幫助和解決。 定位和解決問題,是工程師的基本能力,因此遇到問題不必急于求助,而應(yīng)靜下心來,自己解決。 明德?lián)P的系列視頻,教授您一個“任何問題都能找到”的定位問題方法和思路,并通過多個案例,讓您一步步掌握定位問題和解決問題的最佳方法。 FPGA 如何查找定位問題1 本視頻是明德?lián)P查找定位問題的總綱視頻。明德?lián)P將錯誤類型歸結(jié)為三類:軟件工具錯誤、語法編譯錯誤和功能錯誤。 本視頻介紹了三種錯誤類型的解決方法和一般原則。其中語法錯誤中,我們創(chuàng)新性地提出了“代入法”,可以定位大部分的語法錯誤問題。 定位問題案例1 一氣呵成把代碼寫出來了,開開心心來仿真,本來想著馬上就要看到結(jié)果了。但想得太天真了,最有可能出現(xiàn)的就是波形跟你想的不一樣。即使潘老師這么有經(jīng)驗,也經(jīng)常出現(xiàn)這樣的情形。 這個時候怎么辦?當然是硬著頭皮去找問題啊,指望別人來告訴你是不現(xiàn)實的,沒有多少人愿意花自己的時間給你解決定位問題。 但定位問題,你的思路對了嗎?很多人第一反應(yīng)就是去檢查代碼,從頭瀏覽一遍,這是正確的定位思維嗎? 本視頻將告訴你正確的答案。 定位問題案例2 有同學(xué)會懷疑,用明德?lián)P的定位方法,真能什么問題都找到嗎?萬一我不是設(shè)計代碼問題,而是測試文件問題,也能找到? 明德?lián)P很有自信,沒錯!所有問題都能找到。本視頻就告訴你,即使是測試文件問題,你也能通過我們的方法,順藤摸瓜,把問題找到。 定位問題案例3 我們是否曾經(jīng)遇到這樣的情況:已經(jīng)找到具體的某一行代碼有問題,通過波形和代碼一一對照,波形就是與代碼不一致,這個時候甚至你都懷疑仿真軟件是否出現(xiàn)了BUG。 但是,首先相信一點,仿真軟件出BUG的可能性微乎其微,本視頻就通過一個具體的案例,教你如何定位這種錯誤。 相信一個真理,F(xiàn)PGA是很簡單的,是0就是0,是1就是1,不會有奇怪的現(xiàn)象的。當你發(fā)現(xiàn)很奇怪的時候,一般就是自己粗心了。 定位問題案例4 ![]() 仿真出現(xiàn)高阻態(tài)(下圖),是不是很常見?你是怎么定位的呢?是不是急急忙忙去求助?本視頻告訴你,別急,高阻態(tài)也能用我們方法定位。 定位問題案例5 又一個常見的錯誤類似,輸出的值也是高阻類,再次看看用明德?lián)P方法是如何定位的,提高一下能力,以后再遇到問題就不慌了。 定位問題案例6 我明明在測試文件產(chǎn)生了時鐘,但仿真時卻發(fā)現(xiàn)時鐘信號一直為0。你的第一反應(yīng)是不是去檢查代碼?別忘了,我們一直強調(diào)的定位思維。任何錯誤都不要去檢查代碼來發(fā)現(xiàn),而是要通過定位的思維。前者找到問題靠運氣,后者找到問題那是一定的。 本視頻用一個案例告訴你,通過我們方法去定位到某一行,認定就是這一行出錯,盯著去思考,就能發(fā)現(xiàn)問題。 |