ข้อผิดพลาดด้านล่างพอดีจะเกิดขึ้นหากการสร้างอินสแตนซ์ ALT2GXB Megawizard® Plug-in Manager ในการออกแบบที่คอมไพล์มีการกําหนดค่าต่อไปนี้ ช่องสัญญาณเป็นดูเพล็กซ์เต็มรูปแบบหรือรับเฉพาะเปิดใช้งานอินเทอร์เฟซภายในของแชนเนลหรือแชนเนลและความถี่สัญญาณนาฬิกาอินพุตที่ระบุใน ALT2GXB Megawizard มากกว่า 325 MHz ข้อผิดพลาดนี้ไม่เกิดขึ้นสําหรับการกําหนดค่า TX เท่านั้น
ข้อผิดพลาด Quartus® II software fitter: "ไม่สามารถเพิ่มตัวแบ่ง GXB REFCLK ได้หลังจากส่งสัญญาณ "rx_cruclk[0]" เนื่องจากจะป้อนพอร์ต cruclk ของช่องรับสัญญาณ GXB alt2gxb:alt2gxb_component| channel_rec[0].receive" ที่ใช้การกําหนดค่าอินเทอร์เฟซแชนแนลหรือแชนเนลภายใน"
การแก้ไขปัญหาข้อผิดพลาดนี้ ให้ใช้ขั้นตอนต่อไปนี้
1. เปลี่ยนความถี่สัญญาณนาฬิกาขาเข้า (>325 MHz) ใน ALT2GXB Megawizard เป็นครึ่งค่า
2. สร้างอินสแตนซ์รหัสตัวแบ่ง REFCLK (แสดงด้านล่าง) ในการออกแบบของคุณและเชื่อมต่อเอาต์พุตตัวแบ่ง REFCLK เข้ากับพอร์ตอินพุตสัญญาณนาฬิกา ALT2GXB
สําหรับการกําหนดค่าดูเพล็กซ์ ให้เชื่อมต่อเอาต์พุตตัวแบ่ง REFCLK เข้ากับพอร์ตอินพุตสัญญาณนาฬิกา ALT2GXB หากความถี่สัญญาณนาฬิกาอินพุตที่ระบุในหน้าจอ 'ทั่วไป' ของ ALT2GXB Megawizard สูงกว่า 325MHz ให้เชื่อมต่อเอาต์พุตตัวแบ่ง REFCLK เข้ากับพอร์ต 'pll_inclk' และ 'rx_cruclk' ของการสร้างอินสแตนซ์ ALT2GXB หากระบุความถี่ข้างต้นในหน้าจอ 'RECONFIG' ให้เชื่อมต่อเอาต์พุตตัวแบ่ง REFCLK เข้ากับพอร์ต 'pll_inclk_alt' และ 'rx_cruclk_alt'
ตัวอย่างเช่น หากคุณมีการกําหนดค่าแบบฟูลดูเพล็กซ์และหากคุณระบุ 390.625 MHz บนหน้าจอ 'ทั่วไป' ของ ALT2GXB Megawizard เปลี่ยนความถี่เป็น 195.3125 MHz และเชื่อมต่อเอาต์พุตการแบ่ง REFCLK กับพอร์ตpll_inclkและrx_cruclkของ ALT2GXB
สําหรับการสร้างอินสแตนซ์ ALT2GXB แบบรับเท่านั้น ให้เปลี่ยนความถี่อินพุต (>325 MHz) ในเมกะวิซซอร์สเป็นครึ่งค่า และเชื่อมต่อเอาต์พุตตัวแบ่ง REFCLK เข้ากับพอร์ตrx_cruclkหรือrx_cruclk_altตามการตั้งค่าความถี่สัญญาณนาฬิกาอ้างอิงอินพุตในหน้าจอ 'ทั่วไป' หรือ 'กําหนดค่าใหม่' ในเมกะวิซซอร์
ต่อไปนี้เป็นตัวอย่างรหัสตัวแบ่ง REFCLK ใน Verilog และ VHDL
รหัส ------ Verilog สําหรับแผนกนาฬิกา---------
โมดูล my_refclk_div (เข้า ออก);
อินพุต;
เอาต์พุต;
stratixiigx_hssi_refclk_divider my_refclk_divider (
.inclk(in),
.clkout (ขาออก),
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
-----End
--รหัส VHDL สําหรับแผนกนาฬิกา----
LIBRARY ieee;
ใช้ ieee.std_logic_1164.all;
MY_REFCLK_DIVIDERของหน่วยงาน
พอร์ต
(
รวม: ในstd_logic
ขาออก: ออกstd_logic
);
ยุติmy_refclk_divider
clock_divสถาปัตยกรรมของmy_refclk_dividerคือ
COMPONENT stratixiigx_hssi_refclk_divider IS
ทั่วไป (
enable_divider : STRING := "true"
divider_number : INTEGER := 0; -- 0 หรือ 1 สําหรับการกําหนดหมายเลขแบบตรรกะ
refclk_coupling_termination : STRING := "normal_100_ohm_termination"
);
พอร์ต (
รวม : IN STD_LOGIC;
clkout : OUT STD_LOGIC);
stratixiigx_hssi_refclk_dividerส่วนประกอบ END;
เริ่ม ต้น
clk_divider: stratixiigx_hssi_refclk_divider
แผนผังพอร์ต
(
inclk =>รวม
clkout => outclk
);
สถาปัตยกรรมปลายทาง