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

ทําไมช่องสัญญาณตัวรับส่งสัญญาณ II GX Stratixของฉันทํางานที่อัตราข้อมูลที่ไม่ถูกต้องหากมีการกําหนดค่าเป็นโหมดโปรโตคอล SONET OC12

สิ่งแวดล้อม

BUILT IN - ARTICLE INTRO SECOND COMPONENT
คำอธิบาย

เมื่อคุณกําหนดค่าช่องสัญญาณตัวรับส่งสัญญาณ Stratix® II GX ในโปรโตคอล SONET OC12 ที่มีอินพุตสัญญาณนาฬิกา 155.52 MHz จากพิน Refclk เฉพาะ ซอฟต์แวร์ Quartus® II จะไม่สร้างอินสแตนซ์ Pre-divider refclk ที่จําเป็นเพื่อเรียกใช้ช่องสัญญาณที่อัตราข้อมูล SONET OC12 (622 Mbps) เนื่องจาก refclk pre-divider ไม่ได้สร้างอินสแตนซ์ ช่องสัญญาณ SONET OC12 จึงทํางานที่อัตราข้อมูลสองเท่า (1244 Mbps)

ปัญหานี้เกิดขึ้นเฉพาะในซอฟต์แวร์ Quartus II เวอร์ชั่น 7.0, 7.1, และ 7.1 SP1 เท่านั้นและได้รับการแก้ไขเริ่มต้นด้วยซอฟต์แวร์ Quartus II เวอร์ชั่น 7.2

มีสองวิธีในการแก้ไขปัญหานี้ในซอฟต์แวร์ Quartus II เวอร์ชั่น 7.0, 7.1 และ 7.1 SP1 ขึ้นอยู่กับการออกแบบ การแก้ไขปัญหาชั่วคราว 1 ใช้สําหรับการออกแบบที่ใช้คุณสมบัติการกําหนดค่าแชนแนลแบบไดนามิกและ TXPLL (เปิดใช้งานโดยตัวเลือก การกําหนดค่าแชนแนลและ TX PLL ใหม่ ในปลั๊กอิน ALT2GXB MegaWizard®) การแก้ไขปัญหาชั่วคราว 2 ใช้สําหรับการออกแบบที่ใช้การกําหนดค่าแชนเนลใหม่แบบไดนามิก (เปิดใช้งานโดยตัวเลือก ใช้ตัวเลือกนาฬิกาอ้างอิงสํารองในหน้า กําหนดค่าใหม่ ของปลั๊กอิน ALT2GXB MegaWizard) หรือไม่ได้ใช้การกําหนดค่าใหม่แบบไดนามิกใดๆ

วิธีแก้ไขปัญหาชั่วคราว 1 - สําหรับการออกแบบที่ใช้คุณสมบัติการกําหนดค่าช่องสัญญาณแบบไดนามิกและ TXPLL ใหม่ในซอฟต์แวร์ Quartus II เวอร์ชั่น 7.0, 7.1 และ 7.1 SP1

ในไฟล์ห่อหุ้มที่สร้างขึ้นโดย MegaWizard สําหรับโปรโตคอล SONET OC12 alt2gxb ให้ปรับเปลี่ยน enable_pll_inclk<x>_divider พารามิเตอร์ (โดยที่ x คือ 0,1,2,3 หรือ 4) ไปยัง trueสําหรับอินพุตนาฬิกาที่เกี่ยวข้องที่เชื่อมต่อกับพิน refclk ที่ให้ความถี่สัญญาณนาฬิกา 155.52 MHz ตัวอย่างเช่น หากอินพุตสัญญาณนาฬิกา 1 ในอินสแตนซ์ SONET OC12 ALT2GXB MegaWizard เชื่อมต่อกับพิน Refclk ที่ให้สัญญาณนาฬิกา 155.52 MHz ให้ตั้งค่า enable_pll_inclk1_divider เป็น true การเปลี่ยนแปลงนี้ช่วยให้ซอฟต์แวร์ Quartus II สร้าง refclk pre-divider สําหรับอินพุต Clock1 เมื่อคุณคอมไพล์อินสแตนซ์ alt2gxb ที่แก้ไขแล้ว

enable_pll_inclk<x>_dividerเปลี่ยนพารามิเตอร์เป็นtrueในไฟล์ห่อหุ้ม alt2gxb MegaWizard ที่สร้างขึ้นสําหรับอินสแตนซ์ทั้งหมดที่เชื่อมต่อกับอินพุตสัญญาณนาฬิกา 155.52 MHz เดียวกัน ตัวอย่างเช่น หากพอร์ตอินพุต Clock2 ของอินสแตนซ์ alt2gxb อื่น ๆ เชื่อมต่อกับพิน refclk ที่ให้ 155.52 MHz เปลี่ยนenable_pll_inclk2_dividerเป็น true ในไฟล์ห่อหุ้มที่เกี่ยวข้อง

หลังจากที่คุณทําการปรับเปลี่ยนข้างต้นแล้ว ให้สร้างไฟล์ Memory Initialization (. mif) สําหรับอินสแตนซ์ที่แก้ไขทั้งหมด

หากต้องการจําลองการออกแบบ ให้สร้างไฟล์จําลองโมเดลตัวรับส่งสัญญาณ (.vo สําหรับ Verilog HDL, .vho for VHDL) ด้วย Quartus II EDA Netlist Writer แทนการใช้ปลั๊กอิน alt2gxb MegaWizard คุณต้องใช้ EDA Netlist Writer เนื่องจากโมเดลการจําลองการทํางานที่สร้างขึ้นโดยปลั๊กอิน alt2gxb MegaWizard ไม่มี enable_pll_inclk_divider พารามิเตอร์ EDA Netlist Writer สร้าง Pre-divider refclk ในไฟล์แบบจําลองการจําลอง (.vo หรือ .vho) ใช้ขั้นตอนต่อไปนี้เพื่อสร้างไฟล์แบบจําลองการจําลอง:

  1. ในเมนู การมอบหมาย ให้เลือก การตั้งค่า
  2. ภายใต้ การตั้งค่าเครื่องมือ EDA ให้เลือก การจําลอง
  3. เลือก ชื่อเครื่องมือ สําหรับเครื่องมือการจําลองของบริษัทอื่น
  4. ในรายการ รูปแบบสําหรับเอาต์พุตเน็ตลิสต์ ให้เลือก VHDL หรือ Verilog ตามความต้องการของคุณ
  5. ในฟิลด์ ไดเรกทอรีเอาต์พุต ให้ระบุไดเรกทอรีสําหรับไฟล์ .vo หรือ .vho
  6. คลิก การตั้งค่าเพิ่มเติม และตั้งค่า สร้าง netlist สําหรับการจําลองการทํางานเป็น เปิด เท่านั้น
  7. คอมไพล์โมดูลระดับบนสุดของการออกแบบของคุณที่มี alt2gxb และอินสแตนซ์alt2gxb_reconfig
  8. หมายเหตุ: คุณต้องเชื่อมต่อ reconfig_fromgxb พอร์ตและ reconfig_togxb ระหว่าง alt2gxb และอินสแตนซ์ alt2gxb_reconfig ไม่เช่นนั้น ซอฟต์แวร์ Quartus II จะลบพอร์ตเหล่านี้ออก และไฟล์แบบจําลองการจําลอง .vo หรือ .vho ที่สร้างขึ้นจะไม่ทํางานตามที่คาดไว้

วิธีแก้ไขปัญหาชั่วคราว 2 - สําหรับการออกแบบที่ใช้การกําหนดค่าแชนแนลแบบไดนามิกหรืออย่าใช้การกําหนดค่าใหม่แบบไดนามิกในซอฟต์แวร์ Quartus II เวอร์ชัน 7.0, 7.1 และ 7.1 SP1

เพิ่มโค้ด Verilog ต่อไปนี้ในการออกแบบของคุณเพื่อเพิ่ม refclk pre-divider เชื่อมต่อพอร์ตอินพุตของอินสแตนซ์ pre-divider refclk เข้ากับพิน refclk ที่ให้อินพุตสัญญาณนาฬิกา 155.52 MHz เชื่อมต่อพอร์ตเอาต์พุตเข้ากับอินสแตนซ์ alt2gxb ทั้งหมด ที่ใช้อินพุตสัญญาณนาฬิกา 155.52 MHz นี้

//refclk divider Verilog code for Workaround 2

module my_refclk_div(in, out);
input in;
output out;
    stratixiigx_hssi_refclk_divider my_refclk_divider (
       .inclk(in),
       .clkout(out));
    defparam my_refclk_divider.enable_divider = "true";
    defparam my_refclk_divider.divider_number = 0;
    defparam my_refclk_divider.refclk_coupling_termination = "normal_100_ohm_termination";
endmodule

หากการออกแบบของคุณมีอินสแตนซ์ของแชนแนลตัวรับส่งสัญญาณอื่นๆ ที่ใช้อินพุตสัญญาณนาฬิกา 155.52 MHz จากพิน refclk เดียวกันกับอินสแตนซ์ SONET OC12 alt2gxb ให้เปลี่ยนการตั้งค่า ความถี่สัญญาณนาฬิกาอินพุตเป็น 77.76 MHz ในหน้า ทั่วไป ของปลั๊กอิน alt2gxb MegaWizard

ขั้นตอนนี้จําเป็นเนื่องจากช่องสัญญาณใดๆ ที่ใช้อินพุตสัญญาณนาฬิกา 155.52 MHz เดียวกันจะได้รับความถี่สัญญาณนาฬิกาอ้างอิงอินพุต 77.76 MHz เมื่อเพิ่ม refclk pre-divider ลงในพาธนาฬิกา ตัวอย่างเช่น หากคุณกําหนดค่าช่องสัญญาณใดๆ ในโหมด BASIC ให้ทํางานที่ 2488 Mbps โดยใช้อินพุตสัญญาณนาฬิกา 155.52 MHz เดียวกัน ให้ตั้งค่า ความถี่อินพุตเป็น 77.76 MHz คืออะไร

หากเปิดใช้งานคุณสมบัติการกําหนดค่าแชนแนลใหม่ ให้สร้างไฟล์เริ่มต้นหน่วยความจํา ( mif) สําหรับอินสแตนซ์ที่แก้ไขทั้งหมด

คุณสามารถใช้ไฟล์แบบจําลองการจําลอง (.vo หรือ .vho) ที่สร้างขึ้นโดยปลั๊กอิน ALT2GXB MegaWizard เพื่อจําลองการออกแบบ

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

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

Stratix® II GX FPGA

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