Go Back   Velocity Reviews > Newsgroups > VHDL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

VHDL - assign statement in netlist

 
Thread Tools Search this Thread
Old 08-26-2004, 07:45 PM   #1
Default assign statement in netlist


Hi,

I would like to know that how to generate a synthesized netlist that doesn't
contain ASSIGN statement (in synthesized netlist).

Wait for your response.

rajan




rajan
  Reply With Quote
Old 08-27-2004, 12:58 AM   #2
Alexander Gnusin
 
Posts: n/a
Default Re: assign statement in netlist
"rajan" <> wrote in message news:<cglbmn$ebp$>...
> Hi,
>
> I would like to know that how to generate a synthesized netlist that doesn't
> contain ASSIGN statement (in synthesized netlist).
>
> Wait for your response.
>
> rajan


There are 2 reasons why DC uses ASSIGN:

1. Input port connected directly to output port
2. Tristate cells such as IO buffers

For the first one, there is only one solution: correct the netlist
inserting the buffer between ports.
For the second one, set variable verilogout_no_tri to true (set
verilogout_no_tri true) before writing the netlist.

Regards,
Alexander Gnusin


Alexander Gnusin
  Reply With Quote
Old 08-27-2004, 11:24 AM   #3
Kholdoun TORKI
 
Posts: n/a
Default Re: assign statement in netlist

In addition to the Alexander suggestion, there is also one
other variable to setup in your ".synopsys_dc_setup" :

verilogout_no_tri = "true"
write_name_nets_same_as_ports = "true"

And also a command to be setup just before the optimization
step :

set_fix_multiple_port_nets -all

Unfortunately this last command cannot be set as a global
variable, you have to activate it on the module you are
optimizing and this should be done just before launching
the optimization.

Long time ago Synopsys have had a better way to do this by a
global variable, but this is not the case for the recent
versions of Design Compiler.

On the other hand, I would recommand you to execute the
"change_names" command before writting your Verilog or VHDL
netlist, respectively by the 2 commands below :

change_names -rules verilog -hierarchy -verbose > change_names.v
change_names -rules vhdl -hierarchy -verbose > change_names.vhd

Hope this helps.

Regards,
=================
Kholdoun TORKI
http://cmp.imag.fr
==================



Alexander Gnusin wrote:

> "rajan" <> wrote in message news:<cglbmn$ebp$>...
>
>>Hi,
>>
>>I would like to know that how to generate a synthesized netlist that doesn't
>>contain ASSIGN statement (in synthesized netlist).
>>
>>Wait for your response.
>>
>>rajan

>
>
> There are 2 reasons why DC uses ASSIGN:
>
> 1. Input port connected directly to output port
> 2. Tristate cells such as IO buffers
>
> For the first one, there is only one solution: correct the netlist
> inserting the buffer between ports.
> For the second one, set variable verilogout_no_tri to true (set
> verilogout_no_tri true) before writing the netlist.
>
> Regards,
> Alexander Gnusin



Kholdoun TORKI
  Reply With Quote
Old 08-31-2004, 07:26 PM   #4
rajan
 
Posts: n/a
Default Re: assign statement in netlist
Hi,

So, does it give problem if we insert buffers manually (for these assign
statements).
I feel that the timing in the netlist might be affected.

Thank you.


"Kholdoun TORKI" <> wrote in message
news:cgn24p$9a3$...
>
> In addition to the Alexander suggestion, there is also one
> other variable to setup in your ".synopsys_dc_setup" :
>
> verilogout_no_tri = "true"
> write_name_nets_same_as_ports = "true"
>
> And also a command to be setup just before the optimization
> step :
>
> set_fix_multiple_port_nets -all
>
> Unfortunately this last command cannot be set as a global
> variable, you have to activate it on the module you are
> optimizing and this should be done just before launching
> the optimization.
>
> Long time ago Synopsys have had a better way to do this by a
> global variable, but this is not the case for the recent
> versions of Design Compiler.
>
> On the other hand, I would recommand you to execute the
> "change_names" command before writting your Verilog or VHDL
> netlist, respectively by the 2 commands below :
>
> change_names -rules verilog -hierarchy -verbose > change_names.v
> change_names -rules vhdl -hierarchy -verbose > change_names.vhd
>
> Hope this helps.
>
> Regards,
> =================
> Kholdoun TORKI
> http://cmp.imag.fr
> ==================
>
>
>
> Alexander Gnusin wrote:
>
> > "rajan" <> wrote in message

news:<cglbmn$ebp$>...
> >
> >>Hi,
> >>
> >>I would like to know that how to generate a synthesized netlist that

doesn't
> >>contain ASSIGN statement (in synthesized netlist).
> >>
> >>Wait for your response.
> >>
> >>rajan

> >
> >
> > There are 2 reasons why DC uses ASSIGN:
> >
> > 1. Input port connected directly to output port
> > 2. Tristate cells such as IO buffers
> >
> > For the first one, there is only one solution: correct the netlist
> > inserting the buffer between ports.
> > For the second one, set variable verilogout_no_tri to true (set
> > verilogout_no_tri true) before writing the netlist.
> >
> > Regards,
> > Alexander Gnusin





rajan
  Reply With Quote
Old 09-01-2004, 12:13 PM   #5
Kholdoun TORKI
 
Posts: n/a
Default Re: assign statement in netlist
Hi Rajan,

This is a durty way to solve the problem, and it may be
dangerous in some situations, especially if you use a small
buffer.
Of course the timing may be affected, and the functionnality
may also be affected.

Why are you trying to solve this "assign" statement ?
Most of the modern backend tools (Silicon Ensemble
or SOC Encounter ...) accept those statement, and process
them correctly.
Annotated and backannotated simulations accept also
those statements.

Have you tried the setup variables and commands below ?
The only situation where you may still have "assign"
statements in that case, will be when you have
instance blocks with "don't touch" instruction.

Regards,
=================
Kholdoun TORKI
http://cmp.imag.fr
==================


rajan wrote:

> Hi,
>
> So, does it give problem if we insert buffers manually (for these assign
> statements).
> I feel that the timing in the netlist might be affected.
>
> Thank you.
>
>
> "Kholdoun TORKI" <> wrote in message
> news:cgn24p$9a3$...
>
>>In addition to the Alexander suggestion, there is also one
>>other variable to setup in your ".synopsys_dc_setup" :
>>
>>verilogout_no_tri = "true"
>>write_name_nets_same_as_ports = "true"
>>
>>And also a command to be setup just before the optimization
>>step :
>>
>>set_fix_multiple_port_nets -all
>>
>>Unfortunately this last command cannot be set as a global
>>variable, you have to activate it on the module you are
>>optimizing and this should be done just before launching
>>the optimization.
>>
>>Long time ago Synopsys have had a better way to do this by a
>>global variable, but this is not the case for the recent
>>versions of Design Compiler.
>>
>>On the other hand, I would recommand you to execute the
>>"change_names" command before writting your Verilog or VHDL
>>netlist, respectively by the 2 commands below :
>>
>>change_names -rules verilog -hierarchy -verbose > change_names.v
>>change_names -rules vhdl -hierarchy -verbose > change_names.vhd
>>
>>Hope this helps.
>>
>>Regards,
>>=================
>>Kholdoun TORKI
>>http://cmp.imag.fr
>>==================
>>
>>
>>
>>Alexander Gnusin wrote:
>>
>>
>>>"rajan" <> wrote in message

>
> news:<cglbmn$ebp$>...
>
>>>>Hi,
>>>>
>>>>I would like to know that how to generate a synthesized netlist that

>
> doesn't
>
>>>>contain ASSIGN statement (in synthesized netlist).
>>>>
>>>>Wait for your response.
>>>>
>>>>rajan
>>>
>>>
>>>There are 2 reasons why DC uses ASSIGN:
>>>
>>>1. Input port connected directly to output port
>>>2. Tristate cells such as IO buffers
>>>
>>>For the first one, there is only one solution: correct the netlist
>>>inserting the buffer between ports.
>>>For the second one, set variable verilogout_no_tri to true (set
>>>verilogout_no_tri true) before writing the netlist.
>>>
>>>Regards,
>>>Alexander Gnusin

>
>
>



Kholdoun TORKI
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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

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

Similar Threads
Thread Thread Starter Forum Replies Last Post
How to assign a returns value of a javascript function to a hiddenfield in a webpart Chander Software 0 12-20-2007 09:14 AM
VHDL assign multiple concatenated signals veevee1 VHDL 0 03-07-2007 11:26 AM
Conformal LEC of a VHDL design (RTL Vs Netlist) sharatd Hardware 0 10-18-2006 02:47 PM
assign Next Track in DVD Studio Pro 1.5 Billy Dechand DVD Video 0 12-07-2003 11:30 PM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46