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

 
 
> Сравнение математики altrera vs xilinx, по мотивам темы о Timing Errors
des00
сообщение Jan 26 2012, 18:22
Сообщение #1


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

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



Уважаемый bogaev_roman предложил сравнить как синтезируется и разводится математика у разных вендоров.
Вот для затравки пример. Генератор шума + цепочка FIR фильтров, символьная == тактовой

Чип сыклон 3, 25 ка, i7, фильтр симметричный, 93 го порядка(94 коэффициента), задержка выхода фильтра 4 такта, разрядность данных/коэффициентов 18 бит, сумматоров 36 бит(усиление фильтра +18 бит, подобранно коэффициентами), все на чистой логике, без ДСП слайсов. Задача выжать тактовую в 100МГц, для самого тормозного режима (slow 85). Оптимизация при синтезе по ресурсу. Все остальные настройки по дефолту. Временной анализатор TimeQuest.
Результаты для ква 9.1сп2
1 фильтр : LE 5814(24%)/108.83MHz
2 фильтра : LE 11588(47%)/105.94MHz
3 фильтра : LE 17368(71%)/105.73MHz
4 фильтра : не влезло фитер вывалился с сообщением Error: Fitter requires 1764 LABs to implement the project, but the device contains only 1539 LABs. хотя по ресурсу запас еще был. Думаю что дело связано с 32-х битным LAB, на которые плохо ложатся 36 битные сумматоры

уменьшим разрядность данных до 14 ти бит, коэффициентов оставим 18, сумматоры 32 бита.

5 фильтров : не влезло, фиттер вывалился с сообщением Error: Fitter requires 1545 LABs to implement the project, but the device contains only 1539 LABs.

уменьшим данные до 13 ти бит (уж больно лень фильтр пересчитывать)

5 фильтров : LE 22867 (93%)/117.07MHz


сорцы и квартусовский архивированный проект в приложении.

интересны результаты спартна3/3е/3А/6 сравнимого объема, при сравнимой заполненности sm.gif

ЗЫ. Если общественность попросит, то фильтр таки пересчитаю на 16 ти битные коэффициенты. И да, фильтр не сферический конь в вакууме, а из рабочего проекта.
Прикрепленные файлы
Прикрепленный файл  test_fir.zip ( 16.3 килобайт ) Кол-во скачиваний: 89
 


--------------------
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 26)
VladimirB
сообщение Jan 30 2012, 20:24
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Цитата(des00 @ Jan 30 2012, 19:17) *
1 фильтр Slice 3337(22%)/79.847MHz
2 фильтра Slice 6677(45%)/74.063MHzMHz
3 фильтра Slice 10004(67%)/59.748MHzMHz
4 фильтра Slice 13331(90%)/63.464MHzMHz


Да для 90нм 3-го спартана примерно так и получается для 4-х фильтров и XC3SD1800A-4 скрин в приложении.
Правда без TIGов, поэтому и результат хуже.

А 45нм Spartan-6 мне так и не удалось раскочегарить, что ни делал - ISE упорно вставляет DSP слайсы и сам на них ругается (для одного фильтра тайминги на выходе незарегистренных DSPслайсов плохо сходятся, а для четырёх - синтезатор вставляет DSP48 больше чем есть в Спартане и MAP завершается с сообщением о превышении числа DSP48) - видимо версия ISE не та.

А Циклон 3 помнится 65нм + интерконнект получше + Кактус получше.

Прикрепленное изображение
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Jan 31 2012, 01:03
Сообщение #17


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(VladimirB @ Jan 31 2012, 05:24) *
.....
А 45нм Spartan-6 мне так и не удалось раскочегарить, что ни делал - ISE упорно вставляет DSP слайсы и сам на них ругается (для одного фильтра тайминги на выходе незарегистренных DSPслайсов плохо сходятся, а для четырёх - синтезатор вставляет DSP48 больше чем есть в Спартане и MAP завершается с сообщением о превышении числа DSP48) - видимо версия ISE не та.
....

Spartan-6 25 тоже не выходит каменный цветок. версия исе13.4.
но уменя MAP вылетает с жалобами на "..The number of logical carry chain blocks exceeds the capacity for the target device. "
а вы чем синтезировали? я симплифаем.
+up. пробовал xst, тот же результат.


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 31 2012, 02:38
Сообщение #18


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

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



Цитата(VladimirB @ Jan 30 2012, 15:24) *
А 45нм Spartan-6 мне так и не удалось раскочегарить, что ни делал - ISE упорно вставляет DSP слайсы и сам на них ругается (для одного фильтра тайминги на выходе незарегистренных DSPслайсов плохо сходятся, а для четырёх - синтезатор вставляет DSP48 больше чем есть в Спартане и MAP завершается с сообщением о превышении числа DSP48) - видимо версия ISE не та.

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

Цитата
А Циклон 3 помнится 65нм + интерконнект получше + Кактус получше.

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


--------------------
Go to the top of the page
 
+Quote Post
Timmy
сообщение Jan 31 2012, 05:06
Сообщение #19


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(Postoroniy_V @ Jan 31 2012, 05:03) *
Spartan-6 25 тоже не выходит каменный цветок. версия исе13.4.
но уменя MAP вылетает с жалобами на "..The number of logical carry chain blocks exceeds the capacity for the target device. "
а вы чем синтезировали? я симплифаем.
+up. пробовал xst, тот же результат.

Не удивительно. В S6 каждый слайс содержит 4 шестивходовых лута, а сложить может только 2 бита, так как carry chain есть только в половине лутов. Достаточное для пяти каналов число сумматоров имеет только LX75(11662*2), да и в него может не влезть.
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Jan 31 2012, 05:40
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Цитата(des00 @ Jan 31 2012, 05:38) *
хммм, в ква можно было бы lpm_mult влепить и поставить синтез на логике, а в исе, если мне память не изменяет надо делать каждый умножитель в отдельности. попробую на досуге.
то что сыклон 3 быстрее спорить глупо, интересна именно деградация тактовой при заполненных чипах.


Дык умножителей там много - не помню, вроде порядка 60 штук на фильтр, а XST упорно вставляет 12 DSP48 слайсов на 1 фильтр (для чего я так и неразобрался).
Если ему разрешить вместо умножителей DSP48 ставить - то он и 1 фильтр не хочет для 6-го Спартана парить.
А деградация для третьего спартана 10-15% - это очень хорошо, я думал будет хуже.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Feb 1 2012, 17:03
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Spartan 3e - это 90 нм, архитектура классическая LUT4+FF 8 элементов в CLB.
Cyclone II - 90 нм таже самая архитектура LUT4+FF, но кластер больше - 16 LE в LAB.
Интересно было бы их сравнить. Различия в основном архитектурные и интерконнект.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Feb 1 2012, 18:42
Сообщение #22


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

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Увы синтез в XST всегда в отстающих. Сравниваю с Synplify начиная с 5 версии ISE. Причем если в последних
версиях результаты по частоте еще как-то подтянулись (и то не всегда) то размер всегда больше % на 10-20.

Запихнул 5 фильтров в Spartan3-1500 -4
Вариант Synplify 2011 - ISE 13.4 LUT - 84 % тайминг после PAR 12ns ~83 MHz при прогнозе Synplify ~104 MHz (время MAP и PAR ~5 мин)
Вариант XST 13.4 - ISE 13.4 LUT - 96 % тайминг после PAR 16ns ~60 MHz при прогнозе XST ~100 MHz (MAP и PAR ~25 минут)

Запихнул 5 фильтров в Spartan6-slx150 -3
Вариант Synplify 2011 - ISE 13.4 LUT - 37 % тайминг после PAR 10ns ~100 MHz при прогнозе Synplify ~160 MHz (время MAP и PAR >20 мин)
Вариант XST 13.4 - ISE 13.4 LUT - 55 % тайминг после PAR 12ns ~80 MHz при прогнозе XST ~150 MHz (MAP и PAR ~50 минут) !!!

В Spartan6 carry chain есть только в половине LUT отсюда и такое заполнение - в меньшие чипы не лезет поскольку нет цепей переноса
Время сборки и времянка для Spartan6 огорчает - но это без всяких плясок - можно было подобрать начальный seed для MAP/PAR но было уже поздно.

По опыту знаю то подбирая constarins для MAP/PAR можно всегда уложить проект % на 10 меньше по частоте чем говорит Synplify.

Я думаю что основной проблемой и в тоже время преимуществом для Xilinx является однородна структура кристалла.
Отсюда и появляется жуткая неоднозначность при большом заполнении кристалла - так как MAP и PAR по сути рандомный начальный расклад
с последующей попыткой оптимизации. При равномерной структуре алгоритму предоставляется слишком большая свобода часто заводящая оный в тупик.
Очень часто на тяжелых (по времянке и заполнению) проектах достаточно слегка ограничить вольности задав разбиение на блоки и зафиксировав положение для ряда ключевых узлов и время MAP/PAR уменьшается на пару порядков! Не зря Xilinx сейчас так активно двигает PlanAhead

В Altera структура кристалла изначальна поделена на крупные блоки что значительно уменьшает число вариантов при MAP/PAR.

Удачи! Rob.

Go to the top of the page
 
+Quote Post
Builder
сообщение Feb 2 2012, 06:43
Сообщение #23


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(RobFPGA @ Feb 1 2012, 21:42) *
Я думаю что основной проблемой и в тоже время преимуществом для Xilinx является однородна структура кристалла.
Отсюда и появляется жуткая неоднозначность при большом заполнении кристалла - так как MAP и PAR по сути рандомный начальный расклад
с последующей попыткой оптимизации. При равномерной структуре алгоритму предоставляется слишком большая свобода часто заводящая оный в тупик.
Очень часто на тяжелых (по времянке и заполнению) проектах достаточно слегка ограничить вольности задав разбиение на блоки и зафиксировав положение для ряда ключевых узлов и время MAP/PAR уменьшается на пару порядков! Не зря Xilinx сейчас так активно двигает PlanAhead

В Altera структура кристалла изначальна поделена на крупные блоки что значительно уменьшает число вариантов при MAP/PAR.
Не думаю что то всё так как Вы сказали. Не вижу принципиальных проблем сделать те-же разбиения виртуально при синтезе.
В конце концов альтере тоже нужно синтех делать с учётом архитектуры, а никто не отменял синтех в заданном базисе, и этот базис может быть как реальным так виртуальным.
Скорее всего просто Хилые отстают в крутизне реализации самих алгоритмов под свои чипы. Возможно Альтера разработку чипа и алгоритмов синтеза делает более комллексно, а хилые по принципу - сделаем чип, а синтез как нибудь "под чип подкрутим".

Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Feb 2 2012, 10:08
Сообщение #24


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

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(Builder @ Feb 2 2012, 08:43) *
Не думаю что то всё так как Вы сказали. Не вижу принципиальных проблем сделать те-же разбиения виртуально при синтезе.


Ну Xilinx так и делает - но чтобы возмущенные юзеры не ворчали что им не дают рулить процессом это разбиение на них же и возлагается sm.gif.

Я давно, в одном проекте, потратил неделю на эксперименты с различными опциями при MAP/PAR. Причем синтез был сделан один раз и не менялся в процессе экспериментов.
Чип был VirtexE-3200 - обработка данных SAR радара забит LUT-98%. RAM-100%, 80% обработки работало на 150 MHz. В начале - как говорится в лоб - время MAP/PAR - 2 Суток!!!! Поиск удачного начального seed - время MAP/PAR уменьшилось на до 8-10 часов. А как только задал AREA_GROUP для ряда крупных функциональных блоков и зафиксировал их положение на кристалле то время MAP/PAR стало меньше 1 часа !!! А какая красивая картинка была в FloorPlanere при этом!

С тех пор методика разбиения проекта на AREA_GROUP оправдывала себя много раз. Для простых же проектов - не критичных по частоте и заполнению это особенно и не нужно.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
BlackOps
сообщение Feb 2 2012, 23:09
Сообщение #25


Знающий
****

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



Цитата(RobFPGA @ Feb 2 2012, 15:08) *
Приветствую!



Ну Xilinx так и делает - но чтобы возмущенные юзеры не ворчали что им не дают рулить процессом это разбиение на них же и возлагается sm.gif.

Я давно, в одном проекте, потратил неделю на эксперименты с различными опциями при MAP/PAR. Причем синтез был сделан один раз и не менялся в процессе экспериментов.
Чип был VirtexE-3200 - обработка данных SAR радара забит LUT-98%. RAM-100%, 80% обработки работало на 150 MHz. В начале - как говорится в лоб - время MAP/PAR - 2 Суток!!!! Поиск удачного начального seed - время MAP/PAR уменьшилось на до 8-10 часов. А как только задал AREA_GROUP для ряда крупных функциональных блоков и зафиксировал их положение на кристалле то время MAP/PAR стало меньше 1 часа !!! А какая красивая картинка была в FloorPlanere при этом!

С тех пор методика разбиения проекта на AREA_GROUP оправдывала себя много раз. Для простых же проектов - не критичных по частоте и заполнению это особенно и не нужно.

Успехов! Rob.

какой версией ISE делался данный эксперимент?


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
des00
сообщение Feb 3 2012, 08:23
Сообщение #26


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

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



Цитата(RobFPGA @ Feb 1 2012, 13:42) *
Запихнул 5 фильтров в Spartan3-1500 -4
Вариант Synplify 2011 - ISE 13.4 LUT - 84 % тайминг после PAR 12ns ~83 MHz при прогнозе Synplify ~104 MHz (время MAP и PAR ~5 мин)
Вариант XST 13.4 - ISE 13.4 LUT - 96 % тайминг после PAR 16ns ~60 MHz при прогнозе XST ~100 MHz (MAP и PAR ~25 минут)

Запихнул 5 фильтров в Spartan6-slx150 -3
Вариант Synplify 2011 - ISE 13.4 LUT - 37 % тайминг после PAR 10ns ~100 MHz при прогнозе Synplify ~160 MHz (время MAP и PAR >20 мин)
Вариант XST 13.4 - ISE 13.4 LUT - 55 % тайминг после PAR 12ns ~80 MHz при прогнозе XST ~150 MHz (MAP и PAR ~50 минут) !!!

Спасибо большое, можно еще для корректности собрать систему с 1 фильтром, для этих же чипов? Что бы иметь базу, от которой надо плясать.

ЗЫ. Время сборки впечатляет %)


--------------------
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Feb 3 2012, 11:50
Сообщение #27


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

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(BlackOps @ Feb 3 2012, 01:09) *
какой версией ISE делался данный эксперимент?


Если не ошибаюсь то 7я вроде. Давно это было.

Успехов! Rob.
Go to the top of the page
 
+Quote Post

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

 


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


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