Go Back   Velocity Reviews > Newsgroups > VHDL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

VHDL - configuration error

 
Thread Tools Search this Thread
Old 07-07-2005, 05:42 PM   #1
Default configuration error


Hello
I designed one simple mux , then I instantiated the basic mux with
generate loop for more outputs.while compiling with model sim its giving
error as
Error: ..component instance mux1:mux not found.
Is the problem with configuration statement or any others..
Please help me
thank you

DESIGN:used as a component --------------

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity mux is
generic ( input_w :integer :=16; --input signal width
ictrl_w :integer :=4); -- individual control signal
width

port(input:in std_logic_vector (input_w-1 downto 0);
ctrl: in std_logic_vector (ictrl_w-1 downto 0);
out_muxut std_logic);
end entity mux;

architecture mux_beh of mux is
begin
out_mux<=input(conv_integer(ctrl));
end architecture mux_beh;

component used in this design-------------

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;


ENTITY mux_ge IS
generic ( input_w :integer :=16; --input signal width
ictrl_w :integer :=4; -- individual control signal
width
tctrl_w : integer :=24; -- total control signal width--mem
out
no_out,no_ctrl :integer :=6); -- no of output
signals(r),no.of control signals (V)

port( input:in std_logic_vector(input_w-1 downto 0);
tctrl: in std_logic_vector(tctrl_w-1 downto 0);
out_fmuxut std_logic_vector(no_out-1 downto 0));
END ENTITY mux_ge;

--
ARCHITECTURE mux_ge_str OF mux_ge IS

component mux

generic ( input_w :integer :=16; --input signal width
ictrl_w :integer :=4); -- individual control signal
width

port(input:in std_logic_vector(input_w-1 downto 0);
ctrl:in std_logic_vector(ictrl_w-1 downto 0);
out_mux: out std_logic);
end component mux;

--type z is array(0 to no_out-1) of std_logic;
--signal out_vec :std_logic_vector(no_out-1 downto 0);

BEGIN
ge1:for i in 0 to no_out-1 generate
--temp(i)<=tctrl((i*ictrl_w)+(ictrl_w-1) downto i*ictrl_w);
mut1:mux port map(input,tctrl((i*ictrl_w)+(ictrl_w-1) downto
i*ictrl_w),out_fmux(i));
end generate ge1;
--out_fmux<=out_vec;

END ARCHITECTURE mux_ge_str;

configuration mux_ge_config of mux_ge is
for mux_ge_str
for mut1:mux
use entity work.mux(mux_beh);
end for;
end for;
end configuration mux_ge_config;




srinukasam
  Reply With Quote
Old 07-07-2005, 06:42 PM   #2
Eyck Jentzsch
 
Posts: n/a
Default Re: configuration error
srinukasam wrote:
> Hello
> I designed one simple mux , then I instantiated the basic mux with
> generate loop for more outputs.while compiling with model sim its giving
> error as
> Error: ..component instance mux1:mux not found.
> Is the problem with configuration statement or any others..
> Please help me
> thank you
>
> DESIGN:used as a component --------------
>
> LIBRARY ieee;
> USE ieee.std_logic_1164.all;
> USE ieee.std_logic_arith.all;
> use ieee.std_logic_unsigned.all;
>
> entity mux is
> generic ( input_w :integer :=16; --input signal width
> ictrl_w :integer :=4); -- individual control signal
> width
>
> port(input:in std_logic_vector (input_w-1 downto 0);
> ctrl: in std_logic_vector (ictrl_w-1 downto 0);
> out_muxut std_logic);
> end entity mux;
>
> architecture mux_beh of mux is
> begin
> out_mux<=input(conv_integer(ctrl));
> end architecture mux_beh;
>
> component used in this design-------------
>
> LIBRARY ieee;
> USE ieee.std_logic_1164.all;
> USE ieee.std_logic_arith.all;
>
>
> ENTITY mux_ge IS
> generic ( input_w :integer :=16; --input signal width
> ictrl_w :integer :=4; -- individual control signal
> width
> tctrl_w : integer :=24; -- total control signal width--mem
> out
> no_out,no_ctrl :integer :=6); -- no of output
> signals(r),no.of control signals (V)
>
> port( input:in std_logic_vector(input_w-1 downto 0);
> tctrl: in std_logic_vector(tctrl_w-1 downto 0);
> out_fmuxut std_logic_vector(no_out-1 downto 0));
> END ENTITY mux_ge;
>
> --
> ARCHITECTURE mux_ge_str OF mux_ge IS
>
> component mux
>
> generic ( input_w :integer :=16; --input signal width
> ictrl_w :integer :=4); -- individual control signal
> width
>
> port(input:in std_logic_vector(input_w-1 downto 0);
> ctrl:in std_logic_vector(ictrl_w-1 downto 0);
> out_mux: out std_logic);
> end component mux;
>
> --type z is array(0 to no_out-1) of std_logic;
> --signal out_vec :std_logic_vector(no_out-1 downto 0);
>
> BEGIN
> ge1:for i in 0 to no_out-1 generate
> --temp(i)<=tctrl((i*ictrl_w)+(ictrl_w-1) downto i*ictrl_w);
> mut1:mux port map(input,tctrl((i*ictrl_w)+(ictrl_w-1) downto
> i*ictrl_w),out_fmux(i));
> end generate ge1;
> --out_fmux<=out_vec;
>
> END ARCHITECTURE mux_ge_str;
>
> configuration mux_ge_config of mux_ge is
> for mux_ge_str
> for mut1:mux
> use entity work.mux(mux_beh);
> end for;
> end for;
> end configuration mux_ge_config;
>
>

You have to add one more 'for ge1'/'end for' statement for the for loop
in the architecture...

-Eyck


Eyck Jentzsch
  Reply With Quote
Old 07-07-2005, 07:28 PM   #3
srinukasam
 
Posts: n/a
Default Re: configuration error_Eyck
hi Eyck
You have to add one more 'for ge1'/'end for' statement for the for loop
in the architecture...

i added the configuration statement for that ge1 for loop only , i think.
i didnt understood why i need one more like this.

for ge1
use entity work.mux(mux_beh);
end for;

even if i add also its giving the same error as
Error: ..component instance mux1:mux not found.(error point to first end
for)



srinukasam
  Reply With Quote
Old 07-08-2005, 06:53 AM   #4
Eyck Jentzsch
 
Posts: n/a
Default Re: configuration error_Eyck
srinukasam wrote:
> hi Eyck
> You have to add one more 'for ge1'/'end for' statement for the for loop
> in the architecture...
>
> i added the configuration statement for that ge1 for loop only , i think.
> i didnt understood why i need one more like this.
>
> for ge1
> use entity work.mux(mux_beh);
> end for;
>
> even if i add also its giving the same error as
> Error: ..component instance mux1:mux not found.(error point to first end
> for)
>

The generate statement opens a new block inside the VHDL unit (the same
way like the 'block' statement does), therefore you have to *add* it to
the configration:
configuration mux_ge_config of mux_ge is
for mux_ge_str -- this is the 'block configuration' for the
-- architecture
for ge1: -- this is the 'block configuration' of the generate
-- statement
for mut1:mux -- this is the 'configuration specification'
-- of the component
use entity work.mux(mux_beh);
end for;
end for;
end for;
end configuration mux_ge_config;
An alternative way would be to use the 'all' instead of an instantiation
label:
for all:mux use entity work.mux(mux_beh); end for;

HTH

-Eyck


Eyck Jentzsch
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Server Error in '/Forms' Application. AxleWack General Help Related Topics 0 10-11-2007 01:47 PM
Need help on Modelsim VHDL syntax? ASAP:) kaji General Help Related Topics 0 03-14-2007 10:43 PM
Need help on a Modelsim VHDL Syntax? ASAP:) kaji Software 0 03-14-2007 10:43 PM
Need Help on a Modelsim VHDL Syntax....ASAP:) kaji Hardware 0 03-14-2007 10:41 PM
Parser Error Message: Could not load type 'Microsoft.SharePoint.ApplicationPages.Glob rasmita General Help Related Topics 0 09-05-2006 05:49 AM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46