реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Как заставить Quartus сделать то, что я хочу?
ViKo
сообщение Dec 25 2017, 19:23
Сообщение #1


Универсальный солдатик
******

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



Конкретно, 2 желания.
1. От входной площадки тянется связь в недра ПЛИС. Можно ли дать указание сделать эту связь минимальной?
2. Внутри ПЛИС есть некоторый набор элементов (lcell, соединенных в последовательную цепь). Как задать разместить этот набор компактно? Чтобы цепи между ними были короткими. Здесь даже не длина важна, а постоянство вне зависимости от компиляции, хотя бы приблизительное, времени прохождения сигнала по этой цепи.
Go to the top of the page
 
+Quote Post
Realking
сообщение Dec 26 2017, 05:46
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



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


в файле .qsf

set_location_assignment



--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 26 2017, 06:38
Сообщение #3


Универсальный солдатик
******

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



Цитата(Realking @ Dec 26 2017, 08:46) *
в файле .qsf
set_location_assignment

Это значит жестко задать расположение. Я не уверен, что знаю, как задать оптимально. Хочу отдать это компьютеру.
Помнится, в MaxPlus+ II были некие "клики".
Go to the top of the page
 
+Quote Post
Realking
сообщение Dec 26 2017, 06:50
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(ViKo @ Dec 26 2017, 09:38) *
Это значит жестко задать расположение. Я не уверен, что знаю, как задать оптимально. Хочу отдать это компьютеру.
Помнится, в MaxPlus+ II были некие "клики".


тогда можно попробовать LogicLock



--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Dec 26 2017, 07:06
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Realking @ Dec 26 2017, 09:50) *
тогда можно попробовать LogicLock

Тогда он будет размещать элементы только в заданной области, но как захочет.
Тут скорее подойдет какое-нибудь временное ограничение (типа set_min_delay, но лично у меня были какие-то проблемы с его использованием) ну или гвоздями прибивать, как Вы уже советовали.
Цитата
1. От входной площадки тянется связь в недра ПЛИС. Можно ли дать указание сделать эту связь минимальной?

fast input register, если Вас устроит.
to ViKo асинхронщиной решили заняться?
Go to the top of the page
 
+Quote Post
Realking
сообщение Dec 26 2017, 07:08
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



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


Ну он и пишет, что хочет

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


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 26 2017, 07:26
Сообщение #7


Универсальный солдатик
******

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



Цитата(bogaev_roman @ Dec 26 2017, 10:06) *
fast input register, если Вас устроит.
to ViKo асинхронщиной решили заняться?

Не устроит. Сигнал асинхронный с тактовыми.
Я-я, натюрлих!
Борюсь со звоном на фронтах сигнала с компаратора, из-за чего триггер срабатывает по обоим фронтам сигнала.
Гистерезис в компараторе помогает, конечно. Но не на 100%. А большой делать - значит, чувствительность ухудшать.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Dec 26 2017, 07:55
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 26 2017, 08:12
Сообщение #9


Универсальный солдатик
******

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



lcell никогда не выкидываются, атрибут не нужен. Насколько я имел опыта.
А насчет set_min_delay сложилось мнение, что это для внешних сигналов. Возможно, ошибаюсь. Будем смотреть. Однако, задашь слишком мало - не уложится. Задашь много - ничего делать не будет. rolleyes.gif Как сказать Квартусу - сделай как можно меньше?
Go to the top of the page
 
+Quote Post
blackfin
сообщение Dec 26 2017, 08:20
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(ViKo @ Dec 26 2017, 11:12) *
Как сказать Квартусу - сделай как можно меньше?

Можно, для начала, задать заведомо невыполнимое значение задержки, напр., 0.01 ns и посмотреть отчет STA.. wink.gif

Ну или читать DS на конкретное семейство FPGA и задавать минимально гарантированную задержку.
Go to the top of the page
 
+Quote Post
TRILLER
сообщение Dec 26 2017, 10:55
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 180
Регистрация: 17-02-09
Из: Санкт-Петербург
Пользователь №: 45 001



В связке симплифай/вивада развлекался с точками компиляции. Разбиваешь проект на куски по необходимой плотности и задаёшь разные стратегии для маппера(фиттера). Проект и без этого водился, но с точками компиляции была просто песня! Посмотрите, может и в квартусе такое можно провернуть(я, слава богу, с альтерой к этому даже близко не подобрался sm.gif )
Правда, тут надо потратить время, чтоб аккуратно всё сделать. А в реализованном уже проекте это кажется вдвойне проблематичным.
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Dec 26 2017, 11:22
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(ViKo @ Dec 25 2017, 22:23) *
2. Внутри ПЛИС есть некоторый набор элементов (lcell, соединенных в последовательную цепь). Как задать разместить этот набор компактно? Чтобы цепи между ними были короткими. Здесь даже не длина важна, а постоянство вне зависимости от компиляции, хотя бы приблизительное, времени прохождения сигнала по этой цепи.


У Xilinx есть (были?) т.н. Relatively Placed Macro. Может altera тоже изобрела что-то подобное?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 26 2017, 12:28
Сообщение #13


Универсальный солдатик
******

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



В Quartus есть Partition compilation, но я никогда не делал, не знаю, как подступиться. И мне думается, это слишком сложный путь для такой задачи.
Тут бы атрибутик какой задать (group).
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 26 2017, 12:37
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



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

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


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 26 2017, 13:11
Сообщение #15


Универсальный солдатик
******

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



Цитата(iosifk @ Dec 26 2017, 15:37) *
Взять только этот кусочек, скомпилить, расположить. Потом вручную переставить элементы и в списке связей найти, как называются их места расположения. И уже это в виде атрибутов добавить в проект...

Что-то такое?:
https://alteraforum.com/forum/showthread.php?t=43255

Лучше оставлю, как есть.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 1st July 2025 - 13:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01503 секунд с 7
ELECTRONIX ©2004-2016