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