Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Буферизация потока данных при чтении из PCI target
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
STT
Здравствуйте. Имеется контроллер PCI от SET 32\33 Target. В документации к нему сказано, что скорость записи из целевого устройства (платы PCI) в память компьютера – 66 Мб\с. Реализации контроллера делается на XC2S100-PQ208. В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт. Вопрос, каким образом рассчитать буферизацию? Ну например получается два буфера по 2.5 кбайт. Будет ли машина успевать считывать данные из заполненного буфера? Или необходимо к ПЛИСе подключать дополнительную RAM (тогда какой размер?). Или можно обойтись простым FIFO буфером размером всей памяти XC2S? В компьютере на PCI шине дополнительно будет только сетевая карта.
Какая тут теория расчета ??? Заранее спасибо.
gab
Цитата(STT @ Jul 12 2005, 19:03)
Здравствуйте. Имеется контроллер PCI от SET 32\33 Target. В документации к нему сказано, что скорость записи из целевого устройства (платы PCI) в память компьютера – 66 Мб\с. Реализации контроллера делается на XC2S100-PQ208. В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт. Вопрос, каким образом рассчитать буферизацию? Ну например  получается два буфера по 2.5 кбайт. Будет ли машина успевать считывать данные из заполненного буфера? Или необходимо к ПЛИСе подключать дополнительную RAM (тогда какой размер?). Или можно обойтись простым FIFO буфером размером всей памяти XC2S? В компьютере на PCI шине дополнительно будет только сетевая карта.
Какая тут теория расчета ??? Заранее спасибо.
*


Боюсь, что никакой. Хотя, если иметь модель PCI для нескольких устройств (соотносящуюся с логикой мат.платы компа smile.gif), можно преположить, что сетевушка не займёт более 50% ресурсов PCI, и уже от этого плясать. Я таким некоторое время страдал (из тестбенча для opencore's pci core сделал тест устройство+драйвер+несколько мастеров на pci шине). Оказалось, что проще (и быстрее!) "вживую" поглядеть sad.gif.

Цитата(STT @ Jul 12 2005, 19:03)
Имеется контроллер PCI от SET 32\33 Target.
*

Совсем забыл!
SET'у не особо верьте sad.gif.
FLTI
А какому ядру PCI можно “верить” ?
Novich
Здравствуйте.
Случайно наткнулся на данную тему.
Вопрос к qab:
Что за ТЕСТ УСТРОЙСТВО+ДРАЙВЕР+НЕСКОЛЬКО МАСТЕРОВ на PCI-ШИНЕ?
Мне помощь нужна! help.gif
Разработка ТЕСТ УСТРОЙСТВА!
http://electronix.ru/forum/index.php?showtopic=28130
Заранее благодарю, что откликнулся.
Vitёk
Цитата
В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт.
В такой ситуации Вас может спасти PCI-master. Возьмите ядро от Xilinx и добавьте к нему свой контроллер ПДП. Часть памяти ПЛИС отведите под хранние цепочки дескрипторов ПДП (каждый дескриптор описывает одну непрерывную пересылку). Тогда будет гарантия того, что данные будут пересланы вовремя.
klop
Цитата(STT @ Jul 12 2005, 16:03) *
Здравствуйте. Имеется контроллер PCI от SET 32\33 Target. В документации к нему сказано, что скорость записи из целевого устройства (платы PCI) в память компьютера – 66 Мб\с. Реализации контроллера делается на XC2S100-PQ208. В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт. Вопрос, каким образом рассчитать буферизацию? Ну например получается два буфера по 2.5 кбайт. Будет ли машина успевать считывать данные из заполненного буфера? Или необходимо к ПЛИСе подключать дополнительную RAM (тогда какой размер?). Или можно обойтись простым FIFO буфером размером всей памяти XC2S? В компьютере на PCI шине дополнительно будет только сетевая карта.
Какая тут теория расчета ??? Заранее спасибо.

Я что то не догоняю речь идет о Master или о Target ???
Oldring
Цитата(STT @ Jul 12 2005, 16:03) *
Здравствуйте. Имеется контроллер PCI от SET 32\33 Target. В документации к нему сказано, что скорость записи из целевого устройства (платы PCI) в память компьютера – 66 Мб\с. Реализации контроллера делается на XC2S100-PQ208. В ПЛИСку приходит поток данных со скоростью около 30 Мб/с. В микросхеме имеется 40 960 бит = 5120 байт. Вопрос, каким образом рассчитать буферизацию? Ну например получается два буфера по 2.5 кбайт. Будет ли машина успевать считывать данные из заполненного буфера? Или необходимо к ПЛИСе подключать дополнительную RAM (тогда какой размер?). Или можно обойтись простым FIFO буфером размером всей памяти XC2S? В компьютере на PCI шине дополнительно будет только сетевая карта.
Какая тут теория расчета ??? Заранее спасибо.


PCI target может быть и потянет - но обычные компы нет. Делайте PCI master.
Tosha
Нужно конечно делать мастера. Но и мастер не прокачает такую скорость с такими буферами.
Нужно ставить внешнюю память. Сколько ставить зависит от того, насколько страшно потерять данные.

На самом деле в любом компе все устройсва грубо говоря сидят на одной шине. Это все порты USB, сеть, винчестеры и пр. Многие из них умеют писать в DMA режиме, поэтому заранее точно определить загруженность шины невозможно. Конечно если можно приостанавливать поток, то таких буферов хватит. Если нет нужно закладывать что-то внешнее. А с размером сложнее smile.gif
v_mirgorodsky
Наверное, уже поздновато отвечать, но все же прокомментирую некоторые высказывания.

Цитата
PCI target может быть и потянет - но обычные компы нет. Делайте PCI master.
Такую штука будет даже не фокусом. 66MB/s легко достижимы практически на любом чипсете. Необходимо просто предпринять очень специфические меры по обеспечению доступа бурстами в драйвере устройства.

Цитата
На самом деле в любом компе все устройсва грубо говоря сидят на одной шине. Это все порты USB, сеть, винчестеры и пр. Многие из них умеют писать в DMA режиме, поэтому заранее точно определить загруженность шины невозможно.
PCI шина в современном компьютере сегментирована на большое количество сегментов. Каждый из таких сегментов коммутируется на связную шину южного моста, имеющую среднюю пропускную способность в районе 266MB/s. Посему разные мастера совсем даже и не мешают работе друг друга. BTW, 266MB/s - это очень старая информация, сейчас вероятно уже больше. Проверить сие утверждение просто - ставим мощного PCI потребителя данных типа старой видеокарты или платы захвата видео и наслаждаемся совсем даже и незамедленной записью на винчестера во время работы грабера. Из своего опыта - вынимал из порта USB порядка 45MB/s и одновременно работал с винтом - еще метров 60 в секунду - и никаких особых вопросов не возникало.
xyzzy
Цитата(v_mirgorodsky @ Mar 22 2007, 06:05) *
PCI шина в современном компьютере сегментирована на большое количество сегментов. Каждый из таких сегментов коммутируется на связную шину южного моста, имеющую среднюю пропускную способность в районе 266MB/s. Посему разные мастера совсем даже и не мешают работе друг друга. BTW, 266MB/s - это очень старая информация, сейчас вероятно уже больше. Проверить сие утверждение просто - ставим мощного PCI потребителя данных типа старой видеокарты или платы захвата видео и наслаждаемся совсем даже и незамедленной записью на винчестера во время работы грабера. Из своего опыта - вынимал из порта USB порядка 45MB/s и одновременно работал с винтом - еще метров 60 в секунду - и никаких особых вопросов не возникало.


Южный мост действительно имеет достаточно пропускной способности для *встроенных* устройств и они обычно не сильно мешают друг другу. Но вот устройствам сидящим в PCI разъемах все-же приходится бороться за одну единственную шину.

Вы попробуйте прицепить винчестер не ко встроенному в южный мост контроллеру, а к IDE контроллеру воткнутому в PCI слот. Там и посмотрим, как винт уживется с граббером. А еще можно и гигабитный ethernet в соседний слот воткнуть.. wacko.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.