Всем здравствуйте!
Нахожусь на стадии наращивания проекта для Spartan3AN. Написал пару изменений для него. При компиляции возникает вышеуказанная ошибка (ERROR:Place:1138 - Automatic clock placement failed...). Начал разбираться где, расточительно использовались ресурсы глобального клокового древа и наткнулся на замечательный модуль, в который как оказывается приходит аж 4 клока, не считая системного и каждый из них тактирует счетчик, для измерения своей частоты, что то вроде:
Код
...
always @(posedge CLK24MHZ)
if (start_mt)
freq_24_cnt <= freq_24_cnt+1;
else
freq_24_cnt<=0;
always @(posedge CLK27MHZ)
if (start_mt)
freq_27_cnt <= freq_27_cnt+1;
else
freq_27_cnt<=0;
...
Частоты в проекте у меня следующие:
системная - 51.2 МГц, остальные 27, 25, 24 и 8 МГц.
Я вот что думаю, ведь могу же я с системной частотой 51.2 МГц определить нарастающие фронты для клоков 25, 24 и 8 МГц соответственно, и посчитать их количество за определенный временной интервал?! а вот что делать с 27 МГц ? так и оставить или попробовать увеличить системную тактовую частоту ? Как в этом случае будет правильнее поступить .