เหตุใดฉันจึงไม่สามารถสร้างรองเท้าแตะในเครื่องจำลองตรรกะได้
ฉันเล่นกับเครื่องจำลองลอจิกสองสามตัวแล้วและไม่เข้าใจว่าทำไมฟลิปฟล็อปถึงไม่ทำงาน ฉันกำลังพยายามใช้ T flip-flop กับ NAND gates:
เครื่องจำลองทั้งหมดที่ฉันลองให้ผลลัพธ์เหมือนกัน Q หรือ Q 'จะใช้สถานะของนาฬิกาแทนที่จะสลับไปที่ขอบที่เพิ่มขึ้นทั้งนี้ขึ้นอยู่กับเวลาของการอัปเดตภายใน เมื่อพิจารณาถึงความสมมาตรของวงจรฉันไม่แปลกใจเลย แต่สงสัยว่าการทำงานในทางปฏิบัติมีความหมายอย่างไร
เป็นไปได้หรือไม่หรือเครื่องเลียนแบบเหล่านี้มีส่วนประกอบของฟลิปฟล็อปเนื่องจากไม่สามารถทำกับชิ้นส่วนพื้นฐานได้? ถ้าเป็นเช่นนั้นทำไมและอะไรถึงหายไป?
เครื่องจำลอง:
- https://logic.ly/demo
- https://circuitverse.org/simulator
- https://academo.org/demos/logic-gate-simulator/
- https://simulator.io/board
NAND gate circuit เปรียบเทียบกับ T flip-flop ที่ให้มา (circuitverse.org):
เหมือนกันใน simulator.io (ใช้ AND + NOT เนื่องจากไม่มี NAND):
คำตอบ
เนื่องจากจากหน้านี้รูปแบบที่คุณแสดงจะใช้งานได้ก็ต่อเมื่อปรับความกว้างของพัลส์นาฬิกาให้ยาวพอที่สเตจเอาต์พุตจะตอบสนอง แต่ก็สั้นพอที่สิ่งนั้นจะไม่สั่น เครื่องจำลองตรรกะที่ไม่จำลองเวลาในการแพร่กระจายอาจไม่สามารถรับมือได้
ในการจำลองวงจรของคุณคุณต้องมีเครื่องจำลองวงจรที่ 'เข้าใจ' ความล่าช้าในการแพร่กระจายหรือคุณต้องจำลองวงจรของคุณที่ระดับทรานซิสเตอร์
หน้าเดียวกันนั้นแสดงวงจรนี้สำหรับ J-Kflip-flop แบบซิงโครนัสอย่างสมบูรณ์ (เพียงแค่เชื่อมต่อ J & K เข้าด้วยกันสำหรับ T ff):
คุณอาจต้องการลองในเครื่องจำลองของคุณดูว่าเกิดอะไรขึ้น
วงจรที่คุณแสดงคือสลัก JK ที่มีรั้วรอบขอบชิดไม่ใช่ฟลิปฟล็อป มันทนทุกข์ทรมานจากข้อบกพร่อง: ด้วย T สูงและนาฬิกาสูงประตู NAND แบบไขว้กันจะเป็นวงแหวนออสซิลเลเตอร์ บางครั้งเรียกว่าปัญหา 'รอบการแข่งขัน' เอาต์พุตจะไม่ตกจนกว่านาฬิกาจะกลับมาต่ำ
วงจรนี้แสดงให้เห็นถึงวิธีที่จะไม่ทำฟลอปแบบตอกบัตร มิฉะนั้นก็เปล่าประโยชน์ การปัดพลิกที่แท้จริงจะใช้สลักคู่หนึ่งในสองขั้นตอนซึ่งตอกบัตรในระดับที่ตรงกันข้ามกัน บางครั้งเรียกว่าฟลิปฟล็อปแบบ 'edge-triggerred' หรือ 'master-slave'
เพิ่มเติมที่นี่: Q และ Q 'กำหนดครั้งแรกใน JK flip flop ได้อย่างไร?
และที่นี่: สลัก JK ข้อผิดพลาด Ben Eater ที่เป็นไปได้หรือไม่?
ในการใช้ขอบที่ทริกเกอร์ T Flip-Flop ที่ไม่ต้องอาศัยเวลาหน่วงประตูฉันเชื่อว่าต้องมีประตู Nand อย่างน้อย 6 ประตู วงจรด้านล่างจำลองได้ดีใน CircuitLab
จำลองวงจรนี้ - แผนผังที่สร้างขึ้นโดยใช้CircuitLab
แก้ไข:
มีคนแสดงความคิดเห็นว่าวงจรนี้ไม่ใช่ T flip-flop เนื่องจากวงจรขึ้นอยู่กับนาฬิกาเพียงอย่างเดียวและไม่มีอินพุต T และสัญญาณนาฬิกาแยกกัน
อย่างไรก็ตามเมื่อฉันใช้ Google "T flip-flop" สิ่งแรกที่เกิดขึ้นสำหรับฉันคือสิ่งนี้ซึ่งระบุว่า:
ฟลิปฟล็อป T หรือ "สลับ" จะเปลี่ยนเอาต์พุตที่ขอบนาฬิกาแต่ละด้านโดยให้เอาต์พุตซึ่งเป็นครึ่งหนึ่งของความถี่ของสัญญาณไปยังอินพุต T
มีประโยชน์สำหรับการสร้างตัวนับไบนารีตัวแบ่งความถี่และอุปกรณ์เพิ่มไบนารีทั่วไป สามารถทำจากฟลิปฟลอป JK โดยผูกอินพุตทั้งสองไว้ให้สูง
และซึ่งมีกราฟิก:
ฉันไม่ได้อ้างว่านี่เป็นข้อพิสูจน์ที่เชื่อถือได้ของการอ้างสิทธิ์ที่ว่า T flip-flop ต้องมีอินพุต T และนาฬิกาแยกกัน (แน่นอนว่ามีข้อมูลที่ผิดมากมายเกี่ยวกับฟลิปฟล็อปบนอินเตอร์เฟสตัวอย่างเช่นวงจร OPs จะปรากฏขึ้นทั่วทุกที่ที่มีข้อความว่า T flip-flop แม้ว่าจะมีปัญหาที่อธิบายไว้ในคำตอบอื่น ๆ ก็ตาม) อย่างไรก็ตาม ฉันกำลังเสนอข้อมูลข้างต้นเพื่อเป็นทางเลือกในการแสดงความคิดเห็นของผู้แสดงความคิดเห็น
แก้ไข 2: ผู้แสดงความคิดเห็นขอแผนผังสถานะสำหรับวงจร ฉันจะให้ข้อมูลนี้ แต่ไม่ใช่ในรูปแบบแผนภาพ
มีสถานะเสถียร 4 สถานะและ 12 สถานะที่มีการเปลี่ยนสถานะระหว่างสถานะเสถียรในการทำงานปกติ
สถานะที่มั่นคงคือ:
รัฐ: Vin N1 N2 N3 N4 N5 N6
S1: 0 1 1 0 1 1 0
S2: 1 0 1 0 1 0 1
S3: 0 1 1 1 0 0 1
S4: 1 1 0 1 1 1 0
การเปลี่ยนไปเป็นดังนี้
S1 ใน\$\uparrow\$N1 \$\downarrow\$N6 \$\uparrow\$N5 \$\downarrow\$ S2
S2 ใน\$\downarrow\$N1 \$\uparrow\$N4 \$\downarrow\$N3 \$\uparrow\$ S3
S3 ใน\$\uparrow\$N2 \$\downarrow\$N5 \$\uparrow\$N6 \$\downarrow\$N4 \$\uparrow\$ S4
S4 ใน\$\downarrow\$N2 \$\uparrow\$N3 \$\downarrow\$ S1
ปัญหาคุณอีกอาจ ( แต่ควร ) วิ่งเข้ามาในนี้คือ : วิธีการคือ Q และ Q' กำหนดเป็นครั้งแรกใน JK พลิกล้มเหลว? .
โดยเฉพาะอย่างยิ่งสำหรับ T Flip-Flop
สำหรับ T Flip-Flop ที่มีอินพุตเพียง 2 อินพุตคือ T และนาฬิกาไม่มีวิธีใดที่เอาต์พุตจะเข้าสู่สถานะที่ทราบในการจำลองที่รองรับ 'X'
ตัวจำลองที่ดีจะแสดง 'X' บนเอาต์พุตทั้งสองซึ่งแสดงว่าไม่ทราบค่า
ดังที่ฉันได้กล่าวไว้ในคำตอบของฉันเราสามารถใช้อินพุตแบบซิงโครนัสหรืออะซิงโครนัสเพื่อตั้งค่าเอาต์พุตเป็นสถานะที่ทราบได้
สำหรับการอ้างอิงฉันได้สร้าง T Flip-Flop ที่มีอินพุตแบบอะซิงโครนัสโดยใช้ Master Slave JK Flip-Flop ซึ่งคุณสามารถจำลองได้ในเบราว์เซอร์ของคุณ: