code snipets: use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity TEST is port ( addr : in integer range 0 to 31; end TEST; component TEST port ( addr : in integer range 0 to 31; end component; DBUS : inout std_logic_vector(15 downto 0); Inst_TEST: TEST port map ( addr => to_integer(unsigned(DBUS(4 downto 0))), ); This is where I get the ISE error: Actual, ParameterAssocOp, associated with Formal Signal, Signal 'addr', is not a Signal. (LRM 2.1.1) What am I doing wrong here?
> What am I doing wrong here?
Mapping "inout" to "in" port?
Try it with a local signal:
1 | :
|
2 | :
|
3 | |
4 | DBUS : inout std_logic_vector(15 downto 0); |
5 | addrhelp : integer range 0 to 31; |
6 | |
7 | |
8 | |
9 | addrhelp <= to_integer(unsigned(DBUS(4 downto 0))); |
10 | |
11 | Inst_TEST: TEST port map ( |
12 | addr => addrhelp |
13 | );
|
In this way no function or procedure is called within the port assignment...
Lothar Miller wrote: > In this way no function or procedure is called within the port > assignment... Thats it, thanks. "You can't put the conversion right in the port mapping." http://forums.xilinx.com/t5/Synthesis/numeric-std-std-logic-vector-to-integer/td-p/245590
Lothar Miller wrote: > And what was the problem? I intended to reply to both you and Peter at the same time, but got interrupted in between.
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.