多路選擇器,加法器原理及verilog實現


1.數據選擇器是指經過選擇,把多個通道的數據傳到唯一的公共數據通道上。實現數據選擇功能的邏輯電路稱為數據選擇器,它的作用相當於多個輸入的單刀多擲開關。本例程以四選一數據選擇器(電平觸發)為例。 四選一數據選擇器書堆 4 個數據源進行選擇, 使用量為地址 A1A0 產生 4 個地址信號,由 A1A0 等於“00” 、 “01” 、 “10” 、 “11”來選擇輸出,真值表如下:

image
對應的verilog代碼為

module mux4(d0,d1,d2,d3,y,a,g);
input d0,d1,d2,d3; // 輸入的四個數據
input g; // 輸入使能端
input[1:0] a; // 輸入的選擇端
output y; // 輸出數據
reg y;  // 輸出數據寄存器
always@(d0 or d1 or d2 or d3 or g or a)  // 電平觸發,當 d0,d1,d2,d3,a  有變化時
候、// 觸發
begin
if(g==1'b0)  //當 當 g 為 為 0  時候
y=1'b0; //y 置 置 0
else
case(a)  // 判斷 a  的取值,並作出相應的賦值
2'b00:y=d0;
2'b01:y=d1;
2'b10:y=d2;
2'b11:y=d3;
default:y=1'b0;  //a  為其他值得條件下,y  賦予 0
endcase
end
endmodule

時序仿真結果:

image

2.加法器是一種較為常見的算術運算電路,包括半加器(對兩個輸入數據相加,輸出一個結果位和進位,沒有進位輸入的電路),全加器(有進位輸入)。

如題,實現一個四位全加器:

module add4(a,b,ci,s,co);
input [3:0] a,b;  // 輸入四位數據 a ,b
input ci; // 輸入進位 ci
output [3:0] s; // 輸出四位數據 s
output co;  // 輸出進位 co
assign {co,s}=a+b+ci;  //把 把 a 、b 、ci  相加后的結果賦予 co 、s ,其中 co
// 放最高位,s  放低三位
endmodule


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM