FPGA prototyping: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Alter: title. | Use this bot. Report bugs. | Suggested by BrownHairedGirl | #UCB_webform 2173/3804
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5) (Pancho507 - 22020
 
(7 intermediate revisions by 6 users not shown)
Line 10:
'''Field-programmable gate array prototyping''' ('''FPGA prototyping'''), also referred to as FPGA-based prototyping, ASIC prototyping or [[System on a chip|system-on-chip]] (SoC) prototyping, is the method to [[prototype]] system-on-chip and [[application-specific integrated circuit]] designs on [[Field-programmable gate array|FPGAs]] for hardware [[verification and validation|verification]] and early [[software development]].
 
Verification methods for [[computer hardware|hardware]] design as well as early [[software]] and [[firmware]] co-design have become mainstream. Prototyping SoC and ASIC designs with one or more FPGAs and [[electronic design automation]] (EDA) software has become a good method to do this.<ref>{{Cite web|url=https://numato.com/blog/differences-between-fpga-and-asics/|title=FPGA vs ASIC: Differences between them and which one to use? – Numato Lab Help Center|website=numato.com|date=July 17, 2018 |language=en-US|access-date=2018-10-17}}</ref>
 
==Importance==
==Why prototyping is important==
 
#Running a SoC design on FPGA prototype is a reliable way to ensure that it is functionally correct. This is compared to designers only relying on [[Electronic circuit simulation|software simulations]] to verify that their hardware design is sound. About a third of all current SoC designs are fault-free during first silicon pass, with nearly half of all re-spins caused by functional logic errors.<ref name ="soc">{{Cite web |url=http://www.soccentral.com/results.asp?CatID=596&EntryID=30794 |title=SOCcentral: Getting the Most Out of ASIC Prototyping with FPGAs (EE Times Programmable Logic Designline 30794) |access-date=October 9, 2012 |archive-url=https://archive.today/20130202104923/http://www.soccentral.com/results.asp?CatID=596&EntryID=30794 |archive-date=February 2, 2013 |url-status=dead }}</ref> A single prototyping platform can provide verification for hardware, firmware, and application software design functionality before the first silicon pass.<ref>{{Cite web|url=http://www.tayden.com/publications/Nanometer%20Prototyping.pdf|title=Nanometer prototyping|last=Rittman|first=Danny|date=2006-01-05|website=Tayden Design|access-date=2018-10-07}}</ref>
#[[Time to market|Time-to-market]] (TTM) is reduced from FPGA prototyping: In today's technological driven society, new products are introduced rapidly, and failing to have a product ready at a given [[market window]] can cost a company a considerable amount of [[revenue]].<ref name="reason">{{Cite web|url=http://www.design-reuse.com/articles/13550/fpga-prototyping-to-structured-asic-production-to-reduce-cost-risk-ttm.html|title=FPGA Prototyping to Structured ASIC Production to Reduce Cost, Risk & TTM|website=Design And Reuse|access-date=2018-10-07}}</ref> If a product is released too late ofin a market window, then the product could be [[Obsolescence|rendered useless]], costing the company its investment capital in the product. After the design process, FPGAs are ready for production, while [[Standard cell|standard cell ASICs]] take more than six months to reach production.<ref name = reason/>
#Development cost: Development cost of 90-nm ASIC/SoC design tape-out is around $20 million, with a mask set costing over $1 million alone.<ref name= soc/> Development costs of 45-nm designs are expected to top $40 million. With increasing cost of mask sets, and the continuous decrease of IC size, minimizing the number of re-spins is vital to the development process.
 
==Design for prototyping==
'''Design for prototyping'''<ref>{{cite web|url=http://www.newelectronics.co.uk/electronics-technology/prototyping-system-designs-on-fpgas/32395/|title=Prototyping System Designs on FPGAs|date=2011-03-22|publisher=New Electronics|accessdate=2011-03-22|archive-date=March 6, 2012|archive-url=https://web.archive.org/web/20120306210417/http://www.newelectronics.co.uk/electronics-technology/prototyping-system-designs-on-fpgas/32395/|url-status=dead}}</ref> ('''DFP''') refers to designing systems that are amenable to [[prototyping]]. Many of the obstacles facing development teams who adopt FPGA prototypes can be distilled down to three "laws":
 
* SoCs are larger than FPGAs
Line 44:
 
==Debugging==
One of the most difficult and time-consuming tasks in FPGA prototyping is debugging system designs. The term coined for this is "FPGA hell".<ref>{{Cite web|url=https://zipcpu.com/blog/2017/05/19/fpga-hell.html|title=FPGA Hell|website=zipcpu.com|access-date=2019-11-05}}</ref><ref>{{Cite web|url=http://www.rocketmanrc.com/downloads/MakerFaire2019FPGAsPresentation.pdf|title=Getting Started with FPGAs|last=|first=|date=|website=|url-status=live|archive-url=|archive-date=|access-date=}}</ref> Debugging has become more difficult and time-consuming with the emergence of large, complex ASICs and SoC designs. To debug an FPGA prototype, probes are added directly to the RTL design to make specific signals available for observation, synthesized and downloaded to the FPGA prototype platform.
 
A number of standard debugging tools are offered by FPGA vendors including ChipScope and SignalTAP. These tools can probe a maximum of 1024 signals and require extensive LUT and memory resources. For SoC and other designs, efficient debugging often requires concurrent access to 10,000 or more signals. If a bug is not able to be captured by the original set of probes, gaining access to additional signals results in a “go home for the day” situation. This is due to long and complex CAD flows for synthesis and place and route that can require from 8 to 18 hours to complete.
Line 52:
Certus brings enhanced RTL-level visibility to FPGA-based debugging. It uses a highly efficient multi-stage concentrator as the basis for its observation network to reduce the number of LUTs required per signal to increase the number of signals that can be probed in a given space. The ability to view any combination of signals is unique to Certus and breaks through one of the most critical prototyping bottlenecks.<ref>{{cite web|url=http://www.tek.com/document/whitepaper/break-through-your-asic-prototyping-bottlenecks | title=Break Through Your ASIC Prototyping Bottlenecks| date= 2012-10-23|accessdate=2012-10-30}}</ref>
 
EXOSTIV uses large external storage and gigabit transceivers to extract deep traces from FPGA running at speed. The improvement lays in its ability to see large traces in time as a continuous stream or in bursts. This enables exploring extended debugging scenarios that can't be reached by traditional [[embedded instrumentation]] techniques. The solution claims saving both the FPGA I/O resources and the FPGA memory at the expense of gigabit transceivers, for an improvement of a factor of 100,000 and more on visibility.<ref>{{cite web|url=https://www.exostivlabs.com/why-exostiv/ | title=Why EXOSTIV?| date= 2015-10-14|accessdate=2015-11-25}}</ref><ref>{{cite web| url=https://www.exostivlabs.com/asic-soc-prototyping/ | title=ASIC/SoC Prototyping| accessdate=2020-04-12| archive-date=April 12, 2020| archive-url=https://web.archive.org/web/20200412192151/https://www.exostivlabs.com/asic-soc-prototyping/| url-status=dead}}</ref>
 
==See also==