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

 
 
> грамотные констрейны для внешней асинхронной памяти, ISE, Xilinx, асинхронное ППЗУ
spooki
сообщение Feb 27 2012, 10:36
Сообщение #1


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

Группа: Участник
Сообщений: 105
Регистрация: 9-04-10
Из: Москва
Пользователь №: 56 524



Здравствуйте,

Есть Virtex 4 и внешняя асинхронная ППЗУ.
Времянка работы с ППЗУ проще не куда - выставляем адрес, через 40 нс(взято для примера ибо хочется рассмотреть общий случай) можно забирать данные.

Время доступа данных из ППЗУ Td= Taddr+Tacc+Tdata
Taddr - время прохождения сигнала по шине addr из ПЛИС в ППЗУ
Tacc - 40 нс
Tdata - время прохождения сигнала по шине data из ППЗУ в ПЛИС.

В данный момент времянка чтения/записи сделана на счетчике, т.е. клок проекта выше чем период считывания из ППЗУ, время смены адреса и прочего осуществляется по enable-ам которые определяются значением счетчика.


Как правильно описать констрейны чтобы учесть(ограничить) время Taddr и Tdata.





Можно решение в лоб.
Задать констрейн OFFSET OUT AFTER на шину add скажем 6 нс.
Задать констрейн OFFSET IN BEFORE на шину data скажем 3 нс.

Итого мы ограничим задержку Taddr+Tacc=9нс.
Таким образом, максимальное время доступа к памяти 40+9 = 49 нс.
Если допустим проект работает на 100 МГц, то времянка чтения из ППЗУ определяется 5 тактами работы = 50 нс. Но насколько это красиво?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
spooki
сообщение Feb 28 2012, 13:06
Сообщение #2


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

Группа: Участник
Сообщений: 105
Регистрация: 9-04-10
Из: Москва
Пользователь №: 56 524



Может я в вопросе чего-то намудрил?

Упростим.

Как сделать грамотные констрейны для асинхронной внешней пмяти.
Go to the top of the page
 
+Quote Post
spooki
сообщение Mar 2 2012, 13:10
Сообщение #3


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

Группа: Участник
Сообщений: 105
Регистрация: 9-04-10
Из: Москва
Пользователь №: 56 524



Что, никто, никогда не работал с асинхронной памятью?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 3 2012, 10:08
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(spooki @ Feb 28 2012, 15:06) *
Как сделать грамотные констрейны..

UG612
Figure 3-18, ”Timing Reference Diagram of OFFSET IN Constraint”
Figure 3-19, ”Timing Reference Diagram of OFFSET OUT Constraint”

Здесь всё ещё понятней расписано.

PS
А чип собсно памяти у вас какой ?
Go to the top of the page
 
+Quote Post
alexPec
сообщение Mar 10 2012, 16:55
Сообщение #5


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

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(spooki @ Feb 28 2012, 17:06) *
Как сделать грамотные констрейны для асинхронной внешней пмяти.


Господа профи! Та же беда, подскажите людям. Чего только уже не пробовал, и input delay, и output delay (делал min и max чтоб в рамки вогнать), и maximum delay, minimum delay - вобще никак. Весь извелся. Память (операция чтения) эмулирую в тестбенче так:

Код
always @ (ramadr_sig or ram_oe_sig or ram_we_sig)
begin
   if (ram_we_sig && !ram_oe_sig)  begin
  #2.5 data_out=32'bx;
  #8 data_out = mem[ramadr_sig];
end


Т.е. после смены адреса 2,5 нс старые данные держатся, потом через 8 нс появляется новое слово на выходе. Память запускаю на 80 МГц. В моделсиме свою модельку посмотрел - все как по даташиту на память. Но вот входной регистр в ПЛИС никак не защелкивает в нужное время. Все время попадает на момент смены данных.

Можно конечно сделать отдельный клок, которым защелкивать данные и подогнать его по фазе, но это ведь не правильно - проект поменялся, пути изменились и снова подгонять.

Кстати, специалисты по НИОСУ, а как в ниосе интерфейс к асинхронной памяти законстрейнен? У меня как раз ниос работает на такой же асинхронной памяти на 80 МГц - проблем нет. Посмотрел cpu0.sdc - ничего про память там не нашел. Не может быть чтоб без констрейнов такое работало. И кстати используется только 1 клок, никаких других сдвинутых по фазе нет...

В общем подскажите кто чем может...

Заранее благодарен!
Go to the top of the page
 
+Quote Post

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

 


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


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