two .vhd sources in a project... ISE 9.1 ?

J

jesse lackey

Sorry for the total newbie dumb questions. It is rather frustrating
that I can't figure it out and am not finding help / docs on this.

I have a project with a single .vhd file. Fine.
I have another module developed and tested in another project, called
"multiplexed_output".
All I want to do is have that module be part of my main project, so I
can start using it.
If I do "add source", it becomes part of the project, and I can do a
"check syntax" on it just fine. However it is not seen by the main
module, so trying to instantiate "multiplexed_output" fails. Undefined
symbol.

I was able to have two files in the project I used to create
"multiplexed_output", the main vhdl code and a testbench in vhdl.
However this was created for me by a wizard in ISE, and now that I have
to do it myself, I'm stuck.

It is probably like 4 mouseclicks, but I could be here all evening. I'd
rather not copy the vhdl code into the one vhdl file I have in the main
project. Modularity and all.

as an aside, I'm really thinking of switching to Altera for the next
design, primarily due to user-unfriendlyness of xilinx tools. Bugs and
crashes and meaningless error messages. Does anyone who has used recent
versions of both have an opinion on this?

Thanks in advance
J
 
C

Colin Paul Gloster

Jesse Lackey posted:
"Sorry for the total newbie dumb questions. It is rather frustrating
that I can't figure it out and am not finding help / docs on this.

I have a project with a single .vhd file. Fine.
I have another module developed and tested in another project, called
"multiplexed_output".
All I want to do is have that module be part of my main project, so I
can start using it.
If I do "add source", it becomes part of the project, and I can do a
"check syntax" on it just fine. However it is not seen by the main
module, so trying to instantiate "multiplexed_output" fails. Undefined
symbol.

I was able to have two files in the project I used to create
"multiplexed_output", the main vhdl code and a testbench in vhdl.
However this was created for me by a wizard in ISE, and now that I have
to do it myself, I'm stuck.

[..]"

Hello,

I can think of two possibilities. Perhaps you did not have ISE analyze
"Multiplexed_output" before you had ISE analyze the main file. I
suspect this is not your problem, but it probably will be if my other
idea is right and you fix that problem...

....I suggest that you check in your main file whether you are missing
a LIBRARY or USE keyword which you would need in order to import the
other file's "Multiplexed_output". Check how this is done in the
original project created by the wizard.

"[..]
crashes and meaningless error messages. [..]"

Everyone will find many error messages from all tools unsuitable. This
is not the fault of the tools. Some people try a lot to provide very
helpful error messages which will be very helpful when the advice is
appropiate, but not when it is not and it will not be right in general
even if it is usually right so I completely respect people who do not
bother.

An example...

entity confusing is
Port ( C_programmers_are_stupid : out integer;
different_people_interpret_things_differently_so_need_different_advice : in integer
);
end confusing;

architecture Behavioral of confusing is

begin
C_programmers_are_stupid
/= --"ERROR:HDLParsers:164 - //lothlorien/dati/error_messages/confusing.vhd Line 11. parse error, unexpected NOTEQ, expecting OPENPAR or TICK or LSQBRACK".
different_people_interpret_things_differently_so_need_different_advice;
end Behavioral;

The programmers of ISE can not know that someone is trying to use the
/= operator of C which is in no way similar to the /= operator of
VHDL. ISE does however point out that a problem may exist with the
attempt to use /=.

Regards,
Colin Paul Gloster
 
N

Newman

Sorry for the total newbie dumb questions. It is rather frustrating
that I can't figure it out and am not finding help / docs on this.

I have a project with a single .vhd file. Fine.
I have another module developed and tested in another project, called
"multiplexed_output".
All I want to do is have that module be part of my main project, so I
can start using it.
If I do "add source", it becomes part of the project, and I can do a
"check syntax" on it just fine. However it is not seen by the main
module, so trying to instantiate "multiplexed_output" fails. Undefined
symbol.

I was able to have two files in the project I used to create
"multiplexed_output", the main vhdl code and a testbench in vhdl.
However this was created for me by a wizard in ISE, and now that I have
to do it myself, I'm stuck.

It is probably like 4 mouseclicks, but I could be here all evening. I'd
rather not copy the vhdl code into the one vhdl file I have in the main
project. Modularity and all.

as an aside, I'm really thinking of switching to Altera for the next
design, primarily due to user-unfriendlyness of xilinx tools. Bugs and
crashes and meaningless error messages. Does anyone who has used recent
versions of both have an opinion on this?

Thanks in advance
J

Is the multiplex_output module below the main vhdl file in the ISE
source window. If it isn't, ISE thinks they are not connected. I
would carefully check the component and instance declaration in the
main file to see if they match the entity description of the
multiplex_output module.

You might go to the library tab and under work, delete the
multiplex_output entry and re-add it again.

You might open Modelsim, compile the two modules and open a simulation
on the top module. If that doesn't open without error, then the fault
points to something in your code.

Hope this helps,

Newman
 
G

ghelbig

Sorry for the total newbie dumb questions. It is rather frustrating
that I can't figure it out and am not finding help / docs on this.

I have a project with a single .vhd file. Fine.
I have another module developed and tested in another project, called
"multiplexed_output".
All I want to do is have that module be part of my main project, so I
can start using it.
If I do "add source", it becomes part of the project, and I can do a
"check syntax" on it just fine. However it is not seen by the main
module, so trying to instantiate "multiplexed_output" fails. Undefined
symbol.

I was able to have two files in the project I used to create
"multiplexed_output", the main vhdl code and a testbench in vhdl.
However this was created for me by a wizard in ISE, and now that I have
to do it myself, I'm stuck.

It is probably like 4 mouseclicks, but I could be here all evening. I'd
rather not copy the vhdl code into the one vhdl file I have in the main
project. Modularity and all.

as an aside, I'm really thinking of switching to Altera for the next
design, primarily due to user-unfriendlyness of xilinx tools. Bugs and
crashes and meaningless error messages. Does anyone who has used recent
versions of both have an opinion on this?

Thanks in advance
J

You need to create a "master file" that "uses" the two files you
mention.

"master file" = top level file
"uses" = instantiates

In other words, create a top level file that instantiates the two
files as components.

G.
 
Joined
May 4, 2007
Messages
49
Reaction score
0
Jessie Lackey,

> as an aside, I'm really thinking of switching to Altera for the next
> design, primarily due to user-unfriendlyness of xilinx tools. Bugs and
> crashes and meaningless error messages. Does anyone who has used recent
> versions of both have an opinion on this?
>
> Thanks in advance
> J

In response to this question alone. I have used both tools in the last 3 years and Altera is FAR AND AWAY the better tool to use!!!! Xilinx version 4.7 was pretty good but now at version 9.1 sp3 they have completely butchered their user friendliness. As for Altera, it's as if they went through the Xilinx tool and fixed all the annoying bugs that CrapLinx has and made their tool better. If you ever have to do a microprocessor design within an FPGA you better pick the Altera Quartus design because you'll be contemplating early retirement if you're forced into the CrapLinx EDK software.

Just my 2 cents,
Scott
 

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

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top