Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: соединение IBUFDS и IFDDRRSE
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
zcost
Может кто сталкивался с такой проблеммой?
ISE9.1 проект на Spartan-3
При попытке последовательно соеденить IBUFDS и IFDDRRSE транслятор выдет ошибку:

ERROR:NgdBuild:770 - IBUFDS 'lvdsibuf 'and IBUF 'IBUF1' on net
'lout' are lined up in series. Buffers of the same direction cannot be
placed in series.

Причем синтез проходит, затыкается на трансляции
Что это глюк ISE?

lvdsibuf : ibufds
port map(i => in_p, iB => in_n, o => lout );
fd_ioc : IFDDRRSE
port map (c0 => clk, c1 => clknot, d => lout, ce => '1', r => '0', s => '0', q0 => out1, q1 => out2);
yuri_d
Цитата(zcost @ Sep 5 2007, 19:49) *
Может кто сталкивался с такой проблеммой?
ISE9.1 проект на Spartan-3
При попытке последовательно соеденить IBUFDS и IFDDRRSE транслятор выдет ошибку:

ERROR:NgdBuild:770 - IBUFDS 'lvdsibuf 'and IBUF 'IBUF1' on net
'lout' are lined up in series. Buffers of the same direction cannot be
placed in series.

Причем синтез проходит, затыкается на трансляции
Что это глюк ISE?

Синтезу все равно: он воспринимает библиотечные элементы как black box и никакой оптимизацией не занимается. Иногда это даже полезно.

А у Вас получилось "масло масляное". Читаем Libraries Giude:
IFDDRRSE is a dual data rate (DDR) input D flip-flop with synchronous reset ®,
synchronous set (S), and clock enable (CE). It consists of one input buffer and two
identical flip-flops (FDRSE).

Тоесть Вы пытаетесь поставить подряд два входных буфера, что и видно в сообщении об ошибке.

Используйте просто два FDRSE и разрешите упаковку триггеров в входные блоки. Должно получиться (хотя проверить в FPGA Editor-е разок стоит).
zcost
Для Spartana-3E есть примитив IDDR2, который без вопросов прицепляется к ibufds, непонятно почему
нет аналогичного для Spartan-3, хотя в БВВ ддр регистр присутствует. И еще непонятно, почему синтезатор в RTL-схематике цепляет вся как надо, а транслятор выдает ошибку.
BSV
Как раз понятно почему - не его это обязанность, он только формирует нетлист из примитивов, которые Вы включили в схему или код описания (или он сам синтезировал). А упаковкой как раз занимается транслятор и тут же обнаруживает, что два входных буфера идут подряд.
zcost
Цитата(yuri_d @ Sep 5 2007, 21:56) *
Синтезу все равно: он воспринимает библиотечные элементы как black box и никакой оптимизацией не занимается. Иногда это даже полезно.

А у Вас получилось "масло масляное". Читаем Libraries Giude:
IFDDRRSE is a dual data rate (DDR) input D flip-flop with synchronous reset ®,
synchronous set (S), and clock enable (CE). It consists of one input buffer and two
identical flip-flops (FDRSE).

Тоесть Вы пытаетесь поставить подряд два входных буфера, что и видно в сообщении об ошибке.

Используйте просто два FDRSE и разрешите упаковку триггеров в входные блоки. Должно получиться (хотя проверить в FPGA Editor-е разок стоит).


Если использую два FDRSE, то не получается упаковка в DDR. Может какие атрибуты использовать, чтобы запихать два FDRSE в один БВВ.
BSV
Нужно один FDDRRSE!!!
Есть такое забавное чтиво, Libraries Guide называется, там можно подробно про все примитивы и макросы поглядеть, кстати является обязательным и совершенно бесплатным, но почему-то не всеми любимым приложением к ISE и WebPack.
zcost
Цитата(BSV @ Sep 6 2007, 15:06) *
Нужно один FDDRRSE!!!
Есть такое забавное чтиво, Libraries Guide называется, там можно подробно про все примитивы и макросы поглядеть, кстати является обязательным и совершенно бесплатным, но почему-то не всеми любимым приложением к ISE и WebPack.


Спасибо за подсказку, действительно есть такой библиотечный элемент. Только почему его нет в тамплейтах в примитивах. Правда остается непонятным вопрос, почему в Spartane-3E IBUFDS свободно прицепляется к IDDR2?
BSV
Дико извиняюсь, но кажется мой совет Вам не пригодится, так как он неверен - у элемента, который я предложил только один выход Q (в то время как у IFDDRRSE - два). Похоже он используется в выходной части блока ввода-вывода и Вам ни в коей мере не подойдет, в чем Вы вероятно скоро и убедитесь.
А делать нужно как описано в XAPP491. Файлик оттуда я прилагаю. Кажется подобный вопрос здесь уже обсуждался.
zcost
Цитата(BSV @ Sep 6 2007, 22:21) *
Дико извиняюсь, но кажется мой совет Вам не пригодится, так как он неверен - у элемента, который я предложил только один выход Q (в то время как у IFDDRRSE - два). Похоже он используется в выходной части блока ввода-вывода и Вам ни в коей мере не подойдет, в чем Вы вероятно скоро и убедитесь.
А делать нужно как описано в XAPP491. Файлик оттуда я прилагаю. Кажется подобный вопрос здесь уже обсуждался.


Благодарю, не понял как, но 2 fd разместились в одном БВВ.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.