Перейти к содержанию
    

Позитивные результаты синтеза и печалька с имплементацией

Чип xilinx spartan6 XC6SLX9

Синтез в synplify h-2013.03

Имплементация ise14.4

 

Результат синтеза:

Register bits not including I/Os:   6252 (50%)
Total  LUTs: 3773 (61%)
Region Summary:
Other LUTs: 4338 Other Registers: 6252
Mapper successful!

На этапе имплементации долго пыжится

phase 9.8 global placement
...

И не могет (((

Error:Place:543 - This design does not fit into the number of slices available...

 

Синплифай настолько не знаком со слайсами и возможным роутингом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чип xilinx spartan6 XC6SLX9

Синтез в synplify h-2013.03

Имплементация ise14.4

 

Результат синтеза:

Register bits not including I/Os:   6252 (50%)
Total  LUTs: 3773 (61%)
Region Summary:
Other LUTs: 4338 Other Registers: 6252
Mapper successful!

На этапе имплементации долго пыжится

phase 9.8 global placement
...

И не могет (((

Error:Place:543 - This design does not fit into the number of slices available...

 

Синплифай настолько не знаком со слайсами и возможным роутингом?

если выбрать "пожирнее" ПЛИС?

т.е. вообще имплементация проекта в ПЛИС возможна?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Синплифай настолько не знаком со слайсами и возможным роутингом?

 

А Вы CoreGen корки в проекте используете ?

 

Успехов! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так роутинг много ячеек может занимать в зависимости от кода.

Поддерживаю.

Это значит, что не хватило интерконнектов.

Посмотрите, можно ли убрать параллельные схемы. И заменить их на последовательные.

Или вместо логики применить память, SRL и т.д....

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так роутинг много ячеек может занимать в зависимости от кода

 

Согласен, но были статейки от синопсиса, что синтез поумнел и нонче неотвязан от имплементации.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Синтез конечно отвязан. Но лишь имплементация позволяет узнать сколько ячеек будут заняты под интерконнект.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У S6 только половина слайсов пригодна для сложения, и половина от пригодных для сложения - пригодна и для распределённой памяти. Поэтому, если в дизайне много сумматоров и распределённой памяти, может и не влезть, несмотря на вроде бы большой общий запас.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У S6 только половина слайсов пригодна для сложения, и половина от пригодных для сложения - пригодна и для распределённой памяти. Поэтому, если в дизайне много сумматоров и распределённой памяти, может и не влезть, несмотря на вроде бы большой общий запас.

Вы, попали в яблочко.

Жаль, что синплифай не дает никаких намеков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сколько ячеек будут заняты под интерконнект.
Подскажите, пожалуйста, как ячейки бывают занятыми под интерконнект? Если между двумя регистрами надо прокинуть связь накоротко, а ячейка представляет собой например LUT, то PAR будет прокидывать связь через LUT, а не напрямую?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В том-то и заключается моё удивление, что я такого никогда не видел в схематике после роутинга. А Вам несложно какой-то живой пример, где например вот кусок кода описывающий прямую связь между регистрами, а вот схема, где эта прямая связь - вовсе не прямая, а через допустим LUT?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот пример.

Схема после роутинга, как видим, между двумя регистрами ни какой логики нет.

reg_reg_0.jpg

 

Вот этот путь внутри микросхемы

reg_reg_1.jpg

 

Вот он же, с указанием пути разводки

reg_reg_2.jpg

 

Теперь приблизим самый конец пути

reg_reg_3.jpg

 

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

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

 

P.S. Хотя не, похоже все эти регистры имеют мультиплексор на входе. Сейчас ещё поищу.

 

Вот эта выходная SLICEL целиком

reg_reg_4.jpg

 

И приблизим выделенный мультиплексор в её центре

reg_reg_5.jpg

 

Наш интерконнект, выделенный малиновым, хоть и обходит этот мультиплексор, но уже не позволит использовать его где-то ещё.

 

Соответственно между двумя регистрами даже без логики могут быть длинные пути. При этом часть логических ресурсов FPGA становится заблокированной и недоступной для плейсмента и роутинга других элементов дизайна.

Изменено пользователем Vascom

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...