Полная версия этой страницы:
PCI 64 разрада 66 МГц
Как Вы считаете, что лучше, сделать такой интерфейс через ПЛИС,
либо взять контроллер и сделать через него?
Если через ПЛИС, не подскажите где можно взять пример схемы для Xilinx и пример разводки?
Если через готовый контроллер, не подскажите какой контроллер использовать, а то те которые я видел на выходе имеют только 32 разряда при той же частоте 66 МГц, что не допустимо для меня?
Заранее Спасибо.
VslavX
Sep 18 2008, 09:39
Цитата(DLR @ Sep 18 2008, 11:56)

Если через готовый контроллер, не подскажите какой контроллер использовать, а то те которые я видел на выходе имеют только 32 разряда при той же частоте 66 МГц, что не допустимо для меня?
Freescale MPC8349, например, имеет два 32-битных интерфейса PCI и режим при котором они объединяются в один 64-битный PCI. Может также быть и хостом - есть встроенный арбитр. Но при использовании в качестве target следует внимательно читать errata - можно нарваться.
Elresearch
Sep 18 2008, 11:58
с одной стороны понятно Вы хотите PCI 64/66 а с другой? Что Вы хотите через него прокачивать?
Мне нужно из него выжать передачу информации с плату на плату до 3,5...4 Гбит/с;
В начале будет отработка с ЭВМ, в последствии будет использован собственный контроллер управления
Freescale MPC8349 - хорошая штука, но сложная-целый проц!, хочется чего нибудь попроще
Victor®
Sep 18 2008, 13:52
Цитата(DLR @ Sep 18 2008, 16:00)

Мне нужно из него выжать передачу информации с плату на плату до 3,5...4 Гбит/с;
В начале будет отработка с ЭВМ, в последствии будет использован собственный контроллер управления
Freescale MPC8349 - хорошая штука, но сложная-целый проц!, хочется чего нибудь попроще

Не мучайтесь... делайте на PCIe.
К тому-же 64х66 дает "сырую" скорость 4.224 Гбит/с.
И очень сомнительно, что выйдет 3.5 "полезная" скорость.
Смотрите или в сторону PCI-X 64x100 или PCIe.
Развести 64 разряда все-таки проблема на 66/100 MHz.
Из 32/33 выходит 920 Мбит/с
Следовательно из 64/66 должно выходить гдето в 4 раза больше...
PCIe - не подходит - необходима общая шина для N устройств.
PCI-X 64x100 - еще хуже разводить, чем PCI 64/66
VslavX
Sep 19 2008, 08:44
Цитата(DLR @ Sep 19 2008, 09:34)

Из 32/33 выходит 920 Мбит/с
Следовательно из 64/66 должно выходить гдето в 4 раза больше...
Это все пиковые скорости - реальные будут поменьше.
На PC для PCI32@33 максималка достигалась около 80МБайт/сек -> 640Mbps.
На своей плате PCI32@66 (Intel IXP420 + SDR SDRAM 32@133) максималка около 130Мбайт/сек -> 1040Мbps. На MPC83xx + DDR 64@333 еще не пробовал, но думаю не сильно больше будет.
У нас был проведен эксперимент, так вот получили на обычном компе при передаче 8 Гбайт информации с разработанной нами платы PCI на SCSI диск со не менее 800 Мбит/с (если было бы менее - захлебнулась выходное фифо платы PCI, ан нет, вся тестовая последовательность в норме!)
Elresearch
Sep 19 2008, 11:06
т.е. с другой стороны у Вас локальная шина (не PCI) 64/66? может это подойдёт?
http://www.tundra.com/products/vme-bridges/tsi148/features
Victor®
Sep 19 2008, 14:36
Цитата(DLR @ Sep 19 2008, 09:34)

а для N устройств.
PCI-X 64x100 - еще хуже разводить, чем PCI 64/66
Почему так решили?
Serg_Sm
Sep 22 2008, 06:10
PLX PCI9054 32бит/33МГц дает ~127Мбайт/сек (предел пропускной способности PCI) в максимуме - проверено на собственном девайсе. А при длительной работе пропускная способность зависит от "прожорливости" всех устройств на шине.
PLX PCI9656 64бит/66МГц - по интерфейсу чипа тоже самое, только PCI побыстрее. По идее должен работать в 4 раза быстрее.
Но если минимальная скорость передачи важна - тогда надо хорошо подумать, особенно когда много устройств на шине.
А вообще надо переходить на PCI-E.
Вы проясните в каких количествах будет призводиться железка.
От этого много чего зависит.
-PCI 64/66 - это разговор только о серверных платформых, с достовыбельностью и ценами свои проблемы, все зависит от количества.
-Выбор реализации такой PCI-ки сразу накладывает свои ограничения. Посмотрите описания ядер у xilinxa рекомендованные FPGA (pci64_v3, pcix64_v5, pcix_v6)
-Аналогично с контроллером.
-Подумайте как будите выводить такой поток (функционально, физически). Здесь уже может встать вопрос снятия этих данных с контроллера.
----
При таких жестких временных требованиях стоит присмотреться с старшим семейтвам FPGA. По трудозатратам и деньгам на плиске реализовать будет полегче(лично для меня).
У xilinx есть схемы PCI 64/66, у латиса есть. Выложить сейчас не могу проблемы с компом дома.
soldat_shveyk
Sep 23 2008, 20:50
К сожалению при переходе с шины PCI 32 bit/33 MHz на шину PCI 64bit/66 MHz не получалось ожидаемого 4-кратного увеличения пропускной способности для непрерывного режима передачи.
Если в режиме 32/33 имели 100-120 МБайт/сек, то в режиме 64/66 получал максимум 200-240 МБайт/сек вместо ожидаемых 400-480. Пиковая скорость действительно увеличивается в 4 раза, но средняя скорость непрерывного режима работы на поднималась выше 250 МБ/с. Причем это слобо зависело от сложности и дороговизны используемой материнской платы - хоть Intel за 3000$, хоть ASUS за 200$.
PCI-контроллер бвл самодельный на ALTERA, к нему претензий нет, так как его можно было разгонять до упора - на каждый период тактового сигнала шины ставить фазу данных тестовой последовательности. Просто чипсет - северный мост - не давал доступа к шине так быстро как хотелось бы. Хотя на этой шине сидела только моя железка и больше никого. В итоге пришли к выводу, что чипсет на маме "тоже человек" и имеет свои ограничени по скорости.
Перешли на PCIe - там на 4-х кратной шине свободно получается 800 Мбайт/сек для непрерывного режима передачи и 1300 Мбайт/сек для 8-кратной шины.
Так что и вам советую переходить на PCIe.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.