การใช้ประตู NAND / NOR เท่านั้นเพิ่มความล่าช้าของวงจรหรือไม่


12

ฉันจำได้ว่าเรียนในโรงเรียนที่สามารถสร้างวงจรเชิงตรรกะใด ๆ จากเพียงประตูเดียวNANDหรือNORประตู

ก่อนอื่นฉันสงสัยว่านี่เป็นวิธีการที่เกิดขึ้นจริงหรือไม่: เช่นเมื่อ Intel สร้าง CPU พวกเขาสร้างการลงทะเบียนทั้งหมด ฯลฯ โดยใช้NAND/ NORgates หรือใช้วิธีการทำสิ่งอื่น ๆ

ประการที่สองฉันสงสัยว่าการสร้างทุกอย่างในลักษณะนี้จะเพิ่มความล่าช้าในการเผยแพร่เมื่อเทียบกับวงจรที่ใช้AND/ OR/ NOTประตูเช่นกัน

ฉันรู้ว่าเมื่อใช้PMOS/ NMOSการกำหนดค่าเพื่อสร้างประตูANDหรือ an ORออกมาเป็น 2 ขั้นเมื่อเทียบกับ a NANDหรือ a NORซึ่งทั้งสองมีเพียง 1 เนื่องจากฉันรู้ว่าคุณสามารถสร้างANDจาก 2 cascaded NANDs และORจาก 2 cascaded NORs มัน ดูเหมือนว่าการขยายพันธุ์ล่าช้าจะไม่เพิ่มขึ้นตราบใดที่ผู้ผลิตใช้ทั้งNANDs และNORs

ใครบ้างมีความเข้าใจอย่างถ่องแท้เกี่ยวกับเรื่องนี้โดยเฉพาะอย่างยิ่งสิ่งที่ทำบนไอซีที่ผลิตขึ้นมาจริง ๆ หรือไม่?

คำตอบ:


10

ก่อนอื่นฉันสงสัยว่านี่เป็นวิธีการที่เกิดขึ้นจริงหรือไม่: เช่นเมื่อ Intel สร้าง CPU พวกเขาสร้างการลงทะเบียนทั้งหมด ฯลฯ โดยใช้NAND/ NORgates หรือใช้วิธีการทำสิ่งอื่น ๆ

รีจิสเตอร์ไม่ได้ถูกสร้างขึ้นมาจากประตูส่วนใหญ่มักจะเป็นวงจรเฉพาะ พวกเขาสามารถเห็นได้เช่นเดียวกับที่ทำกับอินเวอร์เตอร์ ( NOT) แต่ในระดับหนึ่งเท่านั้น

ในเทคโนโลยี CMOS, วงจร Everlogic ขึ้นอยู่กับอินเวอร์เตอร์: NORและNANDประตูเป็นเพียงอินเวอร์เตอร์ที่มีอินพุตหลากหลายที่จัดเรียงอย่างชาญฉลาดโดยทั่วไป ดังนั้นประตูที่กลับด้านจะเร็วกว่าประตูที่ไม่กลับหัวซึ่งเป็นเพียงการกลับหัวประตูNOTที่มีเอาท์พุท

นอกจากนี้ในลอจิกแบบไดนามิกมันง่ายกว่าที่จะเรียงซ้อนบล็อกการสลับกลับสองบล็อกง่ายกว่าการวางNOTประตูทุกที่

พิจารณาว่าในบางกรณีวงจรอาจทำจากบล็อกแยกดังนั้นอาจมีกรณีที่เอาต์พุตถูกเชื่อมต่อผ่านอินเวอร์เตอร์หนึ่งตัวหรือมากกว่าสำหรับการบัฟเฟอร์

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

ดังนั้นโดยสังเขปใช่ตัวประมวลผลที่รวดเร็วส่วนใหญ่จะใช้การย้อนกลับของประตู


โอเคฉันคิดว่ามันสมเหตุสมผลสำหรับฉัน เป็นการตรวจสอบ - สมมติว่าฉันต้องการสร้าง adder พื้นฐาน (เช่น 4 บิต) โดยใช้ตรรกะเชิงผสม (เช่นไม่ใช่โดยการเชื่อมโยงตัวเสริมครึ่งตัว) ฉันจะเข้าหาปัญหานี้พยายามที่จะใช้เท่านั้นNANDและNORประตูและน้อยที่สุดเท่าที่จะทำได้? สิ่งนี้จะให้ผลการออกแบบที่ดีกว่า (ในแง่ของความล่าช้า / จำนวนประตู) มากกว่าถ้าฉันเข้าหาปัญหาโดยใช้เพลงเต็มรูปแบบของประตูแล้วแทนที่AND/ OR/ NOTประตูด้วยNAND/ NORเทียบเท่าของพวกเขาหรือไม่?
llakais

@ lakais ในเกือบทุกกรณีใช่ และอย่างน้อยมันก็จะเท่ากัน แต่เช่นฉันได้ออกแบบ adder สำหรับหลักสูตรมหาวิทยาลัยและฉันได้ทำสองสิ่ง: อันดับแรกฉันใช้บล็อก adder 4: 2 ที่มี full-adders (บล็อกชนะ!) และที่สองฉัน เราได้ติดตั้ง full adder ด้วย pass transistor XOR gate ดังนั้นบางครั้งก็มีทางออกที่แตกต่างกัน
clabacchio

ฉันจะพูดถึงว่าสำหรับ Adders การมีเซลล์แบบแอดเดอร์เต็มมักจะเร็วที่สุดไม่ใช่การรวมกันของประตู
W5VO

@ W5VO adder แบบเต็มนั้นเป็นการรวมกันของ XOR และประตูและ ... แต่แน่นอนว่า XOR สามารถทำในวิธีที่ชาญฉลาดโดยไม่ต้องใช้เกตพื้นฐาน
clabacchio

3

ความชอบของฉันกับ CMOS คือการคิดว่าแบบพื้นฐานสำเร็จรูปเป็นอินเวอร์เตอร์นำหน้าด้วยการรวมกันอย่างอิสระของ "และ" และ "และ" หรือ "ประตูที่ไม่มีการเชื่อมต่อระหว่างกัน ฟังก์ชั่นทั้งหมดต่อไปนี้:

not (X and (Y or Z))
not (X or (Y and Z))
not (X and Y and Z)
not (X or Y or Z)

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

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