Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > Synthesizable?

Reply
Thread Tools

Synthesizable?

 
 
Moikel
Guest
Posts: n/a
 
      10-20-2006
Hi,

I have some experience with VHDL, but only once have commited a design
to programmable logic ( a Xilinx CPLD). It worked perfectly. However,
I'm hearing the phrase "synthesizable VHDL" being used a lot. This
implies to me that some VHDL code cannot be commited to hardware i.e.
is not synthesizable. Is this true? What exactly does 'synthesizable'
refer to? Could someone clarify this for me?

Thanks a lot for any replies

Moikel

 
Reply With Quote
 
 
 
 
KJ
Guest
Posts: n/a
 
      10-20-2006

"Moikel" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) ps.com...
> Hi,
>
> I have some experience with VHDL, but only once have commited a design
> to programmable logic ( a Xilinx CPLD). It worked perfectly. However,
> I'm hearing the phrase "synthesizable VHDL" being used a lot. This
> implies to me that some VHDL code cannot be commited to hardware i.e.
> is not synthesizable. Is this true? What exactly does 'synthesizable'
> refer to? Could someone clarify this for me?


Something is considered 'synthesizable' if it can be turned into a physical
design. The code you wrote for your CPLD was synthesizable since there was
a software tool (presumbably ISE) which was able to turn your VHDL source
code into the proper sequence of bits that could then be programmed into a
device which could be assembled on to a board and implement whatever
function you had written for it.

When it gets right down to it most everything you write 'could' be
synthesized into real hardware but given limitations of technology might not
be able to be synthesized into real hardware 'today' or even more
specifically might not be able to be created in the device that you would
like to use. Tomorrow's technology might not have such limitations so what
can or can not be synthesized is a function of time as well as a function of
specific device technologies. For example, most people in this newsgroup do
FPGA/CPLD designs and in that environment using today's technology the
following line of code would be a simple example of non-synthesizable code:

x <= y after 2 ns;

It would be considered non-synthesizable because most (perhaps even none) of
today's FPGA/CPLD parts can generate something to implement the 2 ns delay.
But that line of code is not totally unrealizable, in fact it is very old
technology called a delay line. The above line of code can also be
implemented inside an ASIC. Maybe 5 years from now, demand for delay lines
in FPGAs will be great enough that they will start showing up there as well.

KJ


 
Reply With Quote
 
 
 
 
Don Ansley
Guest
Posts: n/a
 
      10-20-2006
KJ, your simple example might be misleading to a novice. The example
statement is synthesizable in the context that the synthesis tool
'ignores' the AFTER clause because the tool knows that portion of the
statement is not synthesizable at this point in time. This convenience
allows designers the ability to add representative delays into the RTL
to help with modeling while still allowing the synthesizer to build the
logic structures.

You are correct in saying that no synthesizer today can synthesize
logic to incorporate specific delay characteristics as in the example
given.

KJ wrote:
> "Moikel" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed) ps.com...
> > Hi,
> >
> > I have some experience with VHDL, but only once have commited a design
> > to programmable logic ( a Xilinx CPLD). It worked perfectly. However,
> > I'm hearing the phrase "synthesizable VHDL" being used a lot. This
> > implies to me that some VHDL code cannot be commited to hardware i.e.
> > is not synthesizable. Is this true? What exactly does 'synthesizable'
> > refer to? Could someone clarify this for me?

>
> Something is considered 'synthesizable' if it can be turned into a physical
> design. The code you wrote for your CPLD was synthesizable since there was
> a software tool (presumbably ISE) which was able to turn your VHDL source
> code into the proper sequence of bits that could then be programmed into a
> device which could be assembled on to a board and implement whatever
> function you had written for it.
>
> When it gets right down to it most everything you write 'could' be
> synthesized into real hardware but given limitations of technology might not
> be able to be synthesized into real hardware 'today' or even more
> specifically might not be able to be created in the device that you would
> like to use. Tomorrow's technology might not have such limitations so what
> can or can not be synthesized is a function of time as well as a function of
> specific device technologies. For example, most people in this newsgroup do
> FPGA/CPLD designs and in that environment using today's technology the
> following line of code would be a simple example of non-synthesizable code:
>
> x <= y after 2 ns;
>
> It would be considered non-synthesizable because most (perhaps even none) of
> today's FPGA/CPLD parts can generate something to implement the 2 ns delay.
> But that line of code is not totally unrealizable, in fact it is very old
> technology called a delay line. The above line of code can also be
> implemented inside an ASIC. Maybe 5 years from now, demand for delay lines
> in FPGAs will be great enough that they will start showing up there as well.
>
> KJ


 
Reply With Quote
 
Nicolas Matringe
Guest
Posts: n/a
 
      10-20-2006
KJ a écrit :

> When it gets right down to it most everything you write 'could' be
> synthesized into real hardware but given limitations of technology might not
> be able to be synthesized into real hardware 'today' or even more
> specifically might not be able to be created in the device that you would
> like to use.


I think files and pointers may take quite a long time to be synthesizable.

Nicolas
 
Reply With Quote
 
 
 
Reply

Thread Tools

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 Off




Advertisments