Posted by Michael Posner on October 10, 2015
Ultimately when you hand-off your physical FPGA-based prototype to the end users there are only two things that they care about; Performance, Performance, Performance. I know I said there were only two things but performance is so important I listed it three times.
With the availability of HAPS-80 with ProtoCompiler, reaching your performance targets just got a lot easier.
This week I interviewed a number of the Synopsys R&D team to get the real users view of estimated performance from the new solution.
Starting with Single-FPGA performance
The simplest type of FPGA-based prototyping, the HAPS-80 S26 (26 Million ASIC Gates) system is expected to deliver up to ~300 MHz. With the Xilinx UltraScale VU440 device and a design which is highly FPGA friendly you might be able to close timing at a higher rate but in reality ASIC RTL is not FPGA optimized resulting in lower total performance. The PCB trace paths from FPGA to the HT3 connectors are all optimized and delay matched for not only the highest performance operation but also consistent timing regardless of the HT3 connector targeted. As ProtoCompiler is HAPS-80 aware, with built-in deep technical specifications including IO pin outs, timing delays, unique capabilities, it’s a pretty simple task to prepare a design for HAPS-80 S26 platforms.
Of course single-FPGA prototyping is very limiting, typically only used for IP and very small SoC’s, so multiple FPGA’s are needed.
In a multi-FPGA prototype the bottleneck of performance is typically the IO between the FPGA’s. The HAPS-80 has the most FPGA IO user available and the highest flexibility of interconnect options. In some cases this is enough IO to negate the need for any pin multiplexing across the links. When no pin multiplexing is used the interconnect can be run at the global synchronous rate, which in the case of HAPS-80 is ~100 MHz. The best part about this is that ProtoCompiler’s default goal is to create a partition with no pin-multiplexing needed making it easy to meet this performance. ProtoCompiler can automatically look for this type of solution or can be guided by the user manually if the user already has a good idea of the optimum partition cut point. WOW, HAPS-80 with ProtoCompiler Goes to 11 (I’m pretty sure I used this joke before Elon Musk)
Finally if partitioning is needed then pin multiplexing needs to be used.
This is HAPS-80 with ProtoCompiler’s clear strength thanks to the unique HAPS High Speed Time Domain Multiplexing capability which users rely on. With the HAPS-80 we have introduced a new version of the High Speed Time Domain Multiplexing, optimized for the Xilinx UltraScale devices which is proving to be between 20-50% higher performance than our traditional method. This is not because of the Xilinx UltraScale device, if anything the additional latency within the Xilinx IO’s the raw device IO performance is no better than the Xilinx Virtex-7 IO performance. We built in new capabilities into the HAPS-80 hardware and ProtoCompiler inserts logic optimized to this. The result is higher performance when this new pin multiplexing capability is used.
The HAPS High Speed Time Domain multiplexing scales across multiple systems and with ProtoCompiler’s knowledge of the HAPS it manages the clock and reset distribution with minimal to no impact to the users design. HAPS-80 supports up to sixteen systems in a single chain, 1.6 Billion ASIC gates.
A third pin multiplexing scheme has been developed which is targeted at transfer of lower performance signals or groups with more slack. This off-load signal capability free’s up IO’s which can be applied to the high performance signal needs resulting in lower pin multiplexing ratios and thus higher performance, in some cases as much as 2X higher performance
The combination of these integrated HAPS-80 and ProtoCompiler capabilities ensures that resulting prototypes are the fastest possible.
To SUBSCRIBE use the Subscribe link in the left hand navigation bar.
Another option to subscribe is as follows:
• Go into Outlook
• Right click on “RSS Feeds”
• Click on “Add a new RSS Feed”
• Paste in the following “http://feeds.feedburner.com/synopsysoc/breaking”
• Click on “Accept” or “Yes” or whatever the dialogue box says
After last week’s blog, where pasted a picture of the Halloween costume I’ve been making, I was asked multiple times what being made of spray foam actually means. Basically I took a bike helmet and a back pack and covered them in building material expanding foam. Building foam is very sticky and depending on which type you buy either expands a little or a lot. I use a mixture of both to get the effects I want. Below is the in progress pictures of the helmet and back pack.
I have installed LED lighting on both so that in the night it’s easy to see while track or treating and of course add’s to the models effect.