|
|
  |
Что за мистика с Квартусом и счетчиком Джонсона?.., Счетчик Джонсона в EPM3032A |
|
|
|
Mar 15 2016, 18:02
|
Знающий
   
Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839

|
Приветствую всех! Никогда не ожидал "граблей" на ровном месте, но... Итак, простой ДПКД на основе счетчика Джонсона с управлением по последовательной шине:  Все работает как и ожидалось с Кд от 4 до 10. Теперь добавляю еще один триггер:  И все  - Кд получаются 4, 4, 4, 6, 8, 9, 10, 11, 12, вместо ожидаемых 4, 5, 6, 7, 8, 9, 10, 11, 12. Триггеры сбрасываются при смене Кд. Как такое может быть? P.S. Проблема изначально возникла в более большом проекте, здесь я уже отбросил все лишнее.
|
|
|
|
|
Mar 15 2016, 20:11
|
Местный
  
Группа: Участник
Сообщений: 294
Регистрация: 25-09-13
Из: Н.Новгород
Пользователь №: 78 485

|
Цитата(Шаманъ @ Mar 15 2016, 21:02)  Как такое может быть? Вполне может быть по причине асинхронного дизайна.
|
|
|
|
|
Mar 16 2016, 09:59
|
Знающий
   
Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839

|
Спасибо всем за ответы! Цитата(Jackov @ Mar 15 2016, 22:11)  Вполне может быть по причине асинхронного дизайна. Собственно сам делитель совсем не асинхронный, а "запрещенные комбинации" при Кд 4 и 5 возникать не могут, потому асинхронная цепь сброса по идее влиять на работоспособность при таких Кд не может. Проблема решилась после замены цепочки DFF на один LPM_DFF  , что, как по мне, весьма странно... Цитата(krux @ Mar 16 2016, 08:15)  LPM_DFF выкидывайте, и делайте всё тактирование - только от одного тактового сигнала, например clock от PIN_40. В смысле выкидывайте? Понятно, что все тактирование от одного сигнала это очень "феншуйно", но боюсь может не влезть в EPM3032 и кушать будет наверное больше. Цитата И избавьтесь от желания поделить частоту в ПЛИС. Вы наверное не поняли - деление частоты это основная задача которую делает эта CPLD и еще немного внешней логики. Впрочем, если Вы подскажите вариант, как поделить частоту до 220МГц, при Кд=6..30, чтобы на выходе был меандр в том числе при нечетных Кд, и чтобы фазовый шум не превышал -150дБн/Гц при отстройке более 10кГц, а еще без применения экзотических/дорогих компонентов (это в большей степени эксперимент и не коммерческий проект) я с удовольствием выслушаю  , я не прикалываюсь - иногда такие делители это действительно в некотором смысле проблема (можете в соседний форум заглянуть, там как-то обсуждали). Сейчас почти все это делает схемка из epm3032a, 74lvc1g32, nl27wzu04 и 74lvc74. "Почти" потому, что в нынешнем варианте работает только до 200МГц согласно квартусу и до 208МГц в реальности. Но если ограничить длину счетчика Джонсона до 6, то квартус радостно рапортует о 222МГц, а в реальности работает до 274МГц Цитата и создайте SDC-файл с описанием того какая частота приходит на PIN_40. тогда quartus начнёт нормально проверять T_setup и T_hold для триггеров. Он у меня был инзначально. Да и проблема не в том, что работает неправильно на высокой частоте, а в том, что просто работает не правильно - хоть на 1МГц, хоть на 200МГц...
Сообщение отредактировал Шаманъ - Mar 16 2016, 10:00
|
|
|
|
|
Mar 16 2016, 11:43
|
Участник

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

|
Цитата(Шаманъ @ Mar 16 2016, 12:59)  Да и проблема не в том, что работает неправильно на высокой частоте, а в том, что просто работает не правильно - хоть на 1МГц, хоть на 200МГц... А как вы проверяете, какой Кд у вас получился ? Куда этот "clkout" дальше-то идет? Я бы на него триггерчик поставил. Или , еще проще, взять его после первого триггера в цепочке.
Сообщение отредактировал umarsohod - Mar 16 2016, 11:46
|
|
|
|
|
Mar 16 2016, 11:53
|
Профессионал
    
Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596

|
у вас выход должен быть - выходом непосредственно с регистра. и других цепей с этого регистра - не должно быть. иначе любые nl27wzu04 снаружи будут бесполезны. можно хотя бы такое повторить, выкинув лишнее.
--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
|
|
|
|
|
Mar 16 2016, 13:27
|
Знающий
   
Группа: Участник
Сообщений: 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МГц  . Но вылез нюанс - набегает задержка и схема корректировки скважности отказывается работать где-то в районе 203..220МГц, наверное нужно по этой части тоже прописать ограничения на тайминги, но это уже завтра будет.
|
|
|
|
|
Mar 16 2016, 15:41
|
Местный
  
Группа: Участник
Сообщений: 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МГц Очень может быть что в климате поплывёт.
|
|
|
|
|
Mar 16 2016, 17:23
|
Профессионал
    
Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596

|
Цитата nl27wzu04 стоит до этого всего, и к работе этой схемы имеет очень маленькое отношение. На счет регистра он есть снаружи, наверное правильно было бы поставить его и внутри - надо посмотреть что с этим всем выйдет. в зависимости от нагруженности вывода могут "плыть" характеристики цепей внутри, даже с учетом того что перед выводом буфер. а нагрузочная способность имеет достаточно выраженную зависимость от выходной частоты. часто после прескейлеров ставят компараторы - чтобы не нагружать их и не портить характеристики. и ещё, как вы проверяете выполнение T_setup и T_hold на вашем внешнем триггере?
--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
|
|
|
|
|
Mar 16 2016, 18:27
|
Знающий
   
Группа: Участник
Сообщений: 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, а в внешних компонентах). Подправил - теперь все работает  Всем спасибо! Цитата часто после прескейлеров ставят компараторы - чтобы не нагружать их и не портить характеристики. Компараторы в малошумящем клоке есть зло, а если не зло, то грабли. Они могут преобразовать амплитудный шум в фазовый, да и сами они обычно не слишком "тихие". Цитата и ещё, как вы проверяете выполнение T_setup и T_hold на вашем внешнем триггере? После того, как добавил регистр особо и проверять нечего  . А в процессе наладки здорово помог С1-75, правда указанные Вами параметры им особо не посмотришь, но причину сбоя корректора формы нашел с помощью него.
|
|
|
|
|
Mar 16 2016, 18:39
|
Профессионал
    
Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596

|
Цитата Компараторы в малошумящем клоке есть зло, а если не зло, то грабли. Они могут преобразовать амплитудный шум в фазовый, да и сами они обычно не слишком "тихие". да, но они это сделают явно и с известными параметрами. в случае с подачей сигнала не на компаратор а на логику - всё произойдёт неявно для вас, с неизвестными параметрами и с результатом, на который вы не сможете повлиять. решать вам.
--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
|
|
|
|
|
Mar 16 2016, 20:01
|
Знающий
   
Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839

|
Цитата(krux @ Mar 16 2016, 20:39)  да, но они это сделают явно и с известными параметрами. в случае с подачей сигнала не на компаратор а на логику - всё произойдёт неявно для вас, с неизвестными параметрами и с результатом, на который вы не сможете повлиять. решать вам. Что-то я не понимаю - если бы вопрос был о синусоидальном входном сигнале и цифровой части далее, то понятно, но у меня выход EPM3032A (LVCMOS) идет на вход другой LVCMOS микросхемы - печатный проводник 1см длиной и все. Какие здесь компараторы, зачем что-то еще? Или Вы про что-то другое? Цитата часто после прескейлеров ставят компараторы У многих прескалеров выходы нестандартные или в виде какой-нить экзотики (PECL и т.п.) - там понятно, что приходится городить что-либо. Но и то, обычно, если шумы важны, ставят усилители-ограничители, а не компараторы. В сервис мануалах на старую измерительную технику решений подобных узлов предостаточно, например, в том же Marconi 2030.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|