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 'Project management' Category

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

Accelerating Prototyping Hardware Assembly

Posted by Michael Posner on 23rd November 2013

This week I wanted to focus on a discussion around prototyping hardware assembly.

Prototype hardware assembly is the process to tailor FPGA-prototyping hardware to meet the needs of the project. The first type of prototype assembly would be to build a custom platform directly matching the projects requirements. The building of prototyping hardware is the alternative to buying an off-the-shelf solution. The advantage of building the hardware is that you can tailor it to exactly meet the projects requirements. The disadvantage is this process is time consuming due to the long development timeline and bring-up debug process. I’ve also run into many customers who got burnt at the last minute when marketing made a last minute spec change which the custom platform does not support. Whoops, back to square one to do a frantic redesign which typically results in project delays

This is why off-the-shelf prototyping hardware is so popular. Off-the-shelf prototyping hardware, like HAPS, offers the stability of a pre-designed and validated platform but has the disadvantage of requiring the user to tailor the platform to meet the project’s needs. Some hardware vendors offers interfaces such as Ethernet directly on the prototyping board. The problem with fixed interfaces is that if the project needs them great, if the project does not then the hardware is just wasting IO resources which could be used for other purposes. HAPS is a generic reusable platform which you tailor to meet the needs of the project. There are lots of off-the-shelf daughter boards for this purpose such as DDR3, SRAM, PCIe, Ethernet, SATA, Flash, Lab. However it’s impossible for Synopsys to design and build all types of daughter boards to meet every projects need (but we try hard to). While in Japan last week I visited the Embedded Technology (ET) show in Yokahama and met with a company called Gigafirm. Gigafirm (http://www.gigafirm.com/)  has designed a set of HAPS daughter boards supporting the HAPS-70 series of products delivering daughter board support for V-by-One and embedded DisplayPort (eDP)

Above you can see Gigafirms daughter boards installed on a HAPS-70 S24 platform, the HAPS system with two Virtex-7 2000T devices. V-by-One and eDP are used for image and video designs of which there are many design starts at Japanese based customers.The V-By-One Hapstrak 3 (HT3) daughter board enables the THine (http://www3.thine.co.jp)

V-By-One evaluation boards to be connected directly the HAPS platform and supports both RX and TX capabilities.

The eDP daughter boards are designed for the HAPS Multi-Gigabit (MGB) connector interface. These high speed daughter boards enable both RX and TX eDP capabilities on the HAPS-70 systems.

I was very impressed with the quality of the Gigafirm deliverables. Gigafrm is helping customers accelerate prototype assembly by providing off-the-shelf high quality daughter boards enabling the HAPS systems to be tailored to meet the designs validation needs.

While at ET in Japan I also say the Fujitsu evaluation and development platform showcase connection to the HAPS-70

The Fujitsu development platform enables customers to evaluate the Fujitsu products and jump starts their software development tasks. The Fujitsu platform interfaces to the HAPS system via a transparent PCIe interface. The connection to HAPS enables customers to extend the platform with the capacity to model their own design blocks and validate them operating against the Fujitsu subsystem.

The Fujitsu evaluation platform is called the Phoenix. What a great name IMO.

It’s great to see the eco-system that has built up around the HAPS FPGA-based prototyping solution.

Finally, thanks to everyone who sent me a note about my allergic reaction that I suffered last week. The good news is that since that time I have only suffered a single smaller reaction which resulted in a fat lip and swollen cheek. I have not pin-pointed what is triggering the reaction but by the process of elimination I am narrowing down the suspect foods.

Posted in Debug, FPGA-Based Prototyping, In-System Software Validation, Project management | Comments Off

Do you have what it takes to be a prototyping super hero?

Posted by Michael Posner on 30th September 2013

I was recently talking to a customer who found that deploying FPGA-based prototyping was a challenge. This was a customer who had only every done simulation for verification purposes. Their last chip incorporated dual embedded processors and unfortunately they had to re-spin the silicon due to a hardware bug that they found only when running the real software. This bug was devastating, the cost was huge as it included the physical costs of the re-spin but worst was the revenue hit from being late to market. This company knew it had to adopt FPGA-Based Prototyping to enable early software development, HW/SW integration and System Validation all PRE-SILICON. The goal was to run the actual software against the hardware and identify HW/SW bugs before code freeze and tape-out.

The process to bring up a prototype was not smooth, they made a couple of key mistakes which I will share with you in an effort to help you avoid these in the future.

#1 – ASIC Code is not FPGA friendly
This is #1 rule from the FPGA-based Prototyping methodology Manual. Their code was full of ASIC specific instances that challenged the initial bring up. One of the problems was that the customer *thought* they could use the FPGA vendor tools for the synthesis. While the FPGA vendors tools seem attractive as they are close to free they do not offer any in-depth prototyping capabilities such as gated clock conversion, DesignWare support and ASIC block conversion. The customer is now looking at utilizing the Synopsys prototyping software tools that provide these capabilities in addition to offering many automated multi-FPGA prototyping capabilities.

#2 Wasted time developing in-house FPGA Boards
The customer thought that as they can design multi-million ASIC gate SoC’s of course they can design a PCB with a couple of FPGA’s on it. Sadly this choice delayed the start of the prototyping project as developing a PCB like this and managing clocking, configuration and debug is not as easy as it seems. The customer spun the PCB twice before getting a platform which provided basic function. After all this the platform stilled lacked specific debug capabilities which limited the customers productivity. The customer will not make this mistake again and is looking to deploy a commercially available FPGA-based prototyping system such as HAPS for their next project.

#3 Tried to bring up the whole SoC prototype at once
Classic mistake. The funny thing is that within simulation the customer brings up individual design blocks and only when each has past it’s hello world and basic functionality tests does it get integrated into a larger SoC verification environment. This is exactly the same as what you should be doing for FPGA-based prototyping. Bring up individual blocks and only when they are operational do you instantiate them into the SoC level. This way you are not debugging multiple issues at once that everybody knows is a very time consuming process.

The customer made other mistakes but the above ones were the worst offenders. In general the customer lacked FPGA expertise and could have really benefited from expert assistance. This is exactly where Synopsys can help, we offer expert services, expert support and expert local application experts.

The one thing that this customer stated that I 100% agree with was that it will be easier the 2nd time around. Exactly, they have built up internal expertise and plan on utilizing available products to improve the flow and the designers productivity. What the customer wishes they had done was to involve Synopsys from the start and utilized our services team to provide FPGA-based prototyping assistance at the start of the project. This would have jump started their effort. By using the Synopsys prototyping software and HAPS system the customer would not have wasted valuable time in creating a flow and designing and debugging hardware. The bonus to using the Synopsys tools and hardware is that the customer could have leveraged the extensive support infrastructure of Synopsys FPGA R&D and CAE experts as well as the globally located Application Consultant experts. Synopsys, the home of the Prototyping Super hero’s :)

Don’t make the same mistake as this customer!

Did your company have a similar experience, let me know about it.

Below is my favorite spam message of the week. Spammers, work out what the blog is talking about before bothering to spam it. Hot tubs, come on, that has nothing to do with FPGA-based prototypes. And nobody wants a “used” hot tub, that’s just gross….

Posted in ASIC Verification, Debug, FPGA-Based Prototyping, FPMM Methods, Getting Started, In-System Software Validation, Project management, Technical, Tips and Traps | Comments Off

Hitting Your Milestones

Posted by Michael Posner on 21st August 2013

This week I had to explain why FPGA-based prototyping is used. (I had to remind myself that not everyone lives and breathes FPGA-based prototyping day in day out like I do) The explanation was for an exec so I had to ensure the explanation was clean and sharp. I simply said “FPGA-based prototyping helps you meet your milestones, both for hardware development and the software development”. This caught their attention so I expanded the answer with

FPGA-based prototyping enables:-

  • Early software development. Parallel development. Don’t wait for silicon to come back, start software development against an accurate and high speed model of your SoC. (Hit your software milestones)
  • Hardware/Software integration. This is going to flush out both HW and SW bugs which could have resulted in a product limitation or worse a silicon re-spin. (Hit your integration milestones)
  • System Validation. Validate that the whole product meets the users needed. Test interfaces for compliance and interoperability with off-the-shelf hardware, demonstrate the design to your customers early. (Hit your system product milestones)

Great they said, we will take 1000…….. The value of FPGA-based prototyping is clear and it’s why over 70% of SoCs are prototyped.

Even with all this prototyping going on the #1 reason for re-spins is still hardware functional issues based on SNUG survey data. This says to me that not all of the design is being prototyped and bugs are going undetected. This has been the case as until recently FPGA capacity limited how much could be modeled. With products like the HAPS-70 supporting 144 Million ASIC gates finally you can model more of the SoC including multi-cores and big blocks such as GPUs. Model more of the SoC means you can validate more of the capabilities, more HW/SW coverage and lower risk.

To date customers have deployed over 350 HAPS-70 units, that’s many happy customers who we are helping to meet their milestones.

How has FPGA-based prototyping helped you?

Posted in FPGA-Based Prototyping, Milestones, Project management | Comments Off

The Value of Support and the Demise of USB

Posted by Michael Posner on 16th August 2013

Including USB in this week’s blog title was designed to be catchy and an effort to grab a couple of Eric Huang’s USB Blog’s bazillion readers. It’s not really the demise of USB but more of the demise of a single USB stick. I tend to destroy pens and papers by playing with them while I work, this week I found myself destroying a perfectly good USB stick.

Sorry Eric, I am sure you are crying into your soy latte after seeing what I did to this poor defenseless USB stick.

When evaluating an FPGA-based prototyping solution or even when an in house built board is being considered the one thing I see missed all the time is support! It’s hard to place a value on support as until you need it you don’t know how much it’s worth. Over the years I see “lack of support” come up as the main reason why a project slipped. When these companies go back and look at their original evaluation criteria it suddenly becomes obvious that they didn’t consider support whoops.

Support should be one of the main evaluation criteria as only a fool would think that a project will go smoothly. It’s one of the simple rules of life, like death and taxes, something at some point will go wrong. When something does go wrong you and the project is not going to be judged based on that problem (because everyone knows problems are going to come up) you are judged on how successfully you solved it. This is why support is so important as it’s the key to successful and speedy resolution to a problem regardless of its source.

If you are considering building an on house board you must consider the post build support. This includes not only the hardware side of the support but the software tool flow support which will be needed to target the board. The cost of an in house built board seems so attractive until you fail to get it to work and the whole idea of doing early software development goes out the window. Same goes for the cheap alternatives on the market today. Who do you turn to if you have a problem? These smaller providers sometimes offer support, some send you the schematic of their boards so you can fix it yourself, some have a dedicated person (1). But does a schematic really solve your problem and what if that support person is helping someone else or is on vacation and cannot support you. Fast resolution to your problem could be the difference between a project success and a project failure. Synopsys has over 250 people backing our FPGA-based prototyping products meaning not only can you rely on our technical expertise to solve your problem but also local time zone support.

What value to you put on support? Post me a comment and let me know how you rate the value of support.

Off subject my neighbor cut down a hardwood tree last week as the trunk had split and it was looking to fall over onto the house. I asked him to leave a couple of longer trunks so that I could make both of us some rustic looking benches. I must admit they turned out very well, the picture shows one finished and the other in process.

All cuts made with a 16” gas (petrol) powered chainsaw. (Chansaws make a huge mess by the way) I then planed off the tops with an electric planer. The benches weigh a lot but are amazingly comfortable.

Posted in FPGA-Based Prototyping, Getting Started, Project management, Tips and Traps | Comments Off

“What idiot set this deadline?!”

Posted by Doug Amos on 20th December 2011

Merry Christmas to all our fellow prototypers!

. . . especially those who are trying hard to complete a milestone in their projects before Christmas.

Most of us have probably been there; when the SoC project started months ago, that “get it done by Christmas” deadline seemed a piece of cake, didn’t it? So, where did all the time go? Why do we sometimes find ourselves working long hours in the run up to Christmas (or any other deadline) to get stuff finished?

We think it comes down to the good old setting of expectations. If we have all the data, skills and tools, and others meet their commitments then we can set expectations (and deadlines) which are realistic but fit within the project timescales, even if those timescales itself have to be expanded to allow it. The skills in this case are that extra layer of expertise required to be REAL prototyper. What we mean is, we can take an FPGA expert from any bench and put them into a prototyping project but they will need to add an extra layer of expertise in order to be able to complete projects repeatedly and on time.  That extra layer of expertise gets honed by experience and makes the world’s few thousand prototypers into very valuable, indeed essential, members of any SoC design team.

But it’s not just about skill and experience.

 Make no mistake, good tools or bad tools and make or break a project. Unreliable, under‑performing or late hardware can also waste vast amounts of time. Prototypers can then find themselves in all sorts of bother because they underestimated the work or overestimated the ability of so-called automated tool flows. Blindly believe those seductive promises of a push-button flow here, or exaggerated performance claims there, and you won’t get home for Christmas. By the way, it’s also not much fun for the support guys at the tool vendors who have to back up such claims either.

So how can first time prototypers (and others) avoid setting the wrong expectations and struggling to meet deadlines? The answer seems obvious but I’ll write it anyway. They should talk with the experts.  Seek out others in this very specialist field of FPGA-based Prototyping, even to the point of hiring some consultancy time. Read the FPMM manual, especially chapter 4; “Getting started”. Ask your chosen hardware or tool vendor for examples and check their track record; post questions on public fora, including our own FPMM Forum . After a while, you will be answering such questions for others and helping them set their expectations.

Finally, spare a thought for a person with the toughest deadline of all at this time of year, and that’s Santa Claus (or Father Christmas as we Englishmen call him). Even if only half of us have been good, that’s still billions of deliveries!

We hope he finds you all in time and meets your expectations, but most of all, we wish you and your family joy, health, love and peace, now and for the New Year.


 See you in 2012!

Doug and Mick

p.s. please pardon the Microsoft Office clipart; we didnt have time to license new stuff (tough deadline).

Posted in Getting Started, Project management | 1 Comment »