Цитата(moonrock @ Mar 25 2005, 16:47)
Спасибо за ответ. Вопрос возник вот откуда. Когда на AHDL делаю счетчик из триггеров типа DFF то на вход CLK триггера у меня получается подать только глобальный CLK. А если писать на Verilog то все получается.
Странно, такого в принципе не должно быть, ведь языки описывают одно и то же, может быть разными конструкциями. Не может же быть такого, что на одном языке что то сделать можно, а на другом нельзя, тем более в такой элементарной вещи, как счетчик. Объясните подробно, что значит получается подать только глобальный клок? А почему нельзя любой другой сигнал?
Я сейчас сам использую в проекте на AHDL счетчики, которые считают не глобальный клок, а другие сигналы, совершенно не связанные с клоком.
Вот пример восьмиразрядного счетчика/делителя на 100
--делаю массив триггеров dff
variable CTR[8..0] :dff;
--далее сам счетчик
--counter
CTRA[].clrn = !c;
CTRA[].clk = b;
CTRA[].d = CTRA[].q + 1;
--делю на 100
--division by 100
if CTRA[].q == 100
then c = VCC;
end if;
выходной сигнал подаю на clear счетчика, тот обнуляется и считает заново
global clock на счетчик вообще не подается. Считает все, что подашь на вход b
На счет фронта, может из-за своей некомпетентности, но опять ничего не понял
Может нарисуете временную диаграмку что приходит на вход/что желаете получить при появлении фронта/как это связано с глобал клоком, если вообще связано?