sakr
Guest
Mon Aug 23, 2010 3:53 pm
I was trying to write a configuration declaration to certain
component; when compiling that configuration, I had a warning that the
Component configuration "all : myComp" applies to no component
instantiation statements.
This an example of how my configuration declaration looks like; direct
and simple:
for myArch
for all : myComp
use entity myLib.myComp(myCompArch);
end for;
end for;
I could attribute the problem to the fact that the myComp is
instintaited inside a generate block.
genLabel : for i in 0 to i_max generate
myCompInst : component myComp
port map (
...
...
...
);
end generate genLabel;
Just to make sure I have no typos, I moved the component instintiation
outside the generate block, then compiled the configuration, and I
received no errors, or warnings, and the component binding was as I
expected.
So, my question is how to configure a compenet, when it is
instintaited inside a generate block.
Best Regards,
Mostafa Sakr
Paul Uiterlinden
Guest
Mon Aug 23, 2010 5:03 pm
sakr wrote:
Quote:
I was trying to write a configuration declaration to certain
component; when compiling that configuration, I had a warning that the
Component configuration "all : myComp" applies to no component
instantiation statements.
This an example of how my configuration declaration looks like; direct
and simple:
for myArch
for all : myComp
use entity myLib.myComp(myCompArch);
end for;
end for;
I could attribute the problem to the fact that the myComp is
instintaited inside a generate block.
genLabel : for i in 0 to i_max generate
myCompInst : component myComp
port map (
...
...
...
);
end generate genLabel;
Just to make sure I have no typos, I moved the component instintiation
outside the generate block, then compiled the configuration, and I
received no errors, or warnings, and the component binding was as I
expected.
So, my question is how to configure a compenet, when it is
instintaited inside a generate block.
The for-generate loop acts like an extra level of hierarchy, for
configurations. So your configuration declaration should contain:
for myArch
for genLabel
for all : myComp
use entity myLib.myComp(myCompArch);
end for;
end for;
end for;
Additionally, your instantiation should be:
genLabel : for i in 0 to i_max generate
myCompInst : myComp
port map (
...
...
...
);
end generate genLabel;
So without the word "component" after "myCompInst :".
--
Paul Uiterlinden
www.aimvalley.nl
e-mail addres: remove the not.