By Richard Goering
Claiming a new “dimension” for printed circuit board layout, Altium Ltd. this week (Nov. 26) is releasing an upgrade to its Altium Designer product that includes real-time 3D visualization for PCBs. By switching to a 3D view, the company claims, designers can quickly identify problems before going to manufacturing.
The new Altium Designer 6.8 release also includes the company’s first direct C-to-RTL compiler for FPGAs, along with enhancements that enable design reuse at the schematic level. Altium Designer, the company’s core product, is a unified PC-based design environment that includes programmable logic design, PCB design, and embedded software development.
Rob Irwin, product manager at Altium, said that company has changed the graphics engine in the PCB design package so it runs in “native 3D” using Microsoft DirectX software. “It’s not a post-processing step,” he said. “When board designers are designing, they are actually working in 3D space. They can flip their view from 2D straight to the 3D view of the board.”
By switching to a 3D view, Irwin said, designers can see exactly what they’ll get with the manufactured board. “You can easily spot a lot of problems before you go to manufacturing, particularly with silk screens and solder masks and things like that,” he said. “They jump out at you in this [3D] rendered view. You can see where the silk screen goes over a hole, or where you’ve done something silly with the paste mask.”
Irwin noted that designers can “fly” inside the board and look at its internal structures and layers, and view how wires are connected. Designers can verify that blind or buried vias are connected at the correct layers, he noted.
“It really does give the designer a perspective on board design that they’ve never had before,” Irwin said. “You can instantly leap to this [3D] view whenever you want to check something out. For example, you can do it as you’re placing components.”
The 3D capability does not require any special hardware, and will run on any PC with a “decent graphics card,” Irwin said. “Most PCB design packages haven’t made use of the power of typical graphics cards today,” he said. “There’s a lot of power in the GPUs on these things and they’ve got heaps of memory on them. It’s all designed to play games at the moment. All we’re doing is using the power of these chips to do hardware rendering in a 3D environment, so there’s no additional load on the CPU.”
Modeling components for the 3D view is “simple,” Irwin said, and does not require any 3D modeling expertise. Users just need to specify the shape and height, and Altium Designer will “extrude” the 3D profile. Most component libraries supplied by Altium already include the height characteristics, he said. As for bare boards, users don’t need to provide anything – Altium Designer can render a bare board from the board stackup information.
Altium expects that designers will do most of their layout work in the 2D view, and switch to 3D when they want to see how the manufactured board will look. Since designers are natively working in 3D, they could potentially move components around or even route tracks in that view, although Irwin acknowledged that “I think that would feel a bit funny.”
A possible future extension of the 3D capability is an interactive link to mechanical CAD systems, where enclosures for electronic products are typically designed. That would allow designers to verify that a loaded PCB will fit into an enclosure. Altium doesn’t provide such a link today, Irwin noted, but he said “it’s an obvious way to go.” For now, Altium Designer provides output in the Standard for the Exchange of Product Model Data (STEP) format used by mechanical CAD tools.
Another new feature in Altium Designer 6.8 is what the company calls “unified” hardware/software compilation. It takes standard C code input, and produces a combination of compiled object code and FPGA-targeted RTL output. Designers can choose the C functions and variables they want to implement in hardware before compilation.
According to Irwin, designers need only to check a box to indicate that a given function should be placed in hardware, and the compiler will automatically produce the RTL code and “rewrite and recompile” the software portions of the code to make use of that hardware. “There are a lot of C to RTL converters and compilers out there, but you have to write code to be compiled into hardware and then write software to make use of that hardware,” he said. “What we try to do here is make the whole thing transparent.”
Other new features claim to support design reuse. For example, “device sheets” are reusable schematic sheets that can be set up in a library and plugged into any project. Signal harness objects let schematic designers group signals under a common name in order to simplify wiring traffic.
A new OpenBus graphical editor provides a way to define system architecture, including components such as processors, bus arbiters, peripheral driver hardware, and memory interfaces. For board level design, the new release adds differential pair length tuning. Altium Designer 6.8 also claims numerous graphical user interface enhancements.
Altium Designer 6.8 is available now, and is a free upgrade for existing users.