February 15, 2023
Artwork first started work on Gerber rasterizers in the early 1990’s and our base product, GBR_RIP, was developed soon after. Given its 25 year old pedigree, the architecture of GBR_RIP does not take full advantage of the many hardware and software developments since that time. While GBR_RIP (and spin offs including GBR2GRAYSCALE) has endured for 25 years, has had multiple enhancements made to it, and is in use in thousands of locations across the world, it’s time for fresh approach to Gerber rasterization using modern architecture.
We’ve spent the last couple of years incorporating support for Gerber data (RS274X to be more precise) into our most advanced platform – QisMLib. From this date forward any new client requirements for Gerber rasterization will be met using a product called QisMGbrip which runs inside the QisMLib framework making use of APIs from QisMGbrPS and QisMRaster.
GBR_RIP is limited to using 2 GBytes of memory for holding a bitmap. At the time, this seemed sufficient but today’s larger substrates combined with micron resolutions require producing bitmaps in the hundreds of GBytes. QisMGbrip can use as much bitmap memory as you can load into your workstation. This avoids the need for many small bands of rasterization resulting in faster production of the desired image.
Each time GBR_RIP needs to go to the source data to process a “band” the program must traverse the entire Gerber database to insure it processed all geometries crossing the “band”. When the input files are “large” this data traversal can take a lot of compute time.
QisMGbrip uses a quad tree (basically a sophisticated spatial sort) to quickly extract input data crossing the desired “band”. The performance improvement increases with the size of the input data.
For applications where the Gerber file is large and dense and where the output bitmap is very large, QisMGbrip scales up much more efficiently than GBR_RIP.
Users often want their rasterizer to "size" the input data up or down to compensate for downstream processes. Artwork incorporated sizing into GBR2GRAYSCALE for that purpose. It works correctly but does not scale well as the input file gets larger and larger. QisMGbrip includes sizing —the sizing operation is multi-threaded so one can throw many concurrent threads at the sizing problem and with today’s low cost multi-core CPUs the sizing performance bottleneck is greatly reduced.
For applications requiring edge compensation of the data, QisMGbrip can improve throughput by anywhere from 2X to 50X based on testing our set of reference files.
The following enhancements are in Artwork's road map for QisMBbrip. Most of these functions are already available and in use in different products so implementing them is more a matter of incorporating existing code than of writing new code.
Substrate Distortion CorrectionFuture versions of QisMGbrip can have multi-point substrate distortion correction turned on with a separate license. This feature is becoming more necessary as substrates get larger (think 600 x 600 mm panels) and run smaller feature sizes (think lines and gaps around 1 um)
On-the-Fly AnnotationDo you need to drop a QR code on each individual circuit in your panel? Do you need each circuit “serialized”? Future versions of QisMGbrip will include an annotation module that makes this straightforward both for text and images.
ODB++ SupportWe are currently working on adding ODB++ as an alternative input to QisMGbrip. Since many mask shops get ODB++ as their primary data for PCBs, this should enable fast rasterization without a need for an ODB++ to Gerber conversion.
Continued OptimizationQisMGbrip uses a completely different approach to rasterizing data. In many cases it is faster than GBR_RIP but not necessarily in all cases. We are currently investigating the sample files that run faster on GBR_RIP and working on optimizations for QisMGbrip that will enable it to match or exceed GBR_RIP’s performance on these files.
• All new engagements for Gerber rasterizers will be offered QisMGbrip
• GBR_RIP and GBR2GRAYSCALE will continue to be supported for existing customers
• QisMGbrip supports the same functions of GBR_RIP/GBR2GRAYSCALE
• QisMGbrip takes advantage of hardware with lots of installed RAM and CPU cores
• QisMGbrip greatly outperforms GBR2GRAYSCALE when sizing the Gerber data
• Additional Features are underway for QisMGbrip: Substrate Distortion, On-the-Fly annotation