Changing generics in top-level module

M

Martin Thompson

Guest
Hi all,

Is there a way of changing the generics of the top-level entity from a
configuration?

My testbench has some parameters I'd like to tweak on different runs,
and I would like to do it via multiple configurations, rather than
vsim options. However, I can't figure out how to do it!

My current solution involves instantiating this top level testbench in
an even higher level entity, which I can then use configurations on,
but this seems wasteful...

Any suggestions greatly appreciated!

Thanks,
Martin

--
martin.j.thompson@trw.com
TRW Conekt, Solihull, UK
http://www.trw.com/conekt
 
Not yet, there is a proposal on this, see
http://www.eda.org/vhdl-200x/vhdl-200x-ft/proposals/proposals.html (FT23)
Egbert Molenkamp


"Martin Thompson" <martin.j.thompson@trw.com> wrote in message
news:uisekjxfh.fsf@trw.com...
Hi all,

Is there a way of changing the generics of the top-level entity from a
configuration?

My testbench has some parameters I'd like to tweak on different runs,
and I would like to do it via multiple configurations, rather than
vsim options. However, I can't figure out how to do it!

My current solution involves instantiating this top level testbench in
an even higher level entity, which I can then use configurations on,
but this seems wasteful...

Any suggestions greatly appreciated!

Thanks,
Martin

--
martin.j.thompson@trw.com
TRW Conekt, Solihull, UK
http://www.trw.com/conekt
 
"Martin Thompson" <martin.j.thompson@trw.com> wrote in message
news:uisekjxfh.fsf@trw.com...
Hi all,

Is there a way of changing the generics of the top-level entity from
a
configuration?

My testbench has some parameters I'd like to tweak on different
runs,
and I would like to do it via multiple configurations, rather than
vsim options. However, I can't figure out how to do it!

My current solution involves instantiating this top level testbench
in
an even higher level entity, which I can then use configurations on,
but this seems wasteful...

Any suggestions greatly appreciated!
As Egbert says, not yet. In the current VHDL LRM it says that a
particular
implementation of the language is not required to support ports and
generics
on a top level entity, though it may.

Using a wrapper (or donut as the Americans say) is one approach, as
you've
taken.

You can sometimes use simulator features, for instance vsim -g in
modelsim.
You could then write a set of scripts to launch simulation runs with
different
top level generics. Of course this isn't as portable as using a
wrapper.

regards

Alan


--
Alan Fitch
Consultant

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

Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, Hampshire, BH24
1AW, UK
Tel: +44 (0)1425 471223 mail:
alan.fitch@doulos.com
Fax: +44 (0)1425 471573 Web:
http://www.doulos.com

The contents of this message may contain personal views which are not
the
views of Doulos Ltd., unless specifically stated.
 
Thanks for those inputs - looks like a wrapper for now then.

Cheers,
Martin

--
martin.j.thompson@trw.com
TRW Conekt, Solihull, UK
http://www.trw.com/conekt
 
The latest is that this proposal has been demoted
to the MP list. I will be updating the reflector
to indicate this shortly.

How much we get done and how fast we can do it
is really a function of participation. Hint. Hint.
Hint. Observer participants (no membership required)
with a good knowledge of the VHDL LRM are welcome
to write an LCS (Language Change Specification).

Things get worked on based on priority and based on
someone being willing and having the time to write
an LCS. This item rolled off the fast track list
due to priority, required delivery schedule for
fast track items (must have an LCS by DAC), and
not enough bandwidth from the current members (we
tend to take time off to sleep, say hi to the wife,
and play with the kids). It is a volunteer effort,
so for most it means our job does not pay us to do
the work.

Cheers,
Jim
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jim Lewis
Director of Training mailto:Jim@SynthWorks.com
SynthWorks Design Inc. http://www.SynthWorks.com
1-503-590-4787

Expert VHDL Training for Hardware Design and Verification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Not yet, there is a proposal on this, see
http://www.eda.org/vhdl-200x/vhdl-200x-ft/proposals/proposals.html (FT23)
Egbert Molenkamp


"Martin Thompson" <martin.j.thompson@trw.com> wrote in message
news:uisekjxfh.fsf@trw.com...

Hi all,

Is there a way of changing the generics of the top-level entity from a
configuration?

My testbench has some parameters I'd like to tweak on different runs,
and I would like to do it via multiple configurations, rather than
vsim options. However, I can't figure out how to do it!

My current solution involves instantiating this top level testbench in
an even higher level entity, which I can then use configurations on,
but this seems wasteful...

Any suggestions greatly appreciated!

Thanks,
Martin

--
martin.j.thompson@trw.com
TRW Conekt, Solihull, UK
http://www.trw.com/conekt
 
Hi Martin,

I know that configuration isn't supported for RTL synthesis
(IEEE-1076.6-1999), but have you try to change your generics via the
configuration binding ?

I remember you that in IEEE-1076-2002, chapter 5.2, the configuration
specification can include some aspect of generic_map_aspect (see section
2.5.1).

I don't know how simulator implement it, but that can be your solution.

JaI

Martin Thompson wrote:

Hi all,

Is there a way of changing the generics of the top-level entity from a
configuration?

My testbench has some parameters I'd like to tweak on different runs,
and I would like to do it via multiple configurations, rather than
vsim options. However, I can't figure out how to do it!

My current solution involves instantiating this top level testbench in
an even higher level entity, which I can then use configurations on,
but this seems wasteful...

Any suggestions greatly appreciated!

Thanks,
Martin
 

Welcome to EDABoard.com

Sponsor

Back
Top