อินเทอร์เฟซ RGMII ที่มีข้อจํากัดของ Triple Speed Ethernet พร้อมคุณสมบัติการหน่วงเวลา PHY ภายนอก

author-image

โดย

วัตถุประสงค์ของตัวอย่างการออกแบบนี้คือการแสดงให้เห็นถึงวิธีการจํากัดTSE_RGMII ตัวอย่างการออกแบบนี้จะสามารถใช้ได้ก็ต่อเมื่อมีการเปิดใช้งานคุณสมบัติหน่วงเวลา (90 องศา) ของTX_CLKและRX_CLK PHY ภายนอก โดยสามารถทํางานด้วยความเร็วที่ต่างกัน 3 แบบ ได้แก่ 10 MHz, 100 MHz และ 1000 MHz

สมมติฐานสร้างขึ้นมาเพื่อให้ผู้ใช้มีความคุ้นเคยกับคอร์ทรัพย์สินทางปัญญา (IP) Triple Speed Ethernet, ALTDDIO, ALTPLL, การวิเคราะห์เวลาแบบคงที่และแนวคิดซิงโครนัสแหล่งข้อมูล Double Data Rate (DDR)

ข้อจํากัดของวิธีการ

  1. เลือกวิธีการจํากัดอินเทอร์เฟซ: วิธีการที่เน้นระบบเป็นศูนย์กลางหรือIntel® FPGAวิธีการที่เน้น
    • วิธีการที่แตกต่างกันต้องใช้สูตรที่แตกต่างกันในการคํานวณค่าความล่าช้าในคําสั่ง set_input_delay และ set_output_delay
    • ตัวอย่างการออกแบบนี้ใช้วิธีการที่เน้นระบบเป็นศูนย์กลาง
  2. ตัดสินใจว่าจะเปิดหรือปิดคุณสมบัติหน่วงเวลา (±90 องศา) ของ PHY ภายนอกตามที่กําหนดประเภทของการจัดตําแหน่งระหว่างนาฬิกาและข้อมูล
    • ปรับชิฟเตอร์ 90 องศา -ศูนย์>
    • ไม่มีการเปลี่ยนแปลง -> Edge ที่จัดแนว
    • ตัวอย่างการออกแบบนี้ใช้ได้กับคุณสมบัติหน่วงเวลาของ TX และ RX ของ PHY ภายนอกที่เปิดอยู่ (การเปลี่ยน 90 องศา) เท่านั้น
  3. กําหนดความสัมพันธ์ของการเปิดตัวและสลักที่ต้องการ
    • การเปิดตัวและความสัมพันธ์แบบสลักมี 4 ประเภท โดยมีความสัมพันธ์กับ Rise-Rise-Rise (RR), Rise-Fall (RF), Fall-Rise (FR) และ Fall-Fall (FF)
    • ข้อมูลจําเพาะ RGMII ระบุว่ามีการส่ง LSB ของข้อมูล [3:0] ไปที่ Edge ที่เพิ่มขึ้นก่อนและ MSB ของข้อมูล [7:4] จะถูกส่งออกไปตามด้วย Edge ที่ลดลง
    • การออกแบบของ TSE ที่มีอินเทอร์เฟซ RGMII จะบันทึกข้อมูลที่ Edge เพิ่มขึ้นก่อนแล้วตามด้วย Edge ที่ลดลง โดยแสดงว่านาฬิกาจําเป็นต้องเปลี่ยนไป +90 องศาแทนที่จะเป็น -90 องศา
    • การเปิดตัวการตั้งค่าที่ต้องการและความสัมพันธ์แบบ latch (Arrow in red): RR และ FF
    • การเปิดตัวและความสัมพันธ์แบบ latch ที่ต้องการ (ลูกศรเป็นสีน้ําเงิน): FR และ RF
  4. ข้อจํากัดของอินเทอร์เฟซ RGMII ข้อจํากัดการออกแบบของ Synopsys (SDC) อิงตามการออกแบบและแอปพลิเคชัน อย่างไรก็ตาม มีบาง SDC หลักที่จําเป็นสําหรับอินเทอร์เฟซ RGMII

รูปภาพที่ 2 เปิดความสัมพันธ์ของนาฬิกาและนาฬิกา Latch

TX

  • create_clock
    • นาฬิกาที่แลตช์ข้อมูลภายในIntel® FPGAก่อนที่จะส่งไปยัง PHY ภายนอก
  • create_generated_clock:
    • นาฬิกาที่มีการเปลี่ยนเฟส 90 องศาที่จะแลกข้อมูลที่ PHY ภายนอก
  • set_false_path:
    • เป็นความสัมพันธ์ที่ไม่ต้องการที่จะไม่ถูกวิเคราะห์ในการวิเคราะห์เวลา ในตัวอย่างการออกแบบนี้ ความสัมพันธ์ที่ไม่ต้องการสําหรับการตั้งค่าคือ RF และ FR ในขณะที่ความสัมพันธ์ที่ไม่ต้องการสําหรับการระงับคือ RR และ FF

set_false_path -fall_from [data_clock] -rise_to [output_clock] -setup
set_false_path -rise_from [data_clock] -fall_to [output_clock] -setup
set_false_path -rise_from [data_clock] -rise_to [output_clock] -hold
set_false_path -fall_from [data_clock] -fall_to [output_clock] -hold

 

  • set_output_delay

set_output_delay -clock output_clock\
-max [expr $data_delay_max + $tsu - $clk_delay_min] \
[get_ports data_out] \
-add_delay

set_output_delay -clock output_clock\
-max [expr $data_delay_max + $tsu - $clk_delay_min] \
[get_ports data_out] \
-clock_fall \
-add_delay

set_output_delay -clock output_clock \
-min [expr $data_delay_min - $th - $clk_delay_max] \
[get_ports data_out ] \
-add_delay

set_output_delay -clock output_clock \
-min [expr $data_delay_min - $th - $clk_delay_max] \
[get_ports data_out ] \
-clock_fall \
-add_delay

 

TSE_RGMII RX

  • create_clock:
    • นาฬิกาเสมือนที่แลตช์ข้อมูลภายใน PHY ภายนอกก่อนส่งไปยังIntel® FPGA
  • สร้าง_clock:
    • นาฬิกาที่มีการเปลี่ยนเฟส 90 องศาที่จะแลกข้อมูลภายในIntel® FPGA
  • set_false_path:
    • เป็นความสัมพันธ์ที่ไม่ต้องการที่จะไม่ถูกวิเคราะห์ในการวิเคราะห์เวลา ในตัวอย่างการออกแบบนี้ ความสัมพันธ์ที่ไม่ต้องการสําหรับการตั้งค่าคือ RF และ FR ในขณะที่ความสัมพันธ์ที่ไม่ต้องการสําหรับการระงับคือ RR และ FF

set_false_path -fall_from [data_clock] -rise_to [output_clock] -setup
set_false_path -rise_from [data_clock] -fall_to [output_clock] -setup
set_false_path -rise_from [data_clock] -rise_to [output_clock] -hold
set_false_path -fall_from [data_clock] -fall_to [output_clock] -hold

 

วิธีการตรวจสอบ

มีรายงานไม่กี่ฉบับที่ทําเครื่องหมายเพื่อตรวจสอบข้อจํากัดของแหล่งข้อมูลซิงโครนัสอย่างถูกต้อง

  1. รายงานนาฬิกา
    • ตรวจสอบความถี่นาฬิกา 3 (125 MHz, 25 MHz, และ 2.5 MHz) และเฟส
    • นาฬิกา Core TX (Intel® FPGA): 125 MHz, 25 MHz และ 2.5 MHz
    • RGMII_TX_Clock (PHY ภายนอก): 125 MHz +90Hz, 25 MHz +90Hz และ 2.5 MHz +90Hz
    • RGMII_RX_Clock (Intel® FPGA): 125 MHz +90Hz, 25 MHz +90Hz, และ 2.5 MHz +90Hz
    • RGMII_RX_Virtual_Clock (PHY ภายนอก) : 125 MHz, 25 MHz, และ 2.5 MHz
  2. รายงานการถ่ายโอนนาฬิกา
    • ตรวจสอบความสัมพันธ์ทั้งหมดในการตั้งค่าและระงับความสัมพันธ์ในการเปิดใช้สลักของอินเทอร์เฟซ RGMII สําหรับการถ่ายโอนนาฬิกา
    • การตั้งค่าที่ต้องการ: RR และ FF
    • การถือครองที่ต้องการ: FR และ RF
  3. รายงานการกําหนดเวลา I/O ทั้งหมด
    • ตรวจสอบว่ามีพาธที่ล้มเหลวและความสัมพันธ์ของ Launch-latch ตามการตั้งค่าที่ต้องการหรือไม่ และมีความสัมพันธ์แบบ Launch-latch ค้างไว้
      • อินพุตเพื่อลงทะเบียนสําหรับการตั้งค่าและระงับ
      • ลงทะเบียนเพื่อเอาต์พุตสําหรับการตั้งค่าและระงับ

หมาย เหตุ:

  1. TSE_10_1_RGMII_SDCเป็นไฟล์ SDC ที่สร้างขึ้นโดย Megafunction ไม่ครอบคลุมข้อจํากัด RGMII SDC ข้อจํากัด RGMII SDC รวมอยู่ใน RGMII SDC
  2. แก้ไขในไฟล์ TSE_10_1_RGMII_SDC.sdc:
    • แสดงความคิดเห็นderived_pll_clock (บรรทัด 246) ว่าจะทําให้คุณไม่สามารถใช้คําสั่ง create_gererated_clock สําหรับ pll ใน RGMII.sdc
    • เปลี่ยนชื่อFF_TX_CLKและFF_RX_CLKในแถวที่ 59 และบรรทัดที่ 60 ตามการออกแบบ
  3. มีคําเตือนที่สามารถละเลยได้ในการวิเคราะห์เวลา โปรดดูรายละเอียดที่ readme.txt ที่พบใน TSE_RGMII_With_SDC.qar
  4. ดาวน์โหลดไฟล์ที่ใช้ในตัวอย่างนี้: TSE_RGMII_With_SDC.qar

การใช้การออกแบบนี้อยู่ภายใต้และอยู่ภายใต้ข้อกําหนดและเงื่อนไขของข้อตกลงสิทธิ์การใช้งานตัวอย่างการออกแบบของ Intel®

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