|
|
  |
Правильное использование locked у PLL |
|
|
|
Jan 26 2015, 15:18
|
Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 13-03-11
Из: Екатеринбург
Пользователь №: 63 574

|
Xilinx, кстати, не рекомендует использовать такое отключение клока, а вместо этого использовать входы CE.
Xilinx® recommends that you use the CLB clock enable pin instead of gated clocks. Gated clocks can cause glitches, increased clock delay, clock skew, and other undesirable effects. Using clock enable saves clock resources, and can improve timing characteristic and analysis of the design. If you want to use a gated clock for power reduction, most FPGA devices now have a clock enabled global buffer resource called BUFGCE. However, a clock enable is still the preferred method to reduce or stop the clock to portions of the design.
Сообщение отредактировал Opex - Jan 26 2015, 15:18
|
|
|
|
|
Jan 29 2015, 14:49
|
Местный
  
Группа: Участник
Сообщений: 294
Регистрация: 25-09-13
Из: Н.Новгород
Пользователь №: 78 485

|
Цитата(Opex @ Jan 26 2015, 18:18)  а вместо этого использовать входы CE. Это где они находятся?
|
|
|
|
|
Jan 29 2015, 19:06
|
Местный
  
Группа: Участник
Сообщений: 294
Регистрация: 25-09-13
Из: Н.Новгород
Пользователь №: 78 485

|
Цитата(Opex @ Jan 29 2015, 18:24)  if (enable) begin ... end Обратно не понял. Если так написать, то это получится обыкновенный DV-триггер на базе D-триггера плисочного, и эта DV логика потребует ресурсов.
|
|
|
|
|
Jan 29 2015, 20:36
|
Местный
  
Группа: Участник
Сообщений: 294
Регистрация: 25-09-13
Из: Н.Новгород
Пользователь №: 78 485

|
Цитата(SM @ Jan 29 2015, 22:27)  Что такое DV-триггер? Если V == 1, триггер работает как обычный D, если V == 0, хранит своё состояние. Как-то так:
Цитата(SM @ Jan 29 2015, 22:27)  А это синтезируется, скорее всего, в подачу сигнала "enable" на вход CE "обычного плисочного триггера", а на вход его данных будет подано то, что внутри этого условия описано. CE это который вот этот?
Кстати да, этот вход давно мне покоя не даёт. Где-то слышал или читал, что это разрешение клока. Но это разрешение надо подавать синхронно клоку или необязательно? И как к нему достучатся из верилога? Что-то мне подсказывает, что одним таким условием не обойдёшься, скорее всего надо ещё и настройки компилятора крутить.
|
|
|
|
|
Jan 29 2015, 20:50
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(Jackov @ Jan 29 2015, 23:36)  Кстати да, этот вход давно мне покоя не даёт. Где-то слышал или читал, что это разрешение клока. Но это разрешение надо подавать синхронно клоку или необязательно? И как к нему достучатся из верилога? Что-то мне подсказывает, что одним таким условием не обойдёшься, скорее всего надо ещё и настройки компилятора крутить. Достучаться, как и написано выше Код always@(posedge clk)begin if(en) q <= d; end
|
|
|
|
|
Feb 2 2015, 08:04
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Цитата(Opex @ Jan 26 2015, 21:18)  Xilinx, кстати, не рекомендует использовать такое отключение клока, а вместо этого использовать входы CE. CODE Xilinx® recommends that you use the CLB clock enable pin instead of gated clocks. Gated clocks can cause glitches, increased clock delay, clock skew, and other undesirable effects. Using clock enable saves clock resources, and can improve timing characteristic and analysis of the design. If you want to use a gated clock for power reduction, most FPGA devices now have a clock enabled global buffer resource called BUFGCE. However, a clock enable is still the preferred method to reduce or stop the clock to portions of the design.
Судя из приведённого текста (к стати, дайте плиз линк на исходник), наоборот, хилинх рекомендует использовать именно такой глобальный тактовый буфер с входом разрешения.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Feb 2 2015, 08:34
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Jackov @ Jan 29 2015, 23:36)  Кстати да, этот вход давно мне покоя не даёт. Где-то слышал или читал, что это разрешение клока. Но это разрешение надо подавать синхронно клоку или необязательно? И как к нему достучатся из верилога? Что-то мне подсказывает, что одним таким условием не обойдёшься, скорее всего надо ещё и настройки компилятора крутить. Да, подавать надо с соблюдением Tsu и Th, но это проследит сам разводчик. Как достучаться - установить этот триггер в виде примитива (модуля) (для LatticeXP2, например, так - FD1P3AY ff_inst (.D(data), .SP(en), .CK(clk), .Q(data_out) ). Название примитива и имена портов следует смотреть в хелпе на конкретное семейство ПЛИС. Так как, используя условие в верилоге, синтезатор заведет его на CE только в том случае, если это будет выгоднее других способов по взвешенной оценке всех критериев оптимизации. Для того же Lattice, например, оно начинает пользоваться CE тогда, когда достаточно много триггеров его использует, так как CE, как и резеты, могут быть подключены к вторичным глобальным линиям, которые экономят ресурс разводки для сильно разветвленных сигналов.
|
|
|
|
|
Feb 2 2015, 09:03
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(ViKo @ Feb 2 2015, 12:01)  Там можно почитать, что да как. Есть куда более точные источники - например SPICE модели стандартных ячеек из технологических библиотек. Если не лень читать схему в виде SPICE описания, я выложу. У меня есть в запасе и те, где клок отключают, и где данные коммутируют аналоговыми ключами, первых больше, чем вторых. PS Хотя, извините, нет, не выложу. NDA, черт бы его побрал.
|
|
|
|
|
Feb 2 2015, 12:28
|
Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 13-03-11
Из: Екатеринбург
Пользователь №: 63 574

|
Цитата(Krys @ Feb 2 2015, 13:04)  Судя из приведённого текста (к стати, дайте плиз линк на исходник), наоборот, хилинх рекомендует использовать именно такой глобальный тактовый буфер с входом разрешения. Вы прочитали невнимательно. ug626 - Synthesis and Simulation Design Guide.
|
|
|
|
|
Feb 2 2015, 16:27
|
Местный
  
Группа: Участник
Сообщений: 294
Регистрация: 25-09-13
Из: Н.Новгород
Пользователь №: 78 485

|
Цитата(SM @ Feb 2 2015, 11:34)  Как достучаться - установить этот триггер в виде примитива (модуля) Проблематично, слишком много таких триггеров.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|