大家好,這里潘老師將精心錄制和編輯的fpga學習系列教程——《至簡設計法視頻教程》分享給大家。教程充分考慮0基礎朋友的實際情況,手把手帶領學習者分析思路、編寫代碼、驗證、板級調試。一步一步,直到最后設計若干較為綜合的邏輯系統。 視頻教程以我們自主開發的明德揚fpga至簡榮耀板為實驗平臺,通過若干基礎和綜合的系統設計講解,一步一步掌握fpga設計與驗證的思想和方法。 以下為知識總結點: 1.Verilog快速掌握新版 Verilog HDL作為一種硬件描述語言是我們在學習FPGA時所必須掌握的工具之一。雖然Verilog HDL的最大優點是易學易用,但是由于其語法較為自由,因此初學者在使用的過程中容易犯一些錯誤。 明德揚至簡設計法由擁有多年FPGA代碼編寫經驗的潘文明老師首創,不僅能讓初學者在短時間內掌握Verilog語言,而且編寫出的代碼簡潔無冗余、準確度高。我們將通過一系列案例,讓您得到關于Verilog的高效點撥。 01 D觸發器及代碼 本視頻講述了編寫FPGA程序最重要的基礎——D觸發器。很多同學覺得要把數字電路基礎學完,才能學習FPGA。實際上,很多知識是不需要用到的,我們只要清楚D觸發器就足夠了。大家通過學習本視頻之后便可以開始著手寫代碼,無需再浪費大量的時間去學習理論知識,實踐才能出真知! 02 FPGA設計思維 什么是FPGA設計思維呢?本視頻可以告訴你,教您區別、理解硬件思維和軟件思維的不同,讓你全方位掌握FPGA的設計思路。 03 我們的第一個設計 當你看到一個項目要求之后,如何設計呢?也許你自己感覺已經懂了,于是在模模糊糊的情況下就開始寫代碼,沒有清晰步驟,最后需要反復打補丁才完成? 本視頻通過一個簡單的例子告訴你如何正確地設計,手把手教你設計的思路、過程。 04 我們的第一個設計思路 明德揚根據多年項目和培訓經驗,總結和制定了一套科學嚴謹的計數器規則。只要按照我們的“計數器架構八步法”,一步步考慮你的設計,就完全不存在無思路、無從下手的問題。本視頻主要通過一個案例來闡述明德揚“計數器架構八步法”如何實現代碼的全過程,即便您是Verilog初學者,也能快速掌握。 05 第一個設計語法總結 如今市面上有不少關于Verilog語法的書籍,但實際上我們常用的語法并不多,如果花費大量的時間和精力去鉆研全部的語法,那么這顯然是不明智的做法。本課程所介紹的語法,可以覆蓋絕大部分的應用,而且完全不影響設計效率。我們視頻通過總結一些基本的語法應用,讓您掌握至簡設計法的精髓,幫助您在以后的學習中打下堅實的基礎。 06 我們的第二個設計——串口 本視頻介紹的是串口的發送模塊的練習要求,讓您在實踐中掌握至簡設計法的精髓。 07 我們的第二個設計——串口思路 本視頻通過基于至簡設計法中的“計數器架構八步法”來講解串口發送程序的編寫思路。學員通過明德揚的系統培訓,只要按照至簡設計法的步驟來做,肯定可以一次性地設計出簡潔清晰而且正確率高的代碼。 2.定位問題 作為初學者,仿真和調試時經常遇到如下問題:時鐘一直為低、信號為X態或高阻態、波形與想象中的不一致、功能實現不出來等。 這種情況下,大部分學員都是從網上求助的。由于其他人不知道你寫的具體代碼,所以根本無法得到有效的幫助和解決。 定位和解決問題,是工程師的基本能力,因此遇到問題不必急于求助,而應靜下心來,自己解決。 明德揚的系列視頻,教授您一個“任何問題都能找到”的定位問題方法和思路,并通過多個案例,讓您一步步掌握定位問題和解決問題的最佳方法。 01 FPGA 如何查找定位問題1 本視頻是明德揚查找定位問題的總綱視頻。明德揚將錯誤類型歸結為三類:軟件工具錯誤、語法編譯錯誤和功能錯誤。 本視頻介紹了三種錯誤類型的解決方法和一般原則。其中語法錯誤中,我們創新性地提出了“代入法”,可以定位大部分的語法錯誤問題。 02 定位問題案例1 一氣呵成把代碼寫出來了,開開心心來仿真,本來想著馬上就要看到結果了。但想得太天真了,最有可能出現的就是波形跟你想的不一樣。即使潘老師這么有經驗,也經常出現這樣的情形。 這個時候怎么辦?當然是硬著頭皮去找問題啊,指望別人來告訴你是不現實的,沒有多少人愿意花自己的時間給你解決定位問題。 但定位問題,你的思路對了嗎?很多人第一反應就是去檢查代碼,從頭瀏覽一遍,這是正確的定位思維嗎? 本視頻將告訴你正確的答案。 03 定位問題案例2 有同學會懷疑,用明德揚的定位方法,真能什么問題都找到嗎?萬一我不是設計代碼問題,而是測試文件問題,也能找到? 明德揚很有自信,沒錯!所有問題都能找到。本視頻就告訴你,即使是測試文件問題,你也能通過我們的方法,順藤摸瓜,把問題找到。 04 定位問題案例3 我們是否曾經遇到這樣的情況:已經找到具體的某一行代碼有問題,通過波形和代碼一一對照,波形就是與代碼不一致,這個時候甚至你都懷疑仿真軟件是否出現了BUG。 但是,首先相信一點,仿真軟件出BUG的可能性微乎其微,本視頻就通過一個具體的案例,教你如何定位這種錯誤。 相信一個真理,FPGA是很簡單的,是0就是0,是1就是1,不會有奇怪的現象的。當你發現很奇怪的時候,一般就是自己粗心了。 05 定位問題案例4 仿真出現高阻態(下圖),是不是很常見?你是怎么定位的呢?是不是急急忙忙去求助?本視頻告訴你,別急,高阻態也能用我們方法定位。 06 定位問題案例5 又一個常見的錯誤類似,輸出的值也是高阻類,再次看看用明德揚方法是如何定位的,提高一下能力,以后再遇到問題就不慌了。 07 定位問題案例6 我明明在測試文件產生了時鐘,但仿真時卻發現時鐘信號一直為0。你的第一反應是不是去檢查代碼?別忘了,我們一直強調的定位思維。任何錯誤都不要去檢查代碼來發現,而是要通過定位的思維。前者找到問題靠運氣,后者找到問題那是一定的。 本視頻用一個案例告訴你,通過我們方法去定位到某一行,認定就是這一行出錯,盯著去思考,就能發現問題。 3.明德揚GVIM設計模板 01 基于明德揚課程的GVIM教程 本視頻介紹基于明德揚課程的GVIM模板。明德揚鼓勵大家多用模板,優點具體如下: 1. 多用模板有利于我們專注設計。FPGA學習的核心是“設計”,使用模板,能夠讓學員專心于設計,不用耗費大量時間在無用的地方。 2. 多用模板有利于我們規范設計。FPGA設計規范非常重要,明德揚要求學員按模板的要求進行設計,從而得到最優化、最規范的代碼。 3. 多用模板有利于我們節省時間。明德揚的模板,包含了至簡設計法的計數器、狀態機、FIFO和模塊結構等,這些是RTL代碼最常見的部分。使用這些模板的時候,工程師只需按順序填空,就能快速地進行設計,可節省大量時間。 本視頻介紹了明德揚精心制作的常用模板,快來看看我們模板的神奇效果吧! 02 利用GVIM制作模板 上一節我們介紹了明德揚的常用模板,你是不是也心動了,想制作自己的個性化模板?本視頻將介紹在GVIM當中如何制作自己的模板! 4.明德揚時序約束視頻簡介 FPGA時序約束是FPGA設計中的一個重點,也是難點。很多人面對各種時序概念、時序計算公式、時序場景是一頭亂麻,望而生畏。 現有的教材大部分是介紹概念、時序分析工具和計算公式的。我們學習教材之后覺得已經完全掌握,但是當需要真正做項目的時候,就會有無從下手的感覺。例如,那些計算時序的公式,真的要一五一十地套下去,估計自己心里也沒底吧。 明德揚最看重的是實踐,一切不能用于實踐的理論都是扯淡。為此,明德揚拋開一切復雜的理論,就從工程實踐的角度來講解時序約束。 我們的做法:先把時序約束分成幾個類別,其中每個類別又分成幾個場景,將每個場景下所對應的時序約束方法一一列出后,提供每個時序約束參數的獲取方法,最后填好數值,完畢。 我們的目標:第一,按我們提供的步驟一個一個進行約束;第二,根據自己的使用情況,找到對應的場景后,挑出其所對應的時序約束;第三,根據提示的方法,得到參數,計算出最終結果。 我們的優勢:一個傻瓜式、但實用的時序約束“操作手冊”。 本系列視頻,簡單介紹了我們的“操作手冊”,保證讓你有意外的收獲! 另外,FPGA是實踐課程,聽一千遍,不如自己動手實踐,練習才是最重要的內容。歡迎關注我們獲取更多資料。 01 時序約束步驟 本視頻講述時序約束步驟:約束有很多,并且總是有先后的,先約束哪些,再約束哪些,都有講究。按工程需要,定義好步驟,這樣就能一步一步約束,逐個思考,最終完成。 02 生成時鐘約束 時鐘約束是工程一開始就進行的約束。時鐘約束又可以分成三大類:輸入時鐘、PLL等衍生時鐘和自己分步時鐘。每一種都有自己的約束方法,詳情請看視頻介紹。 03 input delay約束 輸入延時約束是約束的重點。明德揚把輸入約束分成三大類:系統同步、源同步和無時鐘數據,其中源同步分成SDR和DDR兩場景,而DDR又可再細分成邊沿對齊和中心對齊。 以上每種情況,其約束語句、獲取參數的方法都是不一樣的。 想知道具體情況,歡迎觀看本節視頻。 04 output delay約束 輸出延時約束和輸入延時一樣,也是約束的重點。按照同樣的思路,明德揚把輸出約束分成兩大類:系統同步和源同步,其中源同步分成SDR和DDR兩場景,而DDR又可再細分成邊沿對齊和中心對齊。 以上每種情況,其約束語句、獲取參數的方法都是不一樣的。 想知道具體情況,歡迎觀看本節視頻。 05 時序例外約束 本節視頻講述多周期路徑、異步時鐘以及組合邏輯的約束,這些都是時序例外的情況。對于這些情況,處理時要特別小心,否則有可能導致遺漏錯誤信息的后果。 06 時序約束總結 本視頻再次對明德揚的時序約束方法進行總結?傊,只要我們按步驟去做,就能很準確快速地完成約束。需要強調的是,以上視頻都是理論部分,雖然原理簡單,但最終掌握程度還是要靠實踐。我們有配套的練習,能幫助大家真正地掌握上述方法。 5.明德揚至簡設計法視頻簡介 01 基于至簡設計法的SCCB接口設計 SCCB和IIC接口類似,是常用的外設接口,常用于攝像頭的配置等領域。本視頻講述如何使用至簡設計法來設計SCCB接口。通過本視頻,你將發現明德揚所有設計都是有統一思路的,而且是你容易掌握的思路。 02 基于至簡設計法的數字時鐘設計 本視頻講述如何運用至簡設計法來設計大家熟悉的數字時鐘功能。想知道我們的方法和其他傳統方法的差別嗎?想欣賞我們優秀的代碼嗎?那么,歡迎觀看本節視頻。 03 明德揚四段式狀態機 一段式、二段式和三段式狀態機,相信您已經聽說過。但是,您聽說過四段式狀態機嗎?沒錯,這就是明德揚發明的四段式狀態機代碼寫法。 通過學習四段式狀態機代碼,你的設計思維將會非常清晰:知道如何劃分成最好的狀態機,如何獲取最健壯的轉移條件和如何得到最漂亮的代碼。 本視頻將介紹四段式狀態機代碼寫法,而我們也將陸續推出關于此內容的應用例子,歡迎關注。 視頻教程在此下載:http://www.mdy-edu.com/product/list/35 |