HOME    COMMUNITY    BLOGS & FORUMS    Breaking The Three Laws
Breaking The Three Laws
  • About

    Breaking the Three Laws is dedicated to discussing technically challenging ASIC prototyping problems and sharing solutions.
  • About the Author

    Michael (Mick) Posner joined Synopsys in 1994 and is currently Director of Product Marketing for Synopsys' FPGA-Based Prototyping Solutions. Previously, he has held various product marketing, application consultant and technical marketing manager positions at Synopsys. He holds a Bachelor Degree in Electronic and Computer Engineering from the University of Brighton, England.

Archive for the 'Admin and General' Category

Synopsys’ New ProtoCompiler Software Speeds Time to Prototype

Posted by Michael Posner on 28th April 2014

 

Synopsys just announced ProtoCompiler which is automation and debug software for HAPS FPGA-Based Prototyping Systems. ProtoCompiler is the result of years of R&D effort to generate a tool that addresses prototypers challenges today and built on top of an architecture which can support the needs of prototypers long into the future. ProtoCompiler focuses on the needs of prototypers specifically addressing the need for accelerated bring up as well as providing capabilities which result in higher system performance as compared to existing solutions. In this blog I’ll discuss some of the technical details behind the main tool highlights. Below are the detailed highlihts.

  • Integrated HAPS hardware and ProtoCompiler software accelerate time to prototype bring-up and improves prototype performance
  • Automated partitioning across multiple FPGAs decreases runtime from hours to minutes for up to 250 million ASIC gate designs
  • Enables efficient implementation of proprietary pin multiplexing for 2x faster prototype performance
  • Captures seconds of trace data with gigabytes of storage capacity for superior debug visibility

(Read to the end of the blog if you also want an update on Mick’s Projects)

Highlight: Integrated HAPS hardware and ProtoCompiler software accelerate time to first prototype bring-up and improves prototype performance

As noted above the goal of ProtoCompiler is to accelerate the bring up of a prototype as well as providing a path to the fastest possible operating performance. ProtoCompiler is unique as it combines hardware/software expertise with intimate knowledge to deliver superior results. Think of it as delivering a HAPS hardware expert packaged up into a format that anyone using the tool can access. ProtoCompiler has deep technical knowledge of the HAPS hardware including configuration, clocking structures, interconnect architecture, pin multiplexing expertise and more. ProtoCompiler is not only a hardware expert, it’s also a software expert. ProtoCompiler is built on top of a state of the art Synopsys proprietary prototyping database that means RTL is effectively processed and incremental and multi-processing techniques can be deployed with ease.

All this results in blazingly fast processing speeds. As an example ProtoCompiler’s area estimation, essential for automated partitioning, can processed 36 Million ASIC gates in less than 4 hours as compared to 22 hours in existing solutions. Now that’s fast!. Thanks to the new data model and incremental modes all subsequent compiles are even quicker.

Highlight: Automated partitioning across multiple FPGAs decreases runtime from hours to minutes for up to 250 million ASIC gate designs

So there are actually two announcements packaged up in this highlight. Starting in reverse ProtoCompiler supports 250 Million ASIC gate and larger designs. Humm, this sounds a little suspect as when HAPS-70 was launched it only supported 144 Million ASIC gates, what does ProtoCompiler know that we don’t? Luckily I know, HAPS-70 can now be scaled to support 288 Million ASIC gates, 2x the capacity. HAPS-70 now supports chaining of any six systems so if you chain six HAPS-70 S48’s you get a total of 288 Million ASIC gates supported which is 24 Xilinx Virtex-7 2000T FPGA’s. All working in one synchronous system.

Any 3 HAPS systems can be chained via our standard control and data exchange cabling, when you go above 3 systems you utilize a synchronization module that manages the system synchronization. Managing clock skew, reset distribution and configuration is all handled automatically. ProtoCompiler understands the hardware capabilities thus making deployment of such a system a snap. No longer do your engineers have to worry about how to distribute clocking, we have done the hard work so you don’t have to. Other vendors “claim” scalability and modularity but if all they are delivering is boards then it’s nothing more than a wild claim. To deploy a scalable and modular system you need a complete solution of software and hardware. You can now prototype SoC designs you thought never possible

The first part of the highlight introduces the new partition technology deployed in ProtoCompiler. ASIC’s are bigger than a single FPGA so you need to quickly partition the design across multiple FPGA’s. Historically this has been a challenge but with ProtoCompiler that challenge has been overcome. The partition engine in ProtoCompiler requires minimal setup before you can apply it to your design. There are four simple steps to setup the partition engine #1 Create target system, basically which system(s) you are compiling to. #2 Establish basic constraints which are things like blocks of IO. #3 Define the design clocks. #4 Propose an interconnect structure. Actually #4 can either be defined telling the partition engine to use a set interconnect architecture or leave it open and let the tool do it. There are advantages of both. By letting the tool pick the needed architecture the resulting system should be higher performance as ProtoCompiler will maximize interconnect to reduce pin multiplexing ratio. In a previously deployed system you may have already set the interconnect and then want the tool to use the available resources so you don’t make any changes to the hardware in the field. ProtoCompiler has the flexibility to do both meeting the needs of new prototype creation and image re-spin after a new RTL code drop.

ProtoCompiler partition engine is FAST, using the same example as above, 36 Million ASIC gates, ProtoCompiler was able to come to an automated solution is 4 minutes!!! WOW. ProtoCompiler provides a huge amount of information as to what it automatically did so that the engineer can quickly review the results and maybe provide ProtoCompiler more guidance to optimize the partition. For example after the first run you might want to lock down select parts of the design and then incrementally run the engine to push it to find a better solution for the rest of the design. As it runs so fast you can do multiple of these optimization iterations in a matter of hours. I’ve played with the tool as I was interested in this particular capability and have to say it’s amazing. I’ve tried the open method and let the tool find a solution for itself, in this mode ProtoCompiler pretty much finds a solution every time. I also played with challenging the tool for example locking the tool to use only 100 IO’s (two HT3 connectors) between FPGA’s. ProtoCompiler quickly finishes and told me that I was crazy and that the design could never be partitioned with my selected interconnect architecture.

Highlight: Enables efficient implementation of proprietary pin multiplexing for 2x faster prototype performance

OK, this is simple, this basically says that ProtoCompiler can automatically deploy the HAPS High Speed Time-Domain Multiplexing (HSTDM). HSTDM is developed and optimized on HAPS and ProtoCompiler packages up this expertize and automated the deployment. The partition engine will automatically select HSTDM and instance it into the prototype design. HSTDM delivers high performance pin multiplexing between multiple FPGA’s. The signals are packaged up, sent across a high performance link and unpacked at the other side. This all happens within one system clock and is completely transparent to the user. No manual intervention, no additional latency, and it’s stable and reliable as HSTDM is tested as part f the HAPS production testing and every system has to pass the minimum HSTDM performance tests. This ensures that when you deploy am image with HSTDM that it runs on every system the image is loaded on. No need to tailor the pin multiplexing implementation for each board like you have to do with other vendors.

Highlight: Captures seconds of trace data with gigabytes of storage capacity for superior debug visibility

ProtoCompiler expands the debug capabilities and grows the HAPS Deep Trace Debug capability which utilizes off-FPGA memory to store debug data. ProtoCompiler provides seamless multi-FPGA debug capabilities on top of a set of other debug capabilities tailored to delivering visibility at the right level of the debug cycle.

In debug one size does not fit all, you need to deploy the right level of debug visibility capability dependent on what you are trying to debug and the specific point you are in the project cycle. Sometimes you want very wide debug visibility with fast incremental turn-around. Later in the design cycle you typically want very, very deep debug windows. ProtoCompiler delivers both, fully automated through the flow, seamless and transparent to the users. And when I say deep, I mean deep, the example below is very typical of the debug window where you can easily capture seconds of debug data.

As usual my blogs got really long. I wrote it in the car while driving from Portland to Eugene. Amazing that I could type all of this and drive at the same time (LOL, only joking I was in the passenger seat)

Anyway, ProtoCompiler is the bees knees and I personally think it revolutionizes FPGA-based prototyping using HAPS. What do you think of ProtoCompiler?

If you have managed to get this far into my blog then congratulations. I’ve been taking it easy this week while I recover from the pneumonia that I came down with. In the evenings I finished off the two mini RC tracked vehicles I had been working on. The basis of both are simple kits which I then modified and added RC receivers and motor controllers to. While I am a grown adult I must admit they are fun to play with. The first is a basic platform RC tracked vehicle which I attached a Lego sheet to. Little did I know that this would be so popular with my son. He has been building towers and all types of structures on top of it.

Why drive your car to a car park when the car park can come to you. No joke that’s what my son said.

Mobile tire store

Bulldozer and sweeper

At the same time I also built a kit that has a shovel that moves on the front. Again I modified it to be radio controlled, including the shovel. This vehicle is a HUGE hit with my son and he has been busy building towers, knocking them down, then tidying them up with the shovel.

There are a couple of video’s of these little things in action on my You Tube page: https://www.youtube.com/user/MrMickPosner (and a video of my chicken food winch system)

Posted in Admin and General, ASIC Verification, Bug Hunting, Debug, Early Software Development, FPGA-Based Prototyping, FPMM Methods, Getting Started, HW/SW Integration, In-System Software Validation, Man Hours Savings, Mick's Projects, Milestones, Project management, System Validation, Technical | Comments Off

Ice Cream with Raspberry Pi for Remote System Connectivity

Posted by Michael Posner on 15th February 2014

Engineering departments can no longer afford the luxury of all team members being located in the same office. The term global localization is used to describe how a team is split up over multiple geographies but must function as one unified entity. This is not only true for the personnel but also for the tools they use including FPGA-based prototyping hardware. While every software engineering in the world wishes for a high performance prototype directly on their desk typically logistically and financially this is not possible. FPGA-based prototyping systems must support this capability to ensure they can be accessed from anywhere around the world.

The HAPS series of FPGA-based prototyping systems support remote access via the HAPS Universal Multi-Resource Bus, or HAPS UMRBus for short.

The HAPS UMRBus enables the users to remotely access the HAPS system, configure it, monitor it and basically love it from a distance. The HAPS UMRBus enables much more than just remote access! The HAPS UMRBus enables data streaming to and from the system for test case stimuli or debug, advance use modes such as Hybrid Prototyping and transaction based validation and provides a generic API for user capability extensions. The HAPS UMRBus is able to deliver these additional capabilities because it’s a very high bandwidth, low latency connection from a host machine to the HAPS system.

The HAPS-70 series offers this high performance HAPS UMRBus and an integrated HAPS UMRBus over a lower performance USB 2.0 standard interface. The recommendation is that if you only needed remote connectivity for configuration and monitoring then use the HAPS UMRBus over USB 2.0 interface. If you needed high performance and low latency for Hybrid Prototyping and the other advanced capabilities then utilize the high performance HAPS UMRBus. Great right………………… Enter global localization…..

Our customers love that HAPS systems can be remotely accesses as it enables them to utilize the systems 24/7, 365 days a year (HAPS don’t even get Christmas off). However they like to lock them up along with their server hardware or in a data center. Some customers have dedicated hosts serving the HAPS which enables them to utilize the high performance, low latency HAP UMRBus and all the advanced capabilities. However, others just want to utilize the remote access via the HAPS UMRBus over USB 2.0 and while they have thousands upon thousands of Ethernet drops available they rarely have a host which they can plug the USB 2.0 cable into. So what are these users to do?

Enter the Raspberry Pi (see the blog title was not a typo but I bet the engineers already knew that)

To enable our customers to plug the HAPS system directly into an Ethernet hub one of our engineers came up with the great idea to utilize the off-the-shelf Raspberry Pi.

How it works: You buy a Raspberry Pi, USB cable, power supply and SD card, this is going to set you back around $50 (yep, not a typo, $50 and that’s usually a top of the range one). You then contact Synopsys HAPS support and we will provide you with a boot image to load on the SD card. The boot image is a standard Raspberry Pi OS with the HAPS remote access utilities, called HAPS Confpro, pre-installed. Next connect the USB cable between the Raspberry Pi and the HAPS-70 (or HAPS-DX) system. Finally connect the Raspberry Pi’s Ethernet connection into the Ethernet hub/switch and power it up. We recommend assigning a defined IP address to the Raspberry Pi so the HAPS system it’s connected to can be easily recognized. That’s it, you are ready to access the HAPS system remotely. I personally love this solution as it not only solves the problem but also lends itself for further capability expansion in the future. More on the expansion capabilities in a future blog….

What do you use the Raspberry Pi for?

Posted in Admin and General, Debug, Project management | Comments Off

Call to Action: Wiki FPGA-Based Prototyping Page Needs Content!

Posted by Michael Posner on 11th July 2013

While surfing the web I ran across the Wikipedia pages on FPGA-Based Prototyping, which they call FPGA Prototypes. http://en.wikipedia.org/wiki/FPGA_prototype Unbiased content is much needed for this page. Synopsys recently made a couple of updates implementing some quick fixes but what it really needs is some real users to update the article.

I know there are many FPGA-Based Prototyping experts out there, put this talent to even more use and update the Wiki page. If you comment below and let me know you have updated the page I’ll be happy to send you one of my Subaru piston paper weights that for some strange reason no one has claimed yet.

Off subject (as usual) it’s been surprisingly warm here in Oregon. With the nice weather I moved the two bouldering walls that I built to the outer part of my patio. The kids love to climb around on them and having them next to the big planter boxes that I built make for additional climbing challenges.

Posted in Admin and General, FPGA-Based Prototyping, Getting Started | Comments Off

Jim Hogan falls prey to HAPS cloak of invisibility

Posted by Michael Posner on 29th April 2013

I used to own a Ford F350 truck and it was huge with the long wheel base, full bed, extended crew cab measuring a length of about 25 feet (8 meters). The problem was that it came installed with a cloak of invisibility. I didn’t know it had a cloak of invisibility when I purchased but soon after while driving it down the freeway (motorway) a small car merged into the side of me. Unsurprisingly I won that battle and when I asked the other driver how it happened they responded “I didn’t see you”. Wait a second my truck is 25 feet long and that day I was towing a 25 feet long fully enclosed car hauler meaning I was over 50 feet long. How do you not see that…….. That’s when I realized that this truck came with the unadvertised cloak of invisibility option.

So what has this got to do with Jim Hogan you all ask….. well read on and find out.

The cloak of invisibility must be an undocumented feature of the HAPS product line as Jim Hogan wrote a complete article on emulation with mention of prototyping and managed not to mention HAPS once (well ok, once but that was in a table and that was the only mention). I should state that I do not know Jim personally and hold nothing against him. Jim’s article was pretty good but I am afraid I have to personally doubt the credibility of the data when the highest quality and most well-known FPGA-Based Prototyping product, HAPS, didn’t get a proper mention. Jim what were you thinking!!!!  Jim’s article focused on emulation but draws reference to FPGA-Based prototyping a number of times which is why I think HAPS should have been included in the article.

I have to believe that this omission was due to the undocumented HAPS cloak of invisibility. Jim; contact me and let’s solve this mystery.

What also got me all riled up was the following;

  • All FPGA-based solutions are “Emulators”

Not so! Jim included FPGA-based prototypes in the discussion – referring to them as “low-capacity emulators” (and never mentioned HAPS). Emulators focus on Verification providing a high level of automation and debug.  FPGA-based prototypes focus on Validation providing the high performance needed for software development and system validation with real world IO. I’ve blogged about the differences in the past (here).  Below is a recap of that incredible blog with simple graphics

I love the above analogy. You own both but depending on the task at hand you pick the right tool for the job.

The following simplifies the difference between Verification and Validation. While they both start with the letter V the goals are very difference which is why both emulation and prototyping play an important part of an SoC’s development.

Oh, I should also apologize for being tardy on my blog post this time around. I’ve been traveling a lot and when weighing up either writing a blog or sleeping, sleep always won.

Posted in Admin and General, ASIC Verification, FPGA-Based Prototyping, Humor | Comments Off

Don’t Forget SNUG SJC !!!!

Posted by Michael Posner on 22nd March 2013

Don’t forget SNUG SJC

http://www.synopsys.com/Community/SNUG/Silicon%20Valley/pages/default.aspx

Mingle with over 2500 over engineers just like you (But of course you are the best)

Posted in Admin and General, FPGA-Based Prototyping | Comments Off

SNUG and FPGA Debug

Posted by Michael Posner on 8th March 2013

This week, I have mostly been eating sushi.

Did you notice my blog title rhymed, SNUG and FPGA Debug, I thought that was pretty catchy.

 Alert, SNUG Silicon Valley is approaching fast, March 25th – 27th. http://www.synopsys.com/Community/SNUG/Silicon%20Valley/pages/default.aspx I’m personally not going to be able to make it down this year so I need you, my readers, to attend and then tell me all about it. There is a dedicated FPGA-based prototyping track and an FPGA implementation track.

 FPGA-Based Prototyping Track Highlights

  • FPGA-Based Prototyping: My BFF FPGA-Based Prototyping Solution: Better, Faster, and Flexible
  • Bring-up and Debug of FPGA-based prototypes: Pest Control, Hunt Down Bugs Like the Experts
  • Hybrid Prototyping 101

 FPGA Track Highlights

  • Designing with Xilinx 7 Series FPGAs: The Essentials for an Integrated Synplify-Vivado Design Flow Targeting Xilinx 7 Series FPGAs
  • Maximizing Productivity on Large FPGA Designs: Methodologies and Techniques for Maximizing Productivity on Large FPGA Designs
  • Synthesis Methods for FPGA-Based Prototyping

While I’m unable to go to the SNUG Silicon Valley event I’m planning on making a special appearance at SNUG UK.

On another note, did you miss the recent live web seminar on “10 ways to debug your FPGA design”? Well if you did don’t worry, the recorded version is available here: https://event.on24.com/eventRegistration/prereg/register.jsp?eventid=579541&sessionid=1&key=1319D5CFF949C3FDAA3F860D951BE1F1&cmp=WEBR-fpga100204-HPW I highly recommend it and it’s presented by Angela Sutton who is an expert in the field.

Yummy sushi picture just for fun.

I’m working on a deep technical blog posting for next week. Well when I say working on I really mean I’ve got an idea for one I just need to formulate my thoughts. Lets see if I can wrangle them by next week.

Posted in Admin and General, FPGA-Based Prototyping, FPMM Methods, Getting Started, Humor, Tips and Traps | Comments Off

FPMM, Live and Face-to-Face

Posted by Doug Amos on 24th August 2011

Blimey, there are a lot of prototypers out there!

The FPMM was released worldwide in March 2011 and already over 2,500 paper and ebook versions of the FPMM have been taken by prototypers worldwide. The feedback has been really encouraging so many, many thanks to all our readers!

As another way to bring prototypers together in order to further share best practices, FPMM originators, Synopsys and Xilinx, along with new prototyping partner National Instruments, are running a series of FPMM workshops. These workshops have already started and will take place at major locations throughout the world until February 2012.

Agenda items of note include . . .

  • Keynote: “Best Practices in Design-for-Prototyping
    • Why FPGA-based prototyping methodology is important to your success
    • The latest technologies and tools for FPGA-based prototyping
  • User experiences and discussion
  • Hands-on lab: advanced scripts and methods to improve prototyping
  • Live demos of prototyping technology from National Instruments, Synopsys and Xilinx
  • Integrating prototyping more closely within SoC project aims

For me, however, the most important thing is that prototypers get a chance to network and share ideas and best practices; starting a conversation that we can continue online at the FPMM forums and here on the blog. I look forward to meeting many new prototyping friends at every FPMM workshop, perhaps at one near you. Your fellow prototypers will be grateful for your participation.

During the hands-on portion you will have the opportunity to put a proven FPGA-based prototyping methodology to work, focusing on design manipulations and useful scripts for prototype management. You will be using Synopsys tools but no prior experience is required.

Go here to learn more and to register. Numbers are limited by the number of workstations available at each venue so, as they always say, “register now to avoid disappointment”. No, I really mean it.

See you at the workshop!

Doug

If you would like to learn more about the FPGA-Based Prototyping Methodology Manual, or to download a copy visit www.synopsys.com/fpmm

Posted in Admin and General, ASIC Verification, FPGA-Based Prototyping, Getting Started | 2 Comments »

FPMM: this changes everything :-)

Posted by Doug Amos on 2nd March 2011

Apparently, there was some kind of announcement today about a tablet computer or something like that. At the same time, there has been another announcement today and here is the summary….

Xilinx and Synopsys have collaborated with numerous end-users to create the first methodology for prototyping. called the FPGA-Based Prototyping Methodology Manual, or FPMM for short.

You can get hold of an electronic copy of the for free at www.synopsys.com/fpmm (you’ll need a Solvnet ID for now) or if you can get along to DVCon, San Jose today, we’d be happy to give you a signed paperback copy. If you’re not in the area then look for it on amazon.com, (not free I’m afraid).

But, even more important than the simple manual is the new online community for prototypers (also at www.sysnopsys.com/fpmm) . We are very grateful to those practitioners who have joined us in creating the FPMM and we are all keen to enable further conversation and information exchange between prototypers worldwide. Come an join in, there’s a very simple registration process but after that, the forums are wide open.

Looking forward to sharing more about the FPMM soon and helping to give prototyping its proper place in the SoC design team.

Doug

p.s. Actually, we love iPad and lately have been using it to test out the eBook version of the FPMM. looking good on the kindle too.

Posted in Admin and General, FPGA-Based Prototyping | Comments Off

From first post to “last post”

Posted by Doug Amos on 10th February 2011

I suppose that every blog must start with high hopes and ambitions. Some achieve them but many do not. From the first post of bright dreams shared, to the “last post” metaphorically sounded by the lone bugle of a years-out-of-date comment, can seem a daunting slope.

So why is this blog going to be any different?

Because it is the blog of the prototypers, by the prototypers, for the prototypers (to our American friends, please pardon a couple of Brits paraphrasing the Gettysburg address).

Massed behind the banner of this blog is a host of silent experts; not only within Synopsys but across a wide number of companies and institutions.

In the labs of the world, teams are using FPGAs to create a temporary version of their design for verification purposes. They do it using a huge variety of methods, tools and platforms but with the same general aim of creating the fastest, most-accurate pre-silicon models of their design. Then, mostly, they give them to software engineers to use, but that’s another story for another post.

For Mick and I, the aim of this blog is clear; to be an amplifier for the voices of those prototypers, to share news of ideas and methods that effect prototypers our day-to-day activities and along the way, maybe we can make the rest of the SoC community sit up and take more notice of us.

We will  be welcoming guest bloggers, and we will discuss many concepts and methods and look forward to reading your comments in reply. In the meantime, watch for big news for prototypers everywhere very soon.

Oh, and we’ll also explain the  blog’s weird title.

In the meantime, we would love to hear from you.

WHAT SUBJECTS WOULD YOU MOST LIKE TO SEE ON THIS PAGE IN THE COMING WEEKS?

Doug

Posted in Admin and General, FPGA-Based Prototyping | Comments Off