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