Is there a reason why synthesis tools do not want to support

L

leon

Guest
Hi,

One of the limitiations of verilog syntehsis tools is the inablity to
support hierarchical inferences. For example if I were to declare a
function in modules and have that synthesized then I should be able to
refer to the function by giving it a path using the module instance
name. This is supported by simulation tools and would be a great
alternative to not having packages as in VHDL.

This will also eliminate the need for annoying include files or
creating a module for each function and instantiating it (which is a
dumb approach for this purpose).

Here is a piece of code that works with simulations - anybody know of
any synthesis tools that support this - synplify, synopsys, RC, Magma
etc.....

Thanks

module arith();

function [3:0] add;

input [3:0] a;
input [3:0] b;

begin:add_func
add = a + b;
end
endfunction

endmodule

module test(

input [3:0] a,
input [3:0] b,
output wire [3:0] add
);

arith arith();
assign add = arith.add(a,b);
endmodule
 
On 16 Feb 2007 11:54:38 -0800, "leon" <noel.vargese@gmail.com> wrote:

Hi,

One of the limitiations of verilog syntehsis tools is the inablity to
support hierarchical inferences.
I guess you mean "references"...

For example if I were to declare a
function in modules and have that synthesized then I should be able to
refer to the function by giving it a path using the module instance
name. This is supported by simulation tools and would be a great
alternative to not having packages as in VHDL.
Agreed. It's very tedious that this doesn't work for synthesis.

This will also eliminate the need for annoying include files or
creating a module for each function and instantiating it (which is a
dumb approach for this purpose).
Also agreed.

Synth tools that support SystemVerilog permit you to use packages,
which is a nice clean answer. Also, SV has the interface construct;
this is, as far as I am aware, the only place where synth tools
will happily process "dotted" references.
--
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@MYCOMPANY.com
http://www.MYCOMPANY.com

The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.
 
Jonathan,

I meant reference. Thanks for the suggestion - I will look into system
verilog and see what synthesis tools support it.


Jonathan Bromley wrote:
On 16 Feb 2007 11:54:38 -0800, "leon" <noel.vargese@gmail.com> wrote:

Hi,

One of the limitiations of verilog syntehsis tools is the inablity to
support hierarchical inferences.

I guess you mean "references"...

For example if I were to declare a
function in modules and have that synthesized then I should be able to
refer to the function by giving it a path using the module instance
name. This is supported by simulation tools and would be a great
alternative to not having packages as in VHDL.

Agreed. It's very tedious that this doesn't work for synthesis.

This will also eliminate the need for annoying include files or
creating a module for each function and instantiating it (which is a
dumb approach for this purpose).

Also agreed.

Synth tools that support SystemVerilog permit you to use packages,
which is a nice clean answer. Also, SV has the interface construct;
this is, as far as I am aware, the only place where synth tools
will happily process "dotted" references.
--
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@MYCOMPANY.com
http://www.MYCOMPANY.com

The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.
 
"leon" <noel.vargese@gmail.com> wrote in message
news:1171733126.207080.307840@h3g2000cwc.googlegroups.com...
Jonathan,

I meant reference. Thanks for the suggestion - I will look into system
verilog and see what synthesis tools support it.
Have a look at Mentor Graphics Precision, they support some SV constructs,

http://www.mentor.com/products/fpga_pld/synthesis/precision_rtl/index.cfm

Hans.
www.ht-lab.com


Jonathan Bromley wrote:
On 16 Feb 2007 11:54:38 -0800, "leon" <noel.vargese@gmail.com> wrote:

Hi,

One of the limitiations of verilog syntehsis tools is the inablity to
support hierarchical inferences.

I guess you mean "references"...

For example if I were to declare a
function in modules and have that synthesized then I should be able to
refer to the function by giving it a path using the module instance
name. This is supported by simulation tools and would be a great
alternative to not having packages as in VHDL.

Agreed. It's very tedious that this doesn't work for synthesis.

This will also eliminate the need for annoying include files or
creating a module for each function and instantiating it (which is a
dumb approach for this purpose).

Also agreed.

Synth tools that support SystemVerilog permit you to use packages,
which is a nice clean answer. Also, SV has the interface construct;
this is, as far as I am aware, the only place where synth tools
will happily process "dotted" references.
--
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@MYCOMPANY.com
http://www.MYCOMPANY.com

The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.
 

Welcome to EDABoard.com

Sponsor

Back
Top