กลับไปหน้าบทความ

อ่าน 2 นาที

อันตราย (ตรรกะ)

ใน ตรรกะดิจิทัล อันตรายคือผลกระทบที่ไม่พึงประสงค์ที่เกิดจากข้อบกพร่องในระบบหรืออิทธิพลภายนอกใน วงจรทั้งแบบซิงโครนัสและอะซิงโครนัส [ 1 ] : 43 อันตราย ทาง ตรรกะ...

อันตราย (ตรรกะ)

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

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

อันตรายจากไฟฟ้าสถิต

อันตรายจากสัญญาณคงที่คือการเปลี่ยนแปลงสถานะของสัญญาณสองครั้งติดต่อกันเมื่อคาดว่าสัญญาณจะคงที่[ 1 ] : 48 เมื่อสัญญาณอินพุตตัวหนึ่งเปลี่ยนแปลง เอาต์พุตจะเปลี่ยนแปลงชั่วขณะก่อนที่จะคงที่ที่ค่าที่ถูกต้อง อันตรายจากสัญญาณคงที่มีสองประเภท:

  • อันตรายแบบคงที่-1: ปัจจุบันเอาต์พุตเป็น 1 และหลังจากอินพุตเปลี่ยนแปลง เอาต์พุตจะเปลี่ยนเป็น 0 หรือ 1 ชั่วขณะก่อนที่จะคงที่ที่ 1
  • อันตรายแบบคงที่ - 0: ปัจจุบันเอาต์พุตเป็น 0 และหลังจากอินพุตเปลี่ยนแปลง เอาต์พุตจะเปลี่ยนเป็น 1.0 ชั่วขณะก่อนที่จะคงที่ที่ 0

ในตรรกะ AND-OR สองระดับที่สร้างขึ้นอย่างถูกต้องโดยอิงจากนิพจน์ผลรวมของผลคูณ จะไม่มีอันตรายแบบ static-0 (แต่อาจยังมีอันตรายแบบ static-1 อยู่) ในทางกลับกัน จะไม่มีอันตรายแบบ static-1 ในการใช้งาน OR-AND ของนิพจน์ผลคูณของผลรวม (แต่อาจยังมีอันตรายแบบ static-0 อยู่)

วิธีที่ใช้กันทั่วไปในการกำจัดอันตรายจากไฟฟ้าสถิตคือการเพิ่มตรรกะส่วนเกิน (เงื่อนไขฉันทามติในนิพจน์ตรรกะ)

ตัวอย่างของอันตรายจากไฟฟ้าสถิต

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

วงจรอย่างง่ายนี้ทำหน้าที่ดังต่อไปนี้:

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

ตอนนี้เรารู้คร่าวๆ แล้วว่าอันตรายเกิดขึ้นได้อย่างไร แต่เพื่อให้ได้ภาพที่ชัดเจนขึ้นและวิธีแก้ปัญหา เราจะต้องพิจารณาแผนที่คาร์โนห์

ทฤษฎีบทที่พิสูจน์โดย Huffman [ 2 ]ระบุว่าการเพิ่มลูปที่ซ้ำซ้อน 'BC' จะช่วยขจัดอันตรายได้

ฟังก์ชันที่แก้ไขแล้วคือ:

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

อันตรายแบบไดนามิก

อันตรายแบบไดนามิกคือชุดของการเปลี่ยนแปลงสถานะของสัญญาณที่เกิดขึ้นหลายครั้งติดต่อกัน ในขณะที่คาดว่าสัญญาณจะเปลี่ยนสถานะเพียงครั้งเดียว[ 1 ] : 48 อันตรายแบบไดนามิกคือความเป็นไปได้ที่เอาต์พุตจะเปลี่ยนแปลงมากกว่าหนึ่งครั้งอันเป็นผลมาจากการเปลี่ยนแปลงอินพุตเพียงครั้งเดียว

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

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

โดยทั่วไปแล้ว อันตรายจากกระแสไฟฟ้าแบบไดนามิกนั้นแก้ไขได้ยากกว่า แต่โปรดทราบว่าหากกำจัดอันตรายจากกระแสไฟฟ้าแบบคงที่ทั้งหมดออกจากวงจรแล้ว อันตรายจากกระแสไฟฟ้าแบบไดนามิกก็จะไม่เกิดขึ้น

อันตรายจากการทำงาน

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

คนอื่น

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

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Hazard_(logic)&oldid=1358887359 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ อันตราย (ตรรกะ)

ใน ตรรกะดิจิทัล อันตรายคือผลกระทบที่ไม่พึงประสงค์ที่เกิดจากข้อบกพร่องในระบบหรืออิทธิพลภายนอกใน วงจรทั้งแบบซิงโครนัสและอะซิงโครนัส [ 1 ] : 43 อันตราย ทาง ตรรกะ...

อันตรายจากไฟฟ้าสถิต

อันตรายจากสัญญาณคงที่คือการเปลี่ยนแปลงสถานะของสัญญาณสองครั้งติดต่อกันเมื่อคาดว่าสัญญาณจะคงที่ [ 1 ] : 48 เมื่อสัญญาณอินพุตตัวหนึ่งเปลี่ยนแปลง เอาต์พุตจะเปลี่ยนแปลงชั่วขณะก่อนที่จะคงที่ที่ค่าที่ถูกต้อง อันตรายจากสัญญาณคงที่มีสองประเภท:

ตัวอย่างของอันตรายจากไฟฟ้าสถิต

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

อันตรายแบบไดนามิก

อันตรายแบบไดนามิกคือชุดของการเปลี่ยนแปลงสถานะของสัญญาณที่เกิดขึ้นหลายครั้งติดต่อกัน ในขณะที่คาดว่าสัญญาณจะเปลี่ยนสถานะเพียงครั้งเดียว [ 1 ] : 48...