ในบทช่วยสอนก่อนหน้าของ Half Subtractor Circuit เราได้เห็นวิธีที่คอมพิวเตอร์ใช้เลขฐานสองบิตเดียว 0 และ 1 สำหรับการลบและสร้าง Diff และ Borrow bit วันนี้เราจะได้เรียนรู้เกี่ยวกับการก่อสร้างของแบบตัวลบวงจร
วงจรลบแบบเต็ม
วงจรHalf-Subtractorมีข้อเสียเปรียบที่สำคัญ เราไม่มีขอบเขตในการให้ ยืมเป็น บิตสำหรับการลบใน Half-Subtractor ในกรณีของการสร้างSubtractor แบบเต็มเราสามารถทำการ Borrow ในอินพุตในวงจรและสามารถลบด้วยอินพุต A และ B อื่น ๆ อีกสองอินพุตดังนั้นในกรณีของวงจร Subtractor แบบเต็มเรามีอินพุตสามตัว A ซึ่งเป็น minuend, B ซึ่งเป็นลบและยืมเข้า ในด้านอื่น ๆ ที่เราได้รับสองผลลัพธ์สุดท้าย, Diff (แตกต่าง) และยืมออก
เราใช้วงจร Subtractor ครึ่งตัวสองตัวโดยมีการเพิ่ม OR gate และรับวงจร Subtractor แบบสมบูรณ์แบบเดียวกับ Full Adder Circuit ที่เราเคยเห็นมาก่อน
มาดูแผนภาพบล็อก
ในภาพด้านบนแทนที่จะเป็นแผนภาพบล็อกจะแสดงสัญลักษณ์จริง ในก่อนหน้าครึ่งตัวลบกวดวิชาที่เราได้เห็นตารางความจริงของทั้งสองประตูตรรกะซึ่งมีตัวเลือกอินพุตสองแฮคเกอร์และNAND ประตู นี่คือประตูเสริมเพิ่มเข้ามาในวงจร, หรือประตูวงจรนี้คล้ายกันมากกับวงจรfull-adderโดยไม่มีประตู NOT
ตารางความจริงของวงจรตัวลบแบบเต็ม
เนื่องจากวงจร Subtractor แบบเต็มจัดการกับอินพุตสามตัวตาราง Truthยังได้รับการอัปเดตด้วยคอลัมน์อินพุตสามคอลัมน์และคอลัมน์เอาต์พุตสองคอลัมน์
ยืม | อินพุต A | อินพุต B | DIFF | ยืมออก |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
เรายังสามารถแสดงการสร้างวงจร Subtractor แบบเต็มในนิพจน์บูลีน
สำหรับกรณีของ DIFF ที่เรา XOR แรก A และ B การป้อนข้อมูลแล้วเราอีกครั้งแฮคเกอร์เอาท์พุทที่มีการยืมใน ดังนั้นความแตกต่างคือ (A XOR B) XOR Borrow in เรายังสามารถแสดงออกด้วย:
(A ⊕ B) ⊕ยืมค่ะ
ตอนนี้สำหรับการยืมออกมันคือ:
ซึ่งสามารถแสดงเพิ่มเติมได้ด้วย
Cascading Subtractor Circuits
ณ ตอนนี้เราได้อธิบายการสร้างวงจรตัวลบเต็มบิตเดียวพร้อมลอจิกเกต แต่ถ้าเราต้องการลบสองตัวเลขมากกว่าหนึ่งบิตล่ะ?
นี่คือข้อดีของวงจร Subtractor แบบเต็ม เราสามารถเรียงวงจร Subtractor แบบเต็มบิตเดียวและสามารถลบเลขฐานสองสองบิตได้
ในกรณีเช่นนี้สามารถใช้วงจรฟูลแอดเดอร์แบบเรียงซ้อนกับ NOT gates ได้ เราสามารถใช้วิธีการชมเชย 2 และเป็นวิธีที่นิยมในการแปลงวงจรแอดเดอร์เต็มให้เป็นตัวลบเต็ม ในกรณีเช่นนี้โดยทั่วไปเราจะแปลง Logic ของอินพุตลบของ adder เต็มโดยอินเวอร์เตอร์หรือ NOT gate ด้วยการเพิ่ม อินพุตที่ไม่กลับด้าน นี้ (Minuend) และ Inverted Input (Subtrahend) ในขณะที่อินพุตพกพา (LSB) ของวงจรแอดเดอร์เต็มอยู่ใน Logic High หรือ 1 เราจะลบไบนารีสองตัวนั้นด้วยวิธีการเสริมของ 2 ผลลัพธ์จาก Full-adder (ซึ่งตอนนี้เป็น Subtractor แบบเต็ม) คือบิต Diff และถ้าเราสลับการดำเนินการเราจะได้ Borrow bit หรือ MSB เราสามารถสร้างวงจรและสังเกตผลลัพธ์ได้
การสาธิตเชิงปฏิบัติของวงจรตัวลบแบบเต็ม
เราจะใช้ชิปลอจิกแอดเดอร์เต็ม 74LS283N และไม่ใช่เกต IC 74LS04 ส่วนประกอบที่ใช้ -
- สวิตช์จุ่ม 4 พิน 2 ชิ้น
- ไฟ LED สีแดง 4 ชิ้น
- ไฟ LED สีเขียว 1 ชิ้น
- ตัวต้านทาน 4.7k 8 ชิ้น
- 74LS283N
- 74LS04
- ตัวต้านทาน 1k 13 ชิ้น
- เขียงหั่นขนม
- การเชื่อมต่อสายไฟ
- อะแดปเตอร์ 5V
ในภาพด้านบน74LS283Nแสดงทางด้านซ้ายและ74LS04อยู่ทางขวา 74LS283N เป็นชิป Subtractor TTL 4 บิตเต็มรูปแบบพร้อมคุณสมบัติ Carry look forward และ 74LS04 คือ NOT gate IC มีประตูไม่หกบานอยู่ข้างใน เราจะใช้ห้าตัว
แผนภาพขาจะแสดงในวงจร
Circuit Diagram เพื่อใช้ IC เหล่านี้เป็นวงจร Full-Subtractor
- แผนภาพพินของ IC 74LS283N และ 74LS04 จะแสดงในแผนผังด้วย Pin 16 และ Pin 8 คือ VCC และ Ground ตามลำดับ
- 4 ประตูอินเวอร์เตอร์หรือประตูไม่เชื่อมต่อผ่านพิน 5, 3, 14 และ 12 พินเหล่านี้คือหมายเลข 4 บิตแรก (P) โดยที่พิน 5 คือ MSB และพิน 12 คือ LSB
- ในทางกลับกันพิน 6, 2, 15, 11 คือหมายเลข 4 บิตที่สองโดยที่พิน 6 คือ MSB และพิน 11 คือ LSB
- Pin 4, 1, 13 และ 10 คือเอาต์พุต DIFF พิน 4 คือ MSB และพิน 10 คือ LSB เมื่อไม่มีการยืมออก
- SW1 คือ subtrahend และ SW2 คือ Minuend เราเชื่อมต่อ Carry in pin (Pin 7) กับ 5V เพื่อทำให้ Logic High จำเป็นสำหรับส่วนเสริม 2
- ใช้ตัวต้านทาน 1k ในพินอินพุตทั้งหมดเพื่อให้ตรรกะ 0 เมื่อสวิตช์ DIP อยู่ในสถานะปิด เนื่องจากตัวต้านทานเราสามารถเปลี่ยนจากลอจิก 1 (บิตไบนารี 1) เป็นลอจิก 0 (บิตไบนารี 0) ได้อย่างง่ายดาย เราใช้แหล่งจ่ายไฟ 5V
- เมื่อสวิตช์ DIP เปิดอยู่พินอินพุตจะลัดวงจรด้วย 5V ทำให้สวิตช์ DIP เหล่านั้นมีลอจิกสูง เราใช้ไฟ LED สีแดงเพื่อแสดงบิต DIFF และไฟ LED สีเขียวสำหรับการยืมบิต
- ตัวต้านทาน R12 ที่ใช้สำหรับดึงขึ้นเนื่องจาก 74LS04 ไม่สามารถจ่ายกระแสไฟได้เพียงพอที่จะขับเคลื่อน LED นอกจากนี้พิน 7 และพิน 14 ตามลำดับกราวด์และขา 5V ของ 74LS04 เราต้องแปลงบิต Borrow out ที่มาจาก Full-adder 74LS283N
ตรวจสอบวิดีโอสาธิตเพื่อความเข้าใจเพิ่มเติมด้านล่างซึ่งเราได้แสดงการลบเลขฐานสอง 4 บิตสองตัว
ตรวจสอบวงจรลอจิกรวมก่อนหน้าของเราด้วย:
- วงจร Half Adder
- วงจรแอดเดอร์เต็ม
- วงจรลบครึ่งหนึ่ง