模擬信號:
一條隨時間連續變化、平滑波動的曲線,比如正弦波。
數字信號:
一條只有高低兩個狀態(0和1),跳變清晰的方波曲線。
在 IC 或 FPGA 的邏輯設計中,我們通常只能處理數字信號,因為它們只識別高電平和低電平兩個狀態。而模擬信號是連續變化的,無法直接被數字電路識別。不過,隨著技術的發展,一些高端的 FPGA 已經集成了模數轉換器(ADC),可以采集外部的模擬信號并轉換成數字信號進行處理,使得 FPGA 能在一定程度上參與模擬信號的處理。
表達形式 | 說明 | 示例 | 等價二進制 |
---|---|---|---|
b | 二進制 | 4'b0101 | 0101 |
d | 十進制 | 4'd2 | 0010 |
h | 十六進制 | 4'hA | 1010 |

數字電路的基本構成單元是各種邏輯門電路,最常見的有以下幾類:
名稱 | 邏輯符號 | 功能說明 |
---|---|---|
與門(AND) | A·B | 兩個輸入都為 1 時輸出為 1 |
或門(OR) | A+B | 只要有一個輸入為 1 就輸出為 1 |
非門(NOT) | ¬A 或 ~A | 對輸入信號取反(0變1,1變0) |
與門是一種邏輯乘法門電路。
只有當所有輸入都是“1”時,輸出才是“1”;否則輸出為“0”。
常用于控制邏輯中“必須同時滿足多個條件”的場景。
?

?
module and_gate(input A, //輸入 Ainput B, //輸入 Boutput Y //輸出 Y
);
//assign 相當于一條連線,輸入 A 和輸入 B 相與后連接輸出 Y。
assign Y = A & B;endmodule
?非常的簡單的代碼,就不多說了。。
或的含義是只有當決定一件事情的任意一個條件具備時,這個事件就會發生。 門是執行“或”運算的基本門電路。或門有多個輸入端,1 個輸出端。當多個輸入端任意一個端口為“邏輯 1”高電平時,輸出就為“邏輯 1”電平,只有全部輸入條件都不滿足時,或門輸出為“邏輯 0” 低電平。或門的表達式是 F = A | B,“|”代表或的意思,這個符號也是 Verilog 語法定義的或邏輯符。
module or_gate(input A, //輸入 Ainput B, //輸入 B output Y //輸出 Y
);
//輸入 A 或輸入 B
assign Y = A | B;
endmodule


?

module not_gate(input [3:0] A, //4 位數據的輸入信號 A output [3:0] Y //4 位數據的輸出信號 Y
);
//assign Y[3:0] = ~A[3:0];
assign Y = ~A;
endmodule