|
Altera: manual routing, Как управлять размещением межсоединений? |
|
|
|
Dec 19 2011, 10:14
|
Участник

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

|
Добрый день, уважаемые ПЛИСоводы. Столкнулся со следующей проблемой: Fitter по-разному размещает межсоединения, хотя ячейки назначены одинаково. Разница в двух проектах лишь в том, что левом - больше логики (расширен проект), а в правом - у ячейки больше выходов (Fan-out)
Подскажите, пожалуйста, если кто-то встречался, как указать fitter'у использовать межсоединения для рядов, а не смежные? Мне требуется максимально выровнять задержку (как на правом рисунке). Возможно, есть другие способы? Использую EP1C3T100C6. PS. Прошу прощения - ошибся немного темой, нужно было в САПР...
Сообщение отредактировал Egor-ka - Dec 19 2011, 11:25
|
|
|
|
|
 |
Ответов
|
Dec 22 2011, 13:35
|
Участник

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

|
Возможно я ошибаюсь, но как понимаю, констрейны и timequest analysis предназначены в основном для синхронных проектов (в общем то как и ПЛИС в целом). Их основная задача проследить, чтобы сигнал данных соотвествовал определенному клоку во избежание неправильной передачи данных (между регистрами или даже смежными чипами). Поэтому, как мне кажется, с помощью этих инструментов невозможно так точно ( 10 пс) задать время распространения сигнала. В основном таймквест отслеживает, чтобы данные приходили раньше периода тактовой частоты, так что точность получается в пределах 1нс.
Из статей des00 вижу только вариант использования set max/min delay, но пока не понимаю как, ведь ячейки у меня зафиксированы, а если убрать фиксацию, то как написал выше, вряд ли получится такая же точность.
Меня больше интересует, почему в почти одинаковых проектах квартус располагает межсоединения по разному?
|
|
|
|
|
Dec 22 2011, 14:17
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Цитата(Egor-ka @ Dec 22 2011, 17:35)  Меня больше интересует, почему в почти одинаковых проектах квартус располагает межсоединения по разному? Вы задали ограничения на межсоединения - нет, поэтому квартусу все равно. Ключевое слово здесь "почти", каждый раз разводится по разному, даже если поменяли настройки, а у Вас там fan-out другой. Цитата Возможно я ошибаюсь, но как понимаю, констрейны и timequest analysis предназначены в основном для синхронных проектов (в общем то как и ПЛИС в целом). Их основная задача проследить, чтобы сигнал данных соотвествовал определенному клоку во избежание неправильной передачи данных (между регистрами или даже смежными чипами). Поэтому, как мне кажется, с помощью этих инструментов невозможно так точно ( 10 пс) задать время распространения сигнала. В основном таймквест отслеживает, чтобы данные приходили раньше периода тактовой частоты, так что точность получается в пределах 1нс. Как правило не достаточно задать ограничения на тактовые частоты, требуется задавать еще на входные данные относительно в том числе и относительно тактовой (в некоторых случаях квартус сам будет вставлять логические болки для "выравнивания"). Стабильную точность в 10пс Вы никак не получите, не поверю я в это. Честно говоря не осилил статью, а Ваше описание алгоритма мне лично не понятно. Цитата Я пытаюсь сделать задержку асинхронного сигнала с точностью меньше периода тактовой, для этого я использую чертыре фазы частоты для оцифровки асинхронного сигнала и их же - для формирования задержанного импульса. Поподробнее бы описали, что за сигнал, как соотносится с тактовой (которая кстати тоже извне синхронно поступает?), с какой точностью.
|
|
|
|
|
Dec 22 2011, 20:26
|
Участник

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

|
Gate, огромное спасибо - в самую точку. Просто и понятно.  Что какается Цитата(bogaev_roman @ Dec 22 2011, 18:17)  Вы задали ограничения на межсоединения - нет, поэтому квартусу все равно. Если вы не видели, то я как раз в своем первом сообщении и спрашивал как это сделать... Точность в 10 пс - относится к внутренним сигналам (то что показано на рисунке). Моя задача - задерживать внешний асинхронный импульс на Nое количество времени с максимальной точностью на ПЛИС. Исследую способы повышения точности. Пока добился джиттера выходного задержанного импульса, равного 80% периода внутернней тактовой частоты (от PLL). Если кто-то встреячался с такими заданиями, какой вообще точности следует ожидать? Кстати, кто-нибудь знает как создать генератор кореллированных импульсов, как на рисунке
, но с помощью одного PLL?
|
|
|
|
Сообщений в этой теме
Egor-ka Altera: manual routing Dec 19 2011, 10:14 Egor-ka Форумчане дорогие, ну неужели никто даже прокоммен... Dec 21 2011, 18:59 bogaev_roman Цитата(Egor-ka @ Dec 21 2011, 22:59)... Dec 21 2011, 21:19 Egor-ka Во-первых, я как раз и хочу понять из каких сообра... Dec 22 2011, 04:50 bogaev_roman Цитата(Egor-ka @ Dec 22 2011, 08:50)... Dec 22 2011, 07:27 Wic Могу ошибаться, но мне кажется, что вам нужно зада... Dec 22 2011, 07:36 Мур Цитата(Egor-ka @ Dec 22 2011, 16:35)... Dec 22 2011, 14:51  Kuzmi4 Цитата(Мур @ Dec 22 2011, 16:51) ..КВА ка... Dec 22 2011, 15:47 Gate Посмотрите стр.9 - примерно то, что вам нужно. Dec 22 2011, 15:57 Gate 2Egor-ka
Если вы делаете TDC, посмотрите еще xilin... Dec 23 2011, 13:17 Egor-ka 2Gate
Спасибо за документы, у меня как раз что-то... Dec 23 2011, 15:11
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|