|
Отследить наличие клока, Приемы определения налачия клока |
|
|
|
Jun 22 2011, 14:59
|
Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240

|
QUOTE (des00 @ Jun 22 2011, 17:56)  в логике, без эталонного генератора, никак ну почему это? используем DCM, а там есть сигнал locked )))) второй вариант - создать дополнительный генератор на линиях задержки ))) но всё это, конечно, костыли из говна и палок. )))
|
|
|
|
|
Jun 22 2011, 18:47
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Я бы сначала задал себе вопросы: - что считать наличием и отсутствием клока - как быстро нужно реагировать - синхронным ли должен быть флаг наличия клока и если да, то с каким клоком
Потом взял бы клок с "другого генератора", умножил бы его в DCM, например, на 4. Полученным клоком тактировал бы схему защиты от метастабильности и автомат, который оценивает состояние входного клока.
Да, для анализа лучше использовать не сам сигнал клока, а выходы двух регистров, каждый из которых тактируется анализируемым клоком, но на разных фронтах и инвертируют свой вход. Если вычислить XOR по ним, то получится почти исходный клок, но не будет проблемы с разводкой.
PS: в default chip SPARTAN 3E сигнал lock падает при продолжительном пропадании опорного входного клока, но заново без ресета не поднимается даже при его восстановлении.
|
|
|
|
|
Jun 22 2011, 19:09
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Делал подобную вещь: Код reg in_clk_det; reg [19:0] out_clk_det; reg clk_sync_det;
always @(posedge clk_sync or posedge out_clk_det[1]) begin if (out_clk_det[1]) in_clk_det <= 1'b0; else if (~in_clk_det) in_clk_det <= 1'b1; end
always @(posedge clk_0) begin out_clk_det[0] <= in_clk_det; out_clk_det[19:1] <= out_clk_det[18:0]; clk_sync_det <= |out_clk_det[19:2]; end эталонный клок - clk_0
|
|
|
|
|
Jun 23 2011, 05:38
|
Частый гость
 
Группа: Участник
Сообщений: 135
Регистрация: 1-01-10
Из: Минск, Беларусь
Пользователь №: 54 588

|
Цитата(vadimuzzz @ Jun 23 2011, 02:06)  в циклоновских PLL, например, есть фича переключения с одного входного клока на другой при пропадании первого. или сигнал locked использовать Могу использовать только Xilinx. Важно не переключиться на другой клок, а определить наличие как таковое.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|