引言
前面講完了編碼器,其實不知不覺地,也順便把譯碼器也講了,畢竟,二者是一個相反操作的過程,類似于加減,前進與后退,調(diào)制與解調(diào),F(xiàn)FT 和 IFFT 等等。
譯碼器的邏輯功能就是將每一個輸入的二進制代碼轉(zhuǎn)為對應(yīng)的多輸出高、低電平信號或另外一個代碼,是編碼器的逆運算,譯碼器又可以分為變量譯碼和顯示譯碼。變量譯碼器一般是一種較少輸入變?yōu)檩^多輸出的器件,常見的有 N 線 - 2^N 線譯碼和 8421BCD 碼譯碼兩類;顯示譯碼器用來將二進制數(shù)轉(zhuǎn)換成對應(yīng)的七段碼,一般其可分為驅(qū)動 LED 和驅(qū)動 LCD 兩類。
一、變量譯碼器的 Verilog 代碼實現(xiàn)和 RTL 電路實現(xiàn)
module Decoders(
input wire [2:0] b, // 輸入信號_未譯碼
output reg [7:0] d // 輸出信號_已譯碼
);
reg d = 8'b0000_0000;
always @ ( b ) begin
case ( b )
3'b000 : d <= 8'b0000_0001;
3'b001 : d <= 8'b0000_0010;
3'b010 : d <= 8'b0000_0100;
3'b100 : d <= 8'b0001_0000;
3'b101 : d <= 8'b0010_0000;
3'b110 : d <= 8'b0100_0000;
3'b111 : d <= 8'b1000_0000;
default: d <= 8'b0000_0000;
endcase
end
endmodule
這是一個 3 線 ? 8 線變量譯碼器,基于查找表 LUT(Look Up Table)的方式實現(xiàn)的一個電路,其 RTL 電路圖如下所示:
變量譯碼器的 RTL 電路圖
這里的譯碼器,其實就只是基于 LUT 的譯碼器,是最簡單的,并沒有經(jīng)過復(fù)雜的運算操作,其思想只是簡單地輸入地址,然后輸入地址所在的數(shù)據(jù)即可。
譯碼是編碼的逆過程,在編碼時,每一種二進制代碼,都賦予了特定的含義,即都表示了一個確定的信號或者對象;把代碼狀態(tài)的特定含義 “翻譯” 出來的過程叫做譯碼,實現(xiàn)譯碼操作的電路稱為譯碼器;或者說,譯碼器是可以將輸入二進制代碼的狀態(tài)翻譯成輸出信號,以表示其原來含義的電路。
-
二進制
+關(guān)注
關(guān)注
2文章
795瀏覽量
41652 -
LED驅(qū)動
+關(guān)注
關(guān)注
72文章
1003瀏覽量
138019 -
譯碼器
+關(guān)注
關(guān)注
4文章
310瀏覽量
50335 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59786 -
Verilog設(shè)計
+關(guān)注
關(guān)注
0文章
20瀏覽量
6521
發(fā)布評論請先 登錄
相關(guān)推薦
評論