Required Constraints

rtc_clk

The RTC can be incremented from any available clock frequency that is greater than the AVB standards defined minimum of 25 MHz. However, the faster the frequency of the clock, the smaller will be the step increment and the smoother will be the overall RTC increment rate. Xilinx recommends clocking the RTC logic at 125 MHz because this is a readily available clock source (obtained from the transmit clock source of the Ethernet MAC at 1 Gbps speed). This frequency significantly exceeds the minimum performance of the P802.1AS specification.

The following UCF syntax shows a 125 MHz period constraint being applied to rtc_clk:

NET "rtc_clk" TNM_NET

= "rtc_clk";

TIMEGRP "rtc_clock"

=

"rtc_clk";

TIMESPEC "TS_rtc_clock"

=

PERIOD "rtc_clock" 8000 ps HIGH 50 %;

Timespecs for Critical Logic within the Core

Signals must cross clock domains at certain points within the core. To guarantee that these signals are sampled correctly on the new clock domain, many constraints are required, and must not be removed. These constraints are also present in the example design UCF delivered with the core.

############################################################

# Clock Domain Crossing Constraints#

############################################################

#clock domain crossing constraints for Tx timestamp logic

#---------------------------------------------------------

INST "*top/tx_rtc_sample_inst/sample_toggle_req" TNM = FFS "tx_sample_req";

INST "*top/tx_rtc_sample_inst/resync_sample_toggle_req/data_sync" TNM = FFS "tx_sample_req_resync";

TIMESPEC "ts_tx_sample_req" = FROM "tx_sample_req" TO "tx_sample_req_resync" 6.5 ns DATAPATHONLY;

INST "*top/tx_rtc_sample_inst/sample_taken_toggle" TNM = FFS "tx_sample_taken";

INST "*top/tx_rtc_sample_inst/resync_sample_taken_toggle/data_sync" TNM = FFS "tx_sample_taken_resync";

TIMESPEC "ts_tx_sample_taken" = FROM "tx_sample_taken" TO "tx_sample_taken_resync" TIG;

INST "*top/tx_rtc_sample_inst/timestamp*" TNM = FFS "tx_timestamp";

TIMESPEC "ts_tx_timestamp_route" = FROM "tx_timestamp" TO "FFS" 8 ns

DATAPATHONLY;

#clock domain crossing constraints for Rx timestamp logic

#---------------------------------------------------------

INST "*top/rx_rtc_sample_inst/sample_toggle_req" TNM = FFS "rx_sample_req";

INST "*top/rx_rtc_sample_inst/resync_sample_toggle_req/data_sync" TNM = FFS "rx_sample_req_resync";

TIMESPEC "ts_rx_sample_req" = FROM "rx_sample_req" TO "rx_sample_req_resync" 6.5 ns DATAPATHONLY;

Ethernet AVB Endpoint User Guide

www.xilinx.com

105

UG492 July 23, 2010

Page 105
Image 105
Xilinx UG492 manual Timespecs for Critical Logic within the Core, Rtcclk, Required Constraints