[an error occurred while processing this directive]
|
только требование к неизменности данных на входных шинах дается не только до окончания рассчета текущих, а до приема рассчитанных данных их потребителем. Вот пример на пальцах. Допустим время задержки комбинаторного MUL_DIV_SUB 100ns (для простоты каждый из MUL,DIV,SUB имеет задержку 33ns). У Вас данные приходят с частотой 1 мгц, то есть каждые 1000ns. Ну и потребитель потребляет их с той-же частотой и по тому-же клоку, что и выдает источник. Такая схема надежна и работоспособна. А теперь ситуация другая - даные приходят с частотой 20 мгц. Это 50ns. Потребляться они должны естессно с той-же частотой. В таком случае понадобится или конвейер, или более быстрый камень. Но конвейерная схема будет выдавать данные с задержкой на сколько-то тактов относительно их прихода, обрабатывая при этом ВСЕ данные на ПОЛНОЙ скорости.
P.S. Еще, кстати, бывают последовательные схемы, в которых на обработку одного данного требуется N тактов, и в течение этого времени схема не может принимать новых данных. Но эти схемы применяются тогда, когда важна занимаемая площадь, а не скорость обработки.
P.P.S Синтезатор естественно объединит все эти модули в одну кучу.
E-mail: info@telesys.ru