|
|
  |
соединение IBUFDS и IFDDRRSE, транслятор выдает ошибку. |
|
|
|
Sep 5 2007, 15:49
|
Участник

Группа: Новичок
Сообщений: 19
Регистрация: 12-04-07
Пользователь №: 26 979

|
Может кто сталкивался с такой проблеммой? 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);
Сообщение отредактировал zcost - Sep 5 2007, 15:56
|
|
|
|
|
Sep 5 2007, 18:56
|
Местный
  
Группа: Свой
Сообщений: 292
Регистрация: 28-01-05
Из: МО, Мытищи
Пользователь №: 2 274

|
Цитата(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-е разок стоит).
|
|
|
|
|
Sep 6 2007, 04:38
|
Участник

Группа: Новичок
Сообщений: 19
Регистрация: 12-04-07
Пользователь №: 26 979

|
Для Spartana-3E есть примитив IDDR2, который без вопросов прицепляется к ibufds, непонятно почему нет аналогичного для Spartan-3, хотя в БВВ ддр регистр присутствует. И еще непонятно, почему синтезатор в RTL-схематике цепляет вся как надо, а транслятор выдает ошибку.
|
|
|
|
|
Sep 6 2007, 06:49
|
Участник

Группа: Новичок
Сообщений: 19
Регистрация: 12-04-07
Пользователь №: 26 979

|
Цитата(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 в один БВВ.
|
|
|
|
|
Sep 6 2007, 15:17
|
Участник

Группа: Новичок
Сообщений: 19
Регистрация: 12-04-07
Пользователь №: 26 979

|
Цитата(BSV @ Sep 6 2007, 15:06)  Нужно один FDDRRSE!!! Есть такое забавное чтиво, Libraries Guide называется, там можно подробно про все примитивы и макросы поглядеть, кстати является обязательным и совершенно бесплатным, но почему-то не всеми любимым приложением к ISE и WebPack. Спасибо за подсказку, действительно есть такой библиотечный элемент. Только почему его нет в тамплейтах в примитивах. Правда остается непонятным вопрос, почему в Spartane-3E IBUFDS свободно прицепляется к IDDR2?
|
|
|
|
|
Sep 6 2007, 19:21
|

Знающий
   
Группа: Свой
Сообщений: 541
Регистрация: 11-04-05
Из: Москва
Пользователь №: 4 045

|
Дико извиняюсь, но кажется мой совет Вам не пригодится, так как он неверен - у элемента, который я предложил только один выход Q (в то время как у IFDDRRSE - два). Похоже он используется в выходной части блока ввода-вывода и Вам ни в коей мере не подойдет, в чем Вы вероятно скоро и убедитесь. А делать нужно как описано в XAPP491. Файлик оттуда я прилагаю. Кажется подобный вопрос здесь уже обсуждался.
--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
|
|
|
|
|
Sep 7 2007, 04:37
|
Участник

Группа: Новичок
Сообщений: 19
Регистрация: 12-04-07
Пользователь №: 26 979

|
Цитата(BSV @ Sep 6 2007, 22:21)  Дико извиняюсь, но кажется мой совет Вам не пригодится, так как он неверен - у элемента, который я предложил только один выход Q (в то время как у IFDDRRSE - два). Похоже он используется в выходной части блока ввода-вывода и Вам ни в коей мере не подойдет, в чем Вы вероятно скоро и убедитесь. А делать нужно как описано в XAPP491. Файлик оттуда я прилагаю. Кажется подобный вопрос здесь уже обсуждался. Благодарю, не понял как, но 2 fd разместились в одном БВВ.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|