วัตถุประสงค์ของตัวอย่างการออกแบบนี้คือการแสดงให้เห็นถึงวิธีการจํากัด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)
ข้อจํากัดของวิธีการ
- เลือกวิธีการจํากัดอินเทอร์เฟซ: วิธีการที่เน้นระบบเป็นศูนย์กลางหรือIntel® FPGAวิธีการที่เน้น
- วิธีการที่แตกต่างกันต้องใช้สูตรที่แตกต่างกันในการคํานวณค่าความล่าช้าในคําสั่ง set_input_delay และ set_output_delay
- ตัวอย่างการออกแบบนี้ใช้วิธีการที่เน้นระบบเป็นศูนย์กลาง
- ตัดสินใจว่าจะเปิดหรือปิดคุณสมบัติหน่วงเวลา (±90 องศา) ของ PHY ภายนอกตามที่กําหนดประเภทของการจัดตําแหน่งระหว่างนาฬิกาและข้อมูล
- ปรับชิฟเตอร์ 90 องศา -ศูนย์>
- ไม่มีการเปลี่ยนแปลง -> Edge ที่จัดแนว
- ตัวอย่างการออกแบบนี้ใช้ได้กับคุณสมบัติหน่วงเวลาของ TX และ RX ของ PHY ภายนอกที่เปิดอยู่ (การเปลี่ยน 90 องศา) เท่านั้น
- กําหนดความสัมพันธ์ของการเปิดตัวและสลักที่ต้องการ
- การเปิดตัวและความสัมพันธ์แบบสลักมี 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
- ข้อจํากัดของอินเทอร์เฟซ RGMII ข้อจํากัดการออกแบบของ Synopsys (SDC) อิงตามการออกแบบและแอปพลิเคชัน อย่างไรก็ตาม มีบาง SDC หลักที่จําเป็นสําหรับอินเทอร์เฟซ RGMII
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
วิธีการตรวจสอบ
มีรายงานไม่กี่ฉบับที่ทําเครื่องหมายเพื่อตรวจสอบข้อจํากัดของแหล่งข้อมูลซิงโครนัสอย่างถูกต้อง
- รายงานนาฬิกา
- ตรวจสอบความถี่นาฬิกา 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
- รายงานการถ่ายโอนนาฬิกา
- ตรวจสอบความสัมพันธ์ทั้งหมดในการตั้งค่าและระงับความสัมพันธ์ในการเปิดใช้สลักของอินเทอร์เฟซ RGMII สําหรับการถ่ายโอนนาฬิกา
- การตั้งค่าที่ต้องการ: RR และ FF
- การถือครองที่ต้องการ: FR และ RF
- รายงานการกําหนดเวลา I/O ทั้งหมด
- ตรวจสอบว่ามีพาธที่ล้มเหลวและความสัมพันธ์ของ Launch-latch ตามการตั้งค่าที่ต้องการหรือไม่ และมีความสัมพันธ์แบบ Launch-latch ค้างไว้
- อินพุตเพื่อลงทะเบียนสําหรับการตั้งค่าและระงับ
- ลงทะเบียนเพื่อเอาต์พุตสําหรับการตั้งค่าและระงับ
- ตรวจสอบว่ามีพาธที่ล้มเหลวและความสัมพันธ์ของ Launch-latch ตามการตั้งค่าที่ต้องการหรือไม่ และมีความสัมพันธ์แบบ Launch-latch ค้างไว้
หมาย เหตุ:
- TSE_10_1_RGMII_SDCเป็นไฟล์ SDC ที่สร้างขึ้นโดย Megafunction ไม่ครอบคลุมข้อจํากัด RGMII SDC ข้อจํากัด RGMII SDC รวมอยู่ใน RGMII SDC
- แก้ไขในไฟล์ TSE_10_1_RGMII_SDC.sdc:
- แสดงความคิดเห็นderived_pll_clock (บรรทัด 246) ว่าจะทําให้คุณไม่สามารถใช้คําสั่ง create_gererated_clock สําหรับ pll ใน RGMII.sdc
- เปลี่ยนชื่อFF_TX_CLKและFF_RX_CLKในแถวที่ 59 และบรรทัดที่ 60 ตามการออกแบบ
- มีคําเตือนที่สามารถละเลยได้ในการวิเคราะห์เวลา โปรดดูรายละเอียดที่ readme.txt ที่พบใน TSE_RGMII_With_SDC.qar
- ดาวน์โหลดไฟล์ที่ใช้ในตัวอย่างนี้: TSE_RGMII_With_SDC.qar
การใช้การออกแบบนี้อยู่ภายใต้และอยู่ภายใต้ข้อกําหนดและเงื่อนไขของข้อตกลงสิทธิ์การใช้งานตัวอย่างการออกแบบของ Intel®