Verilog HDL語言設計實驗
計算機系統(tǒng)配置的基本需求 在進行Verilog HDL語言設計實驗之前,首先需要確保計算機系統(tǒng)的配置滿足基本需求。PC機的基本配置包括: CPU:Intel奔騰系列,或AMD Athlon
計算機系統(tǒng)配置的基本需求
在進行Verilog HDL語言設計實驗之前,首先需要確保計算機系統(tǒng)的配置滿足基本需求。PC機的基本配置包括:
- CPU:Intel奔騰系列,或AMD Athlon/XP
- 操作系統(tǒng):Windows NT/2000/XP
- 內(nèi)存:256M或以上
- 顯卡:支持256色的8位顯卡或以上
- 硬盤:20G以上
對于Verilog HDL設計而言,Altera Quartus II設計軟件是一個非常好的選擇。Quartus II提供了完整的多平臺設計環(huán)境,并能夠輕松滿足特定設計的需要。它是一個綜合性環(huán)境,適用于可編程片上系統(tǒng)(SOPC)設計。Quartus II軟件涵蓋了FPGA和CPLD設計的所有階段。
實驗目的
該實驗的目的主要有兩個方面:
- 掌握基本組合邏輯電路的實現(xiàn)方法,學會使用連續(xù)賦值語句和條件賦值語句。
- 掌握基本時序邏輯電路的實現(xiàn),學會使用always語句。
簡單組合邏輯設計
在Verilog HDL中,描述組合邏輯電路通常使用assign連續(xù)賦值語句的數(shù)據(jù)流方式。連續(xù)賦值語句將值賦給線網(wǎng)(不能為寄存器賦值)。當右端表達式的操作數(shù)發(fā)生事件(值的變化)時,連續(xù)賦值語句被計算,并將新結(jié)果賦給左邊的線網(wǎng)。
連續(xù)賦值語句的目標類型包括:標量線網(wǎng)、向量線網(wǎng)、向量的常數(shù)型位選擇、向量的常數(shù)型部分選擇以及上述類型的任意拼接運算結(jié)果。
下面是一個可綜合的數(shù)據(jù)比較器的組合邏輯設計示例:
// compare.v module compare(equal, a, b); input a, b; output equal; assign equal (a b) ? 1 : 0; // 如果a等于b,輸出為1;否則輸出為0。 endmodule
簡單時序邏輯設計
相對于組合邏輯電路,在Verilog HDL中,時序邏輯電路有著特定的表述方式。可綜合的Verilog HDL模型通常使用always塊和@(posedge clk)或@(negedge clk)的結(jié)構(gòu)來表述時序邏輯。
下面是一個可綜合的1/2分頻器模型的時序邏輯設計示例:
// half_clk.v
module half_clk(reset, clk_in, clk_out);
input clk_in, reset;
output clk_out;
reg clk_out;
always @(posedge clk_in)
begin
if (!reset)
clk_out 0;
else
clk_out ~clk_out;
end
endmodule
在always塊中,被賦值的信號都必須定義為reg型,這是由時序邏輯電路的特點所決定的。如果對于reg型數(shù)據(jù)未進行賦值,仿真工具會認為它是不定態(tài)。
為了能夠正確觀察到仿真結(jié)果,在可綜合風格的模塊中通常定義一個復位信號reset,當reset為低電平時,對電路中的寄存器進行復位。
總結(jié)
本文介紹了Verilog HDL語言設計實驗的基本要求和實現(xiàn)方法。通過掌握組合邏輯和時序邏輯的設計原則,可以實現(xiàn)各種電路功能的描述和設計。同時,選擇合適的軟件和計算機系統(tǒng)配置也是進行Verilog HDL語言設計實驗的重要準備工作。