Перейти к содержанию
    

Запуск PCIE HARD IP Core, поделитесь опытом.

Имею плату бу с Altera, разведен pcie. Назначение пинов не имею, вызвонил абсолютно все контакты с разъема тестером. Даже проверил нужные сопротивления в цепи.

 

Что делаю.

1) Скачиваю у альтеры вот это проект http://www.alterawiki.com/wiki/Reference_D..._(without_Qsys) . Специально выбрал without Qsys, так как в нем ничего не понимаю.

2) Переназначаю пины:

- светодиоды (L0, alive, comp, gen2, lane_active_led[0])

- больше диодов у меня нет, так что на остальные ставлю тип Virtual Pin

- переназначаю reflck. Он у меня заведен не как у Альтеры на refclk0, а на refclk1

- назначение линий принимающих и передающих у меня совпадает

3)Прошиваю флешку с помощью pof (jtag у меня не пашет, закорочен tck)

4)С помощью wdreg ставлю demo драйвер

5) Вставляю карту, включаю

 

Когда включаю, все диоды горят, как только начинается старт Windows, диоды кроме alive и lane_active гаснут. Если например зайти в BIOS, то диоды тоже горят все.

В Windows опрашиваю шину pcie, естественно карты не видно.

 

Форумчане, поделитесь опытом, может что то пропустил? Или как хоть начать отлаживать?

Я создал лог на базе гигабитного rj-45, могу сохранять и передавать состояние сигналов. На какие может обратить внимание?

 

Заранее спасибо.

 

Небольшая поправка. Решил поэкспериментировать.

Зашел в BIOS и решил подождать. Спустя 1-2 минуты диоды тоже погасли кроме выше оговоренных.

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Форумчане, поделитесь опытом, может что то пропустил? Или как хоть начать отлаживать?

Честно говоря, я бы начинал с полностью своего простого проекта. Не приемлю практику копания в чужих заготовках.

 

А что за плата? Есть схема? Может готовый проект совершенно не ложится на эту плату.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что за плата? Есть схема?

Нет, производитель зажимает, у продавца не было, все вызваниваю тестером, что надо, либо какими то тестовыми прошивками. В принципе на плате уже многое запустил. Теперь вот вожусь с PCIE, никогда его не запускал.

 

Честно говоря, я бы начинал с полностью своего простого проекта. Не приемлю практику копания в чужих заготовках.

да проект предельно простой. Просто инициализация ip core, чтобы запустить pcie hard ip на альтере. Альтера для своих досок распространяет готовые проекты простые с развернутыми ip core, их можно брать, менять назначения пинов и пускать.

 

Ну могу пока врубиться, до загрузки windows, диоды показывают, что связь по pcie налажена. L0. Как только ОС стартует, сразу все отваливается (судя по диодам). Сейчас буду пробовать Linux Live CD, посмотрю что он там видит при загрузке

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас буду пробовать Linux Live CD, посмотрю что он там видит при загрузке

Вот это я одобряю. Если можно - полный (с первых строк) лог dmesg приложить к теме в виде текстового файла.

 

Nallatech 385A? :)) Давно же вы с ней возитесь :)

И судя по всему почти успешно. Это натуральный героизм на пустом месте :)

Кстати, я бы на зло противному производителю - выложил бы распиновку и прочую информацию о плате, которую удалось добыть, и сообщил бы производителю об этом - чтоб побесились.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Nallatech 385A? :)) Давно же вы с ней возитесь :)

нет, Gidel. Производитель - Израиль. Ну они настоящие прям израильтяне =)). Говорят купи у нас новую, мы тебе документацию на эту вышлем. Продавец тоже от туда. Скрыл, что система питания паленая. А я не в зуб ногой. Пришлось учиться с нуля. Вожусь примерно 3-4 мес. Я на таких скоростях не работал, с Циклона 4 сразу на Стратикс 5. Очень опасался спалить что за такие деньги, поэтому купил бу. Как полностью подыму все интерфейсы скоростные, можно будет брать новое.

 

А JTAG tck закорочен, так что я связан по рукам и ногам. Но организовал систему логов через гигабитный ethernet.

Если кому интересно

 

Есть кстати совет, я его опробовал, подать на tck от внешнего источника питания напряжение повышенное. Я подал 3.3, больше боюсь, сопротивление начало нарастать, то есть закаротка пропадает. А советчик рекомендует 5v

 

Если можно - полный (с первых строк) лог dmesg приложить к теме в виде текстового файла.

 

хорошо, по позже выложу. Но я ничего приметного не заметил. Карта также отвалилась при загрузке. Я так понимаю, при включении связь подымается, переходит в состояние L0, а потом ОС пытается считать конфигурацию и что то идет не так.

 

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если можно - полный (с первых строк) лог dmesg приложить к теме в виде текстового файла.

сегодня сделал нормальный live cd с centos. Лампочки на карте не погасли, но и ничего не нашлось =)

log_dmesg.txt

log_pcie.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выхода как смотреть на скорости 250Mhz

1) 53 бита tl_cfg_sts (Configuration Space Registers)

2) 5 бит ltssm (state machine)

 

не вижу. Изучил всю доку вдоль и поперек. Лишь бы гигабитный ethernet логов выдержал =)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так какой VID/PID мы ожидаем? Вы не видите его после PCI host bridge to bus 0000:00? Там как раз строки с обнаруженными устройствами должны быть.

 

А вообще сочувствую, когда устройство не видится с пол оборота, а оно должно с ходу хвататься (полноценная работа это дело другое) - то это невыносимая ментальная боль.

 

Выхода как смотреть на скорости 250Mhz

1) 53 бита tl_cfg_sts (Configuration Space Registers)

2) 5 бит ltssm (state machine)

не вижу. Изучил всю доку вдоль и поперек. Лишь бы гигабитный ethernet логов выдержал =)

Просьба держаться за стол покрепче, но я отлаживал PCI-E при помощи... UART 9600 ))) Какой гигабит? Какой выдержать? Просто делаем свой UART с регистром на несколько сотен неких слов произвольной длины, кушаем на бешеной скорости интересующие события, а когда буфер забился - неспешно выводим. Я так тучу проектов отладил, когда они были на много порядков быстрее самого канала отладки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

 

...

Просьба держаться за стол покрепче, но я отлаживал PCI-E при помощи... UART 9600 ))) Какой гигабит? Какой выдержать? Просто делаем свой UART с регистром на несколько сотен неких слов произвольной длины, кушаем на бешеной скорости интересующие события, а когда буфер забился - неспешно выводим. Я так тучу проектов отладил, когда они были на много порядков быстрее самого канала отладки.

Во во - в такой печальной ситуации с JTAG без "printf" никуда!

А если еще поискать по сусекам то можно и консоль для такого "printf" найти - типа такого "Logic Analyzer" или такого "hardware logic analyzer"

 

Ну и PCIe для начала надо бы в режиме x1 запускать - меньше проблем с распиновкой линий.

 

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А JTAG tck закорочен, так что я связан по рукам и ногам. Но организовал систему логов через гигабитный ethernet.

У Алтеры есть решение, позволяющее подключать SignalTap через Ethenet и Nios. Сам не использовал, но доки читал. Думаю, это ваше решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Алтеры есть решение, позволяющее подключать SignalTap через Ethenet и Nios. Сам не использовал, но доки читал. Думаю, это ваше решение.

спасибо, я прямо сейчас погуглю. Nios вроде это совсем не мой вариант, так как JTAG у меня нет, у меня сложилось мнение, что он прошивается только через него, могу ошибаться.

Ну а так конечно, я пока классно придумал визуализацию полученных сигналов в ModelSim (показывал выше ссылку на свою статью). Но я и не против SignalTAP если реально

 

Ну и PCIe для начала надо бы в режиме x1 запускать - меньше проблем с распиновкой линий.

я начал отталкиваться от официальной доки Альтеры по их борде. Там перемычками выставляется на плате сколько линий. Потом конфигурировать прошивку.

А у меня плата жестко распаяна сразу на x8. У нее жестко соединены prsn1 prsnt2 prsnt2 prsnt2. Это я тестером на коннекторе сразу прозвонил.

 

Удачи! Rob.

Спасибо =)

 

 

Просьба держаться за стол покрепче, но я отлаживал PCI-E при помощи... UART 9600 )))

Ну у меня тоже есть промежуточное решение. У меня есть плата на Циклон 4. Я соединял шлейфом пользовательские пины двух плат, выводил со стратикса сигналтап на пины, а на циклоне я уже полноценно сигналтапом снимал сигналы. Но у Циклона памяти очень мало, у меня там логируется очень мало сигналов. А на частоте 250, я вообще там подозреваю ничего не увижу. Да и боюсь на таких скоростях такая связка может подвести.

 

 

Так какой VID/PID мы ожидаем?

 

Прошу прощение. =) Стандартные альтеровские 0x00001172 0x0000e001

 

 

 

кушаем на бешеной скорости интересующие события, а когда буфер забился - неспешно выводим. Я так тучу проектов отладил, когда они были на много порядков быстрее самого канала отладки.

по ethernet я делаю точно так же. Пишу все в асинхронный FIFO и от туда пакетами по 1500 байт выдаю в сеть на гигабите

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А у меня плата жестко распаяна сразу на x8. У нее жестко соединены prsn1 prsnt2 prsnt2 prsnt2. Это я тестером на коннекторе сразу прозвонил

Если воткнуть такую плату в порт x16 с физическим x1, то работать будет одна линия, разве не так? Разве эти prsnt* помешают системе определить, что линк есть только по первой веревке. Я бы попробовал всё равно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если воткнуть такую плату в порт x16 с физическим x1, то работать будет одна линия, разве не так? Разве эти prsnt* помешают системе определить, что линк есть только по первой веревке. Я бы попробовал всё равно.

я пробовал. Я изначально естественно по логики начал от простого к сложному. Ситуация такая же, диоды показывает состояние L0, потом отваливается при ОС.

Сейчас я уже заканчиваю прикрутку логов, буду смотреть состояние корки при включении, может что прояснится.

 

Если воткнуть такую плату в порт x16 с физическим x1, то работать будет одна линия, разве не так?

на этот вопрос у меня четкого ответа нет. Материнская плата при такой распайке точно определит как x8, и будет ли нормально x1 не ясно. Недавно где то в очередной доке альтеры читал, что стабильности не будет вообще. Есть конечно вариант, заклеить контакты на разъеме prsnt2

 

А если еще поискать по сусекам то можно и консоль для такого "printf" найти - типа такого "Logic Analyzer" или такого "hardware logic analyzer"

 

я только сейчас глянул ваши ссылки. Я нечто похожее сделал на циклоне 4. У меня там на борту еще sram стоит. Я написал контроллер памяти и все в нее складывал. Потому выводил через самопальный 10base-t прям без magnetic. Все жутко глючное вышло, но отлаживать уже можно было.

 

 

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Алтеры есть решение, позволяющее подключать SignalTap через Ethenet ...

Это вы про AN693 ??

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...