อ่านโจทย์ได้ที่นี่ Click Here!
- ตัวแปร
A3
,A2
,A1
,A0
เก็บข้อมูลที่ได้จากการเข้ารหัสแบบ Excess-3 - ตัวแปร
B3
,B2
,B1
,B0
เก็บข้อมูลที่ได้จากการเข้ารหัสแบบ Cyclic - ตัวแปร
C3
,C2
,C1
,C0
เก็บข้อมูลที่ได้จากการเข้ารหัสแบบ 2 4 2 1 Code - ตัวแปร
D3
,D2
,D1
,D0
เก็บข้อมูลที่ได้จากการเข้ารหัสแบบ 6 4 2 -3 Code
จากโจทย์บอกให้วงจรทำการเข้ารหัสด้วยโดยอ้างอิงตาม Selector
- ถ้า Selector เท่ากับ
00
ให้เข้ารหัสแบบ Excess-3 - ถ้า Selector เท่ากับ
01
ให้เข้ารหัสแบบ Cyclic - ถ้า Selector เท่ากับ
10
ให้เข้ารหัสแบบ 2 4 2 1 Code - ถ้า Selector เท่ากับ
11
ให้เข้ารหัสแบบ 6 4 2 -3 Code
ซึ่งการใช้ Multiplexer 4-to-1 กับ Input ที่มี 4 bits สามารถทำได้โดยการใช้วงจร Multiplexer 4-to-1 จำนวน 4 ตัว โดยที่
- Multiplexer 4-to-1 ตัวที่ 1 ใช้งานกับ Input ตัวแปร
A0
,B0
,C0
,D0
- Multiplexer 4-to-1 ตัวที่ 2 ใช้งานกับ Input ตัวแปร
A1
,B1
,C1
,D1
- Multiplexer 4-to-1 ตัวที่ 3 ใช้งานกับ Input ตัวแปร
A2
,B2
,C2
,D2
- Multiplexer 4-to-1 ตัวที่ 4 ใช้งานกับ Input ตัวแปร
A3
,B3
,C3
,D3
จาก Truth Table ของ Multiplexer 4-to-1 ทั้ง 4 ตัว จะสามารถหาสมการ Boolean ของ Multiplexer แต่ละตัวได้ดังนี้
การใช้งานโปรแกรม ESPRESSO logic minimizer จะต้องสร้างไฟล์สำหรับ Input และ Output ไว้ก่อน
- ไฟล์ Input จะเป็นไฟล์ที่บรรจุชุดคำสั่งเข้าไป (ไฟล์
.pla
) - ไฟล์ Output จะเป็นไฟล์ที่ ESPRESSO logic minimizer จัดเก็บสมการ Boolean หลังจากที่ประมวลผล Input เสร็จสิ้น (ไฟล์
.pla
) - แนะนำให้ใช้งาน ESPRESSO logic minimizer แบบ Compile Mode ผ่าน Command Prompt
- สามารถอ่านขั้นตอนการใช้งานโปรแกรม ESPRESSO logic minimizer แบบละเอียด ได้ที่นี่
.i 4
.o 4
.ilb X3 X2 X1 X0
.ob A3 A2 A1 A0
.p 16
0000 0011
0001 0100
0010 0101
0011 0110
0100 0111
0101 1000
0110 1001
0111 1010
1000 1011
1001 1100
1010 ----
1011 ----
1100 ----
1101 ----
1110 ----
1111 ----
.e
หมายเหตุ: ส่วนที่เป็น Don't care ให้ใช้เครื่องหมาย -
แทนเลข 0
กับ 1
ได้เลย
- เครื่องหมาย
&
หมายถึง AND - เครื่องหมาย
|
หมายถึง OR - เครื่องหมาย
!
หมายถึง NOT
A3 = (X2&X1&!X0) | (X2&X0) | (X3);
A2 = (X2&!X1&!X0) | (!X2&X1&!X0) | (!X2&X0);
A1 = (X1&X0) | (!X1&!X0);
A0 = (!X2&X1&!X0) | (X2&X1&!X0) | (!X1&!X0);
.i 4
.o 4
.ilb X3 X2 X1 X0
.ob B3 B2 B1 B0
.p 16
0000 0000
0001 0001
0010 0011
0011 0010
0100 0110
0101 0111
0110 0101
0111 0100
1000 1100
1001 1101
1010 ----
1011 ----
1100 ----
1101 ----
1110 ----
1111 ----
.e
หมายเหตุ: ส่วนที่เป็น Don't care ให้ใช้เครื่องหมาย -
แทนเลข 0
กับ 1
ได้เลย
- เครื่องหมาย
&
หมายถึง AND - เครื่องหมาย
|
หมายถึง OR - เครื่องหมาย
!
หมายถึง NOT
B3 = (X3);
B2 = (X2) | (X3);
B1 = (!X2&X1) | (X2&!X1);
B0 = (X1&!X0) | (!X1&X0);
.i 4
.o 4
.ilb X3 X2 X1 X0
.ob C3 C2 C1 C0
.p 16
0000 0000
0001 0001
0010 0010
0011 0011
0100 0100
0101 1011
0110 1100
0111 1101
1000 1110
1001 1111
1010 ----
1011 ----
1100 ----
1101 ----
1110 ----
1111 ----
.e
หมายเหตุ: ส่วนที่เป็น Don't care ให้ใช้เครื่องหมาย -
แทนเลข 0
กับ 1
ได้เลย
- เครื่องหมาย
&
หมายถึง AND - เครื่องหมาย
|
หมายถึง OR - เครื่องหมาย
!
หมายถึง NOT
C3 = (X2&!X1&X0) | (X2&X1) | (X3);
C2 = (X2&!X0) | (X2&X1) | (X3);
C1 = (!X2&X1) | (X2&!X1&X0) | (X3);
C0 = (X0);
.i 4
.o 4
.ilb X3 X2 X1 X0
.ob D3 D2 D1 D0
.p 16
0000 0000
0001 0101
0010 0010
0011 1001
0100 0100
0101 1011
0110 0110
0111 1101
1000 1010
1001 1111
1010 ----
1011 ----
1100 ----
1101 ----
1110 ----
1111 ----
.e
หมายเหตุ: ส่วนที่เป็น Don't care ให้ใช้เครื่องหมาย -
แทนเลข 0
กับ 1
ได้เลย
- เครื่องหมาย
&
หมายถึง AND - เครื่องหมาย
|
หมายถึง OR - เครื่องหมาย
!
หมายถึง NOT
D3 = (X2&!X1&X0) | (X1&X0) | (X3);
D2 = (X2&X1) | (!X2&!X1&X0) | (X2&!X0);
D1 = (X1&!X0) | (X2&!X1&X0) | (X3);
D0 = (!X2&!X1&X0) | (X2&!X1&X0) | (X1&X0);
เนื่องจากว่า ESPRESSO logic minimizer อาจจะไม่ได้ลดรูปให้อยู่ในรูปอย่างง่ายที่สุด ดังนั้นเราจะมาลดรูปสมการกันต่อ
$X + 1 = 1$ $X \cdot 1 = X$ $X + X' = 1$ $XY + XY' = X$ $X + X'Y = X + Y$
A3 = (X2&X1&!X0) | (X2&X0) | (X3);
A2 = (X2&!X1&!X0) | (!X2&X1&!X0) | (!X2&X0);
A1 = (X1&X0) | (!X1&!X0);
สมการนี้เป็นสมการที่อยู่ในรูปอย่างง่ายอยู่แล้ว
A0 = (!X2&X1&!X0) | (X2&X1&!X0) | (!X1&!X0);
B3 = (X3);
B2 = (X2) | (X3);
B1 = (!X2&X1) | (X2&!X1);
B0 = (X1&!X0) | (!X1&X0);
ทุกสมการเป็นสมการอย่างง่ายอยู่แล้ว
C3 = (X2&!X1&X0) | (X2&X1) | (X3);
C2 = (X2&!X0) | (X2&X1) | (X3);
C1 = (!X2&X1) | (X2&!X1&X0) | (X3);
C0 = (X0);
ทุกสมการเป็นสมการอย่างง่ายอยู่แล้ว
D3 = (X2&!X1&X0) | (X1&X0) | (X3);
D2 = (X2&X1) | (!X2&!X1&X0) | (X2&!X0);
D1 = (X1&!X0) | (X2&!X1&X0) | (X3);
ทุกสมการเป็นสมการอย่างง่ายอยู่แล้ว
D0 = (!X2&!X1&X0) | (X2&!X1&X0) | (X1&X0);
หลังจากที่ได้สมการ Boolean มาแล้ว ให้นำสมการที่ได้มาต่อเป็นวงจร Digital ก็จะได้ดังภาพเลย