|
Как заставить Quartus сделать то, что я хочу? |
|
|
|
Dec 26 2017, 05:46
|
Местный
  
Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771

|
Цитата(ViKo @ Dec 25 2017, 22:23)  Конкретно, 2 желания. 1. От входной площадки тянется связь в недра ПЛИС. Можно ли дать указание сделать эту связь минимальной? 2. Внутри ПЛИС есть некоторый набор элементов (lcell, соединенных в последовательную цепь). Как задать разместить этот набор компактно? Чтобы цепи между ними были короткими. Здесь даже не длина важна, а постоянство вне зависимости от компиляции, хотя бы приблизительное, времени прохождения сигнала по этой цепи. в файле .qsf set_location_assignment
--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
|
|
|
|
|
Dec 26 2017, 06:50
|
Местный
  
Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771

|
Цитата(ViKo @ Dec 26 2017, 09:38)  Это значит жестко задать расположение. Я не уверен, что знаю, как задать оптимально. Хочу отдать это компьютеру. Помнится, в MaxPlus+ II были некие "клики". тогда можно попробовать LogicLock
--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
|
|
|
|
|
Dec 26 2017, 07:06
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Цитата(Realking @ Dec 26 2017, 09:50)  тогда можно попробовать LogicLock Тогда он будет размещать элементы только в заданной области, но как захочет. Тут скорее подойдет какое-нибудь временное ограничение (типа set_min_delay, но лично у меня были какие-то проблемы с его использованием) ну или гвоздями прибивать, как Вы уже советовали. Цитата 1. От входной площадки тянется связь в недра ПЛИС. Можно ли дать указание сделать эту связь минимальной? fast input register, если Вас устроит. to ViKo асинхронщиной решили заняться?
|
|
|
|
|
Dec 26 2017, 07:08
|
Местный
  
Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771

|
Цитата(bogaev_roman @ Dec 26 2017, 10:06)  Тогда он будет размещать элементы только в заданной области, но как захочет. Тут скорее подойдет какое-нибудь временное ограничение ну или гвоздями прибивать, как Вы уже советовали. Ну он и пишет, что хочет а постоянство вне зависимости от компиляции, хотя бы приблизительное, времени прохождения сигнала по этой цепи.
--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
|
|
|
|
|
Dec 26 2017, 07:26
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(bogaev_roman @ Dec 26 2017, 10:06)  fast input register, если Вас устроит. to ViKo асинхронщиной решили заняться? Не устроит. Сигнал асинхронный с тактовыми. Я-я, натюрлих! Борюсь со звоном на фронтах сигнала с компаратора, из-за чего триггер срабатывает по обоим фронтам сигнала. Гистерезис в компараторе помогает, конечно. Но не на 100%. А большой делать - значит, чувствительность ухудшать.
|
|
|
|
|
Dec 26 2017, 07:55
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(ViKo @ Dec 25 2017, 22:23)  Конкретно, 2 желания. 1. От входной площадки тянется связь в недра ПЛИС. Можно ли дать указание сделать эту связь минимальной? 2. Внутри ПЛИС есть некоторый набор элементов (lcell, соединенных в последовательную цепь). Как задать разместить этот набор компактно? Чтобы цепи между ними были короткими. Здесь даже не длина важна, а постоянство вне зависимости от компиляции, хотя бы приблизительное, времени прохождения сигнала по этой цепи. IMHO, в *.sdc указать значение set_max_delay: Цитата The set_max_delay and set_min_delay commands specify that the maximum and minimum respectively, required delay for any start point in <from_node_list> to any endpoint in <to_node_list> must be less than or greater than <delay_value>.Typically, you use these commands to override the default setup constraint for any path with a specific maximum or minimum time value for the path. В RTL при этом для каждой "lcell, соединенных в последовательную цепь" указать атрибут: /* synthesis keep */. См. Quartus Handbook, p.872, p.1001. PS. В файле *.sdc для set_max_delay нужно указать суммарное значение задержки для всей цепочки: input_pin -> last_lcell_output_pin.
|
|
|
|
|
Dec 26 2017, 10:55
|
Частый гость
 
Группа: Свой
Сообщений: 180
Регистрация: 17-02-09
Из: Санкт-Петербург
Пользователь №: 45 001

|
В связке симплифай/вивада развлекался с точками компиляции. Разбиваешь проект на куски по необходимой плотности и задаёшь разные стратегии для маппера(фиттера). Проект и без этого водился, но с точками компиляции была просто песня! Посмотрите, может и в квартусе такое можно провернуть(я, слава богу, с альтерой к этому даже близко не подобрался  ) Правда, тут надо потратить время, чтоб аккуратно всё сделать. А в реализованном уже проекте это кажется вдвойне проблематичным.
|
|
|
|
|
Dec 26 2017, 12:37
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(ViKo @ Dec 25 2017, 22:23)  Конкретно, 2 желания. 1. От входной площадки тянется связь в недра ПЛИС. Можно ли дать указание сделать эту связь минимальной? 2. Внутри ПЛИС есть некоторый набор элементов (lcell, соединенных в последовательную цепь). Как задать разместить этот набор компактно? Чтобы цепи между ними были короткими. Здесь даже не длина важна, а постоянство вне зависимости от компиляции, хотя бы приблизительное, времени прохождения сигнала по этой цепи. А думаю я так. Взять только этот кусочек, скомпилить, расположить. Потом вручную переставить элементы и в списке связей найти, как называются их места расположения. И уже это в виде аттрибутов добавить в проект...
--------------------
www.iosifk.narod.ru
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|