ViKo 1 25 декабря, 2017 Опубликовано 25 декабря, 2017 · Жалоба Конкретно, 2 желания. 1. От входной площадки тянется связь в недра ПЛИС. Можно ли дать указание сделать эту связь минимальной? 2. Внутри ПЛИС есть некоторый набор элементов (lcell, соединенных в последовательную цепь). Как задать разместить этот набор компактно? Чтобы цепи между ними были короткими. Здесь даже не длина важна, а постоянство вне зависимости от компиляции, хотя бы приблизительное, времени прохождения сигнала по этой цепи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Realking 0 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба Конкретно, 2 желания. 1. От входной площадки тянется связь в недра ПЛИС. Можно ли дать указание сделать эту связь минимальной? 2. Внутри ПЛИС есть некоторый набор элементов (lcell, соединенных в последовательную цепь). Как задать разместить этот набор компактно? Чтобы цепи между ними были короткими. Здесь даже не длина важна, а постоянство вне зависимости от компиляции, хотя бы приблизительное, времени прохождения сигнала по этой цепи. в файле .qsf set_location_assignment Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба в файле .qsf set_location_assignment Это значит жестко задать расположение. Я не уверен, что знаю, как задать оптимально. Хочу отдать это компьютеру. Помнится, в MaxPlus+ II были некие "клики". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Realking 0 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба Это значит жестко задать расположение. Я не уверен, что знаю, как задать оптимально. Хочу отдать это компьютеру. Помнится, в MaxPlus+ II были некие "клики". тогда можно попробовать LogicLock Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба тогда можно попробовать LogicLock Тогда он будет размещать элементы только в заданной области, но как захочет. Тут скорее подойдет какое-нибудь временное ограничение (типа set_min_delay, но лично у меня были какие-то проблемы с его использованием) ну или гвоздями прибивать, как Вы уже советовали. 1. От входной площадки тянется связь в недра ПЛИС. Можно ли дать указание сделать эту связь минимальной? fast input register, если Вас устроит. to ViKo асинхронщиной решили заняться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Realking 0 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба Тогда он будет размещать элементы только в заданной области, но как захочет. Тут скорее подойдет какое-нибудь временное ограничение ну или гвоздями прибивать, как Вы уже советовали. Ну он и пишет, что хочет а постоянство вне зависимости от компиляции, хотя бы приблизительное, времени прохождения сигнала по этой цепи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба fast input register, если Вас устроит. to ViKo асинхронщиной решили заняться? Не устроит. Сигнал асинхронный с тактовыми. Я-я, натюрлих! Борюсь со звоном на фронтах сигнала с компаратора, из-за чего триггер срабатывает по обоим фронтам сигнала. Гистерезис в компараторе помогает, конечно. Но не на 100%. А большой делать - значит, чувствительность ухудшать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 26 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба Конкретно, 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба lcell никогда не выкидываются, атрибут не нужен. Насколько я имел опыта. А насчет set_min_delay сложилось мнение, что это для внешних сигналов. Возможно, ошибаюсь. Будем смотреть. Однако, задашь слишком мало - не уложится. Задашь много - ничего делать не будет. :rolleyes: Как сказать Квартусу - сделай как можно меньше? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 26 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба Как сказать Квартусу - сделай как можно меньше? Можно, для начала, задать заведомо невыполнимое значение задержки, напр., 0.01 ns и посмотреть отчет STA.. ;) Ну или читать DS на конкретное семейство FPGA и задавать минимально гарантированную задержку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TRILLER 0 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба В связке симплифай/вивада развлекался с точками компиляции. Разбиваешь проект на куски по необходимой плотности и задаёшь разные стратегии для маппера(фиттера). Проект и без этого водился, но с точками компиляции была просто песня! Посмотрите, может и в квартусе такое можно провернуть(я, слава богу, с альтерой к этому даже близко не подобрался :) ) Правда, тут надо потратить время, чтоб аккуратно всё сделать. А в реализованном уже проекте это кажется вдвойне проблематичным. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба 2. Внутри ПЛИС есть некоторый набор элементов (lcell, соединенных в последовательную цепь). Как задать разместить этот набор компактно? Чтобы цепи между ними были короткими. Здесь даже не длина важна, а постоянство вне зависимости от компиляции, хотя бы приблизительное, времени прохождения сигнала по этой цепи. У Xilinx есть (были?) т.н. Relatively Placed Macro. Может altera тоже изобрела что-то подобное? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба В Quartus есть Partition compilation, но я никогда не делал, не знаю, как подступиться. И мне думается, это слишком сложный путь для такой задачи. Тут бы атрибутик какой задать (group). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба Конкретно, 2 желания. 1. От входной площадки тянется связь в недра ПЛИС. Можно ли дать указание сделать эту связь минимальной? 2. Внутри ПЛИС есть некоторый набор элементов (lcell, соединенных в последовательную цепь). Как задать разместить этот набор компактно? Чтобы цепи между ними были короткими. Здесь даже не длина важна, а постоянство вне зависимости от компиляции, хотя бы приблизительное, времени прохождения сигнала по этой цепи. А думаю я так. Взять только этот кусочек, скомпилить, расположить. Потом вручную переставить элементы и в списке связей найти, как называются их места расположения. И уже это в виде аттрибутов добавить в проект... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба Взять только этот кусочек, скомпилить, расположить. Потом вручную переставить элементы и в списке связей найти, как называются их места расположения. И уже это в виде атрибутов добавить в проект... Что-то такое?: https://alteraforum.com/forum/showthread.php?t=43255 Лучше оставлю, как есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться