LINUX.ORG.RU

Проектирование на ПЛИС

 , , , ,


1

2

Предисловие:
Наша кафедра связи недавно закупила альтеровских ПЛИСок и хочет заделать из них лабораторные установки.Соответственно встал вопрос о том, кто этим всем будет заниматься. На кафедре всего один аспирант, хоть как то в них разбирающийся. Программировал он на quartus(ЯП verilog),программную оболочку делал на C++, связывал это всё наработкой питерских ребят.

Собственно вопросы:

  • Как и чем обычно пользуются другие разработчики ПЛИС?
  • Чем лучше организовывать передачу данных по USB?
  • Ну и хотелось бы ещё парочку советов и наставлений по теме от гуру электроники. :-[



PS Я - студент, энтузиаст, привлеченный к работе преподавателем.

Как и чем обычно пользуются другие разработчики ПЛИС?

Мы быдлокодили альтеровские циклоны при помощи AHDL, но он завязан на альтеровское железо.

olibjerd ★★★★★ ()
Ответ на: комментарий от olibjerd

Мы быдлокодили альтеровские циклоны при помощи AHDL, но он завязан на альтеровское железо.

Ясно).А какую задачу выполняла ПЛИС, тоже лабораторная установка, или посерьёзней?

artemka91 ()

в универе быдлокодили на AHDL пару лабораторок. сейчас я плисами не занимаюсь, но коллеги по работе используют достаточно широко xilinx. пишут на vhdl.

про usb вопрос не понял) что значит «чем»?

ymn ★★★★★ ()
Ответ на: комментарий от artemka91

А какую задачу выполняла ПЛИС

Лабы по цифровой схемотехнике делали, лампочками мигали. Ничего серьёзного.

olibjerd ★★★★★ ()
Последнее исправление: olibjerd (всего исправлений: 1)
Ответ на: комментарий от ymn

про usb вопрос не понял) что значит «чем»?

Нужно, чтобы плиска передавала информацию в компьютер написанной нами программе. Как это организуется?

artemka91 ()
Ответ на: комментарий от artemka91

Нужно, чтобы плиска передавала информацию в компьютер написанной нами программе. Как это организуется?

В ПЛИСе реализуется ответная логическая часть какого-нибудь распространённого способа передачи данных, под который драйвера есть (сетевая карта, USB-девайс, последовательный порт, etc), на нужные ноги вешается физическая часть интерфейса. Ну или отдельный микроконтроллер соединяется по шине с ПЛИСиной и уже в нём реализован какой-нибудь USB-девайс.

dn2010 ★★★★★ ()
Ответ на: комментарий от dn2010

Эта часть ясна. Ребята из питера сделали что то вроде генератора программной оболочки - клиента, который каким то магическим образом организовывал передачу данных между плиской и прогой по usb.Исходник пока не имеется. Как они примерно смогли это организовать? Есть ли ещё специальные для этой проблемы программные средства?

artemka91 ()
Ответ на: комментарий от artemka91

На opencores есть юзабельные usb-хосты.

anonymous ()
Ответ на: комментарий от artemka91

Как они примерно смогли это организовать?

элементарно. написали/нашли/стырили vhdl/verilog/etc-описание интерфейса USB. снаружи плис воткнули микросхему USB PHY.

и, собственно, всё). дальше надо задать vid/pid, end-point'ы на прием и передачу и выбрать формат обмена (bulk, etc).

В чем, собственно, проблема? у любых уважающих себя производителей есть примеры кода для своей продукции. поищите эти примеры в сети/на диске с отладочной платой.

ymn ★★★★★ ()
Ответ на: комментарий от artemka91

Да ничего не надо, UART с одной стороны и usb-serial с другой.

anonymous ()

Всем спасибо за ответы. Пока читаю доки и брожу в интернете по вопросу.

artemka91 ()

Как и чем обычно пользуются другие разработчики ПЛИС?

VHDL. AHDL забудь и не вспоминай

Чем лучше организовывать передачу данных по USB?

Сначала подумай - а нужен ли тебе УСБ? Я в далеком 1998 реализовывал UART на AHDL. Как два пальца. Сейчас UART можно без проблем скачать в Инете. Ну а дальше RS232<->USB converter

Ну и хотелось бы ещё парочку советов и наставлений по теме от гуру электроники. :-[

Тебе сюда: http://telesys-ru.1gb.ru/wwwboards/vhdl/index.shtml

velikS ()

Работал немного с xilinx. Пользовался штатным IDE.

по USB

Хейтометр в красной зоне. You do it wrong. Нахрена парится с криворуким китайским усб, если можно взять православный ethernet, который packet based и не требует никаких дров/libusb etc?

nanoolinux ★★★★ ()
Ответ на: комментарий от nanoolinux

Ты идиот?

Ethernet контроллер в десять раз больше чем тупой uart.

anonymous ()
Ответ на: комментарий от anonymous

>и не требует никаких дров/libusb etc
>libusb
>usb

Ты идиот?
Ethernet контроллер в десять раз больше чем тупой uart.

Очевидно, кто из нас идиот.

nanoolinux ★★★★ ()
Ответ на: комментарий от nanoolinux

Очевидно, что ты идиот. Повторяю для идиота: посчитай, сколько займет uart на кристалле, и сколько займет даже самый простой контроллер Ethernet.

anonymous ()
Ответ на: комментарий от nanoolinux

И еще, про какие такие «дрова» ты говоришь, идиот?!?

anonymous ()
Ответ на: комментарий от anonymous

Нет, идиот ты. Я вообще ничего нигде про юарт не писал. Я ругал юсб.

Сравнивать юарт и езернет, и даже предполагать, что кто-то здесь это делает будет только идиот. Так что ты идиот.

nanoolinux ★★★★ ()
Ответ на: комментарий от nanoolinux

Нет, идиот ты. Я вообще ничего нигде про юарт не писал. Я ругал юсб.

Нет, идиот все таки ты, школоло ничтожное.

Для реализации простейшего USB-serial на кристалле достаточно разместить тупой UART. Все. А теперь расскажи, считающее себя безосновательно не-идиотом школоло, как ты будешь реализовывать Ethernet на ПЛИС, и попробуй мотивировать такой идиотский расход ресурсов.

anonymous ()
Ответ на: комментарий от nanoolinux

При чем тут ляликс, убожество ты никчемное?

Ты собрался ляликс на ПЛИС гонять? Вперед. Посмотрим, что у тебя на кристалл влезет после того, как ты туда полноценную SoC с Ethernet-ом, CPU, MMU и прочим барахлом навесишь.

anonymous ()
Ответ на: комментарий от nanoolinux

который packet based

И еще, где ты пакеты складывать собираешься? Память на FPGA не резиновая, ей можно найти намного лучшее применение.

anonymous ()
Ответ на: комментарий от anonymous

Я - студент, энтузиаст,

полноценную SoC

ну ты и тормоз.

nanoolinux ★★★★ ()
Ответ на: комментарий от anonymous

Память на FPGA не резиновая,

Прямо передо мной лежит плата со спартан6 и 32 МБ сдрам, да.

Нет, какой же ты всё таки придурок.

nanoolinux ★★★★ ()
Ответ на: комментарий от nanoolinux

ну ты и тормоз.

Тормоз - ТЫ. Потому как ты собрался общаться с ПЛИС по Ethernet. Да еще и какие-то там драйверы для какого-то там ляликса упомянул. Где ты ляликс на ПЛИС собрался заводить, с драйверами и ethernet-ом? Правильно, тут целая SoC потребуется.

А для usb-serial достаточно самый тупой uart реализовать и припаять usb-разъем к двум ножкам FPGA.

anonymous ()
Ответ на: комментарий от nanoolinux

Прямо передо мной лежит плата со спартан6 и 32 МБ сдрам, да.

О да, молодец, поздравляю, ты школоло еще более ничтожное, чем я думал. Добавь теперь DDR-контроллер (посмотри, сявка, какого размера какашку сгенерит Xilinx MiG). Я уж молчу о том, с какой скоростью эта память работает в сравнении с блочной памятью на кристалле.

И все это только потому, что мол ethernet «православный». Ты, чувак, абсолютно невменяемое ничтожество. Религиозных фанатиков надо истреблять.

anonymous ()
Ответ на: комментарий от anonymous

собрался общаться с ПЛИС по Ethernet

Именно.

ляликса

Так говорят только идиоты.

Где ты ляликс на ПЛИС собрался заводить

Я этого не писал. Ты идиот.

nanoolinux ★★★★ ()
Ответ на: комментарий от nanoolinux

Прямо передо мной лежит плата со спартан6 и 32 МБ сдрам, да.

О да, молодец, поздравляю, ты школоло еще более ничтожное, чем я думал. Добавь теперь DDR-контроллер (посмотри, сявка, какого размера какашку сгенерит Xilinx MiG). Я уж молчу о том, с какой скоростью эта память работает в сравнении с блочной памятью на кристалле.

И все это только потому, что мол ethernet «православный». Ты, чувак, абсолютно невменяемое ничтожество. Религиозных фанатиков надо истреблять.

anonymous ()
Ответ на: комментарий от nanoolinux

Именно.

Вот и рассказывай, ничтожество, чем же это лучше USB-serial. Как мы уже выяснили, кроме ethernet-контроллера придется еще DDR-контроллер вешать, арбитр, шину какую-либо изобретать, и много чего еще. И все только для того, чтоб получить данные от хоста. Тогда как с usb-serial хватит UART.

Я этого не писал. Ты идиот.

А чего тогда про «драйверы» какие-то вонял, убожество?

anonymous ()
Ответ на: комментарий от nanoolinux

Рассказывай, недоумок, как ты будешь мотивировать такой расход драгоценных ресурсов на ПЛИС. Пока что ты, сучка, кроме своей религии никаких аргументов не приводил (мол, ethernet «православный», а USB «китайский»). Мне страшно даже подумать, как ты к JTAG относишься.

anonymous ()
Ответ на: комментарий от anonymous

кроме ethernet-контроллера придется еще DDR-контроллер вешать

ddr пишется руками за 5ть с половиной минут. Езернет контролёра нету только на убогих платах для бедных идиотов, таких как ты.

шину какую-либо изобретать

типичный vhdl только и состоит из сигналов и шин.

и много чего еще

Ты ещё забыл блок питания на +5В упомянуть, да.

А чего тогда про «драйверы» какие-то вонял

Если ты так и не понял про какие дрова я писал, то ты дебил. Конкретный дебил.

nanoolinux ★★★★ ()
Последнее исправление: nanoolinux (всего исправлений: 1)
Ответ на: комментарий от anonymous

мол, ethernet «православный», а USB «китайский»

Твой диагноз очевиден. Звони 03, тебе там помогут.

nanoolinux ★★★★ ()
Ответ на: комментарий от nanoolinux

Сучка, ты точно школоло. Только школоло будет упорствовать, когда его рылом в говно макнут.

Итак, грязная сучка, я жду конкретики. Сколько ресурсов ПЛИС у тебя ушло на минимальную поддержку ethernet? Сколько тактов уходит на чтение одного байта?

Я конечно же понимаю, что ты диванный теоретик, и ничего сам на ПЛИС не делал, но все равно будет смешно тебя опустить.

anonymous ()
Ответ на: комментарий от anonymous

Я конечно же понимаю

Торжество субъективизма.

что ты диванный теоретик

Фейл.

тебя опустить

До своего уровня? Нет уж, извольте.

nanoolinux ★★★★ ()

Verilog HDL + Xilinx || Quartus, средства от вендора. Подымать USB на плисе задретесь, для лаб хватит ft232rl подцепленного к плисине для обмена. Соотственно первая лаба - навериложить уарт и отправить хосту хеллоу.

AiFiLTr0 ★★★★★ ()
Последнее исправление: AiFiLTr0 (всего исправлений: 1)
Ответ на: комментарий от nanoolinux

Ну так сколько lut-ов и mux-ов в твоей ethernet-какашке, «не теоретик»?

anonymous ()
Ответ на: комментарий от anonymous

Днище бесполезное.

Давай я тебе разжую то, что он сказал:

ТС сказал, хочу чтобы плис общалось с компутером, на котором бохтымой ляликс( да, да, идиот). И дабавил к этому «хочу усб».

nanoolinux сказал, что усб(ТС говорил об юсб, а не о твоём ущербном недопероходнике) говнище китайское и я его поддерживаю, ибо это говно любой уважающий себя человек юзать не будет и нужно оно только чтобы подрубать усб-китайский, бесполезный обвес.

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

Констатирую - ты бесполезный идиот, патамучто вопервых - туп как дерево и не можешь уловить суть разговора и два - ламерок со слишком большим ЧСВ.

anonymous ()
Ответ на: комментарий от nanoolinux

Нет, какой же ты всё таки придурок.

Он болен вирусом Луговскера, не обижайся на него.

А тема да, полезная - про ПЛИС. У меня один знакомый на ПЛИС стек TCP/IP наваял =)

pacify ★★★★★ ()
Ответ на: комментарий от pacify

У меня один знакомый на ПЛИС стек TCP/IP наваял =)

Если фофан, то ради Бога. А если для того, чтобы тупо передавать данные с хоста на ПЛИС, то он идиот, зря разбазаривающий ценные ресурсы. Лучше на месте ethernet-контроллера и лишних выходов арбитра шины больше полезной логики повесить.

Вообще, конечно же, и USB тоже отстой, проще, удобнее и разумнее всего - банальный PCI.

anonymous ()
Ответ на: Днище бесполезное. от anonymous

Re: Днище бесполезное.

Ты дебил. Абсолютно насрать, что там на хосте. По сравнению со сложностью (и стоимостью) ресурсов ПЛИС это все фигня. Поэтому исходить надо их простоты реализации на стороне ПЛИС. И для банальной передачи данных Ethernet там явно неуместен.

anonymous ()

ТС, ипользуй FTDI-микросхемы, прилепи их к ПЛИС и радуйся. В ПЛИС ставь простейший UART на максимальные 3 мегабита если не ошибаюсь в FTDI такое есть - и всё.

Разрабатываю на FPGA от Xilinx, пишу на Verilog.

http://www.ftdichip.com/Products/ICs/FT230X.html

FT230X – Full Speed USB to Basic UART

This USB2.0 Full Speed IC offers a compact bridge to basic UART interfaces. The device is a UART, capable of operating up to 3MBaud, with low power consumption (8mA). The FT230X includes the complete FT-X series feature set and enables USB to be added into a system design quickly and easily over a UART interface

Data transfer rates from 300 baud to 3 Mbaud.

Под Linux из коробки и под прочие ОС драйвера есть, работать как со стороны ПК так и со стороны ПЛИС - проще простого.

I-Love-Microsoft ★★★★★ ()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от anonymous

Да ничего не надо, UART с одной стороны и usb-serial с другой.

Кстати, это еще более разумный и простой способ. Вот именно этот способ я применяю в работе.

I-Love-Microsoft ★★★★★ ()

Verilog (или VHDL, но его я не люблю) + Xilinx (можно скачать бесплатно без смс Xilinx Webpack, пройдя анальную регистрацию на их сайте).

AHDL закопать

V_L_A_D ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.