Avoiding Crosstalk
To avoid crosstalk between nets, specify nets in one group that must be routed at a distance from the nets in a second group, and set the crossTalkNeighborIndex group-to-group constraint to 2. Alternatively, the same group of noisy nets can be given for both net groups, as is done in the Crosstalk Control Example, so that the conduit router will try to avoid assigning any pair of the given nets as immediate neighbors on adjacent tracks.
# Create the net groups as type 'cross_talk'
create_group -name group1 -set $selNetsSetA -type cross_talk
create_group -name group2 -set $selNetsSetB -type cross_talk
# Create a constraint group for bad neighbors create_constraint_group -name bad_neighbor set_constraint -constraint crossTalkNeighborIndex -IntValue 2 -group bad_neighbor # Assign the bad neighbor constraint group to the two net groups assign_group_group -net_group1 group1 -net_group2 group2 -group_group_spec bad_neighbor
Crosstalk Control Example
In the following example, two net groups are created: a group of noisy nets and a group of power nets. The crossTalkNeighborIndex is set to make the conduit router prefer to route the each noisy net next to a power stripe, while also avoiding routing noisy nets immediately next to each other.
# create a group of nets
set selNetsSet [find_name -name {someNets}]
create_group -name noisyNets -set $selNetsSet -type cross_talk
# create a group for power set pwr_set2 [find_net -name {VDD}] create_group -name pwrNets -set $pwr_set2 -type cross_talk # Create a constraint group for encouraged coupling/parallelism create_constraint_group -name prefer_neighbor set_constraint -constraint crossTalkNeighborIndex -IntValue 0 -group prefer_neighbor
# Create a constraint group for discouraged coupling/parallelism create_constraint_group -name bad_neighbor set_constraint -constraint crossTalkNeighborIndex -IntValue 2 -group bad_neighbor
# Create the preferred relationship between the noisy nets and VDD assign_group_group -net_group1 noisyNets -net_group2 pwrNets -group_group_spec prefer_neighbor # Create the unpreferred relationship between all nets in the noisyNets group assign_group_group -net_group1 noisyNets -net_group2 noisyNets -group_group_spec bad_neighbor


Related Topics
Preparing the Routing Environment
Return to top