Цитата(Shtirlits @ Feb 25 2009, 14:59)

Скажите, в каком стиле, на каком языке и какого рода пишутся проекты, в которых разработчик может быть избавлен от знания о количестве клоков?
Могу, конечно, и заблуждаться, но я считаю, что в ПЛИС должно быть минимум разных Clock’ов. Я использую различные Clock’и только когда у этих clock’ов различная природа; например: интерфейс PCI (около 33МГц), еще какой-нибудь дурацкий интерфейс (8.192 МГц) и собственная частота системы (200Мгц) - такие clock'и различны по природе, и соответственно требуют синхронизационных механизмов для передачи данных между Clock Domain. Бывали случаи работы с базовой частотой, умноженной (на 2) или деленной (на 16) одним DLL - в этом случае особых проблем синхронизации нет, надо только очень аккуратно схему составлять (описывать), т.к. эти clock'и - родственники: имеют синхронно дрожащие фронты, и, соответственно, особых проблем не доставляющих. Если же необходимо уйти на clock с низкой частотой (например базовая частота / на 1024), то для этой цели можно завести специальный сигнал (равный ‘1’ только в течении одного периода базовой частоты, а остальные 1023 периода остающийся ‘0’) подмешиваемый в цепи Clock Enable блока работающего на «низкой частоте».
Кстати по поводу различных clock. Как-то недавно принес мне студент схему... естественно не работающую, из-за того, что товарищ (четко, как учили на курсах по азам цифровой схемотезнике на рассыпухе) воспользовался схемным вводом, и подал на CLK вход триггера сигнал
= BASE_CLK and EVENT, а на CE вход - сигнал
BASE_CE. Простое переписывание этого безобразия на VHDL привело к тому, что синтезатор подал на CE сигнал
= EVENT and BASE_CE, а
чистый BASE_CLK на CLK вход триггера.