СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №2/2012

В ВЕДЕНИЕ Программируемые логические ин тегральные схемы (ПЛИС) типа FPGA фирмы Xilinx широко применяются в цифровой аппаратуре и позволяют быстро оценить сложность проекта, его быстродействие и получить экспе риментальный образец действующей аппаратуры. Однако для специальных применений требуется использование только отечественной элементной ба зы. Перевод проекта, реализованного на FPGA, в описание, пригодное для ре ализации на отечественной элемент ной базе, включая разработку автома тизированной программы конверта ции, представляет собой трудоёмкую и наукоёмкую задачу. В предлагаемой статье рассмотрен процесс получения синтезируемого VHDL описания проекта, реализован ного на FPGA фирмы Xilinx семейства Spartan 3 [1] в системе проектирования WebPack ISE 13.1 [2]. В качестве базо вой микросхемы для экспериментов была выбрана ИС FPGA xc3s1000 4ft256. Реализованный на FPGA проект может иметь смешанные исходные спецификации: некоторые блоки мо гут быть представленына высокоуров невых языках VHDL и Verilog, другие – логическими схемами в графическом редакторе системы ISE либо графичес кими диаграммами в подсистеме State CAD [3]. Кроме того, возможны «руч ные» изменения проекта в тополо гическом редакторе (FPGA Editor) системы ISE. Наличие всего проекта в виде VHLD описания, пригодного для автомати ческого синтеза в целевых библиоте ках отечественных заказных СБИС, позволяет провести реализацию про екта на заказной СБИС и упрощает пе репроектирование за счёт «однород ности» описания данных. Следует от метить, что FPGA семейства Spartan 3 ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 58 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 2 2012 имеют в своём составе макроэлемен ты ОЗУ и умножителей, однако про цессы их конвертации (и перепроек тирования) для реализации в составе заказных СБИС заслуживают отдель ного рассмотрения. При конвертации блоки ОЗУ, используемые как ПЗУ, из влекаются вместе с записанными в них данными, однако далее такие ОЗУ (ли бо ПЗУ) выделяются из части проекта, реализованной на конфигурируемых логических блоках. С умножителями можно поступать аналогичным обра зом либо переходить к их синтезируе мым алгоритмическим VHDL описа ниям. Основное внимание при конверта ции проектов FPGA уделяется получе нию синтезируемого VHDL описания той части проекта, которая является совокупностьювзаимосвязанных кон фигурируемых логических блоков. А РХИТЕКТУРА FPGA СЕМЕЙСТВА S PARTAN 3 Основными блоками рассматривае моймикросхемы FPGA семейства Spar tan 3 являются блоки ввода вывода (In put Output Block, IOB), конфигурируе мые логические блоки (configurable logical block, CLB), блочная память (Block RAM, BRAM) и 18 разрядные умножители (Multiplier) [1]. Основной структурной единицей FPGA является блок CLB. Он состоит из двух секций «левой руки» (SliceM, где M – от слова Memory) и двух секций «правой руки» (SliceL, где L – от слова Logic), входы и выходы которых связа ны с матрицей коммутации соедине ний (Swich Matrix), реализующей гло бальные связи. На рисунке 1 изобра жены структурные схемы секций SliceL и SliceM. Для получения схемы секции SliceMштриховые линии следует заме нить непрерывными. Если же на ри сунке 1 удалить те элементыи соедине ния, которые изображены штриховы ми линиями, получится структурная схема секции SliceL. Секция SliceL является более прос той [4] и состоит из двух LUT (Look Up Table), двух программируемых элемен тов памяти (FFY, FFX), нескольких ло гических элементов И (AND), ИСКЛЮ ЧАЮЩЕЕ ИЛИ (XOR) и мультиплек соров с одним управляющим входом (MUX2). Связи структурных элементов являются фиксированными, однако их можно задать с помощью т.н. програм мируемых соединений, что позволяет реализовать в одной секции SliceL раз нообразные логические схемы, как комбинационные, так и схемы с па мятью. Точки коммутации соединений (точки программирования) показаны на входах элементов треугольниками. Программируемый элемент LUT яв ляется универсальным логическим элементом и может реализовать лю бую булеву функцию не более чем от четырёх переменных. Элементы па мяти могут функционировать как FF (Flip Flop – синхронизируемыйфрон том триггер) либо как Latch (триггер с потенциальным управлением – защёл ка). Таким образом, в секции SliceL можно реализовать схему с памятью – конечный автомат. В статье [5] рассмат риваются функциональные модели триггеров, входящих в состав CLB се мейства Spartan 3. Секция SliceM (см. рис. 1) сложнее в части реализации LUT: программируе мые элементы, кроме реализации ло гических функций, могут выполнять функции блока RAM либо функции сдвигового регистра. Один элемент LUT может выполнять функции 16 раз рядного сдвигового регистра, два эле мента могут быть соединены в один 32 разрядный сдвиговый регистр, три – в 48 разрядный, и т.д. С этой целью вводится вспомогательный эле мент WSGEN, осуществляющий син хронизацию сдвигов, и другие вспо могательные элементы и соединения. П РОГРАММА КОНВЕРТАЦИИ Исходными данными для програм мы конвертации являются представле Конвертация проектов FPGA семейства Spartan 3 в заказные СБИС Пётр Бибило, Данила Городецкий, Дмитрий Новиков, Артём Соловьев, Дмитрий Черемисинов (Минск, Белоруссия) В статье описаны программные средства конвертации проектов цифровых систем, реализованных на микросхемах FPGA семейства Spartan 3, в VHDL описания, пригодные для синтеза в библиотеках проектирования заказных СБИС. © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy