เหตุใดจึงใช้ประตู NAND เพื่อสร้างและประตูในคอมพิวเตอร์


41

ทำไมนี่เป็นมาตรฐานสำหรับและประตู

ป้อนคำอธิบายรูปภาพที่นี่

เมื่อมันสามารถสร้างด้วย FET สองตัวและตัวต้านทานแทนได้หรือไม่

ป้อนคำอธิบายรูปภาพที่นี่


21
NAND (และ NOR) เสร็จสมบูรณ์ตามหน้าที่ความหมายหมายถึงฟังก์ชันทางตรรกะใด ๆ ที่สามารถนำไปใช้งานได้โดยใช้เพียง NAND (หรือ NOR) ซึ่งทำให้มันเป็นชุดการสร้างที่สะดวกมากสำหรับทุกสิ่ง ไม่แน่ใจว่าเป็นเหตุผลเดียว (และหลัก)
ยูจีน Sh.

1
ในทางเทคนิคคุณสามารถทำสิ่งที่คุณกำลังเสนอถ้าคุณจำไว้ว่า (เอาต์พุตสูง) จะลดลงประมาณแรงดันเกณฑ์ของ MOSFET ลองนึกถึงการคำนึงถึงมันโดยใช้ทรานซิสเตอร์ 1 พันล้านตัว ... - คุณต้องจำไว้เพื่อที่คุณจะได้ไม่โยงมัน VOH
Harry Svensson

26
ในบริบทของการออกแบบ IC ตัวต้านทานจะมีขนาดใหญ่กว่าทรานซิสเตอร์ และการสลายตัวที่เกิดขึ้นจากตัวต้านทานเมื่อออกแบบ IC ที่มีความหนาแน่นสูงทำให้ตัวต้านทานไม่พึงประสงค์เป็นส่วนประกอบของประตูตรรกะ
mkeith


4
ดูเหมือนจะมีสองคำถามที่นี่ “ ทำไมเราไม่ใช้ตัวต้านทานแบบดึงลงแทนที่จะเป็นทรานซิสเตอร์พิเศษสองตัวเช่นประตู nand” และ“ ทำไมเราใช้ทรานซิสเตอร์สองตัวเพิ่มเพื่อกลับด้านแทนที่จะสร้างประตูที่ไม่กลับด้านในตอนแรก สถานที่?”
ctrl-alt-delor

คำตอบ:


67

ในการรับการดำเนินการที่ไม่กลับด้านสำหรับตรรกะ (เช่น AND หรือ OR เทียบกับ NAND หรือ NOR) คุณจะต้องใช้งานทรานซิสเตอร์ในโหมด Common-drain ซึ่งเรียกอีกอย่างว่าโหมด "แหล่งผู้ติดตาม"

ท่ามกลางปัญหากับโหมดนี้สำหรับตรรกะ:

  • ไม่มีเกจแรงดันไฟฟ้า หลังจากผ่านไปสองสามขั้นตอนสัญญาณก็จะไม่เหลืออะไรเลย
  • มีออฟเซ็ตที่สำคัญ (เรียกว่าแรงดันขีด จำกัด ) ระหว่างอินพุตและเอาต์พุต เอาต์พุตระดับสูงจะต่ำกว่าอินพุตระดับสูงที่สอดคล้องกัน

เมื่อรวมกันแล้วปัญหาเหล่านี้หมายความว่าคุณไม่สามารถเชื่อมต่อเอาท์พุทของเกตนี้ไปยังอินพุตของสำเนาอื่นได้ สิ่งนี้ทำให้มันค่อนข้างไร้ประโยชน์ในการสร้างวงจรที่ซับซ้อนมากขึ้น

นี่คือเหตุผลที่ตระกูลตรรกะที่ประสบความสำเร็จทั้งหมด1สร้างขึ้นโดยใช้ทรานซิสเตอร์ในโหมด Common-Source (หรือ Common-emitter) ซึ่งมีแรงดันไฟฟ้าที่เพิ่มขึ้นอย่างมากและไม่มีออฟเซ็ตสะสมระหว่างอินพุตและเอาต์พุต - แต่เอาต์พุตกลับด้านด้วยอินพุต ดังนั้นฟังก์ชั่นพื้นฐานรวมถึงการผกผัน: NAND หรือ NOR

โบนัสประตู NAND และ NOR เป็น "การทำงานอย่างสมบูรณ์" ซึ่งหมายความว่าคุณสามารถสร้างฟังก์ชั่นลอจิกใด ๆ ได้เลย (รวมถึงองค์ประกอบที่เก็บข้อมูลเช่นแลตช์และรองเท้าแตะ) จากประตู NAND ทั้งหมดหรือประตู NOR ทั้งหมด


1เพื่อระบุตระกูลตรรกะที่ใช้แรงดันไฟฟ้าเป็นสถานะลอจิก ซึ่งรวมถึง RTL, DTL, TTL, PMOS, NMOS และ CMOS ตระกูลโลจิกโหมดปัจจุบันเช่นECLใช้การรวมกันของผู้ติดตาม emitter และทรานซิสเตอร์ทั่วไปเพื่อบรรลุจุดสิ้นสุดเดียวกันในขณะที่หลีกเลี่ยงความอิ่มตัว (สำหรับความเร็ว)


2
คำถามข้างเคียงที่น่าสนใจคือทำไมเราไม่ใช้สิ่งนี้กับทุก ๆ
โจชัว

2
@ โจชัว: ฉันไม่แน่ใจว่าสิ่งที่ "นี่" หมายถึง แต่ถ้ามันเป็นตรรกะโหมดปัจจุบันก็มีจำนวนมากที่จะทำกับการใช้พลังงานคงที่รัฐต่อประตูที่ค่อนข้างใหญ่
Dave Tweed

@DaveTweed ฉันเชื่อว่า Joshua หมายถึงสิ่งนี้: ทำสิ่งที่ OP เสนอโดยมี 2 NMOS เป็นผู้ติดตามแรงดันไฟฟ้า (ไม่มีการเพิ่มแรงดันไฟฟ้า) และในขั้นต่อไปของตรรกะใด ๆ ก็ตามที่กำลังถูกใช้งานคุณใช้แรงดันไฟฟ้าสูง ดังนั้นคุณเลือกสลับระหว่าง "ผู้ติดตามแรงดันไฟฟ้า" / "อินเวอร์เตอร์บางแห่งที่อื่น" - คำถามของ Joshua คือสาเหตุที่ไม่ได้ใช้การออกแบบ (ผู้ติดตาม / อินเวอร์เตอร์สำรอง) โดยเฉพาะ - บางทีความคิดเห็นของคุณอาจถูกกำหนดเป็นอย่างนั้นฉันมีปัญหาในการทำความเข้าใจ / ใช้เหตุผลในการตอบกลับของคุณ
Harry Svensson

@HarrySvensson: คุณอาจพูดถูก ฉันก็ไม่แน่ใจเหมือนกันว่าโจชัวแปลว่า "ประตูทุกบาน" แต่ฉันตัดสินใจที่จะแทงในที่มืด เนื่องจากเขาไม่เคยกลับมาชี้แจงเราจึงไม่มีทางรู้แน่
Dave Tweed

2
@HarrySvensson คุณทำและ DaveTweed ได้พูดไปแล้วว่ามีอะไรผิดปกติ
Joshua

24

สิ่งที่คุณอธิบายเป็นตรรกะ PMOS มีข้อเสียอย่างมีนัยสำคัญบางส่วนเหนือ CMOS:

  • หากค่าของตัวต้านทานต่ำเกตจะใช้พลังงานสถิตย์จำนวนมากเมื่อเกตทำงาน CMOS เกตใช้พลังงานเป็นหลักไม่มีพลังงานเมื่อพวกเขาไม่ได้สลับอย่างแข็งขัน

  • หากค่าของตัวต้านทานสูงประตูจะปิดช้าเนื่องจากความจุของประตูใด ๆ ที่ขับเคลื่อนด้วยเอาต์พุตจะต้องถูกปล่อยผ่านตัวต้านทาน นอกจากนี้ตัวต้านทานที่มีมูลค่าสูงจะกินพื้นที่มากกว่าชุดทรานซิสเตอร์เสริม

  • สำหรับเหตุผลที่กระบวนการที่เกี่ยวข้องกับการ PMOS มีประสิทธิภาพน้อยกว่าผกผัน - ตรรกะ NMOS


4
ไม่ OP กำลังแสดงทรานซิสเตอร์ N-channel ล้มเหลวด้วยเหตุผลที่แตกต่างอย่างสิ้นเชิง
Dave Tweed

3
@DaveTweed ฉันทำงานภายใต้สมมติฐานว่าส่วนนั้นเป็นข้อผิดพลาดในการร่าง หากคุณต้องการอธิบายสิ่งที่พวกเขาทำผิดในคำตอบแยกต่างหากนั่นอาจเป็นประโยชน์เช่นกัน
duskwuff

5
มันควรจะยังคงชัดเจน - ถ้าเป็นทรานซิสเตอร์แบบ P-channel มันจะใช้ฟังก์ชั่น NOR ไม่ใช่ AND
Dave Tweed

4
จำนวนการ upvotes คำตอบนี้ทำให้ฉันสับสนอย่างมาก
Harry Svensson

3
@HarrySvensson อาการเครือข่ายคำถามร้อนแรง น้ำท่วมของผู้ใช้ทั่วทั้งไซต์ที่มี 101 ตัวแทนที่มีความรู้เกี่ยวกับโดเมนเพียงเล็กน้อยและสามารถupvoteเท่านั้นไม่ใช่ downvote แสดงสถิติจำนวนมากในเว็บไซต์ขนาดเล็กเช่นนี้
ท่อ

22

เหตุผลที่ฉันไม่คิดว่ามีใครพูดถึง: ข้อ จำกัด ด้านเทคโนโลยี:

  1. ตัวต้านทานบนชิปมีขนาดใหญ่เมื่อเทียบกับทรานซิสเตอร์ เพื่อให้ได้ค่าที่เหมาะสมเรากำลังพูดถึงคำสั่งของขนาดใหญ่กว่าทรานซิสเตอร์ที่เล็กที่สุด กล่าวอีกนัยหนึ่งถัดจากข้อดีอื่น ๆ ทั้งหมดที่คุณได้รับจาก CMOS ที่เหมาะสม (กระแสคงที่ระดับไดรฟ์การแกว่งเอาต์พุต) นอกจากนี้ยังมีราคาถูกกว่ามาก

  2. การจัดรูปแบบ: ทรานซิสเตอร์บนลอจิกสามารถมีขนาดเล็กได้เนื่องจากมีการจัดรูปแบบซ้ำ ๆ กัน นอกจากนี้ยังช่วยให้พวกเขาได้รับผลตอบแทนที่สูงขึ้นและมีประสิทธิภาพที่สอดคล้องกันมากขึ้น การโยนตัวต้านทานเข้าไปทำลายสิ่งนี้

  3. ความจุ: ข้อ จำกัด ของความเร็วในระบบลอจิกคือความจุของขั้นตอนต่อไป ความจุที่มากขึ้นหมายถึงการทำงานที่ช้าลง (ประสิทธิภาพน้อยลง) หรือความต้องการไดรฟ์ที่มากขึ้น (ทรานซิสเตอร์ขนาดใหญ่, พื้นที่มากขึ้น, กระแสคงที่มากขึ้น, การใช้พลังงานมากขึ้น, ความจุมากขึ้นที่นำเสนอไปยังระยะก่อนหน้า) ตัวต้านทานขนาดใหญ่อาจให้ความจุมากขึ้นในการชาร์จเนื่องจากมันใช้พื้นที่ขนาดใหญ่ทางกายภาพ ซึ่งอาจส่งผลกระทบต่อประสิทธิภาพการทำงาน

บางครั้งก็ทำในเทคโนโลยีพิเศษอื่น ๆ ที่คุณอาจไม่มีทรานซิสเตอร์ลอจิกที่ดี (สำหรับการใช้งานแบบอะนาล็อก / RF)


8

ลอจิกของตัวต้านทานทรานซิสเตอร์เป็นสนามของความรู้ คุณสมบัติของประตูลอจิกที่พึ่งพาตัวต้านทานนั้นแตกต่างจากคุณสมบัติของที่ใช้ตัวต้านทาน สำหรับหนึ่งตัวต้านทานแบบเลื่อนลงซึ่งเก็บไว้ในสถานะสูงจะกระจายอำนาจอย่างต่อเนื่อง นี่อาจเป็นปัญหาสำหรับการออกแบบด้วยแบตเตอรี่หรือความหนาแน่นสูง เช่นเดียวกับวิธีอื่น ๆ (สำหรับ pulldowns ที่มีระดับต่ำ)

พื้นที่อื่นที่มีความแตกต่างใหญ่คือความเร็วและแรงขับ โครงสร้างเอาต์พุตแบบพุช - พูลที่ใช้ใน CMOS สามารถสลับได้อย่างรวดเร็วโดยไม่กระจายอำนาจเมื่อเกิดไฟฟ้า

โปรดทราบว่าวงจรที่คุณวาดจะไม่ทำงานเลย คุณไม่สามารถใส่ NMOS ในสาขาด้านบนเว้นแต่ว่าแรงดันไฟฟ้าอินพุตสูงกว่า VCC ถ้าเอาท์พุทมีภาระมากวงจรของคุณจะไม่สามารถขับได้ทุกที่ใกล้กับ VCC มันอาจจะไม่สูงพอที่จะรับรู้ว่า "สูง" โดยบางประตูตรรกะ

นี่ไม่ใช่แค่ nitpick ตามที่ปรากฎมันเป็นเรื่องยากมากที่จะสร้างบางสิ่งบางอย่างที่สลับไปมาระหว่างรถไฟกับรถไฟในขั้นตอนเดียวเว้นแต่ว่ามันจะกลับด้านในธรรมชาติ (เหมือน NAND และ NOR) และนี่คือเหตุผลที่แท้จริงว่าทำไม AND ประตูจึงใช้ NAND ตามด้วย NOT (อินเวอร์เตอร์) ไม่มีใครในโลกที่รู้วิธีในการสร้าง CMOS และเกทวัตถุประสงค์ทั่วไปที่มีทรานซิสเตอร์น้อยกว่า 6 ตัว เช่นเดียวกับ OR


ไม่ใช่เรื่องแปลกในอุปกรณ์ NMOS 5 โวลต์ที่จะสลับสัญญาณด้านสูงโดยใช้ทรานซิสเตอร์ NMOS โดยไม่มีแหล่งที่มาของเกตด้านบน VDD เกณฑ์การเปลี่ยนอยู่ต่ำกว่า 2.4 โวลต์ดังนั้นจึงมีความเป็นไปได้ที่จะเกิดการดึงขึ้นซึ่งจะเพิ่มโหนดเป็น 4 โวลต์จากนั้นใช้เพื่อดำเนินการเกทของทรานซิสเตอร์แบบพาส การลงทะเบียนการเปลี่ยนแปลงแบบไดนามิกที่มีอยู่ในชิป TIA ของ Tari Atari 2600 ถูกนำมาใช้ในแบบนั้น
supercat

ขอบคุณ @supercat ฉันไม่รู้ เห็นได้ชัดว่ามีข้อ จำกัด มากมาย และมันก็ไม่ได้เปลี่ยนความจริงที่ว่าวงจรของ OP ไม่ใช่วัตถุประสงค์ทั่วไปและเกท มันอาจใช้ได้กับโหลดที่ไม่ต้องการอินพุตใกล้กับ VCC
mkeith

6

เหตุผลสำคัญในตรรกะ TTL และฉันอยากจะแนะนำในตระกูลลอจิกส่วนใหญ่ก็คือองค์ประกอบที่ได้รับจะกลับหัวกลับหาง เพื่อให้ได้ผลลัพธ์ที่ไม่มีการแปลงกลับที่มีคุณสมบัติไดรฟ์ที่ดีต้องมีอินเวอร์เตอร์เพิ่มเติม

อินเวอร์เตอร์นี้เป็นสิ่งที่ไม่ดี

  • มันใช้พลังงาน
  • มันช้าฟังก์ชั่นตรรกะ
  • โดยปกติแล้วคุณไม่สนใจเกี่ยวกับการผกผันและบางครั้งคุณต้องการมัน

เนื่องจากเรามักจะต่อสู้ด้วยความเร็วด้วยประตูที่ไม่ต่อเนื่อง (หรือเมื่อพวกเขาเป็นตัวเลือกเดียว) การคว่ำประตูเข้าไปควบคุมวันนั้น ประตูที่ไม่กลับด้านนั้นมีให้บริการ (เปรียบเทียบ 7400 กับ 7408)

แบบอย่างที่หลักนี้เป็นประตูหรือคว่ำ สำหรับหมายเลข TTL ทั่วไปการหน่วงเวลาการแพร่กระจายจะเหมือนกับ NAND และ NOR แต่มีตรรกะสองระดับ


6

ข้อดีของการใช้การออกแบบ CMOS มีมากมาย:

  1. ในตรรกะ NMOS ที่คุณอธิบายถ้าเอาท์พุทสูง (อินพุตทั้งสองสูง) จะมีเส้นทางตรง (ตัวต้านทาน) สำหรับการไหลของกระแส ดังนั้นในกรณีนั้นประตูจะใช้พลังงานจำนวนมาก (V ^ 2 / R) แม้ในสภาวะคงที่ ใน CMOS อย่างไรก็ตามกระแสสามารถไหลได้เมื่อเปิดทรานซิสเตอร์ทั้ง 4 ตัวเท่านั้น (เช่น: เมื่อเกตสลับ)
  2. โดยทั่วไปแล้วความต้านทานจะทำได้ยากมากในซิลิคอนและกินพื้นที่ชิปจำนวนมาก ค่าความต้านทานที่แม่นยำนั้นไม่สามารถทำได้จริง
  3. ในตรรกะ NMOS แรงดันเอาต์พุตอาจไม่ถึงค่าสูงสุด (+ 5V) เพราะหลังจากถึงค่าต่ำสุดแล้วทรานซิสเตอร์จะเริ่มปิดสวิตช์ (ดังนั้นจึงปิดสาขาการชาร์จ) สิ่งนี้แปลโดยตรงเพื่อลดระยะขอบของเสียง
  4. ลอจิกแบบ CMOS สามารถใช้ง่ายมากในการสร้างวงจรใด ๆ ที่มีจำนวนทรานซิสเตอร์น้อยมากใช้พลังงานต่ำและทำงานด้วยความเร็วสูง เช่นนี้การทำให้ส่วนหนึ่งของวงจรเป็น NMOS (ที่มีโหลดตัวต้านทาน) นั้นยุ่งยากและไม่มีประสิทธิภาพมาก

ดังนั้นเกท NAND ตามด้วยอินเวอร์เตอร์จึงใช้เพื่อออกแบบเกทและ


จุดที่ 1 แสดงให้เห็นว่าทำไม NMOS จึงต้องการพลังงานมากกว่า CMOS
Camille Goudeseune

4

การสร้าง AND จาก NAND อนุญาตให้หนึ่งใช้ขนาดเกตน้อยที่สุดสำหรับตรรกะและขนาดทรานซิสเตอร์สอง (และสองเท่านั้น) ในอินเวอร์เตอร์เพื่อขับเคลื่อนสาย สิ่งนี้จะช่วยเพิ่มความเร็วและลดการสูญเสียพลังงานให้น้อยที่สุดโดยใช้พื้นที่เพียงเล็กน้อยสำหรับทรานซิสเตอร์เพิ่มเติม (การบัญชีสำหรับขนาดของตัวต้านทานที่จำเป็นในการขับเคลื่อนสายในแอปพลิเคชันที่ต้องการ)

นอกจากนี้เพื่อแบ่งปันสติปัญญาที่ฉันได้เรียนรู้ในวิทยาลัย (เมื่อนานมาแล้วในกาแลคซีไกลแสนไกล ... ): เราเคยสนุกกับการนำเสนอเกี่ยวกับตรรกะของแถวลำดับประตู ในตอนท้ายนักเรียนถามว่าทำไมวิศวกรควรใส่ใจลดจำนวนประตู NAND ที่ใช้เมื่อประตู NAND ทั้งหมดเหล่านั้นอยู่บนชิปตั้งแต่แรก? คำตอบของผู้นำเสนอติดกับฉันเป็นเวลา 30 ปี: เพราะถ้าเราทำไม่ได้คู่แข่งของเราจะ

หากคู่แข่งของคุณสามารถสร้างวงจรที่เร็วขึ้นและมีประสิทธิภาพมากขึ้นโดยไม่มีความแตกต่างที่เห็นได้ในต้นทุนการใช้ตัวต้านทานเป็นข้อผิดพลาดทางการค้าไม่ใช่แค่ความผิดพลาดทางวิศวกรรม


2

สัญญาณลอจิกที่ผ่านประตูไม่ขยายจะสิ้นสุดลงอย่างมีนัยสำคัญอ่อนแอกว่ามันจะเริ่มต้นด้วย ในขณะที่บางคนอาจรวมถึงประตูที่ไม่มีการกลับด้านและ AND ภายในชิป แต่ประตูที่ป้อนโดยเอาต์พุตที่อ่อนแออาจมีการสลับช้ากว่าประตูที่ป้อนโดยประตูที่ป้อนด้วยเอาต์พุตที่แข็งแกร่งซึ่งเวลาที่ใช้ในการส่งสัญญาณผ่าน NAND และอีกหนึ่งเกทมีโอกาสน้อยกว่าถ้า NAND และอินเวอร์เตอร์ถูกแทนที่ด้วยเอาท์พุตที่อ่อนแอ

โปรดทราบว่าแม้ว่าจะมีทั้งทรานซิสเตอร์ NMOS และ PMOS และต้องการสร้างเอาต์พุตอ่อนและเกต แต่ก็ควรสร้างเกทในลักษณะที่คล้ายกับเกต CMOS NOR แต่กลับเปลี่ยนทรานซิสเตอร์ NMOS และ PMOS เพื่อหลีกเลี่ยง การกระจายพลังงานคงที่ ตัวต้านทานมีราคาแพงมากดังนั้นจึงควรหลีกเลี่ยงการใช้มันหากจำเป็นจริงๆ

อย่างไรก็ตามจุดที่ไม่ได้กล่าวถึงในคำตอบอื่น ๆ คือประตูกลับด้านสามารถมีส่วนผสมของอนุกรมและเอาท์พุทแบบขนาน ตัวอย่างเช่นเราสามารถมีเกตคอมเพล็กซ์เชิงปฏิบัติที่คำนวณ "ไม่ ((X และ Y) หรือ (X และ Z) หรือ (Y และ Z))" โดยใช้การผกผันเพียงระดับเดียว แม้ว่ามันจะไม่มีประโยชน์ที่จะมี "AND" ซึ่งฟีดเอาต์พุตไปยังหลาย ๆ ที่ในวงจร แต่ก็สามารถรวมประตู "AND" ในอินพุตหนึ่งหรือมากกว่าหนึ่งของเกต "NOR" หรือเกต "หรือ" ที่หนึ่งหรือ อินพุตเพิ่มเติมของเกต "NAND"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.