logic gate (AND, OR, XOR, NOT, NAND, NOR and XNOR)
นาย ภูบดินทร์ สมศรี
ลอจิกเกตเป็นอุปกรณ์ที่ทำหน้าที่เป็นตัวสร้างสำหรับวงจรดิจิตอล พวกเขาทำหน้าที่พื้นฐานทางตรรกะที่เป็นพื้นฐานของวงจรดิจิตอล อุปกรณ์อิเล็กทรอนิกส์ส่วนใหญ่ที่เราใช้ในปัจจุบันจะมีลอจิกเกตรูปแบบหนึ่งอยู่ในนั้น ตัวอย่างเช่น ลอจิกเกตสามารถใช้ในเทคโนโลยีต่างๆ เช่น สมาร์ทโฟน แท็บเล็ต หรือภายในอุปกรณ์หน่วยความจำ
ในวงจร ลอจิกเกตจะตัดสินใจโดยอิงจากสัญญาณดิจิทัลที่มาจากอินพุต ลอจิกเกตส่วนใหญ่มีสองอินพุตและหนึ่งเอาต์พุต ลอจิกเกตขึ้นอยู่กับพีชคณิตบูลีน ในช่วงเวลาใดก็ตาม ทุกเทอร์มินัลจะอยู่ใน หนึ่งในสอง เงื่อนไขไบนารีเท็จหรือ จริง เท็จแทน 0 และจริงแทน 1 เอาต์พุตไบนารีจะแตกต่างกันไปตามประเภทของลอจิกเกตที่ใช้และอินพุตที่รวมกัน ลอจิกเกตอาจเปรียบได้กับสวิตช์ไฟ โดยที่ตำแหน่งหนึ่งเอาต์พุตจะปิด — 0 และอีกตำแหน่งหนึ่งเปิดอยู่ — 1 ลอจิกเกตมักใช้ในวงจรรวม (IC)
ลอจิกเกตพื้นฐาน
มีลอจิกเกตพื้นฐานเจ็ดตัว: AND, OR, XOR, NOT, NAND, NOR และ XNOR
และ | หรือ | XOR | ไม่ | NAND | NOR | XNOR
The AND gate มีชื่อเช่นนั้นเพราะถ้า 0 เรียกว่า “เท็จ” และ 1 เรียกว่า “จริง” เกตจะทำงานในลักษณะเดียวกับตัวดำเนินการ “และ” ทางตรรกะ ภาพประกอบและตารางต่อไปนี้แสดงสัญลักษณ์วงจรและชุดลอจิกสำหรับเกท AND (ในสัญลักษณ์ ขั้วอินพุตจะอยู่ด้านซ้ายและขั้วต่อเอาต์พุตอยู่ด้านขวา) เอาต์พุตจะเป็น “จริง” เมื่ออินพุตทั้งสองเป็น “จริง” มิฉะนั้น ผลลัพธ์จะเป็น “เท็จ” กล่าวอีกนัยหนึ่ง เอาต์พุตจะเป็น 1 ก็ต่อเมื่อทั้งอินพุต 1 และ 2 เป็น 1
AND gate
Input 1 | Input 2 | Output |
1 | ||
1 | ||
1 | 1 | 1 |
The OR ได้ชื่อมาจากความจริงที่ว่ามันทำงานตามแฟชั่นของตรรกะรวม “หรือ”
ผลลัพธ์จะเป็น “จริง” หากอินพุตอย่างใดอย่างหนึ่งหรือทั้งสองอย่างเป็น “จริง”
หากอินพุตทั้งสองเป็น “เท็จ” ผลลัพธ์จะเป็น “เท็จ”
กล่าวอีกนัยหนึ่ง เพื่อให้เอาต์พุตเป็น 1 อย่างน้อยอินพุตหนึ่งหรือสองตัวต้องเป็น 1
OR gate
Input 1 | Input 2 | Output |
1 | 1 | |
1 | 1 | |
1 | 1 | 1 |
( exclusive-OR )
ทำหน้าที่ในลักษณะเดียวกับตรรกะ “either/or
” เอาต์พุตเป็น “จริง” ถ้าอินพุตเป็น “จริง” อย่างใดอย่างหนึ่ง แต่ไม่ใช่ทั้งคู่
เอาต์พุตจะเป็น “เท็จ” หากอินพุตทั้งสองเป็น “เท็จ” หรือถ้าอินพุตทั้งคู่เป็น “จริง”
อีกวิธีในการดูวงจรนี้คือการสังเกตว่าเอาต์พุตเป็น 1 หากอินพุตต่างกัน แต่เป็น 0 หากอินพุตเหมือนกัน
XOR gate
Input 1 | Input 2 | Output |
1 | 1 | |
1 | 1 | |
1 | 1 |
NOT เกท เพื่อแยกความแตกต่างจากอุปกรณ์อินเวอร์เตอร์อิเล็กทรอนิกส์ประเภทอื่น มีเพียงอินพุตเดียว
มันกลับสถานะลอจิก
ถ้าอินพุตเป็น 1 แสดงว่าเอาต์พุตเป็น 0 หากอินพุตเป็น 0 แสดงว่าเอาต์พุตเป็น 1
Inverter or NOT gate
Input | Output |
1 | |
1 |
มันทำหน้าที่ในลักษณะของการดำเนินการทางตรรกะ “และ” ตามด้วยการปฏิเสธ
เอาต์พุตเป็น “เท็จ” หากอินพุตทั้งสองเป็น “จริง”
มิฉะนั้น ผลลัพธ์จะเป็น “จริง”
NAND gate
Input 1 | Input 2 | Output |
1 | ||
1 | 1 | |
1 | 1 | |
1 | 1 |
เอาต์พุตเป็น “จริง” หากอินพุตทั้งสองเป็น “เท็จ”
มิฉะนั้น ผลลัพธ์จะเป็น “เท็จ”
NOR gate
Input 1 | Input 2 | Output |
1 | ||
1 | ||
1 | 1 |
เอาต์พุตจะเป็น “จริง” หากอินพุตเหมือนกัน และ “เท็จ” หากอินพุตต่างกัน
XNOR gate
Input 1 | Input 2 | Output |
1 | ||
1 | ||
1 | ||
1 | 1 | 1 |
ตามทฤษฎีแล้ว ไม่มีการจำกัดจำนวนของเกทที่สามารถจัดเรียงเข้าด้วยกันในอุปกรณ์เครื่องเดียว
แต่ในทางปฏิบัติ มีการจำกัดจำนวนประตูที่สามารถบรรจุลงในพื้นที่ทางกายภาพที่กำหนดได้
อาร์เรย์ของลอจิกเกตพบได้ในไอซีดิจิทัล
เมื่อเทคโนโลยี IC ก้าวหน้าขึ้น ฟิสิคัลวอลุ่มที่จำเป็นสำหรับแต่ละลอจิกเกตจะลดลง และอุปกรณ์ดิจิทัลที่มีขนาดเท่ากันหรือเล็กกว่าจะสามารถดำเนินการที่ซับซ้อนมากขึ้นด้วยความเร็วที่เพิ่มมากขึ้น
องค์ประกอบของลอจิกเกต
เงื่อนไขไบนารีสูงหรือต่ำจะแสดงด้วยระดับแรงดันไฟฟ้าที่แตกต่างกัน สถานะลอจิกของเทอร์มินัลสามารถเปลี่ยนแปลงได้และมักจะเปลี่ยนแปลงเมื่อวงจรประมวลผลข้อมูล ในลอจิกเกตส่วนใหญ่ สถานะต่ำจะอยู่ที่ประมาณศูนย์โวลต์ (0 V) ในขณะที่สถานะสูงจะเป็นบวกประมาณห้าโวลต์ (+5 V)
ลอจิกเกตสามารถทำจาก ตัวต้านทาน และทรานซิสเตอร์หรือไดโอด โดยทั่วไปตัวต้านทานสามารถใช้เป็นตัวต้านทานแบบดึงขึ้นหรือดึงลง ตัวต้านทานแบบดึงขึ้นและดึงลงจะใช้เมื่อมีอินพุตลอจิกเกตที่ไม่ได้ใช้งานเพื่อเชื่อมต่อกับระดับลอจิก 1 หรือ 0 ซึ่งจะป้องกันการสลับเกตที่ผิดพลาด ตัวต้านทานแบบดึงขึ้นเชื่อมต่อกับ Vcc (+5V) และตัวต้านทานแบบดึงลงเชื่อมต่อกับกราวด์ (0 V)
ลอจิกเกตที่ใช้ กันทั่วไปคือ TTL และCMOS TTL หรือ Transistor-Transistor Logic, IC จะใช้ ทรานซิสเตอร์ สอง ขั้ว ชนิด NPN และ PNP CMOS หรือ Complementary Metal – Oxide-Silicon, ICs ถูกสร้างขึ้นจาก MOSFET หรือ JFET ชนิด Field Effect Transistors โดยทั่วไปแล้ว TTL IC อาจถูกระบุว่าเป็นชิปซีรีส์ 7400 ในขณะที่ CMOS ICs มักถูกระบุว่าเป็นชิปซีรีส์ 4000
การสร้าง And Gate ใน Python
ตัวอย่าง
def AND (a, b):
if a == 1 and b == 1:
return True
else:
return False
# main function
if __name__=='__main__':
print(AND(0,0))
print(AND(1,0))
print(AND(0,1))
print(AND(1,1))
เอาต์พุต
False
False
False
True
การสร้าง Or Gate ใน Python
ตัวอย่าง
def OR(a, b):
if a == 1:
return True
elif b == 1:
return True
else:
return False
# main function
if __name__=='__main__':
print(OR(0,0))
print(OR(1,0))
print(OR(0,1))
print(OR(1,1))
เอาต์พุต
False
True
True
True
การสร้าง Not Gate ใน Python
ตัวอย่าง
def NOT(a):
if(a == 0):
return 1
elif(a == 1):
return 0
# main function
if __name__=='__main__':
print(OR(0))
print(OR(1))
เอาต์พุต
True
False
การสร้าง Nand Gate ใน Python
ตัวอย่าง
def NAND (a, b):
if a == 1 and b == 1:
return False
else:
return True
# main function
if __name__=='__main__':
print(NAND(0,0))
print(NAND(1,0))
print(NAND(0,1))
print(NAND(1,1))
เอาต์พุต
True
True
True
False
การสร้าง Nor Gate ใน Python
ตัวอย่าง
def NOR(a, b):
if(a == 0) and (b == 0):
return True
elif(a == 0) and (b == 1):
return False
elif(a == 1) and (b == 0):
return False
elif(a == 1) and (b == 1):
return False
# main function
if __name__=='__main__':
print(NOR(0,0))
print(NOR(1,0))
print(NOR(0,1))
print(NOR(1,1))
เอาต์พุต
True
False
False
False