Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Динамические характеристики
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
qwqw
Делал прошлый проект на SpartanIIE(заявленая максимальная тактовая частота 200МГц)
проект включал PCI 32,33 мастер/таргет и с другой стороны интерфейс с частотой 25МГц на 10 разр + служебные. Соответственно вх/вых задержки порядка 7-11нс. Места осталось где-то 15-20%. Настройки синтез/разводка по максимуму оптимизированы по скорости. В результате схема с трудом покрыла нужные частоты.
Я понимаю, что сравнение разных проектов пусть и на базе одного кристалла неправомерно, но хотелось бы по возможности адекватно оценивать динамические возможности при выборе кристалла в будущем. Поэтому хотельось бы узнать хотя бы небольшую статистику для начала по этому кристаллу(этой серии) примерно следующего толка:
-достигнутая(ые) частота(ы)
-заполненность
-примерно, что за схема
ishergin
Цитата(qwqw @ Aug 2 2006, 14:40) *
Делал прошлый проект на SpartanIIE(заявленая максимальная тактовая частота 200МГц)
проект включал PCI 32,33 мастер/таргет и с другой стороны интерфейс с частотой 25МГц на 10 разр + служебные. Соответственно вх/вых задержки порядка 7-11нс. Места осталось где-то 15-20%. Настройки синтез/разводка по максимуму оптимизированы по скорости. В результате схема с трудом покрыла нужные частоты.
Я понимаю, что сравнение разных проектов пусть и на базе одного кристалла неправомерно, но хотелось бы по возможности адекватно оценивать динамические возможности при выборе кристалла в будущем. Поэтому хотельось бы узнать хотя бы небольшую статистику для начала по этому кристаллу(этой серии) примерно следующего толка:
-достигнутая(ые) частота(ы)
-заполненность
-примерно, что за схема


У меня был проект мост PCI-QBAS (асинхронная 16 битовая шина с циклом от 400 нс). PCI ядро брал от SET, достигнутая частота при трассировке ~55 МГц, никаких особых мер по повышению быстродействия не принимал. Кристалл спартан 2 50 тыс вентилей, заполнен был ~60 %
qwqw
уж не знаю где написать, допишу здесь
собственно вопрос о максимальной частоте возник в связи с применением микросхемы-сериалайзера для оптоволокна(TLK 120 от TI). Необходимо делать кодирование/декодирование 8b10b.
При этом рабочая частота ограничена снизу 60МГц. Я написал енкодер/декодер на мультиплексорах, вроде табличного ROM. Частота не дотянула. Судя по докам 8b10b изначально затачивался под комбинационную схему, геморой там тот еще особенно с декодером. Енкодер уже готов.
Времени жалко, может кто-нибудь уже реализовывал и сможет оценить можно ли вообще достич нужных 60 МГц(причем и на приемной и на передающей части клоки разные).
Так же буду благодарен за ссылки и любые советы-предложения.
BSV
А чем Вас не устраивает использование LogiCore? Там есть и енкодер и декодер. Так можете оценить и быстродействие своего варианта реализации - если у Xilinx получилось быстрее - значит и у Вас рано или поздно получится.

По скорости:
Цитата
The core performance is gated entirely by the clock to out and setup times of the targeted device. The
worst-case performance for all Virtex families will be 100MHz.
andrew_b
Цитата(qwqw @ Aug 2 2006, 11:40) *
Настройкисинтез/разводка по максимуму оптимизированы по скорости.

Попробуйте поставить оптимизацию по площади. Может оказаться, что так быстродействие будет выше.
3.14
Все заявленные максимальные частоты (200, 400 МГц ...) это "теоретический" предел, на таких частотах работать будет пожалуй только сдвиговый регистр и то при определенных условиях (может еще счетчик небольшой). И служат они скорее для качественной оценки быстродействия (хотя больше наверное чтоб лапшу менеджерам проектов развешивать smile.gif). В реальности-же Вы можете создать автомат с макцимальной работы хоть в килогерц. Если не можете достичь требуемой тактовой частоты то настройками PAR-а, хитрыми констрейнами, разбиением на физические части кристалла (хотя иногда это бывает едиственным "спасением") и прочими фокусами можно конечно ее поднять но это уже будет носить вероятностный характер. Есть такое понятие "критический путь", Ваша задача их находить и сокращать, другое дело что после синтеза понять к какой части модуля он относится не всегда просто но ...
qwqw
2BSV: вполне устраивает, просто я не знал, что он там есть, спасибо
будет время, разбирусь почему мой вариант такой медленный
2andrew_b: тоже такое всречал, но не в этом случае. Так же заметил, что времеенная оптимизация (period/before clk/after clk) тоже зачастую дает непредсказуемые результаты.
to3.14:
Цитата
разбиением на физические части кристалла (хотя иногда это бывает едиственным "спасением")
есть что-нибудь почитать про разбиение?
Builder
Добавлю к тому что сказал 3.14
Вы (qwqw) должны чётко понимать откуда получается реальная частота проекта. Это как уже было сказано - самые длинные комбинаторные цепи (от тригера до тригера). То что приводит производитель (как подметил 3.14), это для случаев, когда цепи между тригерами кратчайши, как правило глубиной в 1 LCEEL.

Из сказанного вытекает - хотите высоких скоростей, близких к максимальным - делайте конвеерные схемы (в дополнение к оптимизации "критических путей").
qwqw
это все понятно, спасибо, конечно, за разъяснения.
Но все же каков критерий выбора кристалла..?
Вероятно большинство руководствуется своим опытом, но что делать если его нет?
Или, например, при переходе на новое семейство ПЛИС. Поэтому я предложил как-то сфомулировать
ПРИМЕРНЫЙ подход на базе общего опыта.
Builder
Я часто делал так: брал некий кусок сделанного ранее проекта, или делал тестовый проект (когда интересовала какая-то конкретная хор-ка).
Проганял его для разных чипов, новых, старых...
И по результатам видел, что и на сколько быстрее.
slawikg
Код
ПРИМЕРНЫЙ подход на базе общего опыта


Я максимальную частоту делю пополам, а остального добиваюсь с помощью конвеерезации
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.