Verilog 實現74138解碼器

2021-10-04 13:42:26 字數 1331 閱讀 6345

首先明確有哪些輸入和輸出:

enable 使能 en0 en1 en2

input 輸入 i0 i1 i2

output 輸出 o0 ~ o7

然後把資料型別用verilog實現:

//使能端為三個 只有當使能為1 0 0的時候晶元才正常解碼

input wire[2:0] en;

//輸入端為三個二進位制位,對應2^3 = 8,即3-8解碼器

input wire[2:0] i;

//輸出為八個二進位制位

output wire[7:0] o;

再分析業務邏輯:什麼是業務邏輯?哎呀就是**的流程啦,說的高階點?

要想有正常的解碼結果,首先en == 100b

然後解碼過程實際上就是個左移的過程數學表示式為 o = 1 << i

如果en滿足條件就輸出2結果否則輸出 0

沒了吧根據業務邏輯分析編寫**:

//直接接線,然後輸出,方便快捷

assign o = (en==3'b100) ? ~(8'b0000_0001 << i) : 8'b0000_0000;

將以上**組合在一起:

module x74138(en, i, o);

input wire[2:0] en;

input wire[2:0] i;

output wire[7:0] o;

assign o = (en==3'b100) ? ~(8'b0000_0001 << i) : 8'b0000_0000;

endmodule

噠噠~大功告成!嗐!**博主就不?起勁了,直接給上**結果吧,怎麼配置**,其他博主的文章已經寫的很完美了,就不再贅述了。

en使能的區域

沒啦~o(* ̄▽ ̄*)ブ

verilog實現串列埠

實現串列埠的時候一些簡單的介紹和遇到問題和思考。備忘 實現時可以把這兩部分分開。也就是兩個 fifo 配套收和發的 v檔案,可以實現乙個串列埠。一般人實現串列埠的都是這麼想的吧。下面是檔案的層級結構 2 當然是coding 了。寫串列埠的 主要貼一下收和發的狀態機 用一段來實現的 1 這是收的部分 ...

verilog簡單實現串列埠

uart 2017.10.7 傳送接收到的資料 波特率9600 乙個停止位 無奇偶校驗 de2板子 rx gpio k25 0 left tx tx gpio k26 1 right rx gnd 右邊第6 或者倒數第6 復位不成功 復位按鍵有問題 靠右按即可復位 特別注意 如果乙個條件中同時給乙個...

卷積編碼verilog實現

完成 2,1,7 編碼方式 多項式為 133,171 也可以完成 2,1,5 編碼方式多項式 23,35 的verilog實現 對應 中的注釋的位置。相應的解碼器也寫已寫完,後續。相關的卷積編碼的基礎知識請參看 timescale 1ns 1ps company engineer create da...