[an error occurred while processing this directive]
|
1. Имеется подобного рода код:
.....
a : process
begin
if rising_edge(Clk) then
a <= b*c;
end if;
end process a;
.....
Среда: xilinx ise + modelsim 5.8
Вопрос: почему умножение происходит не на каждом такте, как задумывалось в коде, а спустя 3 такта, причём это как в поведенческом моделировании, так и в более усложнённом моделировании (самая последняя опция).
И ещё в догонку:
p : process
if ... then
a <= '0';
b <= '1';
else
a <= '1';
b <= '0';
end if;
end process p;
- работает, а вот так:
p : process
if ... then
c <= '1';
else
c <= '0';
end if;
end process p;
p1 : process
if c='1' then
a <= '0';
b <= '1';
else
a <= '1';
b <= '0';
end if;
end process p1;
что за лажа - непонятненько...
E-mail: info@telesys.ru