Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: уменьшить размер
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
sergey sva
Не хватает , буквально пару ячеек, нужно добавить еще один Uart передатчик и подсчет CRC, можно есть какие способы немного сжать?
Нажмите для просмотра прикрепленного файла
SemperAnte
Э-э-э, не зная содержимого вашего проекта, сложно давать какие-то советы ...

Единственное, что приходит на ум, выбрать для синтезатора опцию "Area reduction".
sergey sva
попробовал практически ничего не изменилось Number of occupied Slices как было 99 так и осталось. только Number of Slice Flip Flops с53 на 52 поменялось.
XVR
Судя по 2м первым строкам в ваших 99% occupied Slices около половины ресурсов не задействовано. Добавьте ваш UART и CRC - может и влезет
sergey sva
Не хватает ( 101%
SemperAnte
Цитата(sergey sva @ Nov 12 2013, 15:47) *
Не хватает ( 101%

Ну, тогда, остаётся самое крайнее средство - сесть и подумать.

Может быть, все-таки расскажете, что там у вас за проект, из каких частей состоит, как эти части выполнены?
sergey sva
Наверно тут уже ничего не придумаешь заказ микросхему 3sc500e в принципе тоже самое только немного побольше ресурсов. Проект не сложный pci + 3 энкодера +3цапа + оптика для подключения дискретных входов выходов. Просто хотелось быстрее заняться написанием драйвера а тут ждать придется еще месяц. (
ASN
sergey sva
А если разрешить синтезатору упаковать логику в BRAM?
Alex77
Цитата(sergey sva @ Nov 11 2013, 16:25) *
Не хватает , буквально пару ячеек, нужно добавить еще один Uart передатчик и подсчет CRC, можно есть какие способы немного сжать?

Не хватает на этапе синтеза или на P&R ?
Обычно синтезатор говорит (на моих проектах) что требуется ресурсов 110% - а на этапе P&R всё разводится и укладывается в 95-100% (как то так).
так же можно поиграть опциями "компиляции" (или запустить smartexplorer).
XVR
Цитата(sergey sva @ Nov 12 2013, 16:18) *
Проект не сложный pci + 3 энкодера +3цапа + оптика для подключения дискретных входов выходов.
Не так уж и много. Может что то сильно не оптимально сделано?
Энкодеры какие?

Я в свое время уложил 8 квадратурных энкодеров (можно было сделать 32 на почти тех же ресурсах), насквозь кастомный MAC для Eth100, интерфейс к 2м 4х канальным внешним ЦАПам и рассыпуху I/O в Spartan IIE 50. Вот еще 32 канала UART'ов туда уже не влезли, пришлось апгрейдится на 100й

Все энкодеры были сделаны в виде SM внутри одного BRAM'а (а UART'ы на 2й BRAM'ине)

sergey sva
На стадии Map.
Цитата
А если разрешить синтезатору упаковать логику в BRAM?

Сейчас попробую. добавил Map Slice Logic into Unused Block RAMs галку,ничего не поменялось.
o_khavin
Цитата(sergey sva @ Nov 11 2013, 17:25) *
Не хватает , буквально пару ячеек, нужно добавить еще один Uart передатчик и подсчет CRC, можно есть какие способы немного сжать?

У Вас и так 37% LUT-ов и 47% регистров свободны. Xilinx позволяет делать замечательную вещь - вставлять в hdl код примитивы вместе с атрибутами, в т.ч. и constraint-ами placer-а. Найдите наиболее простой для преобразования в примитивы кусок кода (модуль) из тех, где много неиспользуемых регистров/LUT-ов в слайсах. Компактно расставьте его внутренности RLOC-ми (можно вложенные RLOC-и делать) и прикрепите в нужное место RLOC_ORIGIN-ом на верхнем уровне.
Я так в своё время делал дизайн, в котором один неиспользуемый FF остался и ни одного LUTа. cool.gif
sergey sva
Благодарю, появилась надежда sm.gif. Остается понять, имеете ввиду собрать ячейки которые закончились, собрав их из того что есть и описать это на hdl и добавить в библиотеку.
RobFPGA
Приветствую!

Цитата(sergey sva @ Nov 13 2013, 06:25) *
Благодарю, появилась надежда sm.gif. Остается понять, имеете ввиду собрать ячейки которые закончились, собрав их из того что есть и описать это на hdl и добавить в библиотеку.



Не занимайтесь глупой работой! Хотите втиснутся - в первую очередь проанализируйте какие модули дизайна наиболее "толстые" и конкретно почему?
Ну а затем под нож их - в смысле редизайн.
После такого фитнеса Вы и ваш похудевший дизайн не только будет мечтать о призрачной девушке Надежде но и иметь рядом прекрасную женщину Удачу! sm.gif

Удачи! Rob.


Dmitriyspb
Цитата(sergey sva @ Nov 11 2013, 17:25) *
Не хватает , буквально пару ячеек, нужно добавить еще один Uart передатчик и подсчет CRC, можно есть какие способы немного сжать?
Нажмите для просмотра прикрепленного файла


Был и не раз в подобной ситации и со Спартаними и с Виртексами. Эти все танци с бубном ни к чему хорошему не приводили. Самый правильный вариант - установить такой же, но большей ёмкости кристал.
Просто потом через пол годика понадобится еще один UART или CRC посчитать иначе захочется/потребуется. Нужно иметь запас примерно процентов 40.
sergey sva
Точно обязательно что то придется добавлять.
Плиз без микроконтроллера как то не полноценно, встраивать какое нибудь ядро, понадобится память ппз озу да и ресурсы плис эта конструкция займет. проще наверно использовать какой нибудь контроллер с контроллером памяти а плис к нему прицепить как память, правильно мыслю ?
o_khavin
Цитата(RobFPGA @ Nov 13 2013, 11:04) *
Не занимайтесь глупой работой! Хотите втиснутся - в первую очередь проанализируйте какие модули дизайна наиболее "толстые" и конкретно почему?
Ну а затем под нож их - в смысле редизайн.
После такого фитнеса Вы и ваш похудевший дизайн не только будет мечтать о призрачной девушке Надежде но и иметь рядом прекрасную женщину Удачу! sm.gif

Это всё очень поэтично, я прямо прослезился. biggrin.gif Но я вовсе не уверен, что редизайн даст выигрыш в размере 30-40% (который можно получить рациональным использованием имеющихся ресурсов). Это очень сильно зависит от используемого кода.

Цитата(Dmitriyspb @ Nov 13 2013, 13:40) *
Был и не раз в подобной ситации и со Спартаними и с Виртексами. Эти все танци с бубном ни к чему хорошему не приводили. Самый правильный вариант - установить такой же, но большей ёмкости кристал.
Просто потом через пол годика понадобится еще один UART или CRC посчитать иначе захочется/потребуется. Нужно иметь запас примерно процентов 40.

Осталось только выяснить, есть ли у ТС возможность поменять кристал.

Цитата(sergey sva @ Nov 13 2013, 08:25) *
Благодарю, появилась надежда sm.gif. Остается понять, имеете ввиду собрать ячейки которые закончились, собрав их из того что есть и описать это на hdl и добавить в библиотеку.

Я не совсем понял, что Вы имели ввиду. Я предлагал заменить чисто hdl-ое описание подходящих модулей банальным нетлистом из примитивов (пусть и написанным на hdl-е) и расставить эти примитивы стройными рядами, целиком заняв доступные места в ячейках. В результате у Вас уменьшится количество ячеек, где занят только FF или только LUT и, соответственно, увеличится количество полностью свободных ячеек.
Но хочу предупредить, что этот метод имеет приемлемый КПД на регулярных структурах, когда используется много экземпляров одного и того же модуля. Или на больших модулях с широкими регистрами/логикой. В случае кучи уникальных небольших модулей, расставить тоже можно, но это будет весьма кропотливая и длительная работа, которая имеет смысл, только если вам некуда деваться (невозможно что-то редизайнить или сменить чип).

Цитата(sergey sva @ Nov 13 2013, 22:53) *
Точно обязательно что то придется добавлять.
Плиз без микроконтроллера как то не полноценно, встраивать какое нибудь ядро, понадобится память ппз озу да и ресурсы плис эта конструкция займет. проще наверно использовать какой нибудь контроллер с контроллером памяти а плис к нему прицепить как память, правильно мыслю ?

Что-то у Вас собачка в пути растёт. biggrin.gif С таким подходом действительно нужно кристалл побольше ставить. Рекомендую для начала определиться, что именно Вы хотите сделать в конечном итоге или какие деньги готовы потратить на ресурсы "про запас", а уже потом что-то делать.
Dmitriyspb
Цитата(o_khavin @ Nov 14 2013, 00:27) *
Осталось только выяснить, есть ли у ТС возможность поменять кристал.


Какую ПЛИС используете?
Может где-то вы уже указывали, прочел не нашел=)
XVR
Цитата(sergey sva @ Nov 13 2013, 22:53) *
Плиз без микроконтроллера как то не полноценно, встраивать какое нибудь ядро, понадобится память ппз озу да и ресурсы плис эта конструкция займет. проще наверно использовать какой нибудь контроллер с контроллером памяти а плис к нему прицепить как память, правильно мыслю ?
Ставьте сразу Zynq-7000, что уж мелочиться rolleyes.gif XC7Z030 подойдет ?

Dmitriyspb
Цитата(sergey sva @ Nov 12 2013, 16:18) *
Наверно тут уже ничего не придумаешь заказ микросхему 3sc500e в принципе тоже самое только немного побольше ресурсов. Проект не сложный pci + 3 энкодера +3цапа + оптика для подключения дискретных входов выходов. Просто хотелось быстрее заняться написанием драйвера а тут ждать придется еще месяц. (


Аааа... вот нашел=) У вас как я понял XC3S250E Спартанчик?
Если это так, то тут "pin to pin" XC3S250E и XC3S500E. Тут переставил и будет счастье. Топалогию платы чесать не нужно.


Цитата
Ставьте сразу Zynq-7000, что уж мелочиться rolleyes.gif XC7Z030 подойдет ?


Это конечно идеальный вариант, но топалогия платы изменится в корне - совершенно другой кристалл. Вряд ли автору темы понравится wacko.gif
sergey sva
Чем XC7Z030 хорош ?

Да действительно есть все, но цена тоже хорошая http://www.digikey.com/product-detail/en/X...676I-ND/3925210
Maverick
а если средствами симплифая "запаковать", а не XST
sergey sva
понятно сейчас попробую скачать и попробовать может что получиться.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.