(C) Research/VolgaSoft Современные технологии. ALTERA. (ознакомительный материальчик) ВСТУПЛЕНИЕ В этой статье пойдет речь о совре- менном маленьком чуде, о расчитанном прорыве в мире цифровой электроники - микросхемах программируемой логики. Это тот кирпичик, который стоит в самых сов- ременных моделях ZX-SPECTRUM - GMX и СПРИНТЕР , это та самая микросхемина, на которой можно сделать почти все - от Z80X (допустим, 30мгц, машинный цикл 1 такт), до всего Пентагона вместе с 2D акселератором, GSкой, мышью и IDE конт- роллером. Наверное каждый радиолюбитель раз- рабатывая цифровое устройство, в душе мечтал - где бы найти таблетку от всех болезней - микросхему, которая заменит все. Инженеры особенно нуждались в подо- бных устройствах, так как при разработке серьезного изделия приходилось проекти- ровать заказную интегральную схему "под задачу". От момента вычерчивания логики, до появления рабочего изделия проходило как правило несколько месяцев и затрачи- валось огромное количество ресурсов. Но спрос рождает предложение - появились полузаказные большие интегральные схемы (БИС) и программируемые логические мат- рицы (ПЛМ). Наука не стояла на месте, техноло- гии становились все более и более совер- шенными, и однажды был анонсирован выход пакета "софт"+"железо"+"камень". Задумка была очень простой: разработчик рисует в софте схему (может переносит ее с бума- ги), или описывает логику будущего изде- лия двоичными уравнениями и простыми операторами, затем компилятор переводит схему в некий код, а код зашивается про- грамматором ("железо") в микросхему про- граммируемой логики ("камень"), которую можно сразу же впаивать в плату. И ника- ких затрат на разработку кристалла, и испытания. Разработчики цифровых уст- ройств подхватили "на ура" новинку. На сегодня на рынке масса призводи- телей БИС программируемой a логики (ПЛ). Их продукты отличаются a как емкостью и архитектурой, a так и качеством софта и аппаратной поддержки, сервисом и в конце концов стоимостью. Явным лидером сегодня является фир- ма Altera Corporation . Она завоевала рынок благодоря не только широкому спек- тру изделий, но и грамотному распростра- нению своей продукции. Например, пользо- вание софтпродукцией (студенческие вер- сии) с целью обучения - бесплатно. Для России в общем-то не принципиально (у нас почти никто в глаза не видал закон об авторском праве), а вот за границей этот вопрос актуален. К тому-же продук- ция фирмы буквально вломилась на отечес- твенный рынок - в результате мы теперь почти все сидим на ней. ОТ СЛОВ - К ДЕЛУ СБИС ПЛ фирмы Altera классифицирую- тся по следующим признакам: 1) степень интеграции (количество доступных вентилей (элементов 2И-НЕ) и триггеров); 2) архитектура простейшего функцио- нального преобразователя (ячейки); 3) организация внутренней структуры СБИС и структуры матрицы соеденений фун- кциональных преобразователей (метод сое- динения ячеек); 4) наличие внутренней RAM памяти; 5) технологии изготовления програм- мируемого элемента (Fuse, EPROM, EEPROM, FLASH, SRAM) - то, каким образом зашита схема. Для работы с большинством своих БИС ПЛ фирма Altera предлагает язык описания аппаратуры MAX+plus II. В системе автоматизации проектиро- вания MAX+plus II поддержано шесть се- мейств СБИС ПЛ. ┌─────────┬──────────────────────┐ │ │ Параметры │ │ ├──────────┬─────┬─────┤ │Семейство│Логическая│UPin │Tech │ │ │ емкость │ │ │ │ │ │ │ │ ├─────────┼──────────┼─────┼─────┤ │Classic │ 300-900 │22-64│EPROM│ │MAX5000 │ 600-3750 │24-84│EPROM│ │MAX7000E │ 600-5000 │до164│EEP- │ │MAX9000 │ 6e3-12e3 │до216│ROM │ │FLEX8000A│ 2500-16e3│до208│SRAM │ │FLEX10K │ 1e4-1e5 │до406│SRAM │ └─────────┴──────────┴─────┴─────┘ Логическая емкость - число доступ- ных элементов 2И-НЕ, то есть в FLEX10K влезет до 25000 наших ЛА3-их. UPin - число пользовательских выво- дов. Tech - технология. Практическое пояснение к таблице: допустим берем самый дохлый FLEX8000A (техноглогия SRAM - т.е. после включения питания схемку ус тройства надо "залить" в альтерину), вешаем пользовательскими ногами на шину родимиго Спекки (при этом останется несколько свободных), делаем элементарный дешифратор порта на россыпи и сцепляем его со входом альтерины. Что мы получаем? Мы получаем супер устройст- во!!! Ведь теперь можно вливать в альте- ру фактически любую схему!!! Это может быть что угодно от внешнего мат. процес- сора (допустим в один порт побайтно ло- жим 16-битное число, в другой - второе число, еще куда-нибудь - код операции, затем снимаем результат), до всего, что уму постижимо (если ткнуть несколько свободных ног "куда следует" - можно сделать аппаратную заливку и аппаратное построение отрезков, многоканальные про- граммируемые прерывания (особенно актуа- льно для цифрового звука), новые комман- ды процессора (как в "спринтере" или до- полнительные регистры процессора....). Можно наделать библиотек аппаратных фун- кций чтобы не изобретать велик, как это до сих пор делают упрямые "кодеры" и считывать их в соответствии с задачей. "Прошивка" схемы того же FLEX8282A ("са- мый дохлый", см. выше) весит, если мне не изменяет память, 6кБ. Во время конфи- гурирования все пользовательские ноги находятся в Z-состоянии и не влияют на работу системы. Если нужно сделать уст- ройство "на века" и не конфигурировать его каждый раз после включения - можно использовать семейство MAX. Так же неко- торые БИС семейства МАХ имеют защиту от "сливания схемы" - бит секретности раз- работки, однако, на мой взгляд, примене- ние этого семейства несколько ограничено (по крайней мере в "домашних" условиях) из-за необходимости в программаторе и ограниченом количестве циклов программи- рования. ТЕПЕРЬ ПАРА СЛОВ О СРЕДЕ РАЗРАБОТ- КИ: ЯЗЫКЕ ОПИСАНИЯ АППАРАТУРЫ MAX + PLUS II. Система MAX + plus II написана под следующие платформы: PC , MAC , SUN . Ни Спекки , ни прeсловутой подружки в этом списке почему-то не оказалось. Система очень добрая, простая и с широкими воз- можностями. Основными компонентами яв- ляются графический и текстовый редакто- ры, компилятор, редактор диаграмм (он же "дебуггер"), таймер, редактор размещения и разводки. В графическом редакторе рисуется схема устройства (если использовано гра- фическое задание). В качестве элементов схемы можно задействовать логику "по бу- ржуйскому госту", есть там и вся 74 се- рия, а если не нравятся вражеские обоз- начения - можно нарисовать все по-нашин- ски и заставить работать. Текстовый редактор используется для текстового описания аппаратуры. Язык что-то среднее между dBase , C , Pas- cal . Есть чуть ли не готовая комманда описания синхронного конечного автомата, есть и if и case . Сумматор описывается буквально как C[]=A[]+B[] . А телефонная чип-карта описывается и тестируется (см. ниже) за часик не напрягаясь. Компилятор проверяет схемку (или текстик) и генерирует прошивку под зада- нный "кирпич". Широко регулируемые пре- делы оптимизации по скорости и объему позволяют выжать из устройства максимум быстродействия или минимум занимаемой площади на кристалле. Есть полезная вещь дизайн доктор. Показывает где есть гонки и опасные места, и при каких условиях они появятся, не забывает попросить на- жать сброс для инициализации устройства после включения и т.д. В редакторе диаграмм можно промоде- лировать работу будущего устройства: до- пустим задать входные сигналы и посмот- реть соотвествующие им выходные, гонки тоже не забывают отображаться. Поэтому прежде чем собирать схему лучше прогнать ее в "максе" и проверить. Правда нашелся и глючечек - не завелся Т-триггер сдела- нный из RS , сихронизируемого перепадом, хотя на практике он пахал. Просмотр диа- грамм сделан очень удобно: можно смот- реть диаграммы, объединив их в группы и представив удобную для просмотра систему исчисления (двоичную, десятичную, шест- надцатиричную). Входные данные можно за- давать в том числе и кодом Грея . Можно посмотреть и внутренние состояния авто- мата. Таймер - он и в африке таймер - по- казывает задержки и максимально возмож- ную рабочую частоту устройства. Редактор размещения и разводки ис- пользуется для "аппаратного" убирания гонок (перестановки логических ячеек) и расстановки пользовательских выводов. Прайс дистрибьтера фирмы Altera я к величайшему несчастью потерял, посему скажу лишь по памяти, что FLEX10K10 стоит от $20, FLEX8282A от $8, элементы семейства MAX стоят от $3.3. Если инте- ресно, где можно добыть информацию, мо- жете пролистать до конца статьи, ибо да- лее пойдет справочная информация. БОЛЕЕ ПОДРОБНАЯ ИНФОРМАЦИЯ О СЕМЕЙСТВАХ Семейство Classic объединяет 3 се- рии СБИС. БИС этого семейства позволяют заменить устройство, содержащее от 10 до 20 микросхем средней степени интеграции, и обеспечивают: * задерку распространения сигнала от любого входа да выхода БИС не более 10 нс; * устойчивую работу на частотах до 100 МГц; * возможность работать в режиме по- ниженного энергопотребления; * возможность задания режима секре- тности разработки (из микрухи схему на- зад не слить). Прим.: похоже уже сняты с производ- ства. Семейство MAX5000 объединяет 5 се- рий СБИС. БИС этого семейства позволяют заменить устройство, содержащее до нес- кольких десятков микросхем средней сте- пени интеграции, и обеспечивают: * задерку распространения сигнала от любого входа да выхода БИС не более 15 нс; * устойчивую работу на частотах до 76 МГц; * возможность задания режима секре- тности разработки; * возможность использования трех режимов работы выходных буферов: вход, выход, двунаправленный. Семейство MAX7000 объединяет 7 се- рий СБИС. БИС этого семейства позволяют заменить устройство, содержащее до сотни микросхем средней степени интеграции, и обеспечивают: * задержку распространения сигнала от любого входа дo выхода БИС не более 5 нс; * устойчивую работу на частотах до 178 МГц; * возможность регулирования скорос- ти переключения выходных буферов; * возможность использования 4-х ре- жимов работы выходных буферов: вход, вы- ход, двунаправленный, открытый коллек- тор; * возможность задания режима пони- женного энергопотребления как для всей СБИС в целом, так и для цепей распрост- ранения отдельных сигналов; * возможность программирования и репрограммирования после распайки на плате; * возможность задания режима секре- тности разработки; * работу с пониженным (3.3 В) нап- ряжением питания. Прим.: ряд серий соответствует ста- ндарту шины PCI. Семейство FLEX8000A объединяет 7 серий СБИС. БИС этого семейства позво- ляют заменить устройство, занимающее де- сятки плат, выполненных на микросхемах средней степени интеграции, и обеспечи- вают возможность: * устойчивой работы на частотах до 294 МГц; * эмуляции внутренней шины с 3мя состояниями; * работы с пониженным (3.3 В) нап- ряжением питания; * работы в системах со смешанным (3.3 В, 5 В) напряжением питания; * реализации неограниченного числа циклов конфигурирования, в том числе и "на лету", т.е. без выключения питания СБИС; * регулирования скорости переключе- ния выходных буферов; * возможность использования 3-х ре- жимов работы выходных буферов: вход, вы- ход, двунаправленный. Прим.: все СБИС этой серии соответ- ствует стандарту шины PCI. Семейство MAX9000 объединяет 4 се- рий микросхем. БИС этого семейства поз- воляют заменить устройство, занимающее десятки плат, выполненных на микросхемах средней степени интеграции и обеспечи- вают возможность: * устойчивую работу на частотах до 125 МГц; * независимого использования логи- ческой части и триггера макроячейки; * возможность задания режима пони- женного энергопотребления как для всей СБИС в целом, так и для цепей распрост- ранения отдельных сигналов; * возможность программирования и репрограммирования после распайки на плате; * работы в системах со смешанным (3.3 В, 5 В) напряжением питания; * регулирования скорости переключе- ния выходных буферов; * использование 3-х режимов работы выходных буферов: вход, выход, двунапра- вленный. Прим.: ряд серий соответствует ста- ндарту шины PCI. Семейство FLEX10K объединяет 7 се- рий СБИС. БИС этого семейства позволяют заменить устройство, занимающее сотни плат, выполненных на микросхемах средней степени интеграции, и обеспечивают воз- можность: * устойчивой работы на частотах до 450 Мгц; * реализации на кристалле статичес- кой памяти и ПЗУ объемом до 24Кбит; * независимого использования логи- ческой части и триггера кадого логичес- кого элемента; * эмуляции внутренней шины с 3мя состояниями; * умножения внутренней тактовой ча- стоты; * работы в системах со смешанным (3.3 В, 5 В) напряжением питания; * реализации неограниченного числа циклов конфигурирования, в том числе и "на лету", т.е. без выключения питания СБИС; * регулирования скорости переключе- ния выходных буферов; * возможность использования 4-х ре- жимов работы выходных буферов: вход, вы- ход, двунаправленный, открытый коллек- тор. Прим.: все СБИС этой серии соответ- ствует стандарту шины PCI. Вот такие дела. Добавлю лишь, что прогресс не стоит на месте и в каждом семействе серий поприбавилось. ЯВКИ WWW.ALTERA.COM - там можно получить более подробную информацию и электронные ключи к программе MAX + Plus II (прики- нувшись студентом или научным работни- ком). Фирма ЭФО. E-mail: zav@efo.spb.su Тел. (812) 247-5340 194021 Санкт-Петербург, Политехническая ул.,21 (здесь можно купить соответсвующие элементы). ЛИТЕРАТУРА 1. Обзор элементной базы фирмы ALTERA (Антонов А.П., Мелехин В.Ф., Филлипов А.С.; СПб 1997) 2. Эта же книга (только кажется по больше) лежит на компакте с MAX + Plus II в виде .PDF (кажись 45 МБ), правда на английском.