Цитата(D-Luxe @ Jun 15 2011, 21:45)

Меня интересует следующий вопрос: допустим описываешь простейшую схему, которая входит в состав большого проекта.
Ниже примерчик.
Код
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 защелкивается неправильное значение.
Если такая ситуация возможно то как с этим бороться?
Пример возможно довольно грубый, но надеюсь проблема понятна (проблема которая возникает в синхронной схеме из-за задержек после трассировки).
у меня 3 встречных вопроса:
1) делали вы функциональную симуляцию проекта или модуля? все ли там впорядке?
2) насколько чип заполнен? если заполнение небольшое, скажем 30%, то врядли это проблема задержек
3) какова рабочая частота и какие разрядности сумматоров? на небольших частотах, скажем 10-20Мгц врядли проблема с задержками распространения, если разрядности сумматоров небольшие, скажем 8-16 бит, то вряд ли это проблема задержек распространения