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

1 hour ago, andrew_su said:

да. я скачал pci32tlite. но вопрос проверенный он или нет. мне нужен 100% рабочий вариант.

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

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


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

Работал с этим:

https://opencores.org/projects/pci

 

Монстрообразный, но проверенный, проблем не было.

Аппаратные компоненты SRAM староваты.

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


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

1 hour ago, gosha said:

Работал с этим:

https://opencores.org/projects/pci

 

Монстрообразный, но проверенный, проблем не было.

Аппаратные компоненты SRAM староваты.

Там Verilog а я пишу в VHDL. Я посмотрел не так уж сложно реализовать PCI. В принципе выставлять сигальные линии на чтение-запись и выставлять адрес-данные на шине AD. Или я что то не понимаю?

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

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


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

14 часов назад, jenya7 сказал:

да. я скачал pci32tlite. но вопрос проверенный он или нет. мне нужен 100% рабочий вариант.

 

За 100% рабочий вариант надо заплатить денег. Очень и очень много денег. 

А все бесплатные ядра применять на свой страх и риск. На то они и бесплатные ядра.

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


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

9 минут назад, jenya7 сказал:

Там Verilog а я пишу в VHDL. Я посмотрел не так уж сложно реализовать PCI. В принципе выставлять сигальные линии на чтение-запись и выставлять адрес-данные на шине AD. Или я что то не понимаю?

Смотря что Вам нужно. В самом первом приближении там действительно всё очень просто, см., например, https://www.fpga4fun.com/PCI.html

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

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


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

1 hour ago, makc said:

Смотря что Вам нужно. В самом первом приближении там действительно всё очень просто, см., например, https://www.fpga4fun.com/PCI.html

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

мне нужен адаптер PCI - PC104. я думаю если адаптировать под свои требования все просто реализуется.

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


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

30 минут назад, jenya7 сказал:

мне нужен адаптер PCI - PC104. я думаю если адаптировать под свои требования все просто реализуется.

 Нет, к сожалению просто не получится. Время транзакции (максимальное) на шине PCI задано стандартом и поскольку шина PC104 медленнее, то задатчику на шине PCI придётся долго ждать и скорее всего это время ожидания выйдет за пределы допустимого, хотя конечно это нужно посчитать. В общем же случае ваше ядро на время выполнения транзакции по шине PC104 должно сгененировать ответ типа Retry, чтобы инициатор попозже обратился за данными не занимая шину PCI и не нарушая протокола. В целом именно так и ведут себя мосты PCI<=>Local Bus/ISA. Приведенный выше пример работает не так, в нем полагается что Slave на шине PCI всегда готов (регистр) к чтению и записи, поэтому там эта часть работы по шине сильно упрощена.

Если не стоит цель разобраться с PCI, то я бы поискал готовое решение типа http://www.ite.com.tw/en/product/view?mid=71

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


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

1 hour ago, makc said:

 Нет, к сожалению просто не получится. Время транзакции (максимальное) на шине PCI задано стандартом и поскольку шина PC104 медленнее, то задатчику на шине PCI придётся долго ждать и скорее всего это время ожидания выйдет за пределы допустимого, хотя конечно это нужно посчитать. В общем же случае ваше ядро на время выполнения транзакции по шине PC104 должно сгененировать ответ типа Retry, чтобы инициатор попозже обратился за данными не занимая шину PCI и не нарушая протокола. В целом именно так и ведут себя мосты PCI<=>Local Bus/ISA. Приведенный выше пример работает не так, в нем полагается что Slave на шине PCI всегда готов (регистр) к чтению и записи, поэтому там эта часть работы по шине сильно упрощена.

Если не стоит цель разобраться с PCI, то я бы поискал готовое решение типа http://www.ite.com.tw/en/product/view?mid=71

интересно. спасибо посмотрю.

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


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

Just now, jenya7 said:

 

Использовал на Cyclone III альтеровское ядро pci_mt32, работает без замечаний много лет, ядро можно достать без затрат для этой ПЛИС. Но программировал на verilog, тогда это был QII 7.2 .... 

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


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

1 hour ago, Serhiy_UA said:

Использовал на Cyclone III альтеровское ядро pci_mt32, работает без замечаний много лет, ядро можно достать без затрат.  

у меня в Quartus его нет.

 

вроде нашел. спасибо.

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

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


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

1 час назад, andrew_su сказал:

Да, тоже кстати вариант. Мы их давным давно применяли и вполне успешно, правда потом отказались по причине перехода на свое ядро PCI в ПЛИС, что в итоге получилось гибче и дешевле.

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


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

On 6/22/2021 at 8:30 AM, jenya7 said:

Там Verilog а я пишу в VHDL. Я посмотрел не так уж сложно реализовать PCI. В принципе выставлять сигальные линии на чтение-запись и выставлять адрес-данные на шине AD. Или я что то не понимаю?

 

Сложно, если разные клоковые домены: "Метастабильность":  Все через FIFO.

Поставьте какую- нибудь  готовую м/сх PCI<-> ISA, и не мучайтесь

http://www.ite.com.tw/uploads/product_download/IT8888F_V0.9_05192005.pdf

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


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

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

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

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

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

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

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

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

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

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