Простейшая макетная плата для ПЛМ EPM7064S фирмы Altera

Давненько я хотел добраться до программируемой логики, и вот в прошлом году я-таки дотянулся до нее своими шаловливыми рученками.
В качестве объекта для изучения была выбрана микросхема EPM7064SLC44-10 производства фирмы Altera, т.к. имелась у меня в чумодане в нескольких экземплярах. Эта микросхема относится к достаточно старому семейству программируемой логики MAX7. Достоинством ее (кроме наличия у меня в заначке) можно считать корпус PLCC44, что не вызывает проблем с пайкой, а так же дает нам на выбор 2 типа панелек для установки (смд и выводные). Так же к достоинствам можно отнести напряжение питания 5В и сохранение конфигурации во встроенном EEPROM, что избавляет схему от разного дополнительного обвеса.
В общем для тех, кто хочет попробовать что такое ПЛИС, но не знает, с чего начать, нужно или не нужно, какую демоборду покупать (дорогую или очень дорогую), я предлагаю простейший вариант отладочной платы, который можно собрать дома на коленке за один вечер.


1. Схема платы:

Схема в PDF

Крупнее схему сделать так и не получилось. Качайте PDF файл или в конце файлы PCADа.

По схеме ничего сложного: Конденсаторы 100нф по питанию у каждой пары выводов, резисторы подтяжки для JTAG линий 1кОм, индуктивность по питанию в качестве дополнительного фильтра, 10ти пиновый разъем JTAG совместимый с адаптером Altera Byte Blaster MV, разъем питания, все ноги заведены на PLS контакты, параллельно им установлены PLSки с землей.

2. Разводка:
Разводка отладочной платы для EPM7064S

Разводку я выполнял в PCAD-2002. Основная сторона металлизации снизу. По верху бросил несколько перемычек, т.к. лень было заморачиваться с их разводкой по одной стороне. На плате я их вообще выполнил проводами, чтоб не тратить 2-х сторонний текстолит. Для установки микросхемы я использовал выводную панельку для PLCC44.

3. Общий вид готовой платы:

Вид готовой отладочной платы для EPM7064S
Сделано по простому, сильно не пинайте. Обратную сторону не покажу. Это одна из первых моих плат сделанная ЛУТом, потому снизу выглядит не презентабельно… Главное работает.

4. Приложенные файлы:
В прикрепленном к статье архиве находятся файлы PCB и SCH для PCAD-2002

В общем отзывы и комментарии приветствуются…



  • +3
  • 07 марта 2011, 21:48
  • Ultrin
  • 1
Файлы в топике: 7064S_otl_1.zip

Комментарии (53)

RSS свернуть / развернуть
То, что плату замастырил — это хорошо. Но гораздо лучше и интересней было, если бы описал как строить для ПЛИС программы, и хотя бы азы языка, на котором оно пишется.
+1
Это есть в проекте. К тому же я надеюсь что подтянутся господа Гуру, а то я буду тут народ быдлокоду на VHDL учить… :)
0
Вряд ли тут такие найдутся, а то бы давно уже написали. Не пользуются ПЛИСы популярностью в народе.
0
Большие потому что. Малоногие особо ни на что негодные, а какие нибудь 100500 ногие позволяют в себе что угодно зашить, но как бы нафиг не нужны для любителя. Я вот до сих пор даже не знаю зачем мне ПЛИС. Ну круто, но все свои задачи я на МК решить могу.
0
Да есть тут гуру, в форуме постоянно кто-то палится :) То что лениво и сложно это да. А я в этом деле новичок и могу описать только то, что сам сделал, прчитал или допер мозгом. Но вот на сколько я правильно все выполнил — я сказать не смогу…
0
Специфика форума несколько другая, более направленная на МК. А спецов везде много обитает ))
0
Создал раздел ПЛИС и перенес туда. Если будешь править статью, то чтобы ее не кинул тебе в личный блог или еще куда надо будет предварительно вступить в блог ПЛИС.
0
Спасибо
0
ПЛИСы вещь хорошая и полезная, допустим мне приходилось их пользовать для построения цифровых фильтров, на VHDL кроме как триггеров ничего и не написал)) графическим мастером можно большинство создать, юзать их полезно если надо либо быстро обработать сигналы, либо перенести кусок схемы на логике в один кристалл.
0
Если напишите статью по использованию граф. редактора для программирования плис — будет круто. Я с графическим вводом не ковырялся совсем, сразу стал копать VHDL.
0
Думаю скоро получат широкое распространение системы на кристалле(СнК), которые содержат в себе аппаратно реализованный контроллер, логическую матрицу и аналоговые блоки, типа АЦП. Вот там как раз пригодится знания архитектуры ARM процессора и какого-нибудь языка разработки цифровых систем, типа VHDL или Verilog. Правда у Altera по-моему свой язык AHDL.
0
Программы от Altera поддерживают 3 языка как минимум: AHDL, VHDL и Verilog

Лично имел дело только с AHDL в старенькой программе MaxPlus
Могу попытаться написать статью, если это заинтересует кого-нибудь
0
Конечно напишите. По VHDL я уже пишу. А так получится в итоге полный комплект, особенно если найдется кто-то, кто по Verylog-у тоже напишет. Литература в сети есть, но зачастую написана таким сухим и заумным языком, что читать невозможно. Хотя в качестве справочника или для выяснения тонкостей применения языка литература нужна обязательно.
0
Начал писать
начинал было изучать Verilog, но пока особого применения для него не нашел: для старых дешевых Альтер он слишком абстрактный и не всегда позволяет оценить количество используемых вентилей (а если их всего 256, то проблема очень актуальна)
0
Интересно было бы, если кто нибудь на System C какой-нибудь пример выложил.
0
Я тоже занимаюсь ПЛИС. Могу написать насколько статей по VHDL и Quartus, можем объединить усилия.
0
Сейчас пишу по простейшей программе на VHDL. Если будут какие-то неточности и дополнения — очень буду рад помощи. И еще, я с Квартусом совсем неработал. Поставил, ненашел нужной мне серии и пересел на MaxPlus. Так что статья по квартусу нужна однозначно…
0
Забудьте о максе. Старый он и не поддерживается :)
0
Самодельные туториалы можете поглядеть здесь: www.zx.pk.ru/showthread.php?t=9342
Там есть и мои статейки по схемному вводу.
Сейчас пишу новую большую доку по созданию ретрокомпьютеров на ПЛИС большой емкости (Семейство Циклон), на VHDL.
Там же есть и несколько сумбурное, но полезное описание работы с VHDL от alost'a.
ПЛИСы — не проблема, мне например на МК писать код сложнее чем для ПЛИСы.
0
А он паябельный, циклон? Видел на фотках внутренностей ригола Cyclone III — большая квадратная BGA. Такую даже промышленно только на многослойке развести…
0
TQFP чем не паябелен? Я уже больше десятка чипов запаял обычным паяльником. Никаких проблем. А в сторону BGA пока даже не смотрю.
0
Мм, тогда ждем статей :)
А вообще хочется обзорно-вводную статью на предмет выбора ПЛИС-ки — какие из них подходят для любителей (паябельный и разводибельный корпус, вменяемая цена), какие из них что могут.
0
Для домашнего паяния вполне подходят корпуса DIP (древние ПЛИСы типа GAL20V10, ATF16V8… Не рекомендую), PLCC44, PLCC84, TQFP100, 144, 208, 244 (шаг лапок — 0.5мм). И под те, и под другие годится лазерно-утюжная технология. Корпуса типа BGA — конечно круто, но нужно быть джедаем муфельной печки.
Для засовывания нескольких микросхем в один чип применяют ПЛИСы типа CPLD (Серии MAX, MAXII). Цена от 80 рублей. ПЛИСы типа FPGA (Cyclone, Stratix) уже изначально позволяют запихнуть в себя кроме логики еще и процессорное ядро. Помимо этого обязательно имеют встроенное ОЗУ, которое может служить и как ПЗУ. Т.е. в данном случае МК в связку практически не нужен, любая задача легко решается только ПЛИСой. Есть еще FPGA поменьше емкостью (Acex), туда запихуемо большое количество логики, но процик уже не влезет.
Все CPLD — энергонезависимы, хранят прошивку во встроенной флешь-памяти и стартуют сразу после подачи питания.
FPGA — сделаны по технологии SRAM, т.е. после включения закачивают в себя прошивку с внешней сериал-ПЗУ. Загрузка длится доли секунды (клок загрузки около 20Мгц) и задержка практически незаметна. Все FPGA кроме того имеют разнокалиберное питание для ядра и для лапок ввода/вывода, требуется пара-тройка стабилизаторов типа LM117 или аналогичных. Также FPGA имеют несколько встроенных синтезаторов частоты клока. Т.е. подавать клок на ПЛИС можно любой частоты, синтезировать внутри нужную — не проблема.
0
Я знаю список паябельных корпусов) BGA на самом деле тоже паябелен… Но вот плату под него придется заказывать. Меня скорее интересует список интересных ПЛИС в паябельных корпусах.
0
Кстати, вопрос к автору — что из себя представляет выбранная ПЛИС, чем нафарширована, на что способна?
0
  • avatar
  • Vga
  • 09 марта 2011, 08:55
Я не аффтар, но могу ответить.
EPM7064SLC44 — ПЛИС типа CPLD, т.е. снабженная флешь-памятью (около 7кб) для хранения прошивки. В унутре у нее 64 макроячейки. Это несколько сложно объяснить на пальцах, но десяток микросхем обычной логики (элементы, регистры, триггеры, прочая лабудень) туда помещается.
Эта серия уже снята с производства (вместо нее делают трехвольтовые EPM3064), но их еще дофига на складах. Для любительских целей они — самое то. Пятивольтовое питание, нагрузка выхода вроде как 24мА. Светодиоды легко потянут. Стоимость — от 120рэ. Корпус PLCC44, легко паяется на плату или фтыкается в панельку. Для питания крайне рекомендую ставить фильтр на нескольких 0.1мкф и обязательно 22...100мкф. ПЛИСы не любят скачков напряжений питания. В остальном она работает как танк. Для проектирования можно использовать древний MAX+ или современный Quartus. Прошивка делается на любом из существующих языков программирования ПЛИС, или на простом схемном вводе.
0
Ewgeny7, спасибо за развернутый ответ. Я пока в коммандировке на медленном инете, да и не смог бы ответить так подробно…
0
Еще, вопрос: А не могли бы Вы написать статейку, каким образом правильно использовать сигналы типа GLOBAL CLK. Практически все ПЛИС имеют по несколько глобальных линий тактирования, но я так и не понял как ими правильно пользоваться…
0
На сколько я понял отличие их от обычных это то, что внутри провод физически подключен ко всем блокам и задержка сигнала будет минимальная. Пользоваться как обычно, к выводу подключаем генератор, а в проекте тактовый сигнал к этому пину.
0
Вопрос в том, как это описать. Как сказать IDE что это у меня тактовый сигнал для всего и я хочу пользовать глобальную линию? Эти линии имеют связь с конкретными ногами, на сколько я понял из даташитов, но заставить мах заводить на эти ноги клок я так и не смог…
0
скачайте Квартус, если успею покажу как создать проект в Квартусе с вашим счетчиком.
0
А сколько у ней циклов перешивки флеша? А то что меня от всяких ПЛИС останавливало, так это то, что у них буквально сотня циклов перепрограммирования, а дальше в помойку. Я ж ее за день сшоркаю :) Либо нужен внешний обвес из еепромки, где будет храниться память и на лету подгружаться.
0
Это только в даташите так написано, вот www.marsohod.org/index.php/ourblog/11-blog/91-killmax у них MAX II выдержал 13940 циклов
0
Точно знаю что на MaxII от altera они заявили 100 циклов. Реально сильно много больше. Даже проверяли.
0
У меня до сих пор периодически используется EPM7032, которую я купил лет пять назад… Циклы не считал, но там явно много больше сотни. Мне кажется, надо все-таки ближе к 1000 надеяться :)
0
Бесконечное количество перезаписей у FPGA. Они как раз для «фиксации результата» используют внешнюю епромку. А так в них можно заливать хоть до скончания века. Я себе умудрился купить три Циклона EP1C3T100 по 128 рублей за штуку. Китайских. Потом как ни искал, предлагают только америкосные по 300 рэ. Это наипростейшая FPGA, всего сотня ног (можно использовать под I/O всего 65 ног). Но я первую версию Ориона-2010 именно в нее впихнул, вместе с процессором )). Рекомендую начинающим.
0
на marshohod.org как-то проводили тест, можешь поискать там. но суть была такова. что они скриптом много раз подряд переписывали чип и верифицировали. и не смогли добиться того, чтобы он сдох
0
у меня есть плата с epf8282alc84-4 (от старого кассового аппарата по ходу, но точно сказать не могу)
не знаю правда рабочая или нет (покупал на местной барахолке)
как ее выпаять (корпус аналогичный выше данной EPM7064SLC44 — PLCC44) без насадки
к паяльному фену
Сам фен есть, какая нужна температура и как бы это сделать не перегрев кристалл подручными средствами
Помогите пожалуйста новичку =)
0
Температуру на 350, поток по желанию (я бы поставил повыше — быстрее микра прогреется, маньше на нее будет высокая температура воздействовать, а сдуть запаянные компоненты не так просто, да и несущественно). Греть, периодически тыкать пинцетом. Как поддастся — можно снимать. Если вокруг есть что-то ценное, не держащее температуру — сперва выпаять. И электролиты по соседству убрать.
0
Только осторожно!!! Это не CPLD а самая настояшая FPGA с 282 ячейками :) Для её работы нужна конфиг память… У меня таких и немного побольше (epf8452) полная коробка… Вся проблема встала при их конфигурации… Где то валялся у меня проэктик на атмега8 и at24c64 для конфигурации FLEX8000… Ну и главная проблема в том что новый квартус эту серию уже не умеет вообще никак… приходится для этого использовать MAX Plus II…
0
да, там на плате есть пару электролитов и еще вот такая вещь как контроллер памяти sony cxk582000th
и непосредственно EPROM NM27C010 (даташит www.ece.auckland.ac.nz/archives/datasheets/national/nm27c010.pdf)
еще есть интересный микроконтроллер philip'совский P87C58UBPN но это уже другая история...
0
cxk582000th — это статическая RAM память 32Kb
P87C58UBPN — х51 контролер с ПЗУ который нельзя перешить.
0
Ну он скорее всего может от внешней ПЗУ работать. Если фузами не запрещено (и по видимому фузы в нем тоже одноразовые).
0
Нет там фьюз — только вывод для разрешения работы с внешней памятью… Скорей всего это МК и заливает прошивку в ПЛИС… Смотреть надо по дорожкам:)
0
Есть. Я курнул даташит, прежде чем отвечать. Ну не фьюзы они называются, а лок-биты, но суть та же. Там варианты — не защищать, запретить чтение внутренней ROM при работе от внешней, +запретить верификацию, +запретить работу от внешней ROM.
0
Не уверен… Лень читать… Кажется там только запрещается читать програме с внешней памяти внутренюю… А внешнюю можно использовать без ограничений…
0
Вобщем выкинуть его :)
0
Ну зачем же выкидывать. Можно его укокошить и послать видеозапись этого его же производителям, на конкурс за LPCExpresso)
При полной залочке работа с внешней ROM запрещается. По крайнйе мере, так говорит даташит.
0
спасибо за подсказку, а задействовать cxk582000th реально?
и как это сделать?
0
Реально. Вкурить даташит.
Хотя, ОЗУ нынче штука достаточно редко нужная. И очень многие МК внешнюю подключать не позволяют.
0
Ну, подключать-то все можно. Просто ядро может не уметь с ней работать, потому придется туда данные ручками засовывать и ручками же забирать. А подключить не проблема — лишь бы ноги свободные у проца были…
0
Угу. Только это медленно (на обращение будут уходить десятки тактов) и неудобно, и смысла в этом обычно нет.
0
Закрепил архив с проектом к статье, а то ссылка старая сдохла.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.