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

 
 
 
Reply to this topicStart new topic
> Что за мистика с Квартусом и счетчиком Джонсона?.., Счетчик Джонсона в EPM3032A
Шаманъ
сообщение Mar 15 2016, 18:02
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



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

Никогда не ожидал "граблей" на ровном месте, но...

Итак, простой ДПКД на основе счетчика Джонсона с управлением по последовательной шине:



Все работает как и ожидалось с Кд от 4 до 10.

Теперь добавляю еще один триггер:



И все 1111493779.gif - Кд получаются 4, 4, 4, 6, 8, 9, 10, 11, 12, вместо ожидаемых 4, 5, 6, 7, 8, 9, 10, 11, 12. Триггеры сбрасываются при смене Кд.

Как такое может быть?

P.S. Проблема изначально возникла в более большом проекте, здесь я уже отбросил все лишнее.
Go to the top of the page
 
+Quote Post
Jackov
сообщение Mar 15 2016, 20:11
Сообщение #2


Местный
***

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



Цитата(Шаманъ @ Mar 15 2016, 21:02) *
Как такое может быть?
Вполне может быть по причине асинхронного дизайна.
Go to the top of the page
 
+Quote Post
krux
сообщение Mar 16 2016, 06:15
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



LPM_DFF выкидывайте, и делайте всё тактирование - только от одного тактового сигнала, например clock от PIN_40. И избавьтесь от желания поделить частоту в ПЛИС.
Если нужно формировать редкие действия - формируйте стробы-сигналы разрешения действия на основе счетчиков.
и создайте SDC-файл с описанием того какая частота приходит на PIN_40. тогда quartus начнёт нормально проверять T_setup и T_hold для триггеров.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 16 2016, 09:59
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Спасибо всем за ответы!

Цитата(Jackov @ Mar 15 2016, 22:11) *
Вполне может быть по причине асинхронного дизайна.

Собственно сам делитель совсем не асинхронный, а "запрещенные комбинации" при Кд 4 и 5 возникать не могут, потому асинхронная цепь сброса по идее влиять на работоспособность при таких Кд не может.

Проблема решилась после замены цепочки DFF на один LPM_DFF laughing.gif , что, как по мне, весьма странно...

Цитата(krux @ Mar 16 2016, 08:15) *
LPM_DFF выкидывайте, и делайте всё тактирование - только от одного тактового сигнала, например clock от PIN_40.

В смысле выкидывайте? Понятно, что все тактирование от одного сигнала это очень "феншуйно", но боюсь может не влезть в EPM3032 и кушать будет наверное больше.

Цитата
И избавьтесь от желания поделить частоту в ПЛИС.

Вы наверное не поняли - деление частоты это основная задача которую делает эта CPLD и еще немного внешней логики. Впрочем, если Вы подскажите вариант, как поделить частоту до 220МГц, при Кд=6..30, чтобы на выходе был меандр в том числе при нечетных Кд, и чтобы фазовый шум не превышал -150дБн/Гц при отстройке более 10кГц, а еще без применения экзотических/дорогих компонентов (это в большей степени эксперимент и не коммерческий проект) я с удовольствием выслушаю sm.gif, я не прикалываюсь - иногда такие делители это действительно в некотором смысле проблема (можете в соседний форум заглянуть, там как-то обсуждали).

Сейчас почти все это делает схемка из epm3032a, 74lvc1g32, nl27wzu04 и 74lvc74. "Почти" потому, что в нынешнем варианте работает только до 200МГц согласно квартусу и до 208МГц в реальности. Но если ограничить длину счетчика Джонсона до 6, то квартус радостно рапортует о 222МГц, а в реальности работает до 274МГц sm.gif

Цитата
и создайте SDC-файл с описанием того какая частота приходит на PIN_40. тогда quartus начнёт нормально проверять T_setup и T_hold для триггеров.

Он у меня был инзначально. Да и проблема не в том, что работает неправильно на высокой частоте, а в том, что просто работает не правильно - хоть на 1МГц, хоть на 200МГц...

Сообщение отредактировал Шаманъ - Mar 16 2016, 10:00
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 16 2016, 11:21
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Шаманъ @ Mar 16 2016, 12:59) *
Проблема решилась после замены цепочки DFF на один LPM_DFF laughing.gif , что, как по мне, весьма странно...

скорее всего дело в том, что в "цепочке" у Вас сделан асинхронный сброс, а в мегафункции - синхронный...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
umarsohod
сообщение Mar 16 2016, 11:43
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 24-11-11
Пользователь №: 68 492



Цитата(Шаманъ @ Mar 16 2016, 12:59) *
Да и проблема не в том, что работает неправильно на высокой частоте, а в том, что просто работает не правильно - хоть на 1МГц, хоть на 200МГц...


А как вы проверяете, какой Кд у вас получился ? Куда этот "clkout" дальше-то идет?
Я бы на него триггерчик поставил.
Или , еще проще, взять его после первого триггера в цепочке.

Сообщение отредактировал umarsohod - Mar 16 2016, 11:46
Go to the top of the page
 
+Quote Post
krux
сообщение Mar 16 2016, 11:53
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



у вас выход должен быть - выходом непосредственно с регистра.
и других цепей с этого регистра - не должно быть.
иначе любые nl27wzu04 снаружи будут бесполезны.

можно хотя бы такое повторить, выкинув лишнее.
Прикрепленное изображение


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 16 2016, 13:27
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(iosifk @ Mar 16 2016, 13:21) *
скорее всего дело в том, что в "цепочке" у Вас сделан асинхронный сброс, а в мегафункции - синхронный...

Это было первое о чем я подумал, сделал синхронный сброс - без изменений. А с LPM_DFF что синхронный, что асинхронный работают нормально. Да и как я уже писал, ну допустим сбросились они не одновременно и стали в какую-нить случайную комбинацию - при Кд 5, например, любая начальная комбинация приводит к правильному Кд.

Цитата(umarsohod @ Mar 16 2016, 13:43) *
А как вы проверяете, какой Кд у вас получился ?

Частотомер и осциллограф
Цитата
Куда этот "clkout" дальше-то идет?

На схему доведения скважности до меандра при нечетных Кд. Фактически реклокинг по фронту/спаду входного клока.

Цитата
Я бы на него триггерчик поставил.
Или , еще проще, взять его после первого триггера в цепочке.

Ну там он как бы и есть, только снаружи (74lvc74).

Цитата(krux @ Mar 16 2016, 13:53) *
у вас выход должен быть - выходом непосредственно с регистра.
и других цепей с этого регистра - не должно быть.
иначе любые nl27wzu04 снаружи будут бесполезны.

nl27wzu04 стоит до этого всего, и к работе этой схемы имеет очень маленькое отношение. На счет регистра он есть снаружи, наверное правильно было бы поставить его и внутри - надо посмотреть что с этим всем выйдет.

В итоге, освежил воспоминания о внутреннем устройстве max3032a, чуток изменил делитель (точнее логику, которая формирует обратную связь) и добился работы на частоте до 270МГц cool.gif . Но вылез нюанс - набегает задержка и схема корректировки скважности отказывается работать где-то в районе 203..220МГц, наверное нужно по этой части тоже прописать ограничения на тайминги, но это уже завтра будет.
Go to the top of the page
 
+Quote Post
Jackov
сообщение Mar 16 2016, 15:41
Сообщение #9


Местный
***

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



Цитата(Шаманъ @ Mar 16 2016, 12:59) *
Собственно сам делитель совсем не асинхронный
Инстанция39 и инстанция5 тактируются разными сигналами и такое чувство, что они между собой не связаны.
Инстанция5 и D-триггеры тоже имеют разные источники тактирования, при этом на комбинационную схему (КС) D-триггеров подаются асинхронные сигналы С[4..0] с инстанции5, от этого КС может давать выбросы, пички и прочие гличи в произвольные моменты времени, в том числе и тогда когда на тактовых входах D-триггеров находится активный фронт тактового сигнала, что приведёт к неправильным срабатываниям триггеров.

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

Цитата(Шаманъ @ Mar 16 2016, 16:27) *
и добился работы на частоте до 270МГц
Очень может быть что в климате поплывёт.
Go to the top of the page
 
+Quote Post
krux
сообщение Mar 16 2016, 17:23
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Цитата
nl27wzu04 стоит до этого всего, и к работе этой схемы имеет очень маленькое отношение. На счет регистра он есть снаружи, наверное правильно было бы поставить его и внутри - надо посмотреть что с этим всем выйдет.

в зависимости от нагруженности вывода могут "плыть" характеристики цепей внутри, даже с учетом того что перед выводом буфер. а нагрузочная способность имеет достаточно выраженную зависимость от выходной частоты.

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

и ещё, как вы проверяете выполнение T_setup и T_hold на вашем внешнем триггере?


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 16 2016, 18:27
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Jackov @ Mar 16 2016, 17:41) *
Инстанция39 и инстанция5 тактируются разными сигналами и такое чувство, что они между собой не связаны.

Да это кусок SPI интерфейса. То, что Вы пишите могло бы иметь место, но сигналы С[..] можно считать статическими - т.е. один раз загрузили и все. Сами сигналы я контроллировал вытаскивая их наружу - с ними все было в порядке.

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

Я ж вроде написал - схема (та, что здесь) это кусочек выдранный из бОльшей схемы, чтобы задать вопрос. А полная схема это ДПКД, управляемый по SPI с корректировкой формы выходного сигнала (в схеме меандр при нечетных Кд, корректировку и "очистку выходного клока" делает внешняя часть схемы). Если интересно для чего это все, то стоять будет в синтезаторе.

Цитата
Очень может быть что в климате поплывёт.

Конечно поплывет, но максимальная рабочая частота 213МГц. Так что раз работает на 270, то все будет ок (тем более за 227МГц обещанных в датащите я не выхожу).

Цитата(krux @ Mar 16 2016, 19:23) *
в зависимости от нагруженности вывода могут "плыть" характеристики цепей внутри, даже с учетом того что перед выводом буфер. а нагрузочная способность имеет достаточно выраженную зависимость от выходной частоты.

Добавил по Вашему совету регистр на выходе. Он мне в итоге помог найти причину сбоев в работе схемы корректировки формы выходного сигнала (причина оказалась не в CPLD, а в внешних компонентах). Подправил - теперь все работает sm.gif Всем спасибо!

Цитата
часто после прескейлеров ставят компараторы - чтобы не нагружать их и не портить характеристики.

Компараторы в малошумящем клоке есть зло, а если не зло, то грабли. Они могут преобразовать амплитудный шум в фазовый, да и сами они обычно не слишком "тихие".

Цитата
и ещё, как вы проверяете выполнение T_setup и T_hold на вашем внешнем триггере?

После того, как добавил регистр особо и проверять нечего sm.gif. А в процессе наладки здорово помог С1-75, правда указанные Вами параметры им особо не посмотришь, но причину сбоя корректора формы нашел с помощью него.
Go to the top of the page
 
+Quote Post
krux
сообщение Mar 16 2016, 18:39
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Цитата
Компараторы в малошумящем клоке есть зло, а если не зло, то грабли. Они могут преобразовать амплитудный шум в фазовый, да и сами они обычно не слишком "тихие".

да, но они это сделают явно и с известными параметрами.
в случае с подачей сигнала не на компаратор а на логику - всё произойдёт неявно для вас, с неизвестными параметрами и с результатом, на который вы не сможете повлиять.
решать вам.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 16 2016, 20:01
Сообщение #13


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(krux @ Mar 16 2016, 20:39) *
да, но они это сделают явно и с известными параметрами.
в случае с подачей сигнала не на компаратор а на логику - всё произойдёт неявно для вас, с неизвестными параметрами и с результатом, на который вы не сможете повлиять.
решать вам.

Что-то я не понимаю - если бы вопрос был о синусоидальном входном сигнале и цифровой части далее, то понятно, но у меня выход EPM3032A (LVCMOS) идет на вход другой LVCMOS микросхемы - печатный проводник 1см длиной и все. Какие здесь компараторы, зачем что-то еще? Или Вы про что-то другое?

Цитата
часто после прескейлеров ставят компараторы

У многих прескалеров выходы нестандартные или в виде какой-нить экзотики (PECL и т.п.) - там понятно, что приходится городить что-либо. Но и то, обычно, если шумы важны, ставят усилители-ограничители, а не компараторы. В сервис мануалах на старую измерительную технику решений подобных узлов предостаточно, например, в том же Marconi 2030.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 4th July 2025 - 02:39
Рейтинг@Mail.ru


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