Flow Control - Xilinx LogiCORE IP MAC v8.5 User Manual

Ug144 1-gigabit ethernet
Table of Contents

Advertisement

Required Constraints
The UCF syntax which follows targets the MDIO logic flip-flops and groups them together.
Reduced clock period constraints are then applied.
Timespecs for Critical Logic within the Core
Signals must cross clock domains at certain points in the core, as described in the following
sections.

Flow Control

Pause requests are received and decoding in the gmii_rx_clk domain and must be
transferred into the gtx_clk domain to pause the transmitter. Therefore, whenever
gmii_rx_clk and gtx_clk are derived from different clock sources, the following
constraints must always be applied:
Configuration
When the optional Management Interface is used with the core, configuration information
is written synchronously to host_clk. Receiver configuration data must be transferred
onto the gmii_rx_clk clock domain for use with the receiver and into the gtx_clk
clock domain for use with the transmitter. The following UCF syntax targets this logic and
a timing ignore attribute (TIG) is applied. It does not matter when configuration changes
take place—the current configurations are sampled between frames by both the receiver
and transmitter.
1-Gigabit Ethernet MAC v8.5 User Guide
UG144 April 24, 2009
-- DISCONTINUED PRODUCT --
############################################################
# MDIO Constraints: please do not edit
############################################################
# Place the MDIO logic in it's own timing groups
INST "*gmac_core/BU2/U0/MANIFGEN?MANAGEN/PHY/ENABLE_REG"
INST "*gmac_core/BU2/U0/MANIFGEN?MANAGEN/PHY/READY_INT"
INST "*gmac_core/BU2/U0/MANIFGEN?MANAGEN/PHY/STATE_COUNT*"
INST "*gmac_core/BU2/U0/MANIFGEN?MANAGEN/PHY/MDIO_TRISTATE" TNM = "mdc_falling";
INST "*gmac_core/BU2/U0/MANIFGEN?MANAGEN/PHY/MDIO_OUT"
TIMEGRP "mdio_logic" = "mdc_rising" "mdc_falling";
TIMESPEC "TS_mdio1" = PERIOD "mdio_logic" 400 ns;
TIMESPEC "TS_mdio2" = FROM "mdc_rising" TO "mdc_falling" 200 ns;
# Flow Control logic reclocking
INST "*gmac_core/BU2/U0/FLOW/RX_PAUSE/GOOD_FRAME_TO_TX"
INST "*gmac_core/BU2/U0/FLOW/RX_PAUSE/PAUSE_REQ_TO_TX"
INST "*gmac_core/BU2/U0/FLOW/RX_PAUSE_/AUSE_VALUE_TO_TX*" TNM="flow_rx_to_tx";
TIMESPEC "TS_flow_rx_to_tx" = FROM "flow_rx_to_tx" TO "tx_clock" 8000 ps;
# Configuration Register reclocking
INST "*gmac_core/BU2/U0/MANIFGEN?MANAGEN/CONF/RX0_OUT*"
INST "*gmac_core/BU2/U0/MANIFGEN?MANAGEN/CONF/RX1_OUT*"
INST "*gmac_core/BU2/U0/MANIFGEN?MANAGEN/CONF/FC_OUT_29"
TIMESPEC "TS_config_to_rx" = FROM "config_to_rx" TO "rx_clock" TIG;
INST "*gmac_core/BU2/U0/MANIFGEN?MANAGEN/CONF/TX_OUT*"
INST "*gmac_core/BU2/U0/MANIFGEN?MANAGEN/CONF/FC_OUT_30"
TIMESPEC "TS_config_to_tx" = FROM "config_to_tx" TO "tx_clock" TIG;
www.xilinx.com
#
TNM = "mdc_rising";
TNM = "mdc_rising";
TNM = FFS "mdc_rising";
TNM = "mdc_falling";
TNM="flow_rx_to_tx";
TNM="flow_rx_to_tx";
TNM="config_to_rx";
TNM="config_to_rx";
TNM="config_to_rx";
TNM="config_to_tx";
TNM="config_to_tx";
R
95

Advertisement

Table of Contents
loading

Table of Contents