Inanity 1 9 октября, 2018 Опубликовано 9 октября, 2018 (изменено) · Жалоба 4 minutes ago, excly said: Вообще все от платы отключил. SIgnalTap дает такую же картину. Понизил частоту тактирования SignalTap с 200MHz до 50MHz. Дребезг исчез. Как это можно объяснить? Сэмплировать висящие в воздухе ножки бессмысленно. Сделайте счётчик на плате с циклоном, выведите пару бит и заведите их обратно в ПЛИС (кольцо) и посмотрите что получится. Изменено 9 октября, 2018 пользователем Inanity Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 9 октября, 2018 Опубликовано 9 октября, 2018 · Жалоба Я вот недавно экспериментировал, передавал данные по одному коаксиалу однополярный сигнал от SERDES, обрубок сантиметров 30-ть, с пол пинка получил 110 мегабит/с со своими пакетами, защищенными CRC-16. Вижу автор пытается макетными проводочками соединять платы. Есть ли возможность взять коаксиал (сделав там штырьки на концах) и соединить земли через оплетку (вторая пара штырьков)? Надеюсь я не "вредный совет" сейчас выдал. Потому что 2 МГц не может работать с проблемами, мне трудно представить как можно не принять. Еще вот советую промоделировать такую связку, добавить имитацию задержки линии, могу даже модули скинуть готовые на Verilog-е. А то мне кажется дело не в качестве сигнала, а в какой-то логике приема и передачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 9 октября, 2018 Опубликовано 9 октября, 2018 · Жалоба 1 час назад, excly сказал: Перед тем как подключать выход ко входу решил измерить напряжение на выходе. Получается 2,5В независимо от того, какие настройки ставлю в Pin Planner. Почему так получается? напряжение на ножках зависит только от питающего напряжения соответствующего банка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
excly 0 9 октября, 2018 Опубликовано 9 октября, 2018 · Жалоба 10 minutes ago, Lmx2315 said: напряжение на ножках зависит только от питающего напряжения соответствующего банка. а для чего тогда этот пункт настроек в Pin Planner? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 1 9 октября, 2018 Опубликовано 9 октября, 2018 · Жалоба 46 minutes ago, excly said: для чего тогда этот пункт настроек в Pin Planner? Сконфигурировать входы-выходы под соответствующий стандарт. Посмотрите весь список - там еще куча дифференциальных вариантов, которые требуют себе пару ног на один сигнал. Причем не лишь бы каких ног, а каждой "позитивной" соответствует определенная "негативная". И все же - попробуйте для частоты 200 МГц прописать констрейнты. 50 МГц для этого циклона - небольшая частота. Как устроен внутри сигналтап - не интересовался, может - не успевает корректно данные в память передавать на 200 мегагерцах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 10 октября, 2018 Опубликовано 10 октября, 2018 · Жалоба 15 hours ago, excly said: а для чего тогда этот пункт настроек в Pin Planner? Потому что одно и то же напряжение бывает у множества разных стандартов. Иными словами, там не только напряжение меняется, видимо выбирается еще какой-то отдельный варианты схемы ввода-вывода, а там это напряжение всё же важно знать, ведь сама ПЛИС не обладает интеллектом это узнать самостоятельно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
excly 0 10 октября, 2018 Опубликовано 10 октября, 2018 (изменено) · Жалоба 15 hours ago, Yuri124 said: Сконфигурировать входы-выходы под соответствующий стандарт. Посмотрите весь список - там еще куча дифференциальных вариантов, которые требуют себе пару ног на один сигнал. Причем не лишь бы каких ног, а каждой "позитивной" соответствует определенная "негативная". И все же - попробуйте для частоты 200 МГц прописать констрейнты. 50 МГц для этого циклона - небольшая частота. Как устроен внутри сигналтап - не интересовался, может - не успевает корректно данные в память передавать на 200 мегагерцах. Сделал счетчик на циклоне, вывел его на ножки и с этих ножек же снял. Signal Tap нв 200MHz показывает все без дребезга. Дальше делаю тоже самое, только счетчик вывожу со второй платы. В циклоне входные ноги соединил с выходными(с помощью assign). Цепляюсь Signal Tap'ом на выходные ноги - все норм(первая картинка). После этого параллельно стал на входные ножки и появился дребезг. Причем везде(вторая картинка). Может никакого дребезга нет, а это просто signal tap так некорректно себя ведет? По поводу констрейтов. Прописать достаточно только для клока на данном этапе? То есть описать что за клок и откуда берется. Прошу прощения, если эти вопросы звучать глуповато, просто я не совсем уверенно ими пользуюсь. Буду очень благодарен, если подскажете, что можно почитать по этому вопросу(можно и на английском) Изменено 10 октября, 2018 пользователем excly Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 1 10 октября, 2018 Опубликовано 10 октября, 2018 · Жалоба 11 minutes ago, excly said: Сделал счетчик на циклоне, вывел его на ножки и с этих ножек же снял. ..... Дальше делаю тоже самое, только счетчик вывожу со второй платы Хм, так вторая плата - и есть кит на циклоне - см. Ваш первый пост. Непонятно написали. 1. 15 minutes ago, excly said: Сделал счетчик на циклоне, вывел его на ножки и с этих ножек же снял Т.е. 3-битный счетчик на циклоне тактируется 200 МГц, выходы счетчика выведены на ноги ПЛИС, к ногам (т.е. к pin-ам) подключен сигналтап - все норм. 2. Дальше непонятно. 200 МГц откуда берутся? С внешнего генератора сразу 200 или какая-то частота с генератора (100 или 125 МГц), а дальше - PLL? sdc файл выложите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
excly 0 10 октября, 2018 Опубликовано 10 октября, 2018 · Жалоба 2 minutes ago, Yuri124 said: Хм, так вторая плата - и есть кит на циклоне - см. Ваш первый пост. Непонятно написали. 1. Т.е. 3-битный счетчик на циклоне тактируется 200 МГц, выходы счетчика выведены на ноги ПЛИС, к ногам (т.е. к pin-ам) подключен сигналтап - все норм. 2. Дальше непонятно. 200 МГц откуда берутся? С внешнего генератора сразу 200 или какая-то частота с генератора (100 или 125 МГц), а дальше - PLL? sdc файл выложите. Ошибся, имел ввиду с первой 3-битный счетчик тактируется 2МГц, Signal Tap - 200МГц. Обе частоты беру с pll. Констрейты еще не успел прописать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 1 10 октября, 2018 Опубликовано 10 октября, 2018 (изменено) · Жалоба 32 minutes ago, excly said: Прописать достаточно только для клока на данном этапе? Да. Описать, что за клок приходит на входной пин микросхемы. Например create_clock -period "100 MHz" -name {refclk_clk} {*refclk_clk*} Дальше, если используете PLL - просто напишите derive_pll_clocks -create_base_clocks Почитайте Дениса Шехалева статьи про sdc. На английском - Ryan Scoville TimeQuest User Guide Ну и Альтеровский док есть: SDC and TimeQuest API Reference Manual Раз при частоте сигналтапа 50 МГц сигналы с Мах10 показываются правильно - подозреваю, что что-то не то с сигналтапом на 200 МГц. Изменено 10 октября, 2018 пользователем Yuri124 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 1 10 октября, 2018 Опубликовано 10 октября, 2018 (изменено) · Жалоба 8 minutes ago, Yuri124 said: Например create_clock -period "100 MHz" -name {refclk_clk} {*refclk_clk*} Обзовите входную частоту, которая приходит на циклон, refclk_clk, или в это выражение вместо refclk_clk впишите название частоты в Вашем проекте. Имею в виду опорную частоту, из которой PLL делает остальные. Изменено 10 октября, 2018 пользователем Yuri124 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
excly 0 10 октября, 2018 Опубликовано 10 октября, 2018 · Жалоба 1 hour ago, Yuri124 said: Обзовите входную частоту, которая приходит на циклон, refclk_clk, или в это выражение вместо refclk_clk впишите название частоты в Вашем проекте. Имею в виду опорную частоту, из которой PLL делает остальные. да... После прописывания констрейтов для clock проблема исчезла. Как это можно объяснить? И подскажите, пожалуйста, сразу по нескольким дальнейшим вопросам. 1. У меня с первой платы подается clock. Его, как я понимаю, тоже нужно прописать в кострейтах. А входом всегда берется ножка ПЛИС или если будет стоять синхронизатор, то в кострейтах источником указывать выход синхронизатора? 2. По поводу CDC. Как я понимаю это обработка входных сигналов клоком приемной плис на частоте в n раз больше той, которая приходит? Как выбирать это n? И есть ли ссылки, где эта тема более-менее объясняется? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 1 10 октября, 2018 Опубликовано 10 октября, 2018 · Жалоба 3 minutes ago, excly said: с первой платы подается clock. Его, как я понимаю, тоже нужно прописать в кострейтах да, описываете со своим именем и его реальной частотой и остальными параметрами при необходимости (скважность, например). Описываете именно ногу ПЛИС, на которую приходит клок. Дальше Квартус сам разберется. 5 minutes ago, excly said: По поводу CDC. Как я понимаю это обработка входных сигналов клоком приемной плис на частоте в n раз больше той, которая приходит? Нет. CDC - передача данных из домена (части схемы) с одним клоком в другой домен с другим клоком. Клоки могут быть больше, меньше или равны (но не синхронны). Т.е скажем есть две схемы (даже если реализованы в одной ПЛИС), но со своими генераторами одинаковой частоты - это разные клоковые домены. Т.к. соотношение фаз тактвых частот будет меняться. Передать данные от одной схемы в другую - это задача разработчика. Даже на одной и той же частоте можно представить себе вариант, что это будет как будто работа в разных клоковых доменах, и разработчик должен придумать, как корректно доставить даннные из точки А в точку Б. Про CDC хорошая есть статья Иосифа Каршенбойма на его сайте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 1 10 октября, 2018 Опубликовано 10 октября, 2018 · Жалоба 16 minutes ago, excly said: После прописывания констрейтов для clock проблема исчезла. Как это можно объяснить? Квартус зная частоту правильно развел внутренний логический анализатор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
excly 0 29 октября, 2018 Опубликовано 29 октября, 2018 · Жалоба On 10/10/2018 at 12:52 PM, Yuri124 said: Квартус зная частоту правильно развел внутренний логический анализатор. Спасибо огромное за помощь. Надеюсь, что не откажете и сейчас. Подцепил первую плату(ту, которая передает) к логическому анализатору. Проблема указана на прикрепленной картинке. Напомню, что все сигналы выведены через обычные i/o(в том числе и clock). Квартус из-за этого ругается на клок. Я понимаю, что это возможно из-за проводов, но почему тогда это происходит только на линии clock? И подскажите пожалуйста какие констрейнты нужно прописать на для этих сигналов на передающей и приемной плате(и нужно ли вообще для такой частоты(clock - 30MHz)). Ну и можно ли вообще использовать для клока обычную i/o ножку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться