Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

Converting FPGA synthesizable design to ASIC synthesizable design

Status
Not open for further replies.

souvikedaboard

Newbie level 6
Joined
Feb 28, 2015
Messages
12
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
75
Hey can anyone tell me the ways to convert a verilog RTL code which is FPGA synthesizable to ASIC synthesizable design so that I can use the Synopsys DC compiler, one of which I know is to use a reset signal? What are the others?
 

sharath666

Advanced Member level 2
Joined
Apr 4, 2011
Messages
552
Helped
126
Reputation
252
Reaction score
124
Trophy points
1,323
Location
India
Activity points
3,830
Convert all memories to FPGA memories (BRAM etc...). Convert PLLs used to FPGA PLLs or DCMs...Find out all instances which are FPGA specific and convert them to ASIC specific cells...
 

souvikedaboard

Newbie level 6
Joined
Feb 28, 2015
Messages
12
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
75
I wanted to covert it to ASCI from FPGA, I guess what you said converts it to FPGA from ASIC. Correct me if I am wrong
 

ads-ee

Super Moderator
Staff member
Joined
Sep 10, 2013
Messages
7,651
Helped
1,774
Reputation
3,554
Reaction score
1,722
Trophy points
1,393
Location
USA
Activity points
57,801
I wanted to covert it to ASCI from FPGA, I guess what you said converts it to FPGA from ASIC. Correct me if I am wrong
I noticed that too. Just convert any FPGA IP (memory, plls, trasceivers, etc) to whatever the ASIC vendor supplies in their libraries or what they generate from say memory compilers. If the FPGA was using some big IP core like a MAC you'll have to find a vendor to supply you with an equivalent piece of IP to replace them.

Your biggest problem is going to be verification of the resulting RTL. Most FPGA designs don't have the extensive testbenches used by ASIC engineers, so your coverage if there was a testbench will probably be no more than 50% of the design if you're lucky. Not a big confidence builder when you're going to be spending millions to tape out an ASIC.
 

jt_eaton

Member level 4
Joined
Aug 26, 2012
Messages
72
Helped
20
Reputation
40
Reaction score
19
Trophy points
1,288
Location
Vancouver, Wa USA
Activity points
1,779
I noticed that too. Just convert any FPGA IP (memory, plls, trasceivers, etc) to whatever the ASIC vendor supplies in their libraries or what they generate from say memory compilers. If the FPGA was using some big IP core like a MAC you'll have to find a vendor to supply you with an equivalent piece of IP to replace them.
You never want to have to convert any target IP to any other target IP. Every PLL has a basic core functionality and every target will start with that and add on any bells and whistles in order to entice you to use that part. Trying to convert one technologies bell to a different technologies whistle can easily prove to be impossible. If your designers rely on those features for the device to operate then you are sunk.

Start out by creating a completely generic IP library for Srams, Plls, Pads etc. Include only the least common denominator of functions from all technologies. Create and verify your design using this library and you will find that it is easy to move your design to any other technology. The trick is to always maintain your designs with the generic library.


Your biggest problem is going to be verification of the resulting RTL. Most FPGA designs don't have the extensive testbenches used by ASIC engineers, so your coverage if there was a testbench will probably be no more than 50% of the design if you're lucky. Not a big confidence builder when you're going to be spending millions to tape out an ASIC.
Nope, Remember the 80:20 rule. The first 20% of your verification will give you 80% of your results. This is really closer to 90:10 so that any FPGA design can get into the high 90% with a reasonable effort. The only difference between ASIC and FPGA verification is that FPGAs are easy to verify in hardware so that has replaced some of the effort needed for those last couple of percentile. A lot of ASICs now use FPGAs to verify their code.

John Eaton
 

ads-ee

Super Moderator
Staff member
Joined
Sep 10, 2013
Messages
7,651
Helped
1,774
Reputation
3,554
Reaction score
1,722
Trophy points
1,393
Location
USA
Activity points
57,801
Nope, Remember the 80:20 rule. The first 20% of your verification will give you 80% of your results. This is really closer to 90:10 so that any FPGA design can get into the high 90% with a reasonable effort. The only difference between ASIC and FPGA verification is that FPGAs are easy to verify in hardware so that has replaced some of the effort needed for those last couple of percentile. A lot of ASICs now use FPGAs to verify their code.
John, you're assuming competent FPGA engineers doing the verification. I've seem more than enough designs (being called in after the design fails in the system and the original designer has since moved on claiming 100% functionality for the design), which had what stood for a testbench (calling what they had a testbench is really a stretch), basically a bunch of hand written initial blocks that toggled the signals going into the DUT (no bus functional models). I know that the testbench didn't cover all that much besides the very minimal functionality, which is why it broke when in was integrated into the system.
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top