Synthesizable?

Discussion in 'VHDL' started by Moikel, Oct 20, 2006.

  1. Moikel

    Moikel Guest

    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
    Moikel, Oct 20, 2006
    #1
    1. Advertising

  2. Moikel

    KJ Guest

    "Moikel" <> wrote in message
    news:...
    > 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
    KJ, Oct 20, 2006
    #2
    1. Advertising

  3. Moikel

    Don Ansley Guest

    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" <> wrote in message
    > news:...
    > > 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
    Don Ansley, Oct 20, 2006
    #3
  4. 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
    Nicolas Matringe, Oct 20, 2006
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Saeed Nari

    GL85 synthesizable code

    Saeed Nari, Jul 25, 2003, in forum: VHDL
    Replies:
    2
    Views:
    1,486
    Antti Lukats
    Jul 28, 2003
  2. walala
    Replies:
    2
    Views:
    8,007
    Ralf Hildebrandt
    Sep 6, 2003
  3. walala
    Replies:
    4
    Views:
    1,183
    Technology Consultant
    Sep 9, 2003
  4. Basel Naamna

    synthesizable MOD operator

    Basel Naamna, May 13, 2004, in forum: VHDL
    Replies:
    2
    Views:
    5,645
    Ralfe Cookson
    May 14, 2004
  5. Nicolas Matringe

    Synthesizable (kind of) dual-edge FF

    Nicolas Matringe, Sep 27, 2004, in forum: VHDL
    Replies:
    1
    Views:
    929
    Ralf Hildebrandt
    Oct 12, 2004
Loading...

Share This Page