• Home
  • :
  • Community
  • :
  • Blogs
  • :
  • PCB Design
  • :
  • BoardSurfers: Accelerating Allegro Layout Tools Using NVIDIA…

PCB Design Blogs

  • All Blog Categories
  • Breakfast Bytes
  • Cadence Academic Network
  • Cadence Support
  • Computational Fluid Dynamics
  • CFD(数値流体力学)
  • 中文技术专区
  • Custom IC Design
  • カスタムIC/ミックスシグナル
  • 定制IC芯片设计
  • Digital Implementation
  • Functional Verification
  • IC Packaging and SiP Design
  • In-Design Analysis
    • In-Design Analysis
    • Electromagnetic Analysis
    • Thermal Analysis
    • Signal and Power Integrity Analysis
    • RF/Microwave Design and Analysis
  • Life at Cadence
  • Mixed-Signal Design
  • PCB Design
  • PCB設計/ICパッケージ設計
  • PCB、IC封装:设计与仿真分析
  • PCB解析/ICパッケージ解析
  • RF Design
  • RF /マイクロ波設計
  • Signal and Power Integrity (PCB/IC Packaging)
  • Silicon Signoff
  • Solutions
  • Spotlight Taiwan
  • System Design and Verification
  • Tensilica and Design IP
  • The India Circuit
  • Whiteboard Wednesdays
  • Archive
    • Cadence on the Beat
    • Industry Insights
    • Logic Design
    • Low Power
    • The Design Chronicles
pbernard
pbernard
23 Jul 2021

BoardSurfers: Accelerating Allegro Layout Tools Using NVIDIA GPUs for Complex Board Designs

This post was co-authored with Srinivas Kodiyalam from NVIDIA.

Cadence PCB Design Blog PostBoards and packages are getting extremely complex and large; what used to be considered large with millions of objects is now close to 100s of millions of objects. Traditional rendering on CPUs of such large and complex designs is not scalable for today’s demand. In fact, two years ago, we observed a performance degradation in the rendering functionality for certain big designs. With the increasing complexity of designs, the render time increases and the geometry calculations require about 80% of rendering time.

With 100s of millions of objects to be rendered and manipulated in Cadence® Allegro® PCB Editor and Allegro® Package Designer Plus, it is important to consider the following:

  • Efficient rendering of different database element types
  • Utilization and efficient implementation of scene graph and memory cache
  • Incremental database updates
  • Use of technology that scales with the hardware in-use
  • Use of NVIDIA Path Rendering OpenGL extensions

The rendering implemented in Release 17.4-2019 QIR 3 or Hotfix 019 is based on NVIDIA's NV_path_rendering OpenGL extension for rendering PCB shapes, such as ground planes, that can be concave, often with holes and curved edges.

Our Phase 1 efforts target Allegro PCB layout and packaging tools with the following changes:

  • Cache geometry in GPU memory to minimize the calculations on each draw event
  • Utilize the modern approaches to minimize the number of gl* calls

The following is a sample of the performance improvements obtained from phase 1 efforts:

Zoom 300% and show all, show/hide, pan, and zoom 100 times faster

Here are some rendering image quality improvements from the new GPU engine implementation compared to the old graphics:

Rendering is sharper and clearer

The supported GPU architectures include NVIDIA Pascal, Volta, Turing (including RTX and T4), and Ampere GPUs. Some of the GPU skews detected are as follows:

  • Quadro P500/P520
  • Quadro P400
  • Quadro P600/P620/P1000
  • Quadro P2000
  • Quadro P2000/P2200
  • Quadro P3200/P4200/P5200
  • Quadro P4000
  • Quadro P5000
  • Quadro P6000
  • Quadro GP100
  • Quadro GV100
  • Quadro T1000
  • Quadro T2000
  • Quadro RTX 3000
  • Quadro RTX 5000/RTX 4000
  • Quadro RTX 6000/RTX 8000
  • Quadro RTX A5000/RTX A6000
  • Tesla P4/P6
  • Tesla P40
  • Tesla P100
  • Tesla V100
  • Tesla T4

For technical and implementation details, please refer to:

NVIDIA GTC 2021 Conference presentation by Patrick Bernard and Anton Kryukov, “Accelerating PCB Layout Editor Using Modern GPU Architecture for Complex Designs”, Session ID: S31124.

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