เหตุใดฉันจึงไม่สามารถสร้างรองเท้าแตะในเครื่องจำลองตรรกะได้

Jan 03 2021

ฉันเล่นกับเครื่องจำลองลอจิกสองสามตัวแล้วและไม่เข้าใจว่าทำไมฟลิปฟล็อปถึงไม่ทำงาน ฉันกำลังพยายามใช้ 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):

คำตอบ

12 TimWescott Jan 03 2021 at 07:43

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

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

หน้าเดียวกันนั้นแสดงวงจรนี้สำหรับ J-Kflip-flop แบบซิงโครนัสอย่างสมบูรณ์ (เพียงแค่เชื่อมต่อ J & K เข้าด้วยกันสำหรับ T ff):

คุณอาจต้องการลองในเครื่องจำลองของคุณดูว่าเกิดอะไรขึ้น

11 hacktastical Jan 03 2021 at 13:34

วงจรที่คุณแสดงคือสลัก JK ที่มีรั้วรอบขอบชิดไม่ใช่ฟลิปฟล็อป มันทนทุกข์ทรมานจากข้อบกพร่อง: ด้วย T สูงและนาฬิกาสูงประตู NAND แบบไขว้กันจะเป็นวงแหวนออสซิลเลเตอร์ บางครั้งเรียกว่าปัญหา 'รอบการแข่งขัน' เอาต์พุตจะไม่ตกจนกว่านาฬิกาจะกลับมาต่ำ

วงจรนี้แสดงให้เห็นถึงวิธีที่จะไม่ทำฟลอปแบบตอกบัตร มิฉะนั้นก็เปล่าประโยชน์ การปัดพลิกที่แท้จริงจะใช้สลักคู่หนึ่งในสองขั้นตอนซึ่งตอกบัตรในระดับที่ตรงกันข้ามกัน บางครั้งเรียกว่าฟลิปฟล็อปแบบ 'edge-triggerred' หรือ 'master-slave'

เพิ่มเติมที่นี่: Q และ Q 'กำหนดครั้งแรกใน JK flip flop ได้อย่างไร?

และที่นี่: สลัก JK ข้อผิดพลาด Ben Eater ที่เป็นไปได้หรือไม่?

4 MathKeepsMeBusy Jan 03 2021 at 08:11

ในการใช้ขอบที่ทริกเกอร์ 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

1 ShashankVM Jan 03 2021 at 12:30

ปัญหาคุณอีกอาจ ( แต่ควร ) วิ่งเข้ามาในนี้คือ : วิธีการคือ Q และ Q' กำหนดเป็นครั้งแรกใน JK พลิกล้มเหลว? .

โดยเฉพาะอย่างยิ่งสำหรับ T Flip-Flop

สำหรับ T Flip-Flop ที่มีอินพุตเพียง 2 อินพุตคือ T และนาฬิกาไม่มีวิธีใดที่เอาต์พุตจะเข้าสู่สถานะที่ทราบในการจำลองที่รองรับ 'X'

ตัวจำลองที่ดีจะแสดง 'X' บนเอาต์พุตทั้งสองซึ่งแสดงว่าไม่ทราบค่า

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

สำหรับการอ้างอิงฉันได้สร้าง T Flip-Flop ที่มีอินพุตแบบอะซิงโครนัสโดยใช้ Master Slave JK Flip-Flop ซึ่งคุณสามารถจำลองได้ในเบราว์เซอร์ของคุณ:

จำลองวงจรนี้ - แผนผังที่สร้างขึ้นโดยใช้MultisimLive