EX4-8 已知布林函數 F(a, b, c) = a + b 以及
G(a, b, c) = ac′ + bc′ + ac + bc,試畫出真值表與其邏輯電路圖。請問
F 與 G 兩函數的關係為何?
//===============================
// Ch4.3 F, G circuit
// Ch4.3 F, G circuit
module EX10_1( a ,b, c, F,G);
input a ,b, c; // 1位元輸入
output reg F,G ; // Output 1位元輸出
always@ ( a ,b, c) begin
case ({a,b,c})
3'b000:begin
F=1'b0;
G=1'b0;
end
3'b001:begin
F=1'b0;
G=1'b0;
end
3'b010:begin
F=1'b1;
G=1'b1;
end
3'b011:begin
F=1'b1;
G=1'b1;
end
3'b100:begin
F=1'b1;
G=1'b1;
end
3'b101:begin
F=1'b1;
G=1'b1;
end
3'b110:begin
F=1'b1;
G=1'b1;
end
3'b111:begin
F=1'b1;
G=1'b1;
end
endcase
end
endmodule
//===============================
// 時間單位 100ns, 時間精確度100 ps
`timescale 100ns/100ps
module Test_bench;
// Inputs
reg a ,b, c ;
// Outputs
wire F,G ;
// Instantiate the Unit Under Test (UUT)
//Ch4.3 F, G circuit
EX10_1 UUT (
.a(a),
.b(b),
.c(c),
.F(F),
.G(G)
);
initial begin
$monitor( a ,b, c, F,G);
//Apply inputs
a=1'b0; b=1'b0; c=1'b0;
#100;
a=1'b0; b=1'b0; c=1'b1;
#100;
a=1'b0; b=1'b1; c=1'b0;
#100;
a=1'b0; b=1'b1; c=1'b1;
#100;
a=1'b1; b=1'b0; c=1'b0;
#100;
a=1'b1; b=1'b0; c=1'b1;
#100;
a=1'b1; b=1'b1; c=1'b0;
#100;
a=1'b1; b=1'b1; c=1'b1;
#100;
end
initial begin
#1000 $stop;
end
endmodule
//===============================
觀察 F 和 G 兩個布林函數的真值表,對所有的輸入組合而言,F
與 G
的輸出值都相同,則稱此兩個函數是「同等的」、「全等的」或「等效的」(equivalent)。既然真值表完全一樣,我們也可以視上述 F
的邏輯電路圖與 G
的邏輯電路圖,是「同等的」、「全等的」或「等效的」。
假設有兩個電路,當輸入組合相同時,其輸出就會一樣,則這兩個電路可稱之為等效電路。從真值表就可證明,F
與 G
的電路會是等效電路。
沒有留言:
張貼留言