ID บทความ: 000096722 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 14/04/2024

ทําไมฟังก์ชันการทํางานของการกําหนดสัญญาณแบบมีเงื่อนไข VHDL-2008 ของฉันไม่ถูกต้อง

สิ่งแวดล้อม

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    คำอธิบาย

    เนื่องจากปัญหาในซอฟต์แวร์ Quartus® Prime Pro Edition คุณอาจเห็นว่ารหัสต่อไปนี้ไม่ได้ดําเนินการอย่างถูกต้อง

    example_process : กระบวนการ (clk)
    เริ่ม ต้น
    หาก rising_edge(clk) แล้ว
    signal_1 <= input_a;
    signal_1 <= input_b เมื่อ select_signal;
    สิ้นสุดถ้า;
    example_process สิ้นสุดกระบวนการ

    นี่ควรสร้าง mux ที่ลงทะเบียน แต่สร้างรีจิสเตอร์ที่ input_b เชื่อมต่อกับอินพุต D และ select_signal ใช้เป็นเปิดใช้งานแทน

    รหัสนี้ใช้ได้เฉพาะใน VHDL-2008 เท่านั้น

    ความละเอียด

    เมื่อต้องการหลีกเลี่ยงปัญหานี้ ให้ใช้โค้ดนี้แทน

    example_process : กระบวนการ (clk)
    เริ่ม ต้น
    หาก rising_edge(clk) แล้ว
    signal_1 <= input_b เมื่อ select_signal อื่น input_a
    สิ้นสุดถ้า;
    example_process สิ้นสุดกระบวนการ

    ผลิตภัณฑ์ที่เกี่ยวข้อง

    บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

    อุปกรณ์ที่ตั้งโปรแกรมได้ Intel®

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