M
minkowsky
Guest
Hello,
I have an entity with an INOUT port. When I modify the port from inside the
entity, the inside of the entity sees the new value, but the outside doesn't
seem to feel the change in value.
Any idea why?
here is a sample of the code:
COMPONENT comms
PORT(
p_mem0 : INOUT std_logic_vector(63 downto 0);
p_mem1 : INOUT std_logic_vector(63 downto 0);
);
END COMPONENT;
and the declaration
comms4: comms PORT MAP(
p_mem0 => mem0,
p_mem1 => mem1,
);
process (mem0) -- this process seems to be never called... :-(
variable tmp: std_logic_vector(63 downto 0):=(others=>'1')
begin
mem1<= mem0 xor tmp;
end process;
The process seems never called because if I write a new value to port
p_mem0, inside the component, then when I read both values (from inside the
communications component), I get my new value in mem0 (that's to be awaited)
and nothing in mem1 (its old value, in fact).
It's as if the component has decided the value once and for all and doesn't
accept a new value for p_mem1.
I'm at a loss, any help is welcome.
I have an entity with an INOUT port. When I modify the port from inside the
entity, the inside of the entity sees the new value, but the outside doesn't
seem to feel the change in value.
Any idea why?
here is a sample of the code:
COMPONENT comms
PORT(
p_mem0 : INOUT std_logic_vector(63 downto 0);
p_mem1 : INOUT std_logic_vector(63 downto 0);
);
END COMPONENT;
and the declaration
comms4: comms PORT MAP(
p_mem0 => mem0,
p_mem1 => mem1,
);
process (mem0) -- this process seems to be never called... :-(
variable tmp: std_logic_vector(63 downto 0):=(others=>'1')
begin
mem1<= mem0 xor tmp;
end process;
The process seems never called because if I write a new value to port
p_mem0, inside the component, then when I read both values (from inside the
communications component), I get my new value in mem0 (that's to be awaited)
and nothing in mem1 (its old value, in fact).
It's as if the component has decided the value once and for all and doesn't
accept a new value for p_mem1.
I'm at a loss, any help is welcome.