Wednesday, February 20, 2013

OrCAD Capture’s Signal Integrity Flow


Cadence PCB Design Blogs

Cadence PCB Design Blogs


What's Good About OrCAD Capture's Signal Integrity Flow? The Secret's in the 16.6 Release!

Posted: 19 Feb 2013 08:02 AM PST

With the 16.6 release, you now have the capability of utilizing the PCB SI tools (SigXP) to work with topologies and constraints in the OrCAD Capture environment.

Capturing constraints early in design cycle is important for the following reasons:

  • Quality challenges as the design cycle for any PCB product is shrinking day by day
  • As the edge rates are shrinking, it is necessary to constrain the critical signals up-front to avoid signal integrity issues
  • As a result,engineers are forced to move some of the tasks early in the design cycle, which might cause more iterations if taken at the final stage of board designing
  • Enabling pre-route constraints cuts down the design iterations, enabling designers to deliver shorter design cycles

 

Read on for more details…



Here is an overview of the Capture – SI flow:




SI Model Management (associate models to schematic instances)
• Setting up SI Model Libraries
• Auto Generate Models for discrete components
• Assign Models to Parts and Pins

Explore Signals (associating explore signals and managing ECSets on schematic XNets)
• Export XNET to Signal Explorer (SigXP)
• Assigning topologies to schematic XNets
• Validate topologies on schematic XNets

Export/Import ECSets (exporting/importing ECSet assignments from/to the schematic)
• Export ECSets from the schematic to SI Expert
• Import ECSets to the schematic from SI Expert
• Export ECSets to physical layout
• Import ECSet changes from physical layout

Export/Import with Allegro PCB Editor (taking the ECSet to/from Allegro Layout)
• Netlisting to Allegro
• Backannotating from Allegro


There are two methodologies for managing constraints:

 

 

 

 

 

 

 

 

 

Please share your experiences using this new 16.6 capability.

Jerry "GenPart" Grzenia


Tuesday, February 12, 2013

Cadence PCB Design Blogs:FSP Planning Mode


Cadence PCB Design Blogs

Cadence PCB Design Blogs


What's Good About FSP Planning Mode? Check Out 16.6!

Posted: 29 Jan 2013 06:51 AM PST

The Allegro FPGA System Planner (FSP) 16.6 release offers major improvements in Auto-interactive pin swap ("Planning Mode") with the addition of "Auto pinswap" functionality. Using three different algorithms – Reassign Bundle Pins, Rake Order, and Breakout Order – you can re-optimize entire bundles (the existing 16.5 manual pin swapping functionality has been retained). The communication between Allegro PCB Editor and FSP has also been improved. Instead of using a copy of the FSP project and then side files for communicating swap requests, all communication is managed through an associated FSP project that the PCB designer selects in Allegro PCB Editor - this can be a copy of the FSP project or the master.


Read on for more details …

In the 16.5 release, the Allegro PCB Editor used placement dependent results to accomplish routing:


In the 16.6 release, the Allegro PCB Editor auto-interactive pin swap ("planning mode) uses the power of FSP during the PCB planning phase to re-optimize pin assignments based on actual bundle flows:

 

There are now available three (3) different auto pin swap algorithms that can be used - Reassign Bundle Pins, Rake Order, and Breakout Order:

 

 

The algorithms now combine flow/route planning along with the FPGA rules guided swapping:

 

I look forward to your feedback on these new capabilities.


Jerry "GenPart" Grzenia


DEHDL's Interface Aware Design


Cadence PCB Design Blogs

Cadence PCB Design Blogs


Posted: 21 Jan 2013 09:14 AM PST
Components in a design communicate with each other based on some rules or protocols. These protocols contain a group of signals with some relationships defined between them -- for example byte lanes, clock and strobes. The Allegro Design Entry HDL 16.6 release enables the use of these protocols or signal grouping by introducing support for hierarchical interface definitions.

These definitions can be entered in the design and can be saved on disk as a library for reuse purposes. This enables the system connectivity authoring at a higher level of abstraction, leading to acceleration in design intent authoring, and also communicates design intent at a higher level to the downstream processes.

The grouping of signals can help in planning the PCB implementation by guiding placement and converting of the groups to bundles and help in routing of the board. It can also be used for IC-Package-Board co-design.

Read on for more details …



New objects have been introduced in the tools for supporting the design flow.

Net Groups

A Net Group is a collection of net objects which is hierarchical in nature. Different types of Net Objects, such as Nets, Buses, Differential Pairs, XNets, and Net Groups, can be added as members of a Net Group. However, any net object can be a member of one Net Group only. Similarly, a Net Group can be a member of only one Net Group.
Net Groups are created on the fly using the existing design signals. They provide a higher level of abstraction and replace User Defined Buses.

Here's an example of tapping from a Net Group:






Interfaces
Interfaces are library definition of Hierarchical Net Groups. They are defined using a special Interface Editor and can be stored on disk. They can be loaded from a formal definition on disk for instantiation in designs. The existing signals can then be mapped to the Interface instances using Auto Mapping or Manual Mapping.
Net Groups and instances of Interfaces can be used in the designs for faster design authoring.
The Old Model for representing an Interface:
–    Uses a Vector signal to model an Interface
–    Manually tap bits & enter signal name
–    Single Level of Grouping Only
–    Notes are used to map bits to signals
–    Common cause of connectivity errors





The New Model for representing an Interface
–    Leverage Hierarchical Net Group or Interface Object
–    No more manual mapping of signal to bit
–    Infinite hierarchical groups
–    Selection of members done using RMB menus






The new Design Entry HDL (DEHDL) Schematic Operations
–    Creation of Hierarchical Net Groups
      •    Schematic Selection
      •    Editor Dialog box
–    Instantiation of Hierarchical Net Groups / Interfaces
      •    Tapping out members for connectivity
–    Editing of membership of Hierarchical Net Groups
–    RMB menu provides access to all Net Group and Interface Members
–    Dynamic Net Group update by connecting named signal
–    Auto-naming using patterns
–    Navigation to instantiated objects
–    Synchronization & Cross-Probing with Constraint Manager Objects


Constraints Manager Operations

–    Creation of Hierarchical Net Groups
–    Editing of membership of non-schematic defined Hierarchical Net Groups
–    Constraining of Hierarchical Net Groups and Interfaces
•    Application of Constraints Set
•    Adding and overwrite of constraints






Interface-aware Placement and Routing

You can display the shape of the auto-generated Interface and the Interface hierarchy can be traversed up / down:



You can do route feasibility analysis, and display the entire Interface at the RatBundle display. You can easily visualize scheduling issues. RatBundles can be  edited (split, etc), but with limitations based  on Interface hierarchy:




I look forward to your feedback!

Jerry "GenPart" Grzenia

Viewing Constraint Differences

MXBIT
Cadence PCB Design Blogs

Cadence PCB Design Blogs


Posted: 16 Jan 2013 08:59 AM PST
Starting with the Allegro PCB Editor 16.6 release, we can compare two constraint databases and view the constraint differences. This provides an efficient opportunity for designers to determine the differences between 2 designs.

Read on for more details
Generate a Constraint Difference Report
1. Open the Constraint Manager.
2. Select File > Import >  Constraints.
3. The 'Import Constraints' dialog box is displayed. Select the 'Report Only' check-box.
4. Choose the .dcf file to compare.  This .dcf file is exported from a different database.
5. Click 'Open' to create the report.

The Constraint Difference Report is shown below:


In the same way you can also select File > Import >  Technology File and open a .tcf file to view the Technology Difference Report.

View a Constraint Difference Report

The report can be opened in a built-in report viewer. This viewer consists of a toolbar and view window.
Report Viewer Toolbar:



The table below describes the function of each tool button.
Tools                                        Function
Previous                                   Selection shows previous view of the report
Next                                        Selection shows next view of the report
Export report to HTML               Export the report as an HTML page
Print Preview                            Shows a printer-friendly view of the report
Close Window                          Closes the report viewer
Export Report as HTML
1. Select the 'Export report to HTML' button from the toolbar. The Export Report dialog box is displayed.
2. Browse the directory to save the report.
3. Provide a report folder. 'OK' button gets enabled. Select OK.

The HTML page of the report is generated. You can open the HTML report page in any browser.
Printing a Report
1. Select the 'Print Preview' button from the toolbar.  The printer view is displayed for review.


2. Choose 'Send to printer' for printing the report.

Representing Constraint Differences
The Constraint Difference Report viewer is a two-frame, tree-view based representation.
Navigation Mode
1. By Tree-view shows a summary of the selected node in the tree-view:




2. By following Links, shows a summary of an object when selecting the object name link
3. By previous and next show selections made forward and backward in the report selections




View Layers

There are three viewing modes:
1. Summary only (S) shows a description only with the number of changes



2. Differences only(D) shows Destination and Source constraints for each attribute. Unchanged layers are not shown.




3. All values(A) shows constraints at Destination and Source for all layers.



Please share your experiences using this new 16.6 capability.

Jerry "GenPart" Grzenia

Pin Swapping in Allegro

MXBIT

Cadence PCB Design Blogs

Cadence PCB Design Blogs


Posted: 09 Jan 2013 09:00 AM PST
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.
Due to various critical routing situations like differential pairs, bus routings, and critical nets, PCB designers may seek the possibility of pin/net swapping at different levels and at different stages of the design flow. In the Cadence PCB flow, there are fast and easy ways to perform pin swapping, gate swapping and package swapping, all of which help designers ease the routing on the board and synchronize the changes with the schematic. This blog post describes the swapping techniques used in the Cadence PCB Flow using Allegro Design Entry CIS (DECIS) as front-end and Allegro PCB Editor as back-end software.
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
  • Specify the swap properties on the pins of the component to be enabled for 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.
  • If you are working with a split part (multi-section part) and wish to swap the pins across slots/sections, you need to have a property called SWAP_INFO specified on each of the sections as shown in the below picture:
    
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.
NOTE: Pins with the same pin group property can only be swapped among themselves.  
  •  Generate the Allegro netlist by choosing Tools > Create Netlist > PCB Editor (tab) from OrCAD Capture
 
  
Fig 3. Create Netlist Dialog Box


  •  Create the board automatically by checking the option "Create or Update PCB Editor Board (NETREV)" from the above UI.
 
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.

Pin Swapping in Allegro PCB Editor   
  • Once the schematic netlist is imported in Allegro PCB Editor board file, place the components on the board file and notice the unrouted connections.
  • To swap the pins on the board file, select Place > Swap > Pins
 
  
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:
  • BackAnnotate the swapping information (updated netlist) to the schematic and get the schematic in sync with the board file.
  • Some important aspects of the gate/function swap and component swaps.
  • Generating a swap report. 
Note: The above link can only be accessed by Cadence customers who have valid login credentials for Cadence Online Support (http://support.cadence.com).

Cadence PCB Design Blogs:RF PCB and Layou


Cadence PCB Design Blogs

Cadence PCB Design Blogs


What's Good About RF PCB and Layout? 16.6 Has Many New Enhancements!

Posted: 11 Dec 2012 09:31 AM PST

The 16.6 Allegro RF PCB application has many new enhancements. I'll cover a few over the next several weeks. Here are some major layout related enhancements:

  • Snap Enhancements
  • Add Connect Enhancements
  • Modify Connectivity Enhancements
  • Add Component Enhancements
  • Scaled Copy Enhancements
  • Single Segment Connection
  • Route with Any Angle Bend

Read on for more details …


Snap Enhancements

In Allegro 16.5, when you snap an RF component to a non-RF component pad, you can only snap to the connecting point (usually it is the center of the pad). Sometimes designers want to connect RF components with non-RF components at the edge of a pad. You can use this functionality to snap an RF component to a non-RF component, or a non-RF component to an RF component or even a non-RF component to another non-RF component based on the connectivity.

There is a "Snap to pad edge" check box on the form which is used for snapping to a specific edge of a pad:



Notice: When you snap a non-RF pad edge to another non-RF pad edge, this may result in violations for manufacturing/assembly, so you've to manually check all those violations.

The other enhancement for snap is that you can select some components as a temp group to snap together. During the snap command, RMB select Temp Group and then click a pin to snap, the whole temp group will be moved together.

The use model for the snapping pad edge is a little different from the original snapping functionality; once the "Snap to pad edge" option is checked, the Direction for "Fix source component" or "Fix destination component" will be disabled. The source component will be attached to your mouse and you need to move your mouse close to the destination component pad edge.

Add Connect Enhancements

The Add Connect command is enhanced to support snapping to pad edge functionality. When you check the "Snap to pad edge" option (this option is available once you check the "Snap to connect point" option), you can start routing from any edge of a pad by moving your mouse close the edge of the pad and clicking it to start.

There is another option named "Variable line width". This option will be available if the "Snap to connect point" option is checked. If you check the "Variable line width" option, the width of the RF trace will be variable based on the entry and the size of the pad and you can't change the trace width during the routing. If you uncheck this option, the width of the trace will use the value that you entered on the Options tab and you can change the width during the routing process.

There is an extra item on the RMB menu during the routing. It's "Accurate length". If you select it, a form will pop up and you can enter a specific value for the length that you want to route.

You can route RF trace with any angle mitered bend by setting as following:


 

Modify Connectivity Enhancements

This command is enhanced by adding a "Snap to pad edge" option. If this option is checked, the following "Fix source component" and "Fix destination component" options will be disabled:

Add Component Enhancements

The Add Component is enhanced with the new option of "Snap to pad edge". If this option is checked, the component to be placed can be located at a specific edge of a pad during the placement.



 
Scaled Copy Enhancements

This command is enhanced by increasing the option "Snap to pad edge". Once this option is checked, the scaled copied RF component can be connected to any edge of a pad.


 

Single Segment Connection

In some cases, designers may want to connect two points (pads) with a single segment (microstrip line for example). You can use this new command by clicking RF-PCB->Single Segment Connect as below:


 

Route with Any Angle Bend

This is a new command to connect two pins/pads with any angle mitered bend. We're trying to use three RF components (two line segments and one any angle mitered bend) to connect two specific pins/pads. The line segment may be Microstrip Line (MLIN) or Stripline (SLIN) and the any angle bend may be MBEND or SBEND2. Click RF-PCB->Any Angle Bend Connect to launch this command.
 

The parameters are shown on the Options tab as shown below:



 
If you have anything to share on how you're using these new features – please do!

Jerry "GenPart" Grzenia