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.

Prototyping at the Consumer Electronics Show, CES

Posted by Michael Posner on January 10th, 2015

Let me be the last to wish you “Happy New Year” and all that….

Of course it was the Consumer Electronics Show, CES recently and no good blogger would let this opportunity pass without writing something about it. Regardless of this I’m still going to write something. (If you got that joke comment below)

Hot at CES was self-drive cars with Advanced Driver Assistance Systems (ADAS), Sling TV, SuperHD TV’s, robots and of course wearables and the Internet of Things, IoT, because everyone wants a cooker with built in internet browser (well I do but as I already have a full PC in the kitchen for streaming TV and web browsing I will hold off on buying a cooker with similar capabilities)

It was nice to see that a number of projects that I know have been prototyped were being debuted at CES. It’s very fulfilling seeing a product go from idea to reality. While the big buzz was around everything you could see it’s the things you could not see which I want to discuss this week. These little electronic gadgets power the world of self-drive cars, wearables and IoT…. Yes I’m talking about sensors!!!!!

Wearables powered by sensors

ADAS Sensors

Lets face it, the sensors themselves don’t make the product but without them the device would not be able to operate so they really are the little product hero’s. Managing and data acquisition from these sensors can be a complex project in itself which is why Synopsys made it easier with the DesignWare Sensor and Control Subsystem.

DesignWare Sensor and Control Subsystem

This nifty subsystem is optimized to process data from digital and analog sensors, offloading the host processor and enabling more power efficient processing of the sensor data. The DesignWare Sensor and Control IP Subsystem provides designers with a complete, pre-verified solution that optimizes sensor fusion and actuator/motor control functions increasingly prevalent in automotive, mobile, industrial and IoT markets.

If you look at the block diagram above you can see that the interface to these sensors is usually pretty simple, UART, DAC/ADC, SPI, I2C and basic GPIO with the most complex interface being AMBA APB. I worked with a user recently who wanted to incorporate sensor information directly into their FPGA-based Prototype. The solution we came up with was to utilize off-the-shelf Peripheral Module interface, PMOD, boards. PMOD is a standard defined by Digilent Inc : http://en.wikipedia.org/wiki/Pmod_Interface

PMOD sensor example

Diligent have a wide range of these little modules: http://www.digilentinc.com/Products/Catalog.cfm?NavPath=2,401&Cat=9 covering various applications.

Note that the PMOD’s are typically a standard 6-Pin interface with 4 signals, one ground and one power pin so very low pin count. The user connected these to the new HAPS GPIO board, pictured below, in order to interface the modules into their custom design modeled within HAPS.

HAPS GPIO board, easy way to connect switches, LED's, sensors and much, much more into your HAPS modeled design

Note that the HAPS GPIO board is a vertical mounted board so just like the PMOD’s themselves do not take up much physical real estate.

HAPS GPIO board mounted

We ended up making full use of the HAPS GPIO board with multiple PMODs connected, interface to the ARM debugger, LED’s to signal various operational states and push switches to simulate user input. The GPIO board is very versatile with 3 standard 3.3V HAPS 10-pin GPIO headers, (Compatible with HAPS BIO1), 2 high-speed VCCO level GPIO headers (Red), 20-pin ARM JTAG header, Micro-USB for UART, MMCX clock connectors, 5V TTL header for serial LCD display, Level shifted header for I2C and SPI, 6 buttons and 4 LEDs on mini-daughter board which is connected to 3.3V HAPS 10-pin GPIO header when needed.

Unfortunately I was sick during the break so I didn’t get to as many of my little projects as I would have liked. I did however manage to complete one of them that I had been excited about for a while now. I made myself a portable gaming station complete with 412 games from the 1980-1990 era.

Mick Built Toys: Video Gaming Center. Waste away years of your life on mindless games

The whole setup packs away in a study roller case (which I got used which is why it’s so beat up). Open it up and pull the control station to the top of the box, plug it in and you are off. Favorite games like Pacman, Space Invaders, 1945, Donkey Kong and many, many more. I can now waste away many hours into the wee night playing mindless video games.

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • LinkedIn

Posted in Daughter Boards, DWC IP Prototyping Kits, FPGA-Based Prototyping, Getting Started, Humor, Mick's Projects | Comments Off

How Proven Solutions Reduce Risk

Posted by Michael Posner on December 19th, 2014

How Proven Solutions Reduce Risk

A couple of weeks back Synopsys announced that we had shipped, to date, over 5000 HAPS systems across more than 400 customers

Synopsys Ships Over 5,000 HAPS Prototyping Systems for Software Development, HW/SW Integration and System Validation

HAPS FPGA-based Prototyping Systems Help More Than 400 Companies Accelerate Time to First Prototype and Avoid Costly Device Re-Spins

This week a prospective user asked me why they should care how many systems Synopsys had shipped. It’s very simple I said, it reduces your risk. Now why this reduces risk takes a little longer to explain as there are many aspects of risk.

A proven track record,  such as the one Synopsys has with HAPS, is very important to risk reduction. When you buy a product from a company that has delivered multiple generations of a product as well as shipping in volume you know that the products are field proven. This means that your project is less likely to run into surprise issues reducing your projects risk. Risk reduction like this is always hard to measure but cannot be ignored.

A track record like this also means that the company is invested heavily in the success and support of the product. Synopsys has over 240 engineers involved with the FPGA-based prototyping products meaning that you can be assured of timely updates, great support and new generations of products right when you need them.

HAPS Units Shipped

I recommend you all check out the latest Synopsys Insight publication. There is a great article titled “Prototyping Imagination’s PowerVR Series6XT Dual-Cluster 64-Core GPU” which documents prototyping the Imagination GPU using ProtoCompiler and HAPS.

Synopsys Insight Article. Imagination PowerVR 6XT on HAPS using ProtoCompiler

If you like this or other previous posts, send this URL to your friends and tell them to Subscribe to this Blog.

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.

Merry Christmas and a Happy New Year !!!!!!!!!!!!!!!!!!!!!

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • LinkedIn

Posted in Uncategorized | Comments Off

Unlocking the Secrets of ASIC Clock Conversion

Posted by Michael Posner on December 13th, 2014

open-safe

Warning: Technical Content!

I read an online article this week which flagged an issue with FPGA-based prototyping, clock conversion. Clock conversion is one of the most important aspects to successful prototyping and this week’s blog is dedicated to sharing information enabling you to be successful. Specifically I will cover automated Gated Clock Conversion, GCC, as the user realizes the highest benefits. With automated gated clock conversion you don’t need to maintain a separate RTL code branch for prototyping, you use the golden RTL source. Clock conversion done right ensures the prototype runs at the highest performance functionally equivalent to the source. If you look at the data from the Channel Media survey that Synopsys had conducted you see that for large FPGA-based prototyping, clock conversion is a major challenge.

Clock Conversion, the #1 challenge facing prototypers who do larger than 10M ASIC gate prototyping

Hold on, I forgot to cover why clock conversion is needed for FPGA-based prototyping. It’s one of the three laws, ASIC are not the same as FPGA’s, specifically in this case FPGA’s do not have the same clock resources like ASIC’s do. ASIC designs often use clock gating to reduce dynamic power and have complex clock logic to generate numerous internal clocks. In the ASIC flow, users do Clock Tree Synthesis to balance all the clock paths between the sources and destinations and avoid clock skews between them. The problem is the number of ASIC clocks in the design typically exceed the number of global clock lines available in the FPGAs. There are a limited number of dedicated global clock lines in FPGA devices and Global clock lines cannot accommodate clock generating and gating logic. Thus GCC is needed to convert these ASIC clock structures to FPGA comparable structures. You could do this manually but that’s time consuming and error prone.

One of the three laws of FPGA-based prototyping, ASIC clocks exceed the number of FPGA clocks

In Emulation oversampling type techniques are used to solve this problem, this is where all clocks are resolved to one synchronous clock source and all clocks are driven from derivatives of this clock. The benefit of this technique is that the conversion is fast and practically any type of clock tree structure can be handled. The main two disadvantages are #1 you tank performance as the system frequency is dictated by the slowest clock. #2 the design loses some fidelity as all clocks are synchronous to each other which may not reflect the true asynchronous clock behavior hiding issues in clock domain crossing circuits. Techniques similar to this such as the HAPS Clock Optimization in ProtoCompiler (I think I’ll blog about HAPS Clock Optimization in the future but for today I’ll focus on Gated Clock Conversion) which map clocks to HAPS hardware resources, are getting popular in FPGA-based prototyping as they can help reduce the time to first prototype enabling a prototype to be handed off to the software teams quickly. It will not have the high performance expected by the software engineers but it’s available quickly, handles almost any ASIC clock structures and this gives the prototype engineers a little breathing space to complete the high performance version.

Oversampling, the typical method used by emulation to handle clocks

Gated Clock Conversion, GCC, converts ASIC clock structures to FPGA friendly structures mapped to FPGA clock resources. GCC also needs to handle timing violations due to clock skew created because of clock gating logic. These violations are introduced on paths where the source and destination flops are driven by different clocks. Data from the source may reach the destination quicker/later than the clock resulting in hold/setup time violations in many paths. GCC has to ensure that there is no clock skew between two synchronous clock domains. The GCC capabilities of ProtoCompiler directly addresses both these conversion challenges in a fully automated fashion. ProtoCompiler maps to FPGA resources and moves the generated clock and gated clock logic from the clock pin of the sequential elements to the enable pins. This includes supporting implementation of these structures across block boundaries and across multiple FPGAs as part of partitioning.

Hold time violation example

Tool support of automated gated clock conversion is not a milestone it’s a journey as ASIC coding styles are continually evolving and the tools need to keep pace. ProtoCompiler has an extensive portfolio of supported structures including, but not limited to, Generated Clock, Gated Clock, Integrated Clock Gating Cells, Complex Sequential Cells, Instantiated Cells, Mixed Async Controls, Data Latches and MUX / XOR structures. With the correct clock constraints ProtoCompiler should automatically identify these gated clock structures and convert them to FPGA friendly structures. Below is an example of generated clock identification and the result of the automatic conversion.

Generated clock conversion example showing the result after ProtoCompiler automated conversion

In summary clock conversion is essential to successful prototyping. The ProtoCompiler Clock Conversion capabilities moves the generated clock and gated clock logic from the clock pin of the sequential elements to the enable pins, allowing sequential elements to be tied directly to the source clock, removing skew issues and reducing the number of clock sources in the design making it FPGA-based prototype friendly. Automated Gated Clock Conversion is just one of the many capabilities that ProtoCompiler delivers and is essential for prototypers.

Summary list of ProtoCompiler capabilites and benefits

Don’t forget that the FPGA-based Prototyping Methodology Manual, FPMM, has a section to help understand clock conversion and other ASIC design structure handling. Last week I had the pleasure to hang out with Rene Richter, one of the authors of the FPMM. Rene signed a book copy for me, this copy could be yours if you comment and answer the following question

How many HAPS systems has Synopsys shipped and to how many customers?

A signed copy of the FPMM

Answer the question by comment and if you get the answer right I will contact you to get your shipping addresss.

If you like this or other previous posts, send this URL to your friends and tell them to Subscribe to this Blog.

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.

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • LinkedIn

Posted in ASIC Verification, FPGA-Based Prototyping, Man Hours Savings, Technical, Tips and Traps | 2 Comments »

Recap of what you missed, impactful blogs from the last 3 months

Posted by Michael Posner on December 5th, 2014

WOW

During a customer meeting last week I found myself explaining many different topic’s all of which I have blogged about over the last couple of months. I suddenly realized that while I blog every week that many of you might not get time to read them every week and miss important information. Below is a list of what I think are the impactful blogs from the last couple of months, just in case you missed them.

The Top 3 Myths of Prototyping – BUSTED. This was a particularly popular blog as it highlights the state of FPGA-based prototyping addressing capacity, time to first prototype operation and debug.

http://blogs.synopsys.com/breakingthethreelaws/2014/09/top-3-myths-of-fpga-based-prototyping-busted/

Solving the ASIC Prototype Partition Problem. Discusses a Synopsys whitepaper on partitioning of an SoC/ASIC to FPGA-based prototype using ProtoCompiler. ProtoCompiler generates a partition solution in minutes, (under 10 minutes in most cases).

http://blogs.synopsys.com/breakingthethreelaws/2014/08/solving-the-asic-prototype-partition-problem/

Abstract Partition Flow Advantage. Sort of goes hand in hand with the solving partition problems blog. This blog focuses on how to use an abstract partition flow to create the highest performance and optimal hardware interconnect and software partition for a given SoC/ASIC.

http://blogs.synopsys.com/breakingthethreelaws/2014/10/abstract-partition-flow-advantage

The Secret Ninja-Fu for Higher Performance Prototype Operation. It’s no secret how to achieve the highest performance prototype, you need an integrated solution and the ability to tailor the hardware inter-FPGA interconnect to the needs of the SoC/ASIC being modeled. Dedicated “fixed” traces just don’t cut it, they restrict the platforms flexibility and introduce interconnect bottlenecks.

http://blogs.synopsys.com/breakingthethreelaws/2014/04/the-secret-ninja-fu-for-higher-performance-prototype-operation/

3 Phase Approach to Successful Prototyping. Pretty much the bible of successful prototyping. Follow these three commandments will lead to successful prototyping.

http://blogs.synopsys.com/breakingthethreelaws/2014/10/3-phase-approach-to-successful-prototyping/

Going vertical for all the right reasons. Blog on developing and the advantages of vertical daughter boards. One of our customers read this post and then went on to develop a stack of custom vertical daughter boards for their specific needs. I’m happy that my blog helped this customer to be successful.

http://blogs.synopsys.com/breakingthethreelaws/2014/07/going-vertical-for-all-the-right-reasons/

Anyway, this should be enough to keep you busy for a week.

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • LinkedIn

Posted in ASIC Verification, Bug Hunting, Daughter Boards, Debug, HW/SW Integration, IP Validation, Man Hours Savings, Use Modes | 1 Comment »

Mick’s Projects Update

Posted by Michael Posner on December 1st, 2014

The blog is about work in progress or completed

With it being USA Thanksgiving last week you would think I would have relaxed but I must say I’ve been very busy finishing off a couple of projects. So this week’s blog is on these my latest projects.

Firstly I put the finishing touches on the Sauna which was a birthday gift for my wife. It’s a kit from Finlandia which comes with almost everything you need, you just need to build it, roof it, tile the floor, install electric, you know, one of these “two weekend” projects

Outside view of our Finlandia Sauna

I had never done a shingle roof before but I must admit I really like the look. Actually the whole sauna looks and smells (cedar) nice.

The inside of our Finlandia Sauna kit

The inside is nice as well and the 8KW heater warms the sauna up in about 15 minutes even from freezing. It’s been great and the whole family is enjoying sauna time.

Next I completed the conveyor belt toy that I was building. It goes up and down with the use of a linear actuator and the conveyor moves objects like Lego’s from one end and drops them off at the others. In the pictures you can see it transporting from the toy box to the toy truck.  

Mick built conveyor belt toy. Belt runs, conveyor goes uo and down

Notice that I put a Lego plate on it so my son could build his own Lego structure on top of it.

Next project as a big one, a water feature for the local school. The school has an outside nature garden area and they wanted a water feature which the kids could play in, build dams and do all the fun things kids do with water. Well below is a picture of what I came up with.

The water feature I built for the local school

It uses a bilge pump to recirculate water from a tank. The surface is large pebbles and some odd rock columns I found at the local rock shop. It’s 12v battery powered that is recharged with a solar panel. It’s built with materials that can withstand the elements but the school thinks it looks so nice they are going to try and find somewhere to store it in the winter. It’s heavy with all the river rock but at least it has wheels to move it around.

Finally while with the in-laws over the thanksgiving weekend I thought I would play with my father-in-laws wood working lathe. I had bought him some wood blocks for Christmas and given them to him early…. I thought I would use one myself. Here is the result.

Mick Built Bowl, not bad for first time wood working lathe use

Not bad for a first time using a wood working lathe. The wood is Orange wood and it’s color matches it name

Opps, forgot one small project, I modified a box kit toy, the OWI-536 robot, to be wirelessly remote controlled. I don’t have a picture of that but I do have a short video: https://www.youtube.com/watch?v=bTg1RtThVj8 If you are wondering why it’s got a huge battery zip tied to the top stop and ponder this, I had all the parts for the modification laying around the garage.

Did you do any projects over the last couple of weeks? If yes send me a comment and tell me about them.

If you like this or other previous posts, send this URL to your friends and tell them to Subscribe to this Blog.

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.

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • LinkedIn

Posted in Mick's Projects | Comments Off

Instant Productivity with IP Prototyping Kits

Posted by Michael Posner on November 21st, 2014

List of new DesignWare IP Prototyping kits, USB 3.0, UFS, PCIe and more....

This week Synopsys announced that we have expanded the IP Accelerated Initiative with New DesignWare IP Prototyping Kits for 10 Interface Protocols 

  • IP Prototyping Kits enable designers to accelerate prototyping, software development and integration of IP into SoCs
  • Supported protocols include USB 3.0, SSIC, PCI Express 2.0, PCI Express 3.0, DDR3, LPDDR3, LPDDR2, MIPI CSI-2, HDMI 2.0 and JEDEC UFS 

What are IP Prototyping Kits?

IP Prototyping Kits center around a complete, out-of-the-box reference design that consists of a validated IP configuration and necessary SoC integration logic (clock, reset, power management, and test logic) for a specific IP protocol. With these kits, designers can be instantly productive—integrate the IP into their target SoC, optimize the IP configuration, and develop drivers and software applications with real world I/Os and hardware.

The kits include:

  • Synopsys’ HAPS-DX FPGA-based prototyping system with pre-configured IP and SoC integration logic
  • PHY daughter board
  • Simulation testbench
  • DesignWare ARC-based software development platform running Linux or Host PC Connection
  • Reference drivers
  • Application examples

Why is this important?

  • With the increase in SoC hardware and software complexity, companies need more from their IP providers to help meet their time-to-market schedules.
  • Delivering IP blocks alone is no longer adequate to address growing SoC design and integration challenges.
  • Synopsys goes beyond the traditional IP supplier paradigm, redefining what is expected from IP providers to help customers achieve successful IP integration with less effort, lower risk, and faster time-to-market.

When are the kits available?

  • IP Prototyping Kits for all listed protocols are available now.

Additional information

I’m personally very proud of the DesignWare IP Prototyping kits as I feel I helped drive the initial concept. Back in 2010 we had identified the need and in 2011 I presented the slide below at an offsite strategy meeting.

DesignWare IP on HAPS initial concept

The actual DesignWare IP Prototyping kits deliver this and far more and I have to give credit to the product managers who really drove this from concept to product as they did all the heavy lifting. I still like to think that I was there at the beginning.

If you like this or other previous posts, send this URL to your friends and tell them to Subscribe to this Blog.

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.

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • LinkedIn

Posted in DWC IP Prototyping Kits | Comments Off

FPMM Book Achieves Major Milestone, More than 8000 Copies Distributed

Posted by Michael Posner on November 14th, 2014

FPMM Book Cover. FPMM is the holy grail of FPGA-based prototyping unlocking the secrets to successful prototyping

Recently Synopsys promoted that “Synopsys Virtual Prototyping Book Achieves Milestone of More Than 3000 Copies in Distribution to Over 1000 Companies” – http://news.synopsys.com/2014-11-05-Synopsys-Virtual-Prototyping-Book-Achieves-Milestone-of-More-Than-3000-Copies-in-Distribution-to-Over-1000-Companies Virtual Prototyping continues to gain momentum including Hybrid Prototyping, which combines Virtual Prototyping with FPGA-based prototyping. The VP book statistics prompted me to have a look at the FPGA-based Prototyping Methodology Manual, FPMM statistics.

To date there have been over 6000 FPMM downloads across 2800 different companies and over 2500 free books handed out. WOW. I expect a bit of overlap between the two but still that’s got to be over 8000 copies distributed. I’m happy that the FPMM has been able to help so many engineers around the world.

Looking at the challenges facing these prototypers, below image, you can see that conversion of ASIC to FPGA is still rated as #1.

Challenges identified by prototypers who downloaded the FPMM. These challenges are solved by integration of HW and SW prototyping tools such as the Synopsys HAPS and ProtoCompiler products

Actually the #2 challenge, clocking issues, really falls into the this same category. As previously blogged, these challenges are not solved with just software or just hardware changes, they are solved by integration. When the software has built in understanding of the hardware and when the hardware can be customized to the needs of the SoC many of the challenges disintegrate.

A great example of the value of integration is the DesignWare IP Prototyping Kits which are part of the Synopsys IP Accelerated Initiative. DesignWare IP prototyping kits deliver a comprehensive IP subsystem which enables immediate productivity for both Hardware and Software engineers. Individually IP & FPGA-based prototyping deliver value but when combined the value is increased. It’s like the 1+1 = 3.

Talking of IP, DesignWare USB 3.1 IP is now available. http://www.synopsys.com/Company/PressRoom/Pages/usb-3-1-news-release.aspx . I have been talking about USB 3.1 for a while now and blogged about it here. You can also find a video of the DesignWare IP for USB 3.1 running on the HAPS-70 systems here https://www.youtube.com/watch?v=isQ7cvuyoTw

Enjoy

Do you have a topic you would like me to blog about? If so, drop me a comment and I’ll pop it in the queue.

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • LinkedIn

Posted in FPGA-Based Prototyping, FPMM Methods, Getting Started, IP Validation, Technical, Tips and Traps | 1 Comment »

Dr. Lauro Rizzatti please read my blog, your information is out of date

Posted by Michael Posner on November 7th, 2014

–//–//–//–//–//–//–//–//–//–//–
Dear Dr. Lauro Rizzatti,

   I enjoyed reading one of your recent articles http://electronicdesign.com/eda/hardware-emulation-weapon-mass-verification but was dismayed that you were still quoting limitations from the early years of FPGA-based prototyping. I recommend you refresh your knowledge and read my recent blog on the top myths of FPGA-based prototyping busted. http://blogs.synopsys.com/breakingthethreelaws/2014/09/top-3-myths-of-fpga-based-prototyping-busted/

I’m looking forward to future articles integrating the latest information.

Best Regards

Mick Posner
–//–//–//–//–//–//–//–//–//–//–

Just in case you don’t take the time to read Dr. Lauro’s article the three points of out of date information were on capacity supported, time to first prototype operation and debug.

Quote “Even in the largest configurations, they address designs with about 100 million gates.”

– New Data Point, Synopsys HAPS supports 288 Million ASIC gates

Quote “ Conversely, very long setup time to map a design into a proto board and rather limited design visibility are its two main drawbacks.”

– New Data Point, Synopsys HAPS and ProtoCompiler software accelerated time to first prototype and delivers high visibility debug.

When you correct these mistakes the radar graph in the article changes quite a lot.

Just in case you missed my blog on the top myths here is a direct link to it again: http://blogs.synopsys.com/breakingthethreelaws/2014/09/top-3-myths-of-fpga-based-prototyping-busted/

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • LinkedIn

Posted in ASIC Verification, Debug, Man Hours Savings | Comments Off

3 Phase Approach to Successful Prototyping

Posted by Michael Posner on October 30th, 2014

Synopsys' three phase approach, best practices and methodology for successful prototyping

In previous blogs I have spoken a lot about automation, features and capabilities which accelerate time to operational prototype and deliver higher performance enabling you to run more software against your design representation. These capabilities are designed to reduce the need for prototyping expertise and effort……..  but not to zero. Anyone who tells you that no expertise or effort is needed is not telling you the whole truth. This was the basis of this blog, “Breaking the three laws” of which the first law is ASIC are FPGA Hostile! Who can tell me what the other two laws are? I know but this is like a quiz for my readers.

Pictures in the blog are posted large so they are easier to read, click on the picture to see the full view version.

Synopsys has created a simple three phase definition for FPGA-based prototyping, including methodology guidelines and I am happy to share them with you. The three phases split into 1. Make Design FPGA Ready. 2. Bring Up Functional Prototype. 3. Optimize Prototype Performance. Follow these three phases and you will be on a path for FPGA-based prototyping success.

Synopsys' definition of the three phases of FPGA-based prototyping. Follow this methodogy for success

Make Design FPGA Ready

This is probably the most important step as the rule of thumb is garbage in, garbage out. There is only so much automation a tool can deliver so understanding the basic needs and best practices for FPGA-based prototyping is essential. Synopsys ProtoCompiler can help here with automated ASIC to FPGA translation, clock conversion and replication as needed. However you should always follow the best practices defined here to yield better results in the final implementation. Don’t forget, full best practices can be found in the FPMM, FPGA-based Prototyping Methodology Manual.

Synopsys' Phase 1, Make Design FPGA Ready. Automation through ProtoCompiler

Bring Up Functional Prototype

Once code is prepared the bring up functional prototype phase is entered. This is the phase with the goal of getting the prototype up and running as quickly as possible, TTFP, enabling the team to hand off a platform to the software developers. The faster they get a platform the most productive they can be. Even if you have traded off a little performance to get the fastest time to prototype your software team will thank you for the fast enablement. ProtoCompiler and HAPS helps here, especially in the partition phase, I recently blogged about this: Abstract Partition Flow Advantage. Another important best practice is to plan your debug needs upfront in this phase, don’t treat it as an afterthought. This is exactly why in the ProtoCompiler flow debug is highlighted ensuring you at least give it some thought.

Synopsys' Phase 2, Bring Up Functional Prototype, use HAPS and ProtoCompiler for fastest time to operational prototype

Optimize Prototype Performance

As you have already delivered an operational prototype to your software team you have a little breathing space now to focus on performance optimizations. In the fast turn-around abstract partition flow ProtoCompiler might have identified some bottlenecks that you skipped past in order to achieve fastest time to prototype. Now you have time to focus on these and other areas of the FPGA-based prototype to squeeze the most out of the solution. An example of this was shared with me recently where the prototype was fully operational at 9 MHz but with a little more effort, new partition and careful analysis of critical paths, the prototype performance was increased to 13 MHz. What a great improvement.

Synopsys' Phase 3, Optimize Prototype Performance. Using HAPS and ProtoCompiler will enable the highest possible customization for performance

So there it is, three simple phased approach ensuring successful prototyping, enjoy!

Happy Halloween, here is the costume that I built, I call it Atomic Dinosaur. I am a construction spray foam  master and it has LED lights down it’s back too!

Mick's Atomic Dinosaur costume

That’s some crazy eyes I’ve got going on…………….

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • LinkedIn

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

SW Dev Env using ARM-based daughter board directly vs. Hybrid Prototype

Posted by Michael Posner on October 24th, 2014

Amazingly this is a REAL animal, it's called a Liger

This week’s blog is a bit of a mashup (Yes that is a real word, a mashup, in development, is something that uses content from more than one source to create a single new offering) as I am pulling together two topics to create one. The #1 usage case of prototyping is for early software development. You can do this very early, pre-RTL using Virtual Prototypes, later in the design cycle with FPGA-based Prototypes but it’s the bit in the middle that this week’s blog examines.

The bit in the middle is typically unit level or IP validation with the goal of early software development before the rest of the subsystem is available. The DesignWare IP Prototyping Kits : http://www.synopsys.com/IP/ip-accelerated/Pages/ip-prototyping-kits.aspx were designed to address the need for immediate productivity and early software development for DesignWare IP’s. The kit includes the actual DesignWare IP modeled on HAPS-DX and an ARC based Software Development Platform

The ARC Software Development Platform based DesignWare IP Prototyping kit

The question which has been raised a couple of times is what if you are not using an ARC processor in your end SoC? At this point I usually start probing a little more as to what type of software is being developed, if its physical layer and processor specific then yes the ARC software development platform is not going to work for you. If it’s higher layer software then typically the software engineer does not care as it’s layers above and abstracted from the physical execution machine. But what do you do in the case where you need physical layer and processor specific software development?

Lets use the example that you want to enable early software development on an ARM-based system representation and you still want to validate your design under test modeled on a FPGA-based prototype. The problem is that your SoC engineers have not complete the subsystem design and/or you don’t have access to the RTL to put the processor subsystem on the FPGA-based prototype along with your DUT.

One solution would be to do similar to what Synopsys did with the DesignWare IP Kits and that is connect the FPGA-based prototyping platform to a physical daughter board containing an ARM-based subsystem. One of the possible ways to do this is to use an off-the-shelf Xilinx Zynq based daughter board. The Zynq device includes a Dual Cortex-A9 MPCore processor subsystem and provides the ability to connect this to the FPGA-based prototyping platform via an AXI tunnel across typically FMC connectors. This is true for the HAPS series where you have the ability to connect the Zynq based board to HAPS via FMC cables.

Xilinx Zynq ARM-based subsystem including Dual Cortex-A9 MPCore's

Great right? Hummm…. Seems too good to be true…… Yes, you are right, this use mode is a trade-off. While you can execute ARM-based code against your prototype you are not running the software against YOUR ARM-based subsystem. You are stuck with the processor configuration hard-coded into the Zynq device which you know will never match your SoC subsystem. Also, in the case of the Zynq it’s the 32bit processors not the 64bit versions. There is a better way to enable early software development using a processor subsystem which is a better match to your SoC’s subsystem, it’s the Hybrid Prototyping approach.

I’ve blogged about this before, one such case was Zoro’s use of Hybrid Prototype for early software development for USB 3.0 : http://blogs.synopsys.com/breakingthethreelaws/2014/06/zoro-delivers-hybrid-prototype-for-early-software-development/

The advantage of using a Hybrid Prototype rather than a fixed hardware daughter board is that the virtual processor based subsystem can be tailored to more specifically match the SoC subsystem design. New to virtual prototyping? Don’t worry, Synopsys provides ARM Virtual Development Kits (VDK’s) : http://www.synopsys.com/Systems/VirtualPrototyping/Virtualizer-Development/Pages/vdk-family-arm.aspx to jump start your development. These VDK’s can be used at the starting point for your customization to match your SoC’s need. This full virtual environment is expanded to a Hybrid Prototype with the use of the off-the-shelf transactors which are a bridge between the TLM virtual and the RTL hardware systems. You are not sacrificing performance either as the Synopsys Hybrid Prototyping solution enables asynchronous operation between the Virtualizer and HAPS ensuring that the software env executes at speed as well as the hardware env which is typically required to keep real world interfaces alive.

Hybrid Prototype. ARM-based Virtual Development Env running with the HAPS-based prototype

What a mashup !!! It’s clear to me that Hybrid Prototyping is a far better solution to enable early software development as you can customize the processor subsystem to more precisely match the SoC. This way the software code created and executed on the prototype is a closer or direct match to the software which will run on the SoC.

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • LinkedIn

Posted in ASIC Verification, Daughter Boards, DWC IP Prototyping Kits, Early Software Development, Hybrid Prototyping, IP Validation | 1 Comment »