Forum Discussion
Syntax in the instantiation of a component
I'm utilizing a peer's program for counting coincidences of photons between different sources. There are a few components that we can call "XXXX" for example. The instantiation of these components are as follows:
X0 : XXXX
X1 : XXXX
X2 : XXXX
and so on.
When I try to simulate the circuit with modelsim, I receive a warning that each instance of instantiation is not bound (code vsim-3473). I believe the reason I receive this warning because the instantiation does not explicitly match the component, so modelsim doesn't recognize that the two relate. How do I fix this? Can I simply remove the X0, X1, X2, etc... or are they necessary to the program? each instantiation is correlated to a different input, so I feel removing them might mess it up?
Very new to vdhl, so no answer is too simple. Thanks in advance!
Hi ,
Sorry for the late reply,
For Modelsim you have to Load ALTERA_MF library.
vsim -L altera_mf -L work rs232coincidencecounter
Which Should remove the ** Warning: (vsim-3473) Component instance "LC : LCELL" is not bound.
Attached the transcript.
Let me know if this has helped resolve the issue you are facing or if you need any further assistance.
Regards
Anand
6 Replies
- AnandRaj_S_Intel
Regular Contributor
Hi,
Check port or generic are matching between instantiation and component.
Compile all component file in modelsim instead of compiling only top file.
If possible share the project and modelsim transcript.
Let me know if this has helped resolve the issue you are facing or if you need any further assistance.
Regards
Anand
- OMaga
New Contributor
There are no generic ports in this file, and all component ports have an instantiated port map, though the signal names don't match exactly. For example, here's the LCELL component and its instantiation:
COMPONENT LCELL PORT ( a_in : IN STD_LOGIC; a_out : OUT STD_LOGIC); END COMPONENT; -- This creates, using iteration, a chain of LCELL buffers for each A, B, C, D signal, -- which act to delay the signals. LCA_1: LCELL PORT MAP(a_in=> A, a_out=>A_internal(0)); Gen_delay_A : FOR i in 0 to 23 GENERATE LC : LCELL PORT MAP(a_in => A_internal(i), a_out => A_internal(i+1)); END GENERATE; LCB_1: LCELL PORT MAP(a_in=> B, a_out=>B_internal(0)); Gen_delay_B : FOR i in 0 to 23 GENERATE LC : LCELL PORT MAP(a_in => B_internal(i), a_out => B_internal(i+1)); END GENERATE; LCC_1: LCELL PORT MAP(a_in=> C, a_out => C_internal(0)); Gen_delay_C : FOR i in 0 to 23 GENERATE LC : LCELL PORT MAP(a_in => C_internal(i), a_out => C_internal(i+1)); END GENERATE; LCD_1: LCELL PORT MAP(a_in=> D, a_out => D_internal(0)); Gen_delay_D : FOR i in 0 to 23 GENERATE LC : LCELL PORT MAP(a_in => D_internal(i), a_out => D_internal(i+1)); END GENERATE;As for the component files, whenever I add a file to the project, the only folder it allows me to add it to is the "Top Level" folder, I don't know if that's significant.
The attached file is the (actual) top level code. Thanks again.
- AnandRaj_S_Intel
Regular Contributor
Hi @OMaga ,
We have compile all the files, which are used in top level file.
Can you attach complete project?
Regards
Anand