Ironpin

Плисы - Какой К Ним Требуется Гарнир?

88 сообщений в этой теме

Ironpin    1

Привет! :rolleyes:

Вот хочу узнать что такое ПЛИС, как с ними работать, и для чего они нужны. Вообщем то вопросов не так много, в основном, чем они отличаются от МК. И может знаете какую-нибудь литературу, которая дает представление о ПЛИСах и как программировать их.

  • Одобряю 1
  • Не одобряю 2

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
span    6

Посмотрите эту (может устроит):

Гель П. Электронные устройства с программируемыми компонентами

Успехов!

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


Ссылка на сообщение
Поделиться на других сайтах
~D'Evil~    102

МК - это арифметическое устройство, а ПЛИС - логическое - вот основная разница. Так же ПЛИС отличаются довольно высоким быстродействием. По сути в ПЛИС зашивается схема на простых логических элементах (И, ИЛИ, НЕ), чуть более сложных (например дешифраторы, триггеры и т.п.), так же при помощи языков программирования AHDL, VHDL можно описать собственный логический элемент.

Из сред разработки бесплатно доступен Quartus на сайте производителя Altera.

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


Ссылка на сообщение
Поделиться на других сайтах
Lexus    944
Вот хочу узнать что такое ПЛИС, как с ними работать, и для чего они нужны. Вообщем то вопросов не так много, в основном, чем они отличаются от МК. И может знаете какую-нибудь литературу, которая дает представление о ПЛИСах и как программировать их.

Михаил уже сказал основное, :) но я попробую дополнить. Сразу скажу, что речь идет о продукции Altera.

ПЛИС - логическая ИМС. Проще говоря, то, что можно выполнить на дискретной логике (примитивы, триггеры), может быть помещено в одну ИМС. Плюсы очевидны, но основное назначение ПЛИС - работа с данными в синхронном режиме, что недоступно МК. Еще одно отличие от МК заключается в языках программирования. Если МК выполняет команды последовательно, то ПЛИС - параллельно. Самих языков описания ПЛИС три: AHDL, VHDL и Verilog. Самая большая проблема с языками программирования заключается в отсутствии литературы. Исключение составляет книга "Антонов А. П. Язык описания цифровых устройств AlteraHDL. Практический курс.", в которой очень подробно и с примерами описаны команды и структура листинга языка AHDL. САПР, такой как Quartus и Max+Plus, помимо языков программирования, позволяет графически описать конфигурацию ПЛИС. Правда, разработчики Altera такой метод не приветствуют, и не без оснований. Например, в AHDL есть возможность воспользоваться таблицами истинности, гибкой командой CASE IS, то есть тем, что при графическом описании едва ли поместится на лист формата A4. :)

Посетите страницу: _http://www.altera.ru/

P.S. Средство программирования ПЛИС Altera через параллельный порт LPT: _http://www.altera.ru/cgi-bin/go?35

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

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


Ссылка на сообщение
Поделиться на других сайтах
nick17    0
МК - это арифметическое устройство, а ПЛИС - логическое - вот основная разница. Так же ПЛИС отличаются довольно высоким быстродействием. По сути в ПЛИС зашивается схема на простых логических элементах (И, ИЛИ, НЕ), чуть более сложных (например дешифраторы, триггеры и т.п.), так же при помощи языков программирования AHDL, VHDL можно описать собственный логический элемент.

Из сред разработки бесплатно доступен Quartus на сайте производителя Altera.

Не соглашусь! Плис-это и арифметическое и логическое устройство, и микроконтроллер с микропроцессором в одном лице....вопрос в том как построена программа...

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


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

Всё бы хорошо, но современные ПЛИС очень сложны: в них встроены сигнальные процессоры, микроконтроллеры, блоки гигабитного эзернет, беспроводных сетей, сигналы LVDS и.т.д. иными словами для того чтобы с ними работать нужно очень и очень много знаний и денег. Достаточно зайти на сайт xilinx:

http://www.xilinx.com/support/answers/index.htm

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


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

Ни кто не заставляет все это пихать в ПЛИС.

Да и не в каждый кристалл это влезет :)

Просто есть модели для кучи устройств и при необходимости их можно собрать в той комбинации, котора требуется для решения задачи.

А ПЛИС - набор маленьких базовых логических модулей, и собирай на них все что хочешь.

Например нарисовал схему в ORCADe, проверил на модели и запихнул всю логику в один корпус.

Кстати есть сейчас и маленькие кристаллы с небольшим числом вентилей, для простых задач.

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


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

Ку всем :)

Народ (в частности wowa :) ), можете на конкретном примере подсказать литературу, софт и железо? Что-нибудь самого начального уровня.

Скажем, микруху от altera (я так понял, к ним больше документации чем к другим производителям) на сотню логических ячеек, с минимальной ценой, так-же схемку программатора (кроме COM) и софт, который позволяет создать прошивку из схемы, составленной из обычной логики (делать свои таблицы истинности в самом начале изучения плис считаю лишним, а в таком случае ИМХО удобней делать прошивку логической схемой)...

Ну и само собой литературу, желательно похожую на "Шпак Ю.А. Программирование на языке С для AVR и PIC", что-бы объяснялось доходчиво и на примерах :)

С плис раньше дел вообще не имел, знаю только в общих чертах что это такое...

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


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

Можно исходя из >этого< ДШ, т.е. например EPM3064A в TQFP100... вот конкретно этой микрухе какой нужен программатор и софт?

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


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

1 - документация есть для всех типов и свободно!!!! Сколько хотите!!! Сравнительно у всех изготовителей!!! Тяжелее уже с ценами на сами микрушки. Где-то Альтера дороже, где-то Ксайлинкс...

2 - книжки - это проблема... На русском их очень немного.. На английском будет побольше.. Но я не думаю что для того чтобы рисовать схему в програме вам будут нужны книжки :) Там вполне достаточно хелпа. Вот когда поймёте что рисовать схемы не экономично и долго а написать в VERILOG 20 строчек и получите то что надо - потом уже нужно будет изучать VERILOG :) Ну или VHDL...

Исходя из уведённой документации - для програмирования EPM3064A нужен JTAG 3.3v. А какой именно програмер - это уже будет зависить на cофте который будете пользовать. Например MAX Plus II - самый доступный в полной версии и маленький по размеру софтик (40 мега) - умеет только через паралельный порт. А вот Quartus (2 гига + у свободного есть ещё и другие ограничения)- у него уже можно и на УСБ использовать.

И для начала определитесь что будете делать !!! От этого зависит ёмкость кристала !!!!

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


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

NebsteR, какой источник может обеспечить исчерпывающую информацию по конкретным изделиям? Правильно, техническая информация производителя. smile.gif Для Altera есть русскоязычный сайт: http://www.altera.ru/ Там Вы можете найти описание семейства MAX3000A на русском языке (основано на оригинальных документах): http://www.altera.ru/cgi-bin/go?44 Простой ISP программатор для LPT порта: http://www.altera.ru/cgi-bin/go?35 И еще много полезного.

САПР для продукции Altera два: Max+Plus и Quartus. Первый считается устаревшим, но очень легок как для работы, так и для ресурсов ПК. Quartus более развит в функциональных возможностях и поддерживаемых семействах ПЛИС. Quartus загружается с официального сайта Altera после регистрации, временная лицензия предоставляется бесплатно там же, ее можно продлевать сколько угодно раз.

При первом знакомстве удобно работать со схемным редактором (кстати, у "Радиокота" описана работа с Максплюсом), в котором есть как примитивы, так и готовые логические элементы серии 74. Но когда проекты становятся большими и быстрыми, этот метод плохо подходит. Я остановился на "родном" языке Altera HDL (AHDL), как наиболее мне понятном и удобном, хотя наибольшее распространение среди разработчиков получили языки описания VHDL и Verilog. Лучшая (и единственная) книга по AHDL - это А.П. Антонов "Язык описания цифровых устройств AlteraHDL". Если будут вопросы по AHDL, могу привести примеры описания элементов.

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


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

Всем спасибо :)

рисовать схемы не экономично и долго а написать в VERILOG 20 строчек и получите то что надо
Я более чем уверен что так и есть, но тем не менее для первого знакомства имхо лучше схематическое создание :)
MAX Plus II - самый доступный в полной версии и маленький по размеру софтик (40 мега) - умеет только через паралельный порт
Подойдет для начала, к тому-же на коте он описан как оказалось) Ну а порт подойдет любой, если не к ноуту, то к старому системнику точно подключу :)
И для начала определитесь что будете делать !!! От этого зависит ёмкость кристала !!!!
эээ :huh: ... понятия не имею :) Наверное для начала какую-нибудь моргалку как и самую первую свою программу на мк, бегущий огонь, а дальше будет видно :)

Или они для одноразовой прошивки? :huh:

Там Вы можете найти описание семейства MAX3000A на русском языке (основано на оригинальных документах)
Был там, не нашел этого почему-то, навигация у них неудобная :( почитаем...
Лучшая (и единственная) книга по AHDL - это А.П. Антонов "Язык описания цифровых устройств AlteraHDL"
Уже скачано и дожидается своего времени :)

Да, кстати, немаловажный вопрос, есть симуляторы для плиса (для max3000a в частности), подобные протеусу? Из параллельной темы про quartus узнал что вроде как там есть внутренний симулятор/отладчик, а как быть с периферией микрухи? Т.к. в общем-то к протеусу привык :)

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


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

Все пакеты - и МАХ тоже - содержат в себе симулятор. Но для того чтобы его запустить надо задавать или тестбенч или вручную сигналы мышкой попереключать...

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


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

Чтобы использовать ПЛИС для светодиодной мигалки, потребуется низкая частота такта, иначе никаких ресурсов не хватит. Для первого проекта можно попробовать сделать синхронный счетчик или мультиплексор. Последний, если выполнен не синхронным, не требует такта. Гарантированное число циклов перезаписи при программировании серии MAX составляет 100.

Симулятор встроен как в Max+Plus, так и в Quartus. Для симуляции лучше использовать файл вектора входных сигналов, так как редактор не умеет задавать произвольные параметры, ограничиваясь меандром со скважностью 2.

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


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

4060 с кварцем в качестве тактового генератора для моргалки :)

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


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

NebsteR, ну прямо те же вопросы задал какие и мне интересны. Сделал уже чё нить?

Я вот думаю может есть конкретные примеры проектов(только попроще).

Радует обилие ножек у ПЛИСок, такого не скажешь о МК.

Как я понял на одной из них можно сделать например 2дес. счётчика, MUX 32вх/1вых, дешифратор для 7-индикатора, +десяток таймеров, а потом поменять прошивку и заменить десятичные счётчики на 16-ные.

Интересно а вилка цен на них какая (из опыта посвящённых)?

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


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

GDK, Вы поняли все правильно. :) ПЛИС - очень гибкие в функциональных возможностях изделия. Цены на любой кристалл можете узнать здесь: http://altera.ru/cgi-bin/price/price Характеристики семейств можно просмотреть через меню Продукция -> Микросхемы.

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


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

Если писать языком програмирования то замена счётчика - ровняется замене ОДНОЙ ЦЫФРЫ в коде!!!

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


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

wowa, не всегда так. Но в большинстве случаев изменение нескольких строчек в текстовом описании может полностью изменить алгоритм работы, что может быть равносильно составлению новой графической схемы. Разумеется, языки описания поведения ПЛИС предпочтительны, но иногда проще нарисовать цифровую схему.

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


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

Я имел ввиду что если один раз описать счётчик и несколько раз его попользовать - то достаточно просто в програме изменить ДО СКОЛЬКА ему считать.. и получится из 10тичного 16ричный :)

И уж точно не быстрее нарисовать.. Покрайней мере не для меня :)

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


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

Цены сравнимы с ценами на МК. Можно экспериментировать. Пора наверное гуглить самоучитель ПЛИС. А то чё то глянул даташит на одну из моделек и мало что понял - похоже отстаю от жизни.

Да, спасибо.

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

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


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

А даташит и не ососбо поможет.. Тут главное надо читать книги относящиеся к софту... В даташиту можно только номера ножек взять...Ну и размер корпуса и подключение програмера/ЕПРОМ.

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: rekrut1993
      Добрый день всем!
       
      Говорю сразу, что я начинающий разработчик FPGA и опыта огромного нет, а эту задачу мне дали в качестве курсовой работы. Поэтому, заранее говорю спасибо всем откликнувшимся!
      Задача состоит вот в чем:
      Есть FPGA Altera Cyclone IV на которой нет сетевого модуля под Ethernet, но есть сетевой модуль Arduino ENC28J60.
      Стоит задача написания драйвера для взаимодействия сетевого модуля Adruino и ПЛИС через протокол SPI, причем с возможностью отсылать данные(по Ethernet) на плис с компьютера(как я понимаю на стороне компьютера должен быть написан клиент для соединения с модулем Adruino), к примеру, буфер размером 64Кб(Но в идеале размер буфера может регулироваться на стороне клиента) и получения уведомления от ПЛИС о принятии этого буфера. Почитал про протокол SPI, теория понятна. Понятно как это должно работать(на основе двух 8-битовых сдвиговых регистров), понятно , что ПЛИС будет выступать в качестве Master-устройства. а Arduino в качесвте Slave-устройства. Понятно как их подсоединить (4 провода: MISO, MOSI, SCLK и SS(slave select)). Есть так же идея реализовать на стороне ПЛИС(Master-устройство) 3 функции на языке Verilog: 1 - функция инициализации, которая будет говорить модулю Adruino о том, что сейчас будут посылаться данные с компьютера, 2 - функция чтения одного байта с сдвигового регистра ардуино, 3 - функция записи одного байта в сдвиговый регистр ардуино.  Но а что тогда должно быть на стороне Arduino(Slave-устройство)? На каком языке и что нужно там описать? С пониманием небольшие трудности. Так же не понятно как это все должно взаимодействовать с компьютером? Какую библиотеку использовать для отсылки данных на модуль Arduino? Использовать сокеты? Подойдёт ли Boost asio или может что-то другое?

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


    • Автор: grigorie
      Нужен срочно спец по плисам, желательно понимающий в СВЧ. Имеются образцы радиодальномеров, которые выдают дальности друг для друга. Мы готовимся сделать новую партию, но некоторые компоненты устарели и уже не выпускаются. Есть описание дальномеров, ТЗ и дополнительные документы. Нужно немного подправить ТЗ, по которому будут выпущены новые радиодальномеры и их надо запрограммировать. Григорий 8-911-196-88-29, принимаю звонки в выходные тоже, gvandri21@gmail.com  СПБ
      TZ_REM.doc
      БРНЗ_РЭМ_РД_1.doc
      Краткое описание дальномеров.doc
    • Автор: MaDiEQ
      При проектировании устройств какие конструкции языка VHDL лучше использовать ?
      1 State machine организовывать как переменную со своим типом state1, state2 ... или можно создать variable state: natural range 0 to (конечное состояние):=0; Какая конструкция будет занимать меньше ресурсов?
      2 Операторы ветвления if else или case?
      3 Если нужен переход по изменению сигнала wait или опять же if?
      4 Как использовать Component / port map? использую только в тестбенче но возможно так вот кодом соединять провода нескольких файлов vhd? хотелось узнать
    • Автор: gena334
      EPM7128S-100. Перед началом програмирования на вкладке Defvice не установил галочку "Enable Jtag Support"
      Выдается сообщение что JTAG не доступен. Подскажите пожалуйста как можно помочь моему горю. Я первый раз прошиваю ПЛИС
    • Автор: Braimik
      Необходима помощь в реализации . НА входе разрешающий сигнал то бишь нажатие однократное кнопки. и тактовый сигнал, на выходе логическая единица пока на выходе идут тактовые импульсы в количестве 15 шт. то есть я нажал, и происходит цикл повторений тактовых импульсов на выходе равных тактовой сигналу. и одновременно логическая единица которая по времени столько же сколько и тактовые импульсы пока они не закончатся. не представляю как это реализовать