|
уменьшить размер |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 22)
|
Nov 12 2013, 11:55
|

Частый гость
 
Группа: Свой
Сообщений: 89
Регистрация: 24-10-10
Из: Санкт-Петербург
Пользователь №: 60 386

|
Цитата(sergey sva @ Nov 12 2013, 15:47)  Не хватает ( 101% Ну, тогда, остаётся самое крайнее средство - сесть и подумать. Может быть, все-таки расскажете, что там у вас за проект, из каких частей состоит, как эти части выполнены?
|
|
|
|
|
Nov 12 2013, 13:04
|
Местный
  
Группа: Участник
Сообщений: 295
Регистрация: 2-12-05
Пользователь №: 11 695

|
Цитата(sergey sva @ Nov 11 2013, 16:25)  Не хватает , буквально пару ячеек, нужно добавить еще один Uart передатчик и подсчет CRC, можно есть какие способы немного сжать? Не хватает на этапе синтеза или на P&R ? Обычно синтезатор говорит (на моих проектах) что требуется ресурсов 110% - а на этапе P&R всё разводится и укладывается в 95-100% (как то так). так же можно поиграть опциями "компиляции" (или запустить smartexplorer).
Сообщение отредактировал Alex77 - Nov 12 2013, 13:10
|
|
|
|
|
Nov 12 2013, 13:39
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(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'ине)
|
|
|
|
|
Nov 12 2013, 14:39
|
Местный
  
Группа: Участник
Сообщений: 230
Регистрация: 29-08-09
Пользователь №: 52 094

|
Цитата(sergey sva @ Nov 11 2013, 17:25)  Не хватает , буквально пару ячеек, нужно добавить еще один Uart передатчик и подсчет CRC, можно есть какие способы немного сжать? У Вас и так 37% LUT-ов и 47% регистров свободны. Xilinx позволяет делать замечательную вещь - вставлять в hdl код примитивы вместе с атрибутами, в т.ч. и constraint-ами placer-а. Найдите наиболее простой для преобразования в примитивы кусок кода (модуль) из тех, где много неиспользуемых регистров/LUT-ов в слайсах. Компактно расставьте его внутренности RLOC-ми (можно вложенные RLOC-и делать) и прикрепите в нужное место RLOC_ORIGIN-ом на верхнем уровне. Я так в своё время делал дизайн, в котором один неиспользуемый FF остался и ни одного LUTа.
|
|
|
|
|
Nov 13 2013, 07:04
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(sergey sva @ Nov 13 2013, 06:25)  Благодарю, появилась надежда  . Остается понять, имеете ввиду собрать ячейки которые закончились, собрав их из того что есть и описать это на hdl и добавить в библиотеку. Не занимайтесь глупой работой! Хотите втиснутся - в первую очередь проанализируйте какие модули дизайна наиболее "толстые" и конкретно почему? Ну а затем под нож их - в смысле редизайн. После такого фитнеса Вы и ваш похудевший дизайн не только будет мечтать о призрачной девушке Надежде но и иметь рядом прекрасную женщину Удачу!  Удачи! Rob.
|
|
|
|
|
Nov 13 2013, 09:40
|

Местный
  
Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498

|
Цитата(sergey sva @ Nov 11 2013, 17:25)  Не хватает , буквально пару ячеек, нужно добавить еще один Uart передатчик и подсчет CRC, можно есть какие способы немного сжать?
Был и не раз в подобной ситации и со Спартаними и с Виртексами. Эти все танци с бубном ни к чему хорошему не приводили. Самый правильный вариант - установить такой же, но большей ёмкости кристал. Просто потом через пол годика понадобится еще один UART или CRC посчитать иначе захочется/потребуется. Нужно иметь запас примерно процентов 40.
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
|
Nov 13 2013, 20:27
|
Местный
  
Группа: Участник
Сообщений: 230
Регистрация: 29-08-09
Пользователь №: 52 094

|
Цитата(RobFPGA @ Nov 13 2013, 11:04)  Не занимайтесь глупой работой! Хотите втиснутся - в первую очередь проанализируйте какие модули дизайна наиболее "толстые" и конкретно почему? Ну а затем под нож их - в смысле редизайн. После такого фитнеса Вы и ваш похудевший дизайн не только будет мечтать о призрачной девушке Надежде но и иметь рядом прекрасную женщину Удачу!  Это всё очень поэтично, я прямо прослезился.  Но я вовсе не уверен, что редизайн даст выигрыш в размере 30-40% (который можно получить рациональным использованием имеющихся ресурсов). Это очень сильно зависит от используемого кода. Цитата(Dmitriyspb @ Nov 13 2013, 13:40)  Был и не раз в подобной ситации и со Спартаними и с Виртексами. Эти все танци с бубном ни к чему хорошему не приводили. Самый правильный вариант - установить такой же, но большей ёмкости кристал. Просто потом через пол годика понадобится еще один UART или CRC посчитать иначе захочется/потребуется. Нужно иметь запас примерно процентов 40. Осталось только выяснить, есть ли у ТС возможность поменять кристал. Цитата(sergey sva @ Nov 13 2013, 08:25)  Благодарю, появилась надежда  . Остается понять, имеете ввиду собрать ячейки которые закончились, собрав их из того что есть и описать это на hdl и добавить в библиотеку. Я не совсем понял, что Вы имели ввиду. Я предлагал заменить чисто hdl-ое описание подходящих модулей банальным нетлистом из примитивов (пусть и написанным на hdl-е) и расставить эти примитивы стройными рядами, целиком заняв доступные места в ячейках. В результате у Вас уменьшится количество ячеек, где занят только FF или только LUT и, соответственно, увеличится количество полностью свободных ячеек. Но хочу предупредить, что этот метод имеет приемлемый КПД на регулярных структурах, когда используется много экземпляров одного и того же модуля. Или на больших модулях с широкими регистрами/логикой. В случае кучи уникальных небольших модулей, расставить тоже можно, но это будет весьма кропотливая и длительная работа, которая имеет смысл, только если вам некуда деваться (невозможно что-то редизайнить или сменить чип). Цитата(sergey sva @ Nov 13 2013, 22:53)  Точно обязательно что то придется добавлять. Плиз без микроконтроллера как то не полноценно, встраивать какое нибудь ядро, понадобится память ппз озу да и ресурсы плис эта конструкция займет. проще наверно использовать какой нибудь контроллер с контроллером памяти а плис к нему прицепить как память, правильно мыслю ? Что-то у Вас собачка в пути растёт.  С таким подходом действительно нужно кристалл побольше ставить. Рекомендую для начала определиться, что именно Вы хотите сделать в конечном итоге или какие деньги готовы потратить на ресурсы "про запас", а уже потом что-то делать.
Сообщение отредактировал o_khavin - Nov 13 2013, 20:38
|
|
|
|
|
Nov 14 2013, 05:13
|

Местный
  
Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498

|
Цитата(o_khavin @ Nov 14 2013, 00:27)  Осталось только выяснить, есть ли у ТС возможность поменять кристал. Какую ПЛИС используете? Может где-то вы уже указывали, прочел не нашел=)
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
|
Nov 14 2013, 08:21
|

Местный
  
Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498

|
Цитата(sergey sva @ Nov 12 2013, 16:18)  Наверно тут уже ничего не придумаешь заказ микросхему 3sc500e в принципе тоже самое только немного побольше ресурсов. Проект не сложный pci + 3 энкодера +3цапа + оптика для подключения дискретных входов выходов. Просто хотелось быстрее заняться написанием драйвера а тут ждать придется еще месяц. ( Аааа... вот нашел=) У вас как я понял XC3S250E Спартанчик? Если это так, то тут "pin to pin" XC3S250E и XC3S500E. Тут переставил и будет счастье. Топалогию платы чесать не нужно. Цитата Ставьте сразу Zynq-7000, что уж мелочиться rolleyes.gif XC7Z030 подойдет ? Это конечно идеальный вариант, но топалогия платы изменится в корне - совершенно другой кристалл. Вряд ли автору темы понравится
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|