FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > VHDL

VHDL comp.lang.vhdl newsgroup / Usenet

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 11-03-2007, 01:27 AM
june
Guest
 
Posts: n/a
Default More actuals found than formals in port map

Hello everyone? I'm June from Korea.
I was doing a homework, where I encountered a trouble.
I'll appreciate if you can help me.

The Problem is: I checked the grammar again and again, but found no
errors.
Still, ISE says " More actuals found than formals in port map"
There's no information about this error message in Google.
Please! tell me what's the problem and how to solve it.

-June-

architecture-----------------------------------------------------------------------------------------
stage5 : fourbitadder port map (x(3),x(2),x(1),x(0),
y(3),y(2),y(1),y(0), c, sum(3),sum(2),sum(1),sum(0), carry);

*Error message occurs here** More actuals found than formals in port
map***
-----------------------------------------------------------------------------------------------------------

fourbitadder is refered as follows:

architecture----------------------------------------------------------------------------------------
component fourbitadder
port ( a : in std_logic_vector(3 downto 0);
b : in std_logic_vector(3 downto 0);
cin : in std_logic;
s : out std_logic_vector(3 downto 0);
cout : out std_logic);
end component;
----------------------------------------------------------------------------------------------------------

Reply With Quote
  #2 (permalink)  
Old 11-03-2007, 05:53 AM
David R Brooks
Guest
 
Posts: n/a
Default Re: More actuals found than formals in port map

june wrote:
> Hello everyone? I'm June from Korea.
> I was doing a homework, where I encountered a trouble.
> I'll appreciate if you can help me.
>
> The Problem is: I checked the grammar again and again, but found no
> errors.
> Still, ISE says " More actuals found than formals in port map"
> There's no information about this error message in Google.
> Please! tell me what's the problem and how to solve it.
>
> -June-
>
> architecture-----------------------------------------------------------------------------------------
> stage5 : fourbitadder port map (x(3),x(2),x(1),x(0),
> y(3),y(2),y(1),y(0), c, sum(3),sum(2),sum(1),sum(0), carry);
>
> *Error message occurs here** More actuals found than formals in port
> map***
> -----------------------------------------------------------------------------------------------------------
>
> fourbitadder is refered as follows:
>
> architecture----------------------------------------------------------------------------------------
> component fourbitadder
> port ( a : in std_logic_vector(3 downto 0);
> b : in std_logic_vector(3 downto 0);
> cin : in std_logic;
> s : out std_logic_vector(3 downto 0);
> cout : out std_logic);
> end component;
> ----------------------------------------------------------------------------------------------------------
>

I suspect (without actually running it) that the issue is that your
formals & actuals are of different types. Each formal & actual counts 1,
regardless of its size/type. So you have 14 actuals, & 5 formals. The
fact that they total the same number of bits doesn't help.
How about this:
signal x, y, sum : std_logic_vector(3 downto 0);
signal c, carry : std_logic;
stage5 : fourbitadder port map (x, y, c, sum, carry);

If you really want your signals broken up into bits (to attach to
top-level pins?), you do that explicitly at the top level.


Reply With Quote
  #3 (permalink)  
Old 11-03-2007, 02:54 PM
KJ
Guest
 
Posts: n/a
Default Re: More actuals found than formals in port map


"june" <[email protected]> wrote in message
news:[email protected] ps.com...
> Hello everyone? I'm June from Korea.
> I was doing a homework, where I encountered a trouble.
> I'll appreciate if you can help me.
>
> The Problem is: I checked the grammar again and again, but found no
> errors.
> Still, ISE says " More actuals found than formals in port map"
> There's no information about this error message in Google.
> Please! tell me what's the problem and how to solve it.
>
> -June-
>
> architecture-----------------------------------------------------------------------------------------
> stage5 : fourbitadder port map (x(3),x(2),x(1),x(0),
> y(3),y(2),y(1),y(0), c, sum(3),sum(2),sum(1),sum(0), carry);
>
> *Error message occurs here** More actuals found than formals in port
> map***
> -----------------------------------------------------------------------------------------------------------
>
> fourbitadder is refered as follows:
>
> architecture----------------------------------------------------------------------------------------
> component fourbitadder
> port ( a : in std_logic_vector(3 downto 0);
> b : in std_logic_vector(3 downto 0);
> cin : in std_logic;
> s : out std_logic_vector(3 downto 0);
> cout : out std_logic);
> end component;
> ----------------------------------------------------------------------------------------------------------
>

There are only 5 ports expected (a, b, cin, s and cout) but you've supplied
14 arguments. The number that are expected (the formals) come from your
component definition, the actuals are the list of 14 signals that you
provided. Here are a couple different ways to correct:

--- 1. Using the '&' operator to concatenate the individual signals
stage5 : fourbitadder port map (x(3) & x(2) & x(1) & x(0),
y(3) & y(2) & y(1) & y(0), c, sum(3) & sum(2) & sum(1) & sum(0), carry);

-- 2. Simply use the correct vectors
stage5 : fourbitadder port map (x(3 downto 0),
y(3 downto 0), c, sum(3 downto 0), carry);

-- 3. Use explicit port mappings (this is better practice than relying on
the position in the mapping as you've done

stage5 : fourbitadder port map (
a => x(3 downto 0),
b => y(3 downto 0),
cin => c,
s => sum(3 downto 0),
cout => carry);

KJ


Reply With Quote
Reply

Bookmarks


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

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
EDK: command not found Thang Nguyen FPGA 0 11-15-2006 12:32 AM
<EDK> PORT .... not found in MPD Pasacco FPGA 1 07-26-2006 09:25 AM
XPS : Body of function not found Joey FPGA 0 06-10-2005 03:59 PM
"port not found in module definition" compile error Junk0 Verilog 2 01-17-2005 04:36 PM
I found this great little site I found this great little site VHDL 0 11-21-2004 01:56 PM


All times are GMT +1. The time now is 12:10 PM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved