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

 
 
> altera sdc, set_max_delay
Putnik
сообщение Aug 4 2014, 08:19
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



есть структура проекта -
top
module_1
..
module_n


CODE
module module_n (
input a, b,
output c
);

assign c = a + b;

endmodule


для подмодуля n-го уровня module_n хочу задать констрейн set_max_delay от входов до выхода

set_max_delay -from [get_ports {top|module_1:module_1|...|module_n:module_n|a}] -to [get_ports {top|module_1:module_1|...|module_n:module_n|c}] 10ns


констрейн игнорится потому что квартус не может соотнести входы/выходы a и с с портами

- можно ли get_ports использовать для внутренних модулей?
- нету у altera что то типа current_design?


--------------------
за Навального!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Maverick
сообщение Aug 4 2014, 08:31
Сообщение #2


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Putnik @ Aug 4 2014, 11:19) *
есть структура проекта -
top

не понял, в чем вопрос?
в общем, по констрейнам здесь
обратите внимание на текст на 65 странице - это по поводу set_max_delay


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Putnik
сообщение Aug 4 2014, 08:35
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



Цитата(Maverick @ Aug 4 2014, 12:31) *
не понял, в чем вопрос?


случайно отправил недописанную тему laughing.gif


--------------------
за Навального!
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 4 2014, 08:48
Сообщение #4


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Putnik @ Aug 4 2014, 11:35) *
случайно отправил недописанную тему laughing.gif

можно вопрос, а зачем Вы используете констрейн set_max_delay???


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Putnik
сообщение Aug 4 2014, 09:29
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



Цитата(Maverick @ Aug 4 2014, 12:48) *
можно вопрос, а зачем Вы используете констрейн set_max_delay???


хочу чтобы задержка по указанному пути была меньше мною указанной


--------------------
за Навального!
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 4 2014, 10:46
Сообщение #6


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Putnik @ Aug 4 2014, 12:29) *
хочу чтобы задержка по указанному пути была меньше мною указанной

так Вы ж сами можете контролировать задержку разбивая большую комбинационную схему на маленькие подсхемы и ставя регистры вначале и в конце этих подсхем (pipeline)...
Таким образом, повышается быстродействие схемы...
Я не понимаю, как квартус может уменьшить задержку, если на этом пути стоит большая комбинационная схема?

Мое мнение, у Вас для данного клокового домена в котором находится Ваша схема должен выполняться констрейн, типа
Цитата
create_clock -period 100MHz -name clk [ get_ports clk ]


Выполняется? Таймквест, что говорит?

Или я чего-то не понимаю?


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Putnik
сообщение Aug 4 2014, 11:08
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



Цитата(Maverick @ Aug 4 2014, 14:46) *
так Вы ж сами можете контролировать задержку разбивая большую комбинационную схему на маленькие подсхемы и ставя регистры вначале и в конце этих подсхем (pipeline)...
Таким образом, повышается быстродействие схемы...
Я не понимаю, как квартус может уменьшить задержку, если стоит большая комбинационная схема?

Мое мнение, у Вас для данного клокового домена в котором находится Ваша схема должен выполняться констрейн, типа


Выполняется? Таймквест, что говорит?

Или я чего-то не понимаю?


к сожалению я не могу менять схему, не мой блок, и вся логика которую я обозначил как c = a + b, должна выполняться за один такт.

при синтезе в synopsys для асика set_max_delay помогал добиться уменьшения задержки, соответственно раз у альтеры есть такой же констрейн, он, наверно, также работает


--------------------
за Навального!
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 4 2014, 12:01
Сообщение #8


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Putnik @ Aug 4 2014, 14:51) *
на каждом такте работает
таймквест говорит про отрицательные слаки в этом месте

тогда
Цитата(Putnik @ Aug 4 2014, 14:08) *
к сожалению я не могу менять схему, не мой блок, и вся логика которую я обозначил как c = a + b, должна выполняться за один такт.

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


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Putnik
сообщение Aug 4 2014, 12:12
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



Цитата(Maverick @ Aug 4 2014, 16:01) *
тогда

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


вы думаете оптимизировать квартус по set_max_delay ничего не будет, или будет но несильно?

пока что хочется хотя бы чтоб констрейн перестал игнориться:
Ignored set_max_delay .....: Argument <from> is an empty collection
Argument <to> is an empty collection

Ignored filter at ....: top|module_1:module_1|...|module_n:module_n|a could not be matched with a port


--------------------
за Навального!
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 4 2014, 13:31
Сообщение #10


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Putnik @ Aug 4 2014, 15:12) *
вы думаете оптимизировать квартус по set_max_delay ничего не будет, или будет но несильно?

пока что хочется хотя бы чтоб констрейн перестал игнориться:
Ignored set_max_delay .....: Argument <from> is an empty collection
Argument <to> is an empty collection

Ignored filter at ....: top|module_1:module_1|...|module_n:module_n|a could not be matched with a port

посмотрите плиз ссылку в сообщении 2


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th June 2025 - 16:10
Рейтинг@Mail.ru


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