|
我學verilog語言進行FPGA設計也就半年時間,很多的東西就是在網上學到的,現在想說說自己對使用verilog進行FPGA設計的一些體會,我水平不高,主要是為新手朋友們介紹自己的一點經驗少走點彎路。 1、verilog語言 學習verilog最重要的不是語法,“因為10%的語法就能完成90%的工作”,verilog語言常用語言就是always@(),if~else,case,assign這幾個了,不用去專研繁雜的語法,有些問題等你碰到了查查書就好了。這里推薦夏雨聞老師的《verilog數字系統設計教程》,一本很適合新手的好書。 2、硬件原則 雖然verilog語言很象c語言,但它和c語言還是有本質的區別的,因為verilog進行的是硬件設計,你寫出來的東西是實實在在電路,所以要有數字電路的知識是肯定的。數字電路就是由時序電路(觸發器)和組合邏輯電路(各種邏輯門)構成的,用verilog寫的程序在FPGA實現就是觸發器和邏輯門,所以最重要的就是“你對你寫的語言生成的電路心中有數”,做到這一點你就不會有寫出來的程序不能綜合的麻煩,電路的冗余邏輯肯定也是最少的。還要注意一點就是verilog程序是并行的,不是象c那樣是順序執行的,這是因為fpga硬件可配置,可形成不同的任務單元同時工作;而單片機這種基于通用目的,硬件結構也固定了,它處理任務只能一件一件順序的進行。 3、同步原則 在進行FPGA設計的時候,同步原則應該是最重要的原則之一了,因為異步電路的不可控性,很可能有毛刺產生,而在芯片內部的任何一點毛刺都會一級一級的傳遞下去,最終影響系統的穩定性。同步原則用一句話來總結就是“不要試圖產生自己的時鐘”,最好一個設計或者一個模塊只使用同一個時鐘,這樣所有的觸發器都在同一個時鐘沿跳變,當然最穩定了,系統也能跑到很高的速度。一個小技巧就是多使用觸發器的使能端和取沿電路。 4、養成好的代碼習慣 很多的細節,比如縮進、命名、參數化、組合邏輯和時序邏輯分離、注釋等等,也就是大家說的代碼風格。這個其實很重要,最好在一開始就養成好的習慣,這樣會為你以后的工作節省很多時間,也會大大提高工作的質量。不注意這個將很吃很多的苦頭 ,細節決定成敗啊。 5、工具 工具永遠就是工具,最重要的是學會怎么使用它,不用去研究它,用的多了自然就熟練了,遇到那個問題了自然就會去找到問題的答案,不用開始就抱著工具的手冊狂看,問問別人很簡單的。 宋工企鵝號:35--24-65--90-88 Tel/WX:173--17--95--19--08 以下課程可免費試聽C語言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。 想學習的你和我聯系預約就可以免費聽課了 |