Placement and routing have always been an integral part of printed circuit board design. The productivity of the product is often (if not always) achieved best if the PCB has a proper placement of the components and effective routing to support the placement. With the increased complexity of the designs and smaller board sizes, routing of signals has become more challenging. Designers are always looking for ways to ease routing complexity and hence reduce the turnaround time.
At a broad level there are 2 steps required to do the swapping:
1. Preparing the schematic and library for pin swapping.
2. Perform the required swapping on the PCB Board file.
Preparing the schematic & library for pin swapping
Fig 1. Package properties dialog box showing PinGroup assignment.
Specify a unique number in the PinGroup column for specific pins you want to swap within the gate/function. Only pins with the same value of PinGroup can only be swapped. For example, if all input pins are allowed to be swapped, specify a value of 1 to all input pins and 2 to all output pins for the PinGroup property, as shown in Fig 2.
Fig 2. User Properties dialog box at Library level
As per the above example, you are allowed to swap the pins across all 4 sections. If you want to restrict the pin swapping across some sections only, the value of SWAP_INFO should be changed accordingly. For e.g.: SWAP_INFO = (S1+S2),(S3+S4) will allow pin swapping between section 1 (S1) & section 2 (S2) and not with the other 2 sections (i.e. S3 and S4). Similarly, Pins between section 3 (S3) & section 4 (S4) can only be swapped within the 2 sections.
Fig 3. Create Netlist Dialog Box
Note: If you do not generate the board file during netlist creation, you could import the schematic logic to Allegro PCB Editor using the option File > Import > Logic command from within the PCB Editor.
Fig 4. Pin Swap command in PCB Editor
a. Select the pin on the footprint that needs to be swapped.
b. PCB Editor highlights the other available pins that can be swapped with the selected pin (from step #a). If no pins are highlighted, read the command window at the bottom for an appropriate message.
c. Select the pin from the highlighted group. Right Click > Done, to complete the swap operation.
Fig 5. All swappable pins are highlighted in PCB Editor
Refer to the complete AppNote for a detailed procedure about each of the steps involved in the process and also to learn more about the following:
@Hossein1357, Did you package the schematic after adding the PinGroup properties? The PinGroup properties needs to be transferred to the netlist and then the netlist should be re-imported into the brd file. If you still see the issue, kindly generate a case from http://support.cadence.com and one of the AEs will work with you.
I have tried pin swap but it didn't work. Although, I defined a PinGroup for my device pins in schematic and gave them a positive value it doesn't work in PCB editor. I always receive below message:
Pin is not swappable because the swap code is zero ... pick again.
how can i enable the pin swap option in concept hdl?
To make pins swappable, go to the schematic in Capture, left click on the logic gate you want to make swappable, go to the Edit menu and select Part. The part editor will be displayed. In the part editor select View → Package from the menu bar. You will see all the gates in the work space. Now select Edit → Properties from the menu bar to display the Package Properties spreadsheet