Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Xilinx: Endpoint Pipe for PCI-E пример использования
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
ohm
Уважаемые знатоки, есть плата со Spartan3 и микросхема физического уроеня PX1011 , как раз под который есть IP Core Xilinx Endpoint Pipe for PCI-E. Core Generator создаёт этот IP, а как его использовать? Может есть у кого кусочек кода примерного, хотя бы чтобы запустить это в железе и протолкнуть 1 байт по шине в обе стороны? Или ткните пожалуйста где об этом можно прочитать? Заранее большое спасибо.
Kuzmi4
2 ohm - мучаю Endpoint хардварный, так после генерации корки кореген создаёт папку в которой есть тестбенч + тестовый дизайн, по которым можно нормально ориентироваться... Думаю что с Endpoint Pipe так же laughing.gif
DmitryR
Вообще-то PCIe без процессора запускать довольно грустно бывает, поэтому проще всего его начинать мучать в EDK, присоединив к Microblaze. Если же хочется разобраться на низком уровне - то можно для начала присоединить к выходам блока ChipScope, на вход подать что-нибудь, лишь бы не покоцалась логика, со стороны PCIe давать транзакции с помощью PCIScope и смотреть на ChipScope, к чему это приводит.
disel
Правильно Кузьмич говорит, нормальный тестбенч там, все понятно и легко правиться. Особых сложностей с моделированием нет. В юзер гуарде тестбенч тоже описан. Чтобы моделировать PX1011 нужно скачать с NXP модель. Я уже скаченную где то выкладывал.
ohm
Спасибо за ответы! biggrin.gif начинаю читать все эти доки, попробую разобраться.
ohm
Люди добрые, почитал я документы эти, но к сожалению не понял вообще с какой стороны подойти к ядру, там же ведь не написано что делать-то нужно, а даётся справочная информация(структуры, пакеты, заголовки). У меня в ПЛИС не очень большой опыт, а делать эту вещь сейчас приходится, а я вообще больших проектов на ПЛИС не делал, и самое главное никакие IP ядра не подключал, может мне санчала надо что-то общее почитать, как увязывать любой IP со своей логикой?
Буду признателен, если кто-нибудь даст и более менее конкретный совет по данному ядру:
на какие ножки сигналы подключать и как дописать свою подпрограмму, чтобы работать с ядром хотябы элементарно протолкнуть одно слово через шину PCI-E??
СПАСИБО!!!
Kuzmi4
2 ohm - в обсче то именно там как раз и написано что делать-то нужно..
На счёт
Цитата
на какие ножки сигналы подключать и как дописать свою подпрограмму

1) свой модуль подключать на сигналы от Local Link интерфейса эндпойнта (в основном TX и RX части, CFG - ассигнами можно в 1-м приближении) - это если охота работать без процессора.
2) подпрограмм на HDL не бывает. Или же вам нужно выцепить где то враппер на плб шину для этой корки у хилых, тогда можно будет к этому экспресу прозрачно(я так думаю) через ихние процюки достучаться - там Си и есть подпрограммы.

Вы есчё наверно PCI Express™ Base Specification не читали laughing.gif

На счёт ПК части - тут не подскажу..
DmitryR
Цитата(Kuzmi4 @ Sep 7 2009, 21:20) *
1) свой модуль подключать на сигналы от Local Link интерфейса эндпойнта
Эк вы, уважаемый, глумитесь не по-детски! Человек же говорит, что у него опыта мало.

По теме: перечитайте мое сообщение в теме недельной давности. Раз у вас мало опыта - вариант с ChipScope отбросьте, и почитайте еще xapp1030. У вас правда блок будет программный, а не аппаратный, но это с точки зрения процессора все равно.
Kuzmi4
2 DmitryR - ладно.... ну а как тогда по другому объяснить то ??
DmitryR
Объяснить, что не надо никакого своего модуля smile.gif Явно человек без опыта не сможет на LocalLink присобачить что-что свое. Для начала надо идти стандартными путями: Microblaze и все тут. Потом, когда с классикой станет ясно - появится место для самодеятельности. Но я бы (хоть я и не начинающий) вообще не стал бы пытаться делать PCI Express без процессора - конечный автомат такой реализации может получиться размером больше, чем Microblaze smile.gif
disel
Без опыта нужно прочитать юзер гуард на этот блок несколько раз и стандарт. Там все хорошо описано, в том числе тестбенч есть. Запускаешь, моделируешь, смотришь сигналы, изучаешь. А дальше можно тестбенч дописывать, схему модифицировать. Также есть харр со всеми исходниками на бас мастер. И конечный автомат там совсем не такой страшный. И не надо микроблез без дела изучать. При больших скоростях от него вреда все равно будет больше чем пользы.
DmitryR
Цитата(disel @ Sep 8 2009, 12:12) *
А дальше можно тестбенч дописывать, схему модифицировать.
Внимание, топикстартер пишет, чтоу него _вообще_в_ПЛИС_ опыта мало. А модифицировать чье-то - это обычно даже сложнее, чем писать свое.

Цитата(disel @ Sep 8 2009, 12:12) *
И не надо микроблез без дела изучать.
А его как раз не надо изучать IMHO. На нем систему собрали и она заработала, дальше программирование на C.

Цитата(disel @ Sep 8 2009, 12:12) *
При больших скоростях от него вреда все равно будет больше чем пользы.
Это спорное утверждение, однако я не предлагаю использовать его для работы на больших скоростях. Я утверждаю, что он является хорошим конструктором для освоения корок.
disel
Цитата(DmitryR @ Sep 8 2009, 12:53) *
Внимание, топикстартер пишет, чтоу него _вообще_в_ПЛИС_ опыта мало. А модифицировать чье-то - это обычно даже сложнее, чем писать свое.

Читал, разработка PCIE вообще не то, с чего надо начинать не имея опыта. А по поводу сложностей модификации, хорошо написанный код и править хорошо smile.gif В примерах ксалинкса все хорошо читается.

Цитата(DmitryR @ Sep 8 2009, 12:53) *
А его как раз не надо изучать IMHO. На нем систему собрали и она заработала, дальше программирование на C.

То же самое могу сказать про отсутствие микроблейза. Взял готовый пример - и он работает. Добавить-убавить регистр - несколько строк кода.

Цитата(DmitryR @ Sep 8 2009, 12:53) *
Это спорное утверждение, однако я не предлагаю использовать его для работы на больших скоростях. Я утверждаю, что он является хорошим конструктором для освоения корок.

Для больших скоростей данные микроблезу нужно через какой нибудь локаллинк подавать. Ничуть не проще чем совсем без микроблейза. Хотя наверное от данных и их характера зависит, где то навреное с микроблезом будет проще.

На самом деле, все это путая трата времени, по причине того что никто не знает чего нужно автору темы: разработать устройство по имеющемуся ТЗ или же просто набраться опыта в какой-то области.
ohm
Нет ТЗ никакого нет, скорее набраться опыта, поскольку это частично касается должностных обязанностей на работе, то в будщем может сыграть судьбоносную роль карьерного роста smile.gif
Думаю что процессор микроблейз сейчас мне рано.
Скажите пожалуйста,( чтобы начать с самого простого по освоению корки в железе ) самый простой тестбенч - это Appendix C Downstram port Model Test Bench?
Надо в проект подключать файл pci_exp_1_lane_64b_dsport.v ?
Kuzmi4
2 ohm - вам уже disel вроде писал , что если опыта вообсче нет , то лучше с чего нибудь другого начать разбираться - I2C,SPI ну и так далее.. На счёт подключения корки к микроблейзу - всё же поисчите враппер на ПЛБ-шную шину (ну вот хотя бы здесь можно посмотреть, если глобально - то здесь ) - если работали с камнями какими нибудь до этого - оно гораздо проще будет в понимании..

pci_exp_1_lane_64b_dsport.v - это для симуляции - с ним разбираться - есчё тот разрыв мозгов smile3009.gif (посмотрел враппер - он на VHDL - а вы вроде на верилоге пишите я так понял - значит вас есчё впереди ждут приключения смешанной симуляции smile.gif)
ohm
С шинами SPI и I2C я работал в микроконтроллрерах, реалзиовавывал подпрограммы-драйверы этих шин, с камнями со многими работал, в МК опыт достаточно большой, не то что в ПЛИС пока-что.
Лучше VHDL для меня, его хоть знаю.
Спасибо всем за овтеты.
disel
В юзер гуарде есть раздел Simulating the Design (стр 111). Там написано как запустить симуляцию, как при симуляции выбрать тест, и описаны самы тесты.

pci_exp_1_lane_64b_dsport.v будет при этом подключен автоматически, он упоминается в скрипте simulate_mti.do (для моделсима). Это модель апстрим порта.
DmitryR
Цитата(Kuzmi4 @ Sep 8 2009, 14:10) *
На счёт подключения корки к микроблейзу - всё же поисчите враппер на ПЛБ-шную шину
Эта корка называется LocalLink FIFO и есть в EDK.
Sujan
Кстати у AVNet (www.em.avnet.com) есть devkit под грозным названием Xilinx® Virtex®-4 FX PCI Express Development Kit.
Готов поспорить что к нему идут рабочие примеры, которые можно скачать с Design Resource Center после регистрации. Во всяком случае я оттуда много примеров надёргал.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.