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

 
 
 
Reply to this topicStart new topic
> Xilinx GTP Transciever IP Core, как его использовать?
count_enable
сообщение Apr 27 2013, 20:00
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



Только начал работать по-серьезному с плис, первый раз работаю с IP Core generator. Хочу сделать симметричный приемопередатчик на Spartan 6, чтобы передавать данные между двумя FPGA.
Сгенерированный проект выглядит так:


В даташите сказано что генерируется к этому еще и тестбенч. Где же он? В топ-модуле есть дженерики EXAMPLE_USE_CHIPSCOPE и EXAMPLE_SIMULATION, но даже установленные в 1 в ISIMе не дают никакого эффекта. Что я должен увидеть?
Как я понял, s6_gtpwizard_v1_11 и есть главный враппер корки, с сигналами к которым я должен подключать свой дизайн.

Простите за нубские вопросы, но больше спросить некого. Есть куча материала по VHDL/Verilog, но по использованию софта и готовых IP-cores ничего другого кроме Xilinxовых пдфок нету. А они не очень понятны, увы.
Go to the top of the page
 
+Quote Post
avesat
сообщение Apr 29 2013, 06:09
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 14-08-05
Из: Украина
Пользователь №: 7 621



Начните с AURORA
http://www.xilinx.com/products/design_reso...ping/aurora.htm
Там есть и примеры, и тестбенч и хорошая документация. Потом если есть желание можно написать что-то свое.


--------------------
"Мы будем играть, пока не треснут наши гитары, и все те, кто любит рок - я отдаю вам честь!" AC/DC
Go to the top of the page
 
+Quote Post
count_enable
сообщение Apr 29 2013, 10:50
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



К сожалению протокол уже выбран и не мне его менять. Пока что я не могу даже найти тестбенч для голого GTP Transciever Core, хотя в даташите сказано, что сгенерируется.
Go to the top of the page
 
+Quote Post
akorud
сообщение Apr 30 2013, 21:21
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842



Цитата(count_enable @ Apr 29 2013, 12:50) *
К сожалению протокол уже выбран и не мне его менять. Пока что я не могу даже найти тестбенч для голого GTP Transciever Core, хотя в даташите сказано, что сгенерируется.

Поищите в каталоге с сгенерированным IP Core. В той же Aurora он там лежит, просто лежит sm.gif
Go to the top of the page
 
+Quote Post
count_enable
сообщение May 9 2013, 14:43
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



Cпасибо, тестбенч нашелся в s6_gtpwizard_v_1_11\simulation.
Но проблема в другом. В тестбенче есть простой генератор строк для передатчика и компаратор строк для приемника. И переданные данные не сходятся с принятыми вообще никак. Я и менял порядок битов (большой и маленький эндиан), и так, и сяк - в оригинальном тестбенче не сходятся данные и все.
Передаются верно только K-chars "F7". Если передавать сами нули, приходит "2b2b2b2b" для 32-битного слова. Как это расшифровать? В документации ничего не сказано, написано только о порядке передачи байт.
Go to the top of the page
 
+Quote Post
count_enable
сообщение May 15 2013, 15:04
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



Всем привет, это снова я.
Разобрался с симуляцией (неправильные Commas вставлял), не могу загнать в железо. На плате каждый из трансиверов (xc6SLX150T FG484) подключен к sata-коннектору, плата заведомо рабочая т.к. старый код, использующий трансиверы работает.
Соединил 2 трансивера sata-кабелем. Теоретически свободный канал должен гонять запятые. ФАПЧ лочится, проверил выводя PLLLOCK на светодиод.
Ничего не принимаю (и не знаю передаю ли). Как можно проверить сам выход трансивера? Рабочая частота 2.5 Гбпс, под рукой только осциллоскоп на 300 МГц и лог.анализатор на 500.

Немного смущает, что хотя последовательные данные выведены на TXN_OUT и TXP_OUT, в .ucf, сгенерированным IP coregenom нет констрейнов для них.

Что я делаяю не так?
Go to the top of the page
 
+Quote Post
akorud
сообщение May 16 2013, 10:09
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842



Цитата(count_enable @ May 15 2013, 17:04) *
Немного смущает, что хотя последовательные данные выведены на TXN_OUT и TXP_OUT, в .ucf, сгенерированным IP coregenom нет констрейнов для них.

В ucf должен быть LOC на сам трансивер, а пины к нему жестко привязаны и изменить нельзя. Можно запустить PlanAhead и посмотреть какой трансивер в итоге используется.
Go to the top of the page
 
+Quote Post
count_enable
сообщение May 16 2013, 13:35
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



Спасибо, с констрейнами разобрался.

Вылез странный косяк с резетом. В дизайне резет при 1 (active high), a на борде резет при 0 (кнопка замыкает на землю). Добавил инвертер перед топ-модулем и начались косяки.
В симуляции не стартует важный сигнал tile0_tx_resetdone, который генерируется трансивером и идет в 1, когда трансивер готов.
Посмотрите на 2 симуляции:

reset_i - это входящий сигнал.
tile0_gtpreset0_in, tile1_gtpreset0_in - это резеты подключенные к трансиверу (который генерирует резеты для остальных).
В первой симуляции, где резет неинвертирован все работает как часы. После 500 нс tile0_tx_resetdone идет в 1 и начинается нормальная передача.

Во втором случае во-первых делается какая-то фигня сначала (после 1 такта сигналы идут в 0) и даже после захвата ФАПЧ tile0_tx_resetdone остается низким - трансивер не стартовал. Но резеты к трансиверу же одинаковы и там, и там!
Проверил, reset_i больше нигде не подключен - только к инвертеру. После загрузки трансивер не стартует.
Плюнул, загрузил с резетом при 1, держа кнопку прижатой - все равно не помогает.

ФАПЧ лочится нормально, т.к. она с резетом не связана.
Go to the top of the page
 
+Quote Post

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

 


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


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