Direct instantiation and configuration

R

Rick Jackson

As I understand it, there's no way to configure a
directly-instantiated component. I have some legacy code which looks
like:

my_comp : entity my_lib.my_entity
port map(...);

Problem: I need to configure this component, without changing the
source code. This seems to be impossible (and a good argument for
never using direct instantiation). Any comments?

Thanks -

Rick
 
R

Rick Jackson

As I understand it, there's no way to configure a
directly-instantiated component.

and, more importantly, it seems that there's no way to configure the
hierarchy underneath a directly-instantiated component, since you
can't put the name of the directly-instantiated component in a
configuration declaration.

Rick
 
J

john Doef

Rick Jackson a écrit :
As I understand it, there's no way to configure a
directly-instantiated component. I have some legacy code which looks
like:

my_comp : entity my_lib.my_entity
port map(...);

Problem: I need to configure this component, without changing the
source code. This seems to be impossible (and a good argument for
never using direct instantiation). Any comments?
I agree with you.
Direct instantiation is a very good feature which makes components
almost useless.
However to make components fully useless, they should be able to be
configured.

What a shame!

JD.
 
M

Mike Treseler

Rick said:
As I understand it, there's no way to configure a
directly-instantiated component. I have some legacy code which looks
like:

my_comp : entity my_lib.my_entity
port map(...);

Problem: I need to configure this component, without changing the
source code. This seems to be impossible (and a good argument for
never using direct instantiation). Any comments?

Your choices are:

1. Create a component declaration from the port
of my_entity and indirect both instances.

2. Modify the entity to cover both cases and
fix up the differences in the direct instance
port maps.

3. Package the guts of my_entity into functions
and procedures that can be used in either case.

-- Mike Treseler
 
J

Jim Lewis

John,
Have you submitted a enhancement request to the
VHDL working group yet?

Go to the Bugs & Enhancements link which is at:
http://www.eda.org/vasg/
and submit this.

VHDL is evolving and being improved. The only
reason an idea like this is not considered is that
users fail to identify it as an issue.

Cheers,
Jim

VASG Vice Chair
Accellera VHDL working group member
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jim Lewis
Director of Training mailto:[email protected]
SynthWorks Design Inc. http://www.SynthWorks.com
1-503-590-4787

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

Mike Treseler

john said:
I agree with you.
Direct instantiation is a very good feature which makes components
almost useless.
However to make components fully useless, they should be able to be
configured.

Components are already fully useless
to me for new code.
I cover the "component" feature procedurally.

-- Mike Treseler
 
R

Rolf Eike Beer

Von Rick Jackson:
As I understand it, there's no way to configure a
directly-instantiated component. I have some legacy code which looks
like:

my_comp : entity my_lib.my_entity
port map(...);

Problem: I need to configure this component, without changing the
source code. This seems to be impossible (and a good argument for
never using direct instantiation). Any comments?

I don't know if I completely understand your problem, but what about
this?

my_comp : entity my_lib.my_entity(conf)
port map(...);

Eike
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,756
Messages
2,569,533
Members
45,007
Latest member
OrderFitnessKetoCapsules

Latest Threads

Top