реклама на сайте
подробности

 
 
> Правильное использование locked у PLL
Jackov
сообщение Jan 22 2015, 18:27
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 294
Регистрация: 25-09-13
Из: Н.Новгород
Пользователь №: 78 485



Приветствую!

Имеется Cyclone4, а в нём имеется PLL.
Как известно PLL на рабочий режим выходит не сразу, сразу после запуска она выдаёт нестабильную частоту.
Тактировать схемы такой нестабильной частотой, понятное дело, нельзя - могут сбойнуть. Для этого в PLL предусмотрен специальный выход "locked". Доподлинно неизвестно синхронизирован ли этот выход с тактовой частотой выдаваемой PLL, или нет. Потому встаёт вопрос: как правильно использовать этот выход.
Я предлагаю такую схему:
Прикрепленное изображение

На Verilog-е выглядит так:
Код
module M1(
    ....................................
    (*chip_pin = "Y2"*) input inMHz50);


    wire Locked33_6, MHz33_6_;
    PLL1 PLL1(.c0(MHz33_6_), .locked(Locked33_6), .inclk0(inMHz50));
    wire Enable33_6Q;
    DFF Enable33_6(.q(Enable33_6Q), .d(Locked33_6), .clk(MHz33_6_), .clrn(1'd1), .prn(1'd1));
    wire MHz33_6;
    LCELL Cell(.out(MHz33_6), .in(Enable33_6Q & MHz33_6_));

    .......ля-ля-ля тополя.......
endmodule

LCELL нужен только для того чтобы на него сослаться в констрейнах, по другому я не сумел.

Сами констрейны выглядят так:
Код
derive_clock_uncertainty

#тактовая частота с генератора 50МГц
create_clock -period 50MHz -name {inMHz50} [get_ports {inMHz50}]

#тактовая частота с PLL
create_generated_clock -name MHz33_6_  -source [get_ports {inMHz50}] [get_pins {PLL1|altpll_component|auto_generated|pll1|clk[0]}] -divide_by 5 -multiply_by 7 -duty_cycle 70.00
create_generated_clock -name MHz33_6   -source [get_pins {PLL1|altpll_component|auto_generated|pll1|clk[0]}] [get_nets {Cell}] -invert

То что в названии частоты присутствует 33,6 МГц - это пережиток прошлого, сейчас там 70.
В последней строчке я и ссылаюсь на LCELL, "-invert" присутствует из-за того что компилятор по каким-то своим причинам инвертирует сигнал после LCELL.

Вопроса, собственно, два: Правильно ли использовать выход "locked" подобным образом? И если правильно, правильно ли заданы констрейны?

Сообщение отредактировал Jackov - Jan 22 2015, 18:28
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Opex
сообщение Jan 29 2015, 15:24
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 13-03-11
Из: Екатеринбург
Пользователь №: 63 574



В триггерах всяких, и т.д.
Просто рекомендуется писать

if (enable) begin
...
end

если нужна отключаемая часть схемы, а что и как там конкретно отключится - среда сама разберется.
Почти то же самое, что и ресет, только просто на паузу ставится. Поддерживается аппаратно, дополнительных ресурсов не потребует, трассировку дополнительно не усложнит.
Go to the top of the page
 
+Quote Post
Jackov
сообщение Jan 29 2015, 19:06
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 294
Регистрация: 25-09-13
Из: Н.Новгород
Пользователь №: 78 485



Цитата(Opex @ Jan 29 2015, 18:24) *
if (enable) begin
...
end

Обратно не понял. Если так написать, то это получится обыкновенный DV-триггер на базе D-триггера плисочного, и эта DV логика потребует ресурсов.
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 29 2015, 19:27
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Jackov @ Jan 29 2015, 22:06) *
DV-триггер на базе D-триггера плисочного,


Что такое DV-триггер?

А это синтезируется, скорее всего, в подачу сигнала "enable" на вход CE "обычного плисочного триггера", а на вход его данных будет подано то, что внутри этого условия описано.
Go to the top of the page
 
+Quote Post
Jackov
сообщение Jan 29 2015, 20:36
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 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 это который вот этот?
Прикрепленное изображение

Кстати да, этот вход давно мне покоя не даёт. Где-то слышал или читал, что это разрешение клока. Но это разрешение надо подавать синхронно клоку или необязательно? И как к нему достучатся из верилога? Что-то мне подсказывает, что одним таким условием не обойдёшься, скорее всего надо ещё и настройки компилятора крутить.
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 2 2015, 08:34
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 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, как и резеты, могут быть подключены к вторичным глобальным линиям, которые экономят ресурс разводки для сильно разветвленных сигналов.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Jackov   Правильное использование locked у PLL   Jan 22 2015, 18:27
- - Opex   У xilinx есть клоковые буферы со входом enable, у ...   Jan 23 2015, 08:46
- - bogaev_roman   to Jackov Что мешает использовать этот сигнал в ка...   Jan 23 2015, 09:07
|- - ViKo   Цитата(bogaev_roman @ Jan 23 2015, 12:07)...   Jan 23 2015, 09:13
- - Jackov   Цитата(Opex @ Jan 23 2015, 11:46) У xilin...   Jan 23 2015, 16:22
|- - Opex   Цитата(Jackov @ Jan 23 2015, 21:22) Ммм.....   Jan 23 2015, 17:18
|- - SM   Цитата(Jackov @ Jan 23 2015, 19:22) Не хо...   Jan 23 2015, 17:51
|- - DuHast   Только меня смущает, что на MHz33_6 не будет ни ка...   Jan 23 2015, 18:36
- - Hose   Яков, начните с изучения плл. Он красиво нарисован...   Jan 23 2015, 17:10
- - Jackov   Цитата(Hose @ Jan 23 2015, 20:10) Яков, н...   Jan 23 2015, 18:40
|- - DuHast   Цитата(Jackov @ Jan 23 2015, 21:40) Она т...   Jan 23 2015, 18:43
||- - Jackov   Цитата(DuHast @ Jan 23 2015, 21:43) У Вас...   Jan 23 2015, 19:08
|- - SM   Цитата(Jackov @ Jan 23 2015, 21:40) Хотя ...   Jan 23 2015, 18:52
- - ViKo   Вижу в Мегавизарде Альтеры Enable self-reset on lo...   Jan 23 2015, 19:00
- - Jackov   Цитата(ViKo @ Jan 23 2015, 22:00) Вижу в ...   Jan 26 2015, 14:58
- - Opex   Xilinx, кстати, не рекомендует использовать такое ...   Jan 26 2015, 15:18
|- - Jackov   Цитата(Opex @ Jan 26 2015, 18:18) а вмест...   Jan 29 2015, 14:49
|- - Krys   Цитата(Opex @ Jan 26 2015, 21:18) Xilinx,...   Feb 2 2015, 08:04
|- - doom13   Цитата(Jackov @ Jan 29 2015, 23:36) Кстат...   Jan 29 2015, 20:50
- - ViKo   Точно так же, как и подавать данные на D вход. Мог...   Feb 2 2015, 08:36
|- - SM   Цитата(ViKo @ Feb 2 2015, 11:36) Можно вл...   Feb 2 2015, 08:46
- - ViKo   Книжка есть - Пухальский, Новосельцева. Цифровые у...   Feb 2 2015, 09:01
|- - SM   Цитата(ViKo @ Feb 2 2015, 12:01) Там можн...   Feb 2 2015, 09:03
- - Opex   Цитата(Krys @ Feb 2 2015, 13:04) Судя из ...   Feb 2 2015, 12:28
|- - Krys   Цитата(Opex @ Feb 2 2015, 18:28) Вы прочи...   Feb 3 2015, 03:36
|- - Jackov   Цитата(Krys @ Feb 3 2015, 06:36) там один...   Feb 3 2015, 17:41
- - Jackov   Цитата(SM @ Feb 2 2015, 11:34) Как достуч...   Feb 2 2015, 16:27
|- - SM   Цитата(Jackov @ Feb 2 2015, 19:27) Пробле...   Feb 2 2015, 16:45
|- - Jackov   Цитата(SM @ Feb 2 2015, 19:45) А Вам заче...   Feb 2 2015, 18:21
- - SM   Извращение какое. Зачем его разводить по всей схем...   Feb 2 2015, 18:35
- - Opex   Цитата(Krys @ Feb 3 2015, 08:36) очень вн...   Feb 3 2015, 08:57
- - Krys   Это всё понятно. Однако просто гейтед клок в их по...   Feb 3 2015, 09:41
- - Opex   Советуем использовать одно, но лучше используйте д...   Feb 3 2015, 15:02
|- - Krys   Цитата(Opex @ Feb 3 2015, 21:02) Советуем...   Feb 4 2015, 03:09
- - Opex   Цитата(Krys @ Feb 4 2015, 08:09) Вам что,...   Feb 4 2015, 16:02
|- - SM   Цитата(Opex @ Feb 4 2015, 19:02) 1) BUFGC...   Feb 4 2015, 17:55
- - ViKo   Топикстартеру надо пересмотреть свою позицию: Цита...   Feb 4 2015, 18:23
|- - Krys   Цитата(ViKo @ Feb 5 2015, 00:23) Топикста...   Feb 5 2015, 02:27
|- - SM   Цитата(Krys @ Feb 5 2015, 05:27) 100) Gat...   Feb 5 2015, 08:34
|- - Krys   Цитата(SM @ Feb 5 2015, 14:34) Да не 100)...   Feb 5 2015, 09:01
- - ViKo   Krys, перечитайте тему с начала, что не задавать н...   Feb 5 2015, 06:08
|- - Krys   Цитата(ViKo @ Feb 5 2015, 12:08) Krys, пе...   Feb 5 2015, 07:07
|- - ViKo   Цитата(Krys @ Feb 5 2015, 10:07) Почему ж...   Feb 5 2015, 08:44
- - Jackov   Цитата(Jackov @ Feb 3 2015, 20:41) Не сов...   Feb 5 2015, 16:50
|- - Krys   Цитата(Jackov @ Feb 5 2015, 22:50) А вот ...   Feb 6 2015, 04:15
|- - des00   Цитата(Jackov @ Feb 5 2015, 23:50) Синтез...   Feb 6 2015, 05:20
|- - SM   Цитата(des00 @ Feb 6 2015, 08:20) Логичес...   Feb 6 2015, 05:44
|- - ViKo   Цитата(SM @ Feb 6 2015, 08:44) Вот, кстат...   Feb 6 2015, 05:52
|- - des00   Цитата(SM @ Feb 6 2015, 13:44) Вот, кстат...   Feb 6 2015, 05:55
|- - SM   Цитата(des00 @ Feb 6 2015, 08:55) И в общ...   Feb 6 2015, 06:09
||- - des00   Цитата(SM @ Feb 6 2015, 14:09) А причем т...   Feb 6 2015, 06:16
||- - SM   Цитата(des00 @ Feb 6 2015, 09:16) Это все...   Feb 6 2015, 06:18
||- - Krys   Цитата(SM @ Feb 6 2015, 12:18) А Вы верни...   Feb 6 2015, 06:49
|||- - SM   Цитата(Krys @ Feb 6 2015, 09:49) А если д...   Feb 6 2015, 06:57
||- - des00   Цитата(SM @ Feb 6 2015, 13:18) А Вы верни...   Feb 6 2015, 07:01
||- - SM   Цитата(des00 @ Feb 6 2015, 10:01) а фоне ...   Feb 6 2015, 07:06
||- - des00   Цитата(SM @ Feb 6 2015, 14:06) Вот это, к...   Feb 6 2015, 07:12
||- - Krys   Цитата(des00 @ Feb 6 2015, 13:12) задали ...   Feb 6 2015, 07:47
||- - SM   Цитата(des00 @ Feb 6 2015, 10:12) для вас...   Feb 6 2015, 09:04
|- - Krys   Цитата(des00 @ Feb 6 2015, 11:55) В случ...   Feb 6 2015, 06:39
|- - SM   Цитата(Krys @ Feb 6 2015, 09:37) А какие ...   Feb 6 2015, 06:41
- - ViKo   Развернул уже, и не раз.   Feb 5 2015, 16:56
- - Jackov   Цитата(ViKo @ Feb 5 2015, 19:56) Разверну...   Feb 5 2015, 17:10
|- - ViKo   Цитата(Jackov @ Feb 5 2015, 20:10) Это не...   Feb 5 2015, 17:17
|- - SM   Цитата(Jackov @ Feb 5 2015, 20:10) И в св...   Feb 5 2015, 17:23
|- - ViKo   Цитата(SM @ Feb 5 2015, 20:23) а вот на р...   Feb 5 2015, 17:27
- - Jackov   Цитата(ViKo @ Feb 5 2015, 20:17) Да ну......   Feb 5 2015, 19:13
|- - SM   Цитата(Jackov @ Feb 5 2015, 22:13) Не про...   Feb 5 2015, 19:27
|- - Jackov   Цитата(SM @ Feb 5 2015, 22:27) Ну если эт...   Feb 5 2015, 19:34
- - ViKo   Для проверки забейте 4 входных сигнала вместо 1. Н...   Feb 6 2015, 09:10
|- - SM   Цитата(ViKo @ Feb 6 2015, 12:10) и Quartu...   Feb 6 2015, 09:25
||- - ViKo   Цитата(SM @ Feb 6 2015, 12:25) Ничего он ...   Feb 6 2015, 09:31
||- - SM   Цитата(ViKo @ Feb 6 2015, 12:31) Но макси...   Feb 6 2015, 09:43
||- - ViKo   Цитата(SM @ Feb 6 2015, 12:43) Но для опт...   Feb 6 2015, 09:56
||- - SM   Цитата(ViKo @ Feb 6 2015, 12:56) Задать о...   Feb 6 2015, 09:59
|- - Krys   Цитата(ViKo @ Feb 6 2015, 15:10) Для пров...   Feb 6 2015, 11:04
|- - Jackov   Цитата(Krys @ Feb 6 2015, 14:04) Тогда уж...   Feb 11 2015, 16:41
|- - Krys   Цитата(Jackov @ Feb 11 2015, 22:41) Компи...   Feb 13 2015, 03:14
|- - ViKo   Цитата(Krys @ Feb 13 2015, 06:14) Вы мне ...   Feb 13 2015, 09:34
|- - Krys   Цитата(ViKo @ Feb 13 2015, 15:34) Сначала...   Feb 16 2015, 03:27
- - ViKo   Не уверен, но помню, что галки SPEED, AREA еще со ...   Feb 6 2015, 10:04
|- - SM   Цитата(ViKo @ Feb 6 2015, 13:04) Не увере...   Feb 6 2015, 10:20
- - Opex   ЦитатаПользуясь случаем, хочу спросить. Почему син...   Feb 11 2015, 18:13
- - Jackov   Цитата(Opex @ Feb 11 2015, 21:13) generat...   Feb 11 2015, 18:25
- - SM   Цитата(Jackov @ Feb 11 2015, 21:25) Почем...   Feb 11 2015, 19:19


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01662 секунд с 7
ELECTRONIX ©2004-2016