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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Можно ли победить Timing Errors, На глобальном клоке 400МГц
bogaev_roman
сообщение Jan 24 2012, 14:31
Сообщение #16


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

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



Цитата(Мур @ Jan 24 2012, 18:24) *
Он получал и фильтры и ФФТ на 600МГц тактовой. Сам контролировал укладку в чипе всех элементов.

Для этого чипа с приличной разрядностью - не верю. Если использовать встроенные DSP, то в документации максимальная - 450. Если уходить от умножений и все параллелить, то фильтр по объему существенно разрастется, т.е. будут большие длины связи между элементами.
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Jan 24 2012, 14:39
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Цитата(bogaev_roman @ Jan 24 2012, 18:31) *
Для этого чипа с приличной разрядностью - не верю. Если использовать встроенные DSP, то в документации максимальная - 450. Если уходить от умножений и все параллелить, то фильтр по объему существенно разрастется, т.е. будут большие длины связи между элементами.


Но если использовать тригерры на выходе каждого слоя логики + RPM может быть что-то и могло бы получится. Одна проблема Global Clock Tree для Virtex-4 -11 тоже 450 МГц sm.gif


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 24 2012, 14:53
Сообщение #18


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(dm.pogrebnoy @ Jan 24 2012, 08:29) *
Как-то бездоказательно.

Говорю о своих умозаключениях, смысла что то доказывать вам не вижу абсолютно никакого, ваше право верить или нет. Практика критерий истины. Сделайте ради примера фильтр приподнятого косинуса со скруглением 0.1, фильтр симметричный 100 коэфиициентов, разрядность входа 16 бит, выхода 16 бит, коэффициентов 14 бит. реализация без ДСП слайсов, фильтр хлопает по clkena, символ за такт %) Чип лучше взять маленький, что бы забитость была ~80% (легко обеспечить коли-ом таких фильтров).

Цитата(Мур @ Jan 24 2012, 08:24) *
Хочу рассказать о моем изумлении при встрече с одним уникумом, который достигал ошеломительных цифр применяя Матлаб. Он там разрисовывал макроячейку своей микросхемы и вел на основании такого элемента и её маски(для переноса!) моделирование в Матлабе. Он получал и фильтры и ФФТ на 600МГц тактовой. Сам контролировал укладку в чипе всех элементов.

Есть два таких человека на форуме, но не будем показывать пальцем.

ИМХО гемор, лучше полифазную обработку сделать %)

UPD. фильр из корня приподнятного косинуса, иначе из 100 коэффициентов половина будет нулевых %)


--------------------
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Jan 24 2012, 15:30
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Я верю, но хочу разобраться формально - какой именно фактор вызывает такие ощущения? Пока по цифрам в даташитах Xilinx выигрывает. wacko.gif Упс. Кажется мне в другую тему пора.


--------------------
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Jan 24 2012, 20:34
Сообщение #20


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

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



Цитата(dm.pogrebnoy @ Jan 24 2012, 19:30) *
Я верю, но хочу разобраться формально - какой именно фактор вызывает такие ощущения? Пока по цифрам в даташитах Xilinx выигрывает. wacko.gif Упс. Кажется мне в другую тему пора.

Дак давайте посоревнуемся. Задайте конкретную задачу - создать конкретный фильтр с такими то хар-ми, по такому алгоритму, с испльзованием таких то чипов (только чтоб одна технология). Выложим
результаты и сравним, только тему отдельную создать нужно.
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 25 2012, 05:59
Сообщение #21


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(dm.pogrebnoy @ Jan 24 2012, 10:30) *
Я верю, но хочу разобраться формально - какой именно фактор вызывает такие ощущения? Пока по цифрам в даташитах Xilinx выигрывает.

основной фактор в том, что мне удается запихать в маленький чип, нужную функциональность и обеспечить выполнение времянкок(100/200МГц). При этом занятыми оказываются дсп блоки на 90-100%, память на 50-60%, логка и регистры на 95-99%. Тогда как прикидки на хилые чипы, показывают необходимость вставки дополнительных регистров и т.д.
Толи квартус на голову выше исе/симплифай синтезирует/оптимизирует математику, толи с трассировочными ресурсами лучше, в общем не понятно.

Цитата(bogaev_roman @ Jan 24 2012, 15:34) *
Задайте конкретную задачу - создать конкретный фильтр с такими то хар-ми, по такому алгоритму, с испльзованием таких то чипов (только чтоб одна технология).

создавайте тему, фильтр прототип и условия тестирования я выложу %)


--------------------
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jan 25 2012, 08:35
Сообщение #22


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(TABKP @ Jan 24 2012, 13:49) *
Так вот по CLK2 при компиляции и фиксируются множественые Timing Errors.

Первый простейший шаг, который я бы сделал - откомпилировал для двенадцатой скорости настроив временной анализатор, чтобы он выдавал не три критических пути (как по умолчанию), а пятьсот. Если все уложится (или почти уложится) само - то прогноз хороший, возможно PlanAhead плюс минимальная оптимизация кода решит проблему. Если не уложится и сильно (то есть сотни путей) - то вы увидите примерно, сколько вам перелопачивать и что проще - заниматься этим или взять более современный кристалл. Потому что трасса в этом кристалле, если мне память не изменяет минимум 600ps, поэтому чтобы уложиться в 400MHz вам придется во всем дизайне иметь только один уровень логики.
Go to the top of the page
 
+Quote Post
TABKP
сообщение Jan 25 2012, 12:10
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 19-05-11
Пользователь №: 65 130



Распараллелил и упростил все что можно. Количество ошибок сократилось с 800 до 60, сейчас timing score около 11000. Судя по анализу в местах где есть ошибки Levels of Logic колеблется 9-11. Ситуация не улучшилась - проект по прежнему работает не стабильно. При включении питания проект может или сразу нормально работать, или не работать совсем. Да к тому же исправление одних ошибок приводит к появлению других - замкнутый круг. Может надо руками проект на кристалл как-то раскладывать? Не умею я этого, увы.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jan 25 2012, 12:22
Сообщение #24


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(TABKP @ Jan 25 2012, 16:10) *
Количество ошибок сократилось с 800 до 60, сейчас timing score около 11000. Судя по анализу в местах где есть ошибки Levels of Logic колеблется 9-11. Ситуация не улучшилась - проект по прежнему работает не стабильно.

Конечно. Проект будет работать стабильно, когда timing score будет равен нулю. Пока у вас будет хоть одна дорожка, не вписывающаяся во времянку - вы будете ловить глюки, хоть возможно и не при любых условиях (в основном температурных).
Ставьте дополнительные регистры туда, где 9-11 уровней.

Цитата(TABKP @ Jan 25 2012, 16:10) *
При включении питания проект может или сразу нормально работать, или не работать совсем. Да к тому же исправление одних ошибок приводит к появлению других - замкнутый круг.

Вы, вероятно, двигаете триггеры по проекту, а надо их добавлять. Когда есть места, где 9-11 уровней - можете двигать до посинения, не заработает. И включите retiming, кстати, если не включен - тогда вы сможете добавлять степени конвейеризации в длинные цепочки туда, где это логически удобнее, а синтезатор сам их будет ставить в середину цепи, перераспределяя логику.

Цитата(TABKP @ Jan 25 2012, 16:10) *
Может надо руками проект на кристалл как-то раскладывать? Не умею я этого, увы.

Вообще-то, в столь сложных проектах с этого надо начинать. Ожидать, что ISE по собственной инициативе разложит весь проект на 400MHz - это супероптимистично. Учитесь, это несложно, недаром PlanAhead включили в стандартную поставку.
Go to the top of the page
 
+Quote Post
disel
сообщение Jan 25 2012, 12:59
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Мультицикловые констрейны и те, которые можно сунуть в игнор могут спасти отца русской демократии. Если конечно это не сделано, и если это вообще возможно для ваше проекта. 11000 вообщем то не так много, по крайне мере можно пытаться засунуть в этот чип. Еще можно попробывать smartexplorer, он будет до посинения перебирать варианты размещения. потом выберете тот что лучше и будете его мучить.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jan 25 2012, 13:09
Сообщение #26


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(disel @ Jan 25 2012, 15:59) *
Еще можно попробывать smartexplorer...

Это IMHO помогает, когда не влезает чуть-чуть. А когда 9-11 уровней логики - думаю, что пустая потеря времени.

Кстати у меня еще вопрос появился: а вы с 400MHz результаты обработки куда выводите?
Go to the top of the page
 
+Quote Post
disel
сообщение Jan 25 2012, 13:12
Сообщение #27


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(DmitryR @ Jan 25 2012, 16:09) *
Это IMHO помогает, когда не влезает чуть-чуть. А когда 9-11 уровней логики - думаю, что пустая потеря времени.


Конечно не помогает. Это просто позволяет не заниматься ручной трасировкой кристалла. Которая при 9-11 уровнях логики тоже не поможет.
Go to the top of the page
 
+Quote Post
BlackOps
сообщение Jan 26 2012, 07:53
Сообщение #28


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



вы говорите что данные идут с АЦП на 200МГц, а в констрейне указали 2.5нс, что означает что входной клок 400МГц а не 200МГц.

и еще такой вопрос, а это жесткое требование чтобы сама логика на 400МГц работала? Или вы думаете что если принимаете на 200Мгц то нужно обрабатывать данные на 400Мгц?

Данные на чип идут в режиме SDR я так понял? или DDR?


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
TABKP
сообщение Jan 30 2012, 13:28
Сообщение #29


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 19-05-11
Пользователь №: 65 130



Копаю дальше проект. Изменив алгоритм и упростив все что можно сократил ошибки до 3-ех. Timing Score уменьшился до 136. Уровни логики 9. Количество проблемных путей по анализатору равно 9. Замена чипа на 12-ый полностью устраняет ошибки. Все бы хорошо, да помимо куска проекта на 400МГц, есть еще огромный кусок на значительно более низких частотах. И его еще дорабатывать сильно надо, но при добавлении чего-либо в него, количество ошибок снова растет.

Добавлю - проекты на столь больших частотах мне не встречались. Зачастую не требовалось вообще констрейны использовать. Так что прошу извинить за серость, но многих советов я не понимаю.

Теперь по порядку:

Не знаю что такое retiming. Где он включается?

Осознаю, что добавление триггеров увеличивает скорость работы. Но как их добавить? В ручную через FPGAEditor?

"Мультицикловые констрейны и те, которые можно сунуть в игнор" - можно для чайника рассказать что это?

smartexplorer - как его запустить?

Результаты обработки идут далее в низкочастотную часть проекта
Данные идут в режиме DDR, поэтому обработка на 400МГц должна быть.

Сообщение отредактировал TABKP - Jan 30 2012, 13:31
Go to the top of the page
 
+Quote Post
Мур
сообщение Jan 30 2012, 14:00
Сообщение #30


Знающий
****

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



Цитата(TABKP @ Jan 30 2012, 16:28) *
...Осознаю, что добавление триггеров увеличивает скорость работы. Но как их добавить? В ручную через FPGAEditor?


В проблемных местах, где задержка велика, триггеры включаются в HDL(после выявления источника и приемника). После чего в симуляторе убедитесь, что введенная вами задержка не изменила работу. Как правило что-то придется подвинуть еще... как следствие! Будьте внимательны с временными диаграммами...
Go to the top of the page
 
+Quote Post

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

 


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


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