Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Поиск PCI bus Scanner и вопрос о PCI - Wishbone
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
LeonY
Ищу софт для сканирования PCI bus - хотелось бы получить список устройств на шине со всеми параметрами из Configuration Space в читаемом формате, т.е. чтобы не было нужды декодировать "каждый" бит вручную.

Заранее благодарен

И еще один вопрос на тему PCI-Wishbone Core от OpenCores: обнаружили странную вещь - в конфигурационной утилите можно установить 2 флажка: Guest/Host и Target Only. Эти флажки записываются в define файл и синтез должен был бы идти в соответствии. Флажок Guest действительно меняет код для синтеза (исключается часть, присущая только для Bus Controller), как и дОлжно быть, а вот флажок Target Only вааще нигде не используется. Таким образом, если я правильно понял, кусок силикона для Master функций будет присутствовать всегда, что не есть хорошо (по разным причинам). Кто-нибудь может подтвердить или опровергнуть мои измышления???
ishergin
Цитата(LeonY @ May 4 2007, 21:39) *
Ищу софт для сканирования PCI bus - хотелось бы получить список устройств на шине со всеми параметрами из Configuration Space в читаемом формате, т.е. чтобы не было нужды декодировать "каждый" бит вручную.

Заранее благодарен

И еще один вопрос на тему PCI-Wishbone Core от OpenCores: обнаружили странную вещь - в конфигурационной утилите можно установить 2 флажка: Guest/Host и Target Only. Эти флажки записываются в define файл и синтез должен был бы идти в соответствии. Флажок Guest действительно меняет код для синтеза (исключается часть, присущая только для Bus Controller), как и дОлжно быть, а вот флажок Target Only вааще нигде не используется. Таким образом, если я правильно понял, кусок силикона для Master функций будет присутствовать всегда, что не есть хорошо (по разным причинам). Кто-нибудь может подтвердить или опровергнуть мои измышления???

Я находил какие-то досовские утилитки, не все выводили полную информацию правда.
Вот что нагуглилось smile.gif
http://www.pcitree.de/
http://www.pcidatabase.com/
http://www.hollgi.de/PCI/freeware.html

PS. c PCI от Opencores подробно не разбирался...
kiss
Из софта под Windows есть неплохая программа PCIScope на www.tssc.de. Генератор ключиков для нее при желании можно найти.

Насчет PCI-Wishbone - по моему ИМХО, с ним лучше вообще не связываться - очень немного людей, во всяком случае русскоязычных, сделали такой выбор. Для этого есть масса разнообразных причин, но вкратце - проще и быстрее написать PCI (особенно target) самому, или взять коммерческую корку, чем погружаться в болото Wishbone, из которого затем будет совсем непросто выбраться.
[sER]
Bus Hound от компании Perisoft (www.perisoft.net) может поможет чем.

Упд. : совсем не то.... надо смотреть дальше....

Упд. 2:
не могу вспомнить название утилиты которую когда-то видел "Bus что-то там"...
поисковики упорно молчат, наткнулся на какой-то pcisnif старинная досовская прога вот и весь улов =( ....
vmp
Цитата(LeonY @ May 4 2007, 19:39) *
Ищу софт для сканирования PCI bus - хотелось бы получить список устройств на шине со всеми параметрами из Configuration Space в читаемом формате, т.е. чтобы не было нужды декодировать "каждый" бит вручную.


Обычно пользуюсь RBPCI. Лежит здесь.
vladec
Лучшая утилита для этих целей, по моему мнению, упомянутая выше PCIScope, еще очень удобен WinDriver от Jungo.
RKOB
Пользуюсь утилитой PCI Info - удобная штука + можно сделать дамп памяти ...
Andrew2000
Если кому еще интересно -
/upload/Utils/PCI/PCITools/
полочил три проги:
- Чтение/запись физической памяти и портов ввода/вывода.
- Список устройств на шине PCI.
- Прошивка EEPROM PLX9030 через VPD.
в исходниках - собираются BC++B 6.0
Работают через собственный драйвер (в комплекте), исходники попробую найти, если кому нада (писалось в 1999).
CodeWarrior1241
Цитата(LeonY @ May 4 2007, 11:39) *
И еще один вопрос на тему PCI-Wishbone Core от OpenCores: обнаружили странную вещь - в конфигурационной утилите можно установить 2 флажка: Guest/Host и Target Only. Эти флажки записываются в define файл и синтез должен был бы идти в соответствии. Флажок Guest действительно меняет код для синтеза (исключается часть, присущая только для Bus Controller), как и дОлжно быть, а вот флажок Target Only вааще нигде не используется.

Я долго хотел реализовать проект с PCI core from opencores для моей Dragon платы... попробовал скомпилировать ядро для обеих вариантов которые Вы приводите - у меня получилась разница в RTL проекта в wishbone interface. При Target flag set, wishbone master ушло, а вот PCI master осталось. У Вас было тоже самое?
LeonY
До синтеза и анализа RTL я пока не дошел. Сильное подозрение вызвало то, что флаг Target_Only вообще нигде не используется (реультат тупого текстового поиска по всем исходникам). При таком раскладе не очень понятно, как именно Вы получили Ваши результаты. Единственное, что я могу предположить, это то, что синтезатор просто выбросил куски кода к "выходам" которого ничего не было подключено sad.gif . Это далеко не лучшее решение проблемы.
gab
Цитата(kiss @ May 4 2007, 23:45) *
Насчет PCI-Wishbone - по моему ИМХО, с ним лучше вообще не связываться - очень немного людей, во всяком случае русскоязычных, сделали такой выбор. Для этого есть масса разнообразных причин, но вкратце - проще и быстрее написать PCI (особенно target) самому, или взять коммерческую корку, чем погружаться в болото Wishbone, из которого затем будет совсем непросто выбраться.

Здесь вы немного не правы. Работает.
И где, позвольте узнать, в WB болото?
Вот OPB или PLB - действительно болото.

Да, кстати, забыли про линуксовый lspci.
LeonY
Цитата(gab @ May 15 2007, 06:42) *
Здесь вы немного не правы. Работает.

Сам отвечаю на свой вопрос (мелочь, а приятно) - НЕ работает, а точнее, работает, но не так как должно. Попробуйте Read - Burst Mode.... и посмотрите ссылки:
1
2
gab
Цитата(LeonY @ May 15 2007, 13:41) *
Сам отвечаю на свой вопрос (мелочь, а приятно) - НЕ работает, а точнее, работает, но не так как должно. Попробуйте Read - Burst Mode.... и посмотрите ссылки:
1
2

На первую ссылку отвечаю: у меня фифо было больше барста (с АЦП данные гнали по триггеру), что совершенно логично с т.з. работы шины PCI со многими мастерами.
На вторую: многое зависит от материнки и воткнутых железяк.
LeonY
Цитата(gab @ May 15 2007, 19:22) *
На первую ссылку отвечаю: у меня фифо было больше барста (с АЦП данные гнали по триггеру), что совершенно логично с т.з. работы шины PCI со многими мастерами.
На вторую: многое зависит от материнки и воткнутых железяк.

Не знаю как это все у Вас работало. Мы меняли размер FIFO от 8 do 256 - результатов нуль - при любых размерах только 3-4 слова идет на полной скорости, а потом затык...

В конце-концов мы похоронили эту привлекательную идею и поставили PCI core от PLDA - все сразу заработало, запело и затанцевало.
kiss
Цитата(gab @ May 15 2007, 11:42) *
Здесь вы немного не правы. Работает.
И где, позвольте узнать, в WB болото?
Вот OPB или PLB - действительно болото.

Да, кстати, забыли про линуксовый lspci.


Конечно, я немного категоричен, но когда достаточно давно я исследовал первые версии PCI-Wishbone, меня на него все время как бы "рвало".

Да, в ряде случаев, данное решение может успешно работать, и имеет право на существование, но даже такой маленький факт, что оно в принципе не удовлетворяло требованиям setup=7 ns для PCI initiator на современных ПЛИС (про PCI 66 даже речи не шло), и никто по этому случаю особенно не заморачивался, кажется мне диким (не знаю как сейчас, но уверен, что подход не изменился - универсально, некачественно, и громоздко).

Одним словом, приятно обсуждать и критиковать интересные и качественные продукты, но не изначально посредственные (все сугубое ИМХО).
gab
Цитата(kiss @ May 15 2007, 23:54) *
Конечно, я немного категоричен, но когда достаточно давно я исследовал первые версии PCI-Wishbone, меня на него все время как бы "рвало".

Да, в ряде случаев, данное решение может успешно работать, и имеет право на существование, но даже такой маленький факт, что оно в принципе не удовлетворяло требованиям setup=7 ns для PCI initiator на современных ПЛИС (про PCI 66 даже речи не шло), и никто по этому случаю особенно не заморачивался, кажется мне диким (не знаю как сейчас, но уверен, что подход не изменился - универсально, некачественно, и громоздко).

Одним словом, приятно обсуждать и критиковать интересные и качественные продукты, но не изначально посредственные (все сугубое ИМХО).

Тут ответ очень простой: не нравится - покупайте или делайте сами. Либо деньги, либо время. Другого ответа нет, ибо воровство не решение.


Цитата(LeonY @ May 15 2007, 22:32) *
Не знаю как это все у Вас работало. Мы меняли размер FIFO от 8 do 256 - результатов нуль - при любых размерах только 3-4 слова идет на полной скорости, а потом затык...

В конце-концов мы похоронили эту привлекательную идею и поставили PCI core от PLDA - все сразу заработало, запело и затанцевало.

Как ни странно, работало. Но сильно зависело от компа. На одном интеле вообще не завёлся (решилось только заменой биоса материнки). На Ксеоне - слишком короткие транзакции (особенности его моста). На амд - всё нормально (там просто всё по стандарту PCI сделано).

Да и вообще, этот WB-PCI нужно уметь готовить smile.gif. PCI66 на втором виртексе 2000 он держал.

PS: а за PLDA платить надо. Нам пока дешевле в глюках разобраться. Благо их немного.
LeonY
Цитата(gab @ May 16 2007, 23:40) *
PS: а за PLDA платить надо. Нам пока дешевле в глюках разобраться. Благо их немного.

Благо у нас это ядро уже приобретено - использовалось в нескольких проектах. Общей идеей использования OpenCores детища был отказ от ядра, привязанного к конкретному производителю, тк мы используем кристаллы всех (3х главных) производителей.
kiss
Цитата(gab @ May 16 2007, 20:40) *
Тут ответ очень простой: не нравится - покупайте или делайте сами. Либо деньги, либо время. Другого ответа нет, ибо воровство не решение.

Как ни странно, работало. Но сильно зависело от компа. На одном интеле вообще не завёлся (решилось только заменой биоса материнки). На Ксеоне - слишком короткие транзакции (особенности его моста). На амд - всё нормально (там просто всё по стандарту PCI сделано).


Спасибо за масштабный совет, но лично я свой первый успешный PCI-initiator (тогда он еще неполиткоректно назывался master) сделал примерно лет 12 назад на xc3142A, и наблюдать в этом свете упомянутое выше недоразумение для меня не совсем интересно. Полностью разобраться в нем может быть сложнее, чем создать свой проект.

С моей точки зрения, нормальный проект для PCI должен работать всегда и везде (за исключением явных грубых случаев нарушения стандарта на материнских платах, что наблюдается редко), без танцев с бубном.

Осуждать же воровство думаю лучше в специализированном юридическом форуме, поскольку большинство из нас в вопросах лицензирования являются чем-то вроде "голубых воришек". rolleyes.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.