FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > Verilog

Verilog comp.lang.verilog newsgroup / usenet

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 07-21-2003, 09:08 PM
Muruku ANAND
Guest
 
Posts: n/a
Default Verilog coding styles for ASICs

Hello friends!!
I was wondering if anyone can explain some important coding styles for
ASICs as compared to FPGAs. What are the things which makes a Design
which is more specific to FPGAs easily portable to ASICs.

Thanks in advance.

Muruku
Reply With Quote
  #2 (permalink)  
Old 07-23-2003, 02:12 AM
Prasanna
Guest
 
Posts: n/a
Default Re: Verilog coding styles for ASICs

Hi,

Here are some I can think of...

There is this logic to routing ratio (approx. 40:60)you always keep in
mind while you do FPGAs. By this you estimate how much time you have
for your logic and how many levels that you can code with. It also
depends on FPGA technology what can go into one CLB unit (logical unit
of FPGA -> roughly analogous to a standard cell) and that is where
your coding style comes into picture. FGPA synthesis tools does not
give you a lot of leverage when it comes to fanout issues. Consider
replication and duplication of logic issues. All FPGA designs are not
portable to ASIC and vice-versa). For example : If there are specific
guidelines on protocol regarding latency, response time, arbiteration
issues, datapaths, you will find FPGAs are sometimes too slow for
implementation.

Corrections gracefully accepted. :-)

- Prasanna

Andrew Paule <[email protected]> wrote in message news:<[email protected]>...
> Hi Muruku:
>
> I guess the easiest way to explain this in a simple manner is that ASICs
> can range from standard core types, to standard cell types, to full
> custom. If you are an FPGA guy, the thing to realize is that all of the
> black box components that you are either intantiating in a file or are
> being pulled in by the compiler are what you are either going to have to
> get from you ASIC manufacturer (if using a standard cell or core type)
> or that you will have to create using available transitor/resitor/(maybe
> cap/even less likely inductor) combinations. Either way, to ease
> portability, you should not intantiate any black box components in your
> designs if you want to port them, and make sure you understand the
> design flow and limitations of the target ASIC before commiting to an
> FPGA type to start implementation/design verification runs
>
> Andrew.
>
> Muruku ANAND wrote:
>
> >Hello friends!!
> >I was wondering if anyone can explain some important coding styles for
> >ASICs as compared to FPGAs. What are the things which makes a Design
> >which is more specific to FPGAs easily portable to ASICs.
> >
> >Thanks in advance.
> >
> >Muruku
> >
> >

Reply With Quote
  #3 (permalink)  
Old 07-23-2003, 04:08 PM
Muruku ANAND
Guest
 
Posts: n/a
Default Re: Verilog coding styles for ASICs

Hi Prasanna:
Can you put some more light on these questions.

> There is this logic to routing ratio (approx. 40:60)you always keep in
> mind while you do FPGAs. By this you estimate how much time you have
> for your logic and how many levels that you can code with. It also
> depends on FPGA technology what can go into one CLB unit (logical unit
> of FPGA -> roughly analogous to a standard cell) and that is where
> your coding style comes into picture. FGPA synthesis tools does not


Can you please detail out how or what tools are contexed for the above
situation. I am not quite able to relate logic to routing ratio,
timing and levels of code. What do you mean by levels of code? I have
done some layouts and understand some of the things in cell libraries
and their design issues.
I would appreciate your answers.

> give you a lot of leverage when it comes to fanout issues. Consider
> replication and duplication of logic issues. All FPGA designs are not
> portable to ASIC and vice-versa). For example : If there are specific
> guidelines on protocol regarding latency, response time, arbiteration
> issues, datapaths, you will find FPGAs are sometimes too slow for
> implementation.


I understand these issues perfectly well.
How is ASIC synthesis different from FPGA synthesis?

Thanks
Muruku
Reply With Quote
  #4 (permalink)  
Old 07-24-2003, 04:39 AM
Andrew Paule
Guest
 
Posts: n/a
Default Re: Verilog coding styles for ASICs

ASIC can be either standard or custom cell, or full blown custom.
Standard cell means that there are a number of cell types defined,
usually in a given area of the chipbut you can move them to some extent;
custom cell means that there are generally fields of transistors and
resistors (placement somewhat defined); and full custom means you do all
the masks - your processor is a full custom ASIC. Trying to understand
movement into an ASIC requires knowledge beforehand of the ASIC
structures that you are moving into, unless you are using one of the
firms that transfer your FPGA into a burned silicon part. There be dragons.

Andrew



Muruku ANAND wrote:

>Hi Prasanna:
>Can you put some more light on these questions.
>
>
>
>>There is this logic to routing ratio (approx. 40:60)you always keep in
>>mind while you do FPGAs. By this you estimate how much time you have
>>for your logic and how many levels that you can code with. It also
>>depends on FPGA technology what can go into one CLB unit (logical unit
>>of FPGA -> roughly analogous to a standard cell) and that is where
>>your coding style comes into picture. FGPA synthesis tools does not
>>
>>

>
>Can you please detail out how or what tools are contexed for the above
>situation. I am not quite able to relate logic to routing ratio,
>timing and levels of code. What do you mean by levels of code? I have
>done some layouts and understand some of the things in cell libraries
>and their design issues.
>I would appreciate your answers.
>
>
>
>>give you a lot of leverage when it comes to fanout issues. Consider
>>replication and duplication of logic issues. All FPGA designs are not
>>portable to ASIC and vice-versa). For example : If there are specific
>>guidelines on protocol regarding latency, response time, arbiteration
>>issues, datapaths, you will find FPGAs are sometimes too slow for
>>implementation.
>>
>>

>
>I understand these issues perfectly well.
>How is ASIC synthesis different from FPGA synthesis?
>
>Thanks
>Muruku
>
>


Reply With Quote
  #5 (permalink)  
Old 07-30-2003, 08:27 PM
Prasanna
Guest
 
Posts: n/a
Default Re: Verilog coding styles for ASICs

Andrew Paule <[email protected]> wrote in message news:<[email protected]>...
> ASIC can be either standard or custom cell, or full blown custom.
> Standard cell means that there are a number of cell types defined,
> usually in a given area of the chipbut you can move them to some extent;
> custom cell means that there are generally fields of transistors and
> resistors (placement somewhat defined); and full custom means you do all
> the masks - your processor is a full custom ASIC. Trying to understand
> movement into an ASIC requires knowledge beforehand of the ASIC
> structures that you are moving into, unless you are using one of the
> firms that transfer your FPGA into a burned silicon part. There be dragons.
>
> Andrew
>
>
>
> Muruku ANAND wrote:
>
> >Hi Prasanna:
> >Can you put some more light on these questions.
> >
> >
> >
> >>There is this logic to routing ratio (approx. 40:60)you always keep in
> >>mind while you do FPGAs. By this you estimate how much time you have
> >>for your logic and how many levels that you can code with. It also
> >>depends on FPGA technology what can go into one CLB unit (logical unit
> >>of FPGA -> roughly analogous to a standard cell) and that is where
> >>your coding style comes into picture. FGPA synthesis tools does not
> >>
> >>

> >
> >Can you please detail out how or what tools are contexed for the above
> >situation. I am not quite able to relate logic to routing ratio,
> >timing and levels of code. What do you mean by levels of code? I have
> >done some layouts and understand some of the things in cell libraries
> >and their design issues.
> >I would appreciate your answers.
> >
> >
> >
> >>give you a lot of leverage when it comes to fanout issues. Consider
> >>replication and duplication of logic issues. All FPGA designs are not
> >>portable to ASIC and vice-versa). For example : If there are specific
> >>guidelines on protocol regarding latency, response time, arbiteration
> >>issues, datapaths, you will find FPGAs are sometimes too slow for
> >>implementation.
> >>
> >>

> >
> >I understand these issues perfectly well.
> >How is ASIC synthesis different from FPGA synthesis?
> >
> >Thanks
> >Muruku
> >
> >


Hello Muruku,

Sorry for the delay in reply. I just read your email now. There are 2
delays which you consider for timing. The gate delays and the
interconnect delays. The gate delays (logic) and the interconnect
(routing) are comparable in deep sub-micron technologies and can give
you surprises. There are both good and bad things about this in ASIC
and FPGAs. While FPGAs interconnects are somewhat predictable and
pre-determined, the ASICs (by your standard cell design knowledge),
you know that there are wireload models included by statistical method
which are not quite accurate for deep sub-micron. Due to this,
synopsys has developed PKS which effectively means that you know where
your logic blocks sit so that your interconnect delays are much more
predictable and you are bound for less surprises when you do the
backend for your logic. The number of levels of logic is the term used
to define how many blocks of combinatorial logic you put between 2
flops (registers). This is a very rough term bcoz' an adder will not
have the same delay as a nand gate. However, while you code, you
ensure some things such as,

1. comparing 2 variables against comparing a variable with a static
value.
2. Coding with higher abstract level against coding at lower abstract
level (to infer the standard cell that you know exists in the cell
library).

Regarding synthesis,

ASIC synthesis seems to be a ocean (with lot of insight and handles)
and FPGA synthesis seems to be a well. While most FPGA synthesis job
seems like a push button job, since each FPGA vendor comes up with his
own set of EDA tools, experiences differ. Some FPGA synthesis tools
dont offer maximum fanout control while some do, some replicates logic
unneccessarily, while some synthesise better if you change order of
files (bugs !!!), some do insert lot of buffers. Some FPGA synthesis
tools provide option to take care of critical path first (after you
find the worst slack). There are other issues related to multi-clock
domains and I/O timing issues which is a seperate topic by itself.

For asic synthesis, go thru' Synopsys DC manual and you get all the
information that you need.

Hope that helps.

Good luck... :-)
Reply With Quote
Reply

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 11:50 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved