Перейти к содержанию
    

Quartus 17.0 Pin Planner Current Strength

31 минуту назад, DuHast сказал:

Все входные и выходные сигналы крайне желательно пропускать через fast input/output trigger'ы, расположенные в пинах ПЛИС

Почему? Первый раз об этом слышу. Я, например, когда задаю входные/выходные констрейны, полностью полагаюсь на Quartus в этом плане. Он сам решает какие сигналы как пропускать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выходные fast триггеры выравнивают сигналы на шине данных по фронту тактового сигнала перед выходом из плис. Если у вас в схеме есть триггеры то квартус,  скорее всего сам разместится их в пинах, т.е. в фаст тригерах. Но если выход вашей схемы логика, то квартус просто может не справиться с вашими констрейнами.

С входами ситуация аналогичная. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

35 минут назад, DuHast сказал:

Выходные fast триггеры выравнивают сигналы на шине данных по фронту тактового сигнала перед выходом из плис. Если у вас в схеме есть триггеры то квартус,  скорее всего сам разместится их в пинах, т.е. в фаст тригерах. Но если выход вашей схемы логика, то квартус просто может не справиться с вашими констрейнами.

С входами ситуация аналогичная. 

Пока не сталкивался с тем, что Quartus не использует входные/выходные регистры когда по времянке не укладывается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On ‎9‎/‎6‎/‎2019 at 8:46 AM, dinam said:

Пока не сталкивался с тем, что Quartus не использует входные/выходные регистры когда по времянке не укладывается.

ТС писал, что у него входной сигнал заведён прямиком на ФИФО, т.е. между входным пином и входным триггером ФИФО ничего нет. В такой ситуации Fast Input Pin задействованы не будут, а время задержки входного сигнала будет сильно зависеть от того,  где будет расположена в ФИФО внутри ПЛИС. Конечно, правильно расставленные констрейны помогут квартусу сделать всё корректно,  но защёлкивание входной шины в Fast триггерах помогут ему гораздо больше.

Хуже ситуация, когда по неопытности пишут код типа

a <= input_1 and input_2

т.е. входные пины сперва идут на логику.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 07.09.2019 в 13:46, DuHast сказал:

Хуже ситуация, когда по неопытности пишут код типа

a <= input_1 and input_2

т.е. входные пины сперва идут на логику.

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

Ну и приведите по вашему правильный код.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, dinam said:

Ну и приведите по вашему правильный код.

В процессе, тактируемом клоком:

In1 <= inpit_1;

In2 <= input_2;

a <= In1 and In2;

Сигналы input, сперва попадут на триггеры(которые квартус, скорее всего, сделает fast), а уже потом на логику.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 9/5/2019 at 3:26 PM, Lmx2315 said:

..а как вы узнаёте что данные сбойные, а не такие пришли?

вывожу по udp. Проблема, видимо не во входах. Смотрел Signal Tap'ом на входе fifo и все стоит ровно. Причем если я генерирую данные на самой ПЛИС и завожу их на FIFO, то все отлично. Но если завожу через ножки(используя тот же модуль генерации данных, только на другой точно такой же плате), то в последовательности появляется лишние 2 байта. Передаю я 16-битный счетчик. FIFO вход 16 бит, выход 8. Ощущение будто данные из FIFO неправильно забираются. Причем это происходит именно тогда, когда данные идут снаружи платы, а не генерируются внутри. И происходит это строго в определенный момент, когда младший байт доходит до FF, например: ...FD05 FE05 FF05 007E  0006 0106. Откуда это 007E вылезает непонятно, причем эти 2 байта всегда разные. На вход FIFO все приходит правильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давайте уточним. Проект где вы стоите  SignalTap  на входе ФИФО и проект, когда вы видите ошибки - это один и тот же проект? Или вы увидели ошибки, собрали новый проект с SignalTap и увидели, что на входе ФИФО всё ок?

И ещё, было бы не плохо посмотреть временные диаграммы на входе и выходе ФИФО при переходе через  FF

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 часов назад, excly сказал:

 FIFO вход 16 бит, выход 8. 

не пойму как вы данные проверяете:

Вы заполняете фифо полностью , останавливаете процесс и выкачиваете его?

Или у вас поток, причём на выходе (раз ширина фифо сужается) удвоенная входная частота? На входе было 50 , а на выходе 100 МГц?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

43 minutes ago, Lmx2315 said:

не пойму как вы данные проверяете:

Вы заполняете фифо полностью , останавливаете процесс и выкачиваете его?

Или у вас поток, причём на выходе (раз ширина фифо сужается) удвоенная входная частота? На входе было 50 , а на выходе 100 МГц?

заполнение FIFO идет на 50МГЦ, но не непрерывно, а с паузами между посылками(так было изначально. сейчас частота 5МГЦ, но это ничего не изменило). как только в FIFO набирается количество слов, равное размеру пакета UDP, начинается отправка сначала заголовка, а потом и самих данных, которые и находятся в FIFO на частоте 125МГц. Той же частоте, на которой работает ethernet PHY. процесс заполнения не останавливается.

3 hours ago, DuHast said:

Давайте уточним. Проект где вы стоите  SignalTap  на входе ФИФО и проект, когда вы видите ошибки - это один и тот же проект? Или вы увидели ошибки, собрали новый проект с SignalTap и увидели, что на входе ФИФО всё ок?

И ещё, было бы не плохо посмотреть временные диаграммы на входе и выходе ФИФО при переходе через  FF

это один и тот же проект. Частота на выходе FIFO 125Мгц. SignalTap получилось завести на 500Мгц, поэтому временная диаграмма на выходе будет не сильно то и точная. Хочу еще раз обратить внимание, что если данные генерируются на этой же ПЛИС, то никаких ошибок не происходит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, Lmx2315 said:

не пойму как вы данные проверяете:

Вы заполняете фифо полностью , останавливаете процесс и выкачиваете его?

Или у вас поток, причём на выходе (раз ширина фифо сужается) удвоенная входная частота? На входе было 50 , а на выходе 100 МГц?

посмотрел выход той платы, которая генерирует счетчик, на анализаторе и заметил, что в тот момент, когда FF превращается в 00, на линии клока появляется лишний фронт. Видимо так и появляются непонятные данные в FIFO. Вопрос в том, как это победить?

1.png

Изменено пользователем excly

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, excly сказал:

 на линии клока появляется лишний фронт. Видимо так и появляются непонятные данные в FIFO. Вопрос в том, как это победить?

А как сделано согласование на линии клока?

И уж если есть возможность эти клоки "щупать" импульсами " 500Мгц", то кто же мешает сразу сделать CDC и слегка фильтрануть "клоки"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 минут назад, excly сказал:

Вопрос в том, как это победить?

 

Подтяните клоковый сигнал, на входе вашей плисины, к нулю килоомным резистором.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

33 minutes ago, Lmx2315 said:

Подтяните клоковый сигнал, на входе вашей плисины, к нулю килоомным резистором.

на той ПЛИС, которая генерирует или той, которая принимает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..на той что принимает.

А как физически выглядит соединение между источником сигнала и приёмником?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...