[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Тут можно ожидать не эффекты 1 и 2, а метастабильность в чистом виде. Поясню на примере. Допустим, регистр-источник тактируется CLK1 (высокая частота, мл. разряд счетчика), а регистр-приемник тактируется CLK2 (низкая частота, старший разряд). Казалось, никаких неожиданностей быть не может – счетчик, из которого получены CLK1 и CLK2, тактируется глобальной тактовой частотой.
НО, что может получиться по трассировке. Допустим, CLK1 пройдет по кратчайшему пути CLB->CLB, а CLK2 – через трассировочную матрицу, получив таким образом бОльшую задержку, чем CLK1. Можем получить изменение данных перед фронтом CLK2 и, следовательно, метастабильное состояние. Эффект может появляться и исчезать при добавлении/исключении блоков, просто переразводке и т. д.
Под флагом готовности понимался бит, выставленный по CLKa, служащий для того, чтобы проинформировать блок, работающий с CLKb, что данные для него готовы. Соответствующий clock enable “в плоскости CLKb” можно получить, дважды протактировав его CLKb.
Кристалл, думаю, придется взять бОльший.
E-mail: info@telesys.ru