Здарвствуйте.Помогите пожалуйста разобраться с причиной ограничения максимальной частоты тактового сигнала. Я начал работать с ПЛИС совсем недавно, еще мало что понимаю.Сейчас занимаюсь доработкой старого проекта,который периодически зависает и сбрасывается.В оригинале были использованы инверсные клоки,один умный человек посоветовал мне ввести в проект один глобальный тактовый сигнал высокой частоты (для меня подходит 100 МГц), завести его в глобальную цепь и подавать на все клоковые входы. Мне необходимо переключаться по передним либо по задним фронтам двух других клоков (они меньшей частоты 12-25 МГц), я выделяю падающие и растущие фронты в виде коротких импульсов шириной как глобальный клок и подаю на enable входы схем. Я завел сигнал в глобальную цепь, затем подаю main_clk на все клоковые входы variable main_clk:node; ... main_clk = global(ext_clk);
Для выделения переднего и заднего фронтов пользуюсь функциями, SUBDESIGN rising ( source_clk, main_clk : INPUT; enable_signal : OUTPUT; ) BEGIN enable_signal = !DFF(source_clk, main_clk, ,) & source_clk; END; SUBDESIGN falling ( source_clk, main_clk : INPUT; enable_signal : OUTPUT; ) BEGIN enable_signal = DFF(source_clk, main_clk, ,) & !source_clk; END;
Я не понимаю, при таком раскладе максимальная частота клока уменьшается пропорционально с увеличением проекта.Клок что проходит все узлы последовательно? Помогите пожалуйста разобраться. В проекте использован плис ACEX.
|