-
Verilog HDL 是一種硬體描述語言 (HDL),它以文字形式描述數字系統硬體的結構和行為,可用於表示數字邏輯系統完成的邏輯電路圖、邏輯表示式和邏輯功能。
特點:Verilog被設計為一種硬體描述語言,其基本語法類似於C語言。 這是因為自Verilog設計以來,C語言已經在許多領域得到了廣泛的應用,並且C語言的許多語言元素已經被許多人所使用。
一種類似於 C 的硬體描述語言,電路設計人員更容易學習和接受。 但是,Verilog 和 C 之間存在許多差異。 此外,作為一種不同於普通計算機程式語言的硬體描述語言,它還具有一些獨特的語言元素,如向量形式的線網和暫存器、過程中的非阻塞賦值等。
總體而言,使用C語言的設計人員將能夠快速掌握Verilog硬體描述語言。
Verilog HDL最大的特點是易學易用,如果你有C語言程式設計經驗,可以在短時間內快速學習和掌握,所以你可以把Verilog HDL內容安排在與ASIC設計相關的相關課程中進行教學,因為HDL語言本身是專門針對硬體和系統設計的, 這種安排可以使學習者同時獲得設計實際電路的經驗。相比之下,VHDL更難學習。 但是,需要注意的是,Verilog HDL 更自由的語法也會讓初學者犯一些錯誤。
對於在中國可以接觸到的公司來說,它應該更多地使用verilog語言而不是vhdl語言。
-
該賦值語句主要由串聯運算子 {}、重複運算子 } 和 bitselection 組成。此分配語句的具體含義是:
h11 a re(0 或 1)和 h11 a re(本身)的第 11 位,以及 0 (0000) 的 4 位連線在一起形成乙個數字加上以下部分,其中 } 由重複運算子}組成},即有 3 位。要理解這一點,只要將拼接運算子和重複運算子和位選擇結合起來,就很容易理解。 下面是乙個示例:
定義線 [15:0] h11 a re = 16'b1010_0111_1011_0000;第 15 位 h11 a re[15] = 1,第 11 位 h11 a re[11] = 0;
wire a = 3'b101; wire b = 2'b01;也就是說,a 和 b 的拼接等於 = 5'b10101;即 = 6'b010101; 重複運算子 } = = 4'b0101;這和複製完全一樣。 了解這 3 個並檢視上述內容是沒有問題的。
-
Always 不是在迴圈簇旁邊,而是始終是乙個程序塊。 always@(a或b或c)我們經常可以看到上面這句話的always語句,當括號中的a、b或c訊號發生變化時,啟用了always模組,就可以執行模組中的語句了。 括號中的訊號稱為敏感訊號列表。
所有 always-blocks 彼此之間都具有平行關係,誰在前,誰在後,不影響執行順序。
for 是乙個迴圈語句,但不能合成(編譯)。 for 通常用於測試檔案。 或者,它可用於將初始值附加到 RAM。 例如,定義了 RAM 空間。
reg [n-1:0] mem [word-1:0];
您可以在初始化早期橡木時使用 for 迴圈。
integer i;
for(i=0;這樣,RAM 的所有內容都定義為 0。 但是,for 不能用於電路實體。
Verilog是一種硬體描述語言,用來描述硬體的結構和行為,不是軟體,不是C,非常不同,沒有迴圈這回事。 可以說,verilog製作的程式其實和硬體工程師的圖紙是一樣的,每句話,每個模組,都代表著乙個晶元的使用,然後接上線,讓硬體電路從環路而來,注意好區別。
c,賦值操作要求左值與右值的型別相同。
同一型別意味著變數本身屬於同一型別,它指向的物件屬於同一型別,並且兩者都是必不可少的。 >>>More