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

 
 
 
Reply to this topicStart new topic
Egor-ka
сообщение Dec 19 2011, 10:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 9-10-07
Пользователь №: 31 202



Добрый день, уважаемые ПЛИСоводы.
Столкнулся со следующей проблемой:
Fitter по-разному размещает межсоединения, хотя ячейки назначены одинаково.
Разница в двух проектах лишь в том, что левом - больше логики (расширен проект), а в правом - у ячейки больше выходов (Fan-out)
 Р В Р’ Р’ Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 88%
Прикрепленное изображение
1438 x 472 (51.65 килобайт)


Подскажите, пожалуйста, если кто-то встречался, как указать fitter'у использовать межсоединения для рядов, а не смежные?
Мне требуется максимально выровнять задержку (как на правом рисунке).
Возможно, есть другие способы?

Использую EP1C3T100C6.

PS. Прошу прощения - ошибся немного темой, нужно было в САПР...

Сообщение отредактировал Egor-ka - Dec 19 2011, 11:25
Go to the top of the page
 
+Quote Post
Egor-ka
сообщение Dec 21 2011, 18:59
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 9-10-07
Пользователь №: 31 202



Форумчане дорогие, ну неужели никто даже прокомментировать и на пути решения направить не может?
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Dec 21 2011, 21:19
Сообщение #3


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Egor-ka @ Dec 21 2011, 22:59) *
Форумчане дорогие, ну неужели никто даже прокомментировать и на пути решения направить не может?

ИМХО не понятно зачем Вам это нужно. С данной конкретной ПЛИС не работал, но можно вроде только координату задать, а дальше квартус сам раскидывает из своих соображений межсоединения. Временной переход внутри одной ячейки, вроде как гораздо меньше нежели между разными и мне кажется что у Вас изначально каша именно с понятием выравнивания задержки. объясните конкретней - чего требуется? Те значения задержек, которые приведены на снимке гораздо меньше, нежели максимальная тактовая частота для триггеров.
Go to the top of the page
 
+Quote Post
Egor-ka
сообщение Dec 22 2011, 04:50
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 9-10-07
Пользователь №: 31 202



Во-первых, я как раз и хочу понять из каких соображений Quartus раскидывает межсоединения?
Во-вторых, мне важно не минимальное время задержки между ячейками, а именно одинаковое.
Я пытаюсь сделать задержку асинхронного сигнала с точностью меньше периода тактовой, для этого я использую чертыре фазы частоты для оцифровки асинхронного сигнала и их же - для формирования задержанного импульса. Quartus не позволяет размещать ячейки тактичуемые частотыми с разными фазами в одном LAB'е(те 0 и 180 можно в одном, а 90 и 270 - в другом)

Прикрепленный файл  FPGA_ADC_TDC.ppt ( 1.73 мегабайт ) Кол-во скачиваний: 210

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

Просто в версии, где задержки равные, у меня все получилось. Чуть изменил проект и уже точность получилась меньше..
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Dec 22 2011, 07:27
Сообщение #5


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Egor-ka @ Dec 22 2011, 08:50) *
Во-первых, я как раз и хочу понять из каких соображений Quartus раскидывает межсоединения?

Вы задаете временные ограничения, квартус пытается их выполнить - если времянки выполняются, то все ок - дальше ему плевать. Если не выполняются - то критичные пути пытается переразвести, т.е. грубо говоря критичный путь пытается уменьшить - если есть свободные для размещения ячейки то рассматриваются различные варианты. В данном случае я так понимаю временных ограничений нет и эти пути не анализируются вообще, поэтому квартус их как развел так развел - случайно.
Go to the top of the page
 
+Quote Post
Wic
сообщение Dec 22 2011, 07:36
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 16-03-08
Из: Новосибирск
Пользователь №: 35 954



Могу ошибаться, но мне кажется, что вам нужно задать констрейны для критичных цепей и ква сам всё сделает за вас.
Про констрейны поищите в интернетах или на форумах, так же у des00 в блоге можно почитать.
Go to the top of the page
 
+Quote Post
Egor-ka
сообщение Dec 22 2011, 13:35
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 9-10-07
Пользователь №: 31 202



Возможно я ошибаюсь, но как понимаю, констрейны и timequest analysis предназначены в основном для синхронных проектов (в общем то как и ПЛИС в целом). Их основная задача проследить, чтобы сигнал данных соотвествовал определенному клоку во избежание неправильной передачи данных (между регистрами или даже смежными чипами). Поэтому, как мне кажется, с помощью этих инструментов невозможно так точно ( 10 пс) задать время распространения сигнала. В основном таймквест отслеживает, чтобы данные приходили раньше периода тактовой частоты, так что точность получается в пределах 1нс.

Из статей des00 вижу только вариант использования set max/min delay, но пока не понимаю как, ведь ячейки у меня зафиксированы, а если убрать фиксацию, то как написал выше, вряд ли получится такая же точность.

Меня больше интересует, почему в почти одинаковых проектах квартус располагает межсоединения по разному?
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Dec 22 2011, 14:17
Сообщение #8


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Egor-ka @ Dec 22 2011, 17:35) *
Меня больше интересует, почему в почти одинаковых проектах квартус располагает межсоединения по разному?

Вы задали ограничения на межсоединения - нет, поэтому квартусу все равно. Ключевое слово здесь "почти", каждый раз разводится по разному, даже если поменяли настройки, а у Вас там fan-out другой.
Цитата
Возможно я ошибаюсь, но как понимаю, констрейны и timequest analysis предназначены в основном для синхронных проектов (в общем то как и ПЛИС в целом). Их основная задача проследить, чтобы сигнал данных соотвествовал определенному клоку во избежание неправильной передачи данных (между регистрами или даже смежными чипами). Поэтому, как мне кажется, с помощью этих инструментов невозможно так точно ( 10 пс) задать время распространения сигнала. В основном таймквест отслеживает, чтобы данные приходили раньше периода тактовой частоты, так что точность получается в пределах 1нс.

Как правило не достаточно задать ограничения на тактовые частоты, требуется задавать еще на входные данные относительно в том числе и относительно тактовой (в некоторых случаях квартус сам будет вставлять логические болки для "выравнивания"). Стабильную точность в 10пс Вы никак не получите, не поверю я в это.
Честно говоря не осилил статью, а Ваше описание алгоритма мне лично не понятно.
Цитата
Я пытаюсь сделать задержку асинхронного сигнала с точностью меньше периода тактовой, для этого я использую чертыре фазы частоты для оцифровки асинхронного сигнала и их же - для формирования задержанного импульса.

Поподробнее бы описали, что за сигнал, как соотносится с тактовой (которая кстати тоже извне синхронно поступает?), с какой точностью.
Go to the top of the page
 
+Quote Post
Мур
сообщение Dec 22 2011, 14:51
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Egor-ka @ Dec 22 2011, 16:35) *
Меня больше интересует, почему в почти одинаковых проектах квартус располагает межсоединения по разному?


Лектор нам говорил, что КВА каждый раз разводит один и тот-же проект по-разному сознательно. Он не воспроизводит его в точности... Даже внутри регионов!
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Dec 22 2011, 15:47
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(Мур @ Dec 22 2011, 16:51) *
..КВА каждый раз разводит один и тот-же проект по-разному сознательно...

QII проводит P&R синхронных дизайнов при одинаковых входных параметрах одинаково, вне зависимости от дня запуска и прочее.
На на моих асинхронных дизайнах и QII v7.2/v8 помнится было описываемое ТС
Go to the top of the page
 
+Quote Post
Gate
сообщение Dec 22 2011, 15:57
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



Посмотрите стр.9 - примерно то, что вам нужно.
Прикрепленные файлы
Прикрепленный файл  an356.pdf ( 155.22 килобайт ) Кол-во скачиваний: 96
 


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
Egor-ka
сообщение Dec 22 2011, 20:26
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 9-10-07
Пользователь №: 31 202



Gate, огромное спасибо - в самую точку. Просто и понятно. cheers.gif

Что какается
Цитата(bogaev_roman @ Dec 22 2011, 18:17) *
Вы задали ограничения на межсоединения - нет, поэтому квартусу все равно.

Если вы не видели, то я как раз в своем первом сообщении и спрашивал как это сделать...


Точность в 10 пс - относится к внутренним сигналам (то что показано на рисунке).

Моя задача - задерживать внешний асинхронный импульс на Nое количество времени с максимальной точностью на ПЛИС. Исследую способы повышения точности. Пока добился джиттера выходного задержанного импульса, равного 80% периода внутернней тактовой частоты (от PLL).
Если кто-то встреячался с такими заданиями, какой вообще точности следует ожидать?

Кстати, кто-нибудь знает как создать генератор кореллированных импульсов, как на рисунке
 Р В Р’ Р’ Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 81%
Прикрепленное изображение
906 x 803 (113.09 килобайт)
,
но с помощью одного PLL?

Go to the top of the page
 
+Quote Post
Gate
сообщение Dec 23 2011, 13:17
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



2Egor-ka
Если вы делаете TDC, посмотрите еще xilinx xapp224.
Если вам не нужно иметь десяток каналов в одном устойстве, то рекомендую acam gpx: http://www.acam-usa.com/GPX.html

Прикрепленные файлы
Прикрепленный файл  xapp224.pdf ( 206.15 килобайт ) Кол-во скачиваний: 27
Прикрепленный файл  xapp224.zip ( 63.94 килобайт ) Кол-во скачиваний: 24
 


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
Egor-ka
сообщение Dec 23 2011, 15:11
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 9-10-07
Пользователь №: 31 202



2Gate

Спасибо за документы, у меня как раз что-то похожее получается.

Я пытаюсь усовершенствовать управляемую линию задержки, для этого хочу использовать TDC.
Так как устройства такие уже произведены, работаю на имеющейся эл.базе. Поэтому пока GPX не рассматриваю.

По поводу разводки межсоединений:
нашел, где Quartus это прописывает - файл .rcf - routing constraint file - но пока не понял, можно ли как-то его в этих целях использовать?
К тому же, этот файл создается при использовании back-annotation, а как с этим работать тоже пока не понял.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th June 2025 - 03:53
Рейтинг@Mail.ru


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