AUTO_IDENTIFY_PIN_DIR MACRO

The AUTO_IDENTIFY_PIN_DIR MACRO is used to force PinTypes for the Drivers and Receivers on an existing net

Correct pinType definitions are very important for DIFF_PAIR constraints and when using Signal Integrity Models in simulation.

The pinType definition in the netlist can be traced back to the pin definition in the schematic symbols.

Many organizations build a very generic schematic symbol and assign INOUT for all pinTypes.

This macro lets the user re-define the pinType properly in the board database without having to fix the schematic symbol in the library which would cause a ripple effect of problems for the organization. 


AUTO_IDENTIFY_PIN_DIR 

The AUTO_IDENTIFY_PIN_DIR MACRO is entered as a list of MATCH_NET Attributes, Each MATCH_NET Attribute sets the pinType for one REF_DES match

Multiple AUTO_IDENTIFY_PIN_DIR Macros may be present in the CRF.


MATCH_NETS 

As shown in the figure above, Each MATCH_NETS Attribute specifies 3 values a  NET_MATCH, a  REF_DES_MATCH and a PIN_TYPE  which appear in the 3 succeeding columns.

Syntax:

MATCH_NETS=>| NET_MATCH | REF_DES_MATCH | DIRECTION

dal constraints identifies each net matching the NET_MATCH then it looks for any pin with the matching REF_DES_MATCH and sets that pin to the specified PIN_TYPE

Example1:

MATCH_NETS=>MC0_MC1 U1_MC0 OUT

dal constraints will find every net in the database that contains MC0_MC1 (for instance MC0_MC1_DQ<5>, MC0_MC1_ADDR<27>, MC0_MC1_CLK) 

For each net, it will look the reference designator of the endpoint and if the REF_DES  contains U1_MC0, it will force the PIN_TYPE of that pin to be an OUTPUT

Example2:

MATCH_NETS=>MC0_MC1 U1_MC1 IN

dal constraints will find every net in the database that contains MC0_MC1 (for instance MC0_MC1_DQ<25>, MC0_MC1_ADDR<4>, MC0_MC1_DM<5>) 

For each net, it will look the referenced designator of the endpoint and if the REF_DES  contains U1_MC1, it will force the PIN_TYPE of that pin to be an INPUT