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

Хочу реализовать в FPGA master-taget PCI шины. Вроде бы все давно известно, решено и проблем нет. Однако, появились сомнения на предмет времени на конфигурацию FPGA. Успеет ли эта конфигурация завершится до того, как BIOS компьютера начнет процедуру Plag&Play и посылать обращения к уже сконфигурированной FPGA? Может, кто уже натыкался на случаи, когда конфигурация FPGA не успевала произойти раньше Plag&Play? С какими матрицами и компьютерам такое случалось?

 

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


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

Может, кто уже натыкался на случаи, когда конфигурация FPGA не успевала произойти раньше Plag&Play? С какими матрицами и компьютерам такое случалось?

Про PCI не в курсе. Но для PCIe четко задано время в течении которого оно должно начать отвечать. Решение это или батарейка или MAX2+Flash память. Для некоторых микросхем есть мегафункция в квартусе. Я прям сейчас думаю, писать самому или попробовать разобраться с тем что есть в квартусе.

 

Играть в рулетку, и подбирать материнку, не хочется.

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


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

Играть в рулетку, и подбирать материнку, не хочется.
Да, я тоже не хочу играться с материнками. Поэтому и продолжаю по старинке PCI-узел делать на EPM3256, не на FPGA. Но сейчас из меркантильных соображений хочется все упаковать в FPGA. Тем более, что кругом полно готовых корок PCI. Но непонятно, на какой тип матриц они рассчитаны и будет ли это работать на FPGA.

 

 

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


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

Да, я тоже не хочу играться с материнками. Поэтому и продолжаю по старинке PCI-узел делать на EPM3256, не на FPGA. Но сейчас из меркантильных соображений хочется все упаковать в FPGA. Тем более, что кругом полно готовых корок PCI. Но непонятно, на какой тип матриц они рассчитаны и будет ли это работать на FPGA.

Зачем делать для PCI, если если PCIe 1x есть уже даже в циклоне, который успевает грузится с последовательной флешки?

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


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

Для PCI время документировано и составляет 1 секунду (точнее, сколько-то тактов PCICLK). Сейчас лень искать, но эта цифра приведена в спецификации. Так что если успеете за 1 секунду загрузить свою FPGA, то все будет в порядке.

Для PCIe это время составляет 0.1 секунды. Учитывая немалый объем конфигурационных данных, даже для минимальной GX15 требуется поток данных в 50 Мбит/с. Альтера кстати предупреждает, что это время можно выдержать только при Passive Serial загрузке.

 

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


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

Может, кто уже натыкался на случаи, когда конфигурация FPGA не успевала произойти раньше Plag&Play? С какими матрицами и компьютерам такое случалось?

 

Знаю, что ни разу не было проблем с "успеет конфигурация произойти раньше Plag&Play"

Чипы Сyclone, Stratix

 

А вот с реализацией контролера PCI на разных матплатах были приколы. В итоге устройство просто не определялось - приходилось править диаграмму конфигурации master/target в FPGA.

 

Припоминаю, что этим больше всего страдают дешевый матплаты со встроенным видео. 

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


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

Альтера кстати предупреждает, что это время можно выдержать только при Passive Serial загрузке.

Fast Passive Parallel только. FPP.

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


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

Для PCI время документировано и составляет 1 секунду (точнее, сколько-то тактов PCICLK). Сейчас лень искать, но эта цифра приведена в спецификации. Так что если успеете за 1 секунду загрузить свою FPGA, то все будет в порядке.

Для PCIe это время составляет 0.1 секунды. Учитывая немалый объем конфигурационных данных, даже для минимальной GX15 требуется поток данных в 50 Мбит/с. Альтера кстати предупреждает, что это время можно выдержать только при Passive Serial загрузке.

 

Хочу добавить, что использовать ресет с PCI надо очень осторожно. Его длительность 1 ms (PCI 2.3, Table 7.4, page 234)

Т.е. если уж очень нужно что-то сбрасывать в FPGA сбросом c PCI, то надо успеть сконфигурироваться за эту 1 ms, что достаточно суровое требование.

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


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

Хочу добавить, что использовать ресет с PCI надо очень осторожно. Его длительность 1 ms (PCI 2.3, Table 7.4, page 234)

Т.е. если уж очень нужно что-то сбрасывать в FPGA сбросом c PCI, то надо успеть сконфигурироваться за эту 1 ms, что достаточно суровое требование.

Что-то вы напутали.

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


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

Что именно? Доводы есть?

Нафиг при каждом ресете плис переконфигурировать?

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


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

Хочу добавить, что использовать ресет с PCI надо очень осторожно. Его длительность 1 ms (PCI 2.3, Table 7.4, page 234)

Т.е. если уж очень нужно что-то сбрасывать в FPGA сбросом c PCI, то надо успеть сконфигурироваться за эту 1 ms, что достаточно суровое требование.

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

 

 

Fast Passive Parallel только. FPP.
Которого не наблюдается у самых младших Циклонов-3. У них и POR составляет не менее 200mS от выхода питания на номинал. Пытаться раньше грузить конфигурацию - бессмысленно.

 

 

Зачем делать для PCI, если если PCIe 1x есть уже даже в циклоне, который успевает грузится с последовательной флешки?
Стоит задача - встраиваться в дешевые пром.компьютеры китайского пр-ва. Там никаких PCIe не наблюдается.

 

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


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

Нафиг при каждом ресете плис переконфигурировать?

 

1) А я такое и не предлагал.

2) При включении питания надо конфигурировать.

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


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

Для PCI время документировано и составляет 1 секунду (точнее, сколько-то тактов PCICLK). Сейчас лень искать, но эта цифра приведена в спецификации. Так что если успеете за 1 секунду загрузить свою FPGA, то все будет в порядке.
Спасибо за цифры. За 1сек грузить младшие Циклоны-3 даже при POR 200ms- вполне реально. Я проведу испытания на своем компе. - измерю, сколько проходит времени после вкл.питания до первого обращения к слоту PCI. Насколько эта цифра будет универсальной для разных материнок- не знаю, но проверить цифру 1 сек не мешает.

 

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


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

Спасибо за цифры. За 1сек грузить младшие Циклоны-3 даже при POR 200ms- вполне реально. Я проведу испытания на своем компе. - измерю, сколько проходит времени после вкл.питания до первого обращения к слоту PCI. Насколько эта цифра будет универсальной для разных материнок- не знаю, но проверить цифру 1 сек не мешает.

 

По специфиации от снятия резета до момента начала первого конфиг. цикла должно быть не менее 2^25 периодов PCI_CLK.

Для PCI-33 получится 1.006632960 сек.

Для PCI-66 вдвое меньше.

По поводу PCI-X точно не скажу, посмотрите сами если интересно.

 

Наверное за 1 сек. можно вгрузить все, что пожелаете:-)

Например, Spartan-3E\200 грузится примерно за 75 ms. с SPI FLASH

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


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

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

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

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

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

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

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

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

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

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