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

Современные синтезаторы логичес ких схем позволяют преобразовать описания проектов цифровых схем в описания сконфигурированных ло гических интегральных схем (ПЛИС). При этом допускается смешанный стиль описания: одни части проектов могут быть заданы в графическом виде схемами, другие – в виде алгоритми ческих описаний на языках VHDL и Verilog. При схемном задании блоков проекта возникает необходимость соз дания функциональных VHDL описа ний элементов различных логических элементов, как комбинационных, так и элементов памяти в виде триггеров. Функциональные описания комби национных элементов представляют различные формы задания логических функций. Описания элементов памяти должны быть представлены синте зируемыми конструкциями, которые после синтеза будут заменены триг герами в построенной логической схе ме. При алгоритмических описаниях проекта требуется использовать также синтезируемые конструкции языка VHDL, которые соответствуют тригге рам. Для конкретности будем рассмат ривать ПЛИС типа FPGA семейства ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 58 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 1 2012 Spartan 3 [1], а в качестве языка описа ния проекта – VHDL [2]. В качестве сре ды проектирования выбрана система ISE фирмы Xilinx версии 13.1 [3]. В публикациях [1, 4] рассматрива лись VHDL модели некоторых тригге ров, но не изучались их реализации в FPGA. Данная статья посвящена вопро сам реализации триггеров в FPGA, ти пичным ошибкам при задании триг геров, моделям триггеров и анализу их реализации в FPGA, что может быть по лезным при перепроектировании FPGA на заказные СБИС. Напомним, что основными логичес кими блоками FPGA являются конфи гурируемые логические блоки (CLB), включающие по две секции SliceL и SliceM, каждая из которых содержит два программируемых логических эле мента LUT и два синхронных про граммируемых элемента памяти. Про граммируемый элемент LUT является универсальным логическим элемен том и может реализовать любую буле ву функцию не более чем от четырёх переменных. Элементыпамятимогут функциони ровать как FF (Flip Flop – синхронизи руемый фронтом триггер) либо как Latch (триггер с потенциальным управлением – защёлка). Следует от метить, что в отечественной и зарубеж ной литературе имеются терминоло гические различия в классификации триггеров. В данной статье авторы придерживаются терминологии, при нятой в зарубежной научно техничес кой литературе при описании струк турных элементов FPGA. Т ИПИЧНАЯ ОШИБКА ПРОЕКТИРОВАНИЯ – ЗАДАНИЕ ТРИГГЕРА В ВИДЕ СТРУКТУРНОГО ОПИСАНИЯ СХЕМЫ ИЗ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ Пользователи САПР программи руемых логических интегральных схем, не знакомые с основами схем ной реализации VHDL конструкций, часто пытаются описать триггер в виде схемы из логических элемен тов или в виде взаимосвязанных ло гических выражений, что в конеч ном счёте одно и то же. Например, на рисунке 1 изображена схема триг гера LAT. Данный триггер может быть нарисован в графическом редакто ре в виде логической схемы либо опи сан на языке VHDL (см. листинг 1), где: C – вход разрешения, D – вход данных. Листинг 1. Структурное описание триггера LAT library IEEE; use IEEE.STD_LOGIC_1164.all; entity LAT is port (D, C: IN std_logic; Q, NQ: OUT std_logic); end; architecture str of LAT is component NOA port (A:IN std_logic; B:IN std_logic; C:IN std_logic; y:OUT std_logic); end component; component N port (A:IN std_logic; y:OUT std_logic); end component; signal w1, w2, w3, w4 : std_logic; begin i5: N port map (C, w1); i6: N port map (D, w2); i1: NOA port map (A =>D, B =>w1,C => w4, Y => w3); i2: NOA port map (A =>w2, B => w1, C =>w3, Y => w4); i8: N port map (w3,Q); i7: N port map (w4, NQ); end; Элемент NOA реализует функцию , элемент N является ин вертором. После выполнения проце дуры синтеза по описанию, представ ленному в листинге 1, реализацией в FPGA является совсем не элемент па мяти, а LUT (см. рис. 2), причём в схеме имеется обратная связь. После завер шения синтеза в ISE выдаётся пред NQ N N & NOA 1 1 C D 1 Q N N & NOA 1 1 1 Рис. 1. Структурная схема триггера LAT C D A4 A3 A2 A1 LUT D Q Q NQ Рис. 2. Реализация триггера LAT в FPGA Функциональные модели триггеров и их реализация в FPGA Пётр Бибило, Артём Соловьев (г. Минск, Белоруссия) Рассматриваются алгоритмические VHDL модели элементов памяти (триггеров) и их реализации в программируемых логических интегральных схемах типа FPGA фирмы Xilinx. © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy