이 설계 예의 목적은 TSE_RGMII 제약하는 방법을 보여주는 것입니다. 이 설계 예는 외부 PHY의 TX_CLK 및 RX_CLK 지연 기능(90도 이동)이 켜져 있는 경우에만 적용됩니다. 10MHz, 100MHz, 1000MHz인 3가지 속도에서 실행할 수 있습니다.
사용자가 트리플 스피드 이더넷 지적 재산권(IP) 코어, ALTDDIO, ALTPLL, TimeQuest 및 정적 타이밍 분석 및 DDR(이중 데이터 속도) 소스 동기화 개념에 익숙하다는 가정이 있습니다.
제약 방법
- 인터페이스 제약 방법( 시스템 중심 방법 또는 인텔® FPGA 중심 방법)을 선택합니다.
- set_input_delay 및 set_output_delay 명령의 지연 값을 계산하려면 다른 수식이 필요합니다.
- 이 설계 예시 사용 시스템 중심 방법
- 클럭과 데이터 사이의 정렬 유형을 결정할 때 외부 PHY의 지연 기능(±90도 이동)을 켜거나 끌지 여부를 결정합니다.
- 90도 시프트 -> 센터 정렬
- 시프트 -> 에지 정렬 없음
- 이 설계 예는 TX의 지연 기능과 외부 PHY의 RX가 켜져 있는 경우(90도 변속)에만 적용됩니다.
- 원하는 시작 및 래치 관계를 결정합니다.
- 4가지 유형의 시작 및 래치 관계가 있습니다. 라이저 라이즈(RR), Rise-Fall(RF), Fall-Rise(FR) 및 Fall-Fall(FF) 관계입니다.
- RGMII 사양에 따르면 LSB의 데이터[3:0]가 먼저 상승 에지에서 전송되고 MSB 데이터 [7:4]가 전송되고 그 다음에 떨어지는 에지가 전송됩니다.
- RGMII 인터페이스를 탑재한 TSE의 설계는 먼저 상승하는 에지에서 데이터를 캡처한 다음 에지가 떨어지는 것을 포착합니다. 이는 시계가 -90도 대신 +90도로 이동되어야 한다는 것을 의미합니다.
- 원하는 설정 시작 및 래치 관계(화살표 빨간색): RR 및 FF
- 원하는 보류 실행 및 래치 관계(파란색 화살표): FR 및 RF
- RGMII 인터페이스를 제약합니다. SDC(SDC)는 설계 및 응용 프로그램을 기반으로 합니다. 그러나 RGMII 인터페이스에 필요한 몇 가지 주요 SDC가 있습니다.
TX
- create_clock
- 외부 PHY로 전송하기 전에 인텔® FPGA 내부의 데이터를 래치하는 클럭
- create_generated_clock:
- 외부 PHY에서 데이터를 래치하는 90도 위상 이동이 있는 클럭
- 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:
- 인텔® FPGA 전송하기 전에 외부 PHY 내부의 데이터를 래치하는 가상 클럭
- _clock 생성합니다.
- 인텔® FPGA 내부의 데이터를 래치하는 90도 위상 시프트가 있는 클럭
- 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 클럭 주파수(125MHz, 25MHz 및 2.5MHz) 및 해당 단계를 확인하십시오.
- 코어 TX 클럭(인텔® FPGA): 125 MHz, 25 MHz 및 2.5 MHz
- RGMII_TX_Clock(외부 PHY): 125MHz +90º, 25MHz +90º, 2.5MHz +90º
- RGMII_RX_Clock(인텔® FPGA): 125MHz +90º, 25MHz +90º, 2.5MHz +90º
- RGMII_RX_Virtual_Clock(외부 PHY) : 125 MHz, 25 MHz 및 2.5 MHz
- 클럭 전송 보고서
- 설정의 모든 관계를 확인하고 클럭 전송을 위해 RGMII 인터페이스의 시작 래치 관계를 유지하십시오.
- 원하는 설정: RR 및 FF
- 원하는 보류: FR 및 RF
- 모든 I/O 타이밍 보고서
- 원하는 설정에 따라 실패한 경로 및 시작 래치 관계가 있는지 확인하고 시작 래치 관계를 유지합니다.
- 설치 및 보류를 위해 등록할 입력
- 설치 및 보류를 위해 출력에 등록
- 원하는 설정에 따라 실패한 경로 및 시작 래치 관계가 있는지 확인하고 시작 래치 관계를 유지합니다.
노트:
- TSE_10_1_RGMII_SDC 메가 기능에서 생성한 SDC 파일입니다. RGMII SDC 제약 조건은 다루지 않습니다. RGMII SDC 제약 조건은 RGMII SDC에 포함됩니다.
- TSE_10_1_RGMII_SDC.sdc 파일의 수정:
- RGMII.sdc의 pll에 대한 create_gererated_clock 명령을 사용하지 못하게 되므로 derived_pll_clock(246호)에 댓글을 달십시오.
- 디자인에 따라 59호선과 60줄에 FF_TX_CLK 및 FF_RX_CLK 이름을 변경합니다.
- 타이밍 분석 중에 무시될 수 있는 경고가 있습니다. 자세한 내용은 TSE_RGMII_With_SDC.qar에 있는 readme.txt 를 참조하십시오.
- 이 예에 사용된 파일 다운로드: TSE_RGMII_With_SDC.qar
이 설계의 사용은 인텔® 설계 예시 라이센스 계약의 이용 약관에 따라 적용됩니다.