|
Борьба с TDF, оптимизации задержек при передачи данных |
|
|
|
Sep 13 2014, 16:33
|
Участник

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

|
Добрый день, уважаемые. При проектировании довольно сложных схем для потоковой передачи данных, возникает большая задержка (TDF) между входом и выходом, особенно если используется несколько ПЛИС. С записью данных (в память) проблем нет, но возникают сложности при чтении: данные приходят не сразу, а через несколько тактов. На потоковое чтение это почти не влияет, а при единичном доступе к определенному адресу серьезно падает скорость. Как решается этот вопрос? Есть ли такие проблемы в современных системах?
Прошу простить за возможные неточности. Заранее спасибо.
|
|
|
|
2 страниц
< 1 2
|
 |
Ответов
(15 - 22)
|
Sep 15 2014, 11:29
|
Участник

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

|
Цитата Для той схемы и того шинного протокола что вы реализуете это нормально? Сколько вам надо? вообщето, при скорости чтения 125\2=16нс это выглядит многовато при отсутствии конвеерного доступа к памяти. Это просто понижение производительности в 2 раза. Тут мож имеет смысл понизить скорость до 125\4, зачем по плате гонять высокую частоту... В конец я запутался. Необходимо подумать... а так: сделаю небольшой кэш внутри MCU и DMA, починю констрейны.
Сообщение отредактировал void F() - Sep 15 2014, 11:35
|
|
|
|
|
Sep 15 2014, 12:25
|

Местный
  
Группа: Свой
Сообщений: 314
Регистрация: 13-07-06
Из: Москва
Пользователь №: 18 797

|
Цитата(Torpeda @ Sep 15 2014, 15:22)  Задержки в ПЛИС определяются исключительно констрейнами SDC, хоть явно заданными, хоть неявно (как у автора), а не случайно (неожиданно для автора, который использовал дефолтные значения) и тем более не от наличия\отсутствия тригеров. Когда используется тригир и в SDC задана Fmax, результат понятен. Если фиттер справился - задержка известна с точностью до такта. А по поводу задания констрейна для схемы без тактового сигнала, я что-то не совсем в курсе о чем Вы пишете. Объясните на пожалуйста на примере. Пусть есть простая схема pinout_a<=not pin_b. Какие констрейны я могу задать для этой схемы и что мне скажет фиттер, если не сможет их выполнить?
|
|
|
|
|
Sep 15 2014, 13:15
|

Местный
  
Группа: Свой
Сообщений: 314
Регистрация: 13-07-06
Из: Москва
Пользователь №: 18 797

|
Цитата(Torpeda @ Sep 15 2014, 16:27)  Fmax Период Fmax не должен быть меньше времени распространения сигнала по логике между триггерами? И, если на самой ПЛИС реализована только логика, то в качестве выходного триггера выступает MCU, а в качестве входного SRAM. Думаю, я Вас правильно понял. Тогда ещё надо будет задать задержки pinMCU-to-pinCPLD и pinCPLD-to-pinSRAM, но, что-то мне подсказывает, что ТС их не знает, а если и знает, то не справится фиттер и всё равно придется ставить триггеры в ПЛИС
|
|
|
|
|
Sep 15 2014, 13:45
|

Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424

|
Цитата(DuHast @ Sep 15 2014, 16:15)  Период Fmax не должен быть меньше времени распространения сигнала по логике между триггерами? И, если на самой ПЛИС реализована только логика, то в качестве выходного триггера выступает MCU, а в качестве входного SRAM. Думаю, я Вас правильно понял. Тогда ещё надо будет задать задержки pinMCU-to-pinCPLD и pinCPLD-to-pinSRAM, но, что-то мне подсказывает, что ТС их не знает, а если и знает, то не справится фиттер и всё равно придется ставить триггеры в ПЛИС Тулза нипрокакие тригеры в MCU\SRAM не знает Если у вас нету тригеров в дизайне - тулза всё равно остаётся "синхронной тулзой" При этом, как вы догадались наверное, в качестве "синхронных тригеров" выступают теже тригера что и при задании "in\out delay" - т.е. виртуалтьные. Насчёт учёта внешних PCB задержек pinMCU-to-pinCPLD и pinCPLD-to-pinSRAM в вашем дизайне...вообщето конечно надо и их учитывать ...если конечно вы их знаете  Если при таких констрейнах SP&R не справится - так оно и работать не будет как и у автора этого топика
|
|
|
|
|
Sep 15 2014, 14:15
|

Местный
  
Группа: Свой
Сообщений: 314
Регистрация: 13-07-06
Из: Москва
Пользователь №: 18 797

|
Цитата(Torpeda @ Sep 15 2014, 17:45)  т.е. виртуалтьные. Ага, вспомнил, читал. Цитата(Torpeda @ Sep 15 2014, 17:45)  Если при таких констрейнах SP&R не справится - так оно и работать не будет как и у автора этого топика Таким образом, что мы имеем? У TC 2 варианта: 1) попробовать при помощи констрейнов сделать задержку распространения сигналов через два CPLD меньше периода тактовой частоты 2) если пункт первый выполнить не удастся, менять алгоритм чтения/записи, конечно же с потерей производительности. По поводу 2-го варианта у меня есть мысли, но, думаю, надо дождаться результатов по 1-му пункту.
|
|
|
|
|
Sep 15 2014, 14:34
|
Участник

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

|
Обнаружились неполадки с тестовыми платами  Очень сильно мешают проблемы с механическими соединениями. Замеры задержек и т.п. постараюсь сделать завтра вечером.
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 16 2014, 06:22
|

Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424

|
Цитата(DuHast @ Sep 15 2014, 17:15)  2) если пункт первый выполнить не удастся, менять алгоритм чтения/записи, конечно же с потерей производительности. Надо конечно цифры...но... Когда речь пошла о наносекундах то, задержки внутри гейтов ПЛИС можно и не учитывать пока (если их правильно законстрейнить то вполне можно сделать меньше CLK), ибо задержки на гейт-пин куда больше (площадь пина 1000мкм, а гейта 500нм соотв. RC в сотни раз больше), а задержки в разёмах и разводке PCB есчё больше. Нужно бюджет задержек считать...... Может тут реализация на PCB не имеет смысла? -------------- PS Навсякий случай напомню, что для измерения задержек в пределах +\-1нс полоса осцилографа должна быть 1ГГц ...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|