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

ทําไมฉันจึงสังเกตเห็นการตรวจสอบข้อผิดพลาดเป็นระยะๆ เมื่อทําการรีเซ็ตหลายครั้งของตัวอย่างการออกแบบการควบคุมเครื่องสถานะ IP RTL204B

สิ่งแวดล้อม

    Intel® Quartus® II Subscription Edition
    Intel® Quartus® Prime Standard Edition
    IP เอฟพีจีเอ Intel® JESD204B
BUILT IN - ARTICLE INTRO SECOND COMPONENT

ปัญหาสำคัญ

คำอธิบาย

เมื่อทําการรีเซ็ตหลายครั้งของการออกแบบการควบคุมเครื่องสถานะ IP RTL ของ JESD204B ดําเนินการใน Intel® Arria® 10 Stratix® V, Arria® V Cyclone® หรืออุปกรณ์ V คุณอาจสังเกตเห็นพินที่ขัดจังหวะ (jesd204_tx_int และ/หรือ jesd204_rx_int) ที่กําลังถูกตรวจสอบเนื่องจากข้อผิดพลาด ซึ่งสามารถอ่านได้จาก tx_err (0x60), rx_err0 (0x60) และการลงทะเบียนrx_err1 (0x64)

ความละเอียด

สําหรับอุปกรณ์ Intel Arria 10 ให้ใช้ตัวอย่างการออกแบบโปรเซสเซอร์ Nios® II แทน

สําหรับอุปกรณ์ Stratix V, Arria V หรือ Cyclone V ให้ดําเนินการแก้ไข RTL ดังต่อไปนี้ :

  1. ปรับเปลี่ยน jesd204b_edโมดูลระดับบนสุดในไฟล์ jesd204b_ed.sv

กําหนด สายรีเซ็ตสูงที่ใช้งานอยู่:

tx_link_rst_syncสายไฟ

tx_frame_rst_syncสายไฟ

rx_link_rst_syncสายไฟ

rx_frame_rst_syncสายไฟ

global_rst_syncสายไฟ

 

ปรับเปลี่ยน ขั้วการรีเซ็ตในการบ้านสายต่อไปนี้:

ถือคอร์ในโหมดรีเซ็ตจนกว่าตัวรับส่งสัญญาณจะพร้อม

กําหนดglobal_rst_n_sync = ~global_rst_sync; เพิ่มการบ้านglobal_rst_n_sync

กําหนดtx_avs_rst_n = avs_rst_n;

กําหนดrx_avs_rst_n = avs_rst_n;

กําหนดtx_frame_rst_n = ~tx_frame_rst_sync;

กําหนดrx_frame_rst_n = ~rx_frame_rst_sync;

กําหนดtx_link_rst_n = ~tx_link_rst_sync;

กําหนดrx_link_rst_n = ~rx_link_rst_sync;

 

altera_reset_controllerคือตัวซิงโครไนซ์การรีเซ็ตระดับสูงที่ทํางานอยู่ ปรับเปลี่ยนอินพุตและเอาต์พุตของการสร้างอินสแตนซ์ตัวซิงโครไนซ์รีเซ็ตตามที่แสดงถึงขั้วที่ถูกต้อง:

//

รีเซ็ตตัวซิงโครไนซ์สําหรับการรีเซ็ตทั่วโลก (โดเมนนาฬิกา mgmt)

//

altera_reset_controller #(

. NUM_RESET_INPUTS (1),

. OUTPUT_RESET_SYNC_EDGES ("deassert")

. SYNC_DEPTH (2)

) u_avs_rst_sync (

.reset_in0 (~global_rst_n)

.clk (mgmt_clk),

.reset_out (global_rst_sync)

);

 

ดําเนินการ AND ตามบิตบนwire_tx_ready &wire_rx_ready ซึ่งเป็นสัญญาณบัส

//

 

รีเซ็ตตัวซิงโครไนซ์สําหรับการรีเซ็ตเลเยอร์การขนส่ง (โดเมนเฟรมนาฬิกา)

//

altera_reset_controller #(

. NUM_RESET_INPUTS (1),

. OUTPUT_RESET_SYNC_EDGES ("deassert")

. SYNC_DEPTH (2)

) u_tx_frame_rst_sync (

.reset_in0 (~(wire_frame_rst_n &wire_tx_ready),

.clk (frame_clk),

.reset_out (tx_frame_rst_n_sync)

);

 

altera_reset_controller #(

. NUM_RESET_INPUTS (1),

. OUTPUT_RESET_SYNC_EDGES ("deassert")

. SYNC_DEPTH (2)

) u_rx_frame_rst_sync (

.reset_in0 (~(wire_frame_rst_n &wire_rx_ready),

.clk (frame_clk),

.reset_out (rx_frame_rst_n_sync)

);

 

//

รีเซ็ตตัวซิงโครไนซ์สําหรับการรีเซ็ตคอร์พื้นฐาน (โดเมนลิงก์นาฬิกา)

//

altera_reset_controller #(

. NUM_RESET_INPUTS (1),

. OUTPUT_RESET_SYNC_EDGES ("deassert")

. SYNC_DEPTH (2)

) u_tx_link_rst_sync (

.reset_in0 (~(wire_link_rst_n &wire_tx_ready),

.clk (link_clk),

.reset_out (tx_link_rst_n_sync)

);

   

altera_reset_controller #(

. NUM_RESET_INPUTS (1),

. OUTPUT_RESET_SYNC_EDGES ("deassert")

. SYNC_DEPTH (2)

) u_rx_link_rst_sync (

.reset_in0 (~(wire_link_rst_n &wire_rx_ready),

.clk (link_clk),

.reset_out (rx_link_rst_n_sync)

);

 

----------------------------------------

 

2. ในโมดูล control_unit (control_unit.sv) ให้ เปลี่ยน ค่าการรีเซ็ตสําหรับframe_rst link_rst avs_rst และxcvr_rst

//

ทะเบียนเอาต์พุตสําหรับการรีเซ็ตตัวรับส่งสัญญาณคอร์ฐาน

//

เสมอ @ (posedge clk หรือ negedge rst_n)

เริ่ม ต้น

ถ้า (~rst_n) เริ่มต้น

frame_rst

link_rst

avs_rst

xcvr_rst

สิ้นสุดอย่างอื่นเริ่มต้น

 

ไม่มีแผนแก้ไขปัญหาสําหรับปัญหานี้

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

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

Intel® Arria® 10 FPGA และ SoC FPGA
Stratix® V FPGA
Arria® V FPGA และ SoC FPGA
Cyclone® V GX FPGA
Cyclone® V GT FPGA
Cyclone® V SX SoC FPGA
Cyclone® V ST SoC FPGA

1

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