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

 
 
 
Reply to this topicStart new topic
> Как бороться с оптимизацией
Gantz
сообщение Mar 31 2009, 07:57
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 21-01-09
Пользователь №: 43 725



Скажите, есть ли возможность зафиксировать элементы таким образом, что бы при оптимизации они остались в схеме. Задача стоит в том, что мне необходимо сделать задержку сигнала от начала исходных порядка 10нс. Если я ставлю последовательно пару инверторов, то компилятор их оптимизирует. Работаю в FPGAdv через леонардо.
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 31 2009, 08:31
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



В разных синтезаторах есть аттрибуты навроде keep, dont_touch, preserve, отвечающие за это дело. Leonardo это очень старый синтезатор, я с ним лет 5 назад последний раз дело имел, не помню, как там именно. Еще есть второй, основной вопрос - какой PAR софт используется, он тоже умеет пооптимизировать.

Если речь про альтеру (но для нее путь больно уж череззадавтогенный), то там есть примитив LCELL, не оптимизируемый, показывающий, что в этой точке должен быть выход LUT.
Go to the top of the page
 
+Quote Post
reksar
сообщение Mar 31 2009, 09:32
Сообщение #3





Группа: Участник
Сообщений: 7
Регистрация: 24-01-07
Пользователь №: 24 724



в случае с Xilinx, мне известно есть constraint - OPTIMIZE. который может принимать значения AREA, SPEED, BALANCE, OFF. в случае значения OFF как я понимаю и имеем отключение оптимизации. о его применении более подробно - в Xilinx constraints guide, стр.245(идет в комплекте с ISE, у меня версия 9.2). сам пока еще не пробовал применять.
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 31 2009, 09:47
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Gantz @ Mar 31 2009, 10:57) *
Скажите, есть ли возможность зафиксировать элементы таким образом, что бы при оптимизации они остались в схеме. Задача стоит в том, что мне необходимо сделать задержку сигнала от начала исходных порядка 10нс. Если я ставлю последовательно пару инверторов, то компилятор их оптимизирует. Работаю в FPGAdv через леонардо.

Вы, случайно не хотите таким образом 100 мегагерц получить?
Go to the top of the page
 
+Quote Post
Gantz
сообщение Mar 31 2009, 09:58
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 21-01-09
Пользователь №: 43 725



Проект упаковываю в Actel.
Reksar -> Проект оставлять полностью без оптимизации нельзя.
SM -> можно пробовать dont_touch, по описанию подходит. Не подскажете как можно передать параметр. В примере описано как:
attribute <name> of <object> : <class> is <value>,
а необходимо:
dont_touch IX;


Цитата(Methane @ Mar 31 2009, 13:47) *
Вы, случайно не хотите таким образом 100 мегагерц получить?


smile.gif. нет.
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 31 2009, 16:08
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Gantz @ Mar 31 2009, 13:58) *
Не подскажете как можно передать параметр.

Как-то примерно так, плюс-минус:

Код
wire w1 /* synthesis dont_touch = 1 */;
wire w2 /* synthesis dont_touch = 1 */;

assign w1 = !in;
assign w2 = !w1;


или как-то так

Код
  inv inv_inst (.in(in_wire), .out(out_wire)) /* synthesis dont_touch = 1 */;


сами ройте доки, я с актелем дел не имел
Go to the top of the page
 
+Quote Post
reksar
сообщение Apr 1 2009, 06:45
Сообщение #7





Группа: Участник
Сообщений: 7
Регистрация: 24-01-07
Пользователь №: 24 724



to Gantz: никто не говорит о глобальном изменении для всего проекта, слишком жирно получится, весь проект без оптимизации оставлять из-за одного-двух инверторов smile.gif . этот аттрибут может применяться к отдельным компонентам, с декларированием и указанием параметра либо в самом HDL-описании, либо в UCF. но поскольку проект в Actel...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 09:37
Рейтинг@Mail.ru


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