วงจรลอจิก
แนะนำใหม่| English | ความหมาย |
|---|---|
| logic circuit/ˈlɒdʒɪk ˈsɜːkɪt/ | วงจรลอจิก |
| Boolean expression/ˈbuːlɪən ekˈspreʃn/ | นิพจน์บูลีน |
| problem statement/ˈprɒbləm ˈsteɪtmənt/ | คำอธิบายปัญหา |
| truth table/truːθ ˈteɪbl/ | ตารางความจริง |
| sum of products/sʌm ɒv ˈprɒdʌkts/ | ผลบวกของผลคูณ |
| half adder/hɑːf ˈædə/ | ฮาล์ฟแอดเดอร์ |
เซ็นเซอร์สามตัว เกตสองตัว การตัดสินใจหนึ่งครั้ง
- เตาไมโครเวฟให้ความร้อนก็ต่อเมื่อประตูปิด และ ปุ่มสตาร์ทถูกกด และ ตัวจับเวลายังไม่ถึงศูนย์
- เซ็นเซอร์สามตัวส่งสัญญาณ 0/1 สามชุด เกต AND สองตัวรวมมันเข้าด้วยกันเป็นสัญญาณเดียวเพื่อเปิดแม่เหล็กตรอน เปิดประตูแล้วเอาท์พุตจะลดลงเป็น 0 ทันที
- ระบบป้องกันความปลอดภัยทั้งหมด ระบบเตือนภัย และคำสั่งโปรเซสเซอร์ล้วนเป็นการตัดสินใจแบบเดียวกันนี้ ซึ่งสร้างขึ้นจากเกหก六种ของบทเรียนที่แล้ว
- บทเรียนนี้เกี่ยวกับการสร้างและอ่านวงจรเหล่านั้น และการเปลี่ยนผ่านระหว่างสี่วิธีการเขียนการตัดสินใจเดียวกัน
สี่มุมมองของฟังก์ชันเดียวกัน
- วงจรตรรกะ คือเครือข่ายของเกตที่ดำเนินการตาม นิพจน์布尔
- ฟังก์ชันเดียวกันสามารถเขียนได้เป็น โจทย์ปัญหา เป็นภาษาอังกฤษ, เป็นนิพจน์, เป็นแผนภาพวงจร หรือเป็น ตารางความจริง การสอบขอให้คุณเปลี่ยนผ่านไปในทุกทิศทางระหว่างรูปแบบเหล่านี้
- ข้อสอบเขียนนิพจน์เป็นคำพูด,
X = (A AND NOT B) OR (B AND C), และยอมรับรูปแบบพีชคณิต $X = A\overline{B} + BC$, โดยจุดหรือไม่มีอะไรคือ AND, บวกคือ OR และขีดเหนือคือ NOT ใช้รูปแบบใดที่โจทย์ใช้

เกตเชื่อมต่อกันเพื่อดำเนินการตามนิพจน์布尔หนึ่งตัว
จากนิพจน์สู่วงจร
- วาด เกตหนึ่งตัวต่อแต่ละอ运营商, เริ่มจากวงเล็บด้านในสุด
- สำหรับ
X = (A AND B) OR (NOT C): เกต AND ทางเข้า A และ B, เกต NOT บนสาย C, และเกต OR รวมผลลัพธ์ทั้งสองเข้าด้วยกัน - อินพุตอยู่ทางซ้าย, เอาท์พุตเดียวอยู่ทางขวา, ทุกเส้นจบที่อินพุตของเกตหรือเอาท์พุต, และติดป้ายเอาท์พุตว่า X

เกตหนึ่งตัวสำหรับแต่ละอ运营商ในนิพจน์
วงจรลอจิก
เกตรวมกันเป็นวงจร
แต่ละเกตมีกฎตายตัว; การเชื่อมต่อกันสร้างวงจรได้ทุกชนิด — เริ่มต้นจากเกตเดียว
สำหรับ $X = (A \cdot B) + \overline{C}$ กับ $A=1, B=1, C=1$, ค่าของ $X$ คืออะไร?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
$A \cdot B = 1$, และ $\overline{C} = 0$. $X = 1 + 0 = 1$.
ตัวอย่างวิธีทำ: จากวงจรสู่นิพจน์
- ทำงานจากอินพุตไปข้างหน้าและ ติดป้ายเอาท์พุตกลางทุกจุด
- ในวงจรด้านล่าง, B ผ่านเกต NOT, A และ NOT B_generator เกต AND: ตั้งชื่อเอาท์พุต它为 P, ดังนั้น
P = A AND NOT B. B และ C_generator เกต AND อื่น:Q = B AND C - P และ Q_generator เกต OR, ดังนั้น
X = P OR Q = (A AND NOT B) OR (B AND C) - การติดป้าย P และ Q ไม่ใช่แค่ตกแต่ง มันคือสิ่งที่ทำให้คุณสามารถเติมตารางความจริงทีละเกต

ติดป้ายเอาท์พุตกลางทุกจุดก่อนเขียนนิพจน์
ในวงจรตัวอย่าง เอาต์พุตของเกต AND ตัวที่สองคือ Q = B AND ____
Difficulty 1/5 · 100 coins + a small bonus on first completion today
B และ C ป้อนเข้าเกต AND ด้านล่าง การกำหนดชื่อเอาต์พุตนี้เป็น Q ช่วยให้เติมตารางความจริงได้ทีละเกต
จากวงจรสู่ตารางความจริง
- สำหรับ $n$ อินพุต จะมี $2^{n}$ แถว: อินพุตสองตัวให้ 4, สามตัวให้ 8, สี่ตัวให้ 16 เรียงตามลำดับนับเลขฐานสอง
- เพิ่มคอลัมน์สำหรับ เอาท์พุตกลางทุกจุดHEADER คอลัมน์สุดท้ายด้วย เพื่อให้ตรวจสอบทุกแถวทีละเกต
- เติมคอลัมน์จากซ้ายไปขวา: เริ่มจาก NOT, แล้วแต่ละ AND, แล้ว最后是 OR
ตารางความจริงของวงจรที่มีอินพุต 3 ตัว จะมีกี่แถว?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
$2^n$ แถว; สำหรับ 3 อินพุต, $2^3 = 8$
สำหรับ 4 อินพุตจะมีกี่แถว?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
$2^4 = 16$ แถว
ตัวอย่างวิธีทำ: ตาราง 8 บรรทัด
- วงจรจากตัวอย่างวิธีทำข้างต้น พร้อมคอลัมน์สำหรับ NOT B, P, Q และ X:
| A | B | C | NOT B | P | Q | X |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 1 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 0 | 0 | 1 | 1 |
- X มีค่าเป็น 1 ในสี่บรรทัดจากแปดบรรทัด ตรวจสอบบรรทัดใดบรรทัดหนึ่งเทียบกับนิพจน์: บรรทัดที่ 1 0 0 มี A = 1 และ NOT B = 1 ดังนั้น P = 1 ดังนั้น X = 1
สำหรับ X = (A AND NOT B) OR (B AND C), แถวอินพุตใดให้ X = 1? เลือก ทุก ข้อที่ถูกต้อง
Difficulty 2/5 · 140 coins + a small bonus on first completion today
แถว 011 ทำให้ Q = 1; แถว 100 ทำให้ P = 1; ในแถว 110, B = 1杀死 P และ C = 0杀死 Q; ในแถว 001 ทั้งสองพจน์เป็น 0
ตารางความจริงสู่สูตร: ผลรวมของผลคูณ
- ผลรวมของผลคูณ: สำหรับแต่ละบรรทัดที่มีผลลัพธ์เป็น 1 ให้เขียน AND ของอินพุต โดยใส่ NOT ที่อินพุตใดมีค่าเป็น 0 ในบรรทัดนั้น จากนั้นนำพจน์เหล่านี้มา OR รวมกัน
- ตารางที่เป็น 1 เฉพาะใน (A = 0, B = 1) และ (A = 1, B = 0) จะให้
(NOT A AND B) OR (A AND NOT B)ซึ่งตรงกับ A XOR B พอดี - ทำให้ง่ายก็ต่อเมื่อโจทย์ต้องการ; ผลรวมของผลคูณที่ยังไม่ทำให้ง่ายก็ได้รับคะแนน
ในวิธีผลรวมของผลคูณ (sum-of-products), สำหรับแต่ละแถวที่เอาต์พุตเป็น 1 คุณเขียน:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
แต่ละแถวที่มีค่า 1 กลายเป็นเทอม AND (ไม่รวมอินพุตที่เป็น 0); จากนั้นนำเทอมเหล่านี้มา OR กันทั้งหมด
ในผลรวมของผลคูณ คุณนำเทอม AND มา OR กันสำหรับแต่ละแถวที่เอาต์พุตเป็น 1
Difficulty 1/5 · 100 coins + a small bonus on first completion today
แต่ละแถวที่เอาต์พุตเป็น 1 กลายเป็นเทอม AND (ทำ NOT กับอินพุตที่เป็น 0); การ OR เทอมเหล่านี้เข้าด้วยกันจะได้สมการที่ให้เป็น 1 เฉพาะในแถวนั้นเท่านั้น
Half adder
- การบวกบิตสองตัวจะได้บิต ผลรวม และบิต การถ่วงหน้า: 1 + 1 = 10 ในระบบเลขทศนิยมสอง
- คอลัมน์ผลรวมคือ 0, 1, 1, 0 ซึ่งเป็น XOR คอลัมน์การถ่วงหน้าคือ 0, 0, 0, 1 ซึ่งเป็น AND เกทสองตัวประกอบเป็น half adder
- นี่คือตัวอย่างมาตรฐานของการอ่านเกตจากตารางความจริง และเป็นส่วนแรกหน่วยคำนวณของโปรเซสเซอร์ทุกเครื่อง
คู่อินพุตแต่ละคู่ไหลผ่านเกต: XOR ให้ผลรวม AND ให้การถ่วงหน้า ดังนั้น 1 + 1 = 10
Half adder
เชื่อม XOR และ AND เข้ากับอินพุต 2 ตัวเดียวกัน: XOR ให้บิตผลบวก AND ให้ carry คลิก A และ B
ใน Half adder, เกตใดผลิตค่า carry bit?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
carry เป็น 1 ก็ต่อเมื่อทั้งสองบิตเป็น 1 ซึ่งเป็น AND ผลบวกเป็น 1 เมื่อบิตต่างกัน ซึ่งเป็น XOR
จากโจทย์ปัญหา
- แปลงภาษาอังกฤษเป็น Boolean ทีละclause ก่อนวาดสิ่งใด
- "A และ B" คือ
A AND B. "A หรือ B, หรือทั้งสองอย่าง" คือA OR B. "มีเพียงอย่างใดอย่างหนึ่งเท่านั้น ของ A และ B" คือA XOR B. - "ไม่ใช่ A และ ไม่ใช่ B" คือ
A NOR B. "ไม่ทั้งสองอย่าง" คือA NAND B. คำว่า "unless" (ยกเว้นแต่) มักหมายถึง AND NOT (และไม่ใช่)
จับคู่ประโยคภาษาอังกฤษแต่ละตัวกับเกตเดียวที่นำไปใช้
Difficulty 2/5 · 140 coins + a small bonus on first completion today
both = AND, differ = XOR, neither = NOR, not-both = NAND
ตัวอย่างวิธีทำ: เสียงเตือนของเครื่องจักร
- เสียงเตือน Xดังเมื่อประตูรักษาความปลอดภัยเปิด (A = 1) และ ทั้งมอเตอร์กำลังทำงาน (B = 1) หรืออุณหภูมิสูง (C = 1)
- "B หรือ C อย่างใดอย่างหนึ่ง" คือ
B OR C. "A และสิ่งนั้น" คือX = A AND (B OR C).เครื่องหมายวงเล็บรอบ OR นั้นจำเป็นมาก - X = 1 ต้องมี A = 1 และมีอย่างน้อยหนึ่งใน B, C เท่ากับ 1: บรรทัด (1, 0, 1), (1, 1, 0) และ (1, 1, 1) สามบรรทัดจากแปดบรรทัด และ A = 0 ไม่สามารถส่งเสียงเตือนได้
- วงจรนี้เป็นประตู OR บน B และ C ที่ส่งสัญญาณเข้าประตู AND ร่วมกับ A
สำหรับสัญญาณเตือน X = A AND (B OR C), สัญญาณเตือนดังได้เมื่อ A = 0 ตราบเท่าที่ B และ C เป็น 1
Difficulty 1/5 · 100 coins + a small bonus on first completion today
AND กับ A หมายความว่า A = 1 จำเป็นต้องอยู่ในทุกแถวที่ X = 1 หาก A = 0 ผลลัพธ์จะเป็น 0 ไม่ว่า B และ C จะทำอย่างไรก็ตาม
คะแนนที่หลุดหายไป
A AND B OR Cโดยไม่มีวงเล็บมีความกำกวม และผู้สอบจะตีความว่าคุณไม่ได้ตั้งใจใช้แบบนั้น ให้วางวงเล็บรอบ OR ก่อนนำไป AND- สายไฟที่ไม่เชื่อมอะไร หรือเอาต์พุตที่ไม่มีป้ายชื่อ จะเสียคะแนนวงจรแม้เกตจะถูกต้องก็ตาม
- NOT ที่อินพุตคือเกตบนแผนภาพ ไม่ใช่ขีดเส้นใต้เหนือตัวอักษร
- สามอินพุตหมายความว่าแปดบรรทัด ตารางที่มีบรรทัดน้อยกว่านี้ไม่สามารถให้คะแนนว่าเป็นตารางสมบูรณ์ได้
คุณเข้าใจแล้ว
- สูตร → วงจร: เกทหนึ่งตัวต่อหนึ่ง operator, วงเล็บด้านในสุดก่อน, อินพุตซ้าย, เอาต์พุตที่มีป้ายชื่อขวา
- วงจร → สูตร: ป้ายชื่อเอาต์พุตกลาง (P, Q) และรวม; วงจร → ตารางจริง: $2^{n}$ บรรทัดพร้อมคอลัมน์สำหรับแต่ละเกต
- ตารางจริง → สูตร: ผลรวมของผลคูณ, AND-term หนึ่งตัวต่อแต่ละบรรทัดที่มี output-1, OR รวมกัน; XOR + AND ทำให้เกิด half adder
- ปัญหา → Boolean: Exactly one = XOR, Neither = NOR, Not both = NAND; วางวงเล็บรอบ OR ภายใน AND