Меня интересует следующий вопрос: допустим описываешь простейшую схему, которая входит в состав большого проекта.
Ниже примерчик.
Код
process(clk)
begin
if ( clk'event and clk='1' ) then
y <= a + b;
z <= c + d;
e <= y + z;
end if;
end process;
Допустим после трассировки
y находится в одной части кристалла, а
z и
e в другой части кристалла. Возможна ли такая ситуация, что
y подается на сложение с
z со значительной задержкой, в итоге в
e защелкивается неправильное значение.
Если такая ситуация возможно то как с этим бороться?
Пример возможно довольно грубый, но надеюсь проблема понятна (проблема которая возникает в синхронной схеме из-за задержек после трассировки).
Нелегко оказаться на верном пути, но куда труднее его пройти.
(с) Уилл Роджерс