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
() автор топика

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

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 ★★★★
()
Ответ на: комментарий от anonymous

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

который packet based

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

anonymous
()
Ответ на: комментарий от 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)
Ответ на: комментарий от anonymous

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ты дебил. Абсолютно насрать, что там на хосте. По сравнению со сложностью (и стоимостью) ресурсов ПЛИС это все фигня. Поэтому исходить надо их простоты реализации на стороне ПЛИС. И для банальной передачи данных 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 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.