• Home
  • :
  • Community
  • :
  • Blogs
  • :
  • PCB Design
  • :
  • BoardSurfers: Everything You Need to Know About Fixed Fillets…

PCB Design Blogs

BarbS
BarbS
21 Jul 2020
Subscriptions

Get email delivery of the Cadence blog featured here

  • All Blog Categories
  • Breakfast Bytes
  • Cadence Academic Network
  • Cadence Support
  • Custom IC Design
  • カスタムIC/ミックスシグナル
  • 定制IC芯片设计
  • Digital Implementation
  • Functional Verification
  • IC Packaging and SiP Design
  • Life at Cadence
  • The India Circuit
  • Mixed-Signal Design
  • PCB Design
  • PCB設計/ICパッケージ設計
  • PCB、IC封装:设计与仿真分析
  • PCB解析/ICパッケージ解析
  • RF Design
  • RF /マイクロ波設計
  • Signal and Power Integrity (PCB/IC Packaging)
  • Silicon Signoff
  • Spotlight Taiwan
  • System Design and Verification
  • Tensilica and Design IP
  • Whiteboard Wednesdays
  • Archive
    • Cadence on the Beat
    • Industry Insights
    • Logic Design
    • Low Power
    • The Design Chronicles

BoardSurfers: Everything You Need to Know About Fixed Fillets/Teardrops

BoardSurfers: Cadence Allegro BlogFirst, teardrops and fillets are interchangeable words in  PCB design, and both terms are used here in this post. Second, I’m going to go over fixed fillets from start to finish so you can avoid the problem when you are ready for Fab.

Let’s Get Started

Your design is done, you finished the routing, added fillets, and you want to make sure the fillets do not change. 

That’s great!

Allegro PCB Editor has a fixed fillet routine for you.

  • Fixing fillets is accessed by setting an environment variable found in the Route – Gloss category of User Preferences Editor:

            enable_fixed_fillets

  •  This variable requires a re-start of Allegro PCB Editor to access the following two new menu choices, which are added under the Route – Teardrop/Tapered Trace menu:
    •  Fix Teardrop
    •  Unfix Teardrop

Sounds easy, right?  Finish the design, review the fillets for correctness, and run the Missing Fillets report to verify the design is complete.

You are done and ready to output manufacturing media.

Let’s Fix Dynamic Fillets

Since dynamic fillets can change, and manually added fillets can be deleted when minor editing is performed, you might want to prevent the fillets from moving, or changing their geometry. You might use a third-party tool to generate fillets and need them to be fixed. 

Set the environment variable, restart Allegro® PCB Editor and look for the new commands Fix Teardrop and Unfix Teardrop in the Route – Teardrop menu. You should see this menu addition:

 Teardrop

 You can be selective on which fillets you fix, or to make this easy, make use of the right-click option Fix All (to fix all fillets in the design).

 When executed, the command window echoes the following message:

"Fixed status added to < # > of teardrops in design

Once you have fixed the fillets, you might ask, "How do you identify them?"

1. Show element will report them as locked.

              teardrop_info

2. Run the Missing Fillet report.

A new column will display with the header Lock Status

Each fixed fillet will report with a Lock Status of yes

The report continues to list any missing fillets, and the lock status will be empty for the true missing fillets

This example missing fillet report shows a net with 1 missing fillet on the Bottom and 2 fixed fillets on Top.

          Missing Fillets Report   

You are done! Those fillets are not moving! They are fixed until you chose to unfix them. You can confidently output artwork and archive the design.

Here is Where Problems Can Arise, and Why I Wrote This Blog

What happens when you need to modify the design? Perhaps you need to refresh symbols, move something, add something, or change the routing. ECO’s are inevitable in any design cycle. If you pick up a part and move it, dynamic (non-fixed) fillets regenerate on the net when the part is placed again.

Doing the same placement change with a fixed fillet disconnects the fillet from the net. When you pick up a symbol, slide a cline, or delete a via that has a fixed fillet connected, that fillet loses its connectivity to the original net and cannot be re-attached.

More problems occur as you continue to edit the database while fillets are fixed. For example:

  • DRC update flags spacing issues when something touches a fixed fillet that lost its connection
  • You may end up with fixed fillets in empty space and DRC will not find those
  • The missing fillet report will list Locked fillets with the net name: “Not A Net”. (That’s a clue!)
  • Dbdoctor may report illegal connection errors for the orphaned fillets. Note that dbdoctor is NOT able to modify the fixed fillets and those errors cannot be removed by dbdoctor.

The Solution Is a Simple Process Addition

  1. Before starting any ECO to a board containing fixed fillets, you need to “unfix” them.
    •  As easily as you used Fix Teardrop from the route menu, you can use Unfix Teardrop from the same Route menu
    • Unfix Teardrop command right-click options also contain Unfix All to make this easy
  2. At a minimum, unfix all fillets associated with any planned physical change to nets containing fixed fillets
  3. Perform the ECO
  4. Add fillets as needed to the areas of the database that were revised
  5. Check the missing fillet report and run the fixed fillet command again

If the above process was not followed, and you find yourself with a database that is already edited and contains fixed fillet problems, then you need the following solution:

  1. Run (and save) a copy of the missing fillet report
  2. Click through the report to review all fillets that have become “not on a net” and have lock status “yes”
  3. Set the environment variable enable_fixed_fillets
  4. Use the Route – Teardrop/Tapered Trace – Unfix Teardrop menu command
  5. Either right-click to choose Unfix all or use the missing fillet report as your guide to unfix the problem fillets, one at a time
  6. You can then delete them using the menu Route – Teardrop/Tapered Trace – Delete Teardrop, and click through the saved missing fillet report. You can do the same by runningdbdoctor to delete them all for you quickly.

            Dbdoctor reports a warning for each fillet processed.

              fillet_report

That’s it! You are ready to use fixed fillets!

Tags:
  • Allegro Package Designer |
  • Allegro PCB Editor |