Quantcast
Channel: Cadence PCB Design Blogs
Viewing all 665 articles
Browse latest View live

Teardrops and Tapers – Improving Manufacturability and Yield Automatically

$
0
0

BoardSurfers: Cadence Allegro BlogTeardrops (also called fillets) are the blending area of a cline entry into a pad, while tapers are the gradual transition from one line-width to another along a path. These two core concepts appear in nearly any PCB or IC package substrate today. They act to smoothen the intersection of the two objects, eliminating acute angle acid traps while also contributing to better signal integrity along the path.

However, any time you modify your design, these items need to be updated. If you swap a via to a padstack of a different definition or size, remove a trace into a pad (potentially causing the pad to be removed completely if there are no other connections), change the entry angle, update a line width, or cross through a constraint region; there are countless ways to impact the teardrops and tapers. To get an accurate, complete design ready for analysis or manufacturing, teardrop and taper elements MUST be present. They impact surrounding plane shape voiding and push neighboring segments.

This is why the Cadence® Allegro® tool suite offers full dynamic filleting and tapering abilities for designers. By freeing you of the responsibility for managing these objects, more time can be focused on other design complexities, such as routing your high-speed nets.

 What capabilities do you have in the 17.2 tools and how do you take advantage of them through all phases of the design cycle?

Phase 1: Dynamic teardrops and tapers

In the early stages of your design, having teardrops enabled ensures that routing is valid. With dynamic mode enabled, choose the design-and-correct (allow DRCs) flow; this mode will create the teardrops, even if they are in DRC conflict with a nearby object. Doing so, you get real-time feedback where more spacing is needed to get an ideal route. Eliminate the hassles of a correct-by-design flow where you can’t add the route because a fillet can’t be placed, leading you to question where the problem is or how to correct it.

A route with a DRC to the fillet on a pad but where the trace and fillet both still exist

To work in this mode, turn on dynamic teardrops and tapers in the settings. Make sure that fillets are enabled in the fillet configuration form and set up which pad shapes need teardrops and the shape they should take. Add the NO_FILLET attribute to any nets which do not need them, and in your cross-section, turn on filleting for the layers requiring the process. If you only require fillets in certain areas of the drawing, you can add gloss keepout areas.  From now on, as you make or break any connections in the database, the teardrops and tapers will automatically adjust to the changes.

The cross-section form with the no_fillet column

Phase 2: ECO changes on existing designs

Once your design has gone to manufacturing, any engineering change order which comes in should result in the minimum of changes to the design. Therefore, you want the confidence to know that nothing about your teardrops and tapers will change in areas of your design other than where you are working, even if you move your design to a new version of PCB Editor which may have enhanced capabilities.

For this reason, when you get to this stage, the recommendation is often to lock the teardrops and tapers down outside of your change area. Quick tools, specific to fillets, are available to fix and unfix all teardrops or individuals. With the click of a button, you can lock these down from any changes, safely modify your design in the impacted area, and rely on the dynamic procedures to update things ONLY where you have unlocked the teardrops. None will be regenerated or modified in any way elsewhere in the design.

Why not turn off the dynamic mode and use manual mode instead? PCB Editor supports a full manual mode, but this shifts the effort back to you to ensure that nothing is missed or forgotten. Allowing the tool to track your changes and make the implied updates doesn’t just reduce the chance for errors, it speeds your time to market.

Benefits of Updating to the Latest Release

With every release, whether it is a major, minor, or quarterly update, improvements are made to the teardrop and taper flows.

In the recent 17.2-2016 quarterly update, pad filleting has been improved to understand stacked vias and vias in pins. Teardrops will always be based on the largest pad, not simply the pad that your cline connects to. This comes with improvements to teardrops on complex pad shapes like rounded and chamfered rectangles.

Teardrop based on padTeardrop based on largest pad

Teardrop based on pad

Teardrop based on largest pad

Allegro is always improving. So, keep an eye on the layout editor Release Notes for future developments.


BoardSurfers: Allegro 3D Canvas—Visualize the Board as You Design

$
0
0

BoardSurfers: Cadence Allegro BlogToday’s dense and complex PCB designs require realistic 3D view to investigate the design issues way before they are ready for manufacturing. The complexity of the PCB designs is increasing significantly with time and visualizing all the design components to address electronic and mechanical design issues in a single consistent environment has become a challenge.

To cater to this need Cadence® Allegro® PCB Design Solutions has a state-of-the-art 3D engine in the 17.2-2016 release. The enhanced rendering of graphics provides a real-life view of the design in various perspectives and directions.  The 3D engine is embedded in the 3D Canvas utility and is available with all the flavors of Allegro® and OrCAD® licenses. This lessens design iterations and increases time to market by allowing you to visualize and validate the design as if already manufactured.

 PCB Circuit Board with Bend in 3D Canvas

Key Features of 3D Canvas

3D Canvas is not just a viewer. It is a interactive tool that lets you work in 3D space with zero response time and great accuracy.  

Easy to Use: UI and Menu Controls Consistent with PCB Editor 

Similar UI and control panels for color, visibility, and objects as in the layout editor. Consistent menus and mouse functions make it easier to work and navigate in the 3D space.

Customizable Canvas Color

A set of pre-defined color themes are available to visualize designs in different color combinations. You can customize a color theme to match it to your conventional manufactured board.

Multiple Rendering Options

Investigate the design using default camera views, such as top, bottom, front, back, and so on, to view the design from different perspectives. You can switch between orthographic and perspective projections to analyze a more accurate view of the design. You can zoom, pan, and rotate the entire board to assess the design issues that are difficult to verify in a 2D view.  You can simplify the design by hiding objects, layers, and functionalities for quick review of the intended design areas or the objects.

Layer Visibility Control

Design layers with actual thicknesses are accurately shown and you can peel back the layers in succession to investigate objects and connections on the internal layers.

Sliced View

The cutting plane option provides the ability to cut through objects, creating a sectional view showing the internal details of the design that cannot be seen from the outside. You can cut along any axis and in both the forward and reverse directions.

Selective Viewing  

Design data visualization for a single object or a set of objects has been simplified. You can use a filter in the 2D design window to view only selected type of objects; for example, pins, vias, or components. You can also select a single net or via and render it in 3D Canvas. And, to add to it, you can window select a part of the design and open 3D Canvas to view only that selected area.

Cross Probing Between 2D and 3D Views

The advanced 3D engine takes care of synchronization between 2D and 3D views and even minor changes made in 2D are reflected in 3D in no time, and vice-versa. Seamless switching between 2D and 3D views provides the ability to run checks and verify design changes instantly.

Collision detection

External CAD systems are no longer required to verify the clearance between enclosures and assemblies in the design stage. You can see clashes between objects and tweak the placement accordingly: run 3D collision detection and move the overlapping objects that violate the spacing rules.

Interactive Move

Interactive move operations are, by default, enabled to let you do placement corrections in the 3D view itself.

Bend Area Visualization

The new 3D Canvas efficiently displays bend areas of a multi-zone rigid-flex design and lets you view the design in its folded state. You can either bend a single area separately or enable multiple bends for bending in the 3D view. You can conduct collision checks when the design is bent and measure a selected path in the 3D mode to optimize the clearances between enclosures and assemblies. 

Export to Industry-standard Formats

A range of output can be generated from 3D Canvas.  You can export 3D geometry and structural information of a board to almost all the industry-standard formats including HSF, HMF, OBJ, PLY, STL formats, and 3D PDF.

This is not an exhaustive list; keep an eye on the PCB Editor Release Notes for the new capabilities in 3D visualization engine to reduce design re-spins, saving cost and time to market. See Allegro 3D Canvas User Guide to explore 3D Canvas in depth.

BoardSurfers: Dynamic Shape Voiding – Getting the Most Out of the Tool

$
0
0

BoardSurfers: Cadence Allegro BlogDynamic shapes; whether used on a negative or positive artwork layer, for power, ground, or signal; are the next most common element of a design after components and routing. The importance of using them effectively, then, can be the difference between a design that is DRC-free, ready on time, and easy to update for ECOs (Engineering Change Orders) and one that you seem to struggle with on a daily basis trying to force it to work.
As you move components, add and slide routing, or add features to improve signal integrity and manufacturing, you will impact the shapes in your design. An added via will require an extra void, but does that via also need thermal relief lines to the nearby shape? Will routing a trace too close to another result in a long sliver too narrow for the ground shape to squeeze between them for shielding? Does that return path via get too close to the edge of the shape, no longer able to connect over the pad center? Whatever you are doing, the action is likely to impact a shape on some layer of the design.

The Basics: Shape Types

The Cadence® Allegro® tool suite offers two types of shapes.

Static shapes, which are not managed by the system based on user design edits and dynamic shapes, which will automatically update voids as you go. These shapes can be very valuable in ECO flows where you do not want the system to make any changes to the shape you don’t see or sign off on.

Dynamic shapes, which update as design changes are made, allow you to easily see the impact of your edits and immediately undo and try another strategy if the impact on the shape is unacceptable. Dynamic shapes can be disabled - meaning no voiding is done (useful for a short term if you are making a large number of changes), rough/fast - meaning voiding is done but artwork checks and smoothing is not (much higher performance with localized updates based on design changes at the expense of having to do an update to final artwork later), and smooth, where all artwork prep is done in real-time as the design changes are made (great for smaller designs or later in the design, once you need 100% accurate shape outlines for SI analysis and other operations).

While many aspects of the two shape types are the same – the constraints they follow, for instance – the nature of dynamic shapes gives them advantages over static shapes. If they break into multiple etch pieces, islands and antenna areas can be automatically suppressed. Thermal connections can be updated in real-time. They can even have their fill style and parameters individually modified with instance-level customizations over the default global shape fill settings.

Voiding – How is it Done?

You’ve just routed a signal net through your ground shape. What impact does this have on the shape? First, required spacing will be determined. The basic holes for the cline, vias, and pins can then be cut from the shape. If your cline crosses multiple constraint regions, the spacing may be different in each of these. With vias and pins, multiple constraints may play a role – drill hole to shape clearance, regular or anti-pad clearance, even route keepout clearances for backdrilled pads. If you have set oversize clearances at the object, shape, or global shape parameters level, these are added for the basic hole generation.

Once the basic holes are generated, they are merged together to form compound void outlines. If you’ve routed a single net through the shape, the clines and vias are all connected together: you will see only one resulting hole. The hole and surrounding metal shape must then be analyzed for manufacturability. Acute angles will be trimmed. Narrow areas of the shape will be removed. And portions of the shape with no connections (known as islands) may be suppressed entirely.

Finally, the impact of these new voids is validated against surrounding elements. If the void around your cline causes a nearby ground via to disconnect from the shape, it may now need to be voided and thermally connected, instead. If your shape uses a cross-hatched fill, partial voids in the pattern may need to be filled to eliminate acid traps. Once the shape’s outline is deemed constraint-abiding and artwork ready, it is ready for you to see on the screen.

Shape with islands deleted

Constraints – How do They Impact Voiding

Constraints are the lifeblood of your design. They allow the system to run checks and alert you to problems with connectivity, potential manufacturing issues, delay mismatches in critical nets, and many others. In a system with dynamic shapes, always meant to adjust themselves to remain a DRC-free state, what constraints drive this behavior and how?

Physical spacing constraints from the spacing and same-net spacing categories, drive the clearance between the shape and nearby objects. These will include via, pin, drill hole, mechanical hole, cline, text, and shape to shape spacing. But, with the hierarchical, advanced constraint structure available with Allegro® Constraint Manager, this is taken to a new level. The spacing will differ depending on the nets of the conflict item and where it is on the board relative to constraint regions.

The base spacing constraints are augmented by the shape parameters. Available at the shape instance level or the global design level, these allow you to add any additional spacing needed between the shape and that object type. All locations in the database must always snap to the defined manufacturing units and accuracy. Depending on the accuracy of your design relative to object sizes, this oversize allows you to control how the tool compensates when it cannot meet the spacing rules exactly. You can also control the pad types used (do you need to void to the regular pad for vias, or maybe you need to void to the anti-pad) and the thermal connections needed. If a full contact is required for a pin, then the pin’s origin point must overlap with the shape.

Shape rules in Constraint Manager

Lastly, in rare cases, you may need additional clearance on a specific object. Maybe you have a set of critical traces you want extra spacing around. Or this via shouldn’t be voided at all. Properties on those individual clines allow you to accomplish this exact tweak while maintaining it as you continue your design work.

Effectively Managing Your Dynamic Shapes and Voiding

With the number of rules to satisfy, it is reasonable to fear that having the system monitoring and managing this constantly while you work could lead to slow, inefficient design. Not so! Proper use of the tool will keep you moving fast without sacrificing design intent or feedback needed to make intelligent choices.

Place your components before you add your dynamic shapes. There is no need for the shapes to be there before there is anything to void to. Once you have your components laid out and are happy with the net scheduling, add your shapes. This should be done initially in rough or fast mode. While you are planning and placing initial routing, it is important to see if your shape integrity will be affected. But, it is far from the time when you need the shapes to be ready for artwork. After all, you can’t generate artwork when your components aren’t even connected! With initial routing complete, transition to smooth mode for your shapes. This will allow you to see the exact, detailed impact of your changes to the overall layout and metal density. If you have concerns about the metal coverage in areas of your design, Allegro offers tools to help monitor and guide you in this area, as well.

Avoid running the tool in smooth mode when you are making large changes to the entire design unless you are sure it is necessary. The time the tool spends trying to keep your shapes up to date during a batch update is likely to be far longer than just forcing them to update after all the complete batch of changes has been made.

Benefits of Updating to the Latest Release

With every release, whether it is major, minor, or quarterly update, improvements are made to fix bugs, add new functionality and improve the performance of both static and dynamic shapes. As a core technology in the PCB and IC package layout, these are always high on the list of focus areas.

In the recent 17.2 quarterly update, improvements to voiding accuracy around clines should be immediately noticeable. As your cline moves through constraint regions, not only does the trace neck up and down, but so does the shape to trace clearance. Clearance around the trace remains consistent across the entire path, as well, for SI reasons. If you need to add instance-level parameter overrides (or clear them) on multiple shapes, do so with the shape edit application mode. This will let you select them all together and make the changes, rather than applying changes one shape at a time.

3D Canvas

Expect a similar level of new capabilities and enhancements, targeted to get your design to market as easy and as rapidly as possible, in the future.

BoardSurfers: Validating Your Shapes

$
0
0

BoardSurfers: Cadence Allegro BlogYour design is near completion. Except that you’ve got an area of your plane shape that stubbornly refuses to fill, and you don’t know why. Understanding the rules involved and the tools available to help you figure out – and make changes, if needed, to get the result you want – is critical to make sure you aren’t wasting valuable design cycles.

Thankfully, the Cadence® Allegro® platform provides you with the exact checks that you need from start to finish. This post will cover those available tools plus when, and why, to apply them to your design.

Corrupt Shapes

While rare, it still happens at times that a shape outline in your design will become corrupt. It can be difficult to recognize this when it happens, but triggers that can visually show this are incorrect display of the shape (an area that should be voided appearing solid) or incorrect DRCs (reporting a violation that visually looks correctly spaced). To check for this, run DBDoctor from the Tools menu with the check shapes option enabled. If any shapes have problems, which could range from duplicate void elements to self-intersecting outlines, they will be reported in the results along with the net, layer, and reference location. If DBDoctor cannot decisively determine the intended shape, you will need to edit it yourself. Often, it is as simple as deleting and recreating the dynamic shape boundary, which is usually a simple outline.

Unfilled Shapes

If a shape doesn’t fill where you believe it should, there are a selection of potential causes. The number one cause is typically that the shape would be too narrow in that area. Areas narrower than your minimum aperture width cannot be filled. Consider spacing surrounding elements farther apart (we will assume you can’t just change your manufacturing capabilities!). A similar cause may be that the shape’s area is under the minimum shape area specified in the global shape parameters or, if you have enabled automatic island and antenna deletion, the shape may have been suppressed due to insufficient connections.

Shape with islands deleted

Wrong Net Shape Filling an Area

Rather than having an area with no fill, sometimes you will have cases where the fill in an area is associated with the wrong net. In this case, what to look for is very specific. In the Allegro layout tools, all dynamic shapes have an assigned priority. Higher priority shapes fill an area first, with lower shapes pouring only in the empty space remaining. Should you find an area with the wrong shape fill, check the fill priority for both shapes and adjust them to correct the pour ordering. In some cases, if you nest shapes inside of other shapes, it may be necessary to cut the shape into multiple pieces to get the priority you need in specific regions.

And remember: static shapes always have the highest priority! They cannot void automatically to surrounding shapes as dynamic shapes do. So, they will always fill where they are placed.

Spacing to Surrounding Items is Too Great

See our earlier blog entry about how dynamic shape voiding works. Of all the potential issues, this can be the most difficult to analyze. A first step is to use the show constraint tool to confirm the spacing required between the shape and the other element at the location provided. If you have a constraint region with larger spacing, or a net-net constraint, the voiding may be a result of these values. If that proves correct, then look at the object to see if there are properties specifying additional spacing needed from the shape. Lastly, it is possible that another object nearby, also in need of a void, has caused the shape to pull back here (indirectly, due to artwork requirements like minimum aperture).

Validating Before Going to Manufacturing

Having fixed all known issues with your shapes outlined above, you are ready to go to manufacturing. Before you can do so, there are a few steps that you must run. Some are required before output, like Gerber may be generated, others are good practices.

Make sure that your shapes are all up to date in smooth mode. You cannot generate artwork or other manufacturing outputs if shapes are not all up to date in smooth mode, since the artwork would not respect all the design rule requirements. You can check the shape status from either the global shape parameters page or from the status dialog and use the Update to Smooth button in either if needed.

Enable and run the DFM design rule checks for shapes. These provide you with solid, dependable checks for everything from acute angle corners to minimum widths across the entire design. Don’t rely on downstream tools to give you errors. Find them and fix them before you ever generate artwork!

Design for Assembly DFA rules in Constraint Manager

Run the shape check tool on shapes. This function will run a comprehensive check on the shape based on a specified aperture value. It will flag (circle figures in the canvas) areas that cannot be manufactured for any reason. Depending on where the issue is, you may choose to use a route keepout, add extra clearance to the object in the void, or edit the boundary of the shape directly. You can run the shape check tool again when you’ve made changes to confirm that there are no lingering problem areas.

Generate a shape report. Available from the Tools menu, the report will include all the shapes in your design, along with their artwork settings, cross-hatch parameters, and other details, such as area of fill relative to area of the boundary shape.

Benefits of Updating to the Latest Release

With every release, Allegro strives to improve its shapes tools and quality of results. From bug fixes to performance enhancements and new functionality as requested by you, the design community, you will always find helpful updates with every major or minor release.

In 2018, a new shape voiding engine was released. It eliminated almost all instances of shape spike and unfilled region problems while improving performance. This alone would be a great reason for anyone to update their software and take advantage of. When combined with a host of new voiding options and bug fixes, the option becomes ever clearer.

BoardSurfers: Place Replicate to Increase IP Reuse and Decrease Design Time

$
0
0

BoardSurfers: Cadence Allegro BlogOnce you have successfully designed and optimized an area of your substrate today, how do you leverage your tool to reuse your work across the rest of your current design – or apply it to other similar layouts in your queue?

If you have the good fortune to use the Cadence® Allegro® layout tools, you should turn to the place replicate interface. Whether you want to leverage just the symbol placement, incorporate additional routing that will tie subsequent instances together, or pull in critical supporting elements like keep outs and text; the replicate toolset will allow you to define the exact block for ideal reuse across your spectrum of designs.

How does this work, and what has changed recently for those of you familiar with Allegro module definitions already? Read on to find out!

What is a Module?

A module in Allegro is a reusable block of design elements. In an IC design, you might refer to this as a cell. The exact name will differ depending on the tool and context it's being used in. For discussions here, however, a module can contain physical symbols and logical components, placed relative to each other and a reference origin. They can also contain routing clines and vias, shapes, and even keep outs and reference text elements.

Module with Keepout

The purpose of the module is to allow you, as a design or a librarian, to build blocks of elements for efficient reuse across a substrate or a family of substrates. A common example of this, which resonates with many designers, would be to create a module of an entire design and then replicate that across the entire area of a panel. On the panel, each instance of the module is identical. So, creating a reusable block that gets repeated multiple times is more efficient for data representation and allows editing. After all, if you need to make an ECO (engineering change order) change to that design, wouldn’t you like all the instances on the panel to get those same updates automatically?

Because the module can contain the logical components and netlist, it retains the connectivity between routing elements and component pins. Then, when the module is applied to a different layout with different components, the mapping between the two netlists can be seamlessly applied.

Replicating Modules in The Same Design

Once you have your module defined in your design, you may find you’ve got a similar grouping of components in multiple areas. Don’t do the work more than once. Save yourself time. In this case, you don’t have to worry about layer stack differences, missing padstack definitions, or anything else. The flow is as simple as you would expect.

After making sure you’re in the placement edit mode, select the components representing another instance of this group in the canvas. Right-click and choose Place Replicate Apply and pick your module definition. If there are any uncertainties in component mapping, you can set these up in the form you are presented with.

From there, it is as simple as taking the module, now on your cursor with the logic hooked up relative to the new components, and placing it an appropriate location in the canvas.

The best part of this? If in the future you find changes you need to make to the original module’s layout, it can be quickly applied to all instances across the layout, ensuring that the SI characteristics will remain consistent in all cases and minimizing any opportunity for missing a change anywhere.

The Next Level: Reuse Across Designs

You’ve got your current design complete. You have your place replicate modules in your library. How do you leverage that for your next project, when your existing design is a four-layer board and the next one is a more complex, six-layer version? Do you have to start again? NO! If your six-layer design has components compatible with your module’s contents, you’re all set.

In your new design, make sure that your module path has your target reuse module available. From the placement edit application mode, select the component(s) to apply the module to. When you choose Place Replicate Apply and pick your module, the system will immediately notice that your cross sections aren’t the same; you’re presented with a simple drag-and-drop mapping form so you can get the layers mapped as is appropriate for this layer stack (maybe “bottom” in your four-layer design should be mapped to layer 4 in your six-layer, instead of bottom?). If there is any doubt about logical component to module instance mapping, you’ll be able to configure those ties, as well.

Module Layer Mapping: Different module and board stackup

Fear not about via definitions. Their start and end layers will be appropriately updated (creating new padstacks as needed) based on your layer mappings.  

From here, you’re all set. The module, with the logic hooked up, is on your cursor and ready for placement. Have multiple sets that should use the same (or other) modules? Just keep repeating. Before you know it, all your common parts and interfaces will be configured and be ready for connection!

Benefits of Updating to the Latest Release

With every release, you’ll find a host of new performance improving functionality in Allegro to save you time and effort getting your next design completed. If you have an idea for how the place replicate tool – or any feature in the product – can be even more useful to your work, be sure to let us know!

BoardSurfers - Aerials and Bails: How to Hide the Design Path in Art File

$
0
0

BoardSurfers: Cadence Allegro BlogBefore manufacturing, PCB fabricators analyze Gerber data to verify if it is manufacturable or not. If the artwork data meets the requirement, it is processed to make it usable by production tools and equipment. The various stages of data analysis and processing are automated at the manufacturer's end. Depending on the PCB maker you are working with, you may need to create artwork data files per their requirement.

Allegro layout editor's artwork generation command provides options to create the artwork files per manufacturer requirement. For example, you can specify a prefix or a suffix to the file name or change the file extension.

Global film filename affixes

If you are working on a critical project, data security and privacy will be a concern. There is another useful control that secures your outgoing data. It is available as an environment variable, and if set, stops printing the complete design path in the artwork data file. The name of the environment variable is art_stripdirectoryname. You can find it in the Artwork section of the Manufacture category in User Preferences Editor. Enabling this variable before creating artwork data removes the board design path from the comment section of the art file.

A test video

If you are interested in knowing more about other manufacturing controls, check out Allegro Layout Editor Environment Variables Reference.

BoardSurfers: Make Menus Your Own – Customizing Menus and Toolbars with Things You Use Daily

$
0
0

BoardSurfers: Cadence Allegro BlogFlexibility and the ability to customize the software/environment to your own personal needs is a definite strength of Cadence® software, and the Allegro® platform is no different. Whether you are developing your own SKILL program to make a detailed flow easier; automating a tedious, but routine, task; or just reordering commands in the menu to match your usage flow, Allegro offers you what you need. Best of all, it comes packaged in a way that you can integrate your own tools seamlessly into the core environment.

This is one of those questions I get asked regularly. It's a great opportunity to refresh those of you who are long-time SKILL users while also introducing the growing community of new users alike. Customizing with SKILL is extremely powerful; it is, almost unexpectedly, simple at the same time. For the sake of brevity, I will assume that you’ve already developed your SKILL tool, and that it has a top-level function call, (myFunc), which we will use here.

Phase 1: Making Your Skill Function a Command

It is not necessary to make your SKILL function a command to add it to the menu, but doing so will reap other benefits that make it worth your while. As an interactive command, for instance, if a user is running your feature and then starts another command, yours will automatically receive a done event to finish up and save the command's work before exiting so the user can seamlessly start the new feature. It also permits you register your command for undo/redo support.

Register your function as a new command using the axlCmdRegister function. You can find the fill details for this command, and all of the axl commands used in this post, in your installation hierarchy here:

%CDS_SITE%/share/pcb/examples/skill/DOC/FUNCS

An example call for axlCmdRegister is given below. The first argument is the name of your command, the second is the name of your top-level function. All other arguments are optional, allowing you to specify whether the command is interactive (stops the current command) or immediate (can be run any time), the function to call on a done or cancel event, and whether your command should be undoable. A simple line to register the command, then, might be:

(axlCmdRegister “my command” ‘myFunc ?cmdType “interactive” ?undo t)

You will normally add this in your allegro.ilinit file, which is read every time you launch the tool. If you don’t yet have an ilinit file, check out the example to get you started here:

%CDS_SITE%/share/local/pcb/skill/example.ilinit

Phase 2: Adding Your Command to a Menu

Once you have your command established, it’s time to put it into the menus. If you have different licenses – Allegro, OrCAD, and SiP, for example – you can choose to add the menu only in certain tools, or only when editing specific drawing types. Maybe your command is only useful when designing a new DRA file.  Whatever your decisions, using SKILL to customize the menu dynamically is simple and can seamlessly keep up as you download new hotfixes (ISRs), QIRs, or entire releases. 

The axlUIMenu series of commands gives you the ability to add new menus and items, change the text of an existing entry, or even delete a command if it is something you never use. For full details on all these commands, see the documentation. The basic commands are:

  • axlUIMenuFind– Finds the location of an item in the menus. By using it, you can find and position your command near other, similar items.
  • axlUIMenuInsert– Adds a new item into the menus relative to where you found another.
  • axlUIMenuChange– Changes information, like the displayed menu text, for a found menu entry.
  • axlUIMenuDelete– Deletes a found entry from the menu.

An example for adding the new function into the edit menu above the delete command is below. You can add this either to your same ilinit file directly, or you can create a SKILL file that contains this and add a line in your ilinit file to load your SKILL function, instead. This keeps the ilinit file small and compact.  

(defun loadMyMenu (t_menuName)
  (when (axlVersion ‘isAllegroDesigner)
    (axlUIMenuFind nil "delete")
    (axlUIMenuInsert nil "My First Command" "my command") 
   );when
);defun
(axlTriggerSet ‘menu ‘loadMyMenu) 

The axlTriggerSet line at the bottom registers your loadMyMenu function to be called any time menus are reloaded. As a bonus, this example looks at the tool version running to only show your command when in Allegro PCB Designer.

Once you’ve added everything to your allegro.ilinit file and corresponding SKILL source files, note that you’ll have to restart the software to see the effect. Make sure things are working, because the next step is where it all comes together.

Phase 3: Adding a Toolbar Icon

You’ve got your command, and now you’ve got it in the menu. Those are all the prerequisites to adding your command to a toolbar! If this is a command that you and your team run very frequently, it makes sense to have it in a toolbar. That might be one of the existing toolbars, like the routing or shape editing sets, or you may wish to define a toolbar that’s specific to your team.

Bring up the toolbar customization interface, found at View Customize Toolbar… It will look similar to the below:

If you want to define a team toolbar, simply click New and give it a name. It will then be shown in the toolbars list at the bottom, beneath the standard toolbars (you can rename it later if you want to). In the above, I have added MyToolbar to hold the new command’s button.

After adding your toolbar to the list, move to the Commands tab, and select your toolbar (or an existing one, if you want to add to the route or another default toolbar strip) to add a command to. Click Add Command… to bring up the list of available menu commands to add:

  

The categories on the left are all the menus and sub-menus present, sorted left to right and top to bottom. This makes it easy to find your command from the hundreds of menu entries in the tool. Navigate to its menu and either click the command and click Add, or just double-click. It will be placed into your selected toolbar. You can continue to add commands without closing this window. Click Close when you’re finished to return to the main page. Don’t worry about ordering, you can change the order in the main page after you’ve added all the commands you want.

One important note! For commands without an associated icon (sorry, you can’t add a custom bitmap icon for your command today), the toolbar button will display the menu entry text for the command. This is great in that it keeps the menu and toolbar consistent. But, if you plan to have a lot of custom icons, longer text may make the buttons larger than you want. Shorten the menu text for a shorter, smaller toolbar button.

Wrapping Up

You can add as many custom commands, toolbar buttons, and menu item entries as you like to the tool. Using SKILL to add them will make sure that they are available in whatever release of Allegro layout editor you’re working with, and only the product options and design types that make sense for the command. If you add a command to a toolbar strip, but the current product plus layout type doesn’t include the command, the button will automatically be suppressed to keep things as clean and uncluttered as possible. In the most recent releases of 17.2, you also have the ability (See the View – UI Settings... sub-menu) to save different toolbar and window arrangements for different tasks you perform. You may want one organization for team design review and sign-off, but another for doing your day to day routing work. Don't manually move things around every time; set things up once and save that arrangement with a name that you can go back to at any time.

Hopefully, this gives you a good start to taking the standard Allegro tool and making it sleek, focused, and optimized for your day to day work. The better the tool works for you, the faster you can get your job done. That time saved makes you, and us, happy.

BoardSurfers: Look Before You Leap - Verifying Footprints in the Design Capture Phase

$
0
0
View the footprints of symbols during design entry in Capture: verify the footprint and land pattern dimension before exporting your design to a board layout tool, such as PCB Editor,(read more)

BoardSurfers - Aerials and Bails: Minimum Screen Resolutions and Large Forms

$
0
0

BoardSurfers: Cadence Allegro BlogThe Cadence® Allegro® backend layout tools are large, complex, highly-capable environments that provide you with a massive amount of functionality. Whether you are designing a rigid-flex PCB, a BGA package, an interposer, or something else entirely, they provide the features you need to accomplish the task. 

However, with great functionality comes great… big forms, at times. Some of the largest forms in Allegro are for commands like Quick Place, shown below:

If you happen to be running Allegro layout editor on a laptop or other small screen with a lower resolution, like 1024x768, then you might run into some issues. In the case of Quickplace, you might find that the form gets cut off on the bottom, leaving you unable to access the four buttons to place, unplace, complete, or cancel the command:

What do you do in cases like this? Are you stuck waiting to run Quickplace until you can get back to a machine with a larger / higher resolution screen? No, says I, you are not out of luck at all!

Accessing Off-Screen Form Fields

The easiest way to do this, particularly if it is a short-term hassle due to being in an airport or somewhere else that limits your hardware, is to alias a function key to the command. Cancel you can always manage with the X in the top-right of the form, or with the assigned function key, F9. The OK button is the same as typing done on the command line or pressing F6. These function keys always work the same way (F1 can be used to access help for the command rather than using the button on the form as well, naturally!), so just using the function keys gives you access to those buttons’ capabilities.

That leaves you with the two remaining buttons. You can define an alias for each. To know what a button does when pressed, you can look in the journal file after a session or record a script and look at it. This will show you that, for the Place button on the Quickplace form, the system runs the command:

    FORM quickplc place 

Now, you want to make sure that it does this on the form, so it’s a good idea to activate the form before running that command, and then returning control to the canvas with your alias. That gives an alias that looks like:

    alias plc “setwindow form.quickplc; FORM quickplc place; setwindow pcb”

Whenever you run the plcalias, it will activate the Quickplace  form, click the Place button, and bring you back to the canvas. You can create a similar alias for the Unplace button if you need it. You’re all set, now able to easily use those buttons even if you cannot see them on the screen.

Hiding Form Controls You Don’t Use

There is a second option to cure what ails you. Maybe you don’t use all the options on the form. Perhaps the place by reference designator option is not how you leverage the power of Quickplace . If there are fields that you don’t need or wish to hide, one of the truly flexible features of Allegro layout editors is the ability to tweak forms to your liking.

While you cannot add NEW fields to a form – the tool wouldn’t have any idea what to do with them! – you can suppress or move fields around. Going back to our alias above, you’ll see that the form’s name is “quickplc”. Find that form file in your installation (…/share/pcb/text/forms/quickplc.form). Opening it, you can see the layout of the entire form.

Editing this file will allow you to remove fields that you don’t want to see, or just move the fields around. Be sure to keep the field’s names and types the same so that they continue to work as before. But, if you want to remove the Place by REFDES group of fields, you can delete or comment them out of the form, and then shift up the Y-coordinate values for the fields below it. This makes the form shorter so that it fits on your screen comfortably at any resolution.

Extensive examples and documentation on the forms’ format (sorry; couldn’t resist!) is in the …/share/pcb/examples/skill folder of your installation if you need help with the syntax. You can, for instance, even use the presence of a variable to control the form’s organization.

Add the following lines into the form file:

    #ifdef MY_VARIABLE

        ...

    #else

        ...

    #endif 

You can put the current form field arrangement in the else block. In the if, you can remove and rearrange the fields as we just talked about. Then, when you are on your low-resolution screen, just set that variable in your pcbenv/env file and relaunch the tool. You’ll get your new, compressed version of the form. When you’re back in the office, unset the variable in your env file to get the original form back. Of course, if there are fields you never want to see or access in general, you can remove them in the same manner. Typically, we do not advise this as you might forget that functionality is there at some point in the future when you do need it.

A Bounty of Choices

Whichever solution you go with, know that Cadence is always improving our tools and providing you with newer options and controls to make the tool your own. If something is causing you trouble, frustrating you, or simply preventing you from working at 100% efficiency, let us know so we can work with you to remove that hurdle!

BoardSurfers: Easier Design Work through Colors, Patterns, and Visibility

$
0
0

BoardSurfers: Cadence Allegro BlogPCB and IC Package substrates these days are complex. Multiple layers, hundreds to thousands of components and pins, degassed and cross-hatched shapes, routing, and everything in between can make the visual depiction of your layout imposing, to put it mildly.

How, then, do you reclaim control? Focus on exactly what you need to see and when you need to see it? Are there ways to simplify determining whether the via you are about to connect to is a stacked set of vias, a single micro via, or a through-hole? Maybe you need to differentiate a critical differential pair or bus from the surrounding objects to keep an eye on anything that impacts these paths when doing push and shove.

All of these are, I’m happy to say, very doable within the Allegro® back end tool environment. Whether you’re using the Allegro PCB Editor, APD, or the SiP Layout tool, you have the same comprehensive suite of visualization aides at your fingertips. Today, we’re going to walk through a few of these and talk about when you can use them to streamline an otherwise chaotic information overdose in your canvas.

The Main Color and Visibility Form

Any discussion of visibility must begin here with the Allegro tools. This form, shown below, allows you to toggle the visibility of any or all the layers in the design, set colors for them, or apply stippling patterns. This form is the basis for differentiating elements.

As you add or remove layers to the substrate or the companion classes, they show up here immediately. Use the Highlight unused colors option when assigning colors to different layers so that you can know right away that the color you’re assigning hasn’t been used anywhere else (You CAN use the same color on multiple layers, of course, and frequently you will on non-etch layers; many people also color all their dielectrics a common color if they are named). If your design team uses a common color palette for layers, you can import this from an external file. More on that later.

Once layers are set up, next comes nets. We don’t typically advise trying to set a unique color on every net. That would take a long time and probably be harder to try and remember than it would be helpful. However, any critical signals and your power/ground nets make sense to color. In this way, you can see where your ground planes are as you move through the design. A consistent color gives you that immediate recognition. Otherwise, you can color differential pairs, net groups, or entire bus structures with a common color.

That covers the basics of colors in your design. But, color alone isn’t enough to tame the complexity of today’s substrates.

Large Design and Huge Item Counts

If you have 100,000 vias on a layer, when you zoom out to see the whole design, they can look like a solid mass. It’s impossible to distinguish one from the next. At this point, is there much point in seeing them? Probably not unless you like watching your computer draw each via as an individual pixel on the screen. Consider removing these objects from the screen when you’re zoomed out. When you zoom in to do detail routing, you want to see them. But, at a high level, they are not useful.

Back in the Color dialog, on the Display tab, you’ll find Object filter. Size-based object filtering is not a new concept in IC layout tools, where you have billions of elements. It is, however, relatively new to PCB and package design. Smaller geometries have made it important, though.

Configure the minimum width/height in pixels for an object before it is drawn. You can, of course, filter only specific types of objects by size. Perhaps you always want to see pins, even at the highest level. Turn off those that aren’t critical elements here.

Finally, shadow mode coupled with global and shape transparency affords you the flexibility to see through a layer to those below. These are recommended, particularly during routing, so that you can keep the layers above and below the active routing layer as plane references. You don’t want these layers to overwhelm your senses, just to know they are there for decision making.

The Visibility Tab and Saved Views

We’ve covered the color form. This is where you set things up, but it isn’t your day-to-day access while you’re working on your layout.  It’s a large form and has a lot of one-time information or layers you don’t often need. The visibility tab, by default docked to the right of the main canvas, shows you the stackup layers. 

It’s possible that, depending on your role, you need to see different classes in the visibility tab. Use the Visibility Pane tab in the color form to add or remove classes you don’t want to see. You can completely remove things like the plane and mask layers if you’re not interested in them or add the dynamic shape boundary class to quickly work on them when in the shape editing mode.

If you frequently access specific non-stackup layers (place bound top/bottom, silkscreen, soldermask, etc.), add these as additional layers to the visibility tab. Don’t keep the big color form open. In the color form, you can right-click on any layer and add it to the visibility tab. This will be remembered with the design so there is no need to configure things as you move between designs.

Join us again next time, and we’ll cover how to distinguish between nets on screen by labeling them, how to see the layers a via (stack) spans.

BoardSurfers: Text Labels and Film Views Help Intelligent Designers

$
0
0

BoardSurfers: Cadence Allegro BlogLast time, I talked about color and visibility as it relates to simplifying your design canvas display to make your work easier. Today, we take the next step forward: using your artwork films to drive what you see on screen, as well as dynamic text labels to help you find objects. We’ll close out with a reminder of how to recycle the time you’ve spent setting up one design across all your designs.

Artwork Films as Display Views

If you use artwork as your manufacturing format, you’re likely familiar with the ability, as you’re defining an artwork film record, to preview onscreen what will be included in the film. This display of the film isn’t limited to only the artworksetup command. As you define films, you may not have noticed a little, very helpful, item: the films appear in the color views pull-down in the Visibility tab:

In the View pulldown, located just below the global visibility buttons, you’ll find all your films listed by name. Selecting one will update your canvas visibility to match that film. This can be extremely useful as you move from one layer to another for routing-related tasks, but it also very useful when looking over your solder mask and silkscreen setups and other features.

You can define your own custom views (not associated with an artwork film) with the View menu commands, Color View Save and Net Visibility Manager. The first allows you to define a color view file on disk to set up global visibility, incremental changes, or to toggle the visibility of certain layers. The second lets you apply show/hide type rules, but this time for nets and ratsnest lines. As you build up your library of views, they will be available across all your designs.

Make use of the three types of views to quickly update the canvas to focus on what you are working on. Never do you lose the ability to manually control the visibility of specific layers; using views can help you turn a dozen clicks or more of your mouse into a single menu pick!

As a closing note for managing your visible layers in the active drawing, please don’t overlook the Enable layer select mode found at the bottom of the Visibility tab. This, which can be turned on or off any time, allows you to click on a layer’s name in the Visibility tab and the canvas will shift to only displaying that layer’s contents. Very helpful as you route through the layers!

Dynamic Text Labels: Find by Name, Rather Than by Color

If you have thousands of signal nets and a dozen different substrate layers, you’ll soon find yourself running out of unique colors to assign to everyone. That’s normal. Even if you have enough colors, if you’re anything like me, after the first dozen or so are assigned, it takes longer to remember which color belongs to which net. If I must think about it, that’s already me more thought than should be needed.

Dynamic labels on elements supply you with the exact net name on objects. You can show them on clines, shapes, and/or pins. See the left side of the Design Parameter Editor form:

With these checks on, objects of the selected type that are assigned to a net will show the net name in the object. If you reassign an element’s net, the label immediately updates. These labels are invaluable as a mechanism to keep track of the nets you’re looking at when zoomed into a specific part of the design where context is harder to maintain. Don’t guess at whether you have the correct net. Know you do. There’s no need to waste precious seconds waiting for a tooltip to display and give you this information. Dynamic text labels are always there, ready for you to read when you need them. The only requirement? You need to be running with OpenGL graphics enabled. This is what allows the transparency and shading necessary for these labels to be ideally legible.

On the right side of the Design Parameters Editor form, you’ll find an option to show via span labels. In the following example, we can see the span for two different via elements. One from layer 11 to layer 12 and the other from layer  9 to 11.

Did you ever wonder why the top span has a colon (:) between the start and end layer, while the bottom uses a dash ()? That subtle differentiation is important. A colon indicates a single via, while the dash denotes a stack of two or more vias.

Closing Thoughts

As we are close to discussing tools that Allegro® layout editors provide to make your design easier to understand, one critical item remains: reuse. After spending the time to color your layers and nets the way you want them, would it not be wonderful to apply that SAME color palette to other designs that you work on? That consistency affords you less to remember, meaning more of your focus can be on the design work itself.

That brings us to the File - Import  Parameters or File - Export Parameter commands. The export interface, shown in the following image, includes the sets of information which you can export. Saving out a parameter file will include this information in an easy to read XML format file that you can import into any other design whenever you want to apply the chosen colors.

The original design and target design don’t need to share the same layer names or net names. If a name referenced in your parameter file isn’t present in the target design, the entry is silently ignored. Meaning that if you have a few different naming conventions (or work with different teams, where each has a unique scheme), you can include all the names in one file. This makes applying your colors easier, needing only one file for any design.  

With that, you should be all set! If our dive into these interfaces has left you with questions, or thoughts on functionality that would make your design tasks easier, please get in touch with the team. We’d love to hear about your experiences and suggestions!

How To Maintain Connectivity in a Multi-Board PCB System

$
0
0
Today’s electronics often incorporate multiple interconnected printed circuit boards (PCB) into their designs. Getting all the components in a multi-board system to work together as a cohesive final product hinges on choosing the right connectors for the design. In this post, we’ll dive into the different types of PCB interconnects and some best practices for implementing them in your next multi-board PCB project. (read more)

How Do I Know What Functionality to Put on Which PCB Board?

$
0
0
There’s only so much you can do with a single printed circuit board (PCB). We’ve seen advances in miniaturization and the steady rise in the number of transistors you can squeeze on a single chip.(read more)

10 Things You Might Have Missed in 2018

$
0
0
We’re sure it’s been a busy year for you. So busy that you might have missed the discussions about a number of new features Cadence introduced to help make PCB design easier for you. Let’s a take a look back at 10 of this year’s innovations.(read more)

Simulation for a Song: Downloading Models from the Web and Associating with Parts for PSpice Simulation

$
0
0

While on a long drive, I like to sing along; say Eye of the Tiger or Johny B Goode or Sweet Home Alabama (even though I don’t live in Alabama), the music being an active part of the journey, especially when I am just beginning the drive, fresh and eager, looking forward to the trekking and wildlife sightings.  Compare this with the schematic design phase. Whistling and nodding while placing the parts: here’s the library and there’s the part.

But sometimes, I just want to listen, say a pipa-based Chinese song or classical music, Eastern or Western, or a charming piece of Jazz; when, for instance, others are napping, or each is lost in his or her own thoughts, staring outside blankly. In the design world, it is that phase where you are intently staring at the design, connecting the grounds and power, contemplating any falls through the cracks, or ruminating on what was missed and what might be missed.

And then, sometimes I want the music to be passive, I am not even aware it is there, a trance track, for instance; at night or while negotiating a difficult stretch or crawling through bumper to bumper traffic. Of course, if I am driving through a wood (and that's what I do quite often), I want to hear the music of the forest; cicadas, the wind, birds, and frogs on a rainy day. Is not this the same wishful design phase where you run the simulation and wait, hoping all goes well; the circuit does not smoke or the Monte Carlo Analysis result is more certain than uncertain and the yield is as expected.

But very often, as in my drives or design cycles, I am jolted up. Probably, the road map app I used was not up to it in the wild or the weather played havoc or, delightfully for me, a deer just crossed the road. As for my designs, most probably, I used a part that cannot be simulated. The part does not have an associated model. And, that’s quite a jolt if you’re in a hurry and there’s a deadline looming.

But worry not. In the design world, at least, you can download and associate a model in the go (pun intended). Thank the Internet for the convenience, freedom, and ease that it gives: search what you want, buy, and download. And, as the title of this write-up says, it’s “simulation for a song” – the process is simple and inexpensive with the added benefit of freedom to choose.

Now, when you install a schematic editor and a simulator, say PSpice Mixed Signal Simulator, the most commonly used models are installed as libraries, the .lib files in the library directory. So, you can open Capture and start designing and simulating immediately. It is as easy as that. But what if you are designing something not so ‘common’, say, a Permanent Magnet Synchronous Motor Drive for the automotive industry or a monitoring device for IoT applications?

That’s why I love the new and simplified Associate PSpice Model interface of PSpice. I search for a model, download it from the Web, and associate with the part in my design. Or, I create a new symbol on the fly, while associating a PSpice model using Symbol Editor.

Now that I think of it, it is easier than me collecting music for my long drives. You just right-click a part in your design in Capture and choose Associate PSpice Model, browse to the downloaded library, select the model, and map the symbol pins with the model terminals.

And, while I get ready for my next drive; I hope, next time you come across a part without an associated model you face it with a knowing smile and a right-click.


Teardrops and Tapers – Improving Manufacturability and Yield Automatically

$
0
0

BoardSurfers: Cadence Allegro BlogTeardrops (also called fillets) are the blending area of a cline entry into a pad, while tapers are the gradual transition from one line-width to another along a path. These two core concepts appear in nearly any PCB or IC package substrate today. They act to smoothen the intersection of the two objects, eliminating acute angle acid traps while also contributing to better signal integrity along the path.

However, any time you modify your design, these items need to be updated. If you swap a via to a padstack of a different definition or size, remove a trace into a pad (potentially causing the pad to be removed completely if there are no other connections), change the entry angle, update a line width, or cross through a constraint region; there are countless ways to impact the teardrops and tapers. To get an accurate, complete design ready for analysis or manufacturing, teardrop and taper elements MUST be present. They impact surrounding plane shape voiding and push neighboring segments.

This is why the Cadence® Allegro® tool suite offers full dynamic filleting and tapering abilities for designers. By freeing you of the responsibility for managing these objects, more time can be focused on other design complexities, such as routing your high-speed nets.

 What capabilities do you have in the 17.2 tools and how do you take advantage of them through all phases of the design cycle?

Phase 1: Dynamic teardrops and tapers

In the early stages of your design, having teardrops enabled ensures that routing is valid. With dynamic mode enabled, choose the design-and-correct (allow DRCs) flow; this mode will create the teardrops, even if they are in DRC conflict with a nearby object. Doing so, you get real-time feedback where more spacing is needed to get an ideal route. Eliminate the hassles of a correct-by-design flow where you can’t add the route because a fillet can’t be placed, leading you to question where the problem is or how to correct it.

A route with a DRC to the fillet on a pad but where the trace and fillet both still exist

To work in this mode, turn on dynamic teardrops and tapers in the settings. Make sure that fillets are enabled in the fillet configuration form and set up which pad shapes need teardrops and the shape they should take. Add the NO_FILLET attribute to any nets which do not need them, and in your cross-section, turn on filleting for the layers requiring the process. If you only require fillets in certain areas of the drawing, you can add gloss keepout areas.  From now on, as you make or break any connections in the database, the teardrops and tapers will automatically adjust to the changes.

The cross-section form with the no_fillet column

Phase 2: ECO changes on existing designs

Once your design has gone to manufacturing, any engineering change order which comes in should result in the minimum of changes to the design. Therefore, you want the confidence to know that nothing about your teardrops and tapers will change in areas of your design other than where you are working, even if you move your design to a new version of PCB Editor which may have enhanced capabilities.

For this reason, when you get to this stage, the recommendation is often to lock the teardrops and tapers down outside of your change area. Quick tools, specific to fillets, are available to fix and unfix all teardrops or individuals. With the click of a button, you can lock these down from any changes, safely modify your design in the impacted area, and rely on the dynamic procedures to update things ONLY where you have unlocked the teardrops. None will be regenerated or modified in any way elsewhere in the design.

Why not turn off the dynamic mode and use manual mode instead? PCB Editor supports a full manual mode, but this shifts the effort back to you to ensure that nothing is missed or forgotten. Allowing the tool to track your changes and make the implied updates doesn’t just reduce the chance for errors, it speeds your time to market.

Benefits of Updating to the Latest Release

With every release, whether it is a major, minor, or quarterly update, improvements are made to the teardrop and taper flows.

In the recent 17.2-2016 quarterly update, pad filleting has been improved to understand stacked vias and vias in pins. Teardrops will always be based on the largest pad, not simply the pad that your cline connects to. This comes with improvements to teardrops on complex pad shapes like rounded and chamfered rectangles.

Teardrop based on padTeardrop based on largest pad

Teardrop based on pad

Teardrop based on largest pad

Allegro is always improving. So, keep an eye on the layout editor Release Notes for future developments.

DATA Pulse: Know How to Effectively Manage Part Obsolescence

$
0
0

 You know what it's like, right? Those sudden urges to declutter the house. Well, during one such exercise, my niece stumbled across some cassettes and looked at them like they were from some prehistoric age. How could I convey the importance of the audio cassette to my niece? She's used to iTunes, YouTube, Spotify, and goodness knows what else. I remember cassettes with much nostalgia - the familiar click and whir of a cassette being played in the stereo, patiently winding an unspooled tape with a pencil, mixing up casings as some inevitably cracked, and family gatherings around the record player.

But cassettes had a lifespan, and unlike digital tracks, they decayed and died. Every time I played a cassette, the tape deteriorated, and the sound got progressively worse. Destined for obsolescence, cassettes are now relegated to history.

All devices and components become obsolete after a time but with the dizzying rate of innovation today, electronics parts obsolescence assumes ever greater importance for manufacturers. Changes in speed, feature size, interconnection and packaging technologies, and voltage are now so frequent that many electronic parts that make up a product have a much shorter lifecycle than the lifecycle of the product itself. As though this isn't difficult enough, add people to the mix – as usual, they want ever-longer warranties for their products.

When crucial system components are no longer available from the original manufacturer with the original specifications, you need to move quickly to find replacements or rework your product designs. This is particularly true of manufacturers of long-lifecycle products in industries such as defense, aerospace, nuclear, railways, and so on. What's more, products in these industries are often subject to stringent regulations making even minor design changes expensive. This makes effective management of part obsolescence crucial.

This is the first of a two-part blog post on managing part obsolescence using Allegro® EDM applications.

How to manage part obsolescence

Because your products rarely have identical technology needs, operating environments, or support requirements, a single obsolescence strategy rarely works. But there are several ways to manage part obsolescence effectively to remain competitive, avoid costly rework and delays, and ease the pain:

  • Maintain information about parts in a centralized, easily accessible repository. Every member of the design team can make informed decisions for their designs after viewing information such as specifications, footprints, and lifecycle and other details.
  • Specify who is responsible for maintaining a product/equipment throughout its project life.
  • Maintain a list of alternate parts.
  • Define industry standard components for use in your designs. Unlike with specialized components, industry standard components tend to be used by more manufacturers and in a wider number of products, some of which might have a long production life. As a result, manufacturers have an incentive to keep manufacturing the components.
  • Assess the risk of obsolescence for each component in your Bill of Materials by defining and analyzing the number of manufacturers, years to end of life, stock available, consumption rate, and operational impact criticality.
  • Maintain alternative manufacturers lists to reduce redesign costs.

The Allegro® EDM component database is a centralized repository of all components in your libraries, maintained at a master (or global) site. Using Allegro® EDM Database Administrator, you can define a library manager.

The library manager can create a lifecycle state (even if the state already exists in a PLM system) and add a message to the lifecycle state to 'warn' designers about parts they choose to add to a design. To further help designers quickly decide whether they want to add a part to their designs, library managers can also assign a color for each lifecycle state, such as red for EOL parts.

With Allegro® EDM Database Editor, easily assign lifecycle states to parts.

And finally, after you add, delete, or in any way modify your part libraries, you can distribute the latest libraries to all the client sites in your enterprise. That way, parts in the client sites will all be synchronized with the data in the master site.

Part 2 of this blog post will be posted shortly where we will see how designers can use Allegro® EDM applications to quickly search for and access approved and preferred parts and generate reports for specific types of parts.

BoardSurfers - Aerials and Bails: How to Split a Viastack

$
0
0

BoardSurfers: Cadence Allegro BlogToday’s compact and powerful devices require small and high-density PCBs. Tight routing around densely packed components is thus indispensable, but cannot be achieved using conventional blind-buried and through-hole vias. Consequently, stacked vias have become an essential element of contemporary PCB designs.  Stacked vias can be used in place of through-hole vias by placing multiple vias exactly over each other, taking less space, and ensuring reduced parasitic capacitance. 

It is often not easy to edit stacked vias since the vias are placed at the same location and handled as a single entity. You may want to move a single via without touching the entire stack and may be wondering how to do it. Or you wish to copy a via from the stack to reuse it in a design. However, it is no big deal doing this using Cadence® Allegro® platform tools.

Modifying Via Stack

To split a via stack during slide operation, a context-sensitive command Split Stack is available. In the Etch Edit application mode, set the Find filter to Vias and select a via stack. From the right-click menu options, choose the slide command. Then, right-click to choose Split Stack. It opens the Select Via of Stack form where you can choose a via or a via stack. The selected via/via stack will be separated from the master stack, which you can now slide independently.

         Splitting Via stack

The splitting of the viastack is also possible with the copy, move, and delete commands. You can disassociate a via from the stack and paste, move, or remove it from the design.

Splitting Via Stack in a Single Command

In a multi-layer board, where you have stacked vias that span across several layers of the design, splitting a stacked via calls for running the Split Stack command recurrently. Setting an environment variable can save this effort, and you can split the via stack in one go. In the command window, enter the following:

set stacked_via_multi_split

The Split Stack command starts showing additional buttons, All Above and All Below, in the Select Via of Stack form. Depending on the button chosen, the selected via and the vias above or below it are split.

Splitting Via stack    Splitting Via stack   Splitting Via stack

Keep checking this page for more blogs on vias.

BoardSurfers - Aerials and Bails: Take a Walk on the Wild Side...with Auto-Roaming

$
0
0

BoardSurfers: Cadence Allegro BlogWe have had this question before, so it’s a good one to remind everyone of in case you’re not aware of it. What I usually hear asked is how can you have the tool automatically pan/roam when your cursor gets to the edge of the canvas.

The good news is that this is there today for you; it may just be that you don’t realize it! To make sure that you don’t pan the canvas at times when you don’t intend to, you will have to be holding down the middle mouse button. This prevents you from accidentally moving the screen while you’re doing interactive routing, editing a shape, or simply moving to another window on your screen. I suspect you might not be thrilled if the window started panning when your cursor got to the edge as you tried to answer an email, dragging your differential pair route straight across the entire design!

As you press the middle mouse button, you’ll see the cursor on the screen turns into a hand, like it is gripping the canvas display. As you then move the cursor, it will pan in that direction. However, if you get to the edge of the canvas, or you just stop moving your cursor, the design will continue to pan until you stop it.

The speed of the pan is controlled by an environment variable, pcb_autoroam. By default, it will go one step further every ¼ of a second. Use the variable to increase or decrease the delay between steps to match your movement and remote desktop connection speeds as necessary. Below is a short video to show you how things work. I’ve set the updates to be every second so that it’s a little bit clearer:

Auto panning in PCB Editor

Beyond Auto-Roaming

You can configure how the tool pans and zooms beyond just how fast this happens, however. Two related options that you might not have seen, but which could make your life easier, are:

  1. roaminc– controls how far (in display pixels) the screen pans with each step.

  2. design_hdlpan – Changes how panning works. When set, the pan is in the same direction as mouse movement. This matches other tools you might use, like the front-end tools.

As a reminder, you can always pan with the keyboard arrow keys as well. Each press of an arrow will pan the amount specified in roaminc mentioned above, like a single panning step with the mouse. The arrow keys, of course, do not abide by the delay specified with pcb_autoroam. As fast as you can press the arrow keys and redraw the screen, it will pan.

The middle mouse button isn’t limited to just helping with panning, either. Click with it to enable fast access to zoom operations like zoom in, out, and zoom to window. If you have a mouse wheel, you can roll forward to zoom in or back to zoom out, too. Make good use of that middle mouse button! It can save you a lot of time and effort if you do!

DATA Pulse: Know How to Effectively Manage Part Obsolescence (Part 2 of 2)

$
0
0

 In part 1 of this two-part blog post, we analyzed how you can define a parts lifecycle manager, define and assign lifecycle states to parts, then distribute the latest parts to designers. In part 2, you're the designer and you want to know which parts to use in your design.

The initial PCB design – how did you come up with it? Doodled it on a piece of paper? Hashed it out in conference room meetings where at least some people, like Dilbert, wondered why such meetings are always held on Friday afternoons? Either way, you must have given more than a passing thought to schematic symbols. Although selecting and placing your symbols is just one aspect of a schematic design for a PCB, it's an important one.

There are no best or worst parts for a design, but there are several factors to consider – budget, specifications, result accuracy, availability, whether part alternatives are available, has an end of life (EOL) notice been issued for a part, whether a part complies with Europe's Restrictions on Hazardous Substances (RoHS)?

Allegro EDM's Part Information Manager allows parametric component searches that tie into your company’s preferred components database. This means that you have access to approved parts, thereby, perhaps, avoiding costly rework later. You can use these selected parts to build an initial BOM from which you can directly these parts into the schematic. As a designer, you can also specify a preferred parts list that contains only compliant parts.

When searching for parts using EDM's Part Information Manager, a quick glance at the color of a part row itself helps you as a designer know whether a part is about to be discontinued, or already is. You can then make informed choices about the parts to include in a design.

What about reports? Want to know which parts in your design have been discontinued? For example, after you added certain parts to your design, the librarian has marked some of them as 'Do Not Add'. Quickly query and generate a list of EOL parts in a design or shopping cart, or parts that have changed lifecycle status in an Allegro EDM project.

Like much else in life, obsolescence is inevitable and can't be avoided, but careful planning can help minimize costs throughout the product life cycle.

Viewing all 665 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>