Pull to refresh

Comments 4

Это простой делитель опорной частоты в частоту сигнала А с коэффициентом 254.
Откуда 254? Между двумя последовательными выполнениями строки
10. A <= not A;
пройдет 256 (FF+1) тактов. Это половина периода выходного сигнала, значит коэффициент деления частоты будет 512.
Ocelot, спасибо за замечание. Поправил.
После первого прочтения появилось несколько вопросов.
1) для чего в списке чувствительности указан сигнал A, если для него в последствии в теле оператора process не заданы условия?

"… process (clk20Mhz,reset,A) --процесс со списком чувствительности сигналов ..."

2) Если я провильно понимаю, то в компоненте с vhdl-кодом №1 присутствует точно такая же проблема, как и в статье «Элемент задержки на VHDL», как то: если фронт сигнала А придет раньше фронта сигнала clk20Mhz, то задержка будет немного больше, чем запланировано. И чем раньше придет фронт А, тем больше будет отклонение от заданной задержки — в большую сторону.

Но, тем не менее, огромный плюс вашего решения по сравнению с моим — это конечно простота. Обязательно им воспользуюсь.
1) в списке чувствительности процесса указаны все сигналы, при изменении которых будет выполнен процесс. Для верности симулятора — это все входы и все синхроимпульсы.

2) тут выполняется задержка не между сигналом А и фронтом опорной частоты, а между состоянием сигнала А в первый фронт опорной частоты и повторениями сигнала А через триггеры в последующие фронты опорной частоты. Такое решение используется в схемах подавления «дребезга», фильтрации «иголок» и определении фронтов низкочастотных сигналов.
Sign up to leave a comment.

Articles

Change theme settings