Text
                    В. Ю. Зотов
Проектирование цифровых устройств
на основе ПЛИС
Фирмы num
В САПР	____ |А_
WetMCI ISE

ББК 32.852.3 3 88 Рецензент каш) тех». наук В. Б. Стешенки Зотов В. Ю. $88 Проектирование цифровых устройств па основе ПЛИС фирмы XILINX в САПР WcbPACK ISE. - М.: Горячая линия-Телеком. 2003. — 624 с., ил. ISBN 5-93517-136-8. Киша предназначена ,1ля самое гоя тельною изучения методики проектирования специали- зированных цифровых устройств па базе программируемых •кимческпх ни гора и>иых схем (ПЛИС) фирмы XjlinxB выполняемою в рамках свободно распространяемого пакета WebPACK™ ISEru версии 5 I Применение САПР WebPACK ISIi позволяе! реализован» пол- ный никл СКПОТИО1О проектирования устройшва пл рабочем столе разработчика, включая про- |ра.ммнровапне кристалла. бет .мгпсрналы/Ш' aupar ла яршра.мхнюе обеспечение Рассмснрси процесс созлаипя исходного описания разрабатываемого устроПсыза в схемотехнической п ал- гор|Импческой (|юрмс Краткий справочник по у инфицированным библиотекам схемотехниче- ского редактора. вюиочепиый к виде приложения, позволяет разработчикам использовать наи- более привычный способ представления проема. Обзор шаблонов VHDL облегчает изучение nolo языка описания аппаратуры и ускоряет создание законченных VHDL-oiuicauiui простои. Приведено описание системы НОГ-модслировання ModdShn*w корпорации Model Technology64 (одного из ширэъчеленип компании McmorGraphies®) и ее применения и процессе функциональной п временной верификации разрабатываемого устройства. Материал. изложенный в кише, также может быть использован в процессе самое гоя цель- ного освоения системы проектирования Foundation1'1 ISE фирмы Xilinx. Для нижепсрио-гехппческнх работников, может быть полезна студентам и аспирантам специализирующимся в облает разработки цифровых систем. ББК 32.852.3 Адрес издательства в Интернет www.techbook.ru e-mail: radiosjit@nitu~net.ru 11ропзводст пенное издание Зотов Валерий Юрьевич Проектирование цифровых устройств на основе ПЛИС фирмы XILINX в САПР WcbPACK ISE Компьютерная вершка И. Н. Чумакова Корректор Е.Н. Кочубеи (iit.tviKKU художники В I Снгимкова ДР № 1)71825 от 16 марта 1999 г. Подписано в печать 05.05.2003. Формат 70x100/16 Усл. печ. л. 48Д Тираж 2000 экз. Изд. 136. Заказ № 1825 Отпечатано с готовых диапозитивов во ФГУП ИПК «Улышпвскин Дом печати». 432980, г. Ульяновск, ул. Гончарова, 14 ISBN 5-93517-136-8 © Зотов В. Ю.. 2003 © Оформление излательегва «Горячая линия-Телеком». 2003
Предисловие Одной из тенденций развития цифровой текинки на современном этапе является широкое применение ресурсов программируемой логики ие только для реализации отдельных блоков, но и проектируемых устройств в целом, вплоть до создания систем на кристалле. Програм- мируемые логические интегральные схемы (ПЛИС) и соответствующие средства проектиро- вания, выпускаемые фирмой Xilinx®, позволяют выполнить жесткие требования, предъяв- ляемые ко времени разработки, и в сжатые сроки создавать цифровые устройства и системы с различным уровнем сложности и степенью интеграции. Данное издание знакомит с технологией проектирования цифровых устройств па основе ПЛИС фирмы Xilinx иа примере использования свободно распространяемого пакета WebPACK™ ISE™ (Integrated Synthesis Environment), Несмотря на то, что этот пакет являет- ся бесплатным, он представляет собой полнофункциональную систему автоматизированного проектирования (САПР), которая позволяет выполнить все этапы разработки, начиная с соз- дания проекта и заканчивая программированием кристалла. В отличие от свободно распро- страняемых средств проектирования других фирм WebPACK ISE не имеет ограничений по времени его использования. Структура книги включает в себя пятнадцать глав и два приложения. В главе I лается краткая характеристика продукции фирмы Xilinx, рассматриваются особенности перспектив- ных серий ПЛИС и САПР. Во второй главе подробно описываются процедуры получения и установки свободно распространяемой системы проектирования. Третья глава знакомит с описанием характеристик и пользовательского интерфейса основных программ пакета WebPACK ISE. Глава 4 начинается с обсуждения этапов процесса проектирования цифровых устройств на основе ПЛИС. Затем рассматривается структура проекта и выполнение началь- ных этапов разработки. Пятая глава посвящена вопросам создания исходных описаний про- ектируемого устройства в схемотехнической форме и с применением языков HDL. Дальней- шие этапы проектирования рассматриваются раздельно для случаев использования кристал- лов семейств CPLD и FPGA. В главах 6-10 поочередно представлены этаны синтеза, реали- зации, моделирования и загрузки конфигурационных данных проектов, выполняемых на базе ПЛИС CPLD. Главы 11-15 освещают выполнение этих же этапов при использовании кри- сталлов семейств FPGA. Читателям, не имеющим опыта работы с системами разработки устройств на основе ПЛИС, рекомендуется начинать изучение с более простого процесса проектирования, вы- полняемого на базе кристаллов семейств CPLD. Для этого достаточно продолжать знакомст- во с материалами книги в порядке следования номеров глав. Если же разработчика в первую очередь интересует процесс проектирования цифровых устройств иа основе ПЛИС семейств FPGA, то после изучения пятой главы следует перейти к гл. 11-15. Приложение 1 представляет собой краткий справочник по основным функциональным группам элементов унифицированных библиотек схемотехническою редактора. Для каждого компонента приводится его условный графический образ, назначение выводов, таблица ис- тинности и способ реализации. В Приложении 2 рассмотрены шаблоны языка VHDL, пре- доставляемые интегрированным HDL-редактором пакета WebPACK ISE. Здесь же приводит- ся описание процедуры создания разработчиком собственных I IDL-шаблонов. Автор выражает благодарность замесшгелю генерального директора фирмы 1NL1NEGROUP (официального дистрибьютора фирмы Xilinx) Д. А. Кнышеву и ведущему специалисту М. О. Кузелину за информационно-техническую поддержку в процессе работы Над книгой.
1. Характеристика основных семейств ПЛИС и средств проектирования, выпускаемых фирмой Xilinx 1.1. Общая характеристика ПЛИС фирмы Xilinx Программируемые логические интегральные схемы (ПЛИС) все более широко используются для создания цифровых систем различного назначения. Фирма Xilinx, являясь ведущим мировым производителем ПЛИС, предоставляет разработчикам широкий спектр кристаллов с различной технологией производства, степенью инте- грации, архитектурой, быстродействием, потребляемой мощностью и напряжением питания, выпускаемых в различных типах корпусов и в нескольких вариантах ис- полнения, включая промышленное, военное и радиационностойкое [1-8]. Кристал- лы, выпускаемые фирмой Xilinx, в полной мерс реализуют преимущества ПЛИС по сравнению с "жесткой логикой": • высокое быстродействие; • возможность перепрограммирования непосредственно в системе; • высокая степень интеграции, позволяющая разместить цифровое устройство в одном кристалле и тем самым снизить время и затраты на трассировку и произ- водство печатных плат; • сокращение времени цикла разработки и производства устройства; • наличие мощных инструментов САПР, позволяющих устранить возможные ошибки в процессе проектирования устройства; • сравнительно низкая стоимость (в пересчете на один логический вентиль). В настоящее время каталог продукции фирмы Xilinx включает в себя пять серий ПЛИС с архитектурой FPGA (Field Programmable Gate Array), две серии кристаллов CPLD (Complex Programmable Logic Device) и две серии ПЗУ/ППЗУ, предназначен- ные для хранения конфигурационных данных. В кристаллах CPLD конфигурационные данные хранятся во внутренней энерго- независимой памяти. Соответствующая информация заносится в процессе програм- мирования ПЛИС, которое может осуществляться непосредственно в системе с по- мощью загрузочного кабеля, подключаемого к JTAG-nopiy. В состав этого сегмента ПЛИС, выпускаемых фирмой Xilinx, входят следующие серии кристаллов CPLD: • ХС9500, представленная семействами ХС9500, XC9500XL, XC9500XV; • CoolRunncr™, содержащая семейства CoolRunner XPLA3™ и CoolRunncr-II. ПЛИС серий FPGA выполнены на основе статического ОЗУ. Так как информация о конфигурации кристалла записывается во внутреннее "теневое" ОЗУ, то при выключении источника питания эти данные не сохраняются. Поэтому для хранения конфигурацион- ной последовательности используются внешние элементы ПЗУ и ППЗУ, данные из кото- рых заносятся в “теневое” ОЗУ в процессе инициализации ПЛИС, выполняемой при включении напряжения питания или подаче специального сигнала. Линейка выпускае- мых кристаллов FPGA представлена следующими сериями:
I. Характеристика основных семейств ПЛИС и средств проектирования 5 • Spartan™, включающей семейства Spartan, SpartanXL, Spartan-]] и Spartan-UE; • Virtex™, состоящей из семейств Virtex, Virtex-E, Virtcx-11 и Virtex-II Pro™; • XC4000, содержащей семейства ХС4000Е, ХС4000ЕХ, XC4000XL, XC4000XLA XC4000XV; • ХС5200; • ХС3000, включающей семейства ХС3000А. XC3000L, ХСЗЮОА, XC3100L. Для хранения конфигурационных данных кристаллов серий FPGA фирма Xilinx предоставляет следующие разновидности ПЗУ: • серию однократно программируемых ПЗУ ХС1700; • серию перепрограммируемых в системе ППЗУ ХС18V00. Учитывая, что серии ХСЗООО, ХС5200 и ХС4000 считаются морально устарев- шими, соответствующие семейства далее не рассматриваются. Несмотря на то, что кристаллы этих серий продолжают выпускаться, в большинстве своем они не реко- мендуются для использования в новых проектах. Вместо них следует использовать ПЛИС семейств Spartan и Virtex. В последующих разделах рассматриваются характерные особенности актуаль- ных (рекомендуемых для применения в новых разработках) серий ПЛИС. 1.2. Краткая характеристика основных семейств ПЛИС CPLD фирмы Xilinx 1.2.1. Серия ХС9500 Серия ХС9500 включает в себя три семейства ПЛИС CPLD, основанных на тех- нологии производства Fast Flash. В состав семейства ХС9500 входят шесть типов ПЛИС емкостью от 36 до 288 макроячеек (соответственно от 800 до 6400 эквива- лентных логических вентилей), выпускаемых в различных корпусах. Отличитель- ными особенностями этого семейства являются; • возможность реализации проектов с системными частотами до 125 МГц; минимальная задержка распространения сигнала от входного контакта до выход- ного через комбинационную логику - 5 нс; • возможность раздельного управления длительностью фронтов выходных сигна- лов для каждого вывода ПЛИС, позволяющая снизить уровень помех на выходах кристалла; • использование передовых технологий защиты конфигурационных данных от несанкционированного копирования и случайного стирания; • возможности фиксации пользовательских выводов перед трассировкой; • возможность установки программируемого режима пониженной потребляемой мощности для каждой макроячейки; • не менее 10 000 циклов перепрограммирования; • гарантированный срок хранения запрограммированной конфигурации не менее 20 лет; * полная поддержка протокола периферийного сканирования в соответствии со стандартом IEEE Ski 1149.1 (J TAG);
Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС сравнительно мощные выходные буферы, обеспечивающие максимальный ток до 24 мА; совместимость с 3.3 В и 5 В логикой по входу и выходу, позволяющая использо- вать ПЛИС в схемах со смешанным питанием; напряжение питания ядра кристалла - 5 В. Архитектура ПЛИС семейства ХС9500 показана па рис. 1.1. Ес основу составля- хг совокупность функциональных блоков (Function Block, FB), блоков ввода/вывода Input/Output block, ЮВ), и быстродействующая переключающая матрица. Количе- тво функциональных блоков и блоков ввода/вывода определяется типом кристалла. JTAG f Порт] (V Е Рис. 1.1. Архитектура ПЛИС семейства ХС9500 Каждый функциональный блок включает в себя программируемую матрицу ло- гических произведений, распределитель термов и восемнадцать независимых мак- роячеек. Матрица логических произведений Позволяет формировать до 90 термов на основе 72 прямых и инверсных сигналов, полученных из 36 входных сигналов функционального блока. Распределитель термов выполняет функции назначения термов для всех макроячеек. Каждая макроячейка позволяет реализовать как комби- наторную, так и регистровую функцию. Блоки ввода/вывода предназначены для организации интерфейса между внут- ренними сигналами кристалла и выводами ПЛИС. Они выполняют функции буфе- ризации всех входных и выходных сигналов, управления выходами и формирования программируемого "общего" вывода. Быстродействующая переключающая матрица обеспечивает коммутацию сигна- лов, покупающих из блоков ввода/вывода н выходов функциональных блоков, на входы FB с минимальными задержками.
L Характеристика основных семейств ПЛИС и средств проектирования 7 Семейство XC9500XL является результатом дальнейшего развития ПЛИС ХС9500 на основе применения технологии 0.35 мкм. Общая архитектура кристаллов XC9500XL не отличается от предшествующего семейства. Изменения коснулись отдельных ее элемен- тов. Основными отличиями семейства XC9500XL от ХС9500 являются: • снижение напряжения питания "ядра" кристалла до 3.3 В; • повышение производительности (возможность реализации проектов с систем- ными частотами до 208 МГц); • расширение возможностей функционального блока; • применение усовершенствованной матрицы переключений Fast CONNECT™ II; • наличие схем удержания последнего состояния в блоках ввода/вывода; • применение усовершенствованных технологий защиты конфигурационных дан- ных от несанкционированного копирования и случайного стирания; • расширенная линейка типов корпусов, включающая корпуса малого размера VQFP, TQFP и CSP (Chip Scale Package). • совместимость по входу со стандартами сигналов 2.5 В, 3.3 В и 5 В и по выхо- ду - с 2.5 В и 3.3 В; • снижение стоимости кристаллов. Постоянное совершенствование технологии производства обусловило появление семейства XC9500XV, оптимизированного для применения в высокоскоростных системах с напряжением питания 2.5 В. Кристаллы семейства XC9500XV в полной мере реализуют перечисленные возможности предыдущего семейства и, кроме того, обладают следующими преимуществами по сравнению с XC9500XL: • более высокой производительностью, которая, в частности, выражается в повы- шении системных частот до 275 МГц; • организацией блоков ввода/вывода в виде банков в кристаллах с большим коли- чеством ячеек; • пониженной потребляемой мощностью; • совместимостью по входу со стандартами сигналов 1.8 В, 2.5 В и 3.3 В, по выхо- ду-с 1.8 В и 2.5 В. Семейства XC9500XL и XC9500XV в отличие от ХС9500 содержат по четыре типа кристаллов с логической емкостью 36, 72, 144 и 288 макроячеек. ПЛИС всех семейств серии ХС9500 обладают совместимостью по выводам в одинаковых корпусах. Кристаллы этой серии рекомендуется применять для реали- зации логических функций многих переменных при небольшом количестве тригге- ров, например, для построения специализированных быстродействующих дешифра- торов, мультиплексоров, счетчиков, арифметико-логических устройств. 1.2.2. Серия CoolRunner Серия CoolRunner представлена семействами ПЛИС CoolRunner XPLA3 (extended Programmable Logic Array), выпускаемых no технологии EEPROM 0.35 мкм, и CoolRunner-Il с технологией производства 0.18 мкм.
; Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС В состав семейства CooIRunner XPLA3 входят шесть типов ПЛИС емкостью it 32 до 512 макрояческ (соответственно от 800 до 12800 эквивалентных логиче- :ких вентилей). Кристаллы этого семейства характеризуются следующими особенностями: । применение технологии FZP™ (Fast Zero Power), обеспечивающее достижение минимального уровня потребляемой мощности в сочетании с высоким быстро- действием; • возможность реализации проектов с системными частотами до 200 МГн; • ультранизкое значение мощности, потребляемой в статическом режиме (не более 100 мкА); • минимальная задержка распространения сигнала от входного контакта до выход- ного через комбинационную логику - 5 нс; • функция раздельного управления длительностью фронтов выходных сигналов для каждого вывода ПЛИС, позволяющая снизить уровень помех па выходах кристалла; • использование передовой технологии защиты конфигурационных данных от не- санкционированного копирования и случайного стирания; • расширенные возможности фиксации пользовательских выводов перед выполнением этапа реализации (Implementation) в сочетании с полной трассировкой проекта; • наличие сигнала разрешения синхронизации в каждой макроячейке; • возможность асинхронного сброса или установки триггера макроячейки; • возможность комплексного асинхронного тактирования элементов проектиру- емого устройства с использованием 20 тактовых сигналов, формируемых внутри логического блока, и 4 глобальных тактовых сигналов, поступающих с выводов кристалла; • нс менее 1 000 циклов перепрограммирования; • гарантированный срок хранения запрограммированной конфигурации не менее 20 лет; • полная поддержка протокола периферийного сканирования в соответствии со стандартом IEEE Std 1149.1 (JTAG); • совместимость с 3.3 В и 5 В логикой по входу и выходу, позволяющая использо- вать ПЛИС в схемах со смешанным питанием; • расширенный типовой ряд используемых корпусов; • возможность перепрограммирования в системе с напряжением питания 3 В; я совместимость выходов ПЛИС со стандартом РС1 3.3 В; • напряжение питания ядра кристалла составляет 3.3 В; • все кристаллы обладают совместимостью по выводам при использовании одинаковых корпусов. На рис. 1.2 представлена архитектура ПЛИС семейства CooIRunner XPLA3. В структурном отношении она практически нс отличается от архитектуры семейств ХС9500 и включает в себя блоки ввода/вывода, функциональные блоки и быстро- действующую переключающую матрицу. Принципиальные отличия состоят в спо- собе реализации этих структурных элементов.
I. Характеристика основных семейств ПЛИС и средств проектирования 9 Функциональный блок FB1 Функциональный блок FB3 Функциональный блок FBn-1 36, .16 .16 36, .16 ,16 Функциональным блок FB2 Функциональный блок FB4 Блоки Ввода/ вывода ЮВ PLA- матрица МС1 МС2 МС16 Функциональный блок FBn Р LA- матрица МС1 МС2 МС16г— Блоки ввода/ вывода ЮВ Рис. 1,2. Архитектура ПЛИС семейства CooIRunner XPLA3 В состав каждого функционального блока входят программируемая PLA-матрица логических произведений и шестнадцать независимых макроячеек. Использование PLA-матрииы позволяет оптимизировать разделение н совместное использование ресурсов кристалла при реализации проекта. Ее 36 прямых и инверсных входов, подключенных непосредственно к выходам переключающей матрицы, позволяют сформировать 48 термов, часть которых может использоваться в качестве управ- ляющих сигналов для любой макроячейки функционального блока. Для использова- ния в макроячейках дополнительных термов применяются специальные мультип- лексоры VFM (Variable Function Multiplexer). Каждая макроячейка может быть сконфигурирована для выполнения как комбинаторной, так и регистровой функции, причем триггер, входящий в ес состав, может быть реализован как D- или Т-триггер или как защелка. Коммутация сигналов, поступающих из блоков ввода/вывода, входных и выходных сигналов функциональных блоков осуществляется с помощью переключающей матрицы Zero-power Interconnect Array (Z1A), обеспечивающей ми- нимизацию потребляемой мощности в сочетании с высоким быстродействием. Семейство CoolRunncr-II представляет собой новое поколение ПЛИС с архитек- турой XPLA3. использующих технологию FZP. По сравнению с семейством CooIRunner XPLA3 кристаллы CoolRunncr-II обладают следующими отличиями: • напряжение питания ядра кристалла составляет 1.8 В; • более высокая производительность, позволяющая реализовать проекты с системными частотами до 303 МГц; • оптимизированная архитектура, обеспечивающая повышение эффективности процесса логического синтеза;
О Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС увеличение быстродействия проектируемых устройств за счет использования триггеров, тактируемых фронтом и спадом сигнала синхронизации; применение усовершенствованной коммутационной матрицы Advanced Interconnect Matrix (AIM) обеспечивает высокую скорость переключений при низкой потребляемой мощности; । наличие встроенного делителя тактового сигнала с коэффициентами деления 2, 4,6, 8, 10, 12, 14, 16; > использование методики CooICLOCK, позволяющей добиться снижения потреб- ляемой мощности за счет сочетания деления тактовой частоты и применения триггеров, тактируемых фронтом и спадом сигнала синхронизации; • организация блоков ввода/вывода в виде банков в кристаллах с большим количеством макроячеек; в блоках ввода/вывода имеется возможность выборочной установки во входных цепях триггеров Шмидта, обеспечивающих снижение влияния помех; • применение технологии DataGATE позволяет добиться дополнительного умень- шения потребляемой мощности за счет блокировки неактуальных или неизмс- ияюшихся сигналов в ячейках ввода/вывода; Цепи периферийного сканирования Рис. 1.3. Архитектура кристаллов семейства CooIRunner-Il • возможность формирования выходов с открытым стоком; • расширенный типовой ряд используемых корпусов, включающий Chip Scale Package (CSP), BGA, Fine Line BGA.TQFP, PQFP, VQFP и PLCC; • четыре независимых уровня защиты конфигурационных данных от несанкцио- нированного копирования, обеспечивающих охрану прав интеллектуальной соб- ственности; • поддержка конфигурирования по стандарту IEEE Std 1532;
/. Характеристика основных семейств ПЛИС и средств проектирования 1 j • возможность перепрограммирования в системе с напряжением питания 1.8 В; • совместимость с логическими уровнями стандартов цифровых сигналов 1.5 В, 1.8 В, 2.5 В и 3.3 В позволяет реализовывать устройства со смешанным питанием. ПЛИС серии CoolRunner, обладающие микро.мошным потреблением, рекоменду- ется использовать, в первую очередь, для применения в мобильных системах, с ав- тономными источниками питания ограниченного ресурса. Кристаллы этих семейств позволяют реализовать, например, специализированные контроллеры, в том числе для организации различных интерфейсов ввода/вывода, кодирующие и декодирую- щие устройства. 1.3. Краткая характеристика основных семейств ПЛИС FPGA фирмы Xilinx 1.3.1. Серия Virtex Семейство Virtex представлено девятью типами кристаллов, содержащими от 384 до 6144 конфигурируемых логических блоков (соответственно от 50 000 до 1 000 000 системных вентилей), которые производятся по технологии 0.22 мкм с пятислойной металлизацией. Характерными особенностями семейства Virtex являются: • высокая производительность, допускающая реализацию проектов с системными частотами до 200 МГц; • применение четырех специальных схем цифровой автоподстройки задержек (DDL), выполняющих функции умножения, деления и сдвига фаз тактовых час- тот, обеспечивает расширенные возможности управления синхронизацией; • использование четырех глобальных сетей предоставляет возможность распреде- ления сигналов синхронизации внутри кристаллов с малыми разбегами фронтов; • наличие двух видов внутренней оперативной памяти: распределенной Distributed RAM, реализуемой на базе четырсхвходовых таблиц преобразования (LookUp Table, LUT) конфигурируемых логических блоков (Configurable Logic Block, CLB), и встроенной блочной памяти Block SelectRAM, которая может быть орга- низована как синхронное двухпортовое ОЗУ; • возможность реализации быстрых внутренних интерфейсов к внешним высокопроизводительным элементам памяти (ОЗУ или ПЗУ); • применение специальной логики ускоренного переноса для выполнения высокоскоростных арифметических операций; • специальная поддержка реализации умножителей; • наличие цепочек каскадирования обеспечивает возможность реализации функ- ций с большим количеством входных переменных; • наличие внутренних шин с тремя состояниями; • полная поддержка протокола периферийного сканирования в соответствии со стандартом IEEE Std 1149.1; • совместимость со стандартами PCI 3.3 В 66 МГц;
2 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС поддержка функции Hot-swap для Compact PCI; использование технологии Virtex Sclectl/O™ позволяет поддерживать шестна- дцать цифровых сигнальных стандартов по вводу-выводу, в частности, LVTTL, LVCMOS2, PCI33_5, PCI66_5, PCI33_3, РС166_3, GTL, GTL+, SSTL2(I), SSTL2(II), SSTL3(I), SSTL3(II), HSTL(I), HSTL(U), HSTL(HI), AGP, CTT; неограниченное количество циклов загрузки конфигурационных данных; четыре режима конфигурирования ПЛИС (Slave-serial, Master-serial, SelectMAP. Boundary-scan mode); напряжение питания ядра кристалла составляет 2.5 В. Основу архитектуры кристаллов Virtex составляет массив конфигурируемых ло- ических блоков CLB, окруженных программируемыми блоками ввода/вывода ЮВ ис. 1.4). Кроме того, в нес входят схемы цифровой автоподстройки задержек DLL । блоки выделенной памяти Block SelectRAM. Все соединения между основными [рхитектурными элементами ПЛИС осуществляются с помощью иерархической ггруктуры трассировочных ресурсов. Блоки ввода/вывода 10В Трассировочные ресурсы VersaRing ш £ га и Массив конфигурируемых логических блоков CLB со та с £ га и га о га i о § Трассировочные ресурсы VersaRing ь Блоки ввода/вывода ЮВ DLL Рис. 1.4. Архитеюура кристаллов семейства Virtex Конфигурируемый логический блок ПЛИС семейства Virtex состоит из двух сек- ций, каждая из которых включает в себя две однотипные логические ячейки (Logic Cell, LC). В состав логической ячейки входит чстырсхвходовый функциональный генератор (таблица преобразований), триггерный элемент и логика ускоренного пс-
/ Характеристика основных семейств I'1ЛИС и средств проектирования 13 реноса. Кроме того, конфигурируемый логический блок содержит дополнительную логику, позволяющую конфигурировать ресурсы функциональных генераторов для реализации функций пяти и шести переменных. Основными элементами иерархиче- ской структуры трассировочных ресурсов являются: трассировочные ресурсы обще- го назначения, включающие главные трассировочные матрицы (General Routing Matrix, GRM) и коммутационные цепи различного типа, локальные трассировочные линии VersaBlock, окружающие каждый конфигурируемый логический блок, и до- полнительные трассировочные ресурсы для коммутации блоков ввода/вывода VersaRing. Семейство Virtex-E, являющееся результатом дальнейшего развития архитектуры Virtex на основе применения технологии 0.18 мкм с шестислойной металлизацией, содержит тринадцать ПЛИС с логической емкостью от 384 до 16 224 конфигури- руемых логических блоков (соответственно от 70 000 до 4 000 000 системных вен- тилей). Семейство Virtex-E, обладая в полной мере возможностями предыдущего семейства, имеет ряд существенных отличий по сравнению с Virtex: • повышение быстродействия кристаллов позволяет выполнять па их основе про- екты с системными частотами до 240 МГц; • увеличение максимальной эквивалентной логической ёмкости в 3 раза; • расширение максимальной ёмкости блочной памяти до 1120 Кбит; • максимальный объем распределенной памяти составляет 1 Мбит; • двукратное увеличение количества блоков цифровой автоподстройки задержек DLL (до восьми) предоставляет дополнительные возможности для организации эффективного механизма управления синхронизацией; • увеличение максимального числа блоков ввода-вывода (до 804) и их быстродей- ствия в 1.5 раза; • усовершенствованная технология Virtex Sclectl/O обеспечивает поддержку 20 различных стандартов сигналов, включающих LVTTL, LVCMOS2, LVCMOS18, PCI33_3, PCI66_3, GTL, GTL+, SSTL2(I), SSTL2(II), SSTL3(I), SSTL3(II), HSTL(I), HSTL(II), HSTL(III), AGP, TTL, LVDS, BLVDS, LVPECL, TTL; • применение новых типов корпусов, позволяющих, в частности, значительно уве- личить количество пользовательских выводов кристалла; • снижение напряжения питания "ядра" кристалла до 1.8 В. Архитектура ПЛИС семейства Virtex-E содержит те же структурные элементы, что и кристаллы Virtex, но изменено их взаимное расположение (рис. 1.5). Модифи- кация топологии ресурсов кристаллов позволяет добиться увеличения ёмкости блочной памяти. Семейство Virtex-II является представителем нового поколения высокопро- изводительных кристаллов большой емкости, реализующего концепцию Platform FPGA, согласно которой ПЛИС становится основным компонентом цифровой сис- темы. В состав этого семейства входят одиннадцать типов кристаллов, производи- мых по технологии 0,15/0,12 мкм с восьмислойпой металлизацией.
14 Зотов В Ю Проектирование цифровых устройств на основе ПЛИС DLL DLL DLL DLL Трассировочные ресурсы VersaRing Трассировочные ресурсы VersaRing DLL DLL DLL DLL Рис. 1.5. Архитектура кристаллов семейства Virtex-E Основные технические характеристики Virtex-11 по праву позволяют считать его наиболее перспективным и широко используемым в настоящее время семейством FPGA для построения систем передачи данных и цифровой обработки сигналов: • высокое быстродействие, позволяющее применять внутренние тактовые частоты до 420 МГц; • широкий диапазон логической емкости - от 64 до 11648 конфигурируемых логических блоков (соответственно от 40 000 до 8 000 000 системных вентилей) на кристалле; • высокая скорость обмена данными, достигающая более 840 Мб/с по одному ка- налу ввода/вывода стандарта LVDS (Low-Voltage Differential Signaling); • расширенный объем внутренней оперативной памяти двух видов: распределен- ной Distributed RAM, реализуемой на базе четырсхвходовых таблиц преобразо- вания LUT конфигурируемых логических блоков CLB, до 1,5 Мбит и встроенной блочной памяти Block SclcctRAM, выполненной в виде секций двухпортового ОЗУ по 18 Кбит, до 3 Мбит; • поддержка высокоскоростных интерфейсов к модулям внешней памяти, в част- ности, к DDR-SDRAM, FSRAM. QDR™-SRAM, Sigma RAM; • наличие встроенной логики ускоренного переноса, предназначенной для выпол- нения высокоскоростных арифметических операций; • включение в структуру кристаллов блоков аппаратных умножителей 18x18 бит, позволяющих реализовать быстродействующие устройства, использующие функ- ции умножения;
/. Характеристика основных семейств /UIHC и средств проектирования 15 • применение специальной логики каскадирования для реализации функций с большим количеством входных переменных; • наличие встроенных быстродействующих цифровых модулей управления син- хронизацией (Digital Clock Manager, DCM), выполняющих точную подстройку фронтов тактовых сигналов как внутри кристалла, так и на уровне печатной пла- ты, умножение и деление частоты синхросигналов, а также сдвиг фаз с высоким разрешением; • внедрение технологии внутренних соединений Active Interconnect™ Technology, основанной на сегментированной структуре трассировки четвертого поколения, позволяет получить прогнозируемые задержки распространения сигналов, независящие от коэффициента разветвления по выходу; • возможность программирования нагрузочной способности каждого вывода в диапазоне от 2 до 24 мА; • применение блоков ввода/вывода с программируемым импедансом позволяет исключить использование внешних согласующих резисторов; • совместимость со стандартами шин PCI-133 МГц, PCl-бб МГц и PCI-33 МГц; • поддержка стандартов дифференциальной передачи сигналов со скоростью 840 Мбит/с LVDS (Low-Voltage Differential Signaling), BLVDS (Bus LVDS), LDT (Lightning Data Trans-port), LVPECL (Low-Voltage Posi-tive Emitter-Coupled Logic); • неограниченное количество циклов загрузки конфигурационных данных; • пять режимов конфигурирования ПЛИС (подчиненный последовательный режим Slave-serial, ведущий последовательный режим Master-serial, подчиненный па- раллельный режим Slave SelectMAP, ведущий параллельный режим Master Select МАР, периферийного сканирования Boundary-scan mode (IEEE 1532)); • надежная система защиты конфигурационных данных от несанкционированного копирования, основанная на шифровании конфигурационной последовательно- сти по стандарту TRIPLE Data Encryption Standard (DES); • возможность частичного реконфигурирования кристаллов; • поддержка периферийного сканирования в соответствии со спецификацией стандарта IEEE Std 1149.1 и конфигурирования по стандарту IEEE Std 1532; • напряжение питания ядра кристалла 1.5 В, блоков ввода-вывода от 1.5 до 3.3 В (в зависимости от выбранного сигнального стандарта). Архитектура ПЛИС семейства Virtex-П представляет собой регулярную структу- ру, основными элементами которой являются: блоки ввода/вывода ЮВ, конфигури- руемые логические блоки CLB, секции блочной памяти Block SclectRAM, блоки аппаратных умножителей, цифровые модули управления синхронизацией DCM и трассировочные ресурсы (рис. 1.6). Программируемые блоки ввода-вывода ЮВ выполняют функции коммутации и буферизации сигналов, поступающих со входных контактов кристалла на входы конфигурируемых логических блоков и с выходов CLB на выходные контакты ПЛИС. Использование в блоках ЮВ встроенных входных и выходных регистров с удвоенной скоростью передачи данных обеспечивает реализацию высокоскорост- ных режимов передачи информации в проектируемой системе.
Каждый конфигурируемый логический блок включает в себя четыре одинаковые секции и два буфера с тремя состояниями. В состав каждой секции CLB входят два функциональных генератора, реализованных в виде четырехвходовых таблиц пре- образования LUT, два запоминающих элемента, конфигурируемых как D-триггеры или триггеры-защелки, и логика ускоренного переноса и каскадирования. Каждый блок памяти Block SelectRAM представляет собой двухпортовое ОЗУ с информационной емкостью 18 Кбит, которое может конфигурироваться с различной организацией (разрядностью шины данных и шины адреса). Каскадное объединение блоков Block SelectRAM позволяет реализовать массивы оперативной памяти боль- шого объема непосредственно на кристалле. Блоки аппаратных умножителей сопряжены с соседними блоками памяти Block SelectRAM. Такая структура позволяет нс только использовать умножитель с раз- личными источниками двух восемнадцатиразрядных операндов, но и оптимально реализовать выполнение операции умножения с содержимым одного из портов блочного ОЗУ. Цифровые модули управления синхронизацией DCM позволяют наиболее эф- фективно организовать формирование сетки тактовых сигналов с требуемыми ха- рактеристиками, используя операции синтеза частот и сдвига фаз формируемых сигналов. В модулях DCM применяется дискретный механизм подстройки фазы с шагом, составляющим 1/256 тактового периода. Модули DCM выполняют функции устранения временных перекосов при распространении сигналов синхронизации нс только внутри кристалла, по и на печатной плате. Кроме того, каждый DCM спосо- бен управлять четырьмя глобальными тактовыми мультиплексорами, нозволяющи-
/. Характеристика основных семейств ПЛИС и средств проектирования ~Y] ми выбирать один из двух входов синхронизации и переключать их без создания импульсной помехи. Новое поколение программируемых трассировочных ресурсов, основанных на технологии Active Interconnect Technology, осуществляет коммутацию рассмотрен- ных выше элементов архитектуры кристаллов. Трассировочные ресурсы образуют иерархическую структуру, основным элементом которой является главная трассиро- вочная матрица GRM. Все блоки ввода/вывода, конфигурируемые логические блоки, секции блочной памяти, аппаратные умножители и цифровые модули управления синхронизацией используют единую сеть внутренних соединений и единый доступ к глобальной трассировочной матрице. Применение технологии 0.13 мкм/0,09 мкм с девятислойной металлизацией вхо- де дальнейшего совершенствования архитектуры Virtex-Il, позволившее разместить на кристалле ядро процессора IBM® PowerPC® RISC, привело к созданию семейст- ва более высокого уровня Virtex-П Pro. В состав этого семейства входят десять ти- пов ПЛИС, которые содержат от 352 до 13904 конфигурируемых логических блоков. Новое семейство обладает всеми характерными особенностями кристаллов Virtcx-II, отличаясь от него рядом дополнительных преимуществ, среди которых, прежде всего, следует выделить: • наличие до двадцати четырех встроенных высокоскоростных приемопередатчи- ков Rocket I/O™, основанных на технологии Mindspeed's SkyRail™ и обладаю- щих скоростью обмена данными до 3.125 Мб/с; • включение в архитектуру кристаллов до четырех процессорных блоков РРС405 (PowerPC RISC); • увеличение максимального объема внутренней оперативной памяти каждого ви- да: распределенного ОЗУ до 1,7 Мб и встроенного блочного ОЗУ до 10 Мб; • расширение максимальной логической емкости кристаллов до 13904 конфигури- руемых логических блоков; • более чем трехкратное увеличение количества блоков аппаратных восемнадцати- разрядных умножителей; • использование технологии SelectI/0-Ultra™ обеспечивает поддержку семнадцати однополюсных и пяти дифференциальных сигнальных стандартов. Архитектурные особенности ПЛИС семейства Virtcx-11 Pro позволяют опти- мальным образом выполнять на их основе разработку "систем на кристалле" (Sys- tem-on-Chip). При этом в одном корпусе ПЛИС удается полностью реализовать функции процессора и всех периферийных устройств, включая различные интер- фейсы ввода/вывода. Гибкая комплексная система трассировочных ресурсов кри- сталлов семейства Virtcx-11 Pro создает эффективный механизм сопряжения процес- сорных блоков и окружающей программируемой логики. Реализация процессорных функций на аппаратном уровне, в виде встроенных блоков РРС405 (PowerPC RISC), обеспечивает достижение высокой производительности проектируемых систем. Архитектура ПЛИС Virtcx-11 Pro отличается от предшествующего семейства в основном наличием интегрированных процессорных блоков PowerPC и блоков приемопередатчиков Rocket I/O (рис. 1.7).
ПЛИС семейств Virtex могут успешно использоваться для создания высокоско- ростных вычислительных и телекоммутационных устройств, шинных интерфейсов (например, PCI, PCI-X, FlexBus-4, USB, FireWire), сетевых устройств и контролле- ров. Наличие аппаратных умножителей позволяет наиболее эффективно реализовы- вать на основе ПЛИС семейства Virtex-П и Virtex-II Pro системы цифровой обработ- ки сигналов. 1.3.2. Серия Spartan В состав семейства Spartan входят пять типов кристаллов, содержащих от 100 до 784 конфигурируемых логических блоков (соответственно от 5 000 до 40 000 сис- темных вентилей), выпускаемых по технологии 0.5 мкм с трехслойной металлиза- цией, с напряжением питания 5 В. ПЛИС этого семейства предоставляют возмож- ность реализации проектов с системными частотами до 80 МГц, обладающих со- вместимостью по вводу/выводу с РС1, с использованием синхронного двухпортово- го ОЗУ информационной емкостью от 3 Кбит до 25 Кбит и встроенной логики уско- ренного переноса. Семейство SpartanXL включает пять кристаллов с аналогичными ресурсами, технологией производства 0.35 мкм с пятислойной металлизацией и на- пряжением питания 3.3 В, обладающих совместимостью с пятивольтовой логикой по входам и выходам. ПЛИС семейств Spartan и SpartanXL имеют структуру, которая базируется на архитектуре серии ХС4000, и неуклонно вытесняются более совер- шенными семействами этой же серии. Поэтому более подробно характеристики кри- сталлов семейств Spartan и SpartanXL нс обсуждаются. Усовершенствование технологии производства и применение архитектуры се- мейства Virtex (см. рис. 1.4) привело к созданию семейств Spartan-Il и Spartan-llE.
/. Характеристика основных семейств ПЛУС и средств проектирования 19 ПЛИС этих семейств присущи основные особенности кристаллов Virtex, рассмот- ренные выше. Поэтому далее приводятся только те характеристики, в которых про- являются отличия этих семейств. Семейство Spartan-П представлено шестью типами кристаллов, выпускаемых по технологии 0.18/0.22 мкм с шестислойной металлиза- цией. Для этого семейства характерны следующие показатели: • диапазон логической ёмкости кристаллов составляет от 96 до 1176 конфигури- руемых логических блоков (соответственно от 15 000 до 200 000 системных вен- тилей); • максимальный объем внутренней распределенной оперативной памяти Distributed RAM, которая может быть реализована па базе четырехвходовых таб- лиц преобразования LUT конфигурируемых логических блоков CLB, находится в пределах от 6 до 75 Кбит; • предельная информационная емкость встроенной блочной памяти Block SelectRAM, организованной в виде секций ОЗУ по 4 Кбит, составляет от 16 до 56 Кбит; • более низкая стоимость по сравнению с кристаллами семейства Virtex; • напряжение питания ядра кристалла - 2.5 В. Семейство Spartan-BE основано на технологии 0.18 мкм с шсстислойной метал- лизацией. В настоящее время в это семейство входят семь типов кристаллов. Основ- ными отличиями семейства Spartan-lIE от Spartan-Il являются: • использование архитектурных и технологических особенностей семейства Virtcx-E; • увеличение верхней границы диапазона эквивалентной логической ёмкости кри- сталлов до 3 456 конфигурируемых логических блоков (600 000 системных вен- тилей); • расширение максимальной емкости встроенной блочной памяти до 288 Кбит; • возрастание максимально возможного объема ОЗУ, реализуемого в виде распре- деленной памяти; • повышение производительности кристаллов; • увеличение количества пользовательских выводов кристаллов; • поддержка девятнадцати сигнальных стандартов, включая LVTTL, LVCMOS, HSTL, SSTL, AGP, CTT, GTL, LVDS и LVPECL; • снижение потребляемой мощности; • напряжение питания ядра кристалла - 1.8 В. ПЛИС серии Spartan (прежде всего семейств Spartan-П и Spartan-ПЕ) представ- ляют собой альтернативу применению специализированных интегральных схем ASIC (applications specific integrated circuit). Кристаллы этой серии могут использо- ваться, например, для реализации проектов, включающих блоки устройств цифро- вой обработки сигналов, в том числе и DSP-процессоров, различных интерфейсов, включая РС1 и USB, RISC-микропропсссоров, специализированных микроконтрол- леров.
20 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС 1.4. Обзор семейств конфигурационных ПЗУ и ППЗУ фирмы Xilinx 1.4.1. Серия однократно программируемых ПЗУ ХС1700 Серия однократно программируемых ПЗУ ХС1700 включает в себя шесть се- мейств, отличающихся, прежде всего, напряжением питания и информационной емкостью: ХС1700Е, XC1700EL, XC17S00, XC17S00XL, XC17S00A и XC17VO0. Конфигурационные данные записываются в ПЗУ этой серии с помощью аппаратно- го программатора, например, HW-130, выпускаемого фирмой Xilinx. Семейство ХС1700Е составляют четыре типа ИС емкостью от 36 до 256 Кбит и напряжением питания 5 В. ПЗУ этого семейства выпускаются в корпусах PDIP-8, SOIC-8, VOIC-8 и PLCC-20. В семейство XC1700EL входят четыре элемента постоянной памяти с информа- ционной емкостью от 65 до 512 Кбит и напряжением питания 3.3 В. Это семейство использует ту же линейку корпусов, что и предыдущее. Семейство XC17S00 предназначено для хранения конфигурационных данных ПЛИС семейства Spartan. Оно содержит пять типов ПЗУ с информационной емко- стью от 65 до 524 Кбит и напряжением питания 5 В. ИС этого семейства выпуска- ются в корпусах PDIP-8, VOIC-8 и SOIC-20. В состав семейства XC17S00XL входят пять типов ИС, предназначенных для со- вместной работы с кристаллами семейства Spartan-XL. Напряжение питания эле- ментов этого семейства составляет 3.3 В. Диапазон информационной емкости и ти- повой ряд используемых корпусов ПЗУ XC17SO0XL не отличаются от предыдущего семейства. Семейство XC17S00A представлено одиннадцатью типами ПЗУ с информацион- ной емкостью от 197 до 1 875 Кбит и напряжением питания 3.3 В, которые предна- значены для записи конфигурационной последовательности ПЛИС семейств Spartan-II и Spartan-IIE. Элементы этого семейства выпускаются в корпусах PD1P-8, SOIC-20, VOIC-8 и VQFP-44. Семейство XC17V00 содержит пять типов ПЗУ большой емкости (от 1 до 16 Мбит) е напряжением питания 3.3 В. ИС этого семейства выпускаются в корпусах VQFP- 44, PLCC-44, PLCC-20, VO1C-8 и SOIC-20. 1.4.2. Серия перепрограммируемых в системе ППЗУ XC18V00 Серия перепрограммируемых в системе ППЗУ XC18V00 представлена пятью элементами с информационной емкостью от 256 Кбит до 4 Мбит и напряжением питания 3 В, которые предназначены для хранения конфигурационной последова- тельности ПЛИС семейств FPGA. Отличительными особенностями этой серии являются: • поддержка режимов последовательного и параллельного конфигурирования ПЛИС с частотой до 33 МГц; • совместимость по входу с уровнями сигналов 5В, 3.3 В и 2.5 В, по выходу - с 3.3 В и 2.5 В; • не менее 20 000 циклов перепрограммирования;
I. Характеристика основных семейств ПЛИС и средств проектирования 21 программирование и считывание информации с помощью унифицированных загрузочных кабелей, используемых для конфигурирования ПЛИС фирмы Xilinx, • полная поддержка протокола периферийного сканирования в соответствии со стандартом IEEE Std 1149.1 (JTAG); использование корпусов VQFP-44, PLCC-44, PLCC-20 и SOIC-20. Болес подробная информация о ПЛИС и конфигурационной памяти, а также ре- комендации по их применению содержится в [1-8]. 1.5. Краткий обзор основных средств проектирования фирмы Xilinx Кроме широкого спектра ПЛИС, основанных на применении передовых техно- логий производства, фирма Xilinx предоставляет современное программное обеспе- чение, необходимое для разработки проектов и конфигурирования кристаллов. В начале 2002 года завершен полный переход к новому поколению систем автомати- зированного проектирования ISE™ (Integrated Synthesis Environment), которые до того момента применялись в качестве альтернативы предыдущей серии САПР Foundation Series™. Применение программных средств 1SE позволяет значительно сократить время разработки и повысить уровень эффективности результатов за счет применения усовершенствованных методов проектирования, алгоритмов синтеза, размещения и трассировки проекта в кристалле. Средства проектирования ISE выпускаются в четырех конфигурациях: Foundation™ ISE, BaseX™ ISE Alliance™ ISE и WebPACK™ ISE. Основное отличие между этими конфигурациями заключается в количестве поддерживаемых кристал- лов и наборе дополнительных инструментов проектирования. Программные средства Foundation ISE представляют собой наиболее полную систему сквозного проектирования, которая поддерживает весь спектр ПЛИС, вы- пускаемых фирмой Xilinx. Экономичная конфигурация средств проектирования BaseX ISE имеет более низ- кую стоимость по сравнению с Foundation ISE, но поддерживает не все типы ПЛИС. Пакет BaseX ISE позволяет выполнять проекты на основе всех кристаллов семейств CPLD и ПЛИС серий FPGA с логической емкостью не более 300 000 системных вентилей. Для сопряжения с САПР других производителей предназначена конфигурация Alliance™ ISE. Она не содержит средств ввода исходных описаний проектов и синтеза. Эта копфшурация поддерживает все кристаллы, предоставляемые фирмой Xilinx. Свободно распространяемая (бесплатная) модификация САПР WebPACK ISE поддерживает те же кристаллы, что и BaseX ISE. Основное отличие пакета WebPACK ISE от конфигурации BaseX ISE состоит в отсутствии генератора логических ядер CORE Generator и топологического редактора FPGA Editor. Все конфигурации средств проектирования ISE (за исключением Alliance™ ISE} имеют одинаковую структуру и пользовательский интерфейс. Поэтому после освое- ния наиболее доступной конфигурации САПР WebPACK ISE, используя материал данной книги, можно, при необходимости, без труда перейти к наиболее полному пакету Foundation ISE.
22 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС 1.6. Основные характеристики пакета WebPACK ISE Программные средства WebPACK ISE представляют собой систему сквозного проектирования, которая реализует полный цикл разработки цифровых устройств на основе ПЛИС, включающий этапы создания исходных описаний проекта, синтеза, моделирования, размещения и трассировки, а также программирования кристалла. Версия 5.1г САПР WebPACK ISE предназначена для проектирования цифровых уст- ройств на базе ПЛИС фирмы Xilinx следующих семейств: CPLD: ХС95ОО (ХС9536, ХС9572, ХС95108, ХС95144, XC952I6, ХС95288), XC9500XL (XC9536XL, XC9572XL, XC95144XL, XC95288XL), XC9500XV (XC9536XV, XC9572XV, XC95144XV, XC95288XV), CoolRunner XPLA3 (XCR3O32XL, XCR3064XL, XCR3128XL, XCR3256XL, XCR3384XL, XCR3512XL), CoolRunner-Il (ХС2С32, ХС2С64, ХС2С128, ХС2С256, ХС2С384, ХС2С512); . FPGA: Spartan-II (XC2S15, XC2S30, XC2S50, XC2SI00, XC2S150, XC2S200), Spartan-IIE (XC2S5OE, XC2S100E, XC2S150E, XC2S200E, XC2S300E), Virtex-E (XCV50E, XCVIOOE, XCV200E, XCV300E), Virtex-II (2V40, 2V80 и 2V250), Virtex-II Pro (XC2VP2). Кроме того, модуль программирования iMPACT™, входящий в состав пакета, может применяться для конфигурирования практически всех кристаллов, выпускае- мых фирмой Xilinx. Для создания конфигурационной последовательности при этом используются другие средства проектирования, предоставляемые фирмой Xilinx. Отличительные особенности пакета: • поддержка различных методов описания проектируемых устройств (графиче- ских, в форме принципиальных схем или диаграмм состояний, и текстовых, с использованием языков описания аппаратуры HDL (Hardware Description Language)); • возможность использования проектов, подготовленных в других системах проектирования; • наличие схемотехнического редактора, укомплектованного набором обширных библиотек; • интеллектуальные средства создания HDL-описаний, формирующие шаблоны на основании информации, предоставляемой пользователем, для языков описания аппаратуры VHDL™, Verilog™ и ABEL™ HDL; • высокоэффективные встроенные средства синтеза HDL-просктов, поддержи- вающие языки VHDL, Verilog и ABEL HDL; • интегрированный интерфейс для средств синтеза "третьих" фирм, обеспечиваю- щий возможность применения, например, пакетов Synplicity Synplify™/Pro и LconardoSpectrum™, поддерживающих языки VHDL и Verilog; • развитые средства верификации проекта, позволяющие сократить полное время разработки устройства за счет обнаружения возможных ошибок на более ранних стадиях проектирования и сокращения длительности и количества возможных итераций;
/, Характеристика основных семейств ПЛИС и средств проектирования 23 • автоматические средства трассировки проекта в кристаллы различных семейств ПЛИС Xilinx с учетом оптимизации проекта по различным параметрам; • единые средства программирования кристаллов всех семейств ПЛИС Xilinx, выполненных по различной технологии (CPLD и FPGA), и конфигурационных ППЗУ, поддерживающие несколько типов загрузочных кабелей JTAG- интерфейса; • встроенный комплект вспомогательных программных средств, позволяющих повысить эффективность процесса проектирования, включающий анализатор статических временных характеристик Timing Analyzer™, интерактивный графи- ческий редактор размещения Floorplanner™, модуль оценки потребляемой мощ- ности XPower™, "мастер" подготовки описаний блоков синхронизации, выпол- няемых на основе DCM, Architecture Wizard™, интерактивный графический ре- дактор топологических ограничений РАСЕ™ (Pinout and Area Constraints Editor)', • доступный для разработчика пользовательский интерфейс и наличие в каждом модуле пакета справочной системы, сокращающие время освоения САПР; наличие интегрированного с пакетом САПР набора инструментов и утилит дру- гих фирм, предоставляющих дополнительные удобства в процессе проектирова- ния, включающего утилиту генерации тестовых сигналов HDL Bencher™, про- грамму моделирования ModelSim ХЕ II Starter™ и редактор диаграмм состояний StateCAD™.
2. Получение и установка программных модулей пакета WebPACK ISE 2.1. Требования к операционной системе и аппаратным ресурсам компьютера Версия 5.И пакета WebPACK ISE предназначена для работы под управлением операционных систем Windows 2000™ и Windows ХР™. Исключение поддержки операционной системы Windows 98™ делает невозможным установку этой версии средств проектирования на компьютеры, нс обладающие достаточными ресурсами для использования указанных операционных систем. В среде Windows 98 можно использовать предыдущую версию пакета WebPACK ISE (4.2i), работа с которой рассмотрена в [15-25]. Для нормального функционирования версии 5. li пакета WebPACK ISE в ОС Windows 2000 необходим компьютер с процессором не ниже Pentium™ 200 МГц и ОЗУ не менее 64 Мбайт (рекомендуется 256 Мбайт). Размер свободного пространст- ва на жестком диске для установки WebPACK 1SE и ModelSim ХЕ Starter в полном объеме должен составлять не менее I Гбайт. Кроме того, при установке пакета же- сткий диск, который обычно используется для создания временных файлов, должен иметь не менее 500 Мбайт свободного пространства. 2.2. Получение программного обеспечения WebPACK ISE Для получения программного обеспечения WebPACK 1SE необходимо открыть страницу www.xilHtx.com/sxpressoAvebpack.htm и выполнить процедуру бесплатной регистрации, воспользовавшись кнопкой Register for ISE WebPACK (рис. 2.1). При этом пользователю присваивается введенный им идентификационный код (UserID) и пароль (Password), которые затем следует указать при выполнении процедуры ска- чивания пакета или его обновлений. Если эта процедура уже однажды выполнялась, то повторной регистрации нс требуется. Достаточно воспользоваться уже имеющи- мися идентификационным кодом и паролем. Чтобы перейти к процессу копирования программных средств, следует нажать кнопку Download ISE WebPACK. Учитывая большой объем копируемых данных, рекомендуется использовать специальные про- граммы скачивания, позволяющие продолжить этот процесс после разрыва и вос- становления соединения с сервером. Дистрибутив версии 5.li пакета включает в себя два файла, каждый из которых представляет собой самораспаковывающийся архив. После их копирования следует поочередно запустить на выполнение каждый из полученных файлов. По окончании распаковки каждого архива автоматически запускается процесс установки WebPACK ISE или ModelSim ХЕ 11 Starter, в ходе которого необходимо последова- тельно выполнить вес инструкции каждой программы инсталляции.
2. Получение и установка программных модулей пакета WebPACK /SE 25 Free ISE WebPACK 5.1i The free ISE WebPACK 5.1i is the most complete, easy-to-use software solution to complete a Xilinx CPLD or low-density FPGA design Web* CIC ./ Important: To access ISE WebPACK, please use a JavaScript-enabled browser version equal to or greaierthan IE '4.0 or Netscape Navigator 4.7. Register: In order to use ISE WebPACK, we ask that you first register with us. "Л Registration allows Xilinx to monitor the Register tor. I . , . • . . ise WebPACK | software demand and provide update -!x notifications, if desired. Download: If you have already registered for the ISE WebPACK. please click the download button. Download ISE WebPACK Рис. 2.1. Регис грация и копирование пакета WebPACK ISE Для выполнения завершающих этапов разработки (конфигурирования кристал- лов) потребуется загрузочный кабель, который можно изготовить самостоятельно, воспользовавшись схемой, представленной в документации на следующих Web- страницах: http://www.xilinx.com/support/sw__manuals/xilinx5/download/pac.zip и http://www.plis.ru /pic/zip/JTAG__cable.pdf 2.3. Установка программных средств пакета WebPACK ISE После распаковки архива пакета WebPACK ISE автоматически запускается "мас- тер" его установки на жесткий диск компьютера. Работа "мастера" начинается с вы- вода диалоговой панели, содержащей лицензионное соглашение по использованию устанавливаемого программного обеспечения, вид которой приведен на рис. 2.2. Необходимо принять условия лицензии, поместив курсор на поле индикатора / accept the terms of this software license, и щелкнув левой кнопкой мыши. При этом в поле индикатора отобразится соответствующий маркер и станет активной кнопка Ца.чее (Next), расположенная в нижней части диалоговой панели (рис. 2.2). Эта кноп- ка позволяет перейти к следующей диалоговой панели "мастера", в которой нужно указать имя диска и каталога, используемого для размещения программ пакета,
26 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС та, а также название раздела (программной группы), создаваемого в меню Пуск/Про- граммы (Start/Programs) (рис. 2.3). JUcept Software Нсеме - ХШпи Software JmkalMftftt Accept the Software License Please lead the Mowing Seflwere License Agreemert and cfick the checkbox bewi to indcate That you accept the teem cf the bgreemeri INSTALL CHECKLIST Wefcoftw Ac&ptScfawe License ..Ldtr :«й ZviilD f!" Л .Х$гй?.;;л8?1,‘ Орг й? “г-К<ПГ*Г? hr- л«е Соруг^Н (С) 2002 Хйпх. Inc. Al r®H»ie*erved. Tiademyfcs -and Patartt H3LIMXIIWE BASED SOFTWARE LICENSE"~ Я please READ THIS DOCUMENT CAREFULLY BEFORE USING the software. BY USING THE SOFTWARE.YOU ARE AGREEING 10 BE BOUND BY THE TERMS OF THIS LICENSE. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE. _ YOU ARE NOT PERMITTED TD USE THE SOFTWARE.IF YOU HAVE ALREADY • PURCHASED THE SOFTWARE, PROMPTLYRETURN THE SOFTWARE TO THE PLACE WHERE YOU OBTAINED IT AND YOUR MONEY WILL BE REFUNDED. IF YOU HAVE OBTAMED THIS SOFTWARE AS AN UPDATE TO SOFTWARE FOR WHICH YOU HAVE PREVIOUSIYOBTAJNED A LICENSE. T HE TERMS OF THAT PRIOR LICENSE WILL CONTINUE TO CONTROL YOUR USE OF THE SOFTWARE. IF YOU ARE A QUALIFIED UNIVERSITY USER. YOU MAY OBTAIN AN EXTENSION OF THS LICENSE BY REGISTERING WITH THE MLMXUNIVERSITYPRCeRAM. p e* te"14 Q* th* wftwarefceme.1 | — NeA > | Cancel |: Рис. 2.2. Диалоговая панель, содержащая лицензионное соглашение по использованию пакета WebPACK ISE Select Destination Directory - Ж0ПК Select a Destination Directory Select the decctcey where you wert the totowre eet«fed Ekwbc. Note: If rinsing ever on existingXtalSE 5 inSaWicn where аХйтх Service Peck has been installed. theXfinx Service P«k «*4 need to be teagpfed alter completing this гиШЛйп INSTALL CHECKLIST Welcome Accept Scflweie Lcense Enter Registration ID' 4 Select Destination 0 rectcsy » lie-gas trei Select a Program Folder The name Hete w> apoear rt the Start Menu->Pic»grar«S fct on ytw desktop. |xirwlSE 5 —a ¥ .TS Cowyhl (C) 2002 XiVw. Inc. 41 rights reserved Frademarks yid Patents <£ock j Nexi> ] Cancel | Рис. 2.3. Определение полного названия Karanoia, в котором разметаются программы пакета WebPACK ISE, и соответствующе! о радела в меню Пуск/Профаммы (StarUProgiams)
2. Получение и установка программных модулей пакета WebPA СК ISE *2,7 Полное имя каталога, включающее путь доступа к нему, указывается в поле ре- дактирования Select a Destination Directory, расположенном в верхней части панели. По умолчанию предлагается каталог Xilinx на диске С. Изменить название диска или каталога можно с помощью клавиатуры после активизации этого поля редактирова- ния или кнопки Browse, которая открывает стандартную панель выбора каталога. Название раздела, создаваемого в меню Пуск/Программы и используемого для вызо- ва программ пакета, определяется в поле редактирования Select a Program Folder. Рекомендуется использовать название Xilinx ISE 5, предлагаемое по умолчанию. При необходимости его изменения следует использовать клавиатуру. После нажатия кнопки Далее (Next) в нижней части диалоговой панели (рис. 2.3) открывается оче- редная диалоговая панель "мастера", вид которой показан на рис. 2.4. select Software Modules to Install - Х1Ьпк Software Inst';T ; . Select Xilinx Modules ДСРШ Design Envionment INSTALL CHECKLIST V/elccme Accept Software License Enter Registration ID Select Destination Directory * Select Xifrw Modules I, С-...ЕП* «'Глр-тЧ Be Sh ч •/;CPLD Proyamming Tools Jr XPower and ChipViewer Tods >FPGA Design Environment v FPGA Programming Tools /Parallel Cable Drivers y'-MultiUNX Cable Driver ^Documentation Copyright (C) 2002 X^inx. Inc. Al rights reserved. . Tradema ks and Patents |Г_' Select/DeselectAII DiskSpaceReqdred: 5B0S25KB Disk Space Available: 9974600 KB i-Desctiplion 7Г735Г- I Installs Design Entry, Synthesis, and Implementation Tools for XiSnxCPLDs. aitik^. .згас'.'ет < fiack | Next > J Cancel | Рис. 2,4, Выбор устанавливаемых компонентов (групп программ) пакета WebPACK 1SE В этой панели указывается состав устанавливаемых компонентов пакета WebPACK ISE. Наличие маркера на поле индикатора, расположенного в строке с названием группы программ, указывает на то, что эти модули пакета будут установ- лены на диск. Для изменения состояния индикатора на противоположное следует поместить курсор на соответствующую строку списка компонентов и щелкнуть ле- вой кнопкой мыши. В случае пропуска указанной диалоговой панели пакет устанав- ливается в полном объеме. Перейдя к следующей диалоговой панели (рис. 2.5), не- обходимо определить значения параметров, управляющих установкой переменных окружения и путей доступа к программам пакета в системных файлах. Определение
28 Зотов В. К). Проектирование цифровых устройств иа основе ПЛИС значений переменных XILINX и PATH необходимо для нормального функциониро- вания модулей пакета в пакетном режиме и в режиме командной строки. UpdMe Environment - ХЙпи Softwarelr»t >« -ц*- л. Update Environment z. .(HIHitO INSTALL CHECKLIST Vr'efcoie Accept Soflwa e License' Enter Regstfeticn ID Select Destination Director Select Xibnx Modules wUpdate Environment P £Syp&»>0UNX vaWJd This variable is required fa the Xifiru software to wok properV. If you check Ibis bos. the instater wfi autonalicaiy tvdate fhe registry lie (V/indowsXP/2000(RD with the proper values. И you uncheck this box, you must ensue that this environment variable is property set. P SeVUpdate PATH variable This PATH variable must be updated for the Хйгх software to wok proper^. If you check this box. the installer veil automatic Jh update the registry file (Windows XPZ2000P)) with the proper values. If you uncheck this box. you roust ensue that foie environment variable is property set. СсруггдЫргтгХШпх. Inc, All ligh'.s reserved. Trademarks and Patents <£ack | ijexty | Cancel | Рис. 2.5. Выбор режима автоматической установки переменных окружения для программ пакета WebPACK ISE в системных файлах Параметр Set/Update XILINX variable используется для управления установкой или заменой переменных окружения в системных файлах. Значение "включено”, установленное по умолчанию, разрешает автоматическое определение переменной окружения XILINX. Значение параметра Set/Update PATH variable управляет установкой путей дос- тупа к программам пакета в системных файлах. По умолчанию этот параметр нахо- дится в состоянии "включено", разрешающем автоматическое определение пере- менной окружения PATH, которая описывает путь доступа к программам пакета WebPACK ISE. Для этих двух параметров рекомендуется использовать значение "включено", установленное по умолчанию. Очередная диалоговая панель, отображаемая после нажатия кнопки Далее (Next) (рис. 2.5), содержит список указанных параметров процесса установки пакета (рис. 2.6). Для изменения каких-либо значений следует вернуться к предыдущим шагам, нажав кнопку Назад (Back). Если все параметры установлены корректно, то следует нажать кнопку Установка (Install), которая активизирует собственно процесс инсталляции про- 1рамм пакета. При этом па экран выводится информационная панель (рис. 2.7), в верхней части которой отображается индикатор выполнения этою процесса.
2. Гкпучение и установка программных модулей пакета WebPACK 1SE 29 Begin Installatton “ МЙгос Software trvuKMfon Begin InrtaHatfon A jvmmaiy cf nhrt has been selected can be found in fieieLM 7о view this Be. invoke theXWc System Checkei liom the Accessories folder in the Хйх IS£ & Piogvn Gnxjp. «пб tdect the fletetM optran. Options Summary: lNS7AH£H£tXUS7 Wekome Accept Scflwwe Lnerise Enter Reflirtration ID Select DestinalKn Oeectap Select XJrx ModUet Update Enviorrrert Begn Inrtatakr? Inrta* Luxation: C \X»ra Program Group: Xir» ISE 5 Srib'Up&tePATH variable SeMJpdaieXlUNX variable CPLD D«ipn Envictmeri CrtD Progammirg 1 ooh XPower and Ch©V«*er T ock FPGA D&tgn Envvomeri FPGA Piogwnmng Tools J . • Ccp/^^jZOEXibJrK; A! rights reserved TrafemaksendPritente < Back I Instal I Careel Рис. 2.6. Диалоговая панель запуска процесса инсталляции пакета WebPACK 1SE Begin Installation - Minx Software ItHtrfaUan Lntfairg j INSTALLOlECXUSr , Welcome Accept Sck«4«e License Enlet Registration ID Sefect Dertination Directory Select ЗДгк Mpdites Update Enswoanent Beflnfnrtafction Cop/i^i(2]2002XinAlnc A! 1 reserved £ T taderraiks and Parents__ V4ttUiMlVWA еялот'юл tw'nt Рис. 2.7. Информационная панель процесса инсталляции пакета WebPACK 1SE После завершения инсталляции программ пакета WebPACK ISE последовательно вы- водятся два однотипных запроса о замене драйверов (рис. 2.8). Для нормальной работы загрузочных кабелей рекомендуется ответить на эти запросы утвердительно (Уез).
30 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Xilinx 5.Н Set up Д] sf \ Setup has detected an existing version of the driver file C:\Xilinxlhnlnt)win<4'vr.sys in the system directory C:\WINNpsystem32\drivers\winchvr.sys Do you want to overwrite this file (Xlinx recommends that you overwrite this file)? |i Vps j| No | Рис. 2.8. Панель запроса о необходимости установки (или замене) драйвера, обеспечивающего корректную работу загрузочного кабеля Далее выводится диалоговая панель с предложением установки программных средств Java Runtime Environment для просмотра отчетов в формате HTML (рис. 2.9). Рекомендуется отказаться от инсталляции этих программных средств, нажав кнопку Отмена (Cancel). Xilinx 5-li Setup . '' ,e(fr . ...^. ...... ,. xl : In order to view HTML reports for CPLDs, the Java Runtime Environment needs to be installed on your system. |l-~ Cancel | Рис. 2.9. Диалоговая панель запуска процесса инсталляции программных средств Java Runtime Environment Затем появляется диалоговая панель, в которой предлагается открыть страницу Web-сервера, содержащую информацию о возможности обновления пакета и других программных средствах разработки фирмы Xilinx (рис. 2.10). Чтобы отказаться от немедленного открытия этой страницы, следует нажать кнопку Закрыть (Close). Setup complete - see whi^snejsb.,. X1 Visit the Software Updates Center for the the latest information on software updates. IP, future releases, and other Xilinx development tools. View Now iI Close Рис, 2.10. Панель запроса о немедленном открытии страницы Internet, содержащей информацию о возможности обновления пакета и других программных средствах фирмы Xilinx
2. Получение и установка программных модулей пакета WebPA СК 1SE 31 Далее отображается сообщение об успешном окончании процесса инсталляции (рис. 2.11), которое закрывается кнопкой ОК. Xilinx 5.1i Setup „ . х| Install has completed successfully. Рис. 2.11. Панель сообщения об успешном завершении процесса инсталляции пакета WebPACK ISE Процесс установки завершается запросом о необходимости перезагрузки компь- ютера (рис. 2.12). Для немедленной перезагрузки следует нажать кнопку Yes. ’.”"s <мяммма . Xilinx5.1iSetup ...... ‘ ' I / Setup has cpdated system files and Windows must be restarted. г X/ i Would you like to do that now? I I p 2П no I Рис. 2.12. Панель запроса о необходимости перезагрузки компьютера 2.4. Обновление программных средств пакета WebPACK ISE Обновление программных средств пакета WebPACK 1SE выполняется с помо- щью модулей Service Pack, которые следует скопировать, обратившись на страницу www.xilinx.coin/supportl, и воспользовавшись идентификационным кодом и паролем, указанными ранее, в процессе регистрации. Полученный модуль обновления уста- навливается поверх существующей версии. К моменту написания данной книги на web-серверс фирмы Xilinx был представлен Service Pack 3. Этот модуль представля- ет собой самораспаковывающийся архив, после развертывания которого автомати- чески запускается "мастер" инсталляции Service Pack (рис. 2.13). В процессе установки модуля обновления Service Pack необходимо указать диск и каталог, в котором расположены программные средства пакета WebPACK ISE, ис- пользуя соответствующую диалоговую панель "мастера”, вид которой показан на рис. 2.14.
32 Замов В. Ю. Проектирование цифровых устройств на основе ПЛИС Рис. 2.13. Стартовая панель "мастера" инсталляции Service Раск SelectDeshnabonDirectory-Х*пнSoftware .<. ”*1 ->Г~ I х| Select a Destination Directory Select the duectoty where you want the software instated ~ 7i a,°"a l J&fbX i ИЙ " 5 INSTALL CHECKLIST Select Destnation Dtectoiy ЗедоНг-ги&з&оХ Copyright (CJ 2002Xinx Inc. Al trghts reserved Trademarks and Patents 17 Create Backup before ^staffing update. Selecting this option wl Ajw you Io irinsleS this Service Pack update al a later time by selecting SUrt->Programs->Xfcw ISE 5->AccessoiiesoUrw»tan Service Pack. Note This wi double the amount d space teqtied for Ihis service pack. | flext> | Cancel | Рис. 2.14. Определение полного названия каталота. в котором размещаются программы пакета WebPACK. 1SE
2. Получение и установка программных модулей пакета WebPA СК ISE 33 Ввод названия каталога осуществляется с помощью клавиатуры после активиза- ции поля редактирования Select a Destination Directory или кнопки Browse, которая открывает стандартную панель выбора каталога. В этой же диалоговой панели со- держится параметр Create Backup before installing update, который управляет созда- нием резервных копий изменяемых файлов. По умолчанию для этого параметра ис- пользуется значение "включено", позволяющее при необходимости впоследствии отменить изменения, выполненные в процессе обновления пакета. Перед началом копирования файлов выводится панель, в которой приведены зна- чения параметров инсталляции (рис. 2.15). 9ефпirtftaflsticm-ХйпмSoftwareIhrtdbtton. '-г-. -I Iх! d Begin Installation Cick the Intldl button Io begn (he Seivce Pack rislafeton. Options Summary • INSKU. CHECKLIST ЕыыЗ&ТсЛ*»----------------------------2 Select Desfrieticn Directory . * Begin Inhalation I Copyright (Ц 2002Kifew, tnc Al limits reserved T tademaks and Patents < fiack [ [ndet | Canccf | Рис. 2.15. Диалоговая панель запуска процесса инсталляции Service Pack При необходимости внесения изменений следует вернуться к предыдущим ша- гам, нажав кнопку Назад (Back). Если все значения параметров установлены верно, то следует нажать кнопку Установка (Install), которая активизирует собственно процесс инсталляции файлов обновления Service Pack. Дальнейший ход процесса установки модуля обновления сопровождается выво- дом диалоговых панелей, приведенных на рис. 2.7-2.8, 2.10-2.12, которые подробно рассмотрены в предыдущем разделе. 2.5. Установка системы HDL-моделирования ModelSim ХЕ Starter Процесс установки системы IIDL-моделировапия ModelSim ХЕ Starter выполняется также с помощью "мастера", который активизируется после автоматической распаковки инсталляционного архива. В стартовой диалоговой панели, вид которой показан на 2 Зотов В. К).
34 Зотов В. fO Проектирование цифровых устройств иа основе ПЛИС рис. 2.16, следует выбрать редакцию устанавливаемой системы ModcISim. Для инстал- ляции свободно распространяемой версии ModelSim ХЕ Starter нужно нажать кноп- ку МХЕ Starter - Limited version МХЕ (Free). Переход к следующему шагу установки программных средств ModcISim осуществляется нажатием кнопки Датее (Next) в нижней части диалоговой панели (рис. 2.16). Рис. 2.16. Выбор редакции устанавливаемой системы HDL-моделирования ModelSim Очередная диалоговая панель "мастера" установки содержит предупреждение о необходимости закрытия других открытых приложений перед началом инсталляции (рис. 2.17). Welcome Л • *- х| ля | Welcome to the ModelSwnXE II v5.Ba Starter Sets?) program. This program i*iinstalModelSirn><E 11 v5.6a Starter on your comptier. Il is strongly recommended that you exit al Wmdows programs before running this Setup program. Click Cared to quit Setup and then dose any programs you have runnhg Click Next to continue wih theSetupprogram. WARNING: This program is protected by copyright law and international beetles. Unauthorized reproduction or distribution ol ths program, or aqy portion of«, may result in severe civi and criminal pendties. and wfi be prosecuted Io the maximum extent possible under law. J; jjext? “| Cancel J Рис. 2.17. Панель предупреждения о необходимости завершения работы других активизированных программ перед началом процесса инсталляции
2. Получение и установка программных модулей пакета WebPACK ISE 35 В следующей диалоговой панели "мастера" отображается текст лицензионного соглашения об использовании программы ModelSim (рис. 2.18). Чтобы продолжить процесс установки, необходимо принять условия лицензии, нажав кнопку fo. Software License Agreement- .2^. .. x[ Please read the following License Agreement Press the PAGE DOWN key to see the rest d the agreement License agreement 6/15/99 Software License Agreement This is a legal ag eement between you, the end user, and Model Technology Incorporated (M TIJ. By ckkhg the accept button below you are agreeing to be bound by the terms of this agreement. 11 you do not agree to the terms of this agreement. click the abort button below and permanently delete the Model Tech software and accompanying items from you hard drive. Model Teelnotogy Software License Do you accept al the terms of the preceding License Agreement? II you choose No, Setup will close. T© insial ModelSim XE11 v5.6a Starter, yw must accept this agreement. < Back | ~ Yes | No | Рис. 2.18. Диалоговая панель, содержащая лицензионное соглашение по использованию системы моделирования ModelSim Далее необходимо указать диск и каталог, в который будет установлено про- граммное обеспечение, используя соответствующую диалоговую панель (рис. 2.19). Choose ►i- ; tion Location Setup will install ModelSim ХЕ II v5.6a Starter r the fdfowng folder. Tо instal to this folder, click Next Tо imtal to a different folder, dick Browse and select another folder. You can choose not to install ModelSimХЕ II v5.6a Starter by clicking Cancel to exit Setup. Best nation Folder C:\Modellech_xe__siarler Browse... | < Даек Next > Cancel | Рис. 2.19. Определение ночного названия казаиога, в котором размещаются программы пакета ModcISim
36 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Полное название каталога определяется с помощью стандартной панели выбора, которая открывается после нажатия кнопки Browse. По умолчанию программные средства ModclSim размещаются в каталоге Modeltech_ xe_starter, который создает- ся на диске С. На следующем шаге процесса инсталляции производится выбор устанавливае- мых библиотек. При использовании языка описания аппаратуры VHDL следует в списке, приведенном в диалоговой панели, показанной на рис. 2.20, выбрать строку Full VHDL. Затем определяется название раздела, создаваемого в меню Пуск/Программы (Start/Programs) (рис. 2.21), предоставляющего доступ к программам системы моде- лирования ModelSim. Имя программной группы указывается в поле редактирования Program Folder. По умолчанию в качестве названия раздела используется строка ModelSim ХЕ II v5.6a Starter. 2. Получение и установки программных модулей пакета WebPACK ISE У} Далее выводится панель запроса о возможности создания ярлыка для программы ModelSim на Рабочем столе компьютера (рис. 2.22). При утвердительном ответе на этот запрос после завершения установки на Рабочем столе появляется соответст- вующая пиктограмма, которая может использоваться для активизации системы мо- делирования. ModelSim Desktop Shortcut:. Would you like a shortcut to Modelsim placed on your desktop? Рис. 2.20. Выбор устанавливаемых библиотек системы моделирования ModelSim Рис. 2.22. Панель запроса о создании ярлыка для программы ModelSim на Рабочем столе компьютера Для запуска средств моделирования в пакетном режиме необходимо в системных файлах указать путь доступа к программным модулям ModelSim. Эта процедура выполняется автоматически при нажатии кнопки Yes в панели запроса, показанной на рис. 2.23. Add ModeISm То Path Would you lise the Modelsim executable directory added to yoir path? This is useful for running batch compiles and simulations from DOS boxes. Рис. 2.23. Панель запроса об установке путей доступа к программам пакета ModelSim в системных файлах компьютера Select Program FoJdw Setup add program icom to lhe Progem FcWer bled helm. Ycu may type a new folder name, ct select one from lhe ««sting Fdeers let Qck Next to continue. program Foldett. Existrg Folders: Accessories Admiristfd&ve T ools Java 2 Runtime Environment Statup Wridows Commander XibxISE 5 Средства Microsoft Ulfce < Beck [ Next > ~| Cancel [ Рис. 2.21. Определение названия раздела, создаваемого в меню Пуск/Пршраммы (Sian'Prograrns) Функционирование системы моделирования ModelSim ХЕ II Starter невозможно без файла, содержащего лицензионный код. Процедура его получения может быть выполнена сразу же после завершения установки пакета, если используемый ком- пьютер имеет выход в Internet. При утвердительном ответе на запрос о немедленном выполнении этой процедуры (рис. 2.24) автоматически стартует утилита Submit License Request. Вопросы получения лицензионного кода подробно обсуждаются в следующем разделе. License Request Complete the license request process following setup? No Рис. 2.24. Панель запроса о немедленном выполнении процедуры получения файла лицензии для программы ModclSim
38 Зотов 5. Ю. Проектирование цифровых устройств на основе ПЛИС Процесс инсталляции системы моделирования ModelSim ХЕ II Starter завершает- ся нажатием кнопки Готово (Finish) в нижней части информационной панели, при- веденной на рис. 2.25. Рис. 2.25. Заключительная панель "мастера" установки системы моделирования ModelSim 2.6. Получение лицензионного кода для системы моделирования ModelSim Для получения файла лицензии следует активизировать строку Submit License Request в меню Программы/ModelSim ... , которое открывается при нажатии кнопки Пуск операционной системы Windows. Эта утилита автоматически собирает всю информацию об используемом ПК, необходимую для получения лицензионного ко- да, преобразует се в формат адресной строки Internet и автоматически запускает Microsoft® Internet Explorer™. Если ПК, на котором установлен пакет, подключен к Internet, то файл лицензии может быть получен в течение нескольких минут. В про- цессе получения лицензии необходимо ввести идентификатор пользователя и пароль, полученные ранее при регистрации, и вновь заполнить анкету с указанием адреса электронной почты, по которому будет выслан файл, содержащий лицензи- онный код. В противном случае, при отсутствии выхода в Internet, следует скопировать со- держимое адресной строки Microsoft Internet Explorer в буфер, выделив его и вос- пользовавшись командой копирования пз меню Edit или всплывающего контекстно- зависимого меню. Затем содержимое буфера нужно сохранить в виде текстового файла на дискете (используя любой текстовый редактор, например, Блокнот™
2. Получение и установка программных модулей пакета WebPACK ISE 39 (Notepad'''1) или MMW™), которую следует перенести на ПК, подключенный к Internet. Далее нужно выполнить обратную операцию - скопировать текст из файла на дискете в буфер, после чего активизировать Microsoft Internet Explorer и вставить содержимое буфера в адресную строку. Полученный файл лицензии необходимо перенести на ПК, где установлен пакет. Перед началом работы с пакетом моделирования необходимо активизировать по- лученный лицензионный код. Для этого следует запустить программу Licensing Wizard, используя меню Программы/ ModelSim которая выполнит поиск файла лицензии license.dat и автоматически установит полный путь доступа к нему, а так- же необходимые переменные окружения.
3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK ISE 3.1. Управляющая оболочка пакета WebPACK ISE - Навигатор проекта Работа с пакетом WebPACK ISE начинается с запуска управляющей оболочки - Навигатора проекта. Для этого следует дважды щелкнуть левой кнопкой мыши на пиктограмме лЧг, расположенной на Рабочем столе ПК, или использовать традици- онный метод активизации программ в среде Windows 2000/ХР, воспользовавшись кнопкой Пуск (Start). После нажатия кнопки Пуск в открывшейся панели необходи- мо выбрать строку Программы (Programs), а затем в предложенном списке выбрать группу программ Xilinx ISE 5, в которой нужно выделить строку Project Navigator и щелкнуть на ней левой кнопкой мыши. При успешном выполнении указанных опе- раций на экране монитора отображается основное окно Навигатора проекта. 3.1.1. Пользовательский интерфейс программы Навигатор проекта Программа Навигатор проекта (Project Navigator™) предназначена для органи- зации эффективного управления процессом проектирования цифрового устройства на базе ПЛИС Xilinx в среде пакета WebPACK ISE. Она является основой интегри- рованной среды разработки проекта. Управляющая оболочка пакета WebPACK ISE Навигатор проекта предоставляет пользователю удобный интерфейс для работы с проектом и управления всеми процессами в ходе проектирования, включая про- граммирование ПЛИС. Запуск всех необходимых программных модулей пакета осуществляется непосредственно в среде Навигатора проекта. Подробная структура основного окна Навигатора проекта показана на рис. 3.1. Она включает следующие элементы: • заголовок окна; • главное меню; • оперативную панель управления; • панель инструментов текстового редактора HDL-кода; • встроенное окно исходных модулей (файлов) проекта (Sources in Project); • встроенное окно необходимых процедур (процессов) для выбранного исходного модуля проекта (Processes for Current Source); • встроенное окно консольных сообщений программных модулей (Console); • панель для размещения рабочих окон редактора текстовых I lDL-описаний проекта; • строку состояния. Некоторые из перечисленных элементов могут быть выключены в текущей кон- фигурации. Для рациональною использования всех инструментов пользовательского
3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK JSE 41 интерфейса рекомендуется установить режим отображения всех элементов окна На- вигатора проекта, используя команды пункта View основного меню. Окно исходных Окно Главное Оперативная модулей процессов меню панель управления fjxifir.»- Profe't nv*gator - Q\PbojettMt2_scF\k2^du«l -ЦЛЛеМТ ~ ,C tdt yew Project . & G 0 | -* ъ' Ж co £r«MS utfMow yelp I 15-4ВЁ да й ?!*? ,p Заголовок Инструментальная окна панель HDL-редактора JS1Z1 .... . a.Jfii2£i % % Ji 9 За Я : - in Prefect_______ j jc2_*di ГД1 readme / О xc9572xl5cs4B-XSrVF Ё-© lc2jcpfc2_’°P^ E*i jc2jecl>№ E? jc2jopucf Sours e DL io Processes for Cuiert Source * » DesignErniyTltiita ~ > UserConftrSris .♦ Qc^ Scheme Q Inpfanent Deign * Q Generate РюдолюИр Fite ^СРпосепУГегм |* -JxJ IS "J VHDL "eat. ben: LIBRARY IEEE: USE IEEE.sCd_loplc_llM.all; ENTITY testbench is END testbench; ARCHITECTURE testbench_arch Or testbench IS ccwpcereirr зса_сор PORT ( CLK : in STLJ.OGIC; LEFT : RIGHT STOP : in iTD-LC^ir:; Q: inout STD_r.CC-IC_VECTrF (3 D0W4T0 C] END COMPONENT: В [~ In STD-LOGIC in STD LGvI< и в jjj (Empty Log] iiGI <j I к Coytne Mee / FwHeJp, tressFl J 3R A. Закладки страниц окна Окно консольных Строка Панель размещения рабочих консольных сообщений сообщений состояния окон HDL-редактора Рис.З. I. Основное окно Навигатора проекта пакета WebPACK ISE В заголовке окна Навигатора проекта отображается полное имя файла описания текущего открытого проекта, которое включает путь доступа к рабочему каталогу проекта. Главное меню управляющей оболочки пакета обеспечивает доступ ко всем ко- мандам, необходимым для работы с проектом. Каждый пункт главного меню откры- вает всплывающее меню, в котором находится соответствующая группа команд. Всплывающее меню File содержит команды создания, открытия, сохранения и за- крытия проектов и файлов. Кроме того, в эту группу включены команды печати и завершения работы. Выпадающее меню Edit объединяет команды работы со встро- енным редактором HDL-кода и изменения параметров конфигурации Навигатора проекта. Во всплывающем меню View сгруппированы команды, определяющие вид окна Навигатора проекта. Строки этого меню указывают, какие элементы окна бу- дут выведены на экран, а какие - скрыты. Выпадающее меню Project содержит ко- манды работы с проектом, которые позволяют включать в проект модули исходных описаний, архивировать файлы проекта, использовать механизм "моментальных снимков",.устанавливать параметры проекта по образцу (аналогичные параметрам Другого проекта’), удалять полученные результаты проектирования. Во всплываю- щем меню Source находятся команды, необходимые тля выполнения операций с
42 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС модулями исходных описаний. Пункты этого меню позволяют открывать, закрывать, переименовывать, удалять и помещать в библиотеку исходные модули проекта. Кроме того, здесь же расположена команда установки параметров проекта. Выпа- дающее меню Process предоставляет команды управления процессами разработки. Здесь находятся команды активизации процедур, просмотра отчетов об их выполне- нии и установки параметров процессов. Выпадающее меню Window содержит ко- манды работы с окнами текстового редактора HDL-кода. Расположенные здесь ко- манды позволяют создавать необходимое количество рабочих окон и устанавливать их конфигурацию. Пункт Help основного меню предоставляет справочную инфор- мацию о программах пакета и открывает прямой доступ к ресурсам Web-сайта xilinx.com, если используемый компьютер имеет выход в Internet. Следует обратить внимание на то, что не все команды доступны в тот или иной момент работы с про- граммой. Заблокированные команды обозначаются серым цветом. Навигатор про- екта автоматически определяет область доступности каждой команды, что позволя- ет исключить неправильное ее использование. Такой механизм, например, позволяет избежать выполнения недопустимых операций над исходными модулями различных типов. Оперативная панель управления содержит кнопки быстрого доступа, которые дублируют наиболее часто используемые команды Навигатора проекта. Состояние кнопок оперативной панели зависит от типов модулей и процедур, выделенных в окнах исходных модулей и процессов в текущий момент времени. Кнопки, соот- ветствующие недопустимым операциям по отношению к выделенным модулям и процедурам, являются недоступными и отображаются серым цветом. Таким образом обеспечивается необходимая защита от ошибок в процессе проектирования. В панели инструментов интегрированного текстового редактора HDL-кода сгруппированы кнопки быстрого доступа, используемые для выполнения часто ис- пользуемых операций редактирования текста. Здесь также находится поле быстрого поиска заданной строки текста. Элементы инструментальной панели доступны толь- ко при работе с HDL-рсдактором. Если не открыто ни одно окно редактора HDL- кода, то панель инструментов находится в неактивном состоянии. В этом случае все элементы панели отображаются серым цветом. Окно исходных модулей (файлов) проекта представляет в различных формах ин- формацию о структуре исходных данных проекта. Это встроенное окно имеет три страницы, снабженные закладками: Module View, Snapshot View, Library View (рис. 3.1). Чтобы выбрать нужную страницу окна исходных модулей проекта, необ- ходимо поместить курсор мыши па соответствующую закладку и щелкнуть левой кнопкой. Каждая страница окна исходных модулей соответствует определенному типу данных. Страница Module View показывает иерархическую структуру модулей, в которых содержится описание проектируемого устройства в графической или тек- стовой форме, а также описание тестовых воздействий, используемых в процессе моделирования. Эта страница наиболее часто используется при работе с проектом. На странице Snapshot View отражены сведения об имеющихся "моментальных снимках” проекта. Эта страница используется нс только дтя вывода списка сформированных "мо- ментальных снимков", но и для просмотра их структуры. Сгранпна ! ibrary View содер- жит информацию о библиотеках, используемых в проекте. Каждый тип данных в окне
3 Характеристики и пользовательский интерфейс основных программ пакета WebPACK ISK 43 исходных модулей обозначается соответствующей пиктограммой. Полный перечень ис- пользуемых обозначений типов модулей приведен ниже. Ё1 - заголовок проекта; а - параметры проекта (тип ПЛИС и средства синтеза); 0- исходное описание на языке VHDL; 0 - описание VHDL-пакета; 0 - временные и топологические ограничения проекта; 0 - описание тестовых воздействий на языке VHDL; 0 - схемотехническое описание; ® - исходное описание в виде диаграмм состояний; 0 - исходное описание па языке Verilog; 0 —описание тестовых воздействий на языке Verilog; 0 - исходное описание на языке ABEL-HDL; описание тестовых воздействий на языке ABEL-HDL; - описание IP-модуля, сформированное программой CORE Generator; 0 - описание тестовых воздействий в виде временных диаграмм, подготовлен- ных с помощью программы HDL Bencher; 0 - исходное описание, представленное в формате EDIF; - модуль, сформированный с помощью "мастера” Architecture Wizard; © - карта блочной памяти; © — модуль, содержащий исполняемый код для процессорного ядра; 01 - описание содержимого памяти; Е - документация; 0 - неопределенный или некорректный тип модуля. Окно процессов представляет собой эффективный визуальный механизм управ- ления всем ходом проектирования устройства. В этом окне отображается поэтапная последовательность действий (операций), которая должна быть выполнена по отно- шению к модулю, выделенному в окне исходных модулей проекта. Таким образом, в окне процессов разработчику предоставляется подробный интерактивный план ра- боты с проектом. Содержание окна процедур зависит от типа выделенного исходно- го модуля и семейства ПЛИС, выбранного для реализации проекта. Информация о маршруте проектирования устройства может быть представлена в сжатом или раз- вернутом виде. При сжатой форме отображения данных в окне процессов показаны лить основные этапы проектирования. Развернутая форма имеет вид ветвящейся иерархической структуры, каждый узел которой представляет определенную фазу соответствующего этапа проектирования. Ветви структуры содержат информацию не только о процедурах проектирования, ио и о возможности использования допол- нительных инструментов, интегрированных с пакетом WebPACK ISE. Для перехода от сжатого формата к подробному необходимо последовательно развернул, каждый узел структуры, помеченный знаком "+”, щелкнув на нем левой кнопкой мыши. По- вторный щелчок мыши приводит узел, обозначенный знаком в исходное состоя-
44 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС ние. Навигатор проекта предоставляет пользователю три способа управления про- цессами проектирования. Для первых двух способов необходимо выделить требуе- мую процедуру в окне процессов, поместив курсор на строку с ее названием и щелкнув левой кнопкой мыши. Далее можно использовать пункт Process главного меню и затем команды соответствующего выпадающего меню. Второй способ за- ключается в использовании команд всплывающего контекстно-зависимого меню, активизируемого щелчком правой кнопкой мыши. Контекстно-зависимое меню в этом случае содержит команды, дублирующие часто используемые пункты всплы- вающего меню Process. Самый простой и быстрый способ запуска процедур - двой- ной щелчок левой кнопкой мыши на строке с названием соответствующей процеду- ры в окне процессов. Следует обратить внимание на то, что при активизации про- цесса также выполняются процедуры, которые предшествуют и оказывают влияние на исполняемый процесс. После выполнения процедуры в строке с ее названием выводится пиктограмма, обозначающая характер завершения процесса. Возможны следующие варианты завершения процедур: CZ - текущий процесс выполнен успешно; в - процедура исполнена без ошибок, но имеются предупреждения; X - при выполнении процесса обнаружены ошибки; ? - результаты выполнения процесса устарели (не соответствуют исходным данным). Более подробные сведения о результатах выполнения процесса содержатся в со- ответствующем отчете. Для просмотра отчета используются те же методы, что и для активизации процессов. Удобнее всего дважды щелкнуть левой кнопкой мыши на строке с названием отчета. Окно консольных сообщений имеет две страницы с закладками Console и Find in Files. Страница Console является основной (используется более часто в работе с проектом) и предназначена для вывода информационных сообщений о запуске и ходе выполнения процедур. Здесь отображаются сообщения об ошибках и преду- преждения, сопровождаемые идентификационными кодами. Страница Find in Files используется только при работе со встроенным HDL-редактором. На этой странице отражаются результаты поиска заданной строки текста в виде списка имен файлов, включающих полный путь доступа. Встроенный текстовый редактор Навигатора проекта предназначен для созда- ния описаний на языках HDL и их последующей корректировки. Интегрированный HDL-редактор может иметь несколько одновременно открытых рабочих окон. Эти окна располагаются внутри панели размещения окон встроенного редактора (рис. 3.1). Вид расположения рабочих окоп на панели (каскадный или непсрекры- вающийся) устанавливается с помощью команд выпадающего меню Window. В этой же панели отображаются отчеты о выполнении процедур проектирования. Строка состояния, расположенная в нижней части окна Навигатора проекта, служит для вывода сообщений о текущих выполняемых командах и пояснений о назначении выбранной команды. Часть строки состояния используется при работе со встроенным HDL-редактором. В этом фрагменте отображаются координаты те- кущего расположения курсора (номер строки и позиции) в активном рабочем окне текстового редактора.
3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK ISE 45 3.1.2. Описание команд всплывающих меню Навигатора проекта Пункт File главного меню открывает доступ к меню команд работы с файлами и проектами. New Project инициирует процесс создания нового проекта. При выборе этой ко- манды открывается диалоговая панель, в которой необходимо задать параметры соз- даваемого проекта. При успешном выполнении команды новый проект автоматиче- ски открывается в окне Навигатора проекта. Open Project активизирует стандартную диалоговую панель открытия сущест- вующего проекта. После выбора нужного проекта текущий рабочий проект автома- тически закрывается и производится загрузка выбранного варианта. Open Example используется для открытия примеров проектов, поставляемых в составе пакета WebPACK ISE. Эта команда аналогична предыдущей. Отличие со- стоит в том, что при выводе на экран стандартной диалоговой панели в ней отобра- жается каталог, в котором находятся примеры проектов. Close Project закрывает текущий проект. Если в процессе работы с проектом бы- ли внесены изменения, которые не были сохранены, то перед закрытием проекта будет выведен запрос об их сохранении. После ответа на запрос проект автоматиче- ски закрывается. Save Project As позволяет сохранить текущий проект под новым именем. При выборе этой команды открывается диалоговая панель, в которой нужно указать но- вое имя проекта и его расположение на диске. По умолчанию предлагается рабочий каталог текущего проекта. Следует обратить внимание на то, что каждый проект занимает отдельный каталог. Поэтому, чтобы проект под старым именем оставался неповрежденным, для сохранения проекта под новым названием нужно выбрать новый каталог. При этом все исходные модули проекта автоматически копируются в новый каталог. В случае успешного выполнения этой команды в Навигаторе проекта будет открыт проект с новым именем. New используется для создания нового модуля, содержащего HDL-код. Эта ко- манда открывает новое рабочее окно встроенного текстового редактора. Новый мо- дуль HDL-описания, формируемый таким способом, не включается автоматически в состав проекта. Для этого после создания нового модуля следует воспользоваться командой Add Source, которая находится во всплывающем меню Project. Open открывает существующий модуль, содержащий HDL-код. При издании этой команды на экран монитора выводится стандартная диалоговая панель, в которой следует указать требуемый файл. После этого автоматически открывается новое ра- бочее окно встроенного текстового редактора, в котором отображается текст вы- бранного файла. Close закрывает текущий модуль, содержащий HDL-код. Эта команда использу- ется для закрытия текущего рабочего окна встроенного текстового редактора. Если Редактируемый текст нс был предварительно сохранен в соответствующем файле, то выводится запрос на его сохранение. Save сохраняет модуль описания на языке HDL, открытый в активном окне встроенного текстового редактора, в виде файла на диске.
46 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС Save As позволяет сохранить текущий редактируемый модуль HDL-описания под новым именем. При выборе этой команды открывается стандартная диалоговая па- нель, в которой указывается новое имя файла и место его расположения на диске. Print предназначена для печати модуля описания на языке HDL, открытого в те- кущем активном окне встроенного текстового редактора. Перед началом печати на экран монитора выводится стандартная диалоговая панель установки параметров принтера и качества печати. Save All позволяет сохранить все модули, открытые во встроенном редакторе HDL-кода. Recent Project предоставляет возможность открыть один из проектов, с которыми работали раньше. При выборе этой команды выводится меню, содержащее список проектов, открытых в Навигаторе проекта в предыдущих сеансах работы с пакетом. Количество последних выполнявшихся проектов, включаемых в список, определя- ется параметрами конфигурации Навигатора проекта. Максимальное количество элементов в этом списке равно шестнадцати. Для открытия нужного проекта следует поместить курсор па строку с его названием и щелкнуть левой кнопкой мыши. При этом текущий проект автоматически закрывается. Recent Files позволяет открыть один из файлов, с которыми работали ранее во встроенном текстовом редакторе. При выполнении этой команды на экран монитора выводится меню следующего уровня, представляющее список файлов, которые бы- ли открыты в редакторе HDL-кода. Длина этого списка определяется параметрами конфигурации Навигатора проекта. Максимальное количество названий файлов, активизированных перед этим и включаемых в список, равно шестнадцати. После выбора требуемого файла из предлагаемого списка автоматически открывается но- вое рабочее окно встроенного текстового редактора, отображающее содержимое этого файла. Exit завершает работу Навигатора проекта. Если к этому моменту были открыты окна встроенного текстового редактора, содержимое которых не было сохранено, то выводится запрос о сохранении этих модулей Выпадающее меню Edit предоставляет перечисленные ниже команды редактиро- вания модулей HDL-описаний и установки параметров конфигурации Навигатора проекта. Undo отменяет последние действия, выполненные в HDL-редакторе. Redo повторяет последнюю отмененную операцию (восстанавливает содержимое файла в состояние, предшествующее выполнению команды Undo). Cut вырезает выделенный фрагмент HDL-кода из активного окна редактора и помещает его в буфер обмена Clipboard. Содержимое буфера обмена в дальнейшем может быть скопировано как в текущее окно редактирования, так и в другие откры- тые окна редактора. Сору копирует выделенный фрагмент текста в HDL-редакторе в буфер обмена Clipboard. Выделенный блок кола не удаляется из текущего рабочего окна редактора. Paste позволяет вставить содержимое буфера обмена Clipboard в активное рабо- чее окно редактора HDL-кода. Текущая позиция курсора указывает место располо- жения копируемого фрагмента. Если перед выполнением этой команды в текущем
3. Характеристики и /юхезаватезкскнИ ишперфейс основных программ пакета WebPACK ISE dfl окне редактора был выделен фрагмент текста, то этот текст заменяется содержимым буфера обмена. Go to открывает всплывающее меню следующего уровня, в котором находятся команды перемещения курсора в активном окне встроенного текстового редактора. Next word перемещает курсор к началу следующего слова. Previous word устанавливает курсор в начало предыдущего слова. Top of File перемещает курсор в позицию, соответствующую началу текущего открытого файла в HDL-редакторе. Bottom of File помещает курсор в позицию, соответствующую концу файла, от- крытого в HDL-редакторе. Line позволяет указать номер строки, в которой должен быть расположен курсор. Select предоставляет меню следующего уровня, в котором расположены команды выделения различных фрагментов редактируемого текста. То Beginning of Line выделяет часть строки от текущей позиции курсора до нача- ла строки. То End of Line выделяет часть строки от текущей позиции курсора до конца строки. То Beginning of File используется для выделения фрагмента HDL-кода от теку- щей позиции курсора до позиции, соответствующей началу файла. То End of File устанавливает выделение блока HDL-кода от текущей позиции курсора до позиции, соответствующей концу файла. То Next Word выделяет часть строки от текущей позиции курсора до начала сле- дующего слова. То Previous Word используется для выделения фрагмента строки от текущей по- зиции курсора до начала предыдущего слова. Insert File позволяет вставить содержимое выбранного текстового файла в теку- щее рабочее окно редактора IIDL-кода. При выборе этой команды открывается диа- логовая панель, в которой необходимо указать файл, используемый для вставки. Find осуществляет поиск заданной строки текста в текущем рабочем окне редак- тора HDL-кода. При выполнении этой команды открывается диалоговая панель, в которой следует указать искомый текст, параметры и направление поиска. Find Next позволяет найти следующую строку заданного текста в текущем рабо- чем окне редактора HDL-кода. Эта команда фактически повторяет последнюю вы- полненную команду Find. Replace используется для замены заданной строки символов указанным текстом. При выборе этой команды открывается диалоговая панель, в которой следует ввести заменяемый и новый текст, а также установить параметры замены. Find in Files осуществляет поиск заданной строки текста во всех открытых фай- лах HDL-редактора. При исполнении этой команды открывается диалоговая панель, в которой следует указать искомый текст и параметры поиска. Language Templates предоставляет доступ к шаблонам языков HDL, временных и топологических ограничений проекта. При выборе этой команды открывается окно шаблонов для языков VHDL, Verilog и ABEL HDL и ограничений проекта (DCF). В этом окне необходимо выбрать используемый язык или раздел ограничений, а за- тем в предложенном списке указать требуемый шаблон.
48 Зотов В. Ю. Проектирование цифровых устройств па основе П.ПМС Preferences позволяет установить параметры конфигурации Навигатора проекта. Эта команда предоставляет возможность изменения настроек Навигатора проекта, редактора, окна процессов и программных средств, используемых совместно с паке- том WebPACK ISE. Всплывающее меню View содержит приведенный ниже список команд управле- ния видимостью основных элементов окна Навигатора проекта. Наличие маркера в строке меню View указывает на то, что соответствующий элемент пользовательского интерфейса представлен в основном окне Навигатора проекта. Для изменения со- стояния какого-либо элемента окна на противоположное достаточно щелкнуть левой кнопкой мыши на строке всплывающего меню, в которой указано название этого элемента. Standard Toolbar включает или выключает оперативную панель. Editor Toolbar выводит на экран или скрывает инструментальную панель встро- енного HDL-редактора. Project Workspace определяет видимость рабочей области Навигатора проекта, включающей встроенные окна исходных модулей и процедур. Source включает или выключает встроенное окно исходных модулей. Process устанавливает состояние встроенного окна процессов. Transcript задаст режим видимости встроенного окна консольных сообщений. File Names управляет отображением названий файлов для соответствующих ис- ходных модулей. Refresh - производит регенерацию встроенного окна исходных модулей. Line Numbers включает или выключает нумерацию строк в окне встроенного ре- дактора HDL-кода. Minimize All Windows переводит все окна Навигатора проекта в минимизиро- ванное состояние. Пункт Project основного меню открывает доступ к меню команд управления проектом. New Source инициирует процесс создания нового исходного модуля проекта. При выполнении этой команды открывается диалоговая панель, предлагающая выбрать тип создаваемого модуля, его название и расположение на диске. После успешного создания модуля автоматически запускается приложение, в среде которого редакти- руется данный тип модуля. Например, при создании модуля описания на языке VHDL открывается новое окно встроенного текстового редактора. Созданный мо- дуль автоматически включается в состав проекта. Add Source позволяет добавить в проект созданные ранее модули исходных опи- саний, в том числе из других проектов. Исполнение этой команды начинается с вы- вода диалоговой панели, в которой нужно найти и указать требуемый модуль. Вклю- ченный таким образом в состав проекта модуль не переписывается в рабочий ката- лог текущего проекта. Add Copy of Source копирует файлы исходных модулей из других каталогов в ра- бочую папку проекта и включает эти модули в состав проекта. Эта команда анало- гична предыдущей и отличается только тем, что файл исходного модуля, включае- мого в состав проекта, копируется в рабочий каталог текущего проекта.
3 Характеристики и пользовательский интерфейс осиовпыт прогримы пакета WebPACK ISE 49 Cleanup Project Files удаляет из состава проекта результаты выполненных проце- дур. После выполнения этой команды файлы, полученные в результате выполнения процедур синтеза, размещения и трассировки, будут удалены из рабочего каталога проекта. Toggle Paths включает или выключает отображение полного пути доступа к ис- ходным файлам проекта. Эта команда определяет форму представления имен фай- лов в окне исходных модулей проекта: полную или сокращенную. Archive создает архив файлов текущего проекта. При выполнении этой команды формируется ZIP- архив файлов, находящихся в рабочем каталоге проекта. Take Snapshot используется для создания "моментального снимка" проекта. Эта команда фиксирует текущее состояние проекта и сохраняет его в отдельной папке, которая создастся в рабочем каталоге проекта. При этом сохраняются не только файлы проекта, но и установленные значения параметров процессов. Make Snapshot Current заменяет текущий проект выбранным "моментальным снимком" проекта. Эта команда восстанавливает состояние проекта, зафиксирован- ное в выбранном "моментальном снимке". Если текущее состояние проекта предва- рительно не было сохранено в виде "моментального снимка", то при выполнении этой команды оно будет утеряно. Apply Project Properties устанавливает параметры процессов текущего проекта, аналогичные параметрам другого проекта. Эта команда позволяет копировать значе- ния параметров процессов из других проектов или "моментальных снимков". Всплывающее меню Source содержит следующие команды работы с модулями исходных описаний проекта. Open открывает модуль, выделенный в окне исходных модулей проекта. Эта ко- манда активизирует приложение пакета, которое используется для создания и редак- тирования выбранного модуля. Открываемый модуль автоматически загружается в рабочее окно этого приложения. Если в окне исходных модулей проекта установле- на страница Snapshot VEeiv, то команда Open используется для отображения иерар- хической структуры выбранного "моментального снимка". Remove исключает выделенный модуль исходных данных из состава проекта. При этом файл исключаемого исходного модуля не удаляется из рабочего каталога проекта. Move to Library позволяет поместить выбранный исходный модуль в библиотеку. При выборе этой команды открывается диалоговая панель, в которой находится спи- сок доступных библиотек проекта. В этом списке следует выбрать нужную библио- теку, дважды щелкнув левой кнопкой мыши на соответствующей строке. Properties используется для редактирования параметров проекта. Чтобы восполь- зоваться этой командой, предварительно необходимо выделить модуль заголовка или модуль описания параметров проекта в окне исходных модулей. При выполне- нии этой команды открывается диалоговая панель, в которой в виде таблицы пред- ставлены параметры проекта, доступные для редактирования. Команды выпадающего меню Process предназначены для управления процеду- рами, выполняемыми в ходе процесса проектирования. Run инициирует выполнение выделенного процесса и связанных с ним процедур, которые не исполнялись до этого момента. Эта команда производит запуск процеду-
50 Зотов В. К). Проектирование цифровых устройств па основе ПЛИС ры, выделенной в окне процессов, и процедур, от результатов выполнения которых она зависит, но которые еше не были исполнены. Rerun запускает повторное выполнение выделенного процесса и связанных с ним процедур. Rerun All осуществляет повторный запуск выделенного процесса и всех, предше- ствующих и связанных с ним, процедур. При выборе этой команды выполняется процедура, выделенная в окне процессов, и все процедуры, результаты исполнения которых необходимы для старта выделенного процесса. Open Without Updating позволяет просмотреть отчет или активизировать прило- жение, выделенные в окне процессов, независимо от соответствия имеющихся результатов исходным данным процесса проектирования. Если результаты (и отчет) выбранного процесса устарели (не соответствуют исходным данным), то при вы- полнении этой команды текущий процесс не выполняется заново, а приложение или отчет активизируется с использованием имеющихся (устаревших) данных. Stop прерывает выполнение текущего процесса. Остановка исполнения текущей процедуры не всегда происходит немедленно. Это зависит от характера выполняе- мого процесса. Properties используется для просмотра и редактирования параметров выделенно- го процесса. При выборе этой команды открывается диалоговая панель, в которой в форме таблицы представлены параметры процедуры, выделенной в окне проце с- сов. Эта панель может содержать несколько страниц, отмеченных закладками. Но- вые значения параметров вступают в силу только при нажатии кнопки ОК в нижней части диалоговой панели. Пункт Window главного меню открывает доступ к стандартному меню команд, используемых для создания и установки взаимного расположения рабочих окон интегрированного текстового редактора HDL-кода. New Window - открывает новое рабочее окно встроенного HDL-редактора, в ко- торое копируется содержимое текущего активного окна. После этого новое окно автоматически становится активным. Cascade устанавливает каскадное расположение рабочих окон редактора HDL-кода. Tile Horizontally располагает рабочие окна HDL-редактора в виде горизонталь- ных неперекрываюшихся областей. Tile Vertically конфигурирует окна редактора HDL-кода в виде вертикальных не- перекрывающихся участков рабочей панели. 3.1.3. Оперативная панель управления Навигатора проекта Кнопки оперативной панели управления Навигатора проекта (рис. 3.2) обеспе- чивают непосредственный доступ к ряду команд, минуя процедуру их поиска в соответствующих меню. File Edit View Project Source Process Window Help ]|D & Q О I|13 X4 E ;ТеЖ& ] 1? Я? Рис. 3.2. Г данное меню и оперативная панель управления основного окна Павигаюра проекта
51 3. Характеристики и жнъзоватечьский интерфейс основных программы пакета WebPACK JSE LOJ - создает новый модуль исходного описания на одном из языков IIDL. По- сле нажатия этой кнопки открывается окно встроенного текстового редактора, в ко- тором с клавиатуры набирается HDL-код. Имя нового модуля задается при его со- хранении в виде файла на диске. Следует обратить внимание на то, что созданный таким способом модуль автоматически не включается в состав проекта. 1.^1 - открывает существующий файл описания на языке HDL. Щелчком левой клавиши мыши на этой кнопке открывается диалоговая панель выбора файла для его последующей загрузки в окно встроенного текстового редактора. Таким образом могут быть открыты не только файлы текущего проекта, но и файлы, которые нс входят в состав рабочего проекта. ЁС 1--1 - сохраняет содержимое активного окна интегрированного текстового редактора в виде файла на диске. При нажатии этой кнопки открывается стандартная диалоговая панель сохранения файла, если создается новый файл, или непосредственно осуществляется запись данных на диск, если в окне редактора был открыт существующий файл. Жз - производит запись на диск всех файлов, открытых в редакторе HDL-кода. Ш-1 - инициирует процесс создания нового исходного модуля. Выбор этой кнопки активизирует диалоговую панель, в которой необходимо указать параметры формируемого модуля. После ввода требуемой информации производится запуск приложения, которое ассоциируется с данным типом модуля. - открывает модуль исходного описания проекта. Для модуля, выделенного в окне исходных модулей, запускается приложение, в котором он создавался. На- пример, для модуля, содержащего принципиальную схему, открывается окно схемо- технического редактора, в котором отображается указанная схема. (ГЦ! 1±=и - предоставляет возможность редактирования значении параметров текуще- го проекта. Нажатие этой кнопки выводит на экран монитора панель параметров проекта, если в окне исходных модулей выделен заголовок или модуль описания параметров проекта. И - осуществляет запуск указанного процесса. При нажатии па эту кнопку стартует процедура, выделенная в окне процессов. При этом также выполняются процедуры, оказывающие влияние па выбранный процесс, и не активизированные до этого момента. I—il - производит запуск выбранной процедуры и всех процессов, влияющих на ее выполнение. й I—D - прерывает выполнение текущего процесса.
52 Зотов 13. Ю. Проектирование цифровых устройств на основе ПЛИС 1*-£-1Д - позволяет просматривать и редактировать параметры выбранного процес- са. При нажатии этой кнопки открывается диалоговая панель, в которой отобража- ются характеристики процедуры, выделенной в окне процессов. [^0 - включает и выключает отображение рабочей области Навигатора проекта. Если кнопка находится в отжатом состоянии, то рабочая область, включающая окно ис- ходных модулей и окно процессов, отсутствует в окне Навигатора проекта. Фиксация кнопки в нажатом состоянии включает изображения окон рабочей области. I - управляет изображением окна консольных сообщений. Нажатое состояние кнопки соответствует включенному состоянию окна консоли, а отжатое - выклю- ченному. — переводит все окна Навигатора проекта в свернутое состояние. - выводит информацию о версии Навигатора проекта. (®| к I - позволяет получить контекстно-зависимую справку. После нажатия этой кнопки курсор приобретает вид стрелки со знаком вопроса. Для получения справки об элементе окна Навигатора проекта следует поместить указатель на изображение этого элемента и щелкнуть левой клавишей мыши. 3.1.4. Панель инструментов HDL-редактора Навигатора проекта Панель инструментов содержит кнопки быстрого доступа не только дублирую- щие команды редактирования текста, но и выполняющие операции, отсутствующие в системе меню (рис. 3.3). Здесь также находится поле быстрого поиска заданной строки текста. Edit 9- И С. . х. * • .. ’ "Ч- k*. 31 л % % Ъ I Q Рис.3.3. Панель инструментов интегрированного текстового редактора HDL-кода Навигатора проекта Ш - удаляет выделенный фрагмент текста в окне редактора и помещает его в буфер обмена Clipboard. Находящийся в буфере обмена текст впоследствии может быть вставлен как в текущее окно редактирования, так и в другие открытые окна редактора. ЁЙ _- копирует выделенный участок HDL-кода в буфер обмена Clipboard. ——J - осуществляет вставку содержимого буфера обмена Clipboard в текущее рабочее окно HDL-редактора. Вставка фрагмента производится, начиная с текущей позиции курсора. Если перед операцией вставки в окне редактора имеется выделен- ный фрагмент текста, то этот текст заменяется содержимым буфера обмена.
Характеристики и польховательский интерфейс основных программ пакета WebPACK 1SE 53 КЭ -Z - отменяет последнюю выполненную операцию. с71 .2—J- повторяет последнюю отмененную операцию. LxU - осуществляет поиск заданной строки текста во всех открытых окнах ре- дактора HDL-кода. Нажатие кнопки открывает стандартное окно поиска, в котором задается искомая строка текста. Результаты поиска отображаются на странице Find in Files oma консольных сообщений. - устанавливает или удаляет закладку на текущей строке HDL-кода. Если на текущей строке текста отсутствует закладка, то при нажатии этой кнопки в начале строки устанавливается маркер, выполняющий функцию закладки. Если текущая строка уже отмечена маркером, то при нажатии кнопки закладка с этой строки сни- мается. . - перемещает курсор на следующую строку, отмеченную закладкой. - устанавливает курсор на предыдущую строку, отмеченную закладкой. <Д.1 - удаляет все закладки, сделанные в HDL-редакторе. SL - позволяет выбрать шаблон HDL-описания и вставить его в окно редактора. 3.2. Схемотехнический редактор пакета WebPACK ISE Прежде чем приступить к изучению схемотехнического редактора Engineering Schematic Capture™ (ECS), который входит в состав САПР WebPACK. ISE, следует обратить внимание на то, что программные средства рассматриваемого пакета ори- ентированы, прежде всего, на применение языков HDL (Hardware Description Language) для описания проектируемого устройства. Однако схемотехнический ре- дактор ECS целесообразно использовать в случае применения смешанного способа описания проектируемого устройства. При таком способе функциональные блоки проектируемого устройства описываются на одном из языков HDL, а для верхнего уровня иерархии проекта, где производится их объединение, используется схемо- техническая форма описания. Графические символы для представления функцио- нальных блоков и схема верхнего уровня иерархии проекта создаются средствами схемотехнического редактора ECS. Учитывая, что САПР WebPACK ISE укомплекто- вана обширными библиотеками компонентов для всех поддерживаемых пакетом семейств ПЛИС фирмы Xilinx, описание проектируемого устройства может быть полностью выполнено в виде схем, разработанных в среде редактора ECS. Несмотря на то, что схемотехническая форма представления явзястся наиболее привычной для Разработчиков, рекомендуется изучить и в дальнейшем использовать один из языков HDL, например VHDL. Этот язык поддерживается большинством САПР, и поэтому Разработанный проект легко может быть перенесен из одной системы в другую.
54 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС 3.2.1. Назначение и возможности схемотехнического редактора пакета САПР WebPACK ISE Схемотехнический редактор ECS предназначен для создания модулей исходного описания проекта в форме принципиальных схем, а также для формирования услов- ных графических образов (УГО) компонентов и функциональных блоков проектиру- емого цифрового устройства. Отличительными особенностями редактора ECS являются: • возможность одновременного открытия нескольких рабочих окон для создания и редактирования схем и символов; • использование единой управляющей графической оболочки для создания и редактирования схем и символов; • удобный механизм создания многостраничных схем; • эффективные средства разработки многоуровневых иерархических структур; • двухступенчатый контроль электрических соединений и целостности схемы; • возможность внесения дополнительной информации, необходимой в процессе проектирования устройства, в форме атрибутов; • "мастер" автоматического формирования УГО функциональных блоков и компо- нентов схем; • возможность размещения на страницах схемы графических и текстовых элемен- тов оформления. При создании схем в среде редактора ECS используются следующие элементы: • условные графические образы компонентов из библиотек редактора или создан- ные пользователем; • элементы соединений (проводники и шины); • маркеры цепей, предназначенных для подключения "внешних" элементов и кон- тактов ПЛИС; • атрибуты (параметры компонентов, цепей и контактов); • текстовая информация; • декоративные графические элементы. Два последних типа элементов не являются обязательными. Они нс оказывают влияния на процесс проектирования и используются лишь для представления схем (документации) в соответствии с предъявляемыми требованиями. 3.2.2. Пользовательский интерфейс схемотехнического редактора ECS Запуск схемотехнического редактора ECS производится автоматически из управ- ляющей оболочки - Навигатора проекта - при выборе команд создания или редак- тирования модуля схемотехнического описания проекта. При их успешном выпол- нении на экране монитора отображается основное окно программы ECS в режиме редактирования схем, подробная структура которого показана на рис. 3.4. Основное окно редактора EC’S в режиме создания и модификации символов имеет аналогии-
3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK ISF 55 ную структуру и отличается только составом меню команд, оперативной и инстру- ментальной панелей. Структура основного окна схемотехнического редактора ECS включает следую- щие элементы: • заголовок окна; • главное меню; • оперативную панель управления; • панель инструментов редактора; • область расположения рабочих окон; • панель библиотек символов и дополнительных параметров; • строку состояния. „ Оперативная панель управления и панель инструментов редактора могут быть выключены в текущей конфигурации. Эти элементы пользовательского интерфейса ускоряют процесс создания и редактирования схем и символов, поэтому рекоменду- ется установить режим отображения этих панелей, используя команды пункта View основного меню редактора ECS. Заголовок Главное Инструментальная Оперативная Панель библиотек символов и окна меню панель панель управления дополнительных параметров fF ECS . [Schemed лсЬ] Jg &e 4Я rook tJeb x. > О ПА - ti V 1 OptrOn* |Sjmbds] V/hertycxj ctck on e Ixanch (S’ Select the ereke branch C Select the ire tegneni When you move -an cb/ed Keep the comecUors to ctha ooject» C Breefc the corwMten* to dthor objects When you use the area select loot, select the o^eett the! (* Areencknedbythe wee C Irierred lhe area When you meths area sated J t«jl. select OiyedteKLdrgtfiabuie I 13409.1135] Sche«nH.ech Sdrywhcl | Beady_________| '______________________________________________ Закладки страниц Поле чертежа Панель размещения рабочих окон рабочих окон редактора Строка состояния Рис. 3.4. CrpyKiypa основною окна схемотехнического редактора ECS пакета WebPACK ISE В заголовке окна схемотехнического редактора ECS отображается название про- граммы (ECS), имя редактируемого файла схемы или символа. Основное меню схемотехнического редактора ECS предоставляет доступ к груп- пам команд, используемых для создания и модификации схем и символов. Каждый
56 Зотов В. Ю Проектирование цифровых устройств mi основе ПЛИС пункт главного меню открывает всплывающее меню, в котором находится соответ- ствующая группа команд. Всплывающее меню File содержит команды создания, открытия, сохранения и закрытия файлов схемотехнического описания проектируе- мого устройства или его функциональных блоков. Кроме того, в эту группу включе- ны команды управления печатью, а также завершения работы со схемотехническим редактором. Выпадающее меню Edit объединяет стандартные команды редактиро- вания схем, установки и просмотра атрибутов, выбора объектов схемы для после- дующих операций, поиска на чертеже схемы символов и цепей. В этой же группе находится команда включения режима редактирования выбранного УГО, исполь- зуемого в схеме, а также команды переименования шин и цепей. Кроме того, меню Edit включает в себя команду контроля и установки параметров конфигурации схе- мотехнического редактора ECS. Во всплывающем меню View сгруппированы коман- ды, управляющие изображением в рабочей области окна. Здесь же находятся коман- ды включения и выключения панелей управления: оперативной, инструментальной и дополнительной. Наличие маркера в строке меню View указывает на то, что соот- ветствующая панель представлена в основном окне схемотехнического редактора ECS. Для изменения состояния панелей на противоположное достаточно щелкнуть левой кнопкой мыши на строке всплывающего меню, в которой указано название этой панели. В этой же группе расположена команда перехода на следующий иерар- хический уровень и обратно. Выпадающее меню Add содержит команды, исполь- зуемые для ввода всех необходимых элементов схемы. Каждая строка этого меню соответствует одному из элементов схемы, рассмотренных в предыдущем разделе. Во всплывающем меню Tools находится команда запуска мастера создания символа для представления функционального блока проектируемого устройства, а также команда вывода информации об элементах схемы. Здесь же содержатся команды контроля цело- стности и наличия ошибок соединений схемы и установки маркеров интерфейсных це- пей модуля. Выпадающее меню Window содержит стандартные команды управления рабочими окнами схемотехнического редактора ECS: создания, закрытия, переключения и установки их взаимного расположения. Пункт Help основного меню открывает доступ к справочной системе схемотехнического редактора ECS. Оперативная панель содержит кнопки быстрого доступа, которые дублируют наиболее часто используемые команды управления схемотехнического редактора ECS. Фактически оперативная панель состоит из четырех самостоятельных панелей, каждая из которых включает в себя соответствующую группу кнопок. В панели инструментов схемотехнического редактора сгруппированы кнопки быстрого доступа, которые предназначены для выполнения операций, часто исполь- зуемых в процессе создания и редактирования схем. Некоторые кнопки панели инструментов являются недоступными и отображаются серым цветом. Эти кнопки разблокируются только при выполнении операций, для которых они предназначены. Таким образом исключается возможность выполнения недопустимых операций. Встраиваемая панель дополнительных параметров и библиотек символов в обыч- ном режиме содержит две страницы, снабженные закладками: Options и Symbols. Страница Options является расширением инструментальной панели схемотехничес- кого редактора и используется для ввода вспомогательной информации, необхо- димой в процессе выполнения выбранной операции. Ее структура зависит от
3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK ISE 57 текущего режима работы (выбранного типа операции), устанавливаемого кнопками панели инструментов. Страница Symbols, показанная на рис. 3.5, отображает состав библиотек УГО текущего проекта и обеспечивает механизм быстрого поиска тре- буемого компонента и размещения его на поле чертежа. Эта страница панели содер- жит четыре поля: Categories, Symbols и Symbol Name Filter, Orientation. В поле вы- бора Categories находится список функциональных групп элементов библиотек те- кущего проекта. Поле выбора Symbols содержит полный список символов функцио- нальной группы компонентов, название которой выделено в попе Categories. Поле редактирования Symbol Name Filter предназначено для ввода фильтра названий ком- понентов. Если в поле Symbol Name Filter содержится некоторая алфавитно-цифро- вая последовательность, то в поле Symbols будут отображаться только элементы, названия которых начинаются с данной строки текста. В поле выбора Orientation указывается ориентация выбранного символа при его размещении на поле чертежа. =~. ......-....-.=и1д| Optons Sjmbds | Categories <-/4| Synbols- > АДЪггеЬс Suiter Corrparalor Counter Decoder F p_Flop— General ID I Л1гК Выбранная функциональная группа элементов -Линейка вертикальной прокрутки списка Список функциональный групп элементов библиотек текущего проекта Symbols Выбранный элемент асс4 асс4х2 1 вссВ ассВхЗ addl Ч -Список символов (УГО) функциональной группы компонентов Symbd Name Friter Г firientation | Rotate 0 ------ -Поле ввода фильтра названий компонентов ----г -Поле выбора ориентации символа на чертеже схемы 7 -Кнопка управления выпадающим списком Рис. 3.5. Страница Symbols паиели дополнительных параметров и библиотек символов схемотехнического редактора ECS Рассматриваемая панель в режиме отображения синтезированного описания проекта (на уровне RTL) содержит третью страницу Design, вид которой показан на рис. 3.6. Эта страница панели содержит два поля: RTL Design Hierarchy и Instance Contents. В поле выбора RTL Design Hierarchy отображается иерархическая структу- ра синтезированного описания проекта. При выборе какого-либо элемента этой структуры его изображение на схеме, расположенной в поле чертежа, выделяется красным цветом. Для выбранного элемента могут быть выполнены соответствую- щие операции с помощью контекстно-зависимою меню, вызываемого щелчком пра- вой кнопки мыши. Ноле выбора Instance Contents содержит полный список элемен- тов синтезированного описания, сгруппированных в соответствии с их типом (кои-
58 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС такты, цепи, компоненты). Чтобы получить необходимую информацию о любом элементе в этом поле, следует выделить его щелчком левой кнопки мыши на соот- ветствующей строке, после чего графический образ выбранного элемента будет вы- делен на схеме, представленной в поле чертежа, красным цветом. Доступ к операци- ям, выполняемым с данным элементом, предоставляет контекстно-зависимое всплы- вающее меню. -------- --------- Jxl Options] Symbols Design | | RTL Design Hierarchy __ — dirjegl {counter--------------------- runjeg Instance Contents Н J’ins И Nets I* Instances Иерархическая структура синтезированного описания проекта -Список элементов синтезированного описания, сгруппированных в соответствии с их типом Рис. 3.6. Страница Design панели дополнительных параметров схемотехнического редактора ECS Область расположения рабочих окон предназначена для размещения окон редактиро- вания схем и символов. Каждое открытое рабочее окно снабжено закладкой, на которой указано название редактируемого файла, и представляет собой поле чертежа. Закладки располагаются вдоль нижней границы рабочей области основного окна редактора ECS. Расположение окон в рабочей области устанавливается с помощью команд выпадающего меню Window или соответствующих кнопок оперативной панели. Строка состояния, расположенная в нижней части окна схемотехнического ре- дактора ECS, используется для вывода сообщений о текущих выполняемых коман- дах и необходимых дополнительных действиях при этом. Здесь же отображаются координаты текущего положения курсора мыши на поле чертежа. Работа с редактором ECS пакета WebPACK ISE строится по следующему прин- ципу. Вначале курсором и щелчком левой кнопки мыши указывается объект, над которым необходимо осуществить заданную операцию. Затем с помощью команд меню или кнопок оперативной и инструментальной панелей определяется тип опе- рации, которая должна быть выполнена. Например, для удаления элемента схемы Следует поместить курсор на его изображение и щелкнуть левой кнопкой мыши,
3. Характеристики и пользовате-тский интерфейс основных программ пакета WebPACK ISE 59 после чего выбрать команду Delete из всплывающего меню Edit или нажать клавишу Delete (Del) на клавиатуре. 3.2.3. Описание команд всплывающих меню схемотехнического редактора ECS Всплывающее меню файлов File включает в себя следующую группу команд ра- боты с файлами схем и условных графических образов, вывода их на принтер и за- крытия окна схемотехнического редактора ECS. New инициирует процесс создания новой принципиальной схемы или условного графического образа (символа). При активизации этой команды выводится диалого- вая панель, в которой нужно указать тип создаваемого модуля (файла): схемы (Schematic) или УГО (Symbol). После этого открывается новое рабочее окно схемо- технического редактора. Open активизирует стандартную диалоговую панель открытия существующего файла принципиальной схемы или условного графического образа. После выбора нужного названия файла автоматически открывается новое рабочее окно схемотех- нического редактора, в котором отображается схема или символ. Close закрывает текущее активное окно схемотехнического редактора. Если ре- дактируемая схема или УГО, представленные в этом окне, нс были предварительно сохранены в соответствующем файле, то выводится запрос на их сохранение. После ответа на запрос текущее активное окно схемотехнического редактора автоматиче- ски закрывается. Save сохраняет принципиальную схему или условный графический образ, от- крытый в активном окне схемотехнического редактора, в виде файла на диске. Save As позволяет сохранить текущую редактируемую схему или УГО под новым именем. При выборе этой команды открывается стандартная диалоговая панель, в которой указывается новое имя файла и место его расположения на диске. Save All используется для сохранения содержимого всех открытых окон схемо- технического редактора в виде файлов на диске. Print предназначена для печати принципиальной схемы или условного графиче- ского образа, открытых в текущем активном окне схемотехнического редактора. Перед началом печати на экран монитора выводится стандартная диалоговая панель установки параметров принтера и качества печати. Print Preview позволяет выполнить предварительный просмотр материала, выводимого на принтер. При этом на экран монитора выводится изображение схемы или графического символа в том виде, как они будут выглядеть на бумаге. Print Setup открывает стандартную диалоговую панель установки параметров принтера. Recent Schematics предоставляет возможность открыть одну из принципиальных схем, с которыми работали раньше. При выборе этой команды выводится меню, со- держащее список схем, открытых в схемотехническом редакторе в предыдущих се- ансах работы с ним. Список включает названия девяти последних файлов схем, от- крывавшихся перед текущим модулем. Для открытия нужной схемы следует помес- тить курсор на строку с ее названием и щелкнуть левой кнопкой мыши.
60 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Recent Symbols позволяет открыть один из условных графических образов, с которы- ми работали ранее в схемотехническом редакторе. При выполнении этой команды на экран монитора выводится меню следующего уровня, представляющее список файлов, содержащих УГО, которые были открыты в редакторе ECS перед этим. Список содержит нс более девяти последних активизированных файлов. После выбора требуемого файла из предлагаемого списка автоматически открывается новое рабочее окно схемотехниче- ского редактора, отображающее содержимое этого файла. Recent NCR Files позволяет повторно открыть один из файлов, отражающих ре- зультаты синтеза проекта на RTL-уровне. В списке, представленном в меню сле- дующего уровня, которое открывается при активизации этой команды, содержится не более девяти последних активизированных файлов. В результате выбора требуе- мого файла из предлагаемого списка автоматически открывается новое рабочее окно редактора ECS, отображающее содержимое этого файла в виде схемы. Exit завершает работу схемотехнического редактора ECS. Если к этому моменту были открыты окна, содержимое которых не было сохранено, то выводится запрос о сохранении этих модулей. Выпадающее меню Edit предоставляет перечисленные ниже команды редактиро- вания принципиальных схем, условных графических образов и установки парамет- ров конфигурации схемотехнического редактора ECS. Undo отменяет последние действия, выполненные в редакторе ECS. Эта команда позволяет последовательно отменить все операции, выполненные в процессе редак- тирования после очередного сохранения модуля в виде файла па диске. Redo повторяет последнюю отмененную операцию (восстанавливает содержимое файла в состояние, предшествующее выполнению команды Undo). Эту команду можно последовательно применять ко всем отмеченным (с помощью Undo) опера- циям, выполненным в процессе редактирования после очередного сохранения моду- ля в виде файла на диске. Сш вырезает выделенный элемент или фрагмент изображения из активного окна схемотехнического редактора и помещает его в буфер обмена Clipboard. Содержи- мое буфера обмена в дальнейшем может быть скопировано как в текущее окно ре- дактирования, так и в другие открытые окна редактора ECS. Сору копирует выделенный элемент или фрагмент изображения в окне схемотех- нического редактора в буфер обмена Clipboard. Выделенный блок кода не удаляется из текущего рабочего окна редактору ECS. Paste позволяет вставить содержимое буфера обмена Clipboard в активное рабо- чее окно схемотехнического редактора. С помощью курсора мыши указывается ме- сто расположения копируемого фрагмента. Delete удаляет выделенный элемент или фрагмент изображения из активного ок- на схемотехнического редактора. При этом удаляемая часть изображения не сохра- няется в буфере обмена Clipboard. Symbol открывает окно редактирования УГО, соответствующего выделенному элементу схемы. Update Obsolete Symbols используется для замены устаревших условных графи- ческих образов, используемых в схеме.
3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK ISE 61 Rename Selected Bus позволяет изменить название выбранной шины. При активи- зации этой команды открывается диалоговая панель, предоставляющая возможность изменения названия ветви шины и цепей, которые входят в нее. Rename Selected Nel предназначена для изменения названия цепи, изображение которой выделено на схеме в активном рабочем окне редактора ECS. При выполне- нии этой команды на экран выводится диалоговая панель, в которой содержится по- ле редактирования названия цепи или ее ветви. Mirror позволяет получить зеркально отраженное изображение УГО, символов отвода шин и маркеров интерфейсных цепей. Rotate используется для получения повернутого изображения УГО, символов от- вода шин и маркеров интерфейсных цепей. Каждое выполнение этой команды пово- рачивает выбранный элемент схемы на девяносто градусов по часовой стрелке. Select Object (s) включает режим выбора (вьщеления) элемента или фрагмента изображения. Select All выделяет все объекты изображения, представленного в активном окне схемотехнического редактора. Unselect АП отменяет выделение всех объектов, выбранных в активном окне схе- мотехнического редактора. Find осуществляет поиск заданного элемента схемы (компонента или цепи) в те- кущем рабочем окне редактора ECS. При выполнении этой команды открывается диалоговая панель, в которой следует указать тип элемента, критерий и параметры поиска. Object Properties позволяет просмотреть и при необходимости изменить пара- метры или атрибуты выбранного объекта. При активизации этой команды открыва- ется диалоговая панель, в которой представлена таблица атрибутов или параметров выделенного элемента изображения. Preferences позволяет установить параметры конфигурации схемотехнического ре- дактора. При выполнении этой команда выводится диалоговая панель, предоставляющая возможность изменения всех доступных пользователю настроек редактора ECS. Всплывающее меню View содержит приведенный ниже список команд управле- ния видимостью основных элементов окна схемотехнического редактора. Наличие маркера в строке меню View указывает на то, что соответствующий элемент пользо- вательского интерфейса представлен в основном окне редактора ECS. Для измене- ния состояния какого-либо элемента окна на противоположное достаточно щелк- нуть левой кнопкой мыши на строке всплывающего меню, в которой указано назва- ние этого элемента. В этом же меню расположены команды управления изображени- ем в рабочих окнах схемотехнического редактора. Standard Toolbar управляет отображением элементов оперативной панели. При активизации этой команды открывается диалоговая панель, в которой расположен список всех групп элементов оперативной панели. Наличие маркера в какой-либо строке списка соответствует режиму отображения данной группы кнопок на опера- тивной панели редактора ECS. Status Bar включает или выключает строку состояния схемотехнического редактора.
62 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Zoom открывает доступ к всплывающему меню следующего уровня, в котором расположены команды управления масштабом изображения в активном рабочем окне редактора ECS. Full View устанавливает масштаб изображения, при котором вся страница полно- стью отображается в рабочем окне схемотехнического редактора. Out уменьшает масштаб изображения в активном рабочем окне редактора ECS. In увеличивает масштаб изображения в активном рабочем окне схемотехниче- ского редактора. То Box. устанавливает максимальный масштаб изображения, при котором выде- ленный прямоугольный фрагмент полностью отображается в текущем рабочем окне схемотехнического редактора. То Selected задает максимальный масштаб, при котором выделенные элементы изображения полностью отображаются в активном рабочем окне редактора ECS. Pan открывает выпадающее меню следующего уровня, в котором находятся ко- манды перемещения (прокрутки) видимой части изображения в активном рабочем окне редактора ECS. Эти команды используются в случае, если страница не полно- стью отображается в рабочем окне редактора. Left выполняет прокрутку изображения в рабочем окне редактора ECS влево. Right перемещает видимую часть рабочего окна вправо. Up используется для прокрутки изображения в рабочем окне редактора ECS вверх. Down передвигает видимую область рабочего окна вниз. Push Into Symbol or Return To Calling Schematic используется для перемещения по уровням иерархии схемотехнического описания. Refresh производит регенерацию содержимого рабочих окон редактора ECS. Пункт Add основного меню открывает доступ к группе команд ввода элементов схемы и вычерчивания графических примитивов. Wire включает режим ввода цепей. После активизации этой команды с помощью мыши на схеме указывается расположение проводников, которые используются для электрического соединения ее компонентов. Net Name предназначена для определения названий цепей схемы. В этом режиме вначале указывается название цепи в поле редактирования, которое находится в па- нели дополнительных параметров. После этого курсором мыши указывается соот- ветствующая цепь на схеме. Bus Тар активизирует режим ввода символов, соответствующих отводам шины. Ориентация этих символов на схеме задается с помощью панели дополнительных параметров. I/O Marker включает режим ввода маркеров интерфейсных цепей. Тип маркера и его ориентация на схеме указываются с помощью соответствующих кнопок и поля выбора, расположенных в панели дополнительных параметров. Symbol активизирует режим ввода библиотечных компонентов схемы. Для выбо- ра компонента, который необходимо добавить в схему используется страница биб- лиотечных символов панели дополнительных параметров. Instance Name предназначена для определения названий компонентов редакти- руемой схемы. В этом режиме вначале задастся название элемента в поле рсдакти-
5. Характеристики и пользовательский интерфейс основных программ пакета И'еЬРЛСК ISE 63 рования, расположенном в панели дополнительных параметров. После этого курсо- ром мыши указывается соответствующий компонент схемы на поле чертежа. Аге используется для вычерчивания дуги по трем точкам на изображении схемы или УГО. При исполнении этой команды с помощью мыши указывается расположе- ние точек на поле чертежа, по которым строится дуга. Circle включает режим вычерчивания окружности на изображении схемы или УГО. Метод построения окружности (вписанной в квадрат, по центру и радиусу, по диаметру) выбирается с помощью кнопок, расположенных в панели дополнитель- ных параметров. Расположение окружности на поле чертежа, диаметр или центр и радиус указываются с помощью мыши. Line активизирует режим вычерчивания линии на поле чертежа схемы или УГО. Размер и расположение создаваемой линии задаются с помощью мыши. Rectangle позволяет поместить изображение прямоугольника на поле чертежа схемы или УГО. Размеры и расположение прямоугольника указываются с помощью мыши. Text включает режим ввода текста на изображении схемы или УГО. Содержание текста и размер шрифта задаются в панели дополнительных параметров. Располо- жение текста на поле чертежа указывается курсором мыши и фиксируется щелчком левой кнопки. Всплывающее меню Tools содержит следующие команды активизации вспомога- тельных средств схемотехнического редактора. Check Schematic запускает процедуру проверки (Design Rule Check, DRC) схемы, расположенной в текущем рабочем окне схемотехнического редактора. Результаты выполнения этой команды отображаются в виде диалоговой панели, которая содер- жит таблицу обнаруженных ошибок. Symbol Wizard активизирует "мастер" формирования условного графического об- раза. С помощью последовательно отображаемых диалоговых панелей разработчик определяет параметры создаваемого УГО. Работа "мастера" завершается открытием нового рабочего окна в режиме редактирования символов, в котором отображается сформированный УГО. Create IO Markers используется для автоматического присоединения вход- ных/выходных маркеров ко всем интерфейсным цепям новой схемы. Query позволяет получить развернутую информацию о выбранном объекте схе- мы. Результаты выполнения этой команды отображаются в форме диалоговой пане- ли. в которой в наглядной форме представлены все параметры выбранного элемента схемы. Пункт Window главного меню открывает доступ к стандартному меню команд, используемых для создания и установки взаимного расположения рабочих окон схемотехнического редактора ECS. New открывает новое рабочее окно схемотехнического редактора, в которое ко- пируется содержимое текущего активного окна. После этого новое окно автоматиче- ски становится активным. Close закрывает текущее рабочее окно схемотехнического редактора. Если ре- дактируемая схема или УГО. представленные в этом окне, нс были предварительно сохранены в соответствующем файле, то выводится запрос на их сохранение. После
64 Зотов В. К). Проектирование цифровых" устройств на основе ПЛИС ответа на запрос текущее активное окно схемотехнического редактора автоматиче- ски закрывается. Close All закрывает все рабочие окна схемотехнического редактора. Если содер- жимое какого-либо окна не было предварительно сохранено в соответствующем файле, то выводится запрос на его сохранение. После ответа на запрос все рабочие окна, открытые в схемотехническом редакторе автоматически закрываются. Next переключает следующее рабочее окно (закладка которого расположена справа от закладки текущего окна) в активное состояние. Previous переводит предыдущее рабочее окно (закладка которого расположена слева от закладки текущего окна) в активное состояние. Minimize All Windows переводит все открытые рабочие окна схемотехнического редактора в минимизированное состояние. В свернутом состоянии отображается только строка с названием рабочего окна. Cascade устанавливает каскадное расположение рабочих окон редактора ECS. Tile Horizontally располагает рабочие окна схемотехнического редактора в виде горизонтальных нсперекрывающихся областей. Tile Vertically конфигурирует окна редактора ECS в виде вертикальных непсрекрывающихся участков рабочей области основного окна. Arrange Icons упорядочивает все свернутые окна вдоль нижней границы рабочей области основного окна схемотехнического редактора. 3.2.4. Оперативная панель управления схемотехнического редактора ECS Оперативная панель управления схемотехнического редактора ECS включает в себя четыре группы кнопок, каждая из которых располагается на отдельной панели (рис. 3.7): • кнопки, обеспечивающие выполнение операций с файлами {File); • кнопки активизации команд редактирования {Edit); • кнопки управления масштабом изображения в рабочих окнах редактора ECS {View); • кнопки, предназначенные для управления взаимным расположением рабочих окон {Window). File Edit View Add Took Wndow Help ]rD^GOaig |jj^ c.jg! в m , Рис. 3.7. Основное меню и оперативная панель управления схемотехнического редактора ECS -JcxJ - создаст новый модуль (файл) схемотехнического описания или условного графического образа (символа). При нажатии этой кнопки выводится диалоговая панель выбора типа создаваемого файла. После этого открывается новое рабочее окно схемотехнического редактора. Название нового модуля задастся при его сохра- нении в виде файла па диске.
3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK ISE 65 1 - открывает существующий файл, содержащий принципиальную схему или УГО. Щелчком левой клавиши мыши на этой кнопке открывается стандартная диа- логовая панель выбора файла для его последующей загрузки в окно схсмотсхнич с- ского редактора. ГеН I I - сохраняет содержимое активного окна схемотехнического редактора в ви- де файла на диске. При нажатии этой кнопки открывается стандартная диалоговая панель сохранения файла, если создается новый файл, или непосредственно осуще- ствляется запись данных на диск, если в окне редактора был открыт существующий файл. - производит запись на диск всех файлов, открытых в редакторе ECS. И - инициирует процесс вывода на принтер содержимого активного рабочего окна схемотехнического редактора. Выбор этой кнопки активизирует диалоговую панель, в которой указываются параметры принтера и качества печати. [Й , L2JJ - позволяет получить контекстно-зависимую справку по работе с редакто- ром ECS. I I - удаляет выделенный фрагмент изображения в активном рабочем окне ре- дактора и помещает его в буфер обмена Clipboard. Находящийся в буфере обмена фрагмент впоследствии может быть вставлен как в текущее окно, так и в другие от- крытые рабочие окна схемотехнического редактора. ГЙ - копирует выделенный участок изображения в активном рабочем окне в буфер обмена Clipboard. I - осуществляет вставку содержимого буфера обмена Clipboard в текущее рабочее окно схемотехнического редактора. Место вставки фрагмента изображения указывает курсор мыши. - отменяет последнюю выполненную операцию. - повторяет последнюю отмененную операцию. 1—'I - осуществляет поиск заданного объекта в активном рабочем окне схемо- технического редактора. Нажатие кнопки открывает диалоговую панель, в которой задаются параметры и критерий поиска. ^1 - увеличивает масштаб изображения в активном рабочем окне. В результате выполнения этой операции более детально отображается фрагмент изображения, который находился в центральной области рабочего окна. — уменьшает масштаб изображения в текущем рабочем окне. Эта операция позволяет отобразить в видимой области окна большую часть страницы. 3 Зотов В.Ю.
66 Зотов В Ю. Проектирование цифровых устройств па основе ПЛИС “Л1 - устанавливает максимальный масштаб изображения в активном рабочем окне, при котором страница полностью отображается в видимой области окна. - выбирает максимальный масштаб в текущем рабочем окне, при котором выбранный прямоугольный фрагмент изображения полностью отображается в ви- димой области окна. - устанавливает максимальный масштаб в текущем рабочем окне, при кото- ром выбранные объекты изображения полностью отображаются в видимой области окна. 15. - выполняет регенерацию изображения в активном рабочем окне редактора ECS. -Р| - открывает новое рабочее окно схемотехнического редактора, в которое копируется содержимое текущего рабочего окна. После этого активным становится новоеокно. п - закрывает текущее рабочее окно схемотехнического редактора. Если в этом окне были внесены изменения, которые не были записаны в файле на диске, то при нажатии этой кнопки будет выведен запрос о необходимости сохранения этих изменений. - трансформирует все открытые рабочие окна схемотехнического редактора в свернутое состояние. а 7PI — устанавливает каскадное расположение открытых рабочих окон редак- тора ECS. Гн] ——J - конфигурирует открытые рабочие окна схемотехнического редактора в виде горизонтальных непсрскрывающихся панелей. -OZL - устанавливает конфигурацию открытых рабочих окон редактора ECS в форме вертикальных непсрскрывающихся панелей. 3.2.5. Инструментальная панель схемотехнического редактора ECS Панель инструментов содержит кнопки, с помощью которых выбирается тип эле- мента схемы, помещаемого на поле чертежа. Здесь также расположены кнопки активизации вспомогательных средств схемотехнического редактора (рис. 3.8). О \ □ А I И О А ц I I Рис. 3.8. Панель инструментов схемотехнического редактора ECS
3. Характеристики и пользовательский интерфейс основных программ пакета WebPAСК 1SE 67 - включает режим выбора объектов. Этот режим работы схемотехнического редактора установлен по умолчанию в качестве основного. аЬс - устанавливает режим ввода цепей редактируемой схемы. ZJd - используется для определения названий цепей и шин. Текст названия ука- зывается в поле редактирования, расположенном в панели дополнительных пара- метров. аЛ> - изменяет название выбранной шины и входящих в нее проводников. При нажатии этой кнопки выводится диалоговая панель, в которой отображаются старые названия цепей и шины и содержится поле ввода нового имени шины. ' - включает режим формирования отводов шины. Ориентация символов от- водов шин выбирается с помощью кнопок, расположенных в панели дополнитель- ных параметров. - активизирует режим ввода маркеров интерфейсных цепей. Для выбора ти- па маркера и его ориентации на поле чертежа используется панель дополнительных параметров. •*** - используется для ввода библиотечных компонентов схемы. Название ком- понента выбирается из списка, представленного на странице библиотек в панели дополнительных параметров. На этой же странице указывается ориентация выбран- ного элемента при его установке на поле чертежа. ц I - используется для определения названия компонентов схемы. Текст назва- ния указывается в поле редактирования, расположенном в панели дополнительных параметров. - позволяет создавать изображение дуги на поле чертежа. Точки, по кото- рым строится дуга, указываются с помощью мыши. -Ql - позволяет сформировать изображение окружности на поле чертежа. Для выбора метода построения окружности используется панель дополнительных пара- метров. Расположение окружности и ее параметры устанавливаются с помощью мыши, - используется для рисования линий на поле чертежа. Расположение и раз- меры линии окружности указываются с помощью мыши. .3. - позволяет поместить изображение прямоугольника на поле чертежа. Рас- положение формируемого изображения и его размеры устанавливаются с помощью мыши.
68 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС - используется для ввода текстовых символов на редактируемом изображе- нии. Содержание текста и размер шрифта задаются в панели дополнительных пара- метров. - предназначена для вывода информации о выбранном объекте схемы. Все данные, относящиеся к выделенному элементу схемы, отображаются в форме диа- логовой панели. Q - осуществляет поворот выбранного объекта на девяносто градусов по ча- совой стрелке. jK' - выполняет зеркальное преобразование выделенного объекта (заменяет изображение выбранного объекта его зеркальной копией). [tf] I предназначена для перемещения по уровням иерархии схемотехнического описания. Для отображения схемы каждого уровня иерархии открывается дополни- тельное рабочее окно схемотехнического редактора. - выполняет контроль редактируемой схемы. Информация об обнаружен- ных ошибках отображается в форме таблицы в диалоговой панели. 3.3. Модуль программирования IMPACT пакета WebPACK ISE 3 .3.1. Назначение и краткая характеристика модуля программирования iMPACT Программа IMPACT предназначена для конфигурирования ПЛИС семейств CPLD, FPGA и ППЗУ семейства XC18V00 в различных режимах, считывания кон- фигурационных данных из кристаллов и организации тестирования разработанного устройства с использованием JTAG-интсрфсйса, а также для создания файлов "про- шивки" ПЗУ/ППЗУ в стандартных промышленных форматах, поддерживаемых раз- личными аппаратными программаторами. Отличительными особенностями модуля программирования ПЛИС пакета WebPACK ISE являются: • поддержка всего спектра кристаллов, выпускаемых фирмой Xilinx; • автоматическая идентификация типа загрузочного кабеля, подключенного к ПК, который используется для выполнения операций конфигурирования, чтения дан- ных и тестирования; • возможность ручной установки типа и параметров интерфейса для используемо- го загрузочного кабеля; • одновременная работа с несколькими типами ПЛИС; • автоматическое обнаружение (определение числа и типов кристаллов в составе цепочки периферийного сканирования) и инициализация цепочки ПЛИС, под- ключенных к используемому JTAG-порту;
3. Характеристики и пользовательский интерфейс основные. программ пакета WebPACK ISE 69 • поддержка четырех режимов загрузки конфигурационных данных (Boundary- Scan (JTAG), Slave Serial, SclectMAP и Desktop Configuration); • вычисление контрольной суммы конфигурационных данных, считанных из вы- бранного кристалла ПЛИС; • определение статуса (состояния) выбранного кристалла (запрограммирован или нет); • контроль конфигурационных данных, загруженных в кристалл, методом обрат- ного считывания и сравнения с исходным файлом программирования; • считывание и представление в символьном виде сигнатур (пользовательского кода), которые идентифицируют версию конфигурационной последовательности проекта, загруженную в указанный кристалл ПЛИС; • генерация файлов программирования в форматах SVF, STAPL, System АСЕ CF, System АСЕ МРМ, которые включают в себя конфигурационные данные и инст- рукции программирования; • эффективный пользовательский интерфейс, обеспечивающий простой и быстрый механизм активизации всех операций и наглядную форму отображения получен- ных результатов; • возможность работы в различных режимах (графическом, пакетном и режиме командной строки); Программа IMPACT может быть активизирована непосредственно в среде управляющей оболочки пакета WebPACK ISE - Навигатора проекта или автоном- но. Для запуска модуля IMPACT в среде Windows 2000/ХР следует воспользоваться строкой iMPACT из выпадающего меню Программы/Xilinx ISE 5/Accessories, доступ к которому открывается при нажатии кнопки Пуск. В большинстве случаев наибо- лее целесообразно использовать Навигатор проекта для активизации программы iMPACT. Для этого следует в окне процессов дважды щелкнуть левой кнопкой мы- ши на строке Configure Device (iMPACT). При успешном выполнении операций ини- циализации на экране монитора отображается основное окно программы iMPACT, подробная структура которого показана на рис. 3.9. 3 .3.2. Пользовательский интерфейс модуля программирования iMPACT Основное окно программы iMPA СТ включает следующие элементы: • заголовок окна; • главное меню; • оперативную панель управления; • рабочую область; • встроенное окно регистрации сообщений; • строку состояния. Некоторые из перечисленных элементов могут быть выключены в текущей кон- фигурации. Для эффективного применения инструментов пользовательского интер- фейса рекомендуется установить режим отображения всех элементов окна програм- мы iMPACT, используя команды пункта View основного меню.
70 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Заголовок Главное Закладки страниц Оперативная окна меню рабочей области панель управления Рабочая область JBJxJ l^^jnlitied [Conftguretion Mode] -iMPACT а с Не fift fctode OE₽ations ^jtput View I Help , QtS Я *S & S « K’s! Boundary Scan | Slave Serial | SelectMAP ] Desktop Configuration | Right сЬЛ to Add Devic* от Initialize JTAG chain CB_PROGRESS_END. EndOpeatian. Elapsed time- 13 sec. Cable atiode lection failed. №*** BATCH CMD t setCeble -port auto ff BATCH CMD: setMod* -bs For Help, pf Встроенное окно Л Поле индикации регистрации Строка текущего режима сообщений состояния работы ration Mode ^oundarjr-scan * • JNo Conn^bon '"'V*4' Поле индикации подключенного загрузочного кабеля Поле индикации режима конфигу- рирования Поле индикации используемого порта ПК Рис. 3.9. Структура основного окна модуля iMPACT пакета WebPACK ISE В заголовке окна программы IMPACT отображается полное имя файла описания те- кущей композиции цепочки периферийного сканирования (configuration description file, CDF), которое включает путь доступа к рабочему каталогу проекта. Главное меню управляющей оболочки пакета обеспечивает доступ ко всем ко- мандам, необходимым для работы с программой. Каждый пункт главного меню от- крывает всплывающее меню, в котором находится соответствующая группа команд. Всплывающее меню File содержит команды создания, открытия и сохранения файлов описания композиции ПЛИС в составе цепочки периферийного сканирова- ния (CDF) и файлов протокола работы с программой (LOG). Кроме того, в эту груп- пу включены команды инициализации выбранной цепочки ПЛИС и завершения ра- боты. Выпадающее меню Edit объединяет команды редактирования данных в рабо- чей области и изменения параметров функционирования программы iMPACT. Всплывающее меню Mode обеспечивает возможность переключения между режи- мами конфигурирования кристаллов и генерации файлов программирования в раз- личных форматах. Во всплывающем меню Operations находятся команды, необхо- димые для выполнения всех операций, реализуемых программой. Пункты этого ме- ню позволяют осуществить программирование выбранного устройства, обратное
3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK 1SE 7] чтение данных из кристалла, стирание конфигурационной информации, вычисление контрольной суммы и проверку загруженной конфигурационной последовательно- сти, считывание идентификационного кода и сигнатуры, определение состояния кристалла. Выпадающее меню Output предоставляет команды управления процес- сами подключения и инициализации загрузочного кабеля и установки необходимых параметров используемого интерфейса ПК. Здесь также находятся команды, необхо- димые для создания файлов программирования в формате SVF и STAPL. Во всплы- вающем меню View сгруппированы команды, управляющие отображением некото- рых элементов основного окна программы iMPACT, а также регенерацией рабочей области и очисткой окна регистрации сообщений. Пункт Help основного меню предоставляет справочную информацию о работе с программой IMPACT и поддерживаемых семействах ПЛИС. Оперативная панель управления содержит кнопки быстрого доступа, которые дублируют наиболее часто используемые команды программы IMPACT. Эти кнопки позволяют ускорить работу с программой, так как при выполнении какой-либо опе- рации исключается процедура поиска соответствующей команды в системе всплы- вающих меню. Рабочая область основного окна представляет в наглядной форме информацию о кристаллах, которые доступны для конфигурирования, чтения данных или тести- рования, и файлах, которые содержат конфигурационную последовательность для каждой ПЛИС. Эта область окна включает в себя четыре страницы, снабженные заклад- ками: Boundary-Scan, Slave Serial, SelectMAP и Desktop Configuration (рис. 3.9). Чтобы выбрать нужную страницу рабочей области, необходимо поместить курсор мыши на соответствующую закладку и щелкнуть левой кнопкой. Каждая страница рабочей области окна соответствует определенному режиму загрузки конфигурационных данных. Эффективный визуальный механизм управления рабочей области позволяет быстро получить исчерпывающую информацию о выбранном кристалле ПЛИС и выполнить необходимые операции конфигурирования и отладки. Окно регистрации сообщений предназначено для вывода информации о запуске, ходе и результатах выполнения команд в текущем сеансе работы с программой. Здесь также отображаются сообщения об ошибках и предупреждения. Содержимое этого окна заносится в файл протокола работы программы iMPACT, который впо- следствии может быть просмотрен с помощью текстового редактора. Строка состояния, расположенная в нижней части окна программы iMPACT, слу- жит для вывода сообщений о текущих выполняемых командах и пояснений о на- значении выбранной команды. Она также содержит специальные поля, которые ис- пользуются для отображения информации о текущем режиме работы программы iMPACT, режиме загрузки конфигурационных данных или типе генерируемых фай- лов программирования, типе подключенного загрузочного кабеля и порте ПК, ис- пользуемом для коммутации.
72 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС 3.4. XPower - программа оценки потребляемой мощности цифровых устройств, проектируемых на базе ПЛИС фирмы Xilinx 3.4.1. Назначение и основные характеристики программы XPower В ходе разработки устройства часто возникает необходимость расчета мощности, потребляемой кристаллом, на основе которого реализуется проект. Этот параметр является чрезвычайно важным при использовании ПЛИС семейств CPLD CoolRunner XPLA3 и CoolRunner-II. Кристаллы этих серий относятся к классу ПЛИС с микромощным потреблением и предназначены, в первую очередь, для при- менения в мобильных системах, где емкость автономного источника питания огра- ничена. Поэтому необходимо оценить продолжительность работы проектируемого устройства в зависимости от ресурса используемого автономного источника пита- ния. При проектировании цифровых устройств на базе кристаллов семейств FPGA таких, как Spartan-II, Spartan-IIE, Virtex, Virtex-II, Virtex-E, Virtex-II Pro, задача рас- чета потребляемой мощности является также актуальной. Потребляемая мощность ПЛИС этих серий в динамическом режиме зависит от проектов, выполняемых на их основе, и может изменяться в широком диапазоне, достигая значительной величины. Чтобы корректно сформулировать требования, предъявляемые к источнику питания этих устройств, необходимо иметь оценку их потребляемой мощности. Для этих целей в состав системы проектирования WebPACK ISE включен программный мо- дуль XPower, который предназначен для автоматизированного расчета оценки по- требляемой мощности устройств, проектируемых на базе кристаллов семейств CoolRunner XPLA3, CoolRunner-П, Spartan-II, Spartan-IIE, Virtex, Virtex-II, Virtex-E, Virtex-II Pro. Эта программа может быть активизирована как автономно (непосред- ственно из операционной системы Windows), так и в среде управляющей оболочки пакета WebPACK ISE - Навигатора проекта. Программный модуль XPower может функционировать как в интерактивном режиме, так и в режиме командной строки. Наиболее рациональным является запуск программы XPower в интерактивном ре- жиме с помощью Навигатора проекта. Этот способ подробно будет рассмотрен в соответствующих разделах, посвященных изучению методики применения про- граммы XPower, для оценки потребляемой мощности устройств, проектируемых на базе ПЛИС семейств CPLD и FPGA фирмы Xilinx. Исходная информация об используемых ресурсах кристалла, необходимая для оценки его потребляемой мощности с помощью программы XPower, становится доступной только после завершения этапа размещения и трассировки проекта, а точнее, после выполнения стадии Pit для семейств CPLD и Place and Route для семейств FPGA. Кроме того, дополнительная информация, которая используется в процессе вычислений и может повысить точность оценки, формируется в ходе выполнения этапа полного временного моделирования проекта. Система HDL- модслирования ModelSim, входящая в комплект пакета WebPACK ISE в редакции
3. Характернейшей и пользовательский интерфейс основных программ пакета WebPACK 1SE 73 ModelSim ХЕ Starter, позволяет формировать файлы результатов моделирования в формате VCD (Value Change Dump), воспринимаемом программой XPower. Программа XPower предоставляет разработчику следующие возможности: • три метода определения исходных данных, необходимых для выполнения вычис- лений; • вычисление оценки потребляемой мощности проектируемого устройства с точ- ностью плюс-минус 10%; • расчет температурных характеристик кристалла ПЛИС, используемого для реа- лизации проекта; • получение оценки продолжительности работы проектируемого устройства от автономного источника напряжения питания (батареи); • перерасчет оценок после ввода каждого нового значения исходных параметров; • формирование подробного отчета о полученных результатах вычислений, содер- жащего оценки потребляемой мощности различными блоками проектируемого устройства и ресурсами кристалла, в текстовом (ASCII) и HTML-формате. 3.4.2. Пользовательский интерфейс программы XPower Вид основного окна программы анализа потребляемой мощности XPower показан на рис. 3.10 для случая анализа проекта, реализуемого на базе ПЛИС семейств CPLD. Заголовок Глввное окна меню Оперативная панель управления Закладки страниц итоговой панели Итоговая панель t XPower - fc2_top ctf- He Edt «few TooH ' a «-> - • - > IOL< *1 |DataVew • .' | Gobd Resources Summary] thermal | vcont(v) so™1* • о<0> >- • Ч<1> I • q<2> - * qc3> Ч ? I Functcn Etade ’ J Reporb "'АРХ INC: Powe Battery Capacty (mA Holts) | 5700 00 Quest ent Power (gW) Logc Block Power (mW) ioe.00 | oi Pottery Ue (now) 211111.12 Output* Power (mW) Total Power (mW) Name q<0* 9*^ 2 1^™^нёоиегку(^)" [ CapadtweLcSyp J ОО’ ::$10 - Vcclnc <4.000> not in reccoaer 0X)| 10000 0.., ЮОООО-'У юооо ер 1 оооо.о’I ’ Power (mW) I ________ 0Д, DjO! ted range [2.700..3.6001V. XCR3064XL-eV 44 Панель обозревателя Панель редактирования значений отображаемых данных исходных динамических параметров Панель консольных Строка сообщений состояния Рис. 3.10. Вил основного окна программы анализа потребляемой мощности устройства, проектируемого на базе ПЛИС семейств CPLD
74 Зотов В. К). Проектирование цифровых устройств па основе ПЛИС Кроме стандартных элементов визуального оконного интерфейса операционной системы Windows (строки заголовка, основного меню, оперативной панели управ- ления и строки состояния) основное окно программы анализа потребляемой мощ- ности включает в себя четыре панели: • панель обозревателя отображаемых данных, расположенную в левой части рабо- чей области основного окна XPower, • итоговую панель, представляющую значения исходных статических параметров и общие результаты анализа потребляемой мощности и температурных характе- ристик, которая находится в правой части рабочей области основного окна; • панель редактирования значений исходных динамических параметров эквива- лентной модели, используемой для расчета потребляемой мощности и отображе- ния подробных результатов выполняемого анализа, расположенную под итоговой панелью; • панель консольных сообщений, находящуюся в нижней части рабочей области основного окна XPower. Панель обозревателя представляет структуру отображаемых данных, которые сгруппированы по типу элементов проекта, к которым оии относятся, или в соответ- ствии с физическими ресурсами используемого кристалла. Каждая группа данных в этой панели показана в виде папки с соответствующим названием. Для просмотра содержимого группы данных в панели обозревателя следует поместить курсор мы- ши на знак "+", расположенный слева от изображения соответствующей папки, и щелкнуть левой кнопкой мыши. Тот же результат может быть достигнут двойным щелчком левой кнопки мыши непосредственно на изображении папки. Изи ачально, при активизации программы XPower, в панели обозревателя отображаются две пап- ки: Data Views и Reports. Чтобы получить доступ к структуре отображаемых дан- ных, необходимо открыть папку Data Views. В этом разделе находится единственная папка, название и содержание которой зависит от выбранной формы представления информации. В режиме классификации данных по типу, в соответствии с которой в каждой папке сосредоточена информация, относящаяся ко всем элементам проекта соответствующего типа (например, сигналам, логике, выходам), раздел Data Views содержит папку Types. Этот режим отображения информации установлен по умол- чанию. При классификации данных по физическому принципу, когда каждая группа содержит всю информацию, относящуюся к определенному физическому ресурсу кристалла (например, функциональному или конфигурируемому логическому бло- ку), в разделе Data Views содержится папка Physical. В процессе анализа устройств, реализуемых на базе ПЛИС семейств FPGA, может использоваться иерархический принцип классификации, при котором информация группируется в соответствии с иерархией проекта. В этом случае раздел Data Иен-5 содержит папку Hierarchy. Вы- бор режима классификации отображаемых данных осуществляется с помощью ко- манды Data Views, расположенной во всплывающем меню View программы XPower. Содержание одноименных папок зависит от семейства кристаллов, используемого для реализации проекта. Итоговая панель содержит две страницы, снабженные закладками с их названия- ми: Summary и Thermal. Па странице Summary отображаются значения следующих
3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK ISE 7$ исходных параметров, используемых при расчете потребляемой мощности: напря- жения питания (VccMr) и емкость батареи питания {Battery Capacity). Каждое из этих значений представлено в соответствующем поле редактирования и поэтому может оперативно корректироваться разработчиком. На этой же странице выводятся следующие результаты, полученные при вычислении оценки потребляемой мощно- сти кристалла: значение потребляемой мощности в статическом режиме {Quiescent Power), значение потребляемой мощности, приходящейся на функциональные блоки ПЛИС {Logic Block Power), значение потребляемой мощности, приходящейся на выходные буферы, расположенные в блоках ввода/вывода (OBUF), {Outputs Power), продолжительность работы устройства до замены батареи питания {Battery Life), максимальное значение полной потребляемой мощности проектируемого устройст- ва {Total Power). При анализе проектов, реализуемых на основе кристаллов FPGA, дополнительно отображаются значение потребляемой мощности, которая приходит- ся на сигнальные (внутренние) цепи {Signals Power), цепи синхронизации {Clocks Power), входные буферные элементы, расположенные в блоках ввода/вывода (IBUF), {Inputs power), двунаправленные буферные элементы, расположенные в блоках вво- да/вывода (IOBUF), {IO power). На странице Thermal представлены значения сле- дующих исходных параметров, используемых при расчете температурных характе- ристик: температуры окружающей среды {Ambient Temperature), использования до- полнительного воздушного охлаждения {Airflow) и тип корпуса {Package). Здесь же отображаются результаты вычислений оценок следующих температурных характе- ристик: температуры транзисторов кристалла {Junction Temperature) и температуры корпуса ПЛИС {Case temperature). Содержание панели редактирования значений исходных динамических парамет- ров эквивалентной модели, используемой для расчета потребляемой мощности кри- сталла, определяется элементом, который выбран в окне обозревателя отображае- мых данных. При запуске программы XPower эта панель может находиться в скры- том состоянии. Чтобы сделать ее видимой, достаточно выделить какой-либо из эле- ментов панели обозревателя. Информация в панели редактирования отображается в форме таблицы, часть ячеек которой представляет собой поле редактирования соот- ветствующих исходных параметров модели. Если в панели обозревателя выделена вся группа параметров (папка), то число строк в таблице определяется количеством элементов в соответствующей папке. При выделении одного элемента информаци- онной группы в панели обозревателя таблица, отображаемая в панели редактирова- ния значений исходных параметров модели, содержит единственную строку (нс счи- тая строки заголовков таблицы), соответствующую выбранному ресурсу. Каждый из столбцов таблицы соответствует определенному параметру элемента проекта или ресурса кристалла (в частности, цепи или сигнала). Количество столбцов в таблице различается для проектов, реализуемых на основе ПЛИС семейств CPLD и FPGA. В первой колонке отображается название элемента или ресурса {Name), во второй - частота {Frequency), в третьей - емкость нагрузки {Capacitive Load) и в последней - оценка потребляемой мощности {Power). Кроме того, рассматриваемая панель ис- пользуется также для вывода отчета о результатах выполненных вычислений. В консольной панели основного окна фиксируются выполняемые команды и все сообщения программы XPower, которые появлялись в текущем сеансе работы.
76 Зотов В. /О. Проектирование цифровых устройств на основе ПЛИС 3.5. ModelSim - система моделирования цифровых устройств, проектируемых с использованием языков описания аппаратуры HDL высокого уровня 3.5.1. Назначение и основные характеристики пакета ModdSim Пакет программных средств ModelSim предназначен для моделирования цифро- вых систем, которые представлены в виде HDL-описаний, выполненных с использо- ванием языков высокого уровня VHDL и Verilog. Отличительные особенности пакета: • Полная поддержка всех основных стандартов языков VHDL и Verilog и их рас- ширений: IEEE VHDL Std 1076-1987 и IEEE VHDL Std 1076-1993, IEEE 1164- 1993 Standard Multivalue Logic System for VHDL Interoperability, IEEE 1076.2- 1996 Standard VHDL Mathematical Packages, IEEE VITAL Std 1076.4-1995 (VITAL’95), IEEE 1076.4-2000 (VITAL 2000) и IEEE Verilog Std 1364-1995, IEEE Verilog Std 1364-2001. Полная совместимость co спецификациями 1.0-3.0 стан- дартного формата описания задержек SDF (Standard Delay Format) обеспечивает возможность обратной аннотации временных параметров. Кроме того, пакет ModelSim удовлетворяет требованиям VCD (Value Change Dump) по формирова- нию стандартных выходных векторов для VHDL и Verilog и PLI (Programming Language Interface). • Единое ядро моделирования пакета SKS (Single Kernel Simulation), обеспечи- вающее возможность полной отладки "смешанных" проектов, которые одновре- менно содержат модули, написанные на VHDL и Verilog. Для реализации этого режима предусмотрена специальная лицензия (редакция пакета ModelSim SE/PLUS), разрешающая совместное VHDL- и Verilog-моделирование. • Поддержка библиотек всех ведущих фирм-изготовителей как программируемых логических интегральных схем семейств FPGA и CPLD, так и специализирован- ных интегральных схем ASIC (Application-Specific Integrated Circuit), предостав- ляющая разработчику широкие возможности сравнения различных платформ и выбора оптимальной для реализации проектируемой системы. Сертифицирован- ные изготовители библиотеки обеспечивают максимальную достоверность ре- зультатов моделирования. • Высокая скорость компиляции и моделирования (полнофункциональных вер- сий), обеспечивающая минимальное время отладки систем различного уровня сложности. Одним из главных факторов, повышающих производительность, яв- ляется использование принципа оп тимизированной прямой компиляции. В соот- ветствии с этим принципом исходные VHDL- или Vcrilog-описапия компилиру- ются в машинно-независимый объектный код, исполняемый на любой поддер- живаемой платформе. • Открытая архитектура программных средств ModelSim, обеспечивающая тесную интеграцию с пакетами САПР ’'третьих" фирм. Пользователь может выполнять этаны моделирования фактически в рамках основной системы проектирования, в среде ко- торой осуществляется процесс разработки устройства. Средства управления пользо- вательским интерфейсом Tel (Tool command language) и Tk (Tool kit) предоставляют
3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK ISE 77 возможность организации прямого доступа к моделирующему ядру ModelSim, за- грузки информации о выполнении процесса моделирования и его результатов в среду используемой САПР и управления работой системы ModelSim через интерфейс при- меняемых средств проектирования. Возможен также и противоположный метод ин- теграции с программным обеспечением других фирм, когда в качестве основной сис- темы используется ModelSim, интерфейсная оболочка которой адаптируется для управления выбранным пакетом САПР. • Наличие защищенного режима компиляции моделей, гарантирующего выполне- ние требований, предъявляемых к охране интеллектуальной собственности, к ко- торой относятся коммерчески распространяемые модули (IP Core). В обычном режиме разрешается полная отладка моделей с доступом к исходному коду и внутренней структуре объекта. Если интеллектуальные продукты распространя- ются производителем в скомпилированном виде без передачи исходного кода, внутренней структуры и переменных, то следует использовать защищенный ре- жим компиляции моделей. При этом в процессе моделирования отображается со- стояние только внешних (интерфейсных) сигналов объектов интеллектуальной собственности, а контроль поведения их внутренних сигналов и процессов не доступен пользователю. • Расширенные отладочные возможности пакета, позволяющие пользователям не только быстро отыскать и идентифицировать ошибки, но и сразу же устранить причины их возникновения. После обнаружения ошибки достаточно перейти из режима отладки в режим редактирования исходного кода, внести соответствую- щие изменения в текст описания и после сохранения файла выполнить повтор- ную компиляцию данного модуля. Все перечисленные операции производятся в процессе текущего сеанса работы системы моделирования и требуют минималь- ных временных затрат. Динамическое обновление окон системы обеспечивает возможность быстрого и легкого перемещения по базе данных проекта. • Наличие встроенного индикатора активности кода, нс только повышающего эф- фективность отладки проекта, но и позволяющего быстро создавать более пол- ные и надежные тестовые последовательности. Этот инструмент предоставляет возможность проследить строки исходного кода, которые не "активизировались" в процессе моделирования и вывести в графической форме соответствующий от- чет обо всех файлах проекта. Индикатор активности кода может быть использо- ван как на уровне отдельного блока, так и для всей системы в целом. • Использование встроенного анализатора производительности, позволяющего повысить скорость моделирования за счет обнаружения в проекте и последую- щего устранения факторов, оказывающих отрицательное влияние на быстродей- ствие этого процесса. С помощью этого инструмента можно получить информа- цию о библиотечных элементах, обработка которых требует значительных вре- менных затрат, фрагментах исходного кода, написанных нерационально с точки -зре- ния скорости его исполнения, неиспользуемых сигналах в выводимых списках, избы- точном коде в тестовых последовательностях. Исключение перечисленных элемс итог из проекта позволяет резко снизить общее время моделирования. • Возможность работы в различных режимах, в том числе и пакетном. Разработаг и отладив некоторый сценарий моделирования в интерактивном режиме, можно
78 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС оформить его для последующего использования в виде пакетного командного файла. • Доступный для разработчика визуальный пользовательский интерфейс и наличие подробной справочной системы, сокращающие время освоения пакета модели- рования. Средства управления пользовательским интерфейсом Тс1 и Тк позволя- ют выполнить настройку его элементов (панелей кнопок, меню) в соответствии с требованиями каждого конкретного пользователя. Система моделирования MoclelSim выпускается в двух основных редакциях: Special Edition (SE), функционирующей под управлением операционных систем (ОС) UNIX™, Linux™, Windows 98, Windows ME™, Windows 2000, Windows NT, Windows XP, и Personal Edition (PE), предназначенной только для ОС семейства Windows. Кроме того, имеются специализированные редакции, предназначенные для интеграции с пакетами САПР "третьих'' фирм. Примером специализированной редакции является ModelSim Xilinx Edition (ХЕ), ориентированная на интеграцию с программным обеспечением фирмы Xilinx. Пакет WebPACK 1SE комплектуется сво- бодно распространяемой версией ModelSim ХЕ II Starter. Эта версия имеет одно су- щественное ограничение - исходный текст описания должен содержать нс более 500 исполняемых выражений. Если объем исходного кода превышает указанное значе- ние, то программа моделирования сохраняет работоспособность, но функционирует с пониженной производительностью. 3.5.2. Пользовательский интерфейс пакета ModelSim Графический интерфейс системы моделирования ModelSim представлен девятью окнами: • основное окно (Main window); • окно исходного кода (Source); • окно структуры проекта (Structure); • окно переменных (Variables); • окно сигналов (Signals); • окно таблиц (List); • окно процессов (Process); • окно временных диаграмм (Wave); • окно трассировки сигналов (Dataflow). Основное окно ModclSim является главным элементом пользовательского интер- фейса пакета. Оно содержит все необходимые инструменты управления процессами компиляции и моделирования. Открытие вспомогательных окон, используемых для отображения информации о проекте и результатах моделирования в различной фор- ме, и их конфигурирование осуществляется из главного окна. Структура основного окна ModelSini (рис. 3.11) включает в себя следующие элементы: • заголовок окна; • главное меню, • оперативную панель управления; • рабочую область;
3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK ISE У У • консольную область; • строку состояния. Звголовок Главное Оперетивная окна меню панельупрввления ^McMMS«mXE/5tBder&ea-QiSUmXilftMVttSton-? . Efe £dt gimpte Sr*jWe^ look wjndcw t*b Консольная область Name И-llftworti jfflaim_vtf fu'tavalabte) b-iUp’* Е-Дййгрггп ijfl arp>ims_vei |inavaiaWe) ffiunBOOO (unavaiabte) a-ffiwn iffl urassns^vei [ixiavaiaWe] &flfl rirwcoreib JWlxirt»c<xeto_ ver lunavaiebte) B-jE«e B-llfl rnodetemib B-AL«»d Ebjm stctdevelopeisWt affisynowe е-Жу«*зд ft Loadr«gC./Mcdelt6ch_xe_etai e<2wn32> >em/./«fa^+xVssnprirnx_one4K ,*| _cne_v) ft Loafing C'Atode*ech_xe_startef/wru2xoem/. /мйги?мЬЛ'$гпрг1Л’1»_2ео[в _?eio_v) ttLMdngCTModekech xe dart«Aw32«oem/. /wtrou'vhci/smpfim.x w2(x oOJ ft Loadrig Cj'Modeliech_>»_stwtei/*n32iuxnv’, AffirttA'hd/simn tn x_and2( x_end2_v) ” ft Loading C’/Modetedx_>‘ewrtaita/v*n32xoem/.. /slinx/vhd/sincwrix.ondX x_axJ3_v) ft Loading D/Modeltech.Ke.sterta/wrGSxoem/. ЛЛпяАМ/в«прг«л>(_о<3(н_ or3_v) ft LoaidhgC7Moddl*eh-xt.«t*ler/wn32w«nZ.A4mA,hd/sim hix_k{x2[x _xor2_v) ft Loadhg C/Modehech_xe_s«aii«AMin32MjerfiZ Atiinx/vhdysimpflm>0nv(xj К Loadhg work roc|ioc_vj В WARNING’ Design од о( 751 sttferervsotl ncn^SrwIeal instances е*с eedsModelSimiC-Stailei lecomrwnded capacity. ft fxpect perfemunce to be quite edvesejy effected ft " Note: [vrin-35fl7j SDF Backemotabon SuccesshJy Completed. ft Time: 0 pt fteiation. 0 instance /testbench ft wave ft .stiuctwe ft.signets Utwf im j ~~ J Nov : 1 u Delta: 0 ts«Y»: testbench VSJM2> Закладки страниц рабочей области Рабочая область Строка состояния Рис. 3.11. Основное окно системы моделирования ModelSim В заголовке главного окна отображается название программы моделирования с указанием ее версии и редакции. Главное меню основного окна открывает доступ ко всем командам управления проектом, процессами компиляции и моделирования, отображением результатов моделирования, установки необходимых значений параметров и конфигурирования системы. Каждый пункт главного меню используется для активизации одноименно- го всплывающего меню, в котором представлена соответствующая группа команд. Всплывающее меню File включает в себя команды создания, открытия и закрытия проектов, файлов и наборов данных, создания и импорта библиотек, а также очист- ки и сохранения содержимого консольной области в виде файла на диске. Кроме того, в этой группе присутствуют команды включения в состав проекта файлов, раз- делов, конфигураций моделирования и завершения работы с программой. Выпа- дающее меню Edit объединяет команды редактирования исходного HDL-кода и по- иска заданной текстовой строки в консольной области основного окна. Во всплы- вающем меню View сгруппированы команды, определяющие вид основного окна ModelSim, и открывающие вспомогательные окна. В выпадающем меню Compile представлены команды управления процессом компиляции исходного кода и уста- новки соответствующих параметров этой процедуры. Команды всплывающего меню Simulate предназначены для управления процедурой моделирования проекта и ус- тановки параметров этого процесса. Выпадающее меню Tools предоставляет доступ
80 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС к командам установки точек прерывания в процессе моделирования, запуска проце- дуры выполнения командных файлов, сравнения временных диаграмм сигналов и выбора значений параметров визуального графического интерфейса системы ModelSim. Всплывающее меню Window содержит команды установки взаимной конфигурации открытых окон пакета ModelSim и режима их отображения. Пункт Help основного меню предоставляет справочную информацию о программах пакета и доступ к документации в PDF-формате. Оперативная панель управления содержит кнопки быстрого доступа, которые дублируют наиболее часто используемые команды меню пакета ModelSim. Рабочая область основного окна ModelSim представляет собой эффективный ви- зуальный инструмент управления проектом. Здесь отображается детальная инфор- мация о структуре текущего проекта и используемых библиотек. Выполнение необ- ходимых операций осуществляется с помощью команд всплывающих контекстно- зависимых меню, которые выводятся на экран при щелчке правой кнопки мыши на свободном поле нли на выделенной строке в рабочей области. Эта область содержит, как правило, несколько страниц, снабженных закладками с их названиями [Project, Library, Sim), каждая из которых представляет соответствующий вид информации о проекте. Страница Project предназначена для отображения списка файлов, которые входят в состав текущего проекта. С помощью команд всплывающего контекстно- зависимого меню пользователь может быстро открыть выбранный файл для редак- тирования, выполнить компиляцию отдельного или всех файлов, добавить или уда- лить файлы из проекта. Страница Library позволяет просмотреть состав библиотек, используемых в проекте, и выполнить необходимые операции с ними. Команды всплывающего контекстно-зависимого меню позволяют редактировать и удалять модули, входящие в состав выбранной библиотеки, перекомпилировать ее, а также создавать новые библиотеки. Страница Sim содержит подробную информацию об иерархической структуре проекта, для которого активизирован процесс моделиро- вания. Эта информация может отображаться в сжатом или развернутом виде. Выбор формата отображения осуществляется с помощью команд всплывающего контекст- но-зависимого меню. Кроме рассмотренных в рабочей области могут присутство- вать страницы, отражающие структуру открытых наборов данных. В консольной области основного окна фиксируются выполняемые команды и все сообщения программы, которые появлялись в текущем сеансе работы пакета ModelSim. Кроме того, в нижней части этой области отображается командная строка, в начале которой указывается заголовок, соответствующий текущему режиму раб о- ты. Командная строка позволяет издавать команды управления, используя клавиату- ру. Содержимое консольной области может быть сохранено в виде файла на диске. Сохраненные файлы далее могут использоваться в качестве макросов (командных файлов), вызываемых в последующих сеансах работы с программой. В строке состояния, расположенной в нижней части основного окна, отобража- ется информация о загруженном проекте, текущем времени и итерации моделирова- ния, название выбранного элемента проекта. Окно исходного кода Source (рис. 3.12) позволяет просматривать и редактировать текст HDL-описания выбранного элемента структуры проекта. Это окно автомати- чески открывается при активизации соответствующей строки в рабочей области
3. Характеристики и пользовательский интерфейс основных программ пакета WebPXСК 1SE 81 основного окна пакета ModelSim и используется в процессе отладки описания вы- бранного элемента проекта. Структура окна исходного кода помимо стандартных элементов управления (строки меню и оперативной панели инструментов) включает в себя две панели. В левой панели отображаются номера строк исходного кода и условные обозначения, используемые в процессе отладки. Здесь содержится инфор- мация о точках прерывания, исполняемой строке кода и выбранном процессе. В правой панели содержится текст HDL-описания, доступный для редактирования. Кроме того, в окне исходного кода может присутствовать панель шаблонов для и с- пользусмого языка описания аппаратуры. g| edit - counter.vhd - !□! Х| File gdit View Tods Window ’q aj_* % a : гл| o4j«i -д »i (*r<? □ 1 jsntlty ccwtrr it Z p«rt (cow* ; buffer bit_vwctor( j ) elk : An bit; 4 ttrtt : in bit.); $ end; S T irebitetturt only of cowittr < com/tant tp4_nj«e_to_cow* : tl»« : mi 1 eenrtant t^d_clkjto_cow* : tint :* 5 n>i II 11 function incscMTitCval : bit_vcctor) return bitjvtctor It id 19 •- r-iruilsi tl-e indaving If alia; irpve : bit_vector(va)'lonyti demto ) ix vaIj IS variable ri-iult . bit_v'ctoz(input*wi9t) : input; If variable carry : bit : ‘1’» 1? btftfi II for i in irpuc'Lw to irput'bigb loop 13 rtrUlt(i) : irpMt(i) xox carry/ I tt carry : input(i) and carry. i tl oxit «ben carry '0': tt end loop/ ZJ return rervlt; end increment.: __] IS begin tf I? ctr: II process(elk, reret) tf begin )• if (root • ’I1) then 91 sf react1 event tJwn It cow* < (otbirr •••) after tpd_reret.to_cew*/ <| ►£ counter.vhdj j *'___________________________________ I »l П |bt i.cot:o Рис. 3.12. Окно исходного кода системы моделирования ModelSim Окно Structure (рис. 3.13) представляет в иерархической форме информацию о структуре проекта и всех его элементов. Это окно фактически дублирует содержа- ние аналогичной страницы в рабочей области основного окна ModelSim. Прн раз- вернутой форме отображения в окне структуры содержится подробная информация обо всех HDL-элсмсптах различного уровня иерархии проекта. Выделение элемен- тов проекта в окне структуры влечет за собой отображение соответствующей ин- формации в окнах исходного кода и сигналов.
82 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС ggstructure " 5'' -|П| х| Fie Edit йе и Window шЛ counterlorily) -jg| testbench: testbench(testbench_arch) ЧИ ____________ Package stdjocjcjextio Package $tdjogic_1164 y| Package texlio jg Package standard sim:/testbench/uut Рис. 3.13. Внешний вид Окна структуры проекта Structure пакета ModelSim Окно Variables (рис. 3.14) предназначено для контроля текущих значений пере- менных, параметров и констант выбранного процесса. Рабочая область этого окна содержит две панели. В левой панели отображаются названия переменных, пара- метров и констант, а в правой их текущие значения. Для элементов составных типов (массивов или записей) используется иерархическая форма представления. Окно переменных предоставляет возможность оперативного изменения отображаемых значений в ходе отладки. S^vat tables Hie Edit View Add Window —. or^j ----------—1; .,-J lpd_resetjo_count -----.... ,, -----------—- 1Q12S1 {10 ns} • • «<&•: -Л- sim:/testbench/uut/ctr Рис. 3.14. Окно переменных Variables системы моделирования ModelSim
83 3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK ISE Окно Signals (рис. 3.15) используется для отображения текущего состояния сиг- налов (на момент завершения шага моделирования) в символьной форме. Структура этого окна кроме стандартных элементов управления (строки меню, оперативной панели инструментов и строки состояния) включает в себя две панели. Левая панель содержит список идентификаторов сигналов, соответствующих выделенному эле- менту в окне структуры проекта, а правая - их текущие значения. Сигналы состав- ных типов (массивов или записей) отображаются в виде иерархической структуры, которая может быть представлена в сжатой или развернутой форме. Двойной щел- чок левой копки мыши на названии сигнала открывает окно исходного кода, пред- ставляющее фрагмент описания, в котором объявляется этот сигнал. Рис. 3.15. Окно сигналов Signals системы моделирования ModelSim Окно List представляет результаты моделирования в табличной форме (рис. 3.16). Отображаемая здесь таблица разделена на две области. Левая область содержит последовательность дискретных отсчетов времени моделирования. Каж- дый столбец в правой области представляет значения сигнала или переменной в со- ответствующие моменты времени моделирования. В верхней части этой области отображаются полные названия сигналов с учетом иерархии проекта. Для включе- ния интересующего сигнала или переменной в таблицу, отображаемую в окне List, можно воспользоваться командами меню Add в окнах Signals и Variables, предвари- тельно выделив строки с названиями соответствующих элементов в этих окнах. Ме- тод "перетаскивания" позволяет ускорить этот процесс. Для этого необходимо в окне сигналов или переменных поместить курсор на строку с названием требуемого эле- мента, нажать левую кнопку мыши и, нс отпуская се, переместить курсор в область значений в окне List, после чего отпустить нажатую кнопку. Команды меню рас- сматриваемого окна позволяют сохранять результаты моделирования в текстовом виде в различных форматах.
84 Зотов В, Ю. Проектирование цифровых устройств на основе //ЛИС Fie Edit View Tools Window p te >tbinth/vut/r' > et— /te rtirenrh/wt/ tlk~^ /te jcb»nch/vmt/ country 14000 41 i«ooo ♦( toooc +1 Ц0ССС 41 1150(0 44 1S4440 41 lOOtCC 41 110448 +4 110444 41 1S44I0 41 314444 41 344444 41 444444 41 414404 41 41S440 44 4S4444 41 $14044 41 $14444 44 $$0400 41 $14444 41 $150(0 40 4 4 04004000 0 1 00400004 4 1 40000001 4 0 04000001 0 1 40000001 0 1 04000010 4 0 40000410 1 0 40000010 1 0 00040400 1 1 00040004 1 0 00000040 1 1 04000000 1 0 04000000 0 0 40000000 0 1 00400000 0 1 00444401 0 0 04000001 0 1 00040001 0 1 00400010 4 0 44044410 0 1 00004010 0 1 000(4011 -la|x| Рис. 3.16. Окно таблиц List системы моделирования ModelSim Окно Process (рис. 3.17) предназначено для отображения списка процессов в вы- бранном структурном фрагменте проекта или запланированных для выполнения в текущем цикле моделирования. Команды меню View рассматриваемого окна опре- деляют, по какому принципу формируется выводимый список процессов. Перед ка- ждым элементом списка указано обозначение состояния, в котором находится соот- ветствующий процесс. Возможны три варианта обозначений: • <Ready> - соответствует состоянию процесса, выполнение которого планируется в текущем интервале времени; • <Wail> - указывает на то, что процесс находится в состоянии ожидания измене- ния сигнала илн указанного временного интервала; • <Donc> - соответствует состоянию процесса, завершившего выполнение опера- тора ожидания. Окно временных диаграмм Wave (рис. 3.18) используется для представления ре- зультатов моделирования в графическом виде. В рабочей области этого окна распо- ложены три панели. Левая панель содержит список контролируемых сигналов и пе- ременных. В средней панели указывается состояние сигналов в момент времени, который фиксируется положением курсора в панели временных диаграмм. В нижней части этой панели выводится значение времени моделирования, на котором уста- новлен курсор. Правая панель отображает результаты моделирования в форме вре- менных диаграмм. В нижней секции этой панели расположена ось времени модели- рования. Управление .масштабом изображения осуществляется с помощью инстру- ментов, расположенных на оперативной панели, и команд меню Zoom, доступ к ко-
3. Характеристики и пользовательский интерфейс основных программ пакета WebPACK 1SE 85 торому открывает всплывающее меню View этого окна. Для перемещения по вре- менной оси следует использовать элементы прокрутки этой панели. ЁЁрпкям - |п| *1 file Edit v,ew Window i ett ? ж -_____________________________________________________________k sim:/testbench/uut Рис. 3.17. Внешний вид окна процессов Process пакета ModelSim Окно временных диагр’амм предоставляет возможность измерения временных интервалов между моментами переключения сигналов, а также сохранять результа- ты моделирования в графической форме в виде файла на диске для последующего анализа и использования. Чтобы добавить сигнал в окне временных диаграмм, сле- дует воспользоваться командами меню Add в окнах Signals и Variables или методом "перетаскивания", рассмотренным выше при описании окна List. При использова- нии последнего способа название выбранного сигнала перетаскивается с помощью мыши в панель списка контролируемых сигналов. О ps to 350 ns Рис. 3.1 К. Окно временных диаграмм Wave системы моделирования ModelSim
86 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Окно Dataflow позволяет проследить "прохождение" сигнала, выбранного в ие- рархической структуре проекта, на физическом уровне (рис. 3.19). Условное изо- бражение анализируемого сигнала отображается в центре рабочей области окна вы- деленным цветом. Вместе с ним показаны условные графические образы (УГО) процессов, которые формируют поведение сигнала и которые используют этот сиг- нал в качестве входного, но не изменяют его. Кроме того, рассматриваемое окно мо- жет использоваться для отображения информации о сигналах процесса, выбранного в окне Process. В этом случае в центре рабочей области окна располагается услов- ный графический образ выбранного процесса. Все сигналы, значения которых фор- мируются и читаются в процессе, представлены в виде входов и выходов УГО. Вы- бор сигнала или процесса для отображения его в окне Dataflow может осуществ- ляться различными способами. Необходимый для этого набор команд содержится во всплывающем меню Navigate. Но самым простым и наглядным является метод "пе- ретаскивания”. В окне процессов или сигналов курсором указывается условное изо- бражение требуемого элемента или строка с его названием и фиксируется нажатием левой кнопки мыши. Далее, не отпуская нажатой кнопки, курсор мыши перемеща- ется в рабочую область окна Dataflow. После освобождения нажатой левой кнопки мыши условное изображение выбранного сигнала или процесса появляется в рабо- чей области этого окна. -„к... -шла £1е ЕЛ Wew Race Took "" ;S i [Г <5, -J. . * tfecs H i hI ' Л eslbenchAiuV£/o Extended mod» disabled Phc. 3.19. Внешний вид окна трассировки сигналов Dataflow пакета ModelSim В окне трассировки рядом с идентификаторами сигналов указываются их значе- ния в момент времени, который зафиксирован положением курсора в окне времен- ных диаграмм. При перемещении этого курсора окно Dataflow отслеживает измене- ние значений отображаемых сигналов.
4. Начальные этапы проектирования в САПР WebPACK ISE 4.1. Этапы проектирования цифровых устройств на базе ПЛИС Xilinx В процессе разработки цифровых устройств на базе ПЛИС Xilinx в общем слу- чае можно выделить следующие этапы: • создание нового проекта (выбор семейства и типа ПЛИС, а также средств синтеза); • подготовка описания проектируемого устройства в схемотехнической, алгоритмической или текстовой форме; • синтез устройства; • функциональное моделирование; • размещение и трассировка проекта в кристалле; • временное моделирование; • программирование ПЛИС (загрузка проекта в кристалл). Перед созданием нового проекта следует определиться с выбором метода описа- ния разрабатываемого устройства и, соответственно, средств синтеза. При опреде- лении семейства и типа ПЛИС для реализации проекта необходимо не только оце- нить его сложность с учетом требований, предъявляемых к быстродействию, по- требляемой мощности, условиям эксплуатации, но и учесть дополнительные факто- ры, как, например, стоимость, возможность перепрограммирования в системе. Вы- бранное семейство или тип кристалла при необходимости достаточно легко можно изменить в процессе проектирования. Исходная информация о проектируемом уст- ройстве может быть представлена в виде принципиальных схем, описаний на языке HDL, диаграмм состояний, пакетов и библиотек пользователя. На этом же этапе можно установить временные и топологические ограничения, которые должны учи- тываться при синтезе, размещении и трассировки проекта в кристалле. В процессе синтеза на основании исходных модулей проекта формируется список соединений (nctlist), содержащий набор примитивов или компонентов, который может быть реа- лизован на основе ресурсов выбранного кристалла ПЛИС. Результаты синтеза ис- пользуются далее в качестве исходных данных средствами размещения и трассиров- ки. Функциональное моделирование устройства производится без учета реальных значений задержек прохождения сигналов и позволяет проконтролировать соответ- ствие выходных сигналов алгоритмам работы проектируемого устройства. На этапе размещения и трассировки проекта в кристалл производится распределение выпол- няемых функций в конфигурируемые логические блоки CLB (Configurable Logic Block) или макроячейки Macrocell, в зависимости от используемого семейства ПЛИС, и формирование необходимых связей в кристалле. В процессе выполнения этого этапа проектирования также определяются реальные значения задержек рас- пространения сигналов, которые необходимы для полного временного моделирова- ния устройства. Основным результатом этапа размещения и трассировки является
88 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС формирование файла, в котором содержится информация о конфигурации ПЛИС, реализующей проектируемое устройство. Завершением процесса разработки цифро- вого устройства является загрузка конфигурационных данных в кристалл с помо- щью соответствующих программ и загрузочного кабеля. Следует обратить внимание на то, что этапы функционального и временного моделирования нс являются обяза- тельными. Тем не менее, не рекомендуется пренебрегать этими этапами, так как вы- сокоэффективные средства моделирования, включаемые в состав пакетов САПР фирмы Xilinx, позволяют обнаружить большинство возможных ошибок и, тем са- мым, значительно сократить общее время разработки устройства. При обнаружении ошибок на любом из этапов, например, логических ошибок на этапе функциональ- ного моделирования или при получении неудовлетворительных результатов времен- ного моделирования, следует вернуться иа стадию разработки исходных описаний проекта, внести необходимые изменения и повторить последующие этапы. Выполнение этапов создания нового проекта и подготовки исходных описаний проектируемого устройства не зависит от выбора типа ПЛИС (CPLD или FPGA), используемого для его реализации. Содержание последующих этапов (синтеза, функционального и временного моделирования, размещения, трассировки и загруз- ки проекта в кристалл) различается для случаев использования ПЛИС семейств CPLD и FPGA. Поэтому в дальнейшем реализация этих этапов проектирования в САПР WebPACK ISE рассматривается раздельно для каждого типа ПЛИС. Но преж- де чем приступить к детальному изучению этапов процесса проектирования, следу- ет определить понятие проекта, используемое далее. 4.2. Структура проекта в САПР WebPACK ISE Проектом в САПР WebPACK ISE называется совокупность модулей (файлов), ко- торые содержат информацию, необходимую для выполнения всех этапов процесса разработки цифрового устройства на базе ПЛИС Xilinx. В структуре проекта WebPACK ISE можно выделить следующие группы модулей: • исходные описания проектируемого устройства в графической или текстовой форме; • модули временных и топологических ограничений проекта; • документация, сопровождающая проект; • промежуточные результаты, используемые в качестве исходных данных для по- следующих шагов проектирования; • отчеты о выполнении основных этапов проектирования; • функциональная и временная модели проектируемого устройства; • описания тестовых воздействий, необходимых для моделирования устройства, в текстовом и графическом формате; • результаты функционального и временного моделирования в графической и тек- стовой форме; • отчеты, формируемые вспомогательными средствами пакета; • окончательные результаты проектирования, используемые для конфигурирова- ния ПЛИС. Все модули проекта располагаются в одном каталоге (папке), название которого совпадает с названием проекта. Изначально проект представлен только заголовком
4. Начальные этапы проектирования в САПР WebPACK ISE 89 и модулем, в котором указываются параметры проекта. Затем к проекту добавляют- ся модули описания проектируемого устройства. Далее, после выполнения каждого этапа процесса разработки устройства, в проект включаются результаты, получен- ные на этом этапе, и соответствующий отчет. Кроме того, разработчик может вклю- чить в проект необходимую текстовую документацию. 4.3. Создание нового проекта в среде пакета WebPACK ISE Для создания нового проекта следует выполнить команду File основного меню Навигатора проекта, а затем во всплывающем меню выбрать строку New Project, как показано на рис. 4.1. П»кпм * Project NaviQAtor - No Project Fte ЕЛ View Project Soiree Process Window Help да1*1 Open Project.., OpenExenple. .35 CT /is JS & 4 IJ New Open... Ctrl+N CtrleO Recent Projects Recent Fdes lew lbUray (Enpty Log) H^]<T»i^ConsoleA FndUHWs / Create a new project New Prelect Project Name' Project Device Qptens- __________________Property Heme Device Fanny Device _ Package Speed Gnide Design Flow PrcfectlDcefon |СЛРкйёсл”~" IXC&5OQXL' TLD ,xcS5144x1 TQ1QO_____ 5 'XST VHDL Proctw vww f~ Рис. 4.1. Последовательность действий по созданию нового проекта в САПР WebPACK ISE В результате указанных действий открывается диалоговая панель, в которой должны быть представлены исходные данные для создания проекта: • название проекта; • диск и каталог, в котором предполагается расположить проект; • семейство ПЛИС, на базе которого разрабатывается устройство; • тип кристалла; • тип корпуса; • быстродействие кристалла; • средства синтеза устройства.
90 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС В первую очередь рекомендуется определить раздел (папку), в котором будет располагаться рабочий каталог проекта. Место расположения проекта на диске указывается в поле редактирования Project Location (рис. 4.1). Целесообразно хранить все проекты в специально созданном для этих целей каталоге, например, C:\Project. По умолчанию в поле редактирования Project Location предлагаются диск и каталог, которые использовались в предыдущем проекте. Изменить место расположения создаваемого проекта можно двумя способами: используя клавиатуру или стандартную панель навигации по дискам компьютера. При выборе первого метода следует поместить ьурсор на поле редактирования Project Location и щелкнуть левой кнопкой мыши, после чего ввести с клавиатуры имя диска и каталога. Если указываемый каталог отсутствует на диске, то он созда- стся автоматически. Для выбора каталога, который уже существует, удобнее вос- пользоваться вторым способом, нажав кнопку с пиктограммой расположенную справа от поля редактирования Project Location. В открывшейся диалоговой панели навигации (рис. 4.2) следует с помощью мыши выбрать требуемый диск и каталог, а затем подтвердить сделанный выбор нажатием клавиши ОК. После закрытия панели навигации выбранные параметры автоматически отображаются в поле редактирова- ния Project Location. Поле редактирования названия проекта Лоле редактирования названия каталога проектов Project Name: Project Location-. |C:\Praject\ Кнопка активизации панели выбора каталога Project Device 0р»ю Browse for FoHer ‘ Г--------------- г ,, ------- SetertaDrectory i jDevice ramfly -----------C:\Project\jc2_sdi ; Package. _____ _______„ , , _ {Speed Grade . Jj Doc’jnents and Settings DesignFlow [+ drivers Jj Modeltech.xe jtarter *1 My Documents I Program Has £ ЛЕШ---------------------------------- • .21 1c2_>ch---------- 2j jc2_vhd 2j watch Каталог проектов Рабочий каталог проекта jc2_sch Cancel | Рис. 4.2. Выбор места расположения создаваемого npoexia на диске Чтобы задать название (имя) проекта, необходимо поместить курсор мыши на поле редактирования Project name (рис. 4.2) и щелкнуть левой кнопкой мыши, после чего ввести с клавиатуры название проекта. Рекомендуется задавать мнемонические имена проектов, чтобы в последствии было удобнее ориентироваться при поиске требуемого проекта. Введенное название проекта автоматически добавляется в поле Project L ocatioii, определяя тем самым название рабочего каталога проекта.
4. Начальные этапы проектирования в САПР WebPACK 1SE 91 Семейство ПЛИС, тип кристалла, корпуса, быстродействия, маршрут проектиро- вания и средства синтеза представлены в виде таблицы параметров проекта (рис. 4.1). В первом столбце этой таблицы отображаются названия параметров (Property Name'), а во втором - значения этих характеристик (Value). Каждая ячейка столбца Value представляет собой поле выбора значения соответствующего пара- метра. Для определения семейства ПЛИС, на базе которого проектируется устройст- во, следует поместить курсор мыши на поле выбора семейства Device Family (рис. 4.1) и щелкнуть левой кнопкой. После этого в правой части поля выбора се- мейства появляется кнопка управления выпадающим списком. При нажатии на эту кнопку отображается список семейств ПЛИС, поддерживаемых пакетом WebPACK. ISE (рис. 4.3). New Protect » Prefect poor* |CAProjettXjceuni Project Device Options Property Name Value Device Femйу Device Peckage_ Speed Grade Design Fkw. JXC350QXL CPLDs Поле выбора семейства ПЛИС CooiRimer KPLA3 СРЮ$ CoolRiroer2 CPLDs Spartan2 ______________ Spatan2E Vrtes2 Virtex2P VirtexE XC9500 CPLDs. Кнопка управления выпадающим списком семейств ПЛИС , Список семейств ПЛИС, поддерживаемых пакетом . XCS5UOXL C.PL&S |ХС9500ХУ CPLDs 21-Выбранное семейство ПЛИС Prefect ^осабоп.' Рис. 4.3. Выбор семейства ПЛИС для создаваемого проекта Чтобы выбрать требуемое семейство ПЛИС, необходимо поместить курсор мы- ши на соответствующую строку выпадающего списка и щелкнуть левой кнопкой. После выбора одной из строк списка название соответствующей серии ПЛИС авто- матически отображается в поле выбора семейства Device Family. В поле выбора типа кристалла для реализации проектируемого устройства авто- матически отображается тип ПЛИС, установленный по умолчанию для выбранного семейства. Для его изменения необходимо выполнить последовательность действий, аналогичную процедуре установки семейства ПЛИС. Вначале нужно активизиро- вать поле выбора типа кристалла Device, установив на него курсор мыши и щелкнув левой кнопкой. Затем следует нажать кнопку вывода списка доступных кристаллов выбранного семейства (рис. 4.4). В предложенном списке нужно найти строку, содержащую требуемый тип кри- сталла, поместить на нее курсор мыши и щелкнуть левой кнопкой. Выделенный эле- мент списка автоматически отображается в поле выбора типа кристалла Device. Если разработчик затрудняется определить тип криста.1ла, необходимый для реали- зации проектируемого устройства, то следует использовать автоматический выбор типа кристалла. Для этого необходимо в списке ПЛИС выбрать строку Auto для тре- буемого семейства ПЛИС. Программы трассировки определят кристалл с мини- мальным количеством ресурсов, необходимых для реализации разрабатываемого устройства.
92 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС New Project Project Name Jjcourt Project Location ICAProjecCycounT Project Device Qptiom: ________ _____________ . I _________________Property Meme____________________ ,'Device Family ' .... ________________________ ________ л_____s_____________________ ___________ Я Speed Grade . ' fpesigriFlow ______2________i—_____________________ s I w I J__________Vahje" XC95OQXL CPUDs xc95t44xl Auto xc9500xl _ xc9536xj ------- xc9572x1 xc95266x1 Cancel | Help Поле выбора типа кристалла Список доступных кристаллов выбранного семейства Рис. 4.4. Выбор типа кристалла для реализации проектируемого устройства Тип корпуса кристалла указывается в поле выбора Package. Если в качестве типа кристалла задано значение Auto, то в этом поле отображается символ соответст- вующий режиму автоматического выбора типа корпуса. В этом случае также можно указать конкретный тип корпуса с неопределенным количеством выводов. Для этого следует выбрать значение <тип корпуса>* из выпадающего списка, который появ- ляется при щелчке левой кнопкой мыши в поле выбора Package. Если в поле Device указан определенный тип ПЛИС, то выпадающий список значений поля выбора Package содержит обозначения только тех типов корпусов, в которых выпускается данный кристалл. Выбор требуемого типа корпуса осуществляется щелчком левой кнопки мыши на строке списка, в которой представлено его условное обозначение (рис. 4.5). Выбранный элемент списка автоматически отображается в поле типа кор- пуса кристалла Package. New Project: Proj«A Меток |jeoir>t Project Location: | C:\Project\icounl Project Device fiptions:_ I________________Property Heme_____________ ’Device Famly_~ Device....______ ' ^Package SpeedGrede_______________________;_________ v tDeriy Flow _______________ ________________ ОК | Cancel | Help | Поле выбора типа корпуса ПЛИС Выбранный тип корпуса ПЛИС Список доступных типов корпусов Рис. 4.5. Определите типа корпуса крисгалла Для указания быстродействия выбранного кристалла следует поместить курсор мы- ши на поле выбора Speed Grade и щелкнуть левой кнопкой. Открывшийся список ото- бражает выпускаемый ряд градации по быстродействию для выбранного типа ПЛИС (рис. 4.6). Если тип кристалла не конкретизирован (в поле Device указано значение Auto), то список содержит единственное значение соответствующее режиму автоматнчс-
4. Начальные этапы проектирования е САПР WebPACK ISE 93 ского выбора быстродействия ПЛИС. Требуемое быстродействие кристалла устанавли- вается щелчком левой кнопки мыши на строке, соответствующей строке списка, после чего это значение отображается в поле выбора Speed Grade. he*» Project Project |icount Project Location: [C:\Piciecl\icobnt Project Device Upton». _______ _ ‘_________________property Meme___________' •" • ’ Device Ferwty _______________________ [Device _ ________ fpiaclteye ’ •Speed Grade ______________________________________ □«sign row ___________________________ ________Value________| XC9500XL CR.Ds XC95144XI ___ tqzoo I ot: I -5 .7 -10 Cancel У Поле выбора быстродействия кристалла Выбранный класс быстродействия кристалла Список доступных классов быстродействия выбранного кристалла Рис. 4.6. Выбор быстродействия кристалла Набор поддерживаемых средств синтеза определяется выбранным семейством ПЛИС. Чтобы просмотреть этот набор и при необходимости изменить маршрут проектирования и средства синтеза, предлагаемые по умолчанию, следует активизи- ровать поле выбора Design Flow (рис. 4.7), поместив на него курсор и щелкнув ле- вой кнопкой мыши. Для выбора инструмента синтеза следует воспользоваться кноп- кой управления выпадающим списком, которая появляется в правой части поля Design Flow. Пакет WebPACK 1SE поддерживает следующие инструменты синтеза: XST VHDL, XST Verilog, ABEL XST VHDL, ABEL XST Verilog. Но не все семейства ПЛИС поддерживают указанные средства синтеза. Навигатор проекта автоматиче- ски корректирует содержимое выпадающего списка инструментов синтеза в соот- ветствии с выбранным семейством ПЛИС. hew Project Project Name- |jcwnl Project Location: |С:\Рго|ес1^соип» Protect Device Options: Property Nome Device Fairly iDevice ________________________ "Package ‘Speed Grade ‘ Design Flow ........ I Value [XC9S30XL CPLDs_______ |XC9S144X1 __________ TQ100 ‘ u |xSTyt€l Iedf Поле выбора средств синтеза ;t VHDL OK I [xsr Verilog 1 —I ABEL XST Veriog. --------------[ABEL XST VHDL Выбранные средства синтеза _ Список доступных средств синтеза для выбранного семейства ПЛИС Рис. 4.7. Выбор маршрута проектирования и средств синтеза для создаваемого проекта Кроме указанных значений выпадающий список поля выбора Design Flow со- держит строку ED1F, которая используется в случае, если описание проектируемого устройства представлено в одноименном формате. Установка новых средств синтеза
94 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС создаваемого проекта осуществляется щелчком левой кнопки мыши на требуемой строке предлагаемого списка. Процедура определения всех необходимых параметров создаваемого проекта за- вершается нажатием клавиши ОК, находящейся в нижней части панели установки параметров нового проекта (рис. 4.1). В случае успешного создания нового проекта его название отображается в строке заголовка окна Навигатора проекта, а окно исходных модулей приобретает вид, показанный на рис. 4.8. Sources in Project:____________ (3] jeount ' □ xc95144xl-5tq100-XSTVHDL Module View ] ini Snapshot view j 7^) Library view | ---— —-r*--—-------*-----------------------------------------------------*- ' ac| Processes (or Current Source: I Design Entry Utilities e Process View Г Рис. 4.8. Рабочая область нового проекта Окно исходных модулей нового проекта содержит две пиктограммы: заголовка и описания проекта. Только что созданный проект имеет заголовок, совпадающий с названием проекта. В строке описания проекта отображаются основные параметры проекта, заданные при его создании. Изменить заголовок проекта можно несколь- кими способами. Прежде всего, следует выделить строку заголовка проекта в окне исходных модулей, поместив на нес курсор мыши и щелкнув левой кнопкой. Затем нужно нажать кнопку просмотра и изменения характеристик текущего проекта l!=U, которая находится на оперативной панели Навигатора проекта (см. рис. 3.2). В результате чего на экране появляется диалоговая панель, в которой отображается таблица параметров проекта (рис. 4.9). Эта таблица имеет ту же структуру, что и таблица, показанная на рис. 4.1, но содержит лишь один параметр - заголовок про- екта Project Title. Для изменения заголовка проекта следует с помощью клавиатуры набрать требуемый текст в поле редактирования заголовка и ввести его нажатием клавиши ОК, находящейся в нижней части панели редактирования (рис. 4.9). Текст заголовка проекта в окис исходных модулей автоматически обновляется после за- крытия панели редактирования.
4. Начальные этапы проектирования в САПР WebPACK ISE 95 Project Properties xf Pio'ect Properties | ’___________________Property Name |__________Vaiue___________| 'project Tfcle ffilffl I OK | Cancel | | Help Рис. 4.9. Панель редактирования заголовка проекта Для открытия диалоговой панели редактирования заголовка можно также после выделения строки заголовка попользовать команду Source/Properties основного ме- ню Навигатора проекта или щелчком правой кнопкой мыши открыть всплываю- щее контекстно-зависимое меню (рис. 4.10), в котором следует выбрать строку Properties. Но самый быстрый и удобный способ редактирования заголовка проек- та - поместить указатель на строку заголовка проекта в окне исходных модулей и дважды щелкнуть левой кнопкой мыши. а:----- — Sources in Protect: | ""Ей?8 Q исЭ1 New Source... Add Source... Insert Add Copy of Source... Shift+Insert “ Rr-riwe Delete “UMOdUie _______ • ------------- Mcr e to Library. . —j~"i" .........“7 -Open- —“1 Processes f • , ______ J UxO Pro-'?; Toggle Paths Properties... Й Process View | I Рис. 4.10. Использование контекстно-зависимого меню для редактирования заголовка проекта Аналогичными методами можно также изменить основные параметры проекта (семейство ПЛИС, тип кристалла, корпуса, быстродействия и средства синтеза), выделив строку описания проекта в окне исходных модулей. Наиболее рационально дважды щелкнуть левой кнопкой мыши на строке описания проекта, в результате чего будет выведена диалоговая панель с таблицей параметров, представленной на рис. 4.1. Выбор новых значений параметров осуществляется з сми же способами, что в панели создания нового проекта (рис. 4.3-4.7).
96 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС В качестве примера создадим проект jeount для разработки счетчика Джонсона на базе ПЛИС CPLD 95144XL в корпусе TQ 100, поместив его в каталог Project на одном из дисков компьютера. Этим примером в дальнейшем будет проиллюстриро- ван весь процесс разработки. Аналогичный пример содержится среди проектов, предоставляемых в комплекте САПР, и может использоваться в качестве образцово- го варианта. Рабочая область основного окна Навигатора проекта для вновь созданного про- екта jeount показана на рис. 4.8. Следующий этап разработки - формирование модулей исходного описания про- ектируемого устройства. 4.3. Подготовка основы нового модуля исходного описания проекта в среде пакета WebPACK ISE Для создания основы нового модуля исходного описания проекта следует нажать кнопку 1Й-1 на оперативной панели, которая дублирует команду New Source из раз- дела Project основного меню. В открывшейся диалоговой панели, показанной на рис. 4.11, необходимо выбрать тип нового модуля, задать его имя и указать место расположения файла на диске. New • xf VWLModJe Schematic Выбранный тип со|Даваамого исходного модуля VHDLLbay VHDL Package ffcName -Список возможных типов исходных модулей VHDL Test Bench 1 est Bench Wavefcxm Implementation Ccnstoaris Ffe State Oiogtem Logatiorc Поле редактирования названия модуля (файла) -Поле редактирования названия каталога» иепопьауамого дпл записи со 1 даваемого модуля fiddteproiect Флаг автоматического включения 'создаваемого модуля в состав проекта | НеИ> | Cmcel | Help | Рис. 4.11. Диалоговая панель установки параметров нового исходного модуля проекта В первую очередь, рекомендуется установить тип создаваемого исходного моду- ля, для чего следует в предложенном списке диалоговой панели (рис. 4.11) выделить соответствующую строку, щелкнув на ней левой кнопкой мыши. Содержание списка возможных типов исходных модулей зависит от выбранного семейства ПЛИС, мар- шрута проектирования и средств синтеза, используемых в проекте. Затем нужно активизировать поле редактирования названия модуля (файла) File Name, поместив на него курсор и щелкнув левой кнопкой мыши. Ввод имени файла осуществляется с помощью клавиатуры. Расширение имени файла устанавливается автоматически в соответствии с выбранным типом модуля. Место расположения создаваемого моду- ля на диске указывается в поле редактирования Location диалоговой панели (рис. 4.11). По умолчанию предлагается рабочий каталог текущего проекта. Для из-
4. Начальные этапы проектирования в САПР WebPACK ISE 97 менсния предложенного каталога можно использовать два способа: при помощи клавиатуры или стандартной панели навигации по дискам компьютера. Прежде чем непосредственно с клавиатуры ввести названия диска и каталога, необходимо сде- лать активным поле редактирования Location, щелкнув на нем левой кнопкой мыши. Если заданный каталог отсутствует на диске, то он будет автоматически создан. Ес- ли нужная папка уже существует, то целесообразнее использовать второй способ выбора каталога. Для этого следует нажать кнопку с пиктограммой в виде многото- чия которая находится справа от поля редактирования названия каталога. В открывшейся стандартной диалоговой панели навигации (см. рис. 4.2) следует с помощью мыши выбрать требуемый диск и каталог, а затем подтвердить сделанный выбор нажатием клавиши ОК. После закрытия панели навигации выбранные пара- метры автоматически отображаются в поле редактирования Location. Особое вни- мание необходимо обратить на состояние индикатора автоматического включения модуля в состав проекта Add to project. Если флаг индикатора установлен (поле ин- дикатора помечено маркером), то созданный модуль автоматически включается в состав текущего проекта. По умолчанию флаг индикатора находится в установлен- ном состоянии. Для модификации этого параметра достаточно щелкнуть левой кнопкой мыши, поместив курсор на поле индикатора. При этом состояние индика- тора изменится на противоположное. Установка значений всех необходимых параметров создаваемого модуля завер- шается нажатием клавиши Далее (Next), которая находится в нижней части диалого- вой панели (рис. 4.11). При успешном создании основы модуля открывается инфор- мационная панель, показанная на рис. 4.12. New Source Inf. on ; ‘ x| < Back | Finish | Cancel | Help | Рис. 4.12. Информационная панель параметров создаваемого исходного модуля проекта В этой панели отображается информация обо всех параметрах созданного моду- ля. Если необходимо изменить значение какого-либо параметра, то кнопка Назад 4 Зотов В.Ю.
98 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС (Back) позволяет вернуться к предыдущей диалоговой панели. Для завершения про- цесса создания нового исходного модуля следует нажать кнопку Готово (Finish) в нижней части информационной панели (рис. 4.12). После этого для большинства видов создаваемых модулей автоматически производится запуск программы пакета, которая используется для создания и редактирования соответствующего типа исход- ного описания проектируемого устройства. В окне исходных модулей добавляется пиктограмма, соответствующая типу нового модуля. Следует обратить внимание на то, что пока это только основа (заготовка) модуля исходного описания. Его содер- жимое формируется далее с помощью программы пакета, соответствующей типу созданного модуля, иапример, схемотехнического или текстового редактора, редак- тора диаграмм состояний StaleCad, генератора тестов HDL Bencher, редактора вре- менных и топологических ограничений Constraints Editor.
5. Создание модулей исходного описания проектируемого устройства 5.1. Методы описания проектируемого устройства, поддерживаемые пакетом WebPACK ISE Исходное описание проектируемого устройства может быть представлено в виде: • принципиальных схем; • описаний на одном из языков HDL; • диаграмм состояний и переходов между ними. Кроме того, допускаются смешанные способы описания, представля ющис собой сочетание перечисленных выше форм. САПР WebPACK ISE поддерживает все ука- занные методы описания разрабатываемого устройства и содержит программные средства создания соответствующих форм. Языки описания аппаратуры HDL в настоящее время становятся основным сред- ством представления цифровых устройств в процессе их проектирования. В значи- тельной степени это обусловлено такими взаимосвязанными факторами, как широ- кое применение программируемых логических интегральных схем в качестве элементной базы для создания цифровых систем, постоянным совершенствованием соответствующих инструментов синтеза и средств моделирования. Кроме того, при реализации больших проектов на базе ПЛИС проявляются ограничения схемотех- нического метода, которые снимаются при использовании языков высокого уровня VHDL и Verilog. Применение этих языков также повышает мобильность проектов, так как большинство систем проектирования поддерживает VHDL и Verilog. Поэто- му проекты, представленные в виде HDL-описаний, с минимальными изменениями переносятся из одной системы проектирования в другую. Необходимость такого переноса часто возникает при смене элементной базы для реализации проектируе- мого устройства. Появление в печати ряда работ [9-13], посвященных основам VHDL и Verilog и примерам их использования, облегчает разработчикам возмож- ность самостоятельного освоения этих языков. Для пакета WebPACK 1SE метод описания проекта с использованием языков HDL является основным. Учитывая, однако, что схемотехнический способ представления проектируемого устройства наиболее нагляден и привычен для разработчиков и поэтому широко практикуется, Далее подробно рассматривается процесс подготовки принципиальных схем и HDL- описаний. 5.2. Разработка схемотехнического описания проекта Для создания принципиальной схемы разрабатываемого устройства или его функциональных блоков необходимо выполнить процедуру подготовки основы по- й вого модуля исходного описания проекта, нажав кнопку I—на оперативной панели или выбрав команду №u* Source из раздела Project основного меню Навигатора
100 Зотов В. /О. Проектирование цифровых устройств иа основе ГЫМС проекта. В качестве типа нового модуля в открывшейся диалоговой панели, пока- занной на рис. 5.1, необходимо выбрать Schematic. New 4 .$£?•. U ser Document VHDL Module Scherrwhc VHDL Library VHDL Package VHDL Test Bench T est Bench Waveform Implementation Constraints File State Diagram File Name: |jc2 Location: | C: \Proiect\jcount I** £dd to project Next > I Cancel | Help Рис. 5.1. Создание новой принципиальной схемы Для примера, в проекте счетчика Джонсона jeount, подготовленном в предыду- щей главе, создадим принципиальную схему разрабатываемого устройства. Для это- го в диалоговой панели параметров нового модуля (рис. 5.1), укажем в качестве на- звания схемы jc2. При нажатии кнопки Далее (Next), расположенной в нижней части диалоговой панели» на экран выводится информационная панель, показанная на рис. 5.2, в которой указываются исходные параметры создаваемой схемы. New Source Information Project Navigator wiH create a new skeleton source w'th the following specifications: Source Type; Schematic Source Name: jcS.sch Source Directory: C:\Project\jcourt <jgack|[" Cancel | Hep | Рис. 5.2. Информационная панель исходных параметров создаваемой схемы
5. Создание модузеи исходного описании проектируемого устройства 10] После их подтверждения нажатием кнопки Готово (Finish) в нижней части ин- формационной панели открывается окно схемотехнического редактора пакета WebPACK. ISE, в строке заголовка которого отображается название новой схемы. 5.2.1. Создание новой схемы в среде редактора ECS Процесс создания принципиальной схемы проектируемого устройства в редак- торе ECS включает в себя выполнение следующих операций: • ввод символов элементов схемы; • выполнение необходимых соединений в виде проводников и шин, • ввод имен цепей и шин; • установка маркеров, определяющих назначение цепей, используемых для под- ключения "внешних" элементов или выводов ПЛИС; • ввод необходимых атрибутов; • формирование вспомогательных графических изображений и текстовых коммен- тариев на страницах схемы. Последняя из перечисленных операций нс является обязательной и используется для оформления документации в соответствии с принятыми нормами. Порядок выполнения операций может быть произвольным, но приведенная последователь- ность является наиболее целесообразной. Прежде чем непосредственно приступить к созданию схемы, рекомендуется пр о- верить и при необходимости установить параметры страницы. Для этого следует активизировать диалоговую панель общих параметров схемы, поместив курсор на поле чертежа и дважды щелкнув левой кнопкой мыши. Эта диалоговая панель со- держит два поля: списка параметров и таблицы значений (рис. 5.3). i Schematic Properties Category *1 Sheets Schematic Properties ~ Г ’» J C ; -. • order d the - $C 1' Number 1 Size C"22x17in Move Up I MoveDowrij Renumber | I 1 >. L | New.. | J Help | OK C = 22 x 17 h D - 34 x 22 n E = 44 x 34 in Dp = 22 x 34 in Ep 34 x 44 bn AO = 1189x841 mm A1 - 841 x 594 mm A2 ~ 594 x 420 mm AOp-841 x1189mm Д1 p = 594 x 841 mm Cancel | Apply Рис. 5.3. Диалоговая панель общих параметров схемы
102 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Изначально в панели представлен только один параметр - Sheets (Страницы). Таблица значений этого параметра состоит из двух столбцов. В первом столбце ука- зан номер страницы, а во втором - ее размеры. Для изменения формата страницы необходимо поместить курсор на поле выбора размеров и щелкнуть левой кнопкой мыши, в результате чего будет выведен список доступных значений этого параметра. Далее следует поместить курсор на строку списка, в которой указан требуемый формат страницы, и щелкнуть левой кнопкой мыши. После этого новые размеры страницы отображаются в соответствующем поле таблицы. Выполненные измене- ния параметров страницы вступают в силу после нажатия клавиши ОК, располо- женной в нижней части диалоговой панели. При открытии окна схемотехнического редактора активизирован основной ре- жим - выбора объекта, установленный по умолчания. В этом режиме осуществляет- ся выделение, перемещение и удаление элементов схемы, а также просмотр и редак- тирование их параметров. Для активизации режима ввода символов компонентов создаваемой схемы пред- назначена кнопка к'4**' на инструментальной панели, а также команда Symbol, кото- рая находится во всплывающем меню Add. Следует обратить внимание на то, что указанный режим автоматически включается при выборе символа на странице биб- лиотек Symbols в панели дополнительных параметров (рис. 5.4). Прежде всего, сле- дует выбрать нужную функциональную группу символов библиотеки компонентов в поле Categories на странице Symbols, поместив курсор на строку с ее названием и щелкнув левой кнопкой мыши. Если требуемая категория символов отсутствует в видимой части списка, то нужно воспользоваться элементами вертикальной про- крутки, расположенными с правой стороны поля выбора. Далее тем же способом в поле Symbols выбирается искомый компонент, после чего курсор мыши следует пе- реместить на поле чертежа. При этом к курсору мыши привязывается контурное изображение выбранного компонента, которое перемещается вместе с указателем. Для получения повернутого и/или зеркального изображения символа на поле черте- жа следует нажать кнопку активизации выпадающего списка возможных типов ори- ентации в правой части поля выбора Orientation и выбрать требуемый угол поворота и форму представления УГО щелчком левой кнопкой мыши на соответствующей строке списка. После этого контурное изображение символа, привязанное к курсору, примет выбранную ориентацию. Тот же результат может быть получен при исполь- зовании соответствующих кнопок инструментальной панели. Если на схеме требу- JIL ется поместить символ в зеркально отраженном виде, то нужно нажать кнопку .1 на инструментальной панели. Для получения изображения символа, повернутого на девяносто градусов по часовой стрелке относительно текущей ориентации, нсобхо- ди.мо воспользоваться кнопкой панели инструментов. Далее следует поместить указатель с изображением элемента в соответствующее место страницы схемы и зафиксировать его, щелкнув левой кнопкой мыши. В случае успешного выполнения указанных операций на поле чертежа появляется детальное изображение выбранно- го компонента (рис. 5.4).
5. Создание модулей исходного описания проектируемого устройства 103 Рис. 5.4. Расположение символов компонентов па поле чертежа После ввода символа курсор по-прежнему сохраняет контурное изображение элемента, поэтому если в схеме используется несколько экземпляров текущего вы- бранного компонента, то нужно поместить указатель на место предполагаемого ра с- положения следующей копии УГО и вновь щелкнуть левой кнопкой мыши. Завер- шив ввод текущего компонента, следует повторить рассмотренную выше процедуру выбора символа из списка для следующего элемента схемы, переместив курсор мы- ши на страницу библиотек символов в панели дополнительных параметров (рис. 5.4). Аналогичным образом размещаются на поле чертежа все компоненты схемы. Описание основных групп унифицированных библиотечных элементов схе- мотехнического редактора представлено в Приложении 1. При попытке выполнения недопустимого расположения символа его изображение нс фиксируется на поле чер- тежа, и выводится окно сообщения об ошибке. Возможны следующие ошибки рас- положения символов: изображение компонента выходит за пределы страницы, один из контактов вводимого символа накладывается на контакт уже имеющегося компо- нента или иа место пересечения двух нссосдиняющихся проводников. Для выклю- чения режима ввода компонентов нужно нажать кнопку на инструментальной панели, в результате чего будет автоматически установлен основной режим работы схемотехнического редактора. При вводе символов компонентов схемы следует обратить внимание на возмож- ность установки входных (1BUF), выходных (OBUF) или двунаправленных (1OBUF) буферных элементов в цепях, подключаемых к выводам кристалла. Если эти элемен- ты нс были установлены в схеме, то необходимо при синтезе указать режим их ав- томатического подключения.
Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС 104 Следующий шаг в процессе создания схемы - выполнение всех необходимых со- единений. Для этих целей в редакторе ECS используются проводники (Wire) и шины nJ (Bus). Включение режима ввода проводников производится нажатием кнопки ."I на инструментальной панели или при выборе команды Wire из выпадающего меню Add. Формирование цепи начинается с фиксации стартовой точки, которая может располагаться на свободном месте поля чертежа или совпадать с контактом вывода одного из компонентов. Для этого следует поместить курсор мыши в требуемую точку на поле чертежа и щелкнуть левой кнопкой мыши. Дальнейшая последова- тельность действий зависит от режима трассировки цепей на изображении схемы, который выбирается с помощью кнопок на странице Options в панели дополнитель- ных параметров (рис. 5.5). Если кнопка Use the Manual method to add single line segments between the points you indicate находится в нажатом состоянии, то установ- лен режим ручной трассировки цепей на изображении схемы. При этом после фик- сации начальной точки цепи следует переместить курсор мыши в позицию, соответ- ствующую точке изгиба, соединения с другим проводником или контактом компо- нента, а также конечной точке цепи. При этом формируемый сегмент цепи отобра- жается штриховой линией. Фиксация сегмента осуществляется щелчком левой кнопкой мыши в конечной точке, после чего новый фрагмент цепи отображается основной линией (рис. 5.5). aew Iook t**> , __ ____ ’_• огвввг]р ,,eieixx«i,i3jjiScf:5.sen S " XOXDA И 5 M - -Л. JsJ Options I Symbol) I AddWieOptfcnt ' FJKC Whertyouadeauw. r Г UMtheAr/aoutertoadd I onaorncwfnesejynerts J between the point» you I bScato j Л lhe teManud method to I add Ьв segments I I - between the points you Mcaie Use a pest-dag-гёеме action to specify esntfe par tf trie ports Lhe a <3kX • dek acSon to sped? a corrected sequence d тяв ports T emnate the sequence Mtb a dxblecfck P«ad/ Рис. 5.5. Соединение компонентов схемы с помощью проводников (цепей) Далее при необходимости следует продолжить формирование текущей цепи, пе- реместив указатель мыши на конечную позицию следующего сст мента. Завершение
5. Создание модулей исходного описания проектируемого устройства 105 формирования цепи осуществляется двойным щелчком левой кнопки мыши после фиксации последнего сегмента цепи. Таким образом, в режиме ручной трассировки формирование цепи производится перемещением указателя мыши по полю чертежа с фиксацией щелчком левой кнопки мыши всех изгибов и точек соединения с ком- понентами и другими цепями схемы. Режим автоматической трассировки цепей на изображении схемы активизирует- ся при нажатии кнопки Use the Autorouter to add one or more line segments between lhe points you indicate, расположенной на странице Options в панели дополнитель- ных параметров. Б этом режиме фиксируются только начальная и конечная точки цепи, а точки изгиба формируются автоматически. Чтобы добавить новый сегмент к созданной ранее цепи, следует расположить курсор на любом ее участке и щелкнуть левой кнопкой мыши, после чего в этой позиции ото- бразится точка, отмечающая соединение двух цепей. Далее следует повторить рассмот- ренные выше действия. Для соединения формируемой цепи с ранее созданной нужно установить конечную точку одного из сегментов новой цепи непосредственно на изо- бражении существующего проводника. После щелчка левой кнопкой мыши в позиции пересечения появляется точка - символ объединения цепей. Для формирования соединений элементов схемы в виде шин необходимо выпол- нить следующую последовательность действий. Вначале в режиме ввода проводни- ков создается графическое изображение шины в виде фрагмента одиночной цепи в соответствии с инструкциями, рассмотренными выше. До тех пор, пока нс задано название шины в соответствующем формате (с указанием разрядности или перечис- лением проводников), она отображается сплошной тонкой линией, как одиночная цепь. Затем следует перейти в режим формирования отводов шины, нажав кнопку на панели инструментов или выполнив команду Bus Тар из выпадающего меню Add. При этом к курсору присоединяется изображение отвода шины. Символ отвода шины может быть подключен к вертикальному или горизонтальному сегменту ши- ны. Для получения нужной ориентации изображения отвода шины следует восполь- зоваться группой кнопок, расположенных на странице Options в панели дополни- тельных параметров. Если в нажатом состоянии находится кнопка Left, то изобра- жение отвода шины сориентировано так, что контакт для подключения проводника находится справа, а для присоединения к шине — слева. При нажатии кнопки Right справа располагается сторона для присоединения к ши нс, а слева - контакт для под- ключения цепи. Нажатое состояние кнопки Тор соответствует ориентации символа отвода шины, при которой контакт для подключения проводника располагается вни- зу, а сторона, присоединяемая к шине - вверху. При нажатии кнопки Bottom уста- навливается ориентация противоположная по отношению к задаваемой кнопкой То. Для изменения ориентации символа отвода шипы можно также воспользоваться .. Гд средствами инструментальной панели: кнопкой ——I. позволяющей получить зер- .. Q калыю отраженное изооражснис, или кнопкой —J. при каждом нажатии которой осуществляется поворот изображения на девяносто градусов по часовой стрелке. Далее нужно указать точку подключения проводника к шине, расположив на ней курсор и щелкнув левой кнопкой мыши. При этом символ отвода присоединяется к
106 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС изображению выбранной шины (рис. 5.6). Сформировав, таким образом, все отводы шины, производится их соединение с соответствующими цепями схемы. Подключе- ние цепей к отводам шины осуществляется в той же последовательности операций, которая была рассмотрена выше в процессе выполнения соединений компонентов схемы посредством обычных (одиночных) цепей. Соединение двух шин и формиро- вание новых сегментов шин осуществляется так же, как и для обычных цепей, в режиме ввода проводников. После подключения проводников к отводам шины производится присвоение соответствующих названий этих цепей. [.-:№xKS-tK2.sd>l jJOJXl gt» ЮЛ Ип*» И» _______ _ ____ ' ___ (о £н оtv ]| >а ях х ч ct я % в о 1 pwi.ioitf л Рис. 5.6. Формирование соединений схемы в виде шип Разрабатывая схему в редакторе ECS, прежде всего, необходимо установить названия цепей, входящих в состав шин, используемых для соединений с "внешними” элементами или контролируемых в процессе последующего моделирования и анализа временных соотношений. При создании новой цепи схемотехнический редактор автоматически ус- танавливает ее названия в виде XLNX_number, где number - порядковый номер цепи. Названия цепей, присвоенные автоматически редактором ECS, нс отображаются на поле чертежа. Рекомендуется присваивать названия, отражающие функциональное назначение цепи. В состав названия цепи могут входить прописные и строчные буквы латинского алфавита (А - Z, а - z), цифры (0-9), а также символ подчеркивания Название долж- но начинаться с буквы или цифры и может состоять только из цифр. Длина названия нс должна превышать 255 символов. Чтобы включить режим ввода названия цепей, следует нажать кнопку I..72-1 на панели инструментов или выбрать пункт Add в основном ме- ню, а затем в соответствующем всплывающем меню - строку Net Name. В этом ре- аЬс
5. Создание модулей исходного описания проектируемого устройства 107 жиме страница Options панели дополнительных параметров схемотехнического ре- дактора имеет вид, показанный иа рис. 5.7. __________________JaJjsi ft В Ш | Ojrforu |syrtbote| Add Nd Name ОрЬога . V/henyouckck. ora branch (• Nene lhe branch Г Nanefa bench's not C Pek 45 a we by cSc*.rs one bench Г Pick цз’гнпе* of but । rmrribertbycfckngonabus Selected Bui Nere I------------------ las 2~" -i-i [2Xi^№) , Поле ввода названия цепи Рис. 5.7. Ввод названий цепей и шин С помощью кнопок, расположенных на этой странице, следует выбрать способ ввода названий цепей. При этом необходимо учитывать, что если на схеме присутст- вуют два или более проводника с одинаковыми названиями, но не имеющие точек соединений, то они объединяются электрически в одну цепь. В этом случае считает- ся, что цепь состоит из нескольких ветвей. При нажатой кнопке Name the branch устанавливается название одной (выбранной) ветви цепи. Если кнопка Name the branch's net находится в нажатом состоянии, то одно название присваивается всем ветвям цепи. Для цепей, состоящих из одной ветви, при фиксации любой из этих двух кнопок получается один и тот же результат. После выбора одной из этих кно- пок следует активизировать поле ввода имени цепи, поместив на него курсор и щелкнув левой кнопкой мыши. Название цепи набирается в этом поле с помощью клавиатуры. Кнопки, расположенные справа от поля ввода названия цепи, позволяют уменьшить или увеличить значение индекса, если он используется в имени цепи. Введенный текст названия привязывается к курсору мыши при перемещении по- следнего на поле чертежа схемы. Далее необходимо поместить указатель на изобра- жение соответствующей цепи и щелкнуть левой кнопкой мыши. При отсутствии ошибок название цепи отображается рядом с ее изображением, в позиции, зафикси- рованной при щелчке левой кнопки мыши (рис. 5.7). Наличие маркера на поле ин- дикатора Display the name on the branch where you click even if the branch’s net name is
108 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС already displayed somewhere on the branch указывает на возможность установки не- скольких изображений названия на различных участках цепи. Расположение нового экземпляра названия указывается щелчком левой кнопки мыши в соответствующей точке цепи. Для изменения состояния индикатора на противоположное достаточно щелкнуть левой кнопкой мыши на его изображении. Для ввода названия цепи также можно воспользоваться кнопкой Pick up а пате by clicking on a branch, которая позволяет считать название выбранной ветви цепи на схеме и отобразить его в поле ввода имени цепи. Для выбора цепи (после фиксации этой кнопки) следует поместить курсор мыши на ее изображение на схеме и щелк- нуть левой кнопкой мыши. После этого название, считанное в поле ввода, может быть отредактировано и присвоено другой ветви или цепи. Кнопка Pick up names of bus members by clicking on a bus net выполняет аналогичную функцию для шины. Кроме рассмотренных выше, на странице Options панели дополнительных парамет- ров присутствует группа кнопок, которые определяют состояние поля ввода имени цепи после выполнения операции присвоения. Если зафиксирована кнопка Keep the пате, то присвоенное название сохраняется в поле ввода имени цепи. При нажатой кнопке Increment the пате значение индекса в названии цепи автоматически увели- чивается на единицу после его применения, а при Decrement the name - уменьшается на единицу. Если выбрана кнопка Clear the пате, то поле ввода имени цепи очища- ется после его использования. Названия шин устанавливаются в том же режиме и той же последовательности, что и имена цепей. При этом нужно обратить внимание на то, что в схемотехниче- ском редакторе ECS различаются два типа шин: упорядоченные и неупорядоченные. В упорядоченной шине все проводники имеют одно и то же имя, совпадающее с названием шины, и соответствующий порядковый номер. В состав неупорядоченной шины входят цепи с произвольными названиями. Для упорядоченной шипы назва- ние задается в формате <имя шины» («конечный номер проводника в шине»:«начальный номер проводника в шине»), например, DATAJN(5.0). Названия проводников упорядоченной шины указываются в формате «имя шины» («номер проводника в шине»), например, DATA_1N(4). Формат имени неупорядоченной шины имеет следующий вид «имя цепи 1», «имя цепи 2»[, «имя цепи 3».«имя цепи N»], например, CLOCK,RESET,SETUP. Названия отводов неупорядоченной шины совпа- дают с соответствующими именами цепей, входящими в состав названия шины. После формирования цепей, предназначенных для соединений с другими схема- ми и контактами кристалла, и присвоения им соответствующих названий необходи- мо установить маркеры, определяющие назначение этих цепей и направление пере- дачи данных по ним. Маркер присоединяется к свободной конечной точке цепи. Для включения режима ввода маркеров цепей следует нажать кнопку LSLi на панели ин- струментов или выполнить команду I/O Marker из выпадающего меню Add, после чего к курсору привязывается изображение маркера. Его тип (входной, выходной или двунаправленный) указывается с помощью группы кнопок с зависимой фикса- цией, расположенных на странице Options панели дополнительных параметров
5 Создание модулей исходного описания проектируе чого устройства 109 (рис. 5.8). Здесь же находится поле выбора ориентации изображения маркера на схеме. По умолчанию установлен режим автоматической ориентации Automatic, при котором маркер располагается в направлении продолжения сегмента цепи, к которо- му он присоединяется. При необходимости можно явно указать ориентацию марке- ра, выбрав соответствующее значение из выпадающего списка, который содержит следующие элементы: Automatic, Down, Left, Right, Up. Значения Left соответствуют расположению маркера слева от конечной точки цепи, Right - справа, Down - вниз, Up — вверх. Выбор требуемого типа маркера производится щелчком левой клавиши мыши на изображении соответствующей кнопки. Если требуется установить маркер входной цепи, следует нажать кнопку Add an input marker, выходной - кнопку Add an output marker, двунаправленной — Add a bidirectional marker. Кнопка Remove the marker используется для удаления маркера из схемы. Для установки маркера нужно поместить указатель на свободную конечную точку цепи и щелкнуть левой кнопкой мыши (рис. 5.9). При успешном выполнении операции к цепи присоединяется изо- бражение маркера, внутри которого отображается ее название. В случае обнаруже- ния ошибки (например, при неправильном расположении маркера) маркер нс уста- навливается и на экран выводится окно сообщений об ошибках, в котором отобра- жается соответствующая информация. ТлХйпмЮ» - IfcZ.ich] *•'. _ |Д| к| tdt’tfra ДО Хоей Wrdow b* _ _|g|x| isi asoj iк।a’?. >o\oA‘n]Q*u ✓ ; ** MtЮНакмСДОч Whsrt you efek ren №e «nt et c torch *ta* do you w*ilo do? fcddanrpctrMAw C Addenomwrfwtat C Md 0 MtMcr-elrtMe C Remove fa motor Mmyou add an <0 ratal w . honertaWnMat&ectaiiiMn { comedian pcH в Io fa - (dutoraiic *| In addmn ic ckKrgon a hexh CTid pant you can fag a raclangle sourd one о note torch «rd portstoaddb «neve lOrataa d fate ports Ready {6»,1221] Рис. 5.8. Установка маркеров цепей Чтобы изменить тип маркера после его установки, следует перейти в режим вы- деления объектов, нажав кнопку на панели инструментов, поместить курсор на его изображение и дважды щелкнуть левой кнопкой мыши. При этом на экран выво- дится диалоговая панель установки и редактирования атрибутов цепи (рис. 5.9). В таблице атрибутов имеется строка параметра PortPolarity, который определяет
по Зотов В. /О, Проектирование цифровых устройств на основе ПЛИС характер цепи: входная (Input), выходная (Output) или двунаправленная (Bidirec- tional). Для выбора нужного типа маркера необходимо активизировать поле значения параметра PortPolarity, поместив на него курсор и щелкнув левой клави- шей мыши, после чего в его правой части появляется кнопка управления выпадаю- щим списком. Нажав эту кнопку, следует в предложенном списке выбрать требуе- мый тип маркера, щелкнув левой кнопкой мыши на строке с его названием. Вы- бранный тип маркера автоматически отображается в поле значения параметра PortPolarity. Выполненные изменения подтверждаются нажатием кнопки ОК в ниж- ней части диалоговой панели. Если проводники схемы, используемые для соедине- ний с другими схемами и контактами кристалла, сгруппированы в шины, то маркер может быть установлен непосредственно в конечную точку шины. Последователь- ность действий, выполняемых в процессе маркировки шип, аналогична процедуре установки маркера для одиночной цепи. Поле выбора значения Название атрибута атрибута PortPolarity : Object Properties : ; ‘'*У, . х| ОК | Саюе| | , £рр1у | Help Рис. 5.9. Изменение типа маркера цепи Для внесения в схему дополнительной информации, которая впоследствии использу- ется различными программами пакета WebPACK ISE, в схемотехническом редакторе применяются атрибуты. Они могут представлять информацию о библиотеке символов, электрических характеристиках, ограничениях, параметрах размещения и трассировки, директивах трансляции и оптимизации. Различают следующие основные группы атрибу- тов в редакторе ECS: атрибуты компонентов, цепей и контактов. Для их определения и редактирования в выпадающем меню Edit предусмотрена строка Object Properties, от- крывающая диалоговую панель, вид которой показан на рис. 5.9. Процесс изменения значений установленных атрибутов рассмотрен выше при описании процедуры
5. Создание модулей исходного описания проектируемого устройства 111 определения типа маркера для интерфейсной пени. Чтобы добавить новый атрибут в таблицу параметров, расположенную на диалоговой панели, следует нажать кноп- ку New в правой части этой панели. В результате на экране монитора отображается панель создания новых атрибутов (рис. 5.10), в которой необходимо указать назва- ние создаваемого атрибута (Attribute Name), его значение (Attribute Value) и тип (Attribute Value Туре). Для этого нужно активизировать соответствующее поле выбо- ра или редактирования (рис. 5.10), поместив на него курсор и щелкнув левой кноп- кой мыши, а затем ввести с клавиатуры текст названия или значение параметра. На- звание атрибута также можно выбрать из выпадающего списка, активизируемого при нажатии кнопки управления, расположенной у правой границы поля Attribute Name. Тип значений атрибута выбирается из выпадающего списка, который откры- вается при нажатии кнопки управления в поле Attribute Value Туре. Создание нового атрибута завершается нажатием кнопки ОК в нижней части панели, после чего сформированный атрибут и его значение автоматически добавляются в таблицу па- раметров (рис. 5.9). Учитывая, что в пакете WebPACK ISE имеются более эффектив- ные средства представления информации, указываемой в атрибутах, как, например, редактор временных и топологических ограничений, файлы UCF, подробнее этот вопрос будет рассмотрен позже, при описании этих средств. New Attribute Attribute £Jdme wtnbute Value Attribute Vduelyp»______________ | String ' — F Renwnber this ettrbute name | OK I Cancel | Де» | Пеле выбора/редактирования названия создаваемого атрибута -Поле ввода значения создаваемого атрибута 3 •Поле выбора типа значения создаваемого атрибута Рис. 5.10. Панель создания новых атрибутов Для удобства работы со схемой и отчетами о выполнении последующих этапов проектирования рекомендуется задать позиционные обозначения (имена) для ком- понентов схемы. Режим ввода позиционных обозначений компонентов включается при выборе команды Instance Name из выпадающего меню Add или нажатии кнопки J1 -L_ на панели инструментов. Далее необходимо в поле редактирования Name, рас- положенном на странице Options панели дополнительных параметров (рис. 5.11), ввести с клавиатуры текст обозначения компонента. После этого нужно располо- жить курсор на изображении соответствующего компонента и щелкнуть левой кнопкой мыши. Изменение установленного позиционного обозначения выполняется тем же способом.
112 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС ,f-XlbfV<ECS-[k2^di] JgFta £dt Им ДО Jeds Wkwfow ДО I!'d за0&jt? [|jr ip- -• н 7a axx ms |j gerg ]]*.1 -j*t %? ь s!sF" >oxaA|rao - ш>| Ready .=131*1 J»L*J Поле ввода/редактироеания позиционных обозначений компонентов Рис. 5.11. Ввод позиционных обозначений компонентов схемы Оформление схем в соответствии с общепринятыми требованиями осуществля- ется с помощью средств ввода текста и различных графических примитивов. Так как эти элементы не влияют на последующие процессы размещения и трассировки про- екта в кристалл (не несут никакой информации) и используются в основном для подготовки документации, то процесс их создания рассматривается кратко. Режим формирования графических примитивов включается при нажатии соответствующих кнопок на инструментальной панели или при выборе команд рисования из выпа- дающего меню Add. Кнопка угольника. -дуги, задаст режим вычерчивания линии, - прямо- - окружности. Далее в этих режимах курсором указыва- стся начальная точка и размер графического элемента, а фиксация рисунка произво- дится щелчком левой кнопки мыши. Для ввода текста следует использовать кнопку д] --- на панели инструментов или выбрать пункт Add в основном меню, а затем в соответствующем всплывающем меню - строку Text. Далее на сграницс Options па- нели дополнительных параметров, которая приобретает вид, приведенный на рис. 5.12, нужно активизировать поле редактирования текста Text Value, поместив на него курсор и щелкнув левой кнопкой мыши.
5. Создание модулей исходного описания проектируемого устройства 113 Требуемая последовательность символов набирается с помощью клавиатуры. При этом можно изменить размер шрифта, используя поле выбора Text Size. Для это- го следует нажать кнопку управления выпадающим списком, которая находится в этом поле, и затем щелкнуть левой кнопкой мыши на строке, содержащей требуемое значение размера шрифта. Если это значение отсутствует в видимой части выпа- дающего списка, то следует воспользоваться элементами вертикальной прокрутки, которые расположены вдоль правой границы списка. После ввода текстовых симво- лов и выбора размера шрифта нужно курсором указать расположение текста на поле чертежа и зафиксировать его щелчком левой кнопки мыши. . • ======== _1«1 ’ Options | Symbols | Add Text Options T ext Value____________ |Text_Vaue —___ Text Size ; [Щ ' - - i i Поле редактирования текста Поле выбора размера шрифта Рис. 5.12. Вид панели дополнительных параметров в режиме ввода текста После завершения чертежа схемы необходимо выполнить се проверку. Часть воз- можных ошибок обнаруживается уже в процессе создания схемы. Но полный контроль может быть выполнен только для законченной схемы. Для проверки разра- ботанной схемы предназначена команда Check Schematic, которая располагается в выпадающем меню Tools, а также кнопка на инструментальной панели схемо- технического редактора. В процессе верификации осуществляется контроль целост- ности схемы и выполнения правил электрических соединений. На этом этапе выяв- ляются такие ошибки, как неподключенные цени, контакты и отводы шины, а также ошибки, возникающие при соединении выходов нескольких компонентов. После выполнения проверки открывается окно отчета, вид которого показан на рис. 5.13. В этом окне отображаются сообщения об ошибках и предупреждения с указанием цепи или компонента, с которым они связаны.
Заключительным шагом в процессе разработки схемы является ее сохранение в виде файла на диске. Для этого следует использовать команду Save из всплывающего меню File или кнопку I I, расположенную на оперативной панели управления. В качестве примера, в проекте счетчика Джонсона jeount, подготовленном в пре- дыдущей главе, создадим принципиальную схему разрабатываемого устройства (рис. 5.14). Рис. 5.14. Принципиальная схема счетчика Джонсона, выполненная в редакторе ECS
5. Создание модулей исходного описания проектируемого устройства 115 5.2.2. Редактирование схемы в среде программы ECS В процессе разработки схемы часто используется ряд ключевых операций, кото- рые необходимы для редактирования формируемого изображения. К числу таких операций относятся процедуры удаления, перемещения и копирования элементов схемы. Большинство этих процедур выполняется в режиме выбора объекта схемо- технического редактора ECS, который автоматически активизируется при отмене большинства операций или включается при нажатии кнопки на панели инстру- ментов. В этом режиме также можно быстро получить информацию о любом эле- менте схемы, поместив на его изображение курсор мыши. С небольшой задержкой рядом с этим изображением появляется всплывающая панель, которая содержит данные, относящиеся к этому элементу (рис. 5.15). Эта панель автоматически исче- зает при перемещении курсора мыши. .-J4I2S1 _________ -jejxl 5: a. 5 li 1 Ес$хйпм ks - (jczjch] Cdi V5e*« Add Jpcfe Jjfndow tjdp ypt3G»ga>i?[j|x « - IB -gtf j|x 1 tJ «t Щ Г- S; S " > О \ □ A HI ; H v ’ tc2ich |~ Ready ----------- . . JjS| Opbom | Syntax | | SeUcI Options I When you tick on a branch f* Select the ertre branch Г Select he ine seomeni When you move an ettee1 f* Keep "he connections to Othor objects l Г Creek the connecter? to clher objects When you и e the ««select led. select rhe objects llat <• Are enclosed by the area Г Intersect the area When you use the area select tod. select <• Objects exduding attribute windows C AMbde vendovrs orfci 124Ю.9О9] ' Рис. 5.15. Вид основного окна схемотехнического редактора ECS в режиме выбора объекта Выполнение операций редактирования начинается с указания соответствующего объекта. Для выделения одиночного элемента схемы нужно поместить курсор на его изображение и щелкнуть левой кнопкой мыши. Если нужно выделить цепь, то пред- варительно следует выбрать режим выделения с помощью группы кнопок, располо- женных па странице Options панели дополнительных параметров. При нажатой кнопке Select the entire branch цепь (ветвь) выделяется полностью. Если в нажатом состоянии зафиксирована кнопка Select the line segment, то выделяется то 1ько тот
116 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС сегмент цепи, на котором расположен курсор мыши. Чтобы выделить группу эле- ментов, следует расположить указатель в позиции, соответствующей одному из уг- лов прямоугольного фрагмента схемы, в котором они расположены, и нажать левую кнопку мыши. Далее, не отпуская левую кнопку и перемещая мышь, необходимо растянуть прямоугольный контур до таких размеров, чтобы он охватывал требуемый фрагмент схемы. После этого нужно освободить левую кнопку мыши, в результате чего все элементы указанного фрагмента будут выделены красным цветом. Группа кнопок, которые находятся на странице Options панели дополнительных парамет- ров, позволяет уточнить, какие элементы будут выделены при выполнении этой опе- рации. Если нажата кнопка Are enclosed by the area, то выделяются только объекты, полностью охватываемые прямоугольным контуром. При нажатой кнопке Intersect the area в выделенную группу попадают также объекты, частично охватываемые прямоугольным контуром (пересекающие его). Для отмены выделения следует щелкнуть левой кнопкой мыши на свободном поле чертежа. Чтобы удалить выбранный элемент или фрагмент схемы, необходимо нажать клави- шу Del на клавиатуре, или выбрать пункт Edit в основном меню, а затем в соответст- вующем всплывающем меню - строку Delete. Можно также воспользоваться командой ПГ Cut из меню Edit или кнопкой L£_I, расположенной на панели инструментов. При этом удаляемая часть схемы помещается в буфер обмена и впоследствии может быть вставлена в соответствующее место текущей или другой страницы чертежа. Для копирования выделенного элемента или фрагмента схемы в буфер обмена Я нужно нажать кнопку 1. расположенную на оперативной панели, или выполнить команду Сору из всплыЬающего меню Edit. Чтобы вставить копию содержимого Ёрц . буфера обмена на поле чертежа, следует воспользоваться кнопкой L~S_I на оператив- ной панели или выбрать команду Paste из всплывающего меню Edit, после чего к курсору привязывается копируемое изображение. Далее необходимо указать курсо- ром место расположения полученной копии на поле чертежа и зафиксировать сс ле- вой кнопкой мыши. Перемещение выделенного элемента или фрагмента схемы на поле чертежа мо- жет осуществляться в двух режимах: с сохранением всех соединений и с разрывом связей с остальной частью схемы. Режим перемещения указывается с помощью кнопок, расположенных на странице Options панели дополнительных параметров. Если в нажатом состоянии находится кнопка Keep the connections to other objects, to выделенные объекты перемещаются с сохранением всех соединений с остальной частью схемы. При нажатой кнопке Break the connections to other objects все связи выделенных объектов с другими элементами схемы разрываются. Для перемещения выбранной части схемы на поле чертежа нужно поместить курсор на изображение одного из выделенных элементов, нажать левую кнопку мыши и, передвигая мышь, выбрагь новое положение перемещаемой части схемы. Повое положение фрагмента фиксируется при отпускании левой кнопки мыши. Чтобы отменить изменения в схеме, выполненные на текущем и предыдущих шагах редактирования, следует воспользоваться командой Undo из всплывающего
5. Создание модулей исходного описания проектируемого устройства 117 на оперативной панели управления. Для повторения меню Edit или кнопкой отмененных операций предназначена команда Redo из всплывающего меню Edit или оперативной панели. кнопка Для удобства работы со схемой в процессе редактирования рекомендуется ис- пользовать кнопки оперативной панели, управляющие масштабом изображения в рабочей области редактора ECS, или соответствующие команды из всплывающего меню Zoom, доступ к которому открывает пункт View основного меню. 5.2.3. Создание нового символа в редакторе ECS При построении иерархических описаний встает задача создания нового символа (УГО), для представления в схеме функциональных блоков более низкого уровня иерархии. Схемотехнический редактор ECS предоставляет возможность автомати- ческого формирования символов. "Мастер" автоматического создания символа за- пускается при выборе команды Symbol Wizard из выпадающего меню Tools. При вы- полнении этой операции на экран выводится диалоговая панель, в которой необхо- димо указать способ определения входов, выходов, двунаправленных выводов и форму создаваемого символа (рис. 5.16). Symbol Wizard I Next > Cancel Рис. 5.16. Диалоговая панель "мастера” автоматического создания символов Прежде всего нужно выбрать способ описания выводов формируемого символа с помощью группы кнопок Pin Name Source, расположенных в диалоговой панели. При нажатии кнопки Using Schematic информация о выводах нового УГО извлекает- ся автоматически из схемы, название которой указано в соответствующем поле ре-
118 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС дактирования. В большинстве случаев рекомендуется использовать этот способ, так как он позволяет сократить время создания нового символа. Кнопка Specify Manually позволяет выбрать режим "ручного" описания выводов. Для определения геометри- ческой формы создаваемого УГО предназначена группа кнопок Shape (рис. 5.16). Если в нажатом состоянии находится кнопка Do not Use Reference Symbol, то форма выбирается с помощью кнопок Rectangle (прямоугольник) или Square (квадрат). При нажатии кнопки Use Reference Symbol создаваемый УГО имеет форму, аналогичную символу, название которого представлено в поле выбора. Чтобы указать название файла для символа, используемого в качестве образца, следует воспользоваться стандартной панелью диалога открытия файла, которая выводится при нажатии кнопки Browse. После выбора нужных опций необходимо нажать кнопку Далее (Next), расположенную в нижней части диалоговой панели (рис. 5.16), в результате чего открывается следующая панель, вид которой показан на рис. 5.17. Symbol Wizard , < Rack I Next > I Cancel Pnc. 5.17. Диалоговая панель ввода и редактирования исходных параметров УГО "мастера" автоматического создания символов Эта панель содержит поле Symbol Name, в котором указывается название форми- руемого символа, и таблицу описания выводов (контактов) Pin. Если был выбран режим "ручного" описания выводов, то необходимо активизировать поле редактиро- вания Symbol Name, поместив на него курсор и щелкнув левой кнопкой мыши, после чего ввести с клавиатуры название создаваемого УГО. При автоматическом способе описания выводов название УГО, совпадающее с названием соответствующей схе- мы, отображается в ноле Symbol Name и не может быть изменено. Таблица описания выводов Pin содержит четыре колонки. В первой указывается обозначение вывода
5. Создание модулей исходного описания проектируемого устройства ’ 119 Name, во второй - его тип Polarity (вход, выход, двунаправленный), в третьей - сто- рона символа, с которой он расположен, Side (левая или правая), в четвертой - по- рядковый номер Order. В режиме "ручного" описания контактов следует для каждо- го вывода нажать кнопку Add в диалоговой панели (рис. 5.17), в результате чего в таблице Pin добавляется пустая строка. В новой строке нужно поочередно активи- зировать каждое поле, поместив на него курсор и щелкнув левой кнопкой мыши, и установить требуемое значение соответствующего параметра. В автоматическом режиме таблица выводится уже заполненной. В ней только можно изменить распо- ложение вывода Side и его порядковый номер Order. Выполнив все необходимые изменения в диалоговой панели (рис. 5.17), следует нажать кнопку Далее (Next), расположенную в нижней части, после чего открывается очередная диалоговая па- нель "мастера", которая приведена на рис. 5.18. < Back I NeH > | Cancel Рис. 5.18. Диалоговая панель установки геометрических параметров УГО "мастера" автоматического создания символов В этой панели содержатся параметры, определяющие основные размеры форми- руемого УГО. Для каждого из этих параметров в поле выбора указано значение, ус- тановленное по умолчанию. Если требуется его изменить, следует воспользовагься кнопкой управления выпадающим списком допустимых значений, в котором затем выбирается нужный элемент. В поле выбора Symbol Name Font Size задастся размер шрифта названия символа, отображаемого на поле чертежа. Значение поля Pin Name Font Size определяет раз- мер шрифта, используемого для обозначений выводов УГО. В полях выбора Pin Length и Pin Space соответственно указываются длина выводов символа н расстоя- ние между ними. Значение поля Pin Edge определяет размер отступа крайнего выво-
120 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС да от ближайшего угла основного поля УГО. В поле Symbol Width указывается ши- рина основного поля символа. В поле выбора Symbol Origin задается точка привязки изображения УГО к курсору мыши при его размещении на поле чертежа схемы. По умолчанию в качестве точки привязки используется левый нижний угол поля изо- бражения символа. После определения всех необходимых размеров УГО следует нажать кнопку Далее (Next) (рис. 5.18), в результате чего открывается информаци- онная панель в которой отображается изображение сформированного символа (рис. 5.19). Symbol Wizard f 2SJ < Back I; TiFSh J Cancel Рис. 5.19. Информационная панель "мастера" автоматического создания символов Если полученное изображение УГО не удовлетворяет предъявляемым требова- ниям, следует вернуться к предыдущим шагам его создания, используя кнопку На- зад (Back) информационной и диалоговых панелей (рис. 5.17-5.19). При получении приемлемого результата нужно нажать кнопку Готово (Finish) в нижней части ин- формационной панели (рис. 5.19), в результате чего открывается рабочее окно ре- дактора символов, в котором отображается автоматически сформированное изобра- жение УГО (рис. 5.20). Выполнив, при необходимости, все требуемые операции ре- дактирования, следует сохранить символ в виде файла на диске, после чего он может быть использован при создании схемы. Для лого следует использовать команду п| Save из всплывающего меню File или кнопку Lz^LI, расположенную на оперативной панели управления схемотехнического редактора. При этом символ также помеща- ется в рабочую библиотеку проекта.
5. Создание модулей исходного описания проектируемого устройства 121 ^XUMHECS-Ucz] -=Jnj2Sl Reedy Рис. 5.20. Окно схемотехнического редактора в режиме редактирования символа 5.3. Подготовка текстового описания проекта В текстовом формате могут создаваться описания проектируемого устройства и его функциональных блоков на языках HDL (VHDL, Verilog и Abel HDL), тестовых воздействий, временных и топологических ограничений. Ниже рассматривается процесс подготовки текстового описания проекта на примере формирования исход- ных модулей на языке VHDL. 5.3.1. Создание описания проектируемого устройства на языке VHDL Процесс создания VHDL-описания разрабатываемого устройства или его функциональных блоков начинается с выполнения процедуры подготовки основы нового исходного модуля проекта, которая активизируется кнопкой LJJ на оперативной панели или командой New Source из раздела Project основного меню Навигатора проекта. В качестве типа нового модуля в открывшейся диалоговой панели, показанной на рис. 5.21, необходимо выбрать VHDL Module.
122 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС New U ser D ocument VHDL Module Schematic VHDL Library VHDL Package VHDL Test Bench Test Bench Waveform Implementation Constraints File State Diagram file Name: ||c2_vhd( Location: | C:\Project\jcount F? Add to project <B-avi‘ | Next> | Cancel | Hefp | Рис. 5.21. Создание нового модуля VHDL-описания После ввода названия создаваемого модуля и нажатия кнопки Далее (Next) от- крывается диалоговая панель определения исходных данных VHDL-описания» вид которой показан на рис. 5.22. Define VHDL Source . 2Sj Entity Name Architecture Name I Behavioral Port Name Direction MSB LSB |-[ LEFT in RIGHT in STOP in. I CLK in 1 Q inow 3 3 3. •n 1 *n •s .in _ 1- in in in 1 i n ZT ~ < < Back | Newt > | Cancel | Help Рис. 5.22. Диалоговая панель определения исходных данных VHDL-описання
5. Создание модулей исходного описания проектируемого устройства 123 В поле редактирования Entity Name после его активизации необходимо указать имя описываемого объекта. По умолчанию предлагается идентификатор, совпадаю- щий с названием создаваемого модуля. Имя архитектурного тела VHDL-описапия указывается в поле редактирования Architecture Name. По умолчанию в качестве имени архитектурного тела предлагается идентификатор Behavioral. Далее следует заполнить таблицу описания портов, которая содержит четыре столбца. Ячейки пер- вого столбца представляют собой поле редактирования, в которое с помощью кла- виатуры заносится идентификатор порта Port Name. Во второй колонке указывается тип порта Direction. Каждая ячейка этого столбца представляет собой поле выбора, выпадающий список которого содержит три значения, определяющие тип порта: in (входной), out (выходной) или inout (двунаправленный). Колонки MSB и I SB запол- няются только для портов, представленных в виде шин и описываемых с помощью векторов. В столбце MSB указываются значения индекса, соответствующего стар- шему разряду вектора, а в LSB — младшему. Если описание портов нового модуля нс помещается в видимой части таблицы, следует воспользоваться элементами верти- кальной прокрутки, расположенными вдоль правой границы таблицы. После внесе- ния всех необходимых данных следует нажать кнопку Далее (Next) (рис. 5.22), в ре- зультате чего открывается панель, в которой отображается вся информация, на осно- ве которой выполняется формирование нового модуля VHDL-описания (рис. 5.23). New Source Information (Protect Navigator will create a new skeleton source with the following specifications Source Type: VHDL Module I Source Name: jc2_vhdl.vhd Entity Name: jc2_vhdl Architecture Name: Behavioral t Port Definitions: LEFT scalar in RIGHT scalar n STOP scalar in ( CLK scalar in Q vector: 3:0 inout Source Directory: CAProjectMcount < Back |Г Finish j Cancel | Hefr | Рис. 5.23. Информационная панель "мастера" подготовки VHDL-описания Если все данные, необходимые для создания нового VHDL-описания, указаны корректно, то далее нужно нажать кнопку Готово (Finish} в нижней части информа- ционной панели (рис. 5.23), в результате чего открывается новое рабочее окно
124 Зотов В. Ю, Проектирование цифровых устройств па основе ПЛИС встроенного HDL-редактора в котором отображается автоматически сформирован- ный код (рис, 5.24). Этот код включает декларацию используемых библиотек и паке- тов, интерфейса описываемого объекта entity и основу архитектурного тела VHDL- описания. pjc2_vhdl : " <1 Efe №_______________________________________________' _______________________________ В « ГЛ’ MIЛ % % Л _ libtaty IEEE; jJ 2 use IEEE.STD_LOGIC_1164.ALL: Э use IEEE.STD_LOGIC_ARITH.ALL; A use IEEE.STD_LOGIC_UNSIGNED.ALL: 5 6 — ’Jncoir/sent th* following lines to use the declarations that ace 7 ... provided for instantiating Xilinx rriieitivc coarpenents. В — library UNISIH; 0 —use UNISI?l.VCoiaponents.aJ.l; 10 11 entity jc2_vhdl is 12 Port ( LEFT : in std_logic; 13 RIGHT : in std logic; 14 STOP : in scd_logic; 15 CLK : in std_logic; 16 Q : inout std_lQgic_vector(3 downto 0>); 17 end jc2_vhdl; IB Ю architecture Behavioral of jc2_vhdl is 20 21 begin 22 23 24 end Behavioral: 25 Л1___I ш For Help, press Fl Plij Рис. 5.24. Рабочее окно встроенного HDL-редактора, содержащее результаты работы "мастера" подготовки VHDL-описания Для получения законченного описания иа языке VHDL необходимо основу архи- тектурного тела дополнить кодом, описывающим внутреннюю структуру или пове- дение объекта. Текст описания вводится с помощью клавиатуры или шаблонов встроенного HDL-редактора пакета WebPACK 1SE. Механизм использования шаб- лонов HDL-описаний рассматривается в следующем разделе. После завершения формирования модуля текстового описания следует сохранить его в виде файла на диске, используя команды Save или Save As из всплывающего меню File или кнопку I^H. расположенную на оперативной панели управления На- вигатора проекта. В качестве примера на рис. 5.25 показано рабочее окно встроенного HDL- редактора, в котором приведен полный текст описания счетчика Джонсона jeount.
5. Создание модулей исходного описания проектируемого устройства 125 Пкг.укл № ЕД_______________________ Q I У Р ! ю -2 «1Л % % ч 1 library ZEKE; 2 use IXBE.scd_logic_1164.all; 3 4 entity jc2_cop is 5 port ( О LEFT ; in STO_LCCIC; 7 RIGHT : in S“D_LOGIC; В STOP : in ST3_L0GIC; © CLK ; in STD_1CCIC; 10 Q : incut STD_LOGIC_VZCTCR (3 dcunco 0) : "0000" ); 12 end jcZ_top; 13 14 architecture jc2_tcp_arch of 3c2_top is 15 signal DIR: STD_LOGIC : 'O'; 15 signal RUN: STD_LOGIC 'O'; 17 begin IB 1© process (CLK) 20 begin 21 , if (CLK’event and CLK"’l') then 22 . if (RICHT-'O') then 23 DIR <= 'O’; 24 elsif (LBFT-’O') then 25 DIR <" ’I*; 26 end if; 27 ; if (STCP=,O*) then 2B RUN <« 101; 20 elsif (LBFT=,O' or RIGHT-’O') then 30 PUN < 31 end if; 32 if CRUNa'l1) then 33 if (DIR-'l1) then 34 Q(3 downto 1) <» Q(2 dcvnto O) ; 35 Q(0) <- not Q(3) t 35 else 37 Q(Z downto 0) 0(3 dcvnto 1); 38 QC3) <“ not 0(0); 30 end if; 40 end if; 41 . end if; 42 end process; 43 end jc2_top_arch; V| | - “ "в » (For Help, press Fl *1 .=151*1 Рис. 5.25. Рабочее окно всгроенного HDL-редактора, содержащее иодный тексг описания счетчика Джонсона 5.3.2. Использование шаблонов встроенного HDL-редактора пакета WebPACK ISE Для активизации окна шаблонов следует воспользоваться командой Language Templates из всплывающего меню Edit или кнопкой расположенной на панели инструментов текстового редактора HDL-кода.
126 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС «1 jElxj ы чв; е Телушек__________________ | * _1 ABEL ♦ _1 ucf / I Veriog • 1 VHDL * Г I Component fnsiaritiation ♦ 1 Language Templates < 1 Synthesis Templates Barrel Shifter Corrparato» 2533 Debounce crcuit Decoder Encoder Flip Flops — p| HEX2LED Converter ♦-1 ~ 1 Latches V I 1 MUt peters • j El) Puldown I |Jj Pulup : v tJ RAM ♦ • Shift Registers + • Г I Slate Machines Л1 i 1 TriUaie Buffers O User Templates For Het, press Fl — R-i.tfJixi’d LibenKiOJ — ltt.Kj.ry *8EB; — u«4 ALL; — ..is . i:it. ;;t:-2lvgic__**kj-x(;nhd . all ,• - -us* тв.зтгГьоыс.м-хгн.Аьи — Visit synchronous count «м with cy.ir.x- sneila, -- ы’"сгл :-noux r tr«t and synctitor.out load CLK: in STD_LOMC; in ST^tOCIC; CB, LOAD, PXS; in STD LOCIC, DXK: in STD_L0GIC_VSCT0ft(3 dourxo 0); CZVFT: incut STI-_L0CIC_VJtCT0R(3 dow.to (i) ; process (CLK, MSIT1 begin if MSIT-'A* then COUNT <- *0000"; • 1ft t CLK*’!* end CLK’event, then if CI-'A* then if LOAD»*A* then COUNT < DIN; i t DIR»11* then COUNT < COUNT ♦ 1; COUNT < COUNT - 1; end it; end it; end it; end if; end process; Рис. 5.26. Окно шаблонов HDL-редактора пакета WebPACK. ISE Окно шаблонов содержит две области: в левой части отображается список шаб- лонов, а в правой - содержание выбранного шаблона (рис. 5.26). Чтобы включить шаблон в состав создаваемого модуля, следует выделить его название щелчком ле- вой кнопки мыши на соответствующей строке списка в левой области, после чего воспользоваться командой Use in ... из всплывающего контекстно-зависимого меню, которое выводится на экран щелчком правой кнопки. При этом шаблон будет встав- лен в то место создаваемого файла описания, где расположен курсор. Если требуется вставить только фрагмент шаблона, то необходимо выделить его в правой области окна и выполнить команды копирования (сору) и вставки (paste) из всплывающего контекстно-зависимого меню. HDL-редактор пакета САПР WebPACK 1SE включает в себя шаблоны для языков ABEL, Verilog и VHDL. Кроме того, имеется группа шаблонов временных и тополо- гических ограничений, предназначенных для формирования файлов UCF. Для языка VHDL представлены четыре группы шаблонов, оформленные в виде папок с соот- ветствующими названиями: • Component Instantiation включает примеры реализации компонентов; • Language Templates содержит образцы основных базовых конструкций VHDL;
5. Создание модулей исходного описания проектируемого устройства 127 • Synthesis Templates объединяет блоки кода, представляющие поведенческое опи- сание основных функциональных элементов, которые используются при проек- тировании цифровых устройств и воспринимаются средствами синтеза. • User Templates предназначена для хранения шаблонов, создаваемых разработчи- ком. Шаблоны, сосредоточенные в папках Language Templates и Synthesis Templates носят обобщенный характер и могут использоваться в проектах, реализуемых на базе ПЛИС различных семейств. Большинство элементов, представленных в папке Component Instantiation, предназначено для конкретных семейств ПЛИС. Более под- робная информация о конкретных шаблонах языка VHDL содержится в Приложе- нии 2. 5.4. Формирование модуля временных и топологических ограничений проекта 5.4.1. Подготовка нового модуля временных и топологических ограничений проекта Дополнительная информация для программ синтеза, размещения и трассировки может располагаться непосредственно в модулях исходного описания проекта в форме атрибутов или вынесена в файл временных и топологических ограничений User Constraints File (UCF). Использование файла UCF является наиболее предпоч- тительным, так как при этом сохраняется универсальность модулей исходного опи- сания, которые могут использоваться в других проектах. Кроме того, чтобы внести коррективы в параметры ограничений, например, при изменении типа ПЛИС, не требуется редактировать различные модули исходного описания, а достаточно скор- ректировать содержимое файла UCF. Файл временных и топологических ограниче- ний проекта имеет текстовый формат, каждая строка которого представляет собой выражение, описывающее соответствующий параметр. Для внесения информации в файл UCF можно использовать встроенный HDL-редактор или специальную про- грамму Constraints Editor пакета WebPACK ISE, которая на основании данных, ука- занных разработчиком в диалоговом режиме, автоматически формирует соответст- вующие выражения для описания ограничений проекта. Кроме того, в проектах, выполняемых на основе ПЛИС семейств FPGA, для этих целей может использовать- ся редактор назначения выводов кристалла и топологических ограничений РАСЕ (Pinout and Area Constraints Editor). ___ ||§31 Процедура создания нового файла UCF стартует при нажатии кнопки I—на оперативной панели или выборе командой New Source из раздела Project основного меню Навигатора проекта. При этом в открывшейся диалоговой панели следует выделить строку Implementation Constraints File (поместив на нес курсор и щелкнув левой кнопкой мыши), которая в качестве типа нового модуля задаст файл времен- ных и топологических ограничений проекта (рис. 5.27).
128 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС New User Document VHDL Module Schematic VHDL Lfctary VHDL Package VHDLTerfBench Terf Bench Waveform lmptemenlai*on Lonslraiou File Stale Diagram File Name: [ic2 Location: |CAP|oiect\jcoirt Add to project | Cancel Help Рис. 5.27. Создание нового файла временных и топологических ограничений проекта Затем, в этой же панели, нужно указать название нового файла UCF в поле редакти- рования File Name и нажать кнопку Далее (Next). После этого на экран выводится сле- дующая панель диалога, которая позволяет выбрать модуль исходного описания проекта, с которым ассоциируется создаваемый файл временных и топологических ограничений (рис. 5.28). Для этого следует расположить курсор мыши на требуемой строке списка, отображаемого в диалоговой панели, и щелкнуть левой кнопкой. Как правило, выбирает- ся модуль описания верхнего уровня иерархии проекта Рис. 5.28. Диалоговая панель выбора модуля исходного описания проекта, с которым ассоциируется создаваемый файл UCF Процесс выбора завершается нажатием кнопки Да tee (Next) в нижней части диа- логовой панели, показанной на рис. 5.28. При этом на экране появляется информа-
5. Создание модулей исходного описания проектируемого устройства 129 ционная панель, в которой отображаются все параметры формируемого нового мо- дуля временных и топологических ограничений (рис. 5.29). New Source Information х| ’ч?: ——1 Project Navigator will create anew skeleton soiree withitae ’ following specifications: * Source Type: ImplemenlationConstraints FBe •* Source Name: jcZucf Association: jc2 Source Directory; CAProiecftjcount < Back J Cancel Help Рис. 5.29. Информационная панель "мастера" подготовки файла UCF Если все данные, необходимые для создания нового файла UCF, указаны кор- ректно, то далее нужно нажать кнопку Готово (Finish) в нижней части информаци- онной панели (рис. 5.29). Кнопка Назад (Back) позволяет при необходимости вер- нуться к предыдущим шагам его создания. При успешном завершении рассмотрен- ного процесса в окне исходных модулей Навигатора проекта появляется строка с названием нового файла ограничений. Чтобы заполнить этот файл соответствующи- ми данными, следует воспользоваться средствами его редактирования, указанными выше. 5.4.2. Редактирование модуля временных и топологических ограничений проекта Чтобы приступить к редактированию файла UCF, необходимо в окне исходных модулей Навигатора проекта щелчком левой кнопки мыши выделить строку с его названием, после чего в окне процессов развернуть строку "User Constraints" (рис. 5.30). Для изменения файла UCF во встроенном текстовом редакторе следует дважды Щелкнуть левой кнопкой мыши на строке Edit Constraints (Text), в результате чего открывается новое окно редактирования. Ввод выражений временных и топологиче- ских ограничений осуществляется с помощью клавиатуры. При этом рекомендуется использовать шаблоны HDL-редактора, представленные в папке UCF. Механизм их применения рассмотрен в 5.3.2. Так как в проектах, выполняемых на основе ПЛИС семейств CPLD и FPGA, используется различная совокупность временных и топо- логических ограничений, то синтаксис соответствующих выражений будет рассмот- рен для каждого типа кристаллов отдельно, перед выполнением процесса синтеза. 5 Зотов В.Ю.
130 Зотов В. К>. Проектирование цифровых устройств иа основе ПЛИС Рис. 5.30. Рабочая область основного окна Навигатора проекта пакета WebPACK ISE Чтобы выполненные изменения вступили в силу, необходимо сохранить файл UCF на диске, воспользовавшись командой Save из всплывающего меню File или кнопкой t^J, расположенной на оперативной панели управления Навигатора про- екта. На рис. 5.31, в качестве примера, показан открытый в текстовом редакторе файл ограничений для проекта счетчика Джонсона, подготовка которого рассмотре- на в предыдущей главе. DKXucf* * '«IjJSJxJ File Edt Q | X ® «£2 o. ( a i A % % ~ ll ucr file tor jc2_top in XCSS144XL-TI31OO 3 2 NET left LOC-P4; 3 NIT right 1DC=P29; * NET stop LOC-P95; 5 NET elk LOC=P19; 6 7 NET q<0> LOC-P27; В NET q<l> LCC«₽1S; 6 NET q<2> L0C=P€r’ 10 NET q<3> LDC-PL; 1 1 12 NET elk PBRIDD=20ns; 13 Рис, 5.31. Пример файла временных и тополотических ограничений (фрагмент экрана)
5. Создание модулей исходного описания проектируемого устройства 131 Для модификации файла UCF с помощью редактора временных и топологиче- ских ограничений следует дважды щелкнуть левой кнопкой мыши на строке Create Timing Constraints, в результате чего открывается рабочее окно программы Constraints Editor, показанное на рис. 5.32. ygXilinx Constraints Editor - [Qobdl - jcZjtgd / (с2.исГ) . .чу.-.- -|D| х| 0е £<й Bew Wrrdow Het • NET ''left" ЮС = “P4"; NET "righr LOC = NET "stop" LOG =‘PK"; NET 'q<0>- LOC - 'P?7"; —3 NET "q< t >” LOC - "PIS"; NET "q<2>-LOC =-P6"; J UCF ConntraMs (read-write) |ucf Constants (read-only) j Source Constraints (read-only) | For Help, press Fl CAP [ Г~~~ A Рис. 5.32. Основное окно редактора временных и топологических ограничений Constraints Editor пакета WebPACK ISE Чтобы воспользоваться средствами программ ChipViewer или РАСЕ для назначе- ния "внешним" цепям проекта соответствующих выводов кристалла, нужно распо- ложить курсор мыши на строке Assign Package Pins и дважды щелкнуть левой кноп- кой. Указанные программы позволяют выполнить процедуру закрепления выводов в наглядном виде. 5.5. Подготовка тестового модуля проекта Для выполнения этапов функционального и временного моделирования необхо- димо сформировать описание тестовых воздействий, используемых в процессе ве- рификации. Подготовка тестовых модулей может осуществляться как на этапе соз- дания исходных описаний проектируемого устройства, так и непосредственно перед активизацией процесса моделирования.
132 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИ(. 5.5.1. Структура тестового модуля проекта Тестовый модуль проекта фактически содержит представление модели испыта- тельного стенда для разрабатываемого устройства на языке описания аппаратуры HDL, используемом в процессе проектирования. В дальнейшем предполагается, что процесс разработки выполняется при использовании средств синтеза XST (Xilinx Synthesis Technology) VHDL. В этом случае тестовый модуль проекта имеет стан- дартную структуру VHDL-описания, которая включает в себя следующие элементы: • ссылки на используемые библиотеки и пакеты; • описание интерфейса объекта (ENTITY); • описание архитектуры объекта; • декларацию компонента, представляющего модуль описания верхнего уровня иерархии проектируемого устройства; • декларацию сигналов, используемых для подачи входных тестовых воздействий и контроля выходных реакций моделируемой Системы; • выражение создания экземпляра компонента с подключением соответствующих сигналов; • формирование поведения входных тестовых сигналов. В данном случае под объектом описания понимается модель испытательного стенда в целом, поэтому он не имеет интерфейсных сигналов (портов). Архитектура этого объекта содержит единственный компонент, представляющий разрабатывае- мое устройство. В качестве примера далее показан сокращенный вариант модуля тестовых воздействий для счетчика Джонсона. Описание тестовых воздействий для проекта счетчика Джонсона на языке VHDL LIBRARY IEEE; USE IEEE.std_logic_1164.all; ENTITY testbench IS END testbench; ARCHITECTURE testbench_arch OF testbench IS COMPONENT jc2_top PORT ( CLK: in STDJ.OGIC; LEFT: in STDJ-OGIC; RIGHT: in STD_LOGIC; STOP: in STD_LOGIC; 0: inout STD_LOGIC_VECTOR (3 DOWNTO 0) ); END COMPONENT; SIGNAL CLK: STDJ-OGIC, SIGNAL LEFT: STD_LOGIC; SIGNAL RIGHT: STD_LOGIC; SIGNAL STOP : STD_LOGIC; SIGNAL Q : STD_ LOGIC. VECTOR (3 DOWNTO 0); BEGIN UUT : jc2_top PORT MAP ( LEFT =s LEFT, right => right.
5. Создание модучей исходного описания проектируемого устройства STOP => STOP, CLK => CLK. Q=>0 133 PROCESS BEGIN CLK <= transport ’O'; LEFT <= transport'V; RIGHT <= transport'1'; STOP <= transport '1'; WAIT FOR 110 ns; CLK <= transport '1'; WAIT FOR 10 ns; CLK <= transport 'O'; WAIT FOR 10 ns; CLK <= transport'T; WAIT FOR 10 ns; CLK <= transport ‘O'; LEFT <= transport 'O'; WAIT FOR 10 ns; CLK <= transport '1'; WAIT FOR 10 ns; CLK <= transport ‘O'; LEFT <= transport'1'; WAIT FOR 10 ns; CLK<=transport'1‘; WAIT FOR 10 ns; CLK <= transport 'O'; WAIT FOR 10 ns; CLK <= transport'1'; WAIT FOR 10 ns; CLK <= transport 'O'; WAIT FOR 10 ns; CLK <= transport'Г; WAIT FOR 10 ns; CLK <= transport 'O'; STOP <= transport 'O'; WAIT FOR 10 ns; CLK <= transport 'Г; WAIT FOR 10 ns; CLK <= transport 'O’; STOP <= transport'Г,
134 Зотов В. 30. Проектирование цифровых устройств на основе ПЛИС. WAIT FOR 10 ns; CLK <= Iransport 'Г; WAIT FOR 10 ns; CLK <= transport 'O'; WAIT FOR 10 ns; CLK <= transport'Г; WAIT FOR 10 ns; CLK <= transport ’O’; WAIT FOR 10 ns; CLK <= transport'V; WAIT FOR 10 ns; CLK <= transport 'O’; RIGHT <= transport 'O'; WAIT FOR 10 ns; CLK<= transport'1'; WAIT FOR 10 ns; CLK <= transport 'O'; RIGHT <= transport T; WAIT FOR 10 ns; CLK <= transport '1'; WAIT FOR 10 ns; CLK <= transport 'O'; WAIT FOR 10 ns; CLK <= transport '1'; WAIT FOR 10 ns; CLK <= transport 'O'; WAIT FOR 10 ns; CLK <= transport'V; WAIT FOR 10 ns; CLK <= transport '0‘; LEFT <= transport‘O'; WAIT FOR 10 ns; CLK <= transport '1'; WAIT FOR 10 ns; CLK <= transport ‘O'; LEFT <= transport '1'; WAIT FOR 10 ns; CLK <= transport'Г; WAIT FOR 10 ns; CLK <= transport 'O’;
5. Создание модутей исходном описания проектируемого устройства 135 WAIT FOR 10 ns; CLK <= transport'1'; WAIT FOR 10 ns; CLK <= transport 'O'; END PROCESS; END testbench_arch; "Мастер" подготовки модулей исходного описания проекта позволяет автомати- чески сформировать основу тестового файла, которая содержит все перечисленные выше элементы его структуры, за исключением секции, описывающей поведение входных сигналов. Формирование входных тестовых воздействий может выполнять- ся в текстовом виде (на языке VHDL) при использовании встроенного HDL- редактора или в графической форме (в виде временных диаграмм) с помощью ути- литы генерации тестов HDL Bencher, которая входит в состав пакета WebPACK ISE. Последний способ является наиболее наглядным и нс требует знаний языков HDL. Программа HDL Bencher автоматически транслирует созданные временные диа- граммы тестовых сигналов при их сохранении в текстовый формат. 5.5.2. Создание тестового модуля проекта в текстовом формате Для автоматического формирования основы файла тестовой последовательности необходимо активизировать режим создания нового модуля исходного описания проекта, воспользовавшись кнопкой EJ на оперативной панели или командой New Source из раздела Project основного меню Навигатора проекта. В открывшейся диалоговой панели, показанной на рис. 5.33, в качестве типа нового модуля следует выбрать VHDL Test Bench. Далее необходимо задать его имя и указать место распо- ложения файла надиске в поле редактирования Location. New .21 User Document VHDL Module Schematic VHDL Libraiy VHDL Package VHDL Тег! Bench T est Bench Waveform Implementation Constraints File Slate Diagram file Name: |jc2jtst Lc&afonr. IC:\Pioject\jcount 1 ... I R £dd to project Next > П Cancel [ Help Рис. 5.33. Диалоговая панель установки исходных параметров тестового модуля проекта
136 Зотов В. Ю. Проектирование цифровых vcmpoucme иа основе ПЛИС Установка значений всех необходимых исходных параметров создаваемого моду- ля завершается нажатием клавиши Далее (Next), которая находится в нижней части диалоговой панели (рис. 5.33). В результате чего на экране отображается следующая диалоговая панель, содержащая список модулей исходного описания проекта. Эта панель имеет вид, аналогичный изображению, приведенному на рис. 5.28. В предлагаемом списке следует выделить элемент, с которым ассоциируется созда- ваемый тестовый модуль, поместив курсор на соответствующую строку и щелкнув левой кнопкой мыши. Сделанный выбор подтверждается нажатием клавиши Далее (Next), расположенной в нижней части диалоговой панели. При успешном создании основы тестового модуля открывается информационная панель, показанная на рис. 5.34. В этой панели отображаются значения всех пара- метров создаваемого модуля. Если необходимо изменить значение какого-либо па- раметра, то кнопка Назад (Back) позволяет вернуться к предыдущей диалоговой панели. Процесс создания основы тестового модуля завершается нажатием кнопки Готово (Finish), находящейся в нижней части информационной панели (рис. 5.34). <Back If Finish jj Cancel j Help Рис. 5.34. Информационная панель парамегров создаваемого тестового модуля проекта После этого в окне исходных модулей Навигатора проекта добавляется пикто- грамма, сопровождаемая названием созданного тестового модуля. Одновременно автоматически открывается окно встроенного HDL-редактора, в котором отобража- ется код сформированного описания модели испытательной системы (рис. 5.35). Далее необходимо дополнить сформированный модуль выражениями, описы- вающими изменение во времени входных сигналов. После завершения редактирова- ния тестового файла следует обязательно его сохранить, выполнив команду Save из всплывающего меню File или нажав кнопку L!sJ, расположенную на оперативной панели управления Навигатора проекта.
5. Создание моду-гей исходного описания проектируемого устройства 137 Ojc2_tst File Q X. Ite fi I !L> IM , л % % ft. *16 LIBRARY ieee; 16 CTSfi ieee. std_logic_1164.ALL; 17 USE xeee.nuaeric_std.ALL; 18 LIBRARY UNISIH; 10 USB UNISIH.Vcoaponerxs.ALL; 20 ENTITY testbench IS 21 END testbench; 22 ARCHITECTURE behavioral OF testbench IS 23 24 COHPONENT jc2 25 PORT < elk : IN STL_LoCIC; 2B left : IN STD__LCC-IC; 27 right : IN STD__LCGIC; 28 stop : IN STD__LCGI~; 20 q ; OUT STD^bOGI^VECTCT; (3 DOWNTO 0)); 30 END COMPONENT; 3l 32 SIGNAL elk : STD_LOGIC; 33 SIGNAL left : STD-LOGIC; 34 SIGNAL right : ETD__LOCIC; 35 SIGNAL stop : STD_LOCIC; 36 SIGNAL q : STD LOGIC VECTOR (3 DOWNTO 0); 37 38 BEGIN 30 / 40 UUT; jc2 PORT HAP( 41 elk -> elk, 42 left => left, 43 right => right, 44 stop »> stop, 45 q > q 46 ) ; 47 48 -- »** Test Bench - User Defined Section *** 40 r tb : process 50 BEGIN 51 WAIT; — will wait forever 52 END PROCESS; 53 — »•** End Test Bench - V tr Defined Sectic*n 54 55 END; 56 | For Help, press Fl «UBlzJ Рис. 5.35. Окно встроенного HDL-редактора, содержащее код сформированной основы описания модели испытательной системы 5.5.3. Генерация тестового модуля проекта в форме временных диаграмм Для создания тестового модуля в виде временных диаграмм сигналов следует повторить последовательность операций, описанную в 5.5.2. При этом в списке ти- пов исходных модулей диалоговой панели, показанной на рис. 5.33, необходимо вы-
138 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС брать строку Test Bench Waveform. По окончании работы "мастера” подготовки тес- тового модуля автоматически производится запуск программы HDL Bencher, кото- рый сопровождается выводом на экран диалоговой панели выбора объекта, представленной на рис. 5.36. Choose Entity/Module То Test , / , х| Choose the entity/module to be tested. Only one enlity/modue may be selected at tane. T о test a complete design, choose the top most entity/module in the hierarchy. Ohly functional entities/modutes are listed (those with ports). jc2 | OK ~| Cancel | Help | Рис. 5.36. Диалоговая панель выбора объекта, для которого создается тестовый модуль В этой панели необходимо указать объект, для которого будут создаваться вре- менные диаграммы. Для этого следует активизировать выпадающий список, помес- тив курсор на его изображение и щелкнув левой кнопкой мыши, и выбрать строку с названием требуемого объекта. Чтобы сформировать временные диаграммы тесто- вых сигналов для устройства в целом, нужно выбрать в выпадающем списке строку, которая содержит название исходного модуля, соответствующего верхнему уровню иерархии описания проекта. Если требуемая строка отсутствует в видимой части списка, следует воспользоваться элементами вертикальной прокрутки, расположен- ными вдоль его правой границы. Выбор объекта завершается нажатием клавиши ОК, после чего открывается диалоговая панель инициализации временных парамет- ров (рис. 5.37). Временные параметры, необходимые для формирования тестовых сигналов, раз- личаются для синхронных и асинхронных устройств. Программа HDL Bencher ав- томатически определяет тип устройства, для которого разрабатываются тестовые последовательности. Для синхронного устройства необходимо, прежде всего, про- контролировать и при необходимости изменить выбор основного тактового сигнала, в поле Single clock, используя выпадающий список интерфейсных сигналов устрой- ства. Затем следует выбрать единицы измерения временных параметров, используя выпадающий список возможных значений поля Time scale. Далее нужно определить длительность состояний высокого и низкого логических уровней периода тактового сигнала в поле редактирования Clock high time и Clock low time соответственно. Кроме того, в поле редактирования Input setup time следует указать минимальное значение времени установки входных сигналов, а в поле Output valid delay - макси- мальное значение задержки выходных сигналов.
5. Создание моду ieii исходного описания проектируемого устройства 139 Программа HDL Bencher автоматически определяет, чем тактируется устройст- во - фронтом (Rising edge), спадом (Falling edge) тактового сигнала или тем и дру- гим (Dual edge), но разработчик может выбрать это вручную, используя соответст- вующие кнопки диалоговой панели (рис. 5.37). При создании тестов для комбинаци- онных устройств нужно указать только значения временных интервалов между мо- ментами подачи входных воздействий и контроля выходных сигналов Check outputs и Assign Inputs. Эти параметры позволяют исключить возможные конфликты в мо- менты изменения входных и выходных сигналов. Initialize Timing Review д ; : Maximum output delay : Minimum Д i input ; setup Clock Clock high for low for Г Clock Timing----—гт.--------------—r- * Inputs eie assigned at Input setup time* and outputs are checked at 'output valid delay'. (• Rising Edge C FalhgEdge . C Duel Edge {DDR design) . Clock high time |sq ns Clock low time |so n$ Input setup time [ГВ ns Output valid delay pO 2. ns Offset [o i ns - Design Type-................... ,= -r:-?-- |i C* Single Clock folk 11 C Mdtiple Clocks : Г* Combinational Design (or internal clock] ' r CoTbi'iato’-iaf 1 лгпз —-7"' — --......... I p’-.piZ. f' e a' ”?:! tx i ids a e ir>:^:= tVwked A de..T> between rem end । O'ridng cvrVfic^. ’ j ОюсксДШ no after asi.cn ruts I'As gnro/s fl ns. cf:e. иЛс-й r GW! p/erfM Only)----------------------; Tirne Sca|e С Я 1 _____________________________________ ... Г ^ddA^nchionous Signal Sup|x»r^ I; Tfdlijl 1|» ]100 “....... ' ------ —II I Cancel | Hdp J Рис. 537. Диалоговая панель инициализации временных параметров утилиты HDL Benchci Процесс установки требуемых значений временных параметров завершается нажатием кнопки ОК, расположенной в нижней части диалоговой панели (рис. 5.37), после чего в рабочей области окна программы HDL Bencher отобража- ются заготовки временных диаграмм (рис. 5.38).
Рис. 5.38. Основное окно программы генерации тестов HDL Bencher В верхней строке рабочей области окна программы HDL Bencher расположена временная шкала, деления которой соответствуют периодам тактового сигнала. В левом столбце отображается список названий интерфейсных сигналов устройства. Справа от названия сигнала приведена пиктограмма, обозначающая его тип: I L1 - тактовый; 1___- входной; __I - выходной; — двунаправленный. Сигналы векторного типа отображаются в ввде шин соответствующей разрядности. Изменить значение сигнала в какой-либо момент времени можно несколькими способами. Чтобы переключить значение сигнала на противоположное (из состоя- ния низкого логического уровня в высокое или наоборот), достаточно поместить курсор в требуемое место временной диаграммы и щелкнуть левой кнопкой мыши. Чтобы выбрать значение сигнала из списка возможных состояний, следует щелчком правой кнопки активизировать контекстно-зависимое всплывающее меню, в кото- ром выбрать строку Set Value. В результате выполнения указанных действий на эк- ран выводится диалоговая панель, содержащая поле выбора значения сигнала (рис. 5.39). Для установки требуемого значения сигнала следует нажать кнопку управления выпадающим списком возможных состояний, в котором выбрагь затем соответствующую строку, после чего подтвердить выбор нажатием кнопки ОК (рис. 5.39).
5. Создание модулей исходного описания проектируемого устройства Set Value 141 Enter a value for the selected cells | рк Cancel Рис. 5.39. Диалоговая панель выбора значения сигнала Чтобы сформировать последовательность значений для выбранного сигнала, можно воспользоваться соответствующим "мастером" Pattern Wizard. Для его акти- визации необходимо поместить курсор мыши в исходную точку временной диа- граммы и дважды щелкнуть левой кнопкой, после чего воспользоваться появившей- ся кнопкой Pattern. В диалоговой панели "мастера" Pattern Wizard, показанной на рис. 5.40, следует выбрать алгоритм переключений сигнала в поле Choose Pattern и указать: начальное значение в поле редактирования Initial Value, альтернативное значение в поле Other Value, интервал переключения в поле Toggle Every и количест- во формируемых периодов сигнала в поле Repeat pattern. После нажатия кнопки ОК, расположенной в нижней части диалоговой панели Грис. 5.40), сформированный фрагмент временной диаграммы отображается в рабочей области. Команды меню Edit и контекстно-зависимого всплывающего меню позволяют копировать в буфер и затем вставлять в нужное место выбранные фрагменты временных диаграмм. Рис. 5.40. Диалоговая панель "мастера" Pattern Wizard
142 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС На изображении временных диаграмм присутствует указатель конечной точки тестовой последовательности, положение которого устанавливается автоматически или "вручную". Выбор режима определения окончания тестового вектора осуществ- ляется с помощью команды Configuration из всплывающего меню Options, в резуль- тате выполнения которой на экран выводится диалоговая панель, показанная на рис. 5.41. Параметр Automatically determine end of test bench управляет выбором ре- жима, в котором выполняется установка маркера конечной точки тестового вектора. По умолчанию используется значение "включено", соответствующее автоматиче- скому режиму, при котором указатель располагается в начале тактового интервала, следующего за моментом последнего изменения входных сигналов. При перемеще- нии маркера с помощью мыши происходит переключение из автоматического режи- ма в "ручной". Configuration 2£| i-VHDL Compatibility --------------ii~~l Г VHDL 87 <= VHDL S3 j F7 Automatically deteimhe end of testbench |ГРК j| Cancel | Help | Рис. 5.41. Диалоговая панель параметров конфигурации программы HDL Bencher Параметр VHDL Compatibility, представленный в этой же диалоговой панели в виде двух кнопок, позволяет выбрать стандарт языка VHDL, в соответствии с кото- рым формируется описание тестовой системы. По умолчанию установлен режим совместимости со стандартом IEEE VHDL Std 1076-1993. Завершив редактирование временных диаграмм тестовых сигналов, следует со- хранить их, используя команду Save Waveform из меню File или кнопку LS на оперативной панели окна HDL Bencher. При этом, если указатель окончания тестовой последовательности был установлен до момента последнего изменения входных или контроля формирования выходных сигналов, выводится панель предупреждения, в которой предлагается перенести маркер в соответствующую позицию.
6. Синтез проектов, реализуемых на базе ПЛИС семейств CPLD фирмы Xilinx, в САПР WebPACK ISE После создания нового проекта и модулей исходного описания следующим эта- пом процесса разработки цифровых устройств на базе ПЛИС Xilinx в среде САПР WebPACK ISE является функциональное моделирование. Учитывая, что этапы функционального и временного моделирования нс являются обязательным и выпол- няются в системе ModelSim ХЕ Starter, они будут рассмотрены позже в отдельной главе. Чтобы получить доступ к интерактивному списку основных этапов процесса разработки цифрового устройства на базе ПЛИС фирмы Xilinx, следует в окне ис- ходных модулей Навигатора проекта выделить строку с названием файла описания верхнего уровня иерархии проекта, поместив на нее курсор и щелкнув левой кноп- кой мыши. При этом в окне процессов отображается маршрут проектирования, со- ответствующий выбранному типу ПЛИС и средств синтеза. На рис. 6.1 показан вид рабочей области Навигатора проекта при использовании кристаллов из семейств CPLD и средств синтеза XST VHDL. —............—.....-......................../___________ Sources in Project:___________"_____________________________| •••0 jcourit Ё-Q xcB5144rf-aq100 -XST VHDL e-0 jc2 (jeZsch) ШТ je2.ucf C Module View ftl Snapshot View Library View ] *£ Process View Рис. 6.1. Вид рабочей области Навигатора проекта при выборе ПЛИС семейств CPLD для реализации устройства и средств синтеза XST VI1DL
144 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС Очередной обязательной фазой в процессе разработки цифрового устройства на базе ПЛИС фирмы Xilinx является этап синтеза. Но прежде, чем приступить к его изучению, следует обратить внимание на временные и топологические ограничения, устанавливаемые в проектах, которые реализуются на основе ПЛИС семейств CPLD. 6.1. Временные и топологические ограничения проекта, выполняемого на основе ПЛИС семейств CPLD Рассмотрим форматы выражений, описывающих наиболее часто используемые временные и топологические ограничения. Параметр LOC позволяет осуществить закрепление выводов перед трассировкой, а также явно указать функциональный блок для реализации элементов проекта. Для привязки "внешних" цепей проекта (подключаемых к контактам кристалла) к требуемым выводам ПЛИС используется следующий формат выражения NET <название_цепи> 1_ОС=<номер_вывода_ПЛИС>; например, NET clock LOC=C5; NET datl LOC=P9; Чтобы определить функциональный блок, внутри которого требуется разместить цепь или элемент проекта, следует воспользоваться соответственно форматами NET <назеание_цепи> 1_ОС=ЕВ<номер_функционального_блока_ПЛИО; например, NET clock LOC-FBl; INST <обозначение_элемента> ЮС=ЕВ<номер_функционального_блока_ПЛИС>; например, INST DIO LOC=FB2;. Временные ограничения могут устанавливаться как для отдельных элементов схемы (например, цепей), так и для совокупности элементов определенного типа. Такие совокупности называются временными группами. Вначале рассмотрим вре- менные ограничения, относящиеся к единичному элементу схемы. Максимальное значение периода сигнала синхронизации для соответствующей цепи проекта задается с помощью параметра PERIOD. Полный формат выражения ограничения имеет вид NET <назеание_цепи_синхронизации> РЕВЮО=<длительность_перпода> [<единицы_изме- рения»] [{HIGH 1|_ОМ/}[<длитепьность_переой_фазы_периода>(<единицы_измерения>) ]);, где значение HIGH или LOW указывает логический уровень сигнала в первой фазе периода. По умолчанию установлены в качестве единиц измерения длительности нс (ns) и одинаковая продолжительность состояний высокого и низкого уровней перио- да синхросигнала, в результате чего получается сокращенный формат записи NET <название_цепи_синхронизации> PERIOD = <длительность_периода>; например, NET clock PERIOD=20ns;. Таким образом, значение параметра PERIOD накладывает ограничение на время распространения сигналов по цепям и логике, подключенных между выходом одно- го и входом другого синхронного элемента (триггера, регистра или ОЗУ), которые тактируются одним и тем же сигналом синхронизации. Рис. 6.1. иллюстрирует при- менение параметра PERIOD.
6. Синтез проектов, реализуемых на базе ПЛИС семейств CPLD 145 clock Рис. 6.2. Временные ограничения, устанавливаемые с помощью параметра PERIOD Параметр OFFSET позволяет установить предельные временные соотношения между тактовым сигналом и связанными с ним сигналами входных и выходных це- пей, подключаемых к выводам кристалла. Синтаксис соответствующего выражения ограничения выглядит следующим образом NET <назеание_цепи_подключаемой_к_выводу_ПЛИС> OFFSET = {IN|OUT} «длитель- ностьзадержки» [<единицы_измерения>] {BEFORE|AFTER} <название_цепи_синхронизации>; например, NET datinput OFFSET = IN 35 BEFORE clock; задает максимальное время уста- новления сигнала для входной цепи dat_input по отношению к тактовому сигналу clock равным 35 нс; NET datoutput OFFSET = OUT 25 AFTER clock_sys; устанавливает максималь- ное значение задержки выходного сигнала dat_output по отношению к тактовому сигналу clock sys - 25 нс. Временные группы могут создаваться различными способами. Наиболее универ- сальным является использование параметра TIMEGRP. В общем случае использует- ся следующий формат выражения TIMEGRP <название_создаваемой_группы> = <усповное_обозначение_предопределенной _группы> [(<названия_компонентов>)] (EXCEPT <условное_обозначение_типа_злемента> (<на- зеания_исключаемых_компонентое>));, например, о выражение TIMEGRP FFI = RISING FFS формирует временную группу FF1, объ- единяющую все триггеры, тактируемые фронтом сигнала синхронизации; • выражение TIMEGRP FF2 — FFS EXCEPT FFS("D2") создает временную группу FF2, в которую входят все триггеры за исключением D2. Примерами предопределенных групп являются: FFS - триггеры, RAMS - син- хронные ОЗУ, LATCHES - защелки, PADS - выводы (контакты) кристалла. Для создания временных групп на основе уже имеющихся рекомендуется вос- пользоваться соответствующим форматом выражения ограничения TIMEGRP <название_создаваемой_группы> = <название_временной_группы1> [.«название _временной_группы2>,...) [EXCEPT <название_исключаемой_группы_1>[,<название_ исклю- чаемой _группы2>, например, выражение TIMEGRP NEW GROL’P = GROUP!, GROUP4 EXCEPT GROUPS вктючасг в состав создаваемой группы элементы, которые входят в состав
146 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС временных групп GROUP1 и GROUP4, исключая элементы, находящиеся в группе GROUPS. Ограничения для временных групп записываются с помощью ключевого слова TIMESPEC. Наиболее часто используются следующие конструкции групповых вре- менных ограничений. Первая синтаксическая конструкция устанавливает значение параметра PERIOD, рассмотренного выше, для указанной временной группы. TIMESPEC <Т5_идентификатор_спецификации> = PERIOD <название_временной_группы> <длительность_периода> [<единицы_измерения>] [{HIGH | 1_ОУУ}[<длительность_первой_фа- зы_периода>[<единицы_измерения>] ]]„ Идентификатор временной спецификации всегда должен начинаться с TS, на- пример, TIMESPEC TS_syn = PERIOD SYN_GROUP 50 HIGH 35;. Вторая конструкция предназначена для установки значений временных соотношений между элементами сформированных или предопределенных временных групп. TIMESPEC <Т5_идентификатор_спецификации> = FROM <название_еременной_группы1> ТО <название_еременной_группы2> <длительность_задержки> [<единицы_измерения>];, например, TIMESPEC TS_deI = FROM FFGROUP TO PAD_GROUP 30 ns;. При установке временных ограничений следует обратить внимание на то, чтобы задаваемые значения параметров не выходили за рамки предельных норм, которые указаны в справочных данных для выбранного типа ПЛИС. Кроме временных и топологических ограничений файл UCF может содержать выражения инициализации триггеров и регистров. Для этой цели используется па- раметр 1NIT. Формат выражения инициализации имеет следующий вид INST <позиционное_обозначение_триггера_или_регистра> INIT={1 | 0 | S | R};, где S - соответствует режиму установки, a R - режиму сброса, например, INST ddl 1NIT=1;. 6.2. Установка параметров синтеза проекта при использовании средств XST VHDL пакета WebPACK ISE В процессе синтеза из файлов HDL-описаний проектируемого устройства фор- мируется файл списка соединений (nctlist) в формате EDIF (Electronic Data Interchange Format). Синтезированный файл представляет собой текстовое (ASCII) описание проекта, но на более низком логическом уровне в формате, воспринимае- мом программами трассировки Xilinx. Если исходные описания проекта представ- лены не в HDL-форме, а в графической, в частности, схемотехнической, то автома- тически выполняется их преобразование в требуемый HDL-формат. Прежде чем непосредственно активизировать процесс синтеза, следует прокон- тролировать и при необходимости установить требуемые значения его параметров. Для этого нужно в окне процессов (рис. 6.1) щелчком левой кнопки мыши выделить IfRll строку Synthesize, после чего нажать кнопку IF^.l, расположенную на оперативной панели Навигатора проекта, или воспользоваться командой Properties контекстно- зависимого всплывающего меню, которое выводится при щелчке правой кнопки
6. Синтез проектов, реализуемых на базе ПЛИС семейств CPLD 147 мыши. В результате выполненных действий на экране монитора Отображается диа- логовая панель параметров синтеза, вид которой показан на рис. 6.3. - «седо . Process Properties „ Х| Synthesis Options | HDL Options | Xilinx Specific Options | | Property Ноте | ~Value | (Optimization Goal r _______________ _______________ lOp&TMZrifion Effort ___________ Normal ^Synthesis Constraints Ffe __________»_________________ ______ I Use Synthesis Constraints File . [5» Speed Keep Herarchy___________________________________g Generate RTL Schematic________________________ Yes Cross Clock Analysis ~ ^Г~» H^rarchy Separator. Bus Delimiter <> Case'___________, _______' ' '____________Lower VHDL Work Directory , ~~ " ~ i./xst VHDLHFfe ~ ~~ OK | Cancel ] • Defeat Help Рис. 6.3. Диалоговая панель параметров синтеза (страница Synthesis options) Эта диалоговая панель содержит три страницы, снабженные закладками с их на- званиями: Synthesis options, HDL options и Xilinx Specific options. Каждая из этих страниц содержит соответствующую группу параметров, представленных в виде таблицы, структура которой подробно рассмотрена в гл. 4. Чтобы изменить значение параметра, следует щелчком левой кнопки мыши активизировать соответствующее поле таблицы, а затем воспользоваться кнопкой управления выпадающим списком значений или, если параметр имеет два состояния (”включeнo"/,'выключcнo,,), щелк- нуть левой копкой мыши на поле индикатора состояния. Содержание страниц диа- логовой панели параметров синтеза зависит от выбранного семейства ПЛИС и язы- ка описания HDL. Рассмотрим подробнее параметры синтеза при использовании семейств ПЛИС CPLD и средств XST VHDL. Страница Synthesis options объединяет параметры, управляющие оптимизацией процесса синтеза. Параметр Optimization Goal позволяет выбрать критерий оптими- зации и может принимать одно из двух значений: Speed и Area. Значение Speed уста- навливает стратегию оптимизации, ориентированную на достижение максимального быстродействия проектируемого устройства. При выборе значения Area оптимиза- ция выполняется с целью минимизации используемой области (ресурсов) кристалла. По умолчанию установлено значение Speed. Параметр Optimization Effort определяет уровень производимой оптимизации и имеет два возможных значения: Normal и High. Если задано значение Normal, то используются стандартные алгоритмы оптимизации. При выборе Значения High вы- полняется дополнительная оптимизация с учетом особенностей архитектуры вы-
148 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС бранного кристалла ПЛИС, что позволяет достигнуть более высоких результатов, но приводит к увеличению времени вычислений. По умолчанию установлено значение Normal. Параметр Synthesis Consfraints File предназначен для определения названия фай- ла ограничений, используемого в процессе синтеза. Этот параметр доступен только при разрешающем значении опции Use Synthesis Constraints File. Название файла ограничений может быть введено непосредственно с клавиатуры после активизации поля редактирования значения этого параметра или выбрано при использовании стандартной диалоговой панели открытия файла, которая отображается при нажатии кнопки с пиктограммой в виде многоточия Файл ограничений синтеза (нс пу- тать с файлом ограничений проекта UCF) может содержать информацию о парамет- рах синтеза, которые определяются в рассматриваемой диалоговой панели глобаль- но для проекта в целом, а также о временных и топологических ограничениях, ис- пользуемых программами трассировки. Учитывая, что ограничения для программы трассировки указываются в файле UCF, а собственно ограничения процесса синтеза чаще всего устанавливаются одинаковыми для всех элементов проекта с помощью диалоговой панели параметров синтеза, можно не указывать значение параметра Synthesis Constraints File. Значение параметра Use Synthesis Constraints File разрешает или запрещает использование файла ограничений в процессе синтеза. По умолчанию этот параметр находится в состоянии "включено", допускающем применение файла ограничений при синтезе проекта. Параметр Keep Hierarchy определяет возможность сохранения иерархии проекта в процессе синтеза. Если этот параметр установлен в состояние "включено", о чем свидетельствует маркер на поле индикатора, то объекты, определенные в модулях HDL-описаний, сохраняются в процессе синтеза и не объединяются с остальной частью проекта. С помощью параметра Generate RTL Schematic предоставляется возможность формирования в процессе синтеза списка соединений (netlist) на уровне RTL, кото- рый может затем отображаться с помощью схемотехнического редактора ECS в на- глядной форме (в виде схемы). Выпадающий список возможных значений этого па- раметра содержит три элемента: YES, NO и ONLY. Значение YES, установленное по умолчанию, разрешает генерацию файла, содержащего список соединений на RTL- уровне. Этот файл имеет расширение NGR. При выборе значения NO список соеди- нений на RTL-уровне не создастся. В случае установки значения ONLY процесс синтеза ограничивается только формированием RTL-прсдставления проектируемого устройства в виде файла NGR. Значение параметра Cross Clock Analysis разрешает или запрещает выполнение анализа тактовых сигналов во внутренних областях в процессе временной оптими- зации. По умолчанию этот параметр находится в состоянии "выключено", запре- щающем проведение указанного анализа в процессе оптимизации. Параметр Hierarchy Separator позволяет выбрать символ, который используется в качестве разделителя при формировании идентификаторов элементов проекта в со- ответствии с иерархической структурой проекта. Выпадающий список возможных
б. Синтез проектов, реализуемых на базе ПЛИС семейств CPLD 149 значений этого параметра содержит два элемента: символ подчеркивания и "/". По умолчанию в качестве разделителя используется символ подчеркивания. Параметр Bus Delimiter определяет формат записи данных векторного типа в списке соединений (netlist), формируемом в результате выполнения этапа синтеза. В выпадающем списке допустимых значений представлено четыре вида скобок, ис- пользуемых для записи векторов: о, [], {}, (). По умолчанию используются о. Значение параметра Case определяет, символами какого регистра (верхнего или нижнего) записываются идентификаторы в файле, полученном в результате выпол- нения процесса синтеза. Выпадающий список возможных значений этого параметра включает в себя два элемента: Lower и Upper. Значение Lower, установленное по умолчанию, соответствует символам нижнего регистра. Этот параметр актуален только при использовании средств синтеза XST Verilog. Средства синтеза XST VHDL по умолчанию формируют идентификаторы из символов нижнего регистра. С помощью параметра VHDL Work Directory указывается название рабочего ка- талога, в котором сохраняются промежуточные результаты компиляции VHDL- файлов. По умолчанию в рабочей папке проекта средствами синтеза автоматически создается каталог XST, который и рекомендуется использовать. Если необходимо выбрать другой каталог, то следует активизировать поле выбора значения этого па- раметра, расположив на нем курсор и щелкнув левой кнопкой мыши. Затем следует нажать кнопку с пиктограммой в виде многоточия после чего воспользоваться стандартной панелью навигации по дискам компьютера. Значение параметра VHDL INI File содержит название INI-файла, в котором ус- танавливается соответствие VHDL-библиотек для текущего проекта. Требуемый идентификатор может быть указан с помощью клавиатуры или выбран из списка, отображаемого в стандартной диалоговой панели открытия файла, которая выводит- ся при нажатии кнопки с пиктограммой в виде многоточия На странице HDL Options представлены параметры, управляющие синтезом не- которых объектов HDL-описаний (рис. 6.4). Process Properties ; "— 2S1 I Synthesis Options HDLOpticns |XilinxSpedlicOptions] I Property Hame____________________| Value___________________| |FSM Encoding Algorithm Mux Extraction ________ Resource Sharing ________ ___________'(y Complex Clock Enable Extraction ’ .p7 Juto | Yes OK | Cancel | ЦеЬ| Help Рис. 6.4. Страница HDL Options диалоговой панели napaMeipoe синтеза
150 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Параметр FSM Encoding Algorithm управляет выбором метода кодирования ко- нечных автоматов (Finite State Machine, FSM). Выпадающий список значений этого параметра содержит восемь элементов: auto, one-hot, compact, sequential, gray, johnson, user, none. Значение auto, установленное по умолчанию, позволяет средст- вам синтеза автоматически выбрать для каждого конечного автомата наилучший алгоритм кодирования. Метод One-Hot гарантирует, что каждый отдельный регистр предназначен для реализации одного состояния, т. е. в любой момент времени акти- вен только один триггер. Алгоритм Compact позволяет минимизировать количество триггеров при синтезе конечного автомата. При выборе значения Sequential исполь- зуется метод, заключающийся в идентификации длинных ветвей и применении по- следовательности двоичных кодов для представления состояний этих ветвей. Метод Gray, гарантирующий переключение только одной переменной между двумя после- довательными состояниями, минимизирует риск возникновения паразитных им- пульсов. Алгоритм Johnson целесообразно использовать при синтезе конечных ав- томатов, описания которых содержат длинные цепочки без ветвлений. Значение user указывает средствам синтеза использовать алгоритм кодирования, представленный в файле исходного описания. При выборе значения попе запрещается автоматическое кодирование конечных автоматов. Значение параметра Мих Extraction разрешает (YES) или запрещает (NO) средст- вам синтеза извлечение макросов мультиплексоров. По умолчанию установлено значение YES. При этом для каждого обнаруженного описания мультиплексора, вы- полненного на базе некоторого внутреннего алгоритма, программа синтеза Xilinx Synthesis Technology (XST) формирует макрос или оптимизирует его совместно с остальной частью проекта. Значение Force указывает средствам синтеза игнориро- вать внутренние алгоритмы и создавать макросы для мультиплексоров. Параметр Resource Sharing разрешает или запрещает совместное использование ресурсов арифметическими операторами. По умолчанию используется разрешаю- щее значение, отображаемое маркером на поле соответствующего индикатора. Опция Complex Clock Enable Extraction используется для указания необходимо- сти анализа не только основных шаблонов, но и менее очевидных описаний, где мо- жет применяться разрешение синхронизации. Средства синтеза формируют макросы с разрешением синхронизации там, где это возможно. Значение по умолчанию - "включено". Страница Xilinx Specific Options содержит параметры синтеза, которые учитыва- ют требования средств трассировки Xilinx (рис. 6.5). Параметр Add I/O Buffers разрешает или запрещает автоматическое подключение буферных элементов к цепям модуля исходного описания верхнего уровня проекта, которые предназначены для соединения с выводами кристалла. По умолчанию уста- новлено разрешающее значение этого параметра. Если входные и выходные буфер- ные элементы были включены в состав модуля исходного описания проекта на ста- дии его разработки, то следует изменить значение этого параметра на "выключено", запрещающее автоматическое подключение этих элементов.
6. Синтез проектов, реализуемых на базе ПЛИС семейств CPLD 151 Process Properties ' ’ Х| Synthesis Options | HDL Options Xilinx Specific Options | Property Home__________________ Value____________________1 Add ITO Buffers ’ |p | Equivalent Resister Removal |p Clock Enable ~ p iMacro Preserve____________________________________ p ~l iXOR Preserve__________ p J [WYSiwVG. । None OK I Cancel I Deta'1' I Help Рис. 6.5. Страница Xilinx Specific Options диалоговой панели параметров синтеза Параметр Equivalent Register Removal управляет оптимизацией триггеров в процессе синтеза. При разрешающем значении этого параметра, которое задано по умолчанию, средства синтеза исключают из состава проекта триггеры, выполняю- щие эквивалентные функции, а также триггеры, входные сигналы которых имеют постоянный уровень, не изменяющийся в процессе функционирования устройства. Опция Clock Enable указывает метод синтеза последовательной логики, исполь- зующей сигнал разрешения синхронизации (Clock Enable). Значение "включено", установленное по умолчанию, предписывает использование специальных ресурсов кристалла для ее реализации. В противном случае, когда этот параметр принимает значение "выключено", формируется соответствующая эквивалентная логика. С помощью параметра Macro Preserve указывается метод синтеза макроописаний, входящих в состав проекта. Значение "включено", установленное по умолчанию для это- го параметра, определяет режим сохранения макросов в процессе синтеза и последую- щую их реализацию с помощью средств генерации Macro I. Значение "выключено" раз- решает декомпозицию макросов и их генерацию средствами синтеза. Опция XOR Preserve определяет способ синтеза макросов "Исключающее ИЛИ" (XOR). При значении "включено", заданном по умолчанию, макроописания XOR сохраняются в процессе синтеза в виде макросов. Такой метод позволяет получить наилучшие результаты, с точки зрения минимизации используемых ресурсов. Про- тивоположное значение этого параметра позволяет раскрывать XOR-макросы и за- тем объединять их с окружающей логикой в процессе синтеза. Параметр WYSIWYG позволяет сохранясь в процессе синтеза структуру соеди- нений (все определенные разработчиком сигналы) исходного описания. При этом снижается уровень оптимизации проекта в процессе синтеза. По умолчанию для этого параметра установлено значение "выключено" (None). Выполнив необходимые изменения параметров синтеза, следует подтвердить их нажатием клавиши ОК в нижней части диалоговой панели.
152 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС 6.3. Выполнение синтеза проекта при использовании средств XST VHDL пакета WebPACK ISE Процесс синтеза активизируется двойным щелчком левой кнопки мыши на строке Synthesize в окне процессов Навигатора проекта (рис. 6.1). Информация о ходе его выполнения отображается в окне консольных сообщений. После заверше- ния этого процесса, отмеченного соответствующей пиктограммой в строке Synthesize, можно открыть отчет о результатах синтеза, дважды щелкнув левой кнопкой мыши на строке View Synthesize Report. При этом открывается новое окно встроенного HDL-рсдактора (в режиме только чтения), в котором отображается сформированный отчет. В качестве примера, приведен отчет о выполнении процесса синтеза проекта счетчика Джонсона. Отчет о результатах выполнения процесса синтеза счетчика Джонсона Release 5.1.021 - xst F.25 Copyright (с) 1995-2002 Xilinx, Inc. AH rights reserved. - > Parameter TMPDIR set to_projnav CPU : 0.00 / 1.51 s I Elapsed : 0.0012.00 s - > Parameter xsthdpdir set to ./xst CPU : 0.00 /1.51 s I Elapsed : 0.00 / 2.00 s - > Reading design: jc2.prj TABLE OF CONTENTS 1) Synthesis Options Summary 2) HDL Compilation 3) HDL Analysis 4) HDL Synthesis 4.1) HDL Synthesis Report 5) Low Level Synthesis 6) Final Report Synthesis Options Summary - — Source Parameters Input File Name : jc2.prj Input Format : VHDL Ignore Synthesis Constraint File : NO — Target Parameters Output File Name : jc2 Output Format : NGC Target Device ; xc9500xl — Source Options Entity Name :jc2 Automatic FSM Extraction : YES FSM Encoding Algorithm : Auto Mux Extraction : YES Resource Sharing : YES Complex Clock Enable Extraction : YES — Target Options Add IO Buffers : YES
6. Синтез проектов, реализуемых на базе ПЛИС семейств CPLD 153 Equivalent register Removal : YES MACRO Preserve . YES XOR Preserve : YES — General Options Optimization Criterion : Speed Optimization Effort : 1 Keep Hierarchy : YES RTL Output : Yes Hierarchy Separator : _ Bus Delimiter : <s Case Specifier : lower — Other Options cross_clock_analysis : NO Clock Enable : YES Wysiwyg : NO HDL Compilation Compiling vhdl file C7Project/jcount/jc2.vhf in Library work. Enlity <fdc_mxilinx_jc2s (Architecture «schematics) compiled. Entity <fjkc_mxilinx_Jc2> (Architecture «schematics) compiled. Entity <m2_1_mxilinxjc2> (Architecture «schematics) compiled. Entity «sr4cled_mxilinx_jc2s (Architecture «schematics) compiled. Entity <jc2s (Architecture «schematics) compiled. HDL Analysis Analyzing Entity <jc2s (Architecture «schematics). Set user-defined property "u_set = dir_regt_11" for instance <dir_reg1s in unit <jc2>. Set user-defined property "u_set = run_reg_10" for instance «run_regs in unit <jc2s. Set user-defined property "u_set = jcounter_9" for instance «jcounters in unit <jc2s. Entity <jc2s analyzed. Unit <^c2> generated. Analyzing Entity «fjkc_mxilinx_jc2s (Architecture «schematics). Set user-defined property "u_set = l_36_32_0" for instance <i_36_32s in unit «fjkc_mxilinxJc2s. Entity «fjkc_mxilinx_jc2s analyzed. Unit <fjkc_mxilinx_jc2s generated. Analyzing Entity <sr4cled_mxilinx_Jc2> (Architecture «schematics). Set user-defined property "u_set = UL2_f" for instance «ul2> in unit «sr4cled_mxi)inx_jc2>. Set user-defined property “u_set = ULt_2" for instance «ulls in unit <sr4cied_mxilinx_jc2>. Set user-defined property "u_set = ULD_3" for instance «ulO> in unit <sr4cled_mxilinxjc2s. Set user-delined property "u_set = UR0 .4” for instance «ur0> in unit <sr4cled_mxilinx_jc2s. Set user-defined property "u_set = URt_5" for instance «url s in unit <sr4cled_mxilinx_jc2>. Set user-defined property "u_set = UR2_6” for instance «ur2> in unit <sr4cled„mxilinx_jc2>. Set user-defined property "u_set = UL3_7” for instance «ul3> in unit <sr4cled_mxilinxjc2>. Set user-defined property "u_set = UR3_8" for instance «ur3> in unit <sr4cled_mxilinxjc2>. Entity «sr4cled_mxilinx_Jc2s analyzed. Unit «sr4cled_mxilinx_Jc2> generated. Analyzing Entity <fdc_mxilinx_jc2s (Architecture «schematics). Entity <fdc_mxilinx_Jc2s analyzed. Unit «fdc..mxilinxJc2> generated. Analyzing Entity <m2_f_rnxilinx jc2> (Architecture «schematics).
154 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Entity <m2_1_mxilinxjc2> analyzed. Unit <m2_1_mxi|inx_Jc2> generated. HDL Synthesis Synthesizing Unit <m2_1_mxilinx_jc2>. Related source file is C:/Project/jcount/jc2.vhf. Unit <m2_1_mxilinx_Jc2> synthesized. Synthesizing Unil <fdc_mxilinx_Jc2>. Related source file is C:/ProjecVjcount/jc2.vhf. Unit <fdc_mxilinx_jc2> synthesized. Synthesizing Unit <sr4cled_mxilinxjc2>. Related source file is C:/Project/jcount/jc2.vhf. Unit <sr4cled_mxilinx_jc2> synthesized. Synlhesizing Unit <fjkc_mxilinx_jc2>. Related source file is C-JProject/jcount/jc2.vhf. Unit <fjkc_mxilinxjc2> synthesized. Synthesizing Unit <jc2>. Related source file is C-/Project/jcount/jc2.vhf. Unit <jc2> synthesized. HDL Synthesis Report Found no macro ' Low Level Synthesis Library "C:/Xilinx/xc9500xl/data/lib.xsl" Consulted Library "C:/Xilinx/data/librtl.xst" Consulted Optimizing unit <jc2> ... Optimizing unit <fdc_mxilinx_jc2>... Optimizing unit <m2_1_mxilinx_jc2>... Optimizing unit <ljkc_mxilinx.Jc2>... Optimizing unit <sr4cled_mxilinxjc2>... Final Report Final Results RTL Output File Name .jc2.ngr Top Level Output File Name : jc2 Output Format : NGC Optimization Criterion : Speed Keep Hierarchy : YES Macro Generator : macro* Target Technology : xc9500xl Macro Preserve : YES XOR Preserve : YES Clock Enable YES Wysiwyg : NO
б. Синтез проектов, реализуемых на базе ПЛИС семейств CPLD 155 Design Statistics # IDs : S Cell Usage : # BELS :29 # and2 :8 # gnd :4 # inv : 5 # or2 :10 # or3 :2 It FlipFlops/Latches : 6 # FDCE : 4 # FDCP : 2 # IO Buffers : 8 # ibuf : 4 # obuf : 4 # Others : 15 # and2b1 : 10 # and3b1 :2 # and3b2 :2 it or2b2 :1 CPU : 3.71 / 5.77 s I Elapsed : 4.00 / 6.00 s Total memory usage is 41296 kilobytes В начале отчета приведено его содержание. Отчет содержит шесть основных разделов, выделенных двойной штриховой линией. В первом разделе указаны уста- новленные значения параметров синтеза, рассмотренных выше, и некоторых общих параметров проекта (семейство и тип ПЛИС), а также форматы входных и выход- ных файлов. Второй раздел содержит информацию о ходе компиляции объектов исходных описаний в соответствии с иерархией проекта. В третьем разделе представлены ре- зультаты HDL-анализа скомпилированных объектов исходных описаний. В четвертом разделе содержится информация о последовательности их синтеза. В отдельной секции этого раздела расположены данные об обнаруженных макросах. Пятый раздел отображает последовательность оптимизации, выполняемой в про- цессе низкоуровнего синтеза. В заключительной части отчета приведены данные об основных параметрах процесса синтеза и статистические данные полученных ре- зультатов: количество EDIF-элементов и блоков ввода/вывода. Кроме текстового отчета средства пакета WebPACK ISE позволяют отобразить результаты синтеза на RTL-уровнс в схемотехнической форме, если перед выполне- нием этого процесса для параметра Generate RTL Schematic было установлено зна- чение YES или ONLY. Для просмотра этой формы результатов синтеза следует в окне процессов поместить курсор на строку View RTL Schematic и дважды щелкнуть ле- вой кнопкой мыши. При этом открывается окно схемотехнического редактора, в котором отображается RTL-представление проекта. На странице Design панели до- полнительных параметров представлена информация об иерархической структуре и элементах проекта (рис. 6.6).
156 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Oplcfw | SytrixA Dpsagn | Г RTLbeSgMHtewchy __ •* d»_reg1 » (carter >’ rinjeg -IdI Х| Instance Ccrtars* [2700,1690] /, Рис. 6.6. Отображение результатов синтеза на RTL-уровне в схемотехнической форме После успешного завершения этапа синтеза следует перейти к очередному - размещению и трассировки проекта в кристалле ПЛИС, который рассматривается в следующей главе.
7. Размещение и трассировка проектов в кристаллах ПЛИС семейств CPLD Этап реализации проектов (Implement Design), выполняемых на базе ПЛИС се- мейств CPLD фирмы Xilinx, включает в себя две фазы: трансляции (Translate) и рас- пределения ресурсов кристалла для реализации проектируемого устройства (Fit). В качестве названия для фазы Fit в литературе используются различные термины: компоновка, покрытие. Но ни один из них нс соответствует полностью содержанию этого процесса. Поэтому в дальнейшем Fit будем называть фазой размещения и трассировки проекта. Но при этом следует учитывать, что одноименный этап в про- цессе проектирования устройства на основе ПЛИС семейств FPGA имеет принци- пиально иное содержание, в корне отличное от Fit. В процессе трансляции выполняется объединение всех списков соединений в формате EDIF, входящих в состав проекта, и информации обо всех ограничениях, которая содержится в файлах UCF и NCF (Netlist Constraints File). Результатом фазы трансляции является формирование логического описания проекта в терминах при- митивов Xilinx низкого уровня с учетом временных и топологических ограничений, выполненного в формате NGD (Native Generic Database). На второй стадии рассмат- риваемого этапа производится разбиение логического описания проекта, полученно- го на предыдущем шаге, на блоки в соответствии с ресурсами выбранного типа ПЛИС. При этом выполняется оптимизация с целью минимизации используемых (необходимых) ресурсов кристалла с учетом заданных ограничений. В результате выполнения процесса размещения и трассировки создается двоичный файл, который описывает использование физических ресурсов кристалла для реализации функций проектируемого устройства. 7.1. Установка параметров этапа реализации проектов, выполняемых на основе ПЛИС семейств CPLD Перед активизацией процедур рассматриваемого этапа необходимо установить значения их параметров. Эти значения могут быть заданы отдельно для каждой фа- зы, например, перед ее активизацией, или единовременно для всего процесса в це- лом. В первом случае следует выделить в окне процессов (рис. 7.1) название соот- ветствующей фазы, после чего нажать кнопку 1!=У, расположенную на оперативной панели Навигатора проекта, или воспользоваться командой Properties контекстно- зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши. Затем в появившейся диалоговой панели нужно установить требуемые зна- чения параметров. При втором способе в окне процессов (рис. 7.1) выделяется стро- ка с названием этапа Implement Design и далее выполняется та же последователь- ность действий, что и в первом случае.
158 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС ...... " "-г------------------~ Somces in Prefect: | 6 icount Ы Q xc95144xl-5tq100-XSTVHDL В P) jc2 (jcZsch) M jc2.ucf ghfodiie View | tj Snapshot View | Ц) library View | :— ~ . .. ' '.J— Processes for Current Source: | Design Erliy Utilities I I Ш - -fi0 User Constraints В Qc^ Synthesize г- [=) View Synthesis Report ' : □ View RTL Schematic ’ Gc^ Analyze Hierarchy Implement Design j Е-Э • О T ranslate • - [=1 Translation Report 5 В О Fit ! ; ‘ О Fitter Report i I L M View Fitted Design (ChfViewer) ! В О Lock Pins i * 1 * * * 5 [?] Lock Pins Report 1 B- • G Generate Timing I 1 i- ® Timing Report I f *-• ГП AnalyzePost-FitStaticTirning(TimingAna^zer] 5 G Generate Post-Fit Simuation Model ’ ffl • О Generate IBIS Model H Q Generate Programming File ' "СРг°«»№»| :й .. i , ~ Рис. 7.1. Выбор этапа реализации проектов, выполняемых иа основе ПЛИС семейств CPLD, в окне процессов Навигатора проекта При использовании второго способа диалоговая панель параметров содержит пять страниц с закладками: Design, Basic, Advanced, Timing Report, Simulation Model Properties (рис. 7.2). Установка значений параметров производится теми же метода- ми, что и в диалоговой панели параметров синтеза. Страница Design содержит таблицу дополнительных параметров проекта, ис- пользуемых на этапе реализации. Значение параметра Macro Search Path указывает полное название каталога, в котором находятся описания макросов. Название тре- буемой папки вводится с клавиатуры или выбирается с помощью стандартной пане- ли навигации по дискам компьютера, после активизации поля ввода идентификатора щелчком левой кнопки мыши. Параметр Implementation Template позволяет разработчику выбрать стратегию оптимизации и соответствующие ей параметры процесса размещения и трассиров- ки. Выпадающий список содержит следующие значения: Optimize Balance, Optimize Speed, Optimize Density. Значение Optimize Speed устанавливает в качестве критерия оптимизации - быстродействие разрабатываемого устройства. При выборе значения
1. Размещение и трассировка проектов в кристаллах ПЛИС семейств CPLD 159 Optimize Density целью оптимизации является достижение максимальной плотности размещения проекта в кристалле (минимизация используемых ресурсов кристалла). Значение Optimize Balance, установленное по умолчанию, позволяет сочетать рас- смотренные выше стратегии оптимизации. Process Properties . г Jxj ; Design | Basic ] Advanced | Timing Report | Simutafcn Model PfOpertie$| _________Property Name_____________________ |_________Value 1 ‘Macro Search Path * • J .J IrnpiementatiGn Template_______________________________Optimize Speed i ' >4», ч' & <£iafr | OK | Cancel | Drfault | Help Рис. 7.2. Диалоговая панель параметров этапа реализации (страница Design) На странице Basic, приведенной на рис. 7.3, расположены основные параметры управления процессом размещения и трассировки. Process Properties ___ _ 2£| ! Design Basic | Advanced | Timing Report | Simulation Model Properties | = $_______________Property Name________________| Value lUse T«rtng Constraints _______________________ ЙУ • iUse Locdion Constraints_____jAlways _________________________________ 'Cxlput SteWRate______,______________o ________ Fast____________________ ftoglc optimization 'Z'T_____________-Speed__________________i " ^Default Powetup Value of Registers __________Low_____________________ •Preserve Unused Inputs___< _______ _____________________________________ , :Lfce Global Ctocfcs ; , ,____________________&_______________________ Use Global Output Enables______________;_______p______________________ Use Global Set/Reset _ ______________| ^Create Programmable GNO Pins on Unused bO_____ Г______________________ > ktecrocell Power Setting_____________________^d _________________ , . I/O Pin Term ration. .Keeper I OK I Cancel | pri~.7l | Help | Рис. 7.3. Страница Basic диалоговой панели параметров этапа реализации Параметр Use Timing Constraints определяет, будут ли средствами размещения и трассировки приниматься во внимание временные ограничения проекта. При вклю- ченном значении этого параметра, установленном по умолчанию, оптимизация в
160 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС процессе размещения и трассировки производится с учетом всех временных огра- ничений, указанных в модулях исходных описаний проекта и файлах ограничений UCF и NCF. Если для параметра Use Timing Constraints задано значение "выключе- но", то средства размещения и трассировки игнорируют всю информацию о времен- ных ограничениях. Параметр Use Location Constraints управляет использованием информации о то- пологических ограничениях проекта в процессе размещения и трассировки. Выпа- дающий список возможных значений этого параметра содержит три элемента: Always, Never, Try. Если установлено значение Always, то процесс размещения и трассировки выполняется с учетом топологических ограничений. Значение Never блокирует информацию о топологических ограничениях проекта. При значении Try средства размещения и трассировки пытаются учитывать топологические ограниче- ния, но при отрицательном результате эта информация игнорируется. Параметр Output Slew Rate предназначен для управления длительностью фронтов выходных сигналов. Выпадающий список доступных значений содержит следую- щие варианты: Fast, Slow, Timing Driven. Значение Fast, установленное по умолча- нию, задаст режим быстрого переключения выходных сигналов. При выборе значе- ния Slow снижается скорость изменения (увеличиваются фронты) выходных сигна- лов, что позволяет снизить уровень паразитных колебаний (шума) на выходах про- ектируемого устройства. Значение Timing Driven устанавливает скорость переклю- чения выходных сигналов согласно спецификации. Следует обратить внимание на то, что если в модуле исходного описания или в файле ограничений явно задан ре- жим переключения какого-либо выходного сигнала, то эти данные имеют более вы- сокий приоритет, чем параметр Output Slew Rate. Значение параметра Logic Optimization определяет вид оптимизации, выполняе- мой на логическом уровне. Выпадающий список содержит два возможных значения: Speed и Density. Значение Speed, используемое по умолчанию, устанавливает в каче- стве критерия логической оптимизации - быстродействие разрабатываемого уст- ройства. При выборе значения Optimize Density целью логической оптимизации яв- ляется достижение максимальной плотности размещения проекта в кристалле (ми- нимизация используемых ресурсов кристалла). С помощью параметра Default Powerup Value of Registers определяется состояние регистров (триггеров), устанавливаемое при включении напряжения питания. В выпадающем списке представлено три возможных значения: Low, High, FPGA Equivalent. Для кристаллов семейств CPLD используются только первые два вариан- та. Значение Low, установленное по умолчанию, соответствует состоянию логиче- ского нуля. Если выбрано значение High, то все триггеры реализуются таким обра- зом, что при включении питания находятся в состоянии высокого логического уров- ня. При этом следует учитывать, что значение, указываемое с помощью атрибута INIT для какого-либо триггера или регистра, имеет более высокий приоритет по сравнению с параметром Default Powerup Value of Registers. Параметр Preserve Unused Inputs позволяет выбрать режим сохранения неисполь- зуемых входов компонентов проекта. По умолчанию установлено значение "выклю- чено", при котором средства оптимизации исключают неиспользуемые входы компонентов.
7. Размещение и трассировка проектов в кристаллах ПЛИС семейств CPLD 161 Параметр Use Global Clocks управляет использованием глобальных цепей синхрони- зации. При включенном значении этого параметра, установленном по умолчанию, сред- ства размещения и трассировки могут использовать в качестве входов тактовых частот специальные выводы кристалла GCK, подключенные к глобальным цепям синхрониза- ции ПЛИС. Выключенное значение Use Global Clocks запрещает автоматическое исполь- зование глобальных тактовых цепей, если только в модулях исходного описания или файле ограничений явно не указано назначение выводов GCK. Значение параметра Use Global Output Enables разрешает или запрещает программам размещения и трассировки автоматически использовать глобальные цепи разрешения выходов ПЛИС (выводы GTS) для реализации входов управления тристабильны.ми вы- ходами проектируемого устройства. По умолчанию установлено разрешающее значение. Если задано запрещающее значение Use Global Output Enables, то выводы GTS могут использоваться только при явном указании соответствующих атрибутов в модулях ис- ходного описания проекта или в файлах ограничений. Параметр Use Global Set/Reset управляет использованием вывода GSR, к которому подключены глобальные цепи асинхронной установки и сброса ПЛИС, для реализации соответствующего входа проектируемого устройства. При разрешающем значении этого параметра, используемом по умолчанию, средства размещения и трассировки могут ав- томатически выбирать вывод CSR в качестве входа асинхронной установки или сброса проектируемого устройства. При установке запрещающего значения программы трасси- ровки используют вывод GSR только при наличии соответствующих атрибутов в моду- лях исходного описания или файлах ограничений. Параметр Create Programmable GND Pins on Unused I/O позволяет конфигуриро- вать все неиспользуемые выводы ПЛИС как "общий" (GND), что повышает помехо- устойчивость проектируемого устройства. По умолчанию установлено значение "выключено", запрещающее конфигурирование неиспользуемых выводов кристалла в качестве дополнительных контактов GND . С помощью параметра Macrocell Power Setting указывается режим потребляемой мощности макрояческ кристалла. Выпадающий список возможных значений содер- жит три варианта: Std, Low, Timing Driven. По умолчанию задано значение Std соот- ветствующее стандартному режиму потребления мощности. Выбор значения Low Позволяет перевести макроячейки в режим пониженного энергопотребления, что приводит к снижению их быстродействия. Если используется вариант Timing Driven. то выбирается режим энергопотребления макроячеек в соответствии с заданными временными ограничениями. Значение параметра I/O Pin Termination определяет состояние пользовательских > контактов ввода/вывода кристалла. В выпадающем списке представлены два воз- можных значения этого параметра: Keeper и Ploat. Значение Keeper, принятое по умолчанию, соответствует режиму подключения цепи удержания последнего со- стояния к пользовательскому выводу ПЛИС. При выборе значения Float схема удержания последнего состояния не используется. Страница Advanced диалоговой панели параметров этапа реализации содержит низкоуровневые параметры процесса размещения и трассировки (рис. 7.4). Рекомен- дуется для них использовать значения, установленные по умолчанию. Кроме того, здесь же представлены параметры, управляющие процедурами формирования отче- 6 Зотов В.Ю.
162 Зотов В. Ю Проектирование цифровых устройств на основе ПЛИС та о результатах временного анализа проекта и полной модели разрабатываемого устройства. Process Properties 4 v - » * Design | Basic Advanced | Timing Report | Simulation Model Properties | Property Name Exhaustive Ft Mode Use MUK-tevd Logic Optimization Cdepsng Pterm Limit (1-90)____ Collapsing input Limit (2-54) __ Generate Post-Fit Timing Report Generate PostTft Simulation Model Value !г . 50 54 | OK [ Caned | Detai. [ Help | Рис. 7.4. Страница Advanced диалоговой панели параметров этапа реализации С помощью параметра Exhaustive Fit Mode предоставляется возможность вклю- чения режима углубленной компоновки, который позволяет разместить больший объем логики в выбранный кристалл ПЛИС. При этом анализируются все возмож- ные сочетания значений параметров Collapsing Pterm Limit и Collapsing Input Limit c целью выбора оптимальной комбинации, обеспечивающей возможность размещения проекта в кристалле минимального объема при максимальной производительности. По умолчанию этот параметр находится в выключенном состоянии. Параметр Use Multi-level Logic Optimization разрешает или запрещает много- уровневую логическую оптимизацию, в процессе которой вначале выполняется уп- рощение логических выражений, после чего осуществляется преобразование логики в соответствии с выбранным критерием (быстродействие или плотность компонов- ки). По умолчанию установлено разрешающее значение, позволяющее уменьшить количество уровней логики и минимизировать общее число термов. Значение параметра Collapsing Pterm Limit определяет максимальное количество термов, используемых при реализации сложной комбинаторной логики. Значение по умолчанию зависит от типа ПЛИС, выбранного для реализации проекта. Параметр Collapsing Input Limit устанавливает максимальное допустимое коли- чество входов функционального блока, получающихся в результате разбиения логи- ки. Значение по умолчанию зависит от типа ПЛИС, выбранного для реализации проекта. Параметр Generate Post-Fit Timing Report управляет формированием отчета о ре- зультатах обобщенного временного анализа проекта, выполняемого после его раз- мещения и трассировки в кристалл. По умолчанию установлено значение "включе- но", разрешающее генерацию отчета, содержащего результаты обобщенного вре- менного анализа реализованного проекта.
7. Размещение и трассировка проектов в кристаллах ПЛИС семейств CPLD 163 Параметр Generate Post-Fit Simulation Model предоставляется возможность авто- матической генерации полной временной модели разрабатываемого устройства на основе полученных результатов размещения и трассировки проекта в кристалле. Значение "выключено", установленное по умолчанию, блокирует автоматическое формирование полной временной модели проекта после его размещения и трасси- ровки в кристалле. Страница Timing Report диалоговой панели параметров этапа реализации содер- жит единственный параметр, определяющий степень детализации отчета, содержа- щего результаты временного анализа проекта (рис. 7.5). Process Properties xf । Design ] Basic ] Advanced Timing Report j Simulation Model Properties | I Property Name___________________I Value | I Tirriris Report Format |sutnmary i_________________________________________________________ | OK | Cancel | beaut | Help Рис. 7.5. Страница Timing Report диалоговой панели параметров этапа реализации Значение параметра Timing Report Format позволяет выбрать одну из двух форм отче- та о результатах временного анализа проекта. По умолчанию установлен обобщенный формат отчета (Summary), включающий временные характеристики только основных путей распространения сигналов проекта. При выборе подробной формы (Detail) созда- ваемый отчет содержит значения задержек распространения сигналов по различным маршрутам внутри кристалла, реализующего проектируемое устройство. На странице Simulation Model Properties, вид которой показан на рис. 7.6, пред- ставлены параметры полной временной модели разрабатываемого устройства, фор- мируемой после размещения и трассировки проекта в кристалле. Значение параметра Simulation Model Target определяет тип формируемой моде- ли. При выборе типа модели указывается язык HDL, используемый для ее описания, и название системы моделирования, для которой она предназначена. В случае ис- пользования средств синтеза XST VHDL по умолчанию установлено значение Gencric_VHDL. Параметр Post Route Simulation Model Name позволяет указать название файла, в который записывается формируемая модель (в виде списка соединений nctlist). Ввод идентификатора файла осуществляется с помощью клавиатуры после активи- зации соответствующего поля редактирования.
164 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Process Properties . 2S1 DesignJ Sasic | Advanced) T'mrg Report Simulation Model Properties | f Property Name I Value ] Simulation Model Target______________'________ 1ШОЯ1йЩЯМИ12Ц Post Route Sinuiation Model blame______________[______________________ .Rename Top Level Entity to___________________________________________ Rename Top Level Architecture To _________/ __ iStructure_____________ •Retain Hierarchy .__________________________J |7_____________________ 'Bring Out_Globel SetIResel Net as a Port f-________________ •Globed SeWTeset Port Name____________________|№A_____________________| Reset On Contiguration Pulse VWtth... .... 1100___________________। Generate Testbench File \________' [“____________________ jRename Design Instance in Testbench File to__WA_______________ icicfcal Disable ot X-generation tor Simulation | OK | Cancel | Oe^Ji | Help Рис. 7.6. Страница Simulation Model Properties диалоговой панели параметров этапа реализации Параметр Rename Top Level Entity to предоставляет возможность изменения на- звания для объекта верхнего уровня иерархии создаваемого VHDL-описания моде- ли. По умолчанию, если значение этого параметра нс определено, то имя объекта верхнего уровня иерархии наследуется из модуля исходного описания проекта. Параметр Rename Top Level Architecture to позволяет изменить название архитек- турного тела объекта, соответствующего верхнему уровню иерархии создаваемого VHDL-описания модели. По умолчанию в качестве имени объекта верхнего уровня иерархии используется STRUCTURE. Для изменения этого названия следует акти- визировать поле редактирования и воспользоваться клавиатурой.' Значение параметра Retain Hierarchy определяет способ представления объектов HDL-описаний в процессе моделирования. Если этот параметр установлен в состоя- ние "включено", то указанные объекты моделируются в виде отдельных иерархиче- ских модулей, соответствующих исходному описанию проекта. По умолчанию уста- новлено значение "включено", при котором сохраняется иерархия объектов в про- цессе моделирования. Параметр Bring Out Global Set/Reset Net as a Port используется для включения глобальной цепи сброса/установки кристалла в описание интерфейса моделируемо- го объекта. Если данный параметр находится в состоянии "включено", то глобаль- ный сигнал сброса/установки триггерных ресурсов кристалла GSR преобразуется в формат порта объекта, который представлен в описании верхнего уровня иерархии проекта. Значение "выключено", принятое по умолчанию, соответствует обычному представлению глобальной цепи сброса/установки ПЛИС. Значение параметра Global Set/Reset Port Name позволяет указать название порта, соответствующего глобальной цепи сброса/установки кристалла. По умолчанию название порта совпадает с идентификатором этой цепи - GSR. Новое значение это-
7. Размещение и трассировка проектов в кристаллах ПЛИС семейств CPLD 165 го параметра вводится с помощью клавиатуры после активизации соответствующего поля редактирования. Эта опция доступна только в том случае, если параметр Bring Out Global Set/Reset Net as a Port установлен в состояние "включено". Значение параметра Reset on Configuration Pulse Width определяет длительность импульса, необходимого для моделирования компонентов, управляющих инициализаци- ей глобальных цепей сброса/установки в начальный момент времени (Reset-On- Configuration, ROC). По умолчанию для этого параметра используется значение 100 нс. Параметр Generate Testbench File управляет генерацией тестового файла по ре- зультатам моделирования. По умолчанию установлено значение "выключено", кото- рое запрещает автоматическую перезапись тестового файла. Параметр Rename Design Instance in Testbench File to позволяет переименовать объект верхнего уровня иерархии в тестовом модуле проекта. По умолчанию в каче- стве названия объекта, описывающего испытательный стенд, используется UUT. Это значение можно изменить только, если параметр Generate Testbench File находится в состоянии "включено". Значение параметра Global Disable of X-generation for Simulation разрешает или запрещает перевод регистров в неопределенное состояние (X) при нарушении вре- менных соотношений сигналов на его входах в процессе моделирования. При уста- новке этого параметра в состояние "включено" в случае обнаружении временных нарушений регистры сохраняют предыдущее состояние в процессе моделирования. По умолчанию установлено значение "выключено", разрешающее перевод регист- ров в неопределенное состояние (X) при нарушении временных соотношений вход- ных сигналов. Все выполненные изменения параметров размещения и трассировки вступают в силу после нажатия клавиши ОК в нижней части диалоговой панели. Далее следует активизи- ровать процесс размещения и трассировки или поочередно каждую его фазу. 7.2. Выполнение этапа реализации проектов, разрабатываемых на основе ПЛИС семейств CPLD Активизация процесса реализации проекта в полном объеме осуществляется двойным щелчком левой кнопки мыши на строке Implement Design в окне процедур Навигатора проекта (рис. 7. ]). Информация о ходе его выполнения отображается в окне консольных сообщений. Завершение выполнения каждой фазы этого процесса отмечается соответствующей пиктограммой в строке с ее названием и сопровожда- ется отчетом о полученных результатах. Для просмотра отчета о выполнении транс- ляции следует дважды щелкнуть левой кнопкой мыши на строке Translation Report. При этом открывается новое рабочее окно в IIDL-редакторе, в котором отображает- ся выбранный отчет. В качестве примера приведен отчет о выполнении трансляции проекта счетчика Джонсона, синтез которого рассмотрен в предыдущей главе. Отчет содержит информацию о каждом шаге трансляции (преобразовании F.Dli -описаний в формат Xilinx NGE), проверке временных спецификаций, верификации логической структуры проекта), а также об ошибках и предупреждениях.
166 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Отчет о выполнении процесса трансляции проекта счетчика Джонсона Release 5.1i - ngdbuild F.23 Copyright (с) 1995-2002 Xilinx, Inc. All rights reserved. Command Line: ngdbuild -dd _ngo -uc jc2.ucf -p xc9500xl jc2.ngc jc2.ngd Reading NGO file ,,C:/Project/jcount/jc2.ngc’ ... Reading component libraries for design expansion... Annotating constraints to design from file "jc2.ucf" ... Checking timing specifications ... Checking expanded design ... NGDBUILD Design Results Summary: Number of errors: 0 Number of warnings: 0 Writing NGD file "jc2.ngd" ... Writing NGDBUILD log file "jc2.bld"... Чтобы открыть отчет о результатах выполнении размещения и трассировки, сле- дует дважды щелкнуть левой кнопкой мыши на строке Pitler Report, после чего текст отчета отображается в новом окне встроенного HDL-редактора. В качестве примера показан сокращенный вариант отчета о выполнении рассматриваемого процесса для проекта счетчика Джонсона. Отчет о результатах размещения и трассировки проекта счетчика Джонсона cpldfit: version F.23 Xilinx Inc. Fitter Report Design Name: jc2 Dave: 2-13-2003, 7:24PM Device Used: XC95144XL-5-TQ100 Fitting Status: Successful ***********0********* Resource Sunn Macrocells Product Terms Re< Block Used Used Used 6 /144 ( 4%) 22 /720 ( 3%) 6 /V PIN RESOURCES: Signal Type Required Mapped iary ********************** jisters Pins Function Used inputs Used 14 ( 4%) 8 /81 ( 10%) 26 /432 ( 6%) Pin Type Used Remaining Input : 4 4 Output : 4 4 Bidirectional : 0 0 GCK : 0 0 GTS : 0 0 GSR ; о 0 Total В 8 MACROCELL RESOURCES: Total Macrocells Available Registered Macrocells Non-registered Macrocell driving I/O I/O : 5 68 GCK/IO : 1 2 GTS/IO : 2 2 GSR/IO : 0 1 144 6 0 GLOBAL RESOURCES: Global clock net(s) unused. Global output enable net(s) unused. Global set/reset net(s) unused.
7. Размещение и трассировка проектов е кристаллах ПЛИС семейств CPLD 167 POWER DATA: There are 6 macrocells in high performance mode (MCHP). There are 0 macrocells in low power mode (MCLP). There are a total of 6 macrocells used (MC). End of Resource Summary ********* Resources Used by Successfully Mapped Logic****** ★ * * * * A ** LOGIC * * Signal Total Signals Log Pwr Slew Pin Pin Pin Reg Init Name Pt Used Mode Rate Type Use State dir 3 4 FB5_1B STD (b) (b) RESET q<0> 4 5 FB3_8 STD FAST 27 GCK/I/O О RESET q<l> 4 5 FB1_8 STD FAST 15 I/O о RESET q<2> 4 5 FB2_11 STD FAST 6 I/O о RESET q<3> 4 5 FB2_5 STD FAST 1 GTS/I/O 0 RESET run 3 5 FB4_18 STD (bj (b) RESET ** INPUTS Signal Loc Pin Pin Pin Name ft Type Use elk FBI. _14 19 I/O I left FB2. „9 4 GTS/I/O I right FB3. „11 29 I/O I stop FB4. „14 95 I/O I End of Resources Used by Successfully Mapped Logic *******»****»**Function Block Resource Summary* **************** Function ft Of FB inputs Signals Total 0/Ю IO Block Macrocells Used Used Pt Used Req Avail FBI 1 5 5 4 1/0 11 FB2 2 7 7 8 2/0 10 FB3 1 5 5 4 1/0 10 FB4 1 5 5 3 0/0 10 FB5 1 4 4 3 0/0 10 FB6 0 0 0 0 0/0 10 FB7 0 0 0 0 0/0 10 FB8 0 0 0 0 0/0 10 6 22 4/0 81 A********** « * * *»»»»*****♦♦»** FBI ***** ********** ******** ****** Number of function block inputs used/remaining: 5/49 Number of signals used by logic mapping into function block: 5 Signal Total Imp Exp Unused Loc Pwr Pin Pin Pin Name Pt Pt Pt Pt Mode ft Type Use (unused) 0 0 0 5 FB1_1 (b) (unused) 0 0 0 5 FB1_2 11 I/O (unused) 0 0 0 5 FB1_3 12 I/O (unused) 0 0 0 5 FB1_4 (b) (unused) 0 0 0 5 FB1_5 13 I/O (unused) 0 0 0 5 FB1_6 14 I/O (unused) 0 0 0 5 FB1_7 (b) q<l> 4 0 0 1 FB1_8 STD 15 I/O о (unused) 0 0 0 5 FB1_9 16 I/O (unused) 0 0 0 5 FBl_10 (b) (unused) 0 0 0 5 FB1_11 17 I/O (unused) 0 0 0 5 FB1_12 18 I/O (unused) 0 0 0 5 FB1_13 (b) (unused) 0 0 0 5 FB1_14 19 I/O I (unused) 0 0 0 5 FB1_15 20 I/O (unused) 0 0 0 5 FB1_16 (b)
168 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС (unused) 0 0 0 5 FB1.17 22 GCK/I/O (unused) О О 0 5 (b) Signals Used by Logic in Function Block 1: dir 3: ,q<2>’' 5; elk 2: "q<0>° 4: run Signal 1234 Signals FB Name 0---+-----0---+-----0----+----0----*-----0 Used Inputs q<l> XXXXX.................................... 5 5 0----+----1----+-----2---+-----3---+-----4 0 0 0 0 Legend: Total Pt - Total product terms used by the macrocell signal Imp Pt - Product terms imported from other macrocells Exp Pt - Product terms exported to other macrocells in direction shown Unused Pt - Unused local product terms remaining in macrocell Loc - Location where logic was mapped in device Pwr Mode - Macrocell power mode Pin Type/Use - I - Input GCK - Global Clock 0 - Output GTS - Global Output Enable (b) - Buried macrocell GSR - Global Set/Reset X(@) - signal used as input (wire-AND input) to the macrocell logic. The number of Signals Used may exceed the number of FB Inputs Used due to wire-ANDing in the switch matrix. *********************»*.***»» FB2 ***************************** Number of function block inputs used/remaining; 7/47 Number of signals used by logic mapping into function block: 7 Signal Total Imp Exp Unused Loc Pwr Pin Pin Pin Name Pt Pt Pt Pt Mode # Type Use (unused) 0 0 0 5 FB2_1 (b) (unused) 0 0 0 5 FB2_2 99 GSR/I/O (unused) 0 0 0 5 FB2_3 (b) (unused) 0 0 0 5 FB2_4 (b) q<3> 4 0 0 1 FB2_5 STD 1 GTS/I/O о (unused) 0 0 0 5 FB2_6 2 GTS/I/O (unused) 0 0 0 5 FB2_7 (b) (unused) 0 0 0 5 FB2_B 3 GTS/I/O (unused) 0 0 0 5 FB2_9 4 GTS/I/O I (unused) 0 0 0 5 FB2_10 (b) q<2> 4 0 0 1 FB2_11 STD 6 I/O о (unused) 0 0 0 5 FB2.12 7 I/O (unused) 0 0 0 5 FB2_13 (b) (unused) 0 0 0 5 FB2.14 8 I/O (unused) 0 0 0 5 FB2.15 9 I/O (unused) 0 0 0 5 FB2_16 (b) (unused) 0 0 0 5 FB2_17 10 I/O (unused) 0 0 0 5 FB2_18 (b) Signals Used by Logic in Function Block 1: dir 4 ; “q<2>" 6: run 2: "q<0>n 5: ; •q<3>" 7: elk 3: "q<l>" Signal 1234 Signals FB Name 0---------0----+-----0----+-----0----+-----о Used Inputs q<3> XX.X.XX.................................... 5 5 q<2> X.X.XXX.................................... 5 5 o----4-----1----<----2---+-----3----+-----4 0 0 0 0
7. Размещение и трассировка проектов в кристаллах ПЛИС семейств CPLD 169 *********4 I ****** * * * * * * * * * *’* * FB3 ****** r * * * * « t * * * * * — Number of function block inputs used/remaining: 5/49 Number of signals used by logic mapping into funct ion block: 5 Signal Total Imp Exp Unused Loc Pwr Pin Pin Pin Name Pt Pt Pt Pt Mode Type Use (unused) 0 0 0 5 FB3 1 tb) (unused) 0 0 0 5 FB3 2 23 GCK/I/O (unused) 0 0 0 5 FB3 3 (b) (unused) 0 0 0 5 FB3 4 (b) (unused) 0 0 0 5 FB3 5 24 I/O (unused) 0 0 0 5 FB3 6 25 I/O (unused) 0 0 0 5 FB3 7 (b) q<0> 4 0 0 1 FB3 В STD 27 GCK/I/O 0 (unused) 0 0 0 5 FB3 9 28 I/O (unused) 0 0 0 5 FB3 10 (b) (unused) 0 0 0 5 FB3 11 29 ” I/O I (unused) 0 0 0 5 FB3 12 30 I/O (unused) 0 0 0 5 FB3 13 (b) (unused) 0 0 0 5 FB3 14 32 I/O (unused) 0 0 0 5 FB3 15 33 I/O (unused) 0 0 0 5 FB3 16 (Ы (unused) 0 0 0 5 FB3 17 34 I/O (unused) 0 0 0 5 FB3_18 (b) Signals Used by Logic in Function Block 1: dir 2: ’q<l>" 3: ”q<3>" 5: elk 4: run Signal Name 1 0 + 2 --0 + 3 4 Signals FB -0 + 0 + 0 Used Inputs q<0> XXXXX. 5 5 0 + -- 0 --1 + 0 -2----+ 3 + 4 0 0 ***************************** FB4 ***************************** Number of Number of Signal Name (unused) (unused) (unused) (unused) (unused) (unused) (unused) (unused) (unused) (unused) (unused) (unused) (unused) (unused) (unused) (unused) (unused) run function block signals used by Total Imp Exp Pt Pt Pt 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 inputs logic Unusec Pt 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 used/remaining: mapping into function block 1 Loc Pwr Pin Pin Mode # Type FB4_1 (b) FB4_2 87 I/O FB4_3 (b) FB4_4 (b) FB4_5 89 I/O FB4_6 90 I/O FB4_7 (b) FB4_8 91 I/O FB4_9 92 I/O FB4_10 (b) FB4_11 93 I/O FB4_12 94 I/O FB4_13 (b) FB4_14 95 I/O FB4_15 96 I/O FB4_16 (b) FB4_17 97 I/O FB4_18 STD (b) 5/49 : 5 Pin Use I (b) Signals Used by 1: run 2; elk Logic in 3 4 Function Block : right : left 5: Stop
170 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Signal 1 2 3 4 Signals FB Name Inputs 0 - + 0 +- — 0--- - + — -- 0 + о Used run xxxxx . . 5 5 о -+—-1 2 -+• 3 + 4 0 0 0 0 »»******♦’ гt*» t****** 1 ********* FB5 ***************************** Number of function block inputs used/remaining 4/50 Number of signals used by logic mapping into function blocfc 4 Signal Total Imp Exp Unused Loc Pwr Pin Pin Pin Name Pt Pt Pt Pt Mode # Type Use (unused) 0 0 0 5 FB5_1 (b) (unused) 0 0 0 5 FB5_2 35 I/O (unused) 0 0 0 5 FB5_3 (b> (unused) 0 0 0 5 FB5_4 (b) (unused) 0 0 0 5 FB5_5 36 I/O (unused) 0 0 0 5 FB5_6 37 I/O (unused) 0 0 0 5 FB5_7 (b) (unused) 0 0 0 5 FB5_8 39 I/O (unused) 0 0 0 5 FB5 9 40 I/O (unused) 0 0 0 5 FB5_10 (b) (unused) 0 0 0 5 FB5_11 41 I/O (unused) 0 0 0 5 FB5_12 42 I/O (unused) 0 0 0 5 FB5.13 (b) (unused) 0 0 0 5 FB5_14 43 I/O (unused) 0 0 0 5 FB5 15 46 I/O (unused) 0 0 0 5 FB5_16 (b) (unused) 0 0 0 5 FB5_17 49 I/O dir 3 0 0 2 FB5_18 STD (b) (b! Signals Used by Logic in Function Block 1; dir 2: elk 3: right 4: left Signal 1 2 3 4 Signals FB Name 0 - + о +_ 0-__ >0 + 0 Used Inputs dir xxxx. . . . 4 4 o -+ 1 +- --2--- .3 + 4 0 0 0 0 ; Implemented Equations. dir.D = left & dir # !(right) & !(dir); CLK = elk; INIT = R; •q<0>-.D = Bq<l>" & !(dir) # ! (’'q<3>'') & dir; CLK = elk; CE = run; INIT = R; q<l>".D = -q<0>" & dir # "q<2>" & I(dir); CLK = elk; CE = run; INIT = R; •'q<2>" .D - "q<l>" & dir # ‘'q<3>" & j (dir) ; CLK = elk; CE = run;
7. Размещение и трассировка проектов в кристаллах НЛИС семейств CPLD 171 INIT = R; “q<3>'.D= !("q<0>*') & ! (dir) ft "q<2>" & dir; CLK = elk; CE = run; INIT = R; !(run.D) = !(stop) & run # left ь right fc !(run); CLK = elk; INIT « R; *********************** Device pin Out »»********»*******’•*"’' Device : XC95144XL-5-TQ100 s GTVTTtTTTTTTVTTTGTTTTTTTT NICIIOlIIIIlCIIINDlITlIII DECEEpEEEEEECEEEDOEEEEEEE /100 98 96 94 92 90 88 86 84 82 80 78 76 \ q<3> 99 1 97 95 93 91 89 87 85 83 81 79 77 75 GND TIE 2 74 TIE TIE 3 73 TIE left 4 72 TIE VCC 5 71 TIE q<2> 6 70 TIE TIE 7 69 GND TIE 8 68 TIE TIE 9 67 TIE TIE 10 66 TIE TIE 11 65 TIE TIE 12 64 TIE TIE 13 XC95144XL-5-TQ100 63 TIE TIE 14 62 GND q<l> 15 61 TIE TIE 16 60 TIE TIE 17 59 TIE TIE 18 58 TIE elk 19 57 VCC TIE 20 56 TIE GND 21 55 TIE TIE 22 54 TIE TIE 23 53 TIE TIE 24 52 TIE TIE 25 27 29 31 33 35 37 39 41 43 51 45 47 49 VCC \26 28 30 32 34 36 38 40 42 44 46 48 50 VqTrTGTTTTTTVTTTTTGTTTTTT C<IiINIIIIIICIIIIINDIMCII COEgEDEEEEEECEEEEEDIESKEE > h t Legend : NC = Not Connected, unbonded pin PGND = Unused I/O configured as additional Ground pin TIE ~ Unused I/O floating -- must tie to VCC, GND or other signal VCC = Dedicated Power Pin GND ® Dedicated Ground Pin TDI = Test Data In. JTAG pin
172 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС ТОО = Test Data Out, JTAG pin TCK = Test Clock, JTAG pin TMS = Test Mode Select JTAG pin PE - Port Enable pin PROHIBITED = User reserved pin *,»**»»»»»-*•»******»* Compiler Options ••»••«»»»*••••««»»*•«» Following is a list of all global compiler options used by the fitter run. Device(s) Speci f ied XC95144XL-5-TQ100 Optimization Method SPEED Multi-Level Logic Optimization ON Ignore Timing Specifications OFF Default Register Power Up Value LOW Slew Rate FAST Keep User Location Constraints ON What-You-See-Is-What-You-Get OFF Exhaustive Fitting OFF Keep Unused Inputs OFF Power Mode STD Set Unused I/O Pin Termination FLOAT Set I/O Pin Termination KEEPER Global Clock Optimization ON Global Set/Reset optimization ON Global Ouput Enable Optimization ON Pterm Limit 50 Input Limit 54 Отчет содержит семь основных разделов, в начале каждого из которых указано его название. В разделе Resource Summary приведена общая информация о ресурсах ПЛИС и их использовании для реализации проектируемого устройства. В начале этого раздела указаны данные об общем количестве и числе используемых макро- ячеек, термов, регистров, выводов и функциональных блоков кристалла. Далее рас- полагается общая статистическая информация о сигналах, выводах, макроячейках, глобальных ресурсах и режиме потребления макроячеек. Раздел Resources Used hy Successfully Mapped Logic содержит подробную информацию о ресурсах ПЛИС, ис- пользованных для реализации проектируемого устройства. В разделе Function Block Resource Summary приведены общие статистические данные об использовании функциональных блоков кристалла. В четвертом разделе отчета расположена под- робная информация об использовании ресурсов каждого функционального блока ПЛИС. Этот раздел состоит из N самостоятельных, одинаковых по составу, секций с названиями FBI - FBL', где N - количество функциональных блоков в используемом кристалле. В разделе Implemented Equations представлены логические выражения, описывающие проектируемое устройство на этапе его реализации. Раздел Device Pin Out в наглядной форме отражает назначение всех выводов кристалла ПЛИС после загрузки конфигурационных данных проекта. В заключительной части отчета, Compiler Options, приведены значения основных параметров процесса размещения и трассировки. Для просмотра временных характеристик распространения сигналов внутри кри- сталла следует поместить курсор на строку Timing Report и дважды щелкнуть левой кнопкой мыши. Формат отчета о результатах временного анализа определяется выбранным значением параметра Timing Report l ormat, рассмотренного в предыду- щем разделе. Обобщенная форма огчега включает в себя четыре раздела. В начале отчета приводятся основные сведения об анализируемом проекте, времени и дате
7. Размещение и трассировка проектов в кристаллах ПЛИС семейств CP1.D 173 создания отчета. В секции Performance Summary указаны значения временных ха- рактеристик распространения сигналов в кристалле для различных маршрутов, со- ответствующие наихудшему случаю: значение задержки сигналов на выходных кон- тактах по отношению к таковому сигналу, время установления сигналов на входах данных по отношению к таковому сигналу, время распространения сигнала по це- пям, включенным между двумя триггерами или регистрами, управляемыми одним сигналом синхронизации. В конце этого раздела приведено минимальное значение периода и максимальная частота внутреннего сигнала синхронизации. Секция Clock Pad to Output Pad (tCO) содержит значения задержек сигналов на всех выходных контактах ПЛИС, используемых в проекте, по отношению к сигналу синхрониза- ции. В разделе Setup to Clock at Pad (tSU or tSUF) приведены значения времени ус- тановления для всех входных сигналов данных по отношению к таковому сигналу. В секции Clock to Setup (tCYC) представлены значения время распространения сиг- нала для всех цепей, включенных между двумя триггерами или регистрами, управ- ляемыми одним сигналом синхронизации. В качестве примера приведен отчет о ре- зультатах временного анализа, выполненного для проекта счетчика Джонсона, реа- лизованного на базе ПЛИС серии 9500XL. Отчет о результатах временного анализа проекта счетчика Джонсона Performance Summary Report Design; jc2 Device: XC95144XL-5-TQ100 Speed File: Version 3.0 Program: Timing Report Generator: version F.23 Date: Thu Feb 13 19:24:19 2003 Timing Constraint Summary: TS1000=PERIOD:PERIOD_clk:20.00 Met Performance Summary: Clock net 'elk' path delays: Clock Pad to Output Pad (tCO) : 5.5ns (1 macrocell levels) Clock Pad ‘elk1 to Output Pad *q<0>' [Pterm Clock) Clock to Setup (tCYC) : 5.6ns (1 macrocell levels) Clock to Q, net ‘q<l>.Q' to DFF Setup(D) at ,q<0>.D' (Pterm Clock) Target FF drives output net 'q_int0$Q' Setup to Clock at the Pad (tSU) : 1.7ns (0 macrocell levels) Data signal ‘left’ to DFF D input Pin at ‘dir.D' Clock pad 'elk' (Pterm Clock) Minimum Clock Period: 10.0ns Maximum Internal Clock Speed: lOO.OMhz (Limited by Clock Pulse Width) Clock Pad to output Pad (tCO) (nsec) \ From c \ 1 \ k \ \
174 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС То \-------- q<0> 5.5 q<l> 5.5 q<2> 5.5 q<3> 5.5 Setup to Clock at Pad (tSU or tSUF) (nsec) \ From c \ 1 \ к \ \ \ \ To \--------- left 1-7 right 1.7 stop 1.7 Clock to setup (tCYC) (nsec) (Clock: elk) \ From d q q q q r \ i < < < < u \ r 0 1 2 3 n \ > > > > \ Q . . Q \ Q Q Q Q \ To \ dir.D 5.6 q<O>.CE 5.6 q<0>.D 5.6 5.6 5.6 q<l>.CE 5.6 q<l> .D 5.6 5.6 5.6 q<2>.CE 5.6 q<2>.D 5.6 5.6 5.6 q<3>.CE 5.6 q<3>.D 5.6 5.6 5.6 run.D 5.6 Path Type Definition: Pad to Pad (tPD) - Reports pad to pad paths that start at input pads and end at output pads. Paths are not traced through registers. Clock Pad to Output Pad (tCO) - Reports paths that start at input pads trace through clock inputs of registers and end at output pads. Paths are not traced through PRE/CLR inputs of registers. Setup to Clock at Pad (tSU or tSUF) - Reports external setup time of data to clock at pad. Data path starts at an input pad and ends at register (Fast Input Register for tSUF) D/T input. Clock path starts at input pad and ends at the register clock input. Paths are not traced through registers. Pin-to-pin setup requirement is not reported or guaranteed for product-term clocks derived from macrocell feedback signals. Clock to Setup (tCYC) - Register to register cycle time, include source register tCO and destination register tSU. При получении успешных результатов размещения и трассировки можно перей- ти к следующим этапам разработки проектируемого устройства.
8. Моделирование цифровых устройств, проектируемых на базе ПЛИС семейств CPLD фирмы Xilinx 8.1. Этапы моделирования цифровых устройств, разрабатываемых на основе кристаллов семейств CPLD фирмы Xilinx В процессе проектирования средства пакета WebPACK 1SE позволяют сформи- ровать несколько видов моделей разрабатываемого устройства. После создания мо- дулей исходного описания проекта генерируется поведенческая модель, которая по- зволяет выполнить их функциональную верификацию. На этой стадии проектирова- ния отсутствует информация о значениях задержек распространения сигналов, по- этому при функциональном моделировании можно обнаружить только логические и синтаксические ошибки в описании разрабатываемого устройства. Таким образом, функциональное моделирование устройства позволяет выполнить предварительную верификацию проекта. На этом этапе фактически не учитываются временные харак- теристики и особенности архитектуры кристалла, на базе которого предполагается реализация проектируемой системы. Часто в литературе этот процесс называют мо- делированием на уровне регистровых передач (Register Transfer Level, RTL). Для функционального моделирования проекта используется библиотека UniSim Library, элементы которой имеют единичные задержки. Состав моделей, формируемых на последующих этапах процесса проектирова- ния, зависит от типа семейства ПЛИС (FPGA или CPLD), выбранного для реализа- ции разрабатываемого устройства. Только после проведения этапов синтеза, разме- щения и трассировки становится доступной информация об используемых ресурсах кристалла и задержках распространения сигналов, которая необходима для форми- рования более адекватной модели. В отличие от функционального последующие этапы моделирования выполняются с применением библиотеки SimPrim Library, которая содержит описание элементов на уровне ресурсов кристалла. Эта библиоте- ка позволяет учитывать информацию о задержках распространения сигналов, кото- рая содержится в соответствующих файлах, имеющих стандартный формат SDF (Standard Delay Format). Так как содержание этапа реализации (Implementation) ко- ренным образом отличается для семейств CPLD и FPGA, что обусловлено их архи- тектурными особенностями, то процесс генерации моделей, учитывающих времен- ные характеристики используемых кристаллов, включает в себя различные фазы, в зависимости от выбранного типа ПЛИС. Для проектов, выполняемых на основе ПЛИС семейств CPLD, кроме функциональной модели может быть сформирована только полная временная модель устройства. Таким образом, процесс проектирова- ния систем на базе кристаллов семейств CPLD включает в себя два этапа моделиро- вания: функционального и полного временного. Все виды моделирования цифровых
176 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС устройств, разрабатываемых в среде САПР WebPACK ISE, выполняются с помощью системы HDL-модслирования ModelSim. Прежде чем приступать непосредственно к выполнению этапов моделирования, необходимо сформировать файл описаний тестовых воздействий, если он не был подготовлен на этапе создания исходных модулей проекта. Методы разработки тес- тового модуля проекта подробно рассмотрены в 5.5. На всех этапах моделирования может использоваться один и тот же модуль описаний тестовых воздействий. По окончании формирования тестового файла следует выделить строку с его на- званием в окне исходных модулей Навигатора проекта, поместив на нее курсор мыши и щелкнув левой кнопкой. В результате в окне процессов отображается инте- рактивный список этапов моделирования проектируемого устройства. Содержание окна процедур в этом режиме определяется видом семейства ПЛИС, выбранного для реализации проекта, но независимо от типа используемого кристалла первым в списке является этап функционального моделирования. На рис. 8.1 показан вид ра- бочей области Навигатора проекта, в которой отображаются этапы моделирования в процессе проектирования устройства на базе ПЛИС семейств CPLD при использо- вании средств синтеза XST VHDL. Строка Simulate Behavioral VHDL Model соответ- ствует этапу функционального моделирования, a Simulate Post-Fit VHDL Model - полного временного. Рис. 8.1. Отображение этанов моделирования устройств, разрабатываемых на базе ПЛИС семейств CPLD, в рабочей области Навигатора проекта пакета WebPACK ISE Все этапы моделирования проекта выполняются в пакетном режиме. Поэтому далее основное внимание уделяется описанию параметров инициализации програм-
8. Моделирование цифровых устройств, проектируемых иа базе ПЛИС семейств CPLD 177 мы ModcISim и временной модели, с помощью которых осуществляется управление процессом моделирования. Состав этих параметров зависит от языка описания ап- паратуры HDL и средств синтеза, используемых в процессе проектирования. В последующих разделах данной главы будут рассмотрены параметры процессов моделирования проектов, разрабатываемых на основе кристаллов семейств CPLD с применением средств синтеза XST VHDL. 8.2. Установка значений параметров функционального моделирования проекта Перед запуском средств моделирования следует проконтролировать и при необ- ходимости установить требуемые значения параметров инициализации программы ModelSim и соответствующей модели. Для этого нужно в окне процессов (рис. 8.1) щелчком левой кнопки мыши выделить строку Simulate Behavioral VHDL Model. |[p[| после чего нажать кнопку L!=iJ, расположенную на оперативной панели Навигатора проекта, или воспользоваться командой Properties контекстно-зависимого всплы- вающего меню, которое выводится при щелчке правой кнопки мыши. В результате выполненных действий на экране монитора отображается диалоговая панель пара- метров процесса функционального моделирования, вид которой показан на рис. 8.2. Process Properties Х{ SrmJaliori Properties | Display Properties | ' ’ ’ ________Property Maine ____________[_______Value (Custom Do File . „,| 4Jse Automatic Do frte_______________ pt_____________________ SimUotion Run Tune ._____________________1000ns ,Simulation Resolution __________________Default C1 ps) _____ iVHDLS^tex_______________________________93__________________ (Use Explicit Declarations Only p .Desian Unit Name_______________‘ '' ' testbench_____________ \ | OK | Cancel | ди | Help | Рис. 8.2. Диалоговая панель параметров процесса функционального моделирования (страница Simulation Properties) Эта диалоговая панель содержит две страницы, снабженные закладками с их на- званиями: Simulation Properties, Display Properties. Каждая из этих страниц содер- жит соответствующую группу параметров, представленных в виде таблицы, струк- тура которой подробно рассмотрена в гл. 4. Чтобы изменить значение параметра, следует активизировать соответствующее поле таблицы, поместив на него курсор п щелкнув левой кнопкой мыши, а затем воспользоваться кнопкой управления вы- падающим списком значений или, если параметр имеет два состояния ("включе-
178 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС но"/"выключено"), щелкнуть левой копкой мыши на поле индикатора состояния. Для некоторых параметров требуемое значение может быть введено непосредствен- но с клавиатуры. Содержание страниц в диалоговой панели параметров моделиро- вания зависит от выбранного семейства ПЛИС и языка описания HDL. Рассмотрим подробнее эти параметры для случая использования семейств ПЛИС CPLD и средств синтеза XST VHDL. На странице Simulation Properties представлены общие параметры процесса мо- делирования. Параметр Custom Do File позволяет указать название командного фай- ла, который будет выполняться при активизации средств моделирования в дополне- ние к файлу, формируемому автоматически пакетом WebPACK ISE. Название ко- мандного файла может быть введено непосредственно с клавиатуры после активи- зации поля редактирования значения этого параметра или выбрано при использова- нии стандартной диалоговой панели открытия файла, которая выводится при нажа- тии кнопки с пиктограммой в виде многоточия "..Л Значение параметра Use Automatic Do File разрешает или запрещает автоматиче- ское создание и исполнение командного файла, который содержит директивы ком- пиляции всех VHDL-файлов проекта, активизации процесса моделирования и ото- бражения его результатов. По умолчанию установлено значение "включено”, разре- шающее генерацию и выполнение этого пакетного файла. Параметр Simulation Run Time устанавливает длительность интервала моделиро- вания, которое выполняется автоматически в пакетном режиме. Значение этого параметра указывается с помощью клавиатуры после активизации соответствую- щего поля редактирования. По умолчанию длительность интервала моделирования принимается равной 1000 нс. Значение параметра Simulation Resolution определяет разрешающую способность процесса моделирования, т. е. величину временного дискрета, с которым вычисляет- ся состояние проектируемого устройства. Требуемое разрешение выбирается из вы- падающего списка возможных значений, который содержит 18 позиций, отличаю- щихся на порядок по отношению к соседним. По умолчанию величина временного дискрета моделирования установлена равной 1 пс. С помощью параметра VHDL Syntax выбирается стандарт синтаксиса (версия) языка VHDL, в соответствии с которым формируется описание моделируемой сис- темы. Выпадающий список возможных значений этого параметра содержит две строки: 87 и 93 (установлено по умолчанию), которые соответствуют стандартам: IEEE VHDL Std 1076-1987 и IEEE VHDL Std 1076-1993. Параметр Use Explicit Declarations Only используется для предотвращения кон- фликтов из-за неоднозначности, возникающей при использовании перегрузки функ- ций. Значение "включено", принятое по умолчанию для данного параметра, уста- навливает более высокий приоритет явного определения функций, чем для случая их неявного использования. Значение параметра Design Unit Name определяет название моделируемого уст- ройства (или одного из модулей проекта). По умолчанию используется значение "testbench", которое устанавливается в качестве названия объекта модели испыта- тельного стенда при автоматическом формировании тестового модуля средствами пакета WebPACK ISE.
8. Моделирование цифровых устройств, проектируемых па базе ПЛИС семейств CPLD 179 На странице Display Properties представлены параметры, управляющие отобра- жением окон программы моделирования ModelSim при ее активизации (рис. 8.3). При запуске средств моделирования непосредственно из управляющей оболочки пакета WebPACK ISE автоматически открываются только те окна ModelSim, для ко- торых соответствующий параметр установлен в состояние "включено". Параметр Signal window определяет режим отображения окна сигналов, Wave window ~ окна временных диаграмм, Structure window — окна структуры проекта, Source window - окна исходного кода, List window - окна табличной формы результатов моделирова- ния, Variables window - окна переменных, Process window — окна процессов, Data Flow window — окна трассировки сигналов. По умолчанию в начале сеанса модели- рования автоматически открываются окна сигналов, временных диаграмм и струк- туры проекта. Process Properties Simulation Properties Display Properties | Property Нате Sjcnalwindow___________________ Wave window ___________________ . Structure window______________ Source window__________________ List window____________________ Variables window_______________ Process window Data Flow window Value F я______________ p-_____________ г______________ г______________ г | OK | Cancel | Delril: | Help Рис. 8.3. Страница Display Properties диалоговой панели параметров процесса функционального моделирования Выполнив необходимые изменения параметров процесса моделирования, следует подтвердить их нажатием клавиши ОК в нижней части диалоговой панели (рис. 8.2 и 8.3). 8.3. Функциональное моделирование проекта с помощью программы ModelSim Процесс функционального моделирования проекта активизируется двойным щелчком левой кнопки мыши на строке Simulate Behavioral VHDL Model в окне процессов Навигатора проекта. При этом средствами пакета WebPACK ISE авто- матически создастся пакетный файл, который содержит последовательность команд управления программой ModelSim, необходимых для проведения сеанса функцио- нального моделирования проектируемого устройства. Далее автоматически произ- водится запуск средств моделирования, сразу после инициализации которых выпол-
180 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС няется этот командный файл (если только параметр Use Automatic Do File нс был установлен в состояние "выключено")- Информация о ходе выполнения пакетного файла отображается в консольной области основного окна программы ModelSim. При этом последовательно открываются дочерние окна этой программы, которые были указаны в параметрах инициализации. После завершения выполнения команд- ного файла при необходимости моделирование может быть продолжено в интерак- тивном режиме. На рис. 8.4, в качестве примера, приведены результаты функцио- нального моделирования счетчика Джонсона, разработка которого рассмотрена в предыдущих главах. '? -'П1 Не £* Mew insert Рцтм Took Whdow >e3Q3 * Ъй; D % •f’"; 1 fq: 127934 ps to 064943 ps Рис. 8.4. Результаты функционального моделирования проекта счетчика Дженсона Как правило, наибольший интерес для разработчика представляют результаты моделирования, которые отображаются в графическом виде в окне временных диа- грамм программы ModelSim. Для их просмотра, прежде всего, необходимо выбрать требуемый масштаб изображения. Увеличение масштаба осуществляется с помощью Г©^| кнопки I---1, расположенной на оперативной панели управления окна временных диаграмм, или команды Zoom hi из всплывающего меню Zoom, доступ которому предоставляет пункт View основного меню. Чтобы уменьшить масштаб изображе- ния, следует использовать кнопку быстрого доступа i I па оперативной панели или команду "Zoom Out. Однократное применение этих инструментов приводит к изме- нению масштаба в два раза. Для детального просмотра выбранного фрагмента врс- .. '4j менных диа>рамм следует воспользоваться кнопкой на оперативной панели или
8. Моделирование цифровых устройств, проектируемых на базе ПЛИС семейств CPLD 181 командой Zoom Range. При этом, чтобы указать интересующую область изображе- ния результатов моделирования, следует поместить курсор мыши на одну из ес i ра- ниц, нажать левую кнопку мыши и, не отпуская сс. раздвинуть появившиеся курсо- ры до границ требуемого диапазона, после чего освободить нажатую кнопку. Перемещение по временным диаграммам осуществляется с помощью элементов прокрутки, расположенных вдаль нижней и правой границ панели результатов мо- делирования в окне временных диаграмм. Кроме того, на оперативной панели име- ются кнопки быстрого доступа и - I. обеспечивающие перемещение курсора в предыдущую или следующую точку переключения выбранного сигнала. При откры- тии окна диаграмм сигналов курсор находится в начальной точке временной шкалы, которая соответствует пулевому значению времени моделирования. Чтобы перемес- тить его в требуемую точку, следует расположить указатель мыши в этой позиции и щелкнуть левой кнопкой, после чего изображение курсора будет зафиксировано в новом наложении. Допускается также перетаскивание курсора в новую точку с по- мощью мыши, которое выполняется при нажатой левой кнопке. Для измерения временных интервалов на диаграммах сигналов, полученных в результате моделирования, следует использовать дополнительные курсоры. Чтобы сс ПЯ добавить еще один курсор, необходимо нажать кнопку на оперативной панели управления. При наличии нескольких указателей активный курсор изображается сплошной линией, а остальные — штриховой. Поместив курсоры на границах изме- ряемого временного интервала, можно определить его длительность, которая ото- бражается в нижней части окна диаграмм в виде разности координат указателей. При необходимости можно использовать несколько дополнительных курсоров. В последующем для удаления неиспользуемых указателей можно воспользоваться кнопкой I 1 на оперативной панели или командой Delete Cursor из всплывающего меню Edit. В ряде случаев для батьшей наглядности результатов моделирования можно представить совокупность выбранных сигналов в виде шины. Для этого необходимо выделить названия соответствующих сигналов в окне временных диаграмм и вы- брать команду Combine Signals из всплывающего меню Tools, после чего выводится диалоговая панель, показанная на рис. 8.5. В поле редактирования Name с помощью клавиатуры необходимо указать название формируемого виртуального сигнала (ши- ны). Кнопки Ascending и Descending позволяют выбрагь порядок следования Сита- лов в шипе. Параметр Remove selected signals after combining предоставляет возмож- ность удаления сигналов после их объединения в виртуальную шину. По умолчанию Для этого параметра установлено значение "выключено", запрещающее удаление из окна временных диаграмм сигналов, вошедших в состав виртуальной шины. Сфор- мированный виртуальный сигнал отображается в списке пиктограммой в форме ромба красного цвета, в отличие от реальных сигналов, обозначаемых пиктограм- мой в виде квадрата синего цвета.
182 Зотов в, Ю. Проектирование цифровых устройств иа основе ПЛИС При автоматическом создании командного файла для сеанса моделирования средства пакета WebPACK ISE включают в список контролируемых сигналов только интерфейсные сигналы моделируемого объекта. Но в процессе отладки часто возни- кает необходимость отображения поведения внутренних сигналов в различных мо- дулях проекта. Для этого следует в иерархической структуре проекта, представлен- ной в окне Structure, выбрать интересующий объект, поместив курсор мыши на строку с его названием и щелкнув левой кнопкой мыши. При этом в окне Signals отобразится соответствующий список сигналов, в котором следует захватить тре- буемый элемент, поместив курсор мыши на строку с его названием, нажав левую кнопку, и, не отпуская сс, перетащить его в область названий сигналов окна времен- ных диаграмм. Далее можно продолжить моделирование с текущего момента вре- мени или повторить выполненные процедуры сначала. В последнем случае следует сбросить результаты моделирования и вернуть систему в начальное состояние, вы- полнив команду Restart из всплывающего меню Run, доступ к которому открывает пункт Simulate главного меню основного окна программы ModelSim, или нажав Тй кнопку L j на оперативной панели. Повторноемоделированис инициируется ко- мандой Run -All или кнопкой быстрого доступа I.L.'L!. Результаты моделирования, полученные в текущем сеансе, автоматически сохра- няются в виде набора данных (dataset) с именем vsim в формате WLF (Wave log format). Чтобы сохранить результаты моделирования в файле с другим именем, следует выполнить команду Save из всплывающего меню File основного окна программы ModelSim или команду Save Dataset из выпадающего меню File окна временных диа- грамм. После выбора строки sim dataset или sim открывается стандартная панель сохранения файла, в которой нужно указать с помощью клавиатуры требуемое на- звание набора данных. Для завершения этапа функционального моделирования сле- дует выполнить команду End Simulation из меню Simulate и закрыть основное окно программы ModelSim, после чего можно переходить к временному моделированию, которое рассматривается в следующих разделах.
8. Моделирование цифровых устройств, проектируемых на базе ПЛИС семейств CPLD J 83 8.4. Установка значений параметров временного моделирования проекта Для контроля и установки требуемых значений параметров временного модели- рования нужно в окне процессов (рис. 8.1) щелчком левой кнопки мыши выделить 1Ж1 строку Simulate Post-Fit VHDL Model, после чего нажать кнопку расположен- ную на оперативной панели Навигатора проекта, или воспользоваться командой Properties контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши. Отображаемая после этого диалоговая панель пара- метров временного моделирования, в отличие от функционального, содержит три страницы, снабженные закладками с их названиями: Simulation Properties, Display Properties и Simulation Model Properties (рис. 8.6). Process Properties \ X| Simulation Properties | Display Properties | Simulation Model Properties] I ' Property Kame I Value Custom Do File. : :| Use AUomatk? Do File Simulation Run Trie , .1000ns i Ssnutation Resolution________________________________Default (1 ps)____________ - .-Simulation Mode___________________________________Maximum Delay_____________ ' VHDLSyntax_______________________.' __________,93_______________________ Use Expect Declarations Orly________________________p________________________ Design Lint Name _____________________. testbench___________________ UUT Instance Nome '________________________________UUT ______________________ ,. Generate VCO File_________________________________JT_________________________ | OK | Cancel | Default | Help Рис. 8.6. Диалоговая панель параметров процесса временного моделирования (страница Simulation Properties) Страница Simulation Properties включает в себя все параметры инициализации программы ModelSim и процесса моделирования, присутствующие на одноименной странице в случае функциональной верификации. Назначение этих параметров и их возможные значения достаточно подробно рассмотрены в 8.2. Кроме того, страница Simulation Properties для процесса временного моделирования содержит три допол- нительных параметра. Параметр Simulation Mode предназначен для выбора режима временного модели- рования. В выпадающем списке возможных значений этого параметра представлены три варианта: Maximum Delay, Typical Delay. Minimum Delay. При использовании значения Maximum Delay, установленном по умолчанию, проектируемое устройство моделируется с учетом максимальных величин задержек, указанных в соответст- вующем файле SDF-. Значения Typical Delay и Minimum Delay соответствуют режи- мам моделирования при типовых и минимальных задержках распространения сиг-
184 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС налов. К сожалению, в текущей версии пакета WebPACK ISE значения задержек, приведенные в файле SDF, одинаковы для всех трех вариантов и соответствуют мак- симальной величине. Поэтому возможности, предоставляемые с помощью парамет- ра Simulation Mode, полностью будут реализованы только в последующих версиях программных средств проектирования. Значение параметра UUT Instance Пате определяет название объекта верхнего уровня иерархии в тестовом модуле проекта. По умолчанию в качестве названия объекта, описывающего испытательный стенд, используется UUT. С помощью параметра Generate VCD File осуществляется управление формиро- ванием файла результатов в формате VCD (Value Change Dump) в процессе времен- ного моделирования. Этот файл может использоваться, в частности, программой оценки потребляемой мощности XPower. При использовании значения "выключено", установленного по умолчанию, автоматическое создание файла VCD в процессе временного моделирования нс производится. Страница Display Properties панели параметров процесса временного моделиро- вания содержит те же опции, что и для этапа функционального моделирования (рис. 8.3). Значение каждого параметра, расположенного на этой странице, опреде- ляет режим отображения соответствующего дочернего окна программы ModclSim. На странице Simulation Model Properties, вид которой показан на рис. 8.7, пред- ставлены параметры временной модели проектируемого устройства. Process Properties Simulation Properties | Display Properties SimrJation Model Properties Property Name Change Device Speed To Correlate Simulation Data to Input Design ' Retain Herarchy Bring Out Global Tristate Net as a Pert Global Tristate Port Name . _______ Tristate On Configuration Pulse Width _______ Bring Out Globa! Setffteset Net e^a Port_____ [Global SetJReset Port Name 'Reset On Configuration Pulse Wdth jGenerete Testbench File ? Global Disable of X-generation for Simulation _jp_ J Г NA iO Г WA 2li00 ZJr г Value OK I Cancel | D c It | Help | Рис. 8.7. Страница Simulation Model Properties диалоговой панели, представляющей параметры процесса временного моделирования Параметр Change Device Speed to позволяет при моделировании изменить быст- родействие кристалла, выбранного для реализации проекта. Таким образом, в про- цессе моделирования предоставляется возможность исследования функционирова- ния разрабатываемого устройства при вариации скоростных характеристик исполь- зуемой ПЛИС. Тем самым, опытным путем определяются требования к бысгродей-
8. Моделирование цифровых устройств, проектируемых на базе ПЛИС семейств CPLD J б5 ствию кристалла, на базе которого выполняется проект. Новое значение этого пара- метра указывается с помощью клавиатуры после активизации соответствующего поля редактирования. С помощью параметра Correlate Simulation Data to Input Design включается и выключается режим согласования данных процесса моделирования и исходного описания проектируемого устройства. При включенном значении этого параметра создастся дополнительный файл формата NGM, в котором располагается информа- ция о соотношении логического и физического уровней представления проекта. При использовании режима согласования восстанавливается информация об исходной иерархии проекта, а также названия цепей, преобразованных в процессе размещения и трассировки. По умолчанию установлено значение "включено", при котором дан- ные процесса моделирования увязываются с исходными описаниями проекта. Значение параметра Retain Hierarchy определяет способ представления объектов HDL-описаний в процессе моделирования. Если этот параметр установлен в состоя- ние "включено", то указанные объекты моделируются в виде отдельных иерархиче- ских модулей, соответствующих исходному описанию проекта. При этом параметр Correlate Simulation Data to Input Design должен быть также установлен в состояние "включено". По умолчанию установлено значение "включено", при котором иерар- хия объектов в процессе моделирования сохраняется. Параметр Bring Out Global Tristate Net as a Port предоставляет возможность включения глобальной цепи управления тристабильными выходами кристалла в описание интерфейса моделируемого объекта. При использовании значения "вклю- чено" глобальный сигнал управления тристабильными выходами кристалла GTS преобразуется в формат порта объекта, который представлен в описании верхнего уровня иерархии проекта. По умолчанию для данного параметра установлено значе- ние "выключено", которое соответствует обычному представлению глобальной цепи управления тристабильными выходами ПЛИС. Значение параметра Global Tristate Port Name определяет название порта, соответст- вующего глобальной цепи управления тристабильными выходами кристалла. Данная опция доступна, только если предыдущий параметр находится в состоянии "включено". По умолчанию используется название порта, совпадающее с идентификатором этой глобальной цепи - GTS. Изменить значение этого параметра можно с помощью кла- виатуры после активизации соответствующего поля редактирования. С помощью параметра Tristate On Configuration Pulse Width задастся длитель- ность импульсного сигнала, необходимого для моделирования компонентов, форми- рующих сигнал инициализации для глобальных цепей управления третьим состоя- нием в начальный момент времени. Данная опция применяется только при выклю- ченном значении параметра Bring Out Global Tristale Net as a Port. По умолчанию длительность этого импульса принимается равной нулю. Параметр Bring Out Global Set/Reset Net as a Port используется для включения глобальной цепи сброса/установки кристалла в описание интерфейса моделируемо- го объекта. Если данный параметр находится в состоянии "включено", то глобаль- ный сигнал сброса/установки триггерных ресурсов кристалла GSR преобразуется в формат порта объекта, который представлен в описании верхнего уровня иерархии
186 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС проекта. Значение "выключено", принятое по умолчанию, соответствует обычному представлению глобальной цепи сброса/установки ПЛИС. Значение параметра Global Set/Reset Port Name позволяет указать название порта, соответствующего глобальной цепи сброса/установки кристалла. Данный параметр используется только при условии, что Bring Out Global Set/Reset Net as a Port уста- новлен в состояние "включено". По умолчанию название порта совпадает с иденти- фикатором глобальной цепи сброса/установки - GSR. Новое значение этого пара- метра вводится с помощью клавиатуры после активизации соответствующего поля редактирования. Значение параметра Reset on Configuration Pulse Width определяет длительность импульса, необходимого для моделирования компонентов, управляющих инициали- зацией глобальных цепей сброса/установки в начальный момент времени. По умол- чанию для этого параметра используется значение 100 нс. Данная опция использует- ся только в случае, если параметр Bring Out Global Set/Reset Net as a Port находится в состоянии "выключено". Параметр Generate Testbench File управляет генерацией тестового файла по ре- зультатам моделирования. По умолчанию установлено значение "выключено", кото- рое запрещает автоматическую перезапись тестового файла. Значение параметра Global Disable of X-generation for Simulation разрешает или запрещает перевод регистров в неопределенное состояние (X) при нарушении вре- менных соотношений сигналов на его входах в процессе моделирования. При уста- новке этого параметра в состояние "включено" в случае обнаружении временных нарушений регистры сохраняют предыдущее состояние в процессе моделирования. По умолчанию установлено значение "выключено", разрешающее перевод регист- ров в неопределенное состояние (X) при нарушении временных ограничений для входных сигналов. Выполненные изменения значений для параметров инициализации программы ModelSim и временной модели вступают в силу после нажатия клавиши ОК в ниж- ней части диалоговой панели (рис. 8.7). 8.5. Временное моделирование проекта, реализуемого на базе ПЛИС семейств CPLD Запуск процесса временного моделирования проекта осуществляется двойным щелчком левой кнопки мыши на строке Simulate Post-Fit VHDL Model в окне про- цессов Навигатора проекта (рис. 8.1). Если этапы синтеза, размещения и трасси- ровки были проведены успешно, то далее автоматически создается командный файл сеанса временной верификации и производится запуск системы моделирования ModelSim, которая сразу же после инициализации исполняет этот пакетный файл. При отсутствии окончательных результатов этапа реализации проекта (например, в случае их удаления с помощью команды Cleanup Project Files из всплывающего меню Project, или, если размещение и трассировка не проводились) программные средства пакета WebPACK ISE автоматически выполнят все необходимые процеду- ры, после чего будет активизирован непосредственно процесс временного модели- рования.
8. Модезироватше цифровых устройств, проектируемых иа базе ПЛИС семейств CPLD 187 Для проекта, в котором правильно учтены все временные факторы (выбран кри- сталл с необходимым быстродействием заданы и выполнены соответствующие ог- раничения), результаты временного моделирования отличаются от функционального только наличием задержек между входными и выходными сигналами. В качестве примера, на рис. 8.8, приведены временные диаграммы, полученные в результате полного моделирования счетчика Джонсона. Рис. 8.8. Результаты временного моделирования проекта счегчика Джонсона Если результаты временной верификации не удовлетворяют предъявляемым тре- бованиям, то следует проанализировать выполнение ограничений, установленных в проекте. Кроме того, рекомендуется обратить внимание на критерии оптимизации, которые были установлены для процессов синтеза и реализации (Implementation) проекта. При необходимости следует внести коррективы во временные и топологи- ческие ограничения проекта и/или изменить критерии оптимизации, которая выпол- няется на этапах синтеза и реализации. После этого нужно повторить все необходи- мые этапы проектирования, включая полное временное моделирование. Если ука- занные действия не приносят желаемого результата, то следует выбрать кристалл с более высоким быстродействием. С этой целью рекомендуется выполнить несколько сеансов временного моделирования, при различных значениях параметра Change Device Speed to.
9. Программирование ПЛИС семейств CPLD в САПР WebPACK ISE После успешного завершения процесса размещения и трассировки проекта в кристалле ПЛИС и получения приемлемых результатов временного моделирова- ния можно перейти к завершающему этапу процесса разработки цифровых уст- ройств на базе ПЛИС семейств CPLD - загрузки разработанного проекта в кри- сталл. На этапе программирования ПЛИС семейств CPLD фирмы Xilinx осуществляет- ся конфигурирование кристалла, предназначенного для реализации алгоритма функционирования проектируемого устройства. Рассматриваемый этап включает в себя две фазы: создание конфигурационной последовательности для разрабаты- ваемого проекта и ее загрузка в кристалл с помощью программных средств, входя- щих в состав пакета САПР WebPACK ISE. Кроме последовательности выполнения необходимых операций для каждой фазы этапа конфигурирования ПЛИС, в настоящей главе рассматриваются и процедуры обратного чтения информации из кристаллов. Средства программирования пакета WebPACK ISE позволяют не только загружать конфигурационные данные проекта в ПЛИС, но и получить информацию о состоянии кристалла (запрограммирован или нет), контрольной сумме конфигурационной последовательности, записанной в ПЛИС, считать идентификационный код кристалла, установленный производите- лем, и сигнатуру запрограммированной ПЛИС, указанную разработчиком. При от- сутствии защиты от копирования можно полностью считать конфигурационную последовательность из запрограммированного кристалла 9.1. Создание конфигурационной последовательности для проекта, разрабатываемого на основе ПЛИС семейств CPLD Результаты, полученные на этапе размещения и трассировки проекта в кристалл, не могут непосредственно использоваться для конфигурирования ПЛИС. Их необ- ходимо преобразовать в формат, воспринимаемый средствами программирования. Для загрузки разработанного проекта в кристаллы семейств CPLD с использованием JTAG-интсрфейса создается конфигурационная последовательность (файл програм- мирования) в формате JEDEC. Перед активизацией процесса генерации файла программирования нужно прове- рить и установить необходимые значения его параметров. Для этого следует в окне процессов (рис. 9.1) щелчком левой кнопки мыши выделить строку Generate Programming File, после чего нажать кнопку расположенную на оперативной панели Навигатора проекта, или воспользоваться командой Properties контекстно-
Р. Программирование ПЛИС семейств CPLD в САПР WebPACK ISE 189 зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши. —_____________ ..............................— Sources in Project: | - 0 jeount ё xc95144xl-5tq100 -XST VHDL E Rl jc2(jc2.sch) E jc2_test.vhd [l?| jc2.ucf •c Module ViewJ t1 Snapshot View I 1]^) Library View | ” I .........=- ...................:----------.,............. Processes for Current Source: | E D esign E ntry U tilities E User Constraints 3-Gc? Synthesize . :•••• E View Synthesis Report □ View RTL Schematic Gc? Analyze Hierarchy -1 Gc? Implement Design E Gc^ Translate •— E 0^ Translation Report El- G(J? Fit Q Fitter Report □ View Fitted Design [ChipViewer] ' j Ы G Lock Pins ; ; " Ё Lock Fins Report t H Gc^ Generate Timing b Ec? Timing Report П Analyze Post-Fit Static Timing (Timing Analyzer) G C? Generate Post-Fit Simulation Model T1 • Q Generate IBIS Model -п О Generate Programming File В □ Generate JTAG File П Configure Device (iMPACT) « Process View | \ I Pirc. 9.1. Выбор строки, активизирующей процесс создания конфигурационной последовательности, в рабочей области основного окна Навигатора проекта В результате выполненных действий на экране монитора отображается диалого- вая панель параметров процесса генерации конфигурационной последовательности, вид которой показан на рис. 9.2.
190 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Process Properties ' ' * xi Programming Properties | Properly Нате ___________________________________Г Value Autosignerture Generation |[~ Signature AJser Code| OK | Cancel j De'arJ | Help Рис. 9.2. Диалоговая панель параметров процесса генерации конфигурационной последовательности (файла программирования) При использовании кристаллов семейств ХС9500, XC9500XL и XC9500XV в этой панели представлены два параметра. Параметр Signature/User Code позволяет разработчику задать уникальную сигнатуру (код пользователя) в виде строки, вклю- чающей нс более четырех алфавитно-цифровых символов, которая идентифицирует создаваемую конфигурационную последовательность каждого проекта. После за- грузки проекта в кристалл эта сигнатура может быть впоследствии считана с помо- щью средств программирования. Таким образом, разработчик может при необходи- мости уточнить, какому проекту (варианту проекта) соответствует конфигурацион- ная последовательность, загруженная в каждый кристалл ПЛИС. Для определения сигнатуры следует щелчком левой кнопки мыши активизировать соответствующее поле редактирования в диалоговой панели (рис. 9.2), после чего ввести с помощью клавиатуры требуемую последовательность символов. По умолчанию в качестве сигнатуры используется название (первые четыре символа) исходного модуля верх- него уровня иерархии проекта. С помощью параметра Autosignature Generation выбирается способ определения сигнатуры. При использовании значения "включено" средства пакета WebPACK ISE автоматически формируют строку кода. Значение "выключено", установленное по умолчанию, позволяет использовать сигнатуру, указанную разработчиком с помо- щью параметра Signatare/User Code. Выполнив все необходимые изменения значений параметров процесса генерации конфигурационной последовательности, следует подтвердить их нажатием клавиши ОК в нижней части диалоговой панели (рис. 9.2). После этого активизируется про- цесс формирования файла программирования двойным щелчком левой кнопки мы- ши па строке Generate Programming File, расположенной в окне процессов Навига- тора проекта (рис. 9.1). Информация о ходе его выполнения отображается в окне консольных сообщений и строке состояния. После успешного завершения этого процесса, отмеченного соответствующей пиктограммой в строке Generate Programming File, можно приступать непосредственно к программированию ПЛИС.
9. Программирование ПЛИС семейств CPLD в САПР WebPACK ISE 191 9.2. Организация программирования ПЛИС семейств CPLD фирмы Xilinx ПЛИС семейств CPLD, выпускаемые фирмой Xilinx, являются программируе- мыми в системе (in-system programmable, ISP). Для их конфигурирования нс требу- ется специальных аппаратных средств программирования, хотя их использование также возможно (например, программатора HW-130). Конфигурационная последо- вательность разрабатываемого проекта может быть загружена из компьютера через специальный загрузочный кабель JTAG-интерфсйса. Для программирования ПЛИС семейств CPLD фирмы Xilinx используются только четыре сигнала из совокупности, описанной в спецификации стандарта JTAG (IEEE Standard 1149.1): • Test Data In (TDI); • Test Mode Select (TMS); . Test Clock (TCK); • Test Data Out (TDO). Представленные сигналы в процессе конфигурирования подаются на одноимен- ные выводы ПЛИС. Если в состав разрабатываемой системы входят несколько кри- сталлов ПЛИС, то их специальные выводы, используемые для программирования и периферийного сканирования, могут быть соединены в соответствии со схемой, по- казанной на рис. 9.3. Таким образом, формируется последовательная цепочка пери- ферийного сканирования кристаллов ПЛИС, подключенная к соответствующей группе контактов JTAG-интерфейса. Рис. 9.3. Схема соединения выводов ПЛИС, используемых для программирования и периферийного сканирования Средства программирования пакета WebPACK ISE поддерживают следующие типы загрузочных кабелей: • JTAG-кабель, подключаемый к параллельному порту (LPT) персонального компьютера (Parallel Download Cable); а универсальный кабель MultiLinx, подключаемый к последовательному порту (СОМ) персонального компьютера (MultiLinx Download Cable RS-232); • универсальный кабель MultiLinx, подключаемый к последовательной шине (Universal Serial Bus, USB) персонального компьютера (MultiLinx Download Cable USB).
192 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Принципиальную схему и описание параллельного загрузочного кабеля (Parallel Download Cable) можно найти в документации, используя ссылки (адреса Web- страниц), приведенные во второй главе. Модуль программирования iMPACT, входящий в состав пакета WebPACK ISE, позволяет выполнить нс только операции конфигурирования и периферийного ска- нирования для ПЛИС семейств CPLD, FPGA и ISP ППЗУ семейства XC18V00, но и формировать файлы "прошивки" ПЗУ и ППЗУ в стандартных промышленных фор- матах, поддерживаемых различными аппаратными программаторами. 9.3. Программирование ПЛИС семейств CPLD с помощью модуля iMPACT пакета WebPACK ISE * Прежде чем приступить непосредственно к работе с модулем программирования ПЛИС IMPACT, рекомендуется присоединить загрузочный кабель к соответствую- щему порту ПК и специальным контактам платы проектируемого устройства, пред- назначенным для конфигурирования кристаллов (JTAG-порту). После этого следует подать напряжение питания на разработанное устройство. Такая последователь- ность обеспечивает возможность автоматического обнаружения и инициализации загрузочного кабеля и цепочки периферийного сканирования кристаллов ПЛИС при активизации программы iMPACT. Если загрузочный кабель подключается после за- пуска модуля программирования, то в этом случае необходимо выполнить "вруч- ную" операции установки типа и параметров используемого кабеля и инициализа- ции цепочки периферийного сканирования кристаллов. При активизации программы IMPACT непосредственно в среде управляющей оболочки пакета WebPACK ISE - Навигатора проекта рекомендуется предвари- тельно проконтролировать и при необходимости установить требуемые значения параметров инициализации. Для этого нужно в окне процессов (рис. 9.1) щелчком левой кнопки мыши выделить строку Configure Device (iMPACT), после чего нажать |д]| кнопку 1*^1, расположенную на оперативной панели Навигатора проекта, или вос- пользоваться командой Properties контекстно-зависимого всплывающего меню, ко- торое выводится при щелчке правой кнопки мыши. В результате выполненных дей- ствий на экране монитора отображается диалоговая панель параметров инициализа- ции программы IMPACT, вид которой показан на рис. 9.4. Параметр Port to he used позволяет разработчику выбрать порт ПК, который ис- пользуется для подключения загрузочного кабеля. Выпадающий список содержит следующие значения: Auto, LPT1, LPT2, LPT3, СОМ1, COM2, COM3, USBO, USBI. USB2. Разработчик может явно указать порт, к которому подключен соответствую- щий загрузочный кабель. Значение Auto позволяет программе iMPACT автоматиче- ски определить порт ПК, к которому присоединен загрузочный кабель. Значение параметра Baud rate определяет скорость передачи данных .между ПК и выбранным загрузочным кабелем. Выпадающий список возможных значений этого параметра содержит пять элементов: Auto, 9600, 19200, 38400, 57600. При использова- нии значения Auto осуществляется автоматический выбор скорости передачи данных, соответствующей применяемому типу загрузочного кабеля и порта ПК.
9 Программирование ПЛИС семейств CPLD в САПР WebPACK ISE _______ 193 Process Properties WPACT Programming Tool Properties | Property Name Port to be used Baud rate Configuration Mode _______________ Configuration Filename •'_________ _________Value Auto _________ Auto__________ Bounds у Scan | OK | Cancel | Default | Help Рис. 9.4. Диалоговая панель параметров инициализации программы iMPACT Параметр Configuration Mode задает режим конфигурирования ПЛИС, который будет установлен при запуске программы iMPACT. Содержание выпадающего спи- ска возможных значений этого параметра зависит от семейства ПЛИС, выбранного для реализации проектируемого устройства. Для конфигурирования ПЛИС семейств CPLD следует установить режим периферийного сканирования Boundary Scan. По умолчанию для этих трех перечисленных параметров установлено неопреде- ленное значение None. С помощью параметра Configuration Filename определяется название файла про- граммирования, который будет использован в процессе конфигурирования. Назва- ние файла может быть введено непосредственно с клавиатуры после активизации поля редактирования значения этого параметра или выбрано при использовании стандартной диалоговой панели открытия файла, которая открывается при нажатии кнопки с пиктограммой в виде многоточия По умолчанию значение этого пара- метра не определено. Все выполненные изменения параметров инициализации программы IMPACT вступают в силу после нажатия клавиши ОК в нижней части диалоговой панели (рис. 9.4). Далее следует активизировать модуль программирования двойным щелч- ком левой кнопки мыши на строке Configure Device (iMPACT) в окне процедур На- вигатора проекта (рис. 9.1). Если в диалоговой панели инициализации (рис. 9.4) были оставлены значения, установленные по умолчанию, то после активизации мо- дуля программирования автоматически запускается "мастер", который позволяет определить эти параметры в интерактивном режиме. Работа "мастера" начинается с вывода на экран диалоговой панели Operation Mode Selection, в которой необходимо выбрать режим работы программы iMPACT (рис. 9.5). 7 Зотов В.Ю.
194 Зомде В. Ю. Проектирование цифровых устройств на основе ПЛИС Operation Mode Selection What do you want to do Fust? <• {Configure Devices C Prepare Configuration Files C Load Configuration File (.cdf, .pdr) < Back I Next> I Cancel | Help Рис. 9.5. Диалоговая панель выбора режима работы программы iMPACT Для программирования кристаллов в этой диалоговой панели следует установить режим Configure Devices, поместив курсор на соответствующую строку и щелкнув левой кнопкой мыши. После выбора режима работы программы iMPACT нужно пе- рейти к следующему шагу, нажав клавишу Далее (Next), которая находится в нижней части диалоговой панели (рис. 9.5). В открывшейся диалоговой панели выбора ре- жима конфигурирования ПЛИС Configure Devices следует выбрать строку Boundary- Scan Mode (рис. 9.6). Configure Devices • I want to configure device via: Sounder^can Model Slave Serial Mode Г SelectMAPMode C Desktop Configuration Mode < Elack | Next > [ Cancel | Help Рис. 9.6. Диалоговая панель выбора режима конфигурирования ПЛИС
9. Программирование ПЛИС семейств CPLD в САПР WebPACK ISE 195 После установки режима конфигурирования ПЛИС нужно нажать клавишу Да- лее (Next), чтобы перейти к заключительной диалоговой панели "мастера", вид кото- рой показан на рис. 9.7. Boundary-Sсаn Mode Selection *1 (• ^Automatically connect io cable and' identify Boundary-Scan chain J I" Enter a Boundaty-Scan Chain <fiack I Finish i Cancel I Help Рис. 9.7. Диалоговая панель выбора способа определения цепочки периферийного сканирования Рекомендуется установить режим автоматического обнаружения подключенного загрузочного кабеля и цепочки периферийного сканирования. Для этого в диалого- вой панели Boundary-Scan Mode Selection следует выбрать строку Automatically connect to cable and identify Boundary-Scan Chain. Работа "мастера” завершается на- жатием кнопки "Готово" ("Finish”) в нижней части диалоговой панели Boundary- Scan Mode Selection. При выборе "ручного" способа определения цепочки перифе- рийного сканирования после завершения работы "мастера" выводится стандартная панель открытия файла, в которой нужно указать название cdf-файла. Информация, описывающая цепочку периферийного сканирования, сохраняется в файле cdf (Chain Description File). Работа собственно программы IMPACT начинается с обнаружения загрузочного кабеля. Ход этого процесса отображается на экране дисплея с помощью всплываю- щего окна индикации, показанного на рис. 9.8, и сопровождается соответствующей информацией в окне регистрации сообщений. Cable Notification Connecting to download cable... a Рис. 9.8. Окно индикации выполнения операции обнаружения за1-рузочного кабеля 7*
196 Зотов В. К) Проектирование цифровых устройств на основе ПЛИС Если программе не удается автоматически идентифицировать загрузочный ка- бель, то после соответствующего предупреждения выводится диалоговая панель ручной установки его параметров, вид которой представлен на рис. 9.9. В этой пане- ли необходимо последовательно установить следующие параметры: Communication Mode - вид интерфейса, используемого для коммутации с ПК (тип загрузочного кабеля): Parallel, MultiLinx/USB, MultiLinx/Serial; Port - номер порта, к которому подключен кабель загрузки; Baud Rate - скорость передачи данных (только для MultiLinx/Serial). Тип используемого интерфейса устанавливается щелчком левой кнопки мыши на изображении кнопки с соответствующим названием. Значения параметров Port и Baud Rate выбираются из выпадающих списков, для доступа к которым следует ис- пользовать кнопку, расположенную в правой части поля выбора. Cable Communication Setup ;i e ?l х| - Communication М ode • :- Parallel С MultiLINX/Seriail Г MuHJNX/USB Baud Rate; Port: |5760и 3 [Й 3 Сапсе/ | Help | Рис. 9.9. Диалоговая панель выбора тина загрузочного кабеля и установки параметров соответствующего порта ПК При успешном обнаружении присоединенного загрузочного кабеля производится автоматический поиск и инициализация цепочки периферийного сканирования ПЛИС, подключенной к выбранному JTAG-порту Информация об обнаруженной цепочке периферийного сканирования ПЛИС отображается в графической форме в рабочей области основного окна и в текстовом виде в окне регистрации сообщений программы iMPACT (рис. 9.10). Если в параметрах инициализации программы IMPACT не было определено название файла программирования, то после обнару- жения цепочки периферийного сканирования выводится соответствующий запрос и открывается стандартная панель выбора файла, в которой нужно указать имя ис- пользуемого файла (с расширением jed). В рабочей области основного окна программы iMPACT под каждым условным графическим образом (УГО) ПЛИС приведен ее тип и название соответствующего файла, содержащего конфигурационную последовательность. Если эта информация отсутствует, или необходимо изменить название файла программирования, то следу- ет выделить требуемый УГО, поместив на него курсор и щелкнув левой кнопкой мыши, после чего воспользоваться командой Assign Configuration Pile из всплы-
9. Программирование ПЛИС семейств CPLD в САПР WebPACK ISE 197 вающсго меню Edit или кнопкой расположенной на оперативной панели управления программы IMPACT. Можно также использовать команду Assign New Configuration File из всплывающего контекстно-зависимого меню, активизируемого щелчком правой кнопки мыши на соответствующем УГО в рабочей области. В результате выполненных действий на экране отображается стандартное окно от- крытия файла, с помощью которого производится выбор требуемого файла про- граммирования. Э untitled (Configuration Mode] - IMPACT , [□! x| Не Mode Operations Output View Help । Boundary Scan | Slave Seiial | SelectMAP | Desktop Configuration | Ж93144Х1 Jd.jrd TDO-------------------- Driver Version= 505. Cable connection estddished. II “* BATCH CMD: setMode -bs 11—BATCH CMD: se (Mode -bs PROGRESS_STARt - Starting Operation. Identifying chain contents.... Identified «95144x1. INFO iMPACT: 1366- ±1 For Help, press Fl Configuration Mode Boundary-Scan " ’ Paraiel/PC3 ’ Iptl Рис. 9.10. Отображение цепочки периферийного сканирования в окне модуля iMPACT пакета WebPACK ISE Выполнение всех операций программирования и периферийного сканирования, поддерживаемых модулем IMPACT, осуществляется с помощью команд всплываю- щего меню Operations или контекстно-зависимого всплывающего меню. При ис- пользовании меню Operations необходимо предварительно выбрать кристалл, по- местив на его УГО курсор и щелкнув левой кнопкой мыши. Для активизации кон- текстно-зависимого всплывающего меню следует расположить указатель па услов- ное изображение соответствующей ПЛИС и щелкнуть правой кнопкой мыши.
198 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Программирование выбранного кристалла осуществляется с помощью команды Program меню Operations или контекстно-зависимого всплывающего меню, после активизации которой на экран выводится диалоговая панель параметров процесса загрузки конфигурации ПЛИС (рис. 9.11). Эта панель содержит группу общих пара- метров программирования кристаллов и группы опций, относящихся к конкретным семействам ПЛИС. Ниже рассматриваются общие параметры процесса конфигури- рования кристаллов семейств CPLD. Эти опции могут принимать одно из двух воз- можных значений: разрешающее ("включено") и запрещающее ("выключено"). Program Options & Erase Before Programming Г Verify Г" .Read Protect Г” Write Protect -Vntex-ll —;--------- Г” Sccu'&Mcde Г* Program Ke? _• Г" Functional T est Г □r-The-F^'Picgtan PROM ------: - -----> Г Slip utei OTty I- LoadPoya Г EaidMcSii Гу?сОС®ГР J mtl£o>r<wi-iell I snfmdn (Silex Tharsl | ffiHITF Г XP-ftUES. Enis'f cp loVSI3 chi9F:-te-: IL—i| Cancel | Help | Рис. 9.11. Диалоговая панель параметров процесса конфигурирования ПЛИС Параметр Erase Before Programming позволяет разработчику установить режим предварительного "стирания" конфигурационных данных, находящихся во внутрен- ней ("теневой") энергонезависимой памяти кристалла, перед его программировани- ем. Значение "включено", установленное по умолчанию для этого параметра, указы- вает на необходимость выполнения операции "стирания" перед загрузкой новой конфигурационной последовательности. Значение параметра Verify определяет использование операции контроля конфи- гурационных данных в ходе программирования ПЛИС. Выбор значения "включено" устанавливает режим проверки конфигурационной последовательности после ее загрузки в кристалл. По умолчанию установлено значение "выключено", при кото- ром верификация загруженных конфигурационных данных нс выполняется. Параметр Read Protect предназначен для установки зашиты от несанкциониро- ванного чтения (копирования) загружаемых конфигурационных данных. Програм- мирование ПЛИС с использованием зашиты от чтения устанавливает код секретно-
9. Программирование ПЛИС семейств CPLD в САПР WebPACK ISE 199 сти, который "сбрасывается" только при выполнении операции полного "стирания". По умолчанию этот параметр принимает значение "выключено", запрещающее ис- пользование кода секретности. С помощью параметра Write Protect разработчику предоставляется возможность установки защиты от случайного перепрограммирования ПЛИС. При значении "выключено", установленном по умолчанию для этого параметра, защита от записи не используется. Значение параметра Functional Test разрешает или запрещает выполнение функ- ционального теста, который может включаться в состав конфигурационной после- довательности. При значении "включено" после завершения программирования кристалла автоматически запускается процедура функционального тестирования. После установки всех необходимых значений параметров следует подтвердить их нажатием кнопки "ОК" в нижней части диалоговой панели (рис. 9.11), что приво- дит к запуску операции программирования выбранного кристалла. Состояние про- цесса программирования отображается с помощью всплывающего окна индикации, вид которого аналогичен окну, показанному на рис. 9.8. Завершение процесса кон- фигурирования отмечается соответствующими сообщениями в рабочей области и окне регистрации сообщений программы iMPACT. В качестве примера приведен протокол выполнения операций загрузки конфигурационной последовательности для проекта счетчика Джонсона, разработка которого рассмотрена в предыдущих главах. В протоколе отражено выполнение всех фаз процесса конфигурирования: проверки цепочки периферийного сканирования, стирания, программирования и контроля загруженных данных. Протокол выполнения процесса программирования ПЛИС семейства XC9500XL Device #1 selected //“ BATCH CMD. setMode -bs PROGRESS START - Starting Operation. Validating chain... Boundary-scan chain validated successfully. Validating chain... Boundary-scan chain validated successfully. Erasing devices in concurrent mode. 'T: Erasing device... Erasure completed successlully. Programming devices in concurrent mode. T: Programming device... Programming completed successfully. Validating chain... Boundary-scan chain validated successfully. T: Putling device in ISP mode... done. 'Г: Verifying device- done. T: Verificalion completed successfully. PROGRESS .END — End Operation. Elapsed time = 10 sec. IIBATCH CMD : Program -p 1 -e -v
200 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС 9.4. Чтение и контроль конфигурационной информации из кристаллов семейств CPLD с помощью модуля iMPACT Реализация всех операций, рассматриваемых в настоящем разделе, осуществля- ется с помощью команд, которые находятся в меню Operations и контекстно- зависимом всплывающем меню. Для получения доступа к ним необходимо выпол- нить ту же последовательность действий, чт<? и при инициировании процесса про- граммирования ПЛИС, которое рассмотрено в предыдущем разделе. Полученные результаты отображаются в окне регистрации сообщений. Для считывания конфигурационных данных из запрограммированного кристал- ла, выделенного в цепочке периферийного сканирования, которая представлена в рабочей области окна программы iMPACT, предназначена команда Readback. Счи- танная конфигурационная последовательность сохраняется в виде файла на диске в формате JEDEC, который может использоваться для программирования других ПЛИС. Поэтому выполнение команды Readback начинается с вывода стандартной диалоговой панели определения названия создаваемого файла. Дальнейший ход процесса отображается на экране дисплея с помощью всплывающего окна индика- ции и сопровождается информацией в окне регистрации сообщений. Процедуру выполнения операции обратного считывания иллюстрирует протокол чтения конфи- гурационных данных из кристалла, реализующего проект счетчика Д жонсона, про- граммирование которого рассмотрено в предыдущем разделе. Операция чтения конфигурационных данных может быть успешно выполнена только при отсутствии защиты от копирования (кода секретности). Протокол обратного чтения конфигурационных данных из кристалла, реализую- щего проект счетчика Джонсона Device #1 selected Н ” BATCH CMD : setMode -bs PROGRESS_START - Starting Operation. Validating chain... Boundary-scan chain validated successlully. T: Putting device in ISP mode- done. T: Performing readback on device... T: Writing to lile C:\Project\jcount\jc2_back.jed ... "T: Read back completed successfully. PROGRESS_END - End Operation. Elapsed time = 5 sec. // " BATCH CMD : ReadbackToFile -p 1 -file C:\Project\jcount\jc2_back.jed Вычисление контрольной суммы конфигурационной последовательности, загру- женной в кристалл, осуществляется с помощью команды Get Device Checksum. По- лученный результат сравнивается с контрольной суммой файла программирования, который указан в рабочей области для выбранной ПЛИС. Протокол чтения кон- трольной суммы для кристалла, реализующего проект счетчика Джонсона, пред- ставляет пример информации, отображаемой в окне регистрации сообщений при выполнении рассматриваемой операции.
9. Программирование ПЛИС семейств CPLD в САПР WebPACK ISE 201 Протокол выполнения операции вычисления контрольной суммы конфигураци- онных данных, считанных из кристалла Device #1 selected ItBATCH CMD : setMode -bs PROGRESS_START - Starting Operation. Validating chain... Boundary-scan chain validated successfully. T: Putting device in ISP mode- done. '1': Reading device contents... T: Calculated checksum is 3c8c T: Calculated checksum matches the file checksum PROGRESS_END - End Operation. Elapsed time = 5 sec. // "* BATCH CMD: Checksum -p 1 Для чтения сигнатуры запрограммированного кристалла следует использовать команду Get Device Signature/Usercode. Считанная сигнатура в символьном или ше- стнадцатеричном виде отображается в окне регистрации сообщений. При использо- вании семейства XPLA для реализации проекта рассматриваемая операция выпол- няется с помощью команды Get XPLA device UES. Результаты процесса чтения сигнатуры кристалла, реализующего проект счетчи- ка Джонсона Device #1 selected // "* BATCH CMD : setMode -bs Validating chain... Boundary-scan chain validated successfully. '1': Usercode is 'O44cc656' // — BATCH CMD : ReadUsercode -p 1 Команда Get Device ID позволяет считать идентификационный код кристалла, установленный производителем. Этот код используется средствами программирова- ния для определения типов ПЛИС, представленных в цепочке периферийного ска- нирования. Полученный результат отображается в окне регистрации сообщений в двоичном и шестнадцатеричном виде. Формат идентификационного кода содержит 32 двоичных разряда. Первые четыре разряда определяют тип корпуса; следующие семь разрядов составляют код семейства кристаллов; предпоследние 11 разрядов представляют собой код фирмы-производителя (для фирмы Xilinx он имеет вид ООО 0100 1001); последний разряд всегда принимает единичное значение. Результаты чтения идентификационного кода ПЛИС XC95144XL TQ100 Device #1 selected // *** BATCH CMD: setMode -bs Validating chain... Boundary-scan chain validated successfully. '1': IDCODE is'0010100101100000100000001001001 Г '1': IDCODE is '29608093' (in hex). H **’ BATCH CMD : Readldcode -p 1 Проверка достоверности конфигурации выбранного кристалла производится с по- мощью команды Verify. В процессе контроля выполняется обратное чтение конфигура- ционных данных из запрО1раммированиой ПЛИС и сравнение с содержимым соответ-
202 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС ствующсго файла программирования, который указан для выбранного элемента це- почки периферийного сканирования. Информация о результатах проверки выводит- ся в рабочей области и окне регистрации сообщений. Чтобы получить информацию о состоянии (запрограммирован или нет) выбран- ного элемента цепочки периферийного сканирования, следует использовать команду Blank Check. Данные о статусе соответствующего кристалла отображаются в виде всплывающего сообщения в рабочей области основного окна программы iMPACT. Перевод кристалла в ^запрограммированное состояние осуществляется с помощью команды стирания Erase. При выполнении этой операции для кристалла с установ- ленной защитой от записи необходимо в диалоговой панели, которая выводится на экран при выборе команды Erase (рис. 9.12), установить параметр Override Write Protect в состояние "включено". Erase Options I Override Wrte Protect |r . ~ "ЁК.. ;| Cancel | Help | Рис. 9.12. Диалоговая панель параметров процесса стирания конфигурации ПЛИС Для получения сводной информации о каждом кристалле цепочки периферийно- го сканирования, представленной в рабочей области основного окна программы iMPACT, достаточно поместить указатель мыши на соответствующий УГО ПЛИС. После этого в рабочей области отображается всплывающая панель, в которой со- держатся данные о версии, сигнатуре, установленной защите и контрольной сумме конфигурационной последовательности выбранного кристалла (рис. 9.10). Эти дан- ные доступны только после выполнения соответствующих операций в текущем се- ансе работы с программой iMPACT.
10. Оценка потребляемой мощности цифровых устройств, проектируемых на базе ПЛИС семейств CPLD 10.1. Исходные данные, необходимые для вычисления оценки потребляемой мощности цифровых устройств, проектируемых на основе ПЛИС семейств CPLD Расчет мощности, потребляемой кристаллом, на основе которого реализуется проект, не является обязательным этапом процесса разработки устройства. Но в ряде случаев необходимо получить оценки потребляемой мощности и температурных характеристик запрограммированной ПЛИС. Для этих целей используется програм- ма XPower, входящая в состав пакета WebPACK ISE, характеристики и пользова- тельский интерфейс которой рассмотрены в 3.4. Исходная информация об используемых ресурсах кристалла семейства CPLD, необходимая для оценки его потребляемой мощности с помощью программы XPower, становится доступной только после завершения этапа размещения и трас- сировки проекта, а точнее, после выполнения стадии Fit. Кроме того, дополнитель- ная информация, которая используется в процессе вычислений и может повысить точность оценки, формируется в ходе выполнения этапа полного временного моде- лирования проекта. Система HDL-моделирования ModelSint, входящая в комплект пакета WebPACK ISE в редакции ModelSint ХЕ Starter, позволяет формировать фай- лы результатов моделирования в формате VCD (Value Change Dump), воспринимае- мом программой XPower. Вычисление оценок потребляемой мощности и температурных характеристик кристалла выполняется на основе его эквивалентной нагрузочной модели. Для оценки мощности, потребляемой разрабатываемым устройством в динами- ческом режиме, необходимо задать следующую информацию: • значения емкостей, входящих в состав эквивалентной нагрузочной модели кри- сталла; • значения емкостей нагрузки, подключаемой к выходным цепям; • напряжение питания проектируемого устройства; • температуру окружающей среды; • значения частот интерфейсных и внутренних сигналов проектируемого устройства. Первые четыре из перечисленных выше исходных параметров определяются достаточно легко. Указать значения частот всех используемых в эквивалентной мо- дели сигналов значительно сложнее. Программа XPower позволяет использовать три метода определения частот сигналов, используемых при расчете потребляемой мощности. Первый способ заключается в том, что для всех цепей эквивалентной емкостной модели "вручную" задаются максимальные значения частот сигналов, которые соответствуют наихудшему случаю с точки зрения потребляемой мощно- сти. Второй метод основан на использовании информации, полученной в процессе
204 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС выполнения этапа полного временного моделирования проектируемого устройства, для оценки частот сигналов эквивалентной модели. При этом точность оценки по- требляемой мощности будет тем выше, чем полнее тестовые воздействия, исполь- зуемые в процессе моделирования, соответствуют реальным режимам работы уст- ройства. Третий метод, смешанный, сочетает в себе два первых: загрузку информа- ции, полученной в результате временного моделирования, и ее "ручную" корректи- ровку и дополнение. Далее будет рассмотрена последовательность необходимых операций, выполняемых при использовании первого и второго методов ввода исход- ных данных. 10.2. Установка параметров инициализации программы XPower Перед активизацией про- граммы XPower необходимо проверить и при необходимо- сти изменить значения пара- метров, используемых в про- цессе ее инициализации. Для этого прежде всего нужно в окне исходных модулей Нави- гатора проекта щелчком ле- вой кнопки мыши выделить строку, в которой указано на- звание файла, содержащего описание верхнего уровня иерархии проекта. Затем в списке этапов проектирова- ния, отображаемом в окне процессов Навигатора про- екта (рис. 10.1), необходимо развернуть содержимое этапа реализации (Implement Design) и его фазы размещения и трас- сировки в кристалл (Fit), если используется сжатая форма представления информации. Для этого достаточно после- довательно щелкнуть левой кнопкой мышн на значках "+", расположенных в строках Implement Design и Fit. Sources in Prqscl:____________________________________________________J 0 jeount - n Kt(3032xl-5pcM-XST VHDL s: 0 jc2(jc2.sch) E" jc2_testvhd E jcZucf RC McxMe View Snapshot View j LfcryyVtew | Processes for Cureht Source | * Й? Design Entry Utities | . V User Constraints | .4- Synthesize , View Synthesis Report | □ View RTL Schematic ‘ Oc^ Ana^ze Hierarchy :-A Q2 Irrtfement Design ; b Translate I I Rl 0^ Translation Report в О I O Filter Report » • □ View Fitted Design (ChipViewer) | i n CSSSSSSBEOESSSBS ’ I A - О Lock P*15 I fil Lock Pins Report &: Oq? Generate Timhg ' ©C? Timing Report 1 П Ana^ze Post-Fit Static T trmng (Timing Analyzei) Q С? Generate Post-Fit Simulation Model Q Generate IBIS Model G? ienarate Programming Fie | Й Process View Рис. 10.1. Выбор строки запуска программы XPower в окне процессов рабочей области Навигатора проекта при разработке устройства на базе ПЛИС семейств CPLD Далее следует выделить строку Analyze Power (XPower) (рис. 10.1), расположив I Гр] j на ней курсор и щелкнув левой кнопкой мыши, после чего нажать кнопку Ц=Ц, рас-
10. Оценка потребляемой мощности цифровых устройств, проектируемых иа базе ПЛИС 205 положенную на оперативной панели Навигатора проекта, или выполнить команду Properties из контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши. В результате выполненных действий на экране мони- тора отображается диалоговая панель параметров программы XPower, вид которой показан на рис. 10.2. Process Properties « * xi XPower Properties I Г Property Нате ________________I_________Value LoadXMLHe____________________________,_________I__________________ Load Automatically Generated VCD File !l~ . ~ iLoad Other VCD Ейе " j | OK | Cancel | IW.-.i': | Help Рис. 10.2. Диалоговая панель параметров программы XPower Значение параметра Load XML File определяет название файла XML, содержащего некоторый набор установочных данных программы XPower, который будет загружен при ее активизации. Название используемого файла XML может быть введено с клавиатуры после активизации соответствующего поля редактирования или выбрано из списка, ото- бражаемого в стандартной диалоговой панели открытия файла, которая выводится после нажатия кнопки с пиктограммой в виде многоточия "...". Параметр Load Automatically Generated VCD File управляет выбором файла фор- мата VCD, используемого программой XPower после ее активизации. Если для дан- ного параметра установлено значение "включено", то загружается файл VCD, авто- матически сформированный в процессе последнего временного моделирования те- кущего проекта. Имя этого файла совпадает с названием модуля исходного описания верхнего уровня в иерархической структуре проекта. По умолчанию используется значение "выключено", которое позволяет выбрать другой файл формата VCD или не использовать результаты моделирования при расчете оценки потребляемой мощ- ности. Параметр Load Other VCD File позволяет указать название файла результатов моделирования в формате VCD, отличающееся от имени файла, автоматически фор- мируемого программой ModelSim. Эта опция применяется только в случае, если параметр Load Automatically Generated VCD File установлен в состояние "выключе- но". Ввод названия требуемого файла формата VCD осуществляется теми же спосо- бами, что и при установке значения параметра Load XML File. Новые значения параметров программы XPower вступают в силу при нажатии клавиши ОК, расположенной в нижней части диалоговой панели (рис. 10.2). После этого можно активизировать процесс вычислений оценок потребляемой мощности и
206 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС температурных характеристик кристалла, на основе которого реализуется проекти- руемое устройство. 10.3. Вычисление оценки потребляемой мощности цифровых устройств, проектируемых на основе ПЛИС семейств CPLD, с помощью программы XPower Для запуска программных средств анализа потребляемой мощности следует рас- положить курсор на строке Analyze Power (XPower) (рис. 10.1) и дважды щелкнуть левой кнопкой мыши. В результате выполнения указанных операций на экран дис- плея выводится основное окно программы XPower, вид которого показан на рис. 10.3. Прн этом в итоговой панели уже содержатся оценки мощности, потреб- ляемой проектируемым устройством в статическом режиме, которые получены в результате вычислений при значениях исходных параметров, установленных по умолчанию. Если при установке параметров инициализации программы XPower не был выбран никакой файл формата VCD, то значения частот сигналов для цепей модели при запуске средств анализа потребляемой мощности не определены и по умолчанию считаются нулевыми. Поэтому оценки мощности, потребляемой в дина- мическом режиме, также являются нулевыми. При этом интегральная оценка по- требляемой мощности соответствует статическому режиму. $ XPower - >c2.cxt Не Edt Vtew lock FWp j Ы K) “ M _j Data views “ ТУР*® £ I Global Resaurtes £ 2jZia F 2J Clocks F Signals tr! _J Function Blocks Reports Summary VCCInt (V) Quescent Power (uW) Logic efockPcwwr (mW) Outputs Power (mW) 3.3 89.10 7.826 2.153 -- ♦ Power Report Battery Capacity (mA Hours) Battery Ufe (Hours) Total Power (rrtW) 5700.00 1068JO 10.07 Name q<2> q«3> Frequency (Wlz) „______ ' <.07 . 5 _ ’ ~ ~S24 "5.24 Capacitive Load (fF) | 10000Q 10000,0 • 10000.0: 10000.0 Power (mW) 0Л5 ____ 0.57 L _ °-5? 0.57 parsing completed In: 1 secs Applied 22 activity cates ftoa VCD file jcZ.vcd. '|xcrad32XL-5PC47; Рис. 10.3. Вид основного окна про!раммы XPower при вычислении опенок потребляемой мощности устройств, проектируемых на базе ПЛИС семейств CPLD
10. Оценка потребляемой мощности цифровых устройств, проектируемых на базе ПЛИС 207 Для получения достоверной оценки потребляемой мощности проектируемого устройства следует ввести значения напряжения питания, температуры окружающей среды, частот всех сигналов и емкости нагрузки, подключаемой к его выходам, ко- торые должны соответствовать реальным режимам его работы. Вначале рассмотрим "ручной" способ определения значений перечисленных исходных параметров. Изначально в поле редактирования значения напряжения питания, расположен- ном на странице Summary в итоговой панели, отображается значение, принятое по умолчанию для используемого семейства ПЛИС. Для кристаллов серии CoolRunner XPLA3, например, эта величина составляет 3,3 В. Чтобы изменить значение напря- жения питания кристалла, следует активизировать в итоговой панели поле редакти- рования Vcclnt (V) (рис. 10.3), поместив на него курсор мыши и щелкнув левой кнопкой. После этого нужно ввести с клавиатуры требуемое значение. Следует об- ратить внимание на то, что задаваемая величина напряжения питания не должна выходить за пределы допустимого диапазона, указанного в справочных данных для используемого кристалла. Если введенное значение выходит за рамки диапазона, рекомендованного для выбранного типа ПЛИС, то в панели консольных сообщений выводится соответствующее предупреждение, например: WARNlNG:Power:76 - Vcclnt <4.0> not in recommended range [2.7..3.6JV. Если после ввода числа будет нажата клавиша "ENTER" или активизировано по- ле редактирования следующего параметра, то автоматически запускается процесс вычислений, результаты которого сразу же отображаются в итоговой панели. Для оценки времени функционирования проектируемого устройства при ограни- ченном ресурсе автономного источника питания необходимо указать емкость ис- пользуемого элемента (батареи питания). По умолчанию значение этого параметра принимается равным 5700 тАН. Чтобы изменить значение емкости батареи пита- ния, следует активизировать поле редактирования Battery Capacity (mA Hours), кото- рое расположено в итоговой панели (рис. 10.3). После этого с помощью клавиатуры вводится новое значение емкости в миллиампер-часах (мАч), которое соответствует применяемому элементу питания. Значение температуры окружающей среды, используемое по умолчанию, равно 25° С. Для изменения значения этого параметра необходимо активизировать поле редактирования Ambient Temperature (°C), которое находится на странице Thermal в итоговой панели (рис. 10.4), после чего, используя клавиатуру, указать температуру окружающей среды, при которой должно эксплуатироваться проектируемое устрой- ство. Допустимый диапазон изменения этого параметра зависит от типа используе- мого кристалла. При вводе значения, выходящего за пределы рекомендуемого диа- пазона, в панели консольных сообщений выводится соответствующее предупрежде- ние, например: WARNING:Power:200 - Ambient Temperature <-47.0> not in recommended range [-45..80]C. На этой же странице итоговой панели производится выбор скорости воздушного потока, используемого для охлаждения кристалла, и типа корпуса ПЛИС с помощью соответствующих полей Airflow и Package. Выпадающий список возможных значе- ний параметра Airflow содержит четыре элемента: 0, 250, 500 и 750. Значения скоро- сти воздушного потока указаны в футах в минуту (LFM). По умолчанию установле- но значение 0, при котором дополнительное воздушное охлаждение нс использует-
208 Зотов В. fO. Проектирование цифровых устройств на основе ПЛИС ся. Список допустимых значений параметра Package определяется линейкой типов корпусов, в которых выпускается кристалл, выбранный для реализации проекта. Summary Thermal ] Ambient Temp (°C) JuncfcnTemp(°C) Ai Bow(LFM) Padsage | 25.00 | ' Case temperature (°C) 25.50 |0 d _ d Total Power (mW) | 25.27 | 10.07 Рис. 10.4. Вид страницы Thermal итоговой панели программы XPower при вычислении оценок потребляемой мощности устройств, проектируемых на базе ПЛИС семше гв CPLD Далее необходимо определить частоту тактовых сигналов разрабатываемого уст- ройства. Для этого следует в панели обозревателя выделить папку Clocks, поместив курсор мыши на се изображение или строку с се названием, и щелкнуть левой кноп- кой мыши. После этого в панели редактирования значений исходных параметров модели отображается таблица, в первом столбце которой представлены названия всех тактовых сигналов проектируемого устройства. Чтобы задать значение частоты тактового сигнала, нужно активизировать соответствующую ячейку в колонке Frequency (MHz), после чего, используя клавиатуру, ввести требуемое число в мега- герцах (МГц). Следующим шагом в процессе "ручного" ввода исходных данных, необходимых для расчета оценки потребляемой мощности, является определение частот осталь- ных сигналов проекта. Для этого нужно в панели обозревателя выбрать папку Signals, после чего в панели редактирования значений исходных параметров модели выводится таблица, в первом столбце которой представлены названия всех сигналов, частота которых оказывает влияние на потребляемую мощность проектируемого устройства. Далее необходимо для каждого сигнала в таблице указать значение час- тоты, поочередно выполнив ту же последовательность операций, что и при вводе частот тактовых сигналов. Если частота сигнала изменяется в зависимости от режи- ма работы устройства, следует задавать значение для наихудшего случая с точки зрения потребляемой мощности. Процедура ввода значений исходных параметров модели, используемой для оценки характеристик потребляемой мощности, завершается определением величин емкостной составляющей нагрузки, прикладываемой к выходам разрабатываемого устройства. По умолчанию емкость внешней нагрузки полагается равной 10 пФ. Для изменения емкости нагрузки, подключаемой к выходам проектируемого устройства, следует в панели обозревателя выбрать папку Output Loads, в результате чего в па- нели редактирования значений исходных параметров эквивалентной модели будет выведена таблица, в первой колонке которой отображаются названия всех выходных цепей проекта. Чтобы установить новое значение емкости внешней нагрузки, нужно для соответствующего выхода активизировать ячейку в колонке Capacitive Load (fF),
10. Оценка потребляемой мощности цифровых устройств, проектируемых на базе ПЛИС 209 после чего, используя клавиатуру, ввести требуемое численное значение емкостной составляющей в фемтофарадах (фФ) . Рассмотрим теперь второй способ определения значений исходных параметров, основанный на использовании результатов этапа полного временного моделирова- ния проектируемого устройства. Прежде всего, необходимо в процессе моделирова- ния сформировать файл результатов в формате VCD. Для этого перед выполнением этапа полного временного моделирования необходимо установить параметр Generate VCD File, который находится на странице Simulation Properties диалоговой панели параметров этого процесса (рис. 8.6), в состояние "включено". После выпол- нения процедуры полного временного моделирования программой ModelSim будет автоматически создан требуемый файл. Для использования информации, которая записана в этом файле формата VCD, в процессе вычисления оценок потребляемой мощности, следует перед запуском программы XPower для параметра Load Automatically Generated VCD File (рис. 10.2) установить значение "включено". Для выбора иного файла VCD нужно воспользоваться параметром Load Other VCD File, переключив Load Automatically Generated VCD File в состояние "выключено”. При этом в процессе активизации модуля XPower будет автоматически выполнена про- цедура загрузки указанного файла формата VCD. При необходимости, значения ис- ходных параметров, сформированные на основании данных из файла VCD, можно скорректировать, используя процедуры "ручного" ввода, рассмотренные выше. Процесс определения значений исходных параметров может потребовать ощу- тимых временных затрат. Поэтому, чтобы воспользоваться введенными данными в последующих сеансах работы с программой XPower, следует сохранить их на диске в виде файла. Для этого следует выбрать команду Save Settings File из всплывающего Го] меню File или нажать кнопку 1™1 на оперативной панели программы XPower. При этом введенные значения параметров и полученные результаты вычислений сохра- няются в файле с расширением xml. Название этого файла состоит из имени файла, представляющего модуль верхнего уровня иерархии исходного описания проекта, и последовательности символов xpwr. Для сохранения информации в файле с произ- вольным названием следует воспользоваться командой Save Settings As из всплы- вающего меню File. При активизации этой команды на экран выводится стандартное диалоговое окно сохранения файла, в котором следует выбрать требуемое название из списка имеющихся или ввести его, используя клавиатуру. Чтобы загрузить сохра- ненные данные из файла, следует выполнить команду Open Settings File, которая находится во всплывающем меню File. При выполнении этой команды отображается стандартное диалоговое окно открытия файла, в котором следует выбрать название нужного файла. Кроме того, параметр инициализации Load XML File (рис. 10.2) предоставляет возможность автоматической загрузки выбранного файла xml при активизации программы XPower. Как уже говорилось выше, после ввода каждого нового значения исходных пара- метров программа XPower выполняет автоматический пересчет всех выходных ха- рактеристик. Поэтому окончательные результаты анализа, выполняемого нрограм- Фемто - масштабирующий множитель 10 в степени —15.
210 Зотов В. fO. Проектирование цифровых устройств на основе ПЛИС мой XPower, становятся доступными практически сразу после завершения процесса ввода исходных данных, не требуя никаких дополнительных действий. Обобщенные результаты вычислений отображаются в итоговой панели. Для просмотра более де- тальных результатов анализа следует воспользоваться панелью обозревателя, кото- рая позволяет выбрать необходимую информацию для просмотра вместе с исходны- ми значениями в панели редактирования. Чтобы увидеть оценки потребляемой мощности, приходящейся на глобальные цепи кристалла, следует в панели обозре- вателя выбрать папку Global Resources. Значения потребляемой мощности, получен- ные в результате вычислений, представлены в колонке Power (mW) таблицы, кото- рая отображается в панели редактирования исходных параметров. Для просмотра оценок потребляемой мощности, приходящейся на другие ресурсы кристалла, нуж- но выделить папку Function Blocks в панели обозревателя. Информация о потреб- ляемой мощности, соответствующей выходным цепям, отображается в панели ре- дактирования после выбора в панели обозревателя папки Output Loads. Более детальные характеристики потребляемой мощности различными ресурса- ми кристалла, используемыми для реализации проектируемого устройства, пред- ставлены в отчете, который формируется программой XPower. Средства управления этой программы позволяют выбрать степень детализации генерируемого отчета. По умолчанию используется стандартный формат отчета. Для переключения в режим формирования детального отчета следует выбрать команду Preferences из всплы- вающего меню Edit программы XPower. При этом на экран выводится диалоговая панель, показанная на рие. 10.5. Preferences : л! < 3 C|Pen Options | Display Options | View Options | -Аррicat'on Settings- t-----r-r------------------------—~ ‘ П DdDRC checking when opening a file -- Report Settings---------------------------------------------j C" Standard Report Detailed Report 'i Report Format ' I f ASCH (text) Report С HTM Report OK | Cancel Рис. 10.5. Страница General диалоговой панели, представляющей параметры конфи! урании прО1раммы XPower
10. Оценка потребляемой мощности цифровых устройств. проектируемых на базе ПЛИС 211 В этой диалоговой панели следует открыть страницу General, поместив курсор на закладку с ее названием и щелкнув левой кнопкой мыши. Далее на этой странице нужно щелкнуть левой кнопкой мыши на изображении кнопки Detailed Report. Вы- полненные изменения параметров конфигурации программы XPower вступают в силу после нажатия клавиши ОК в нижней части диалоговой панели (рис. 10.5). Чтобы сформировать отчет и просмотреть его в панели редактирования, необхо- димо открыть папку Reports в окне обозревателя, дважды щелкнув левой кнопкой мыши на ее изображении. Затем следует выбрать строку Power Report. При этом отчет нс только выводится па экран, но и автоматически записывается в файл с рас- ширением pwr. Этот файл имеет текстовый формат и поэтому может быть просмот- рен с помощью любого текстового редактора. Следует обратить внимание на то, что при изменении значений исходных данных новый отчет записывается в тот же файл вместо старого. Поэтому для дальнейшего использования отчета его файл следует переименовать "вручную", используя средства операционной системы Windows. Структура детального отчета включает в себя шесть секций. В первой секции указывается название анализируемого проекта, тип кристалла, используемый для его реализации, значения напряжения источника питания и температуры окружающей среды, а также емкость нагрузки, устанавливаемой по умолчанию. Во втором разде- ле приводятся оценки потребляемой мощности для всех сигналов и ресурсов ПЛИС. Третья секция отчета представляет обобщенные оценки потребляемой мощности для всех интерфейсных сигналов верхнего уровня иерархии проекта, исключая так- товые, и ресурсов кристалла. В четвертом разделе приводятся характеристики бата- реи питания: емкость и продолжительность непрерывной работы проектируемого устройства. Пятая секция представляет температурные характеристики кристалла, используемого для реализации проекта - значения температуры окружающей среды, транзисторов кристалла, корпуса ПЛИС и теплового сопротивления кристалл- окружающая среда. В шестом разделе указываются дата и время генерации отчета. В стандартном варианте отчета отсутствует второй раздел. В качестве примера приведен подробный вариант отчета о результатах анализа потребляемой мощности для проекта счетчика Джонсона, реализованного на базе кристалла XCR3032XL- 5РС44. Вычисления выполнялись на основе данных, полученных в результате пол- ного временного моделирования проекта. Подробный вариант отчета о результатах анализа потребляемой мощности про- екта счетчика Джонсона, реализованного на базе кристалла XCR3032XL-5PC44 Release 5.1i - XPower Softwareversion :F. 23 Copyright (c) 1995-2002 Xilinx, Inc. All rights reserved. Design-. VCD File: Device.- Vccint: Default Ext. Data version: jc2 jc2. ved XCR3032XL-5PC44 3.30V Load: lO.OOpF FINAL.1.0 Power Data By Physical Layout - Elements sorted by type/name.
212 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС This Element This Catagory Current(mA| Power(mW) Current(mA) Power(mW| Global Resources 0.146 0.481 Global Clk : elk 0.146 0.481 Zia 0.157 0.519 Zia : FBI _ZIA_FB1_1_N 0.026 0.086 Zia : FBI _ZIA_FB1_2_N 0.034 0.111 Zia : FBI _ZIA_FB1_3_N 0.034 0 . Ill Zia : FBI _ZIA_FB1_4_N 0 - O00 0.000 Zia : FBI _ZIA_FB1_5_N 0.034 0.111 Zia : FBI _ZIA_FB1_6_P 0.015 0.049 Zia : FB1_ZIA_FB1_7..P 0.007 0.025 Zia : FBI _ZIA_FB1_8_P 0.007 0.025 Zia : FBI _ZIA_FB1_9_N 0.000 0.000 Output Loads 0.652 2.153 Ext. Load : q<0> 0.134 0.443 Ext. Load : q<l> 0.173 0.570 Ext. Load : q<2> 0.173 0.570 Ext. Load : q<3> 0.173 0.570 Function Block : FBI 2.069 6.826 LB Clk Mux :FBl_LBCLK_clk 0.685 2.262 P-Term : FB1_PTO 0.014 0.046 P-Term : FB1_PT1 0.O14 0.046 P-Term : FB1_PT1O 0.004 0.013 P-Term : FB1_PT11 0.010 0.034 P-Term z FB1_PT12 0.004 0.012 P-Term : FB1_PT13 0.002 0.007 P-Term : FB1_PT14 0.002 0.006 P-Term : FB1_PT15 0.004 0.014 P-Term : FB1_PT2 0.020 0.067 P-Term : FB1_PT3 0.011 0.036 P-Term ; FB1_PT4 0.014 0.046 P-Term : FB1_PT5 0.026 0.086 P-Term : FB1_PT6 0.011 0.037 P-Term : FB1_PT7 0.011 0.037 P-Term : PB1_PT8 0.008 0.028 P-Term : FB1_PT9 0.006 0.019 Macrocell : FB1_1 (q<0>) 0.235 0.776 OBuf : FB1_1_O 0.177 0.585 Register : FB1_1_FF 0.031 0.101 Fb Mux : FB1_1_N 0.021 0.071 Or : FBI _1_OR 0.006 0.019 Macrocell : FB1_1O 0-000 0.000 Macrocell : FB1_11 0.000 0.000 Macrocell : FB1_12 0.000 0.000 Macrocell : FB1_13 0.000 0.000 Macrocell : FB1_14 0.000 0.000 Macrocell : FB1_15 0.000 0.000 Macrocell : FB1_16 0.000 0.000 Macrocell : FB1_2 (q<l>) 0.292 0.965 OBuf : FB1_2_O 0.228 0.752 Register : FB1_2_FF 0.031 0.101 Fb Mux : FB1_2_N 0.028 0.091 or : FBI _2_OR 0.006 0.020 Macrocell : FBI 3 (q<2>) 0.293 0.966 OBuf : FBI 3 0 0.228 0.752 Register : FB1_3_FF 0.031 0.101 Fb Mux : FB1_3_N 0.028 0.091 Or : FBI _3_OR 0.006 0.021
10. Оценка потребляемой мощности цифровых устройств, проектируемых на базе ПЛИС 213 Macrocell : FB1_4(FB1 4 .Q) 0.03 5 0.115 Register : FB1_4_FF 0.031 0.101 Or : FBI. 4 OR 0.004 0.014 Fb Mux : FB1__4_N 0.000 0.000 Macrocell : FBI 5 (q<3>) 0.292 0.965 OBuf : FB1_5_O 0.228 0.752 Register : FB1_5_FF 0.031 0.101 Fb Mux : FBI 5 N 0.028 0.091 Or ; FBI 5_0R 0.006 0.020 Macrocell : FBI 6 (left) 0.020 0.066 IBuf : FB1_6_I 0.020 0.066 Fb Mux : FBI-6 P 0.000 0.000 Macrocell : FB1_7 (right) 0.010 0.033 IBuf : FB1_7_I 0.010 0.033 Fb Mux : FBI 7 P 0.000 0.000 Macrocell : FBI 8 (stop) 0.010 0.033 IBuf : FBI 8 I 0.010 0.033 Fb MUX : FBI 8 P 0.000 0.000 Macrocell : FBI 9(FBI 9 Q)0.034 0.114 Register : FB1_9_FF 0.031 0.101 Or : FBI. _9_0R 0.004 0.013 Fb Mux : FB1_9_N 0.000 0.000 Function Block ; FB2 0.000 0.000 Macrocell : FB2 1 O.000 0.000 Macrocell : FB2 10 0.000 0.000 Macrocell : FB2 11 0.000 0.000 Macrocell t FB2 12 0.000 0.000 Macrocell : FB2 13 0.000 0.000 Macrocell : FB2 14 0.000 0.000 Macrocell : FB2 15 0.000 0.000 Macrocell : FB2 16 0.000 0.000 Macrocell : FB2 2 0.000 0.000 Macrocell : FB2 3 0.000 0.000 Macrocell : FB2 4 0.000 0.000 Macrocell .• FB2_5 0.000 0.000 Macrocell : FB2 6 0.000 0.000 Macrocell : FB2 7 0.000 0.000 Macrocell : FB2 8 0.000 0.000 Macrocell : FB2_9 0.000 0.000 Summary of highest current consuming signals: (excludes clocks) Current(mA) Power(mw) q<2> (FB1_3) 0.293 0.966 Q<1> (FB1_2) 0.292 0.965 q<3> (FB1_5) 0.292 0.965 Q<0> (FBI-1) 0.235 0.776 FB1_4_Q (FBI 4) 0.035 0.115 FB1_9_Q (FB1_9) 0.034 0.114 left (FB1_6) 0.020 0.066 right (FB1_7) 0.010 0.033 stop (FBI 8) 0.010 0.033 (FBl_10) 0.000 0.000 Power summary: Current(mA) Power(mW) Global Resources 0.146 0.481 Zia : 0.157 0.519
214 Зотов В. fO. Проектирование цифровых устройств на основе ПЛИС Output Loads 0.652 2.153 Function Block : FBI : 2.069 6.826 Function Block t FB2 : 0.000 0.000 Quiescent : 0.027 0.089 Total : Battery summary: 3.051 10.068 Battery capacity 5700.000 mA-hours Estimated battery life; 1868.3 hours Thermal summary; Estimated junction temperature: 25. 5C Ambient temp: 25.ОС Case temp; 25.3C Theta J-A: 51.6C/W Analysis completed: Sat Feb 15 23:57:36 2003
11. Синтез проектов, реализуемых на базе ПЛИС семейств FPGA фирмы Xilinx, в САПР WebPACK ISE 11.1. Использование временных и топологических ограничений в проектах, реализуемых на базе ПЛИС семейств FPGA Этапы синтеза, размещения и трассировки проектов обычно выполняются в ав- томатическом режиме. Для управления этими процессами разработчик может ис- пользовать следующие инструменты: • атрибуты, размещаемые в модулях исходного описания проекта; • файлы временных и топологических ограничений; • параметры процессов, устанавливаемые с помощью диалоговых панелей Навигатора проекта. При использовании механизма атрибутов теряется универсальность модулей ис- ходного описания. Для их последующего применения в других проектах, которые могут быть реализованы на базе ПЛИС различных семейств, каждый раз потребует- ся вносить изменения в выражения, содержащие временные и топологические пара- метры. Вынесение этих параметров в отдельный модуль (файл временных и топологических ограничений проекта User Constraints File, UCF) позволяет преодолеть указанный недостаток. В файлах временных и топологических ограничений могут присутствовать па- раметры как локального, так и глобального характера. Объектами локальных огра- ничений являются отдельные экземпляры элементов описания проекта (цепи, ком- поненты, контакты). Глобальные параметры относятся ко всему проекту в целом или оказывают влияние на все элементы проекта, тип которых указан в соответст- вующем выражении. Большинство глобальных ограничений удобнее задавать в виде параметров выполняемого этапа (процесса) с помощью диалоговых панелей Нави- гатора проекта. Поэтому в файлах временных и топологических ограничений це- лесообразно задавать значения параметров, которые носят локальный характер, и глобальные ограничения, отсутствующие в диалоговых панелях опций процессов Навигатора проекта. Способы создания и редактирования файлов ограничений рассмотрены в гл. 5. Поэтому далее остановимся лишь на описании параметров и синтаксисе выражений ограничений, наиболее часто используемых в процессе синтеза и реализации проек- тов на базе ПЛИС семейств FPGA. Параметр LOC позволяет осуществить закрепление выводов перед трассировкой, а также явно указать конфигурируемый логический блок (Configurable Logic Block, CLB) для реализации элементов проекта. Для привязки "внешних'' цепей проекта (подключаемых к контактам кристалла) к требуемым выводам ПЛИС используется следующий формат выражения
216 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС NET <название_цепи> 1_ОС=<номер_вывода_ПЛИС>; например, NET clock LOC=C5; NET datl LOC=P9; Чтобы определить конфигурируемый логический блок CLB, внутри которого требуется разместить цепь или элемент проекта, следует воспользоваться соответст- венно форматами МЕТ<название_це™>1.ОС= СЕВ_<координаты_конфигурируемого логического блока ПЛИС>; например, NET clock LOC= CLB_R3C5; INST <обознвчение_элемента> LOC= С1_В_<координаты_конфигурируемого логического блока ПЛИС>; например, INST DIO LOC= CLB R2C5;. Временные ограничения могут устанавливаться как для отдельных элементов схемы (например, цепей), так и для совокупности элементов определенного типа. Такие совокупности называются временными группами. Вначале рассмотрим вре- менные ограничения, относящиеся к единичному элементу схемы. Максимальное значение периода сигнала синхронизации для соответствующей цепи проекта задастся с помощью параметра PERIOD. Полный формат выражения ограничения имеет вид NET <название_цепи_синхронизации> РЕКЮО=<длительность__периода> (<единицы_измере- ния>] [{HIGH [ 1_0\У)[<длительность_первой_фазы_периода> [<единицы_измерения>] ]];, где значение HIGH или LOW указывает логический уровень сигнала в первой фазе периода. По умолчанию установлены в качестве единиц измерения длительности нс (ns) и одинаковая продолжительность состояний высокого и низкого уровня периода синхросигнала, в результате чего получается сокращенный формат записи NET <название_цели_Синхронизации> PERIOD = <длительность_периода> ; например, NET clock PERIOD=20ns;. Таким образом, значение параметра PERIOD накладывает ограничение на время распространения сигналов по цепям и логике, подключенных между выходом одно- го и входом другого синхронного элемента (триггера, регистра или ОЗУ), которые тактируются одним и тем же сигналом синхронизации. Параметр OFFSET позволяет установить предельные временные соотношения между тактовым сигналом и связанными с ним сигналами входных и выходных це- пей, подключаемых к выводам кристалла. Синтаксис соответствующего выражения ограничения выглядит следующим образом NET <название_цепи_подключаемой_к_выводу_ПЛИС> OFFSET = {IN|OUT} «длитель- ность_задержки> [<единицы_измерения>] {BEFORE|AFTER} <название_цепи_синхрони- зации>;, например, NET dat_input OFFSET = IN 35 BEFORE dock; задает максимальное время установления сигна- ле для входной цепи dat jrput ло отношению к тактовому сигналу clock равным 35 нс; NET dat..output OFFSET = OUT 25 AFTER dock_sys; устанавливает максимальное значение задержки выходного сигнвла dat_oulput по отношению к тактовому сигналу clock_sys - 25 нс. Временные группы могут создаваться различными способами. Наиболее универ- сальным является использование параметра TIMEGRP. В обшем случае использует- ся следующий формат выражения
11. Синтез проектов, реализуемых на базе ПЛИС семейств FPGA 217 TIMEGRP <назввние_создаваемой_группы> = <условное_обозначвние_лредопределен- ной_группы> [(<нвзввния_компонентов>)] [EXCEPT <условное_обозначение_тилв_элемента> (<названия_исключаемых_комлонентов>)];. например, • выражение TIMEGRP FF1= RISING FFS; формирует временную группу FF1, объединяющую все триггеры, тактируемые фронтом сигнала синхронизации; • выражение TIMEGRP FF2 = FFS EXCEPT FFS("D2"); создаст временную группу FF2, в которую входят все триггеры за исключением D2. Примерами предопределенных групп являются: FFS - триггеры, RAMS - син- хронные ОЗУ, LATCHES - защелки, PADS - выводы (контакты) кристалла. Для создания временных групп на основе уже имеющихся рекомендуется вос- пользоваться соответствующим форматом выражения ограничения TIMEGRP <название_создаваемой_груплы> = <назввние_временной_груплы1> [,<назва- ние_временной_грулпы2>,...] [EXCEPT <название_исключаемой_группы_1>[,<название_ ис- ключаемой _грулпы2>,...]];, например, выражение TIMEGRP NEW_GROUP = GROUP1, GROUP4 EXCEPT GROUP5; включает в состав создаваемой группы элементы, которые входят в состав временных групп GROUP1 и GROUP4, исключая элементы, находящиеся в группе GROUP5. Ограничения для временных групп записываются с помощью ключевого слова TIMESPEC. Наиболее часто используются следующие конструкции групповых вре- менных ограничений. Первая синтаксическая конструкция устанавливает значение параметра PERIOD, рассмотренного выше, для указанной временной группы. TIMESPEC <Т8_идентификатор_спецификации> = PERIOD <незвание_временной_группы> <длительность_периода> [<единицы_измерения>] [{HIGH | 1_0\Л/}[<длительность_первой фа- зы_лериода> («единицы измерения^] ]];, Идентификатор временной спецификации всегда должен начинаться с TS_, например, TIMESPEC TS_syn = PERIOD SYN_GROUP 50 HIGH 35;. Вторая конструкция предназначена для установки значений временных соотно- шений между элементами сформированных или предопределенных временных групп. TIMESPEC <ТБ_идентификатор_слецификации> = FROM <название_временной_группы1> ТО <название_временной_группы2> <длительность_задержки> [<единицы_измерения>];, например, TIMESPEC TS_del = FROM FF_GROUP TO PAD_GROUP 30 ns;. Максимальное значение задержки распространения сигнала для соответствую- щей цепи проекта задастся с помощью параметра MAXDELAY. Полный формат выражения ограничения имеет вид 1^ЕТ<название_цепи>МАХ0Е1АУ=<максимапьное_значение_задер>кки:><единицы_измерения>. В качестве единиц измерения длительности могут использоваться нс (ns), мкс (us), мс (ms), пс (ps). Пример использования временного ограничения MAXDELAY-. NET datajn MAXDELAY=3.0 ns;. Для указания максимально допустимого разброса задержек распространения сигнала по цепи, которая содержит одно или несколько ответвлений, предназначен параметр MAXSKEW. Так как ветви цепи могут иметь различную длину и тополо- гию, то возникает временной перекос изменения сигнала данной цепи на входах
218 Зотов В. Ю, Проектирование цифровых устройств на основе ПЛИС элементов, которые подключены к ней. В ряде случаев, если разброс запаздывания сигнала в различных ветвях цепи превышает некоторую величину, такая ситуация может привести к сбою в процессе функционирования проектируемого устройства. Значение параметра MAXSKEW задает максимально допустимую величину этого временного перекоса. Синтаксис соответствующего выражения, устанавливающего данное ограничение, имеет следующий вид NET <название_цвпи> МАХ5КЕМ=<максимапьное_ значение_разброса_ задержки> [<единицы_измерения>], например, NET data_load MAXSKEW = 2 ns;. В качестве единиц измерения временного разброса используются те же обозна- чения, что и в выражении, определяющем максимальное значение задержки распро- странения сигнала MAXDELAY. По умолчанию, если единицы измерения не указаны явно, используются нс. Параметр NODELAY позволяет минимизировать задержку сигналов на информа- ционных входах триггеров, расположенных в блоках ввода-вывода кристалла. По умолчанию при конфигурировании триггеров, входящих в состав блоков ввода- вывода ПЛИС семейств FPGA, устанавливается дополнительная задержка по входам данных, которая компенсирует запаздывание тактового сигнала. С помощью выра- жения ограничения, синтаксис которого приведен ниже, эта задержка исключается для указанного элемента. Параметр NODELAY может быть задан для триггера, рас- положенного в соответствующем блоке ввода-вывода, или для цепи, подключенной к контакту кристалла. Поэтому для данного параметра используются два варианта формата выражения ограничения. INST <обозначение_триггера_блока_ввода-вывода> NODELAY; например, INST inl_fF NODELAY;. NET <название_цепи_подключенной_ к_ выводу_кристапла> NODELAY; например, NET datain NODELAY;. Для более точного расчета задержек распространения сигналов можно использо- вать параметр VOLTAGE, который позволяет учесть зависимость временных пара- метров кристалла от напряжения источника питания проектируемого устройства. В случае установки данного ограничения производится масштабирование всех за- держек распространения сигналов в кристалле в соответствии с указанным значени- ем напряжения питания. Синтаксис выражения, устанавливающего значение пара- метра VOLTAGE, имеет следующий вид VOLTAGE = <значение_напряжения_источника_литания> М» где V указывает единицы измерения напряжения (В). Например, VOLTAGE = 5;. Следует обратить внимание на то, что параметр VOLTAGE может применяться только для ПЛИС, предназначенных для работы в коммерческом диапазоне напря- жения питания. Если указывается значение, которое выходит за пределы диапазона, допустимого для выбранного типа кристаллов, то такое ограничение игнорируется. При этом выводится сообщение об ошибке, а для проекта устанавливается типовое значение напряжение питания, принятое по умолчанию для выбранного семейства кристаллов.
/ /.Синтез проектов, реализуемых на базе ПЛИС семейств FPGA 219 Уточнение задержек распространения сигналов с учетом температуры, при кото- рой предполагается эксплуатация проектируемого устройства, осуществляется с помощью параметра TEMPERATURE. При использовании этого ограничения произво- дится масштабирование всех задержек распространения сигналов в кристалле в соот- ветствии с указанным значением температуры. Формат соответствующего выраже- ния ограничения имеет вид TEMPERATURE = <значение_температуры> [<единицы_измерения>];. В качестве единиц измерения температуры могут указываться обозначения С (по Цельсию), F (по Фаренгейту), К (по Кельвину). Например, TEMPERATURE = 20 С;. Ограничение TEMPERATURE может устанавливаться только в проектах, для реа- лизации которых используются кристаллы, предназначенные для работы в коммер- ческом диапазоне температур. Большинство ПЛИС семейств FPGA обладает возможностью программирования нагрузочной способности выходных каскадов для каждого блока ввода-вывода. Для этого используется параметр DRIVE, который позволяет установить требуемую мощность для каждого выходного контакта кристалла. В качестве объектов, для ко- торых указывается параметр DRIVE, могут выступать выходные компоненты блоков ввода-вывода (выходные буферы OBUF, выходные триггеры OFD) или цепи, под- ключаемые к выходным контактам ПЛИС. Соответствующие форматы выражений ограничений выглядят следующим образом: INST <обозначение_аыходного_эпемента_блока_ввода-вывода> DRIVE = <значение_вы- ходного_тока_в_гпА>;, например, INST out_bufl DRIVE = 24;. NET <нвзвание_цепи_подключенной_ к_ выходу_кристалла> DRIVE = <значение_выход- ного_тока_в_тА>;. например, NET data out DRIVE = 24;. Для кристаллов серий XC4000XV, XC4000XLA и Spartan™XL: допустимыми значениями выходного тока являются 12 и 24 мА. При использовании ПЛИС серий Spartan-II, Virtex™, Virtcx-E, Virtex-П и Virtex-II Pro список возможных значений содержит семь позиций: 2, 4, 6, 8, 12, 16 и 24 мА. По умолчанию используется зна- чение 12 мА. Инициализация элементов запоминающих устройств (ОЗУ, ПЗУ, таблиц преобра- зования, регистров) осуществляется с помощью параметра INIT, формат выражения которого имеет следующий вид INST <обозначение_элемента_памяти> 1NIT = <значение_определяющее_содержимое_эле- мента_памяти>;, например, INST roml INIT = 5408;. Значение, определяющее содержимое элемента -запоминающего устройства, указыва- ется в шестнадцатеричном виде. При этом количество знаков шестнадцатеричного числа должно соответствовать разрядности элемента запоминающего устройства. Вес значения параметров, указываемые в файле временных и топологических ограничений, ие должны выходить за пределы допустимых диапазонов, которые указаны в справочных данных для выбранного типа ПЛИС.
220 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС 11.2. Содержание этапа HDL-синтеза проекта при использовании средств XST пакета WebPACK ISE Этап синтеза представляет собой процесс трансформации исходного HDL-описа- ния проектируемого устройства в список цепей, выполненный на низком логиче- ском уровне. Элементы низкоуровнего описания, формируемого в процессе синтеза, должны соответствовать архитектуре семейства ПЛИС, выбранного для реализации проекта. Синтезированный список цепей должен быть максимально адаптирован к ресурсам используемого кристалла, что обеспечивает его наиболее эффективное отображение средствами размещения и трассировки на физическом уровне. Поэтому результаты синтеза одного и того же проекта отличаются при использовании ПЛИС семейств CPLD и FPGA. Процесс синтеза начинается с анализа исходного HDL-описания проектируемого устройства, в ходе которого делаются попытки выделения блоков кода, представи- мых в виде соответствующих макросов. Использование макросов часто позволяет повысить производительность разрабатываемого устройства, поэтому средства син- теза пытаются идентифицировать как можно большее их количество. Выделенные макросы в процессе последующей оптимизации, выполняемой на этапе синтеза, могут сохраняться в виде отдельных блоков или оптимизироваться совместно с ок- ружающей логикой. Выбор одного из этих способов представления с целью дости- жения наилучших результатов оптимизации определяется типом и размером макро- са. Управление процессом идентификации макросов различного типа (например, ПЗУ, ОЗУ, мультиплексоров, дешифраторов, приоритетных шифраторов, регистров сдвига) осуществляется с помощью соответствующих ограничений или параметров синтеза HDL options, которые детально будут рассмотрены в следующем разделе. Выделенные макросы впоследствии могут быть реализованы с помощью макрогенераторов, входящих в состав средств синтеза, размещения и трассировки. Следующим шагом в процессе синтеза является оптимизация, которая при ис- пользовании ПЛИС семейств FPGA для реализации проекта выполняется в два за- хода. Вначале выполняется оптимизация каждого отдельного объекта или модуля HDL-описания. Затем производится их объединение, и создается полный список соединений (netlist) проекта. Завершающим шагом является оптимизация получен- ного списка цепей. Основным результатом этапа синтеза, выполняемого средствами Xilinx Synthesis Technology (XST), является формирование файла NGC, который представляет собой описание проекта на низком логическом уровне в двоичном формате. 11.3. Параметры процесса синтеза проекта при использовании средств XST VHDL пакета WebPACK ISE и ПЛИС семейств FPGA Управление процессом синтеза осуществляется с помощью параметров. Для ус- тановки требуемых значений необходимо в окне процессов (рис. 11.1) щелчком ле- вой кнопки мыши выделить строку Synthesize, после чего нажать кнопку ItS | рас.
П.Синтез проектов, реализуемых на базе ПЛИС семейств FPGA 221 положенную на оперативной панели Навигатора проекта, или воспользоваться ко- мандой Properties контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши. Диалоговая панель параметров синтеза, отобра- жаемая на экране монитора, содержит три страницы, снабженные закладками с их названиями: Synthesis options, HDL options и Xilinx Specific options. Так как кристал- лы семейств FPGA имеют более сложную архитектуру и ресурсы, чем ПЛИС CPLD, то средства синтеза предоставляют разработчику более обширный набор парамет- ров управления, позволяющих оптимизировать результаты синтеза. Рис. 11.1. Выбор этапа синтеза в рабочей области основного окна Навигатора проекта при использовании ПЛИС семенст в FPGA Вид страницы Synthesis options, содержащей параметры управления оптимизаци- ей процесса синтеза, при использовании ПЛИС семейств FPGA показан на рис. 11.2. Параметр Optimization Goal позволяет выбрать критерий оптимизации и может принимать одно из двух значений: Speed и Area. Значение Speed устанавливает стра- тегию оптимизации, ориентированную на достижение максимального быстродейст- вия проектируемого устройства. При выборе значения Area оптимизация выполня- ется с целью минимизации используемой области (ресурсов) кристалла. По умолча- нию установлено значение Speed. Параметр Optimization Effort определяет уровень производимой оптимизации и имеет два возможных значения: Normal и High. Если задано значение Normal, го используются стандартные алгоритмы оптимизации. При выборе значения High вы- полняется дополнительная оптимизация с учетом особенностей архитектуры вы-
222 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС бранного кристалла ПЛИС, что позволяет достигнуть более высоких результатов, но приводит к увеличению времени вычислений. По умолчанию установлено значение Normal. Process Properties • • xl Synthesis Options | HDL Options | Хйпк Specific Options | 8 • ' '_______Property Karine_____________| Value 11 ; Optimization GoaljSpeed ** I dptmtzatoo Effort___________________: Normal_____________________________ tSynthesis Ccnstraints Fte '№A_______________________ j Use Synthesis Constraints Ffe ______________Г_____________________________ Keep Hierarchy __________~_________________________________________________ ^Global Optimization Goal ________________________ -AllClockNets___________ ^Generate RTL Schematic__________ _______ _ i¥es_______________________ *Read Cores__________________P_____________________________________________ Wte Timing Constraints _________ ;f~____________________ j 'CrossCtock Analysis _____________________________ |Г______________________ Hierarchy Separator______________________________’ ____________| ’BusDefiiwter________________ . ? __________ jSIlceUtjizationRatio____'_______'100______________________________________ lease _____________________•••••• :Lower________________ I YH)L Work Directory ___________ , '.Ast__________________________________। jVHDLMFto . । *-------------------- -----------------------------[Default: BIANk]----------- | OK | Cancel | Qefadt | Help | Рис. 11.2. Страница Synthesis options диалоговой панели параметров синтеза при реализации проекта на базе ПЛИС семейств FPGA Параметр Synthesis Constraints File предназначен для определения названия фай- ла ограничений, используемого в процессе синтеза. Этот параметр доступен только при разрешающем значении опции Use Synthesis Constraints File. Название файла ограничений может быть введено непосредственно с клавиатуры после активизации поля редактирования значения этого параметра или выбрано при использовании стандартной диалоговой панели открытия файла, которая отображается при нажатии кнопки с пиктограммой в виде многоточия Файл ограничений синтеза (нс пу- тать с файлом ограничений проекта UCF) может содержать информацию о парамет- рах синтеза, которые определяются в рассматриваемой диалоговой панели глобаль- но для проекта в целом, а также о временных и топологических ограничениях, ис- пользуемых программами трассировки. Учитывая, что ограничения для программы трассировки указываются в файле UCF, а собственно ограничения процесса синтеза чаще всего устанавливаются одинаковыми для всех элементов проекта с помощью диалоговой панели параметров синтеза, можно нс указывать значение параметра Synthesis Constraints File. Значение параметра Use Synthesis Constraints File разрешает или запрещает ис- пользование файла ограничений в процессе синтеза. По умолчанию этот параметр находится в состоянии "включено", допускающем применение файла ограничений при синтезе проекта.
П.Синтез проектов, реализуемых на базе ПЛИС семейств FPGA 223 Параметр Keep Hierarchy определяет возможность сохранения иерархии проекта в процессе синтеза. Если этот параметр установлен в состояние "включено", о чем свидетельствует маркер на поле индикатора, то объекты, определенные в модулях HDL-описаний, сохраняются в процессе синтеза и не объединяются с остальной частью проекта. Параметр Global Optimization Goal позволяет выбрать критерий глобальной оп- тимизации. В процессе синтеза проектов, реализуемых на базе ПЛИС семейств FPGA, производится два вида оптимизации: • оптимизация отдельных объектов и модулей; • глобальная оптимизация проекта в целом. Значение AllClockNets устанавливает стратегию глобальной оптимизации, ориен- тированную на достижение максимальной тактовой частоты проектируемого уст- ройства. При выборе значения Inpad to Outpad целью оптимизации является мини- мизации задержек распространения сигналов от входных до выходных контактов через комбинационную логику кристалла. Значение Offset in before задает режим оптимизации максимального времени запаздывания сигналов на маршрутах от входных контактов ПЛИС до информационных входов триггеров, по отношению к тактовому сигналу. При выборе значения Offset out after оптимизируется максималь- ная задержка распространения выходных сигналов триггеров до выходных контак- тов кристалла относительно сигнала синхронизации. Значение Max Delay устанав- ливает в качестве критерия глобальной оптимизации минимизацию максимальной задержки распространения сигналов для всех цепей проекта. По умолчанию уста- новлено значение AllClockNets. С помощью параметра Generate RTL Schematic предоставляется возможность формирования в процессе синтеза списка соединений (netlist) на уровне RTL, кото- рый может затем отображаться с помощью схемотехнического редактора ECS в на- глядной форме (в виде схемы). Выпадающий список возможных значений этого па- раметра содержит три элемента: YES, NO и ONLY. Значение YES, установленное по умолчанию, разрешает генерацию файла, содержащего список соединений на RTL- уровне. Этот файл имеет расширение NGR. При выборе значения NO список соеди- нений на RTL-уровне не создастся. В случае установки значения ONLY процесс синтеза ограничивается только формированием RTL-представпсния проектируемого устройства в виде файла NGR. Параметр Read Cores разрешает или запрещает в процессе вычислений времен- ных параметров проекта чтение файлов, содержащих параметризированные описа- ния модулей (логические "ядра", Cores) в формате EDIF или NGC. По умолчанию для этого параметра установлено значение "включено", допускающее чтение ука- занных файлов. Параметр Write Tuning Constraints управляет размещением временных ограниче- ний в файле, содержащем результаты синтеза проекта (.NGC). Эти временные огра- ничения учитываются как при синтезе, так и в процессе размещения и трассировки проекта в кристалл. По умолчанию для этого параметра установлено значение "вы- ключено”, запрещающее запись временных ограничений в файл NGC. Значение параметра Cross Clock Analysis разрешает или запрещает выполнение анализа тактовых сигналов во внутренних областях в процессе временной оптими-
224 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС зации. По умолчанию этот параметр находится в состоянии "выключено", запре- щающем проведение указанного анализа в процессе оптимизации. Параметр Hierarchy Separator позволяет выбрать символ, который используется в качестве разделителя при формировании идентификаторов элементов в соответст- вии с иерархической структурой проекта. Выпадающий список возможных значений этого параметра содержит два элемента: символ подчеркивания и По умол- чанию в качестве разделителя используется символ подчеркивания. Параметр Bus Delimiter определяет формат записи данных векторного типа в списке соединений (netlist), формируемом в результате выполнения этапа синтеза. В выпадающем списке допустимых значений представлено четыре вида скобок, ис- пользуемых для записи векторов: о, [], {}, (). По умолчанию используются о. С помощью параметра Slice Utilization Ratio указывается область (объем физиче- ских ресурсов) кристалла в процентном отношении, в пределах которой выполняет- ся оптимизация временных соотношений в процессе синтеза проекта. По умолча- нию для этого параметра установлено значение 100%. Значение параметра Case определяет, символами какого регистра (верхнего или нижнего) записываются идентификаторы в файле, полученном в результате выпол- нения процесса синтеза. Выпадающий список возможных значений этого параметра включает в себя два элемента: Lower и Upper. Значение Lower, установленное по умолчанию, соответствует символам нижнего регистра. Этот параметр актуален только при использовании средств синтеза XST Verilog. Средства синтеза XST VHDL по умолчанию формируют идентификаторы из символов нижнего регистра. С помощью параметра VHDL Work Directory указывается название рабочего ка- талога, в котором сохраняются промежуточные результаты компиляции VHDL- файлов. По умолчанию в рабочей папке проекта средствами синтеза автоматически создается каталог XST, который и рекомендуется использовать. Если необходимо выбрать другой каталог, то следует активизировать поле выбора значения этого па- раметра, расположив на нем курсор и щелкнув левой кнопкой мыши. Затем следует нажать кнопку с пиктограммой в виде многоточия после чего воспользоваться стандартной панелью навигации по дискам компьютера. Значение параметра VHDL INI File содержит название INI-файла, в котором ус- танавливается соответствие VHDL-библиотек для текущего проекта. Требуемый идентификатор может быть указан с помощью клавиатуры или выбран из списка, отображаемого в стандартной диалоговой панели открытия файла, которая выводит- ся при нажатии кнопки с пиктограммой в виде многоточия Страница HDL Options, объединяющая параметры управления синтезом различ- ных объектов HDL-описаний при использовании ПЛИС семейств FPGA, представ- лена на рис. 11.3. Параметр FSM Encoding Algorithm управляет выбором метода кодирования ко- нечных автоматов (Finite State Machine, FSM). Выпадающий список значений зтого параметра содержит восемь элементов: Auto, One-Hot, Compact, Sequential, Cray, Johnson. User, None. Значение auto, установленное по умолчанию, позволяет средст- вам синтеза автоматически выбрать для каждого конечного автомата наилучший алгоритм кодирования. Метод One-Hot гарантирует, что каждый отдельный регистр предназначен для реализации одного состояния, т. е. в любой момент времени акти-
1 /.Синтез проектов, реализуемых на базе ПЛИС семейств FPCA 225 вен только один триггер. Алгоритм Compact позволяет минимизировать количество триггеров при синтезе конечного автомата. Process Properties Synthesis Options HDL Options | Xilinx Specific Options | Property Name j FSM Encodng Algorithm______________ iRAM Extraction____________________ ^RAMStyle___________ ROM Extraction ____ Mux Extraction p_ Yes Mux Style ________________ Decoder Extraction Priority Encoder Extraction Stint Register Extraction Logical Shifter Extraction Auto " Yes _______________ ip XOR Collapsing_________________________ Resource Sharing Complex Clock Enable Extraction lylultipfer. Style______. lP_______________ P________________ P________________ Aulo _ □K | Cancel | Delault [ Help #1 Рис. 11.3. Страница HDL Options диалоговой панели параметров синтеза проекта, реализуемого иа базе ПЛИС семейств FPGA При выборе значения Sequential используется метод, заключающийся в иденти- фикации длинных ветвей и применении последовательности двоичных кодов для представления состояний этих ветвей. Метод Gray, гарантирующий переключение только одной переменной между двумя последовательными состояниями, миними- зирует риск возникновения паразитных импульсов. Алгоритм Johnson целесообраз- но использовать при синтезе конечных автоматов, описания которых содержат длинные цепочки без ветвлений. Значение User указывает средствам синтеза ис- пользовать алгоритм кодирования, представленный в файле исходного описания. При выборе значения попе запрещается автоматическое кодирование конечных ав- томатов. Параметр RAM Extraction позволяет включить или выключить режим извлечения макросов ОЗУ (RAM) в процессе синтеза. Значение "включено", установленное по умолчанию, разрешает средствам синтеза выделение макросов ОЗУ в исходном коде HDL-описания. С помощью параметра RAM Style указывается способ реализации макросов ОЗУ, формируемых средствами синтеза. Выпадающий список значений этого параметра содержит три элемента: Auto, Distributed, block По умолчанию установлено значе- ние Auto, при котором средства синтеза для каждого идентифицированного макроса ОЗУ устанавливают тип, обеспечивающий его оптимальную реализацию. При вы- > Зотов В.Ю.
226 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС боре значения Distributed все синтезированные макросы ОЗУ представляются на этапе реализации в виде распределенной памяти. Значение Block обеспечивает по- следующее представление всех макросов ОЗУ в форме блочной памяти (Block RAM). Значение параметра ROM Extraction разрешает или запрещает средствам синтеза извлечение макросов ПЗУ (ROM). По умолчанию установлено значение "включено", разрешающее выделение ROM-макросов в исходных. HDL-описаниях. Обычно мак- росы ПЗУ могут создаваться (извлекаться) из операторов выбора (Case), в которых присваиваемые значения являются постоянными величинами. Значение параметра Мих Extraction разрешает (YES) или запрещает (NO) средст- вам синтеза извлечение макросов мультиплексоров. По умолчанию установлено значение YES. При этом для каждого обнаруженного описания мультиплексора, вы- полненного на базе некоторого внутреннего алгоритма, программа синтеза Xilinx Synthesis Technology (XST) формирует макрос или оптимизирует его совместно с остальной частью проекта. Значение Force указывает средствам синтеза игнориро- вать внутренние алгоритмы и создавать макросы для мультиплексоров. Параметр Мих Style используется для управления выбором метода реализации макросов мультиплексоров, сформированных средствами синтеза. Выпадающий список возможных значений включает три элемента: Auto, MUXF, MUXCY. Значение Auto, установленное по умолчанию, позволяет средствам синтеза выбрать и указать наилучший способ последующей реализации для каждого макроса мультиплексора. При выборе значения MUXF в качестве ресурсов для реализации всех макросов мультиплексоров, извлеченных средствами синтеза, назначаются мультиплексоры F5 и F6, которые входят в состав дополнительной логики каждого конфигурируемо- го логического блока ПЛИС. Значение MUXCY задает в качестве способа интерпре- тации всех макросов мультиплексоров использование ресурсов логики ускоренного переноса и каскадирования. Значение параметра Decoder Extraction разрешает или запрещает средствам син- теза извлечение макросов декодеров (дешифраторов). По умолчанию установлено значение "включено", разрешающее выделение указанных макросов в исходном коде HDL-описаний. С помощью параметра Priority Encoder Extraction осуществляется управление синтезом макросов приоритетных шифраторов. В выпадающем списке доступных значений этого параметра содержится три элемента: Yes, No, Force. Значение No за- прещает извлечение (создание) макросов приоритетных шифраторов. При выборе значения Yes, установленного по умолчанию, для каждого обнаруженного описания приоритетного шифратора, выполненного на базе некоторого внутреннего алгорит- ма, средства синтеза XST формируют макрос или оптимизирует его совместно с остальной частью проекта. Значение Force предписывает средствам синтеза игнори- ровать внутренние алгоритмы и всегда создавать макросы для идентифицированных блоков описания приоритетных шифраторов. Параметр Shift Register Extraction разрешает или запрещает извлечение макросов регистров сдвига в процессе синтеза. Значение "включено", установленное по умол- чанию, разрешает средствам синтеза выделение макросов регистров сдвига в исход- ном коде HDL-описаиия.
11. Синтез проектов, реализуемых па базе ПЛИС семейств FPGA 227 Значение параметра Logical Shifter Extraction указывает способ синтеза описаний устройств логического сдвига. По умолчанию установлено значение "включено", разрешающее формирование макросов для идентифицированных описаний уст- ройств логического сдвига. Параметр XOR Collapsing определяет режим синтеза каскадных конструкций ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR). При выборе значения "включено", установленного по умолчанию, в процессе синтеза производится "сжатие" каскадных XOR-структур в одиночные. Параметр Resource Sharing разрешает или запрещает совместное использование ресурсов арифметическими операторами. По умолчанию используется разрешаю- щее значение, отображаемое маркером на поле соответствующего индикатора. Опция Complex Clock Enable Extraction используется для указания необходимо- сти анализа не только основных шаблонов, но и менее очевидных описаний, где мо- жет быть применяться разрешение синхронизации. Средства синтеза формируют макросы с разрешением синхронизации там, где это возможно. Значение по умолча- нию - "включено". Параметр Multiplier Style позволяет указать метод синтеза и последующей реали- зации макросов умножителей при использовании ПЛИС семейства Virtex-II. В выпадающем списке доступных значений этого параметра представлено три эле- мента: Auto, Block, LUT. Значение Auto, установленное по умолчанию, предписыва- ет средствам синтеза выбрать и указать наилучший метод последующей реализации для каждого обнаруженного макроса умножителя. Значение Block указывает на то, что процесс синтеза должен осуществляться с учетом последующего использования встроенных блоков умножителей в кристаллах семейства Virtex-II. При выборе зна- чения LUT синтез макросов умножителей выполняется с учетом последующей реа- лизации на базе ресурсов таблиц преобразования Look-Up Table (LUT) ПЛИС се- мейства Virtex-II. Содержание страницы Xilinx Specific Options, в которой сведены параметры син- теза, учитывающие требования средств размещения и трассировки Xilinx, при ис- пользовании кристаллов семейств FPGA показано на рис. 11.4. Параметр Add I/O Buffers разрешает или запрещает автоматическое подключение буферных элементов к цепям модуля исходного описания верхнего уровня проекта, которые предназначены для соединения с выводами кристалла. По умолчанию уста- новлено разрешающее значение этого параметра. Если входные и выходные буфер- ные элементы были включены в состав модуля исходного описания проекта на ста- дии его разработки, то следует изменить значение этого параметра на "выключено", запрещающее автоматическое подключение этих элементов. Значение параметра Max Fanout устанавливает максимально допустимое коли- чество ветвлений цепей в процессе синтеза. Наличие цепей с большим количеством ветвлений создает проблемы в процессе их трассировки. Для исключения возникно- вения таких проблем с помощью параметра Max Fanout задается предельное значе- ние, ограничивающее количество разветвлений результирующих цепей. Средства синтеза могут сократить количество разветвлений за счет дублирования соответст- вующих регистров и вентилей, а также за счет установки дополнительных буферов. По умолчанию для рассматриваемого параметра установлено значение 500.
228 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Process Properties sss. >ч « Xl Synthesis Options | HDL Options XTinx Specific Options | Property Heme_______"______’ | Value Add UO Buffers p Max Fanout 500 Number of Clock Buffers ie Register Duplication p Equivalent Regster Remove! p Register Balancing Move First Flip-Flop Stage ; Move Last Flip-FlopStage SbcePacking . , Pack I/O Registers into 100s No M/A N/A p — - Auto OK | Cancel | Defajt | Help Рис. 11.4. Страница Xilinx Specific Options диалоговой панели параметров синтеза проекта, реализуемого на базе ПЛИС семейств FPGA С помощью параметра Number of Clock Buffers определяется максимальное коли- чество глобальных буферов, создаваемых средствами синтеза. Задаваемое значение этого параметра должно соответствовать глобальным ресурсам, которые указаны в справочных данных для выбранного типа ПЛИС. Значение по умолчанию определя- ется типом кристалла, используемого для реализации проекта. Значение параметра Register Duplication разрешает или запрещает средствам синтеза дублирование регистров при временной оптимизации и сокращении коли- чества разветвлений цепей. Значение "включено", установленное по умолчанию, разрешает дублирование регистров в процессе синтеза. Параметр Equivalent Register Removal управляет оптимизацией триггеров в процессе синтеза. При разрешающем значении этого параметра, которое задано по умолчанию, средства синтеза исключают из состава проекта триггеры, выполняю- щие эквивалентные функции, а также триггеры, входные сигналы которых имеют постоянный уровень, не изменяющийся в процессе функционирования устройства. Параметр Register Balancing используется для повышения тактовой частоты про- ектируемого устройства за счет перемещения триггеров относительно логики. Вы- падающий список значений этого параметра содержит четыре элемента: Yes, No, Forward, and Backward.. По умолчанию установлено значение No, запрещающее перестановку триггеров. Значение Yes разрешает перестановку триггеров как в пря- мом, так и обратном направлении. При выборе значения Forward перемещение раз- решается только в прямом направлении, т. е. триггеры на входах таблицы преобра- зования (Look-Up Tabic) заменяются триггером на се выходе. Значение Backward допускает только обратное перемещение триггеров, при котором триггер па выходе LUT-таблицы преобразуется в серию триггеров на ее входах. С помощью параметра Move First Flip-Flop Stage расширяются возможности применения опции Register Balancing. При выборе значения "включено", установ-
11. Синтез проектов, реализуемых иа базе ПЛИС семейств FPGA 229 ленного по умолчанию, в процессе перестановки триггеров могут участвовать и триггеры, подключаемые к входным контактам кристалла. Значение "выключено" позволяет исключить из процесса перемещения входные триггеры. Параметр Move Last Flip-Flop Stage оказывает аналогичное влияние на примене- ние опции Register Balancing в процессе синтеза. По умолчанию для этого парамет- ра установлено значение "включено", разрешающее использовать в процессе пере- становки триггеры, подключаемые к выходным контактам кристалла. При выборе значения "выключено" выходные триггеры исключаются из процесса перемещения. Опции Move First Flip-Flop Stage и Move Last Flip-Flop Stage применяются только в случае, если для параметра Register Balancing выбрано значение, допускающее пе- рестановку триггеров. Для этих параметров рекомендуется использовать значения, установленные по умолчанию. Значение параметра Slice Packing разрешает или запрещает средствам синтеза выполнять упаковку блоков кода с критическими связями в одну секцию или конфи- гурируемый логический блок. Значение "включено", установленное по умолчанию, позволяет повысить производительность проектируемого устройства за счет исполь- зования высокоскоростных цепей связи с таблицами преобразования в рамках одно- го конфигурируемого логического блока. При выборе значения "выключено" встро- енный компоновщик средств синтеза не используется. С помощью параметра Pack I/O Registers into lOBs осуществляется управление компоновкой триггеров в блоки ввода-вывода на этапе синтеза. В выпадающем спи- ске доступных значений этого параметра представлено три элемента: Auto, Yes, No. Значение Auto, установленное по умолчанию, предписывает средствам синтеза вы- полнять упаковку триггеров в блоки ввода-вывода при условии соблюдения требо- ваний временных спецификаций. При выборе значения Yes, средства синтеза ис- пользуют триггеры, входящие в состав блоков ввода-вывода, везде, где это возмож- но. Значение No запрещает средствам синтеза поглощение входных и выходных триггеров. После установки требуемых значений параметров синтеза следует подтвердить их нажатием клавиши ОК в нижней части диалоговой панели (рис. 11.4). 11.4. VHDL-синтез проекта при использовании средств XST пакета WebPACK ISE и семейств FPGA Для запуска процесса синтеза следует дважды щелкнуть левой кнопкой мыши на строке Synthesize в окне процессов Навигатора проекта (рис. 11.1). Выполнение синтеза сопровождается информацией в окне консольных сообщений и строке со- стояния. О характере завершения процесса синтеза сигнализирует соответствующая пиктограмма в строке Synthesize. Более детальная информация о полученных ре- зультатах содержится в отчете Synthesis Report. Для его открытия достаточно дваж- ды щелкнуть левой кнопкой мыши на строке View Synthesis Report. Количество и содержание разделов отчета различается при использовании семейств CPLD и FPGA. В качестве примера, далее для сравнения приведен отчет о выполнении про- цесса синтеза проекта счетчика Джонсона, реализуемого в кристалле семейства
230 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Virtex-II. Для большей наглядности отчет представлен в виде отдельных секций, соответствующих его основным разделам. Отчет содержит шесть основных разделов, выделенных двойной штриховой ли- нией. В первом разделе приведены сведения об исходных данных, при которых вы- полнялся процесс синтеза. Здесь указаны установленные значения параметров син- теза, рассмотренных выше, и некоторых общих параметров проекта (семейство и тип ПЛИС), а также форматы входных и выходных файлов. Отчет о результатах выполнения синтеза проекта счетчика Джонсона (раздел ис- ходных данных) Release 5.1i - xst F.23 Copyright (с) 1995-2002 Xilinx, Inc. All rights reserved. — > Parameter TMPDIR set to _projnav CPU : 0.00 / 2.34 s | Elapsed : 0.00 / 2.00 s — > Parameter xsthdpdir set to ./xst CPU : 0.00 / 2.34 s | Elapsed : 0.00 / 2.00 s — > Reading design: jc2.prj TABLE OF CONTENTS 1) Synthesis Options Summary 2) HDL Compilation 3) HDL Analysis 4) HDL Synthesis 4.1) HDL Synthesis Report 5) Low Level Synthesis 6) Final Report 6.1) Device utilization summary 6.2) TIMING REPORT Synthesis Options Summary ----- Source Parameters Input File Name Input Format Ignore Synthesis Constraint ----- Target Parameters Output File Name Output Format Target Device : jc2.prj : VHDL File : YES : jc2 : NGC : xc2v40-6fg256 ----- Source Options Entity Name : jc2 Automatic FSM Extraction : YES FSM Encoding Algorithm : Auto RAM Extraction : Yes RAM Style ; Auto ROM Extraction : Yes Mux Extraction : YES Mux Style : Auto Decoder Extraction ; YES Priority Encoder Extraction : YES Shift Register Extraction : YES Logical Shifter Extraction : YES XOR Collapsing : YES Resource Sharing : YES Complex Clock Enable Extraction : YES Multiplier Style : auto
II. Синтез проектов, реализуемых на базе ПЛИС семейств FPGA 231 Automatic Register Balancing : NO Target Options Add io Buffers : YES Global Maximum Fanout : 500 Add Generic Clock Buffer(BUFG) : 16 Register Duplication : YES Equivalent register Removal : YES Slice Packing : YES Pack Io Registers into lOBs : auto General Options Optimization Criterion : Speed Optimization Effort : 1 Keep Hierarchy : NO Global Optimization : AllClockNets RTL Output : Yes Write Timing Constraints : NO Hierarchy Separator Bus Delimiter i <> Case Specifier : lower Top module area constraint : 100 Top module allowed area overflow : 5 Other Options read_cores : YES crо s s_cloc k_ana ly s i s : NO Второй раздел представляет информацию о компиляции и анализе объектов ис- ходных HDL-описаний, которые производятся в соответствии с иерархической структурой проекта. Во второй части этого раздела отображается последователь- ность синтеза этих объектов. В третьем разделе расположены данные о макросах, идентифицированных средствами синтеза. Отчет о результатах выполнения синтеза проекта счетчика Джонсона (разделы, отображающие последовательность синтеза объектов и сведения об идентифициро- ванных макросах) HDL Compilation Compiling vhdl file C:/Project/jeount/jc2.vhf in Library work. Entity <f jkc_jnxilinx_jc2> (Architecture <schematic>) compiled. Entity <m2_l_mxilinx_jc2> (Architecture <schematic>) compiled. Entity <sr4cled_mxilinx_jc2> (Architecture <schematic>) compiled. Entity <jc2> (Architecture <schematic>) compiled. HDL Analysis Analyzing Entity <jc2> (Architecture <schematic>). Set user-defined property "U_SET = dir_regl_10H for instance <dir_regl> in unit <jc2>. Set user-defined property “U_SET = run_reg_9" for instance <run_reg> in unit <jc2>. Set user-defined property "IOSTANDARD = LVTTL" for instance <i9> in unit <jc2>. Set user-defined property "IOSTANDARD = LVTTL" for instance <iS> in unit <jc2>. Set user-defined property "IOSTANDARD = LVTTL" for instance <i7> in unit <jc2>.
232 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Set user-defined property "IOSTANDARD = LVTTL" for instance <i6> in unit <jc2>. Set user-defined property “DRIVE = 12" for instance <il8> in unit <jc2>• Set user-defined property "IOSTANDARD = LVTTL" for instance <i!8> in unit <jc2>. Set user-defined property "slew = SLOW" for instance <il8> in unit <jc2>. Set user-defined property "DRIVE = 12" for instance <il7> in unit <jc2>. Set user-defined property "IOSTANDARD = LVTTL" for instance <il7> in unit <jc2>- Set user-defined property "slew = SLOW” for instance <i!7> in unit <jc2>. Set user-defined property "DRIVE = 12n for instance <il6> in unit <jc2>. Set user-defined property "IOSTANDARD = LVTTL" for instance <il6> in unit <jc2>. Set user-defined property "slew = SLOW' for instance <il6> in unit <jc2>. Set user-defined property "DRIVE = 12" for instance <il5> in unit <jc2>. Set user-defined property "IOSTANDARD = LVTTL" for instance <il5> in unit <jc2>. Set user-defined property "slew = SLOW" for instance <il5> in unit <jc2>. Set user-defined property "U_SET • jcounter_8" for instance <jcounter> in unit <jc2>. Entity <jc2> analyzed. Unit <jc2> generated. Analyzing Entity <fjkc_mxilinx_jc2> (Architecture «schematic»). Set user-defined property "INIT = 0" for instance «i_36_32> in unit <fjkc_mxilinx_jc2>. Set user-defined property "RLOC = X0Y0" for instance <i_36_32> in unit <fjkc_mxilinx_jc2>. Entity <f jkc_jnxilinx_jc2> analyzed. Unit «fjkc__mxilinx_jc2> generated. Analyzing Entity <sr4cled_mxilinx_jc2> (Architecture «schematic»). Set user-defined property "INIT 0" for instance «i_q2> in unit <sr4cled_mxilinx_jc2>. Set user-defined property "INIT = 0" for instance «i_ql> in unit <sr4cled_mxilinx^jc2>. Set user-defined property "INIT = 0й for instance <i_q0> in unit <sr4cled_mxilinx_jc2>» Set user-defined property "INIT » 0" for instance <i_q3> in unit <sr4cled_mxilinx_jc2>. Set user-defined property "U_SET = I_MDL2_0" for instance «i_md!2> in unit <sr4cled_mxilinx_jc2>. Set user-defined property "U_SET = I_MDL1_1" for instance «i_mdll> in unit <sr4cled_mxilinx„jc2>. Set user-defined property "U_SET - I_MDL0_2" for instance <i_mdl0> in unit < s r 4 с 1ed_mxi1inx_jc2>. Set user-defined property "U_SET = I_MDR0_3" for instance <i_mdr0> in unit <sr4cled_mxilinx_jc2>. Set user-defined property "U_SET = I_MDR1_4“ for instance <i_mdrl> in unit <sr4cled_mxilinx_jc2> . Set user-defined property "U_SET = l_MDR2_51 for instance <i_mdr2> in unit <sr4cled_mxilinx_jc2>. Set user-defined property "U_SET - I_MDL3_6" for instance <i_mdl3> in unit <sr4cled_mxi1inx_jc2>. Set user-defined property SET = I_MDR3_7" for instance «i_mdr3> in uni t <sr4cled_mxilinx_jc2>.
11.Синтез проектов, реализуемых на базе ПЛИС семейств FPGA 233 Entity <sr4cled_n,ixilinx_jc2> analyzed. Unit <sr4cled__mxilinx_jc2> generated. Analyzing Entity <m2_l_mxilinx_jc2> (Architecture <schematic>). Entity <m2_l_mxilinx_jc2> analyzed. Unit <m2__l_mxilinx_jc2> generated * HDL Synthesis * Synthesizing Unit <m2__l_mxilinx_jc2>. Related source file is C:/Project/jcount/jc2.vhf. Unit <rr,2_l_mxilinx_jc2> synthesized. Synthesizing Unit <sr4cl ed__mx.il inx_jc2>. Related source file is C:/Project/jcount/jc2.vhf. Unit <sr4cled_mxilinx_jc2> synthesized. Synthesizing Unit <fjkc_mxilinx_jc2>. Related source file is Ct/Project/jcount/jc2.vhf. Unit <fj kc_jnxi 1 inx_jc2 > synthesi zed • Synthesizing Unit <jc2>. Related source file is C;/Project/jcount/jc2.vhf. Unit <jc2> synthesized. HDL Synthesis Report Found no macro Четвертый раздел отображает основные фазы оптимизации, выполняемой в про- цессе логического синтеза. Вначале производится оптимизация каждого иерархиче- ского модуля, после чего формируется общее описание проекта. Далее выполняется глобальная оптимизация всего проекта в целом. В зависимости от полученных ре- зультатов рассматриваемая секция отчета также может содержать предупреждения (WARNING), указывающие пути повышения уровня оптимизации проекта в процес- се синтеза. Отчет о результатах выполнения синтеза проекта счетчика Джонсона (раздел, представляющий информацию о процессе оптимизации) * Lew Level Synthesis * Library "C:/Xilinx/data/librtl.xst" Consulted Optimizing unit <jc2> ... Optimizing unit <fjkc_mxilinx_jc2> . . . Optimizing unit <m2_l_mxilinx_jc2> ... Optimizing unit <sr4cled__mxilinx_jc2> . . . Mapping all equations... Loading device for application XSt from file '2v40.nph‘ in environment C:/Xilinx. Building and optimizing final netlist ... Found area constraint ratio of 100 (+ 5) on block jc2, actual ratio is 1- В пятой части отчета приведены данные о выходных параметрах процесса син- теза и статистические характеристики полученных результатов (количество прими-
234 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС тивов каждого типа, использованных в синтезированном описании проектируемого устройства). Отчет о результатах выполнения синтеза проекта счетчика Джонсона (раздел со- держащий статистические данные результатов синтеза) Final Report Final Results RTL Output File Name Top Level output File Name Output Format Optimization Criterion Keep Hierarchy Macro Generator Design Statistics # IOs Cell Usage : # BELS # and2 # and2bl # and3bl # and3b2 # gnd # inv # or2 # or2b2 # or3 # FlipFlops/Latches # FDC # FDCE # io Buffers # ibuf # obuf : jc2.ngr ; jc2 : NGC : Speed : NO : macro* : 8 : 42 : 8 : 10 : 2 : 2 : 2 : 5 : 10 : 1 : 2 : 6 : 2 ; 4 ; 8 : 4 : 4 Device utilization summary: Selected Device : 2v40fg256-6 Number oE Slices: 4 out of 256 1% Number of Slice Flip Flops: 6 out of 512 1% Number of bonded lOBs: 8 out of 88 9% По классификации, выполняемой средствами синтеза XST, существует восемь типов примитивов: BELS - базовые элементы, к которым относятся таблицы преобразований (LUT), мультиплексоры (MUXCY, MUXF5, MUXF6, MUXF7, MUXF8) и стандартные логи- ческие элементы (например, AND2, OR2); Flip-flops/ Lalchcs - триггеры с динамическим и потенциальным управлением (защелки) (например, элементы FDR, FDRE, LD); RAMS - элементы ОЗУ; SHIFTERS - регистры сдвига (например, элементы SRL16, SRL16_1, SRL16E, RL16EJ); Tri-Statcs - элементы с трнстабильными выходами (например, BUFT);
11. Синтез проектов, реализуемых иа базе ПЛИС семейств FPGA 235 Clock Buffers - глобальные буферные элементы, используемые в цепях синхро- низации (например, элементы BUFG, BUFGP, BLJFGDLL); IO Buffers - стандартные буферные элементы, подключаемые к выводам кри- сталла (например, элементы IBUF, OBLJF, 10BUF, OBUFT, 1BUF_GTL). OTHER - элементы, нс включенные ни в одну из предыдущих групп. Иногда стандартные логические элементы выделяются в отдельную группу - LOGICAL. Шестая, заключительная, часть отчета содержит информацию о временных па- раметрах синтезированного проекта. Все временные характеристики, приведенные в этом разделе, носят предварительный характер. Более достоверная информация мо- жет быть получена только после выполнения этапа размещения и трассировки про- екта в кристалл. Отчет о результатах выполнения синтеза проекта счетчика Джонсона (раздел временных характеристик) TIMING REPORT NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE. FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT GENERATED AFTER PLACE-and-ROUTE. Clock Information: -----------------------------+-------------------------+------+ Clock Signal | Clock buffer(FF name) | Load | +----------- +--------+ elk-------------------------------------------------------------| ibuf .-| €-| -----------------------------+-------------------------+------+ Timing Summary: Speed Grade: -6 Minimum period: 4.787ns (Maximum Frequency: 208.899MHz) Minimum input arrival time before clock: 3.966ns Maximum output required time after clock: 6.318ns Maximum combinational path delay: No path found Timing Detail: All values displayed in nanoseconds (ns) Timing constraint: Default period analysis for Clock ’elk' Delay: 4.787ns (Levels of Logic ~ 5) Source: j counter/i_q3 Destination: jcounter/i_qO Source Clock: elk rising Destination Clock: elk rising Data Path: jcounter/i_q3 to jcounter/i_qO Gate Net Cell:in->out fanout Delay Delay Logical Name (Net Name) FDCE:c->q 3 0.449 0.750 i_q3 Iq3) end scope: *jcounter' inv:i->o 1 0.347 0.312 i21 (xlxn_ll) begin scope: 'jcounter'
236 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС begin scope: i_mdl0 ’ and2bl:il->o 1 0.347 0.312 i 36 7 (m0) or2:il->o end scope: • begin scope: 1 0.347 0.312 i_36_8 (о) i_mdl01 'i_mdr0 and2:i0->o 1 0.347 0.312 i_36_9 (ml) or2:i0->o end scope: FDCE:d 1 0.347 0.312 i_36_B (o) i_mdr0' 0.293 i_q0 Total 4.787ns (2.477ns logic, 2.310ns route) 151.7% logic, 48.3% route) Timing constraint: Offset; Source: Destination: Destination Cloc Data Path: left Cell:in->out Default OFFSET IN BEFORE for Clock 'elk' 3.966ns (Levels of Logic - 4) left run_reg/ i_3 6_3 2 :k: elk rising to run_reg/i_36_32 Gate fanout Delay Net Delay Logical Name (Net Name) ibuf:i->o 2 0.653 0.605 i9 (xlxn_24) inv:i->o 3 0.347 0.750 ilO (xlxn_19) begin scope: ’run_reg1 and2bl:i0->o 1 0.347 0.312 i 36 43 (a2) or3:i0->o 1 0.347 0.312 i_36_41 (ad) FDC.-d 0.293 i_36_32 Total 3.966ns (1.9B7ns logic, 1.979ns route) (50.1% logic, 49.9% route) Timing l nstraint: Default OFFSET OUT AFTER for Clock 'elk' Offset: 6.318ns (Levels of Logic - 1) Source: j counter/i_q0 Destination; q<0> Source Clock: elk rising Data Path: jeounter/i_qO to q<0> Gate Net Cell:in->out fanout Delay Delay Logical Name (Net Name) FDCE:c->q 3 0.449 0.750 i_q0 (q0) end scope: 'jeounter' obuf:i->o 5.119 i!5 (q<0>) Total 6.318ns (5.568ns logic, 0.750ns route) (88.1% logic, 11.9% route) Раздел временных характеристик включает в себя три секции: Clock. Information, Timing Summary, Timing Detail. В первой секции (Clock Information) перечисляются сигналы синхронизации и типы буферных элементов, использованных для их фор- мирования. Секция Timing Summary представляет предельные значения основных временных характеристик: максимальное значение тактовой частоты, минимальное время установления входных сигналов по отношению к сигналу синхронизации, максимальная задержка выходных сигналов по отношению к сигналу синхрониза- ции, максимальная задержка распространения сигнала от входа до выхода через
1J.Синтез проектов, реачизуемых на базе ПЛИС семейств FPGA 237 комбинационную логику. В секции Timing Detail дастся детальное описание вре- менных характеристик критических путей. Если полученные результаты синтеза не соответствуют исходным требованиям проекта (например, значения временных характеристик), следует повторить этот этап, изменив значения его параметров. При достижении успешных результатов синтеза следует перейти к этапу реализации (Implementation) проектируемого уст- ройства. J -
12. Реализация проектов на базе ПЛИС семейств FPGA фирмы Xilinx в САПР WebPACK ISE Пакет WebPACK ISE включает средства, позволяющие выполнять размещение и трассировку проекта в кристалле как в ручном, так и в автоматическом режиме. В настоящей главе рассматриваются процедуры этапа реализации, выполняемого в автоматическом режиме. 12.1. Структура этапа реализации проектов на базе ПЛИС семейств FPGA фирмы Xilinx в пакете WebPACK ISE Этап реализации (Implementation) проектов, выполняемых на базе ПЛИС се- мейств FPGA, включает в себя три фазы: трансляции (Translate), отображения логи- ческого описания проекта на физические ресурсы кристалла (МАР), размещения и трассировки (Place and Route). В процессе трансляции выполняется объединение всех списков соединений в формате EDIF, входящих в состав проекта, и информа- ции обо всех ограничениях, которая содержится в файлах UCF (User Constraints File) и NCF (Netlist Constraints File). Результатом фазы трансляции является формирова- ние логического описания проекта в терминах примитивов Xilinx низкого уровня с учетом временных и топологических ограничений, выполненного в формате NGD (Native Generic Database). На второй стадии рассматриваемого этапа логическое описание проекта, полученное на предыдущем шаге, проецируется на физические ресурсы выбранного типа ПЛИС. При этом выполняется оптимизация в соответст- вии с выбранным критерием и заданными ограничениями. В процессе размещения и трассировки выбирается наилучшее расположение конфигурируемых логических блоков, реализующих соответствующие функции проекта, и выполняются необхо- димые соединения с учетом временных и топологических ограничений. В результате выполнения рассматриваемого этапа создается двоичный файл, ко- торый описывает использование физических ресурсов кристалла для реализации элементов (функций) проектируемого устройства и выполнения необходимых со- единений между ними. Этот файл затем используется в качестве исходного для ге- нерации конфигурационной последовательности. 12.2. Параметры процесса реализации проектов на базе ПЛИС семейств FPGA Для управления процедурами этапа реализации, выполняемыми в автоматиче- ском режиме, используются соответствующие параметры. Их значения могут быть заданы поочередно для каждой фазы в отдельности, например, перед ее активизаци- ей, или сразу для всего процесса в целом. В первом случае следует выделить в окне процессов (рис. 12.1) название соответствующей фазы, после чего нажать кноп- ку [ЩВ, расположенную па оперативной панели Навигатора проекта, или восноль-
12. Реализация проектов на базе ПЛИС семейств FPGA 239 зеваться командой Properties контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши. Затем в появившейся диалоговой па- нели нужно установить требуемые значения параметров. При втором способе в окне процессов (рис. 12.1) выделяется строка с названием этапа Implement Design и далее выполняется та же последовательность действий, что и в первом случае. Рассмот- рим подробнее параметры процесса реализации. — —.....................- —- Somcet in Project: ___________________________ | 0 icoint a a xc2v40 Efg256 -XST VHDL НР1ВИВИИМ Pl jc2_test.vhd L П?| jc2.ucf ” View fo Snapshot Vfew f Шагу View | Processes for Current Source: X-W" Design Entry Utilities Зь- User Constraints Synthesize i'd) View Synthesis Report □ View RTL Schematic ' 0(5? Analyze Hierarchy h-O Translate Translation Report Floorplan Design Generate Post-Translate Simulation Model * О L Map Report Generate Post-Map Static Timing Generate Post-Map Simulation Model О Map ffi о о Place I Route ffi a . -a в t+i О Place & Route Report Asynchronous Delay Report Pad Report Guide Results Report Generate Post-Place & Route Static Tim'ng View/Edit Placed Design (FloorPlanner) Analyze Power (XPower) Generate Post-Place & Route Simulation Model Generate IBIS Model MUti Pass Place & Route Back-annotate Pin Locations Generate Programming File V n н -O . Process View [ Рис. 12.1 . Выбор этапа реализации в рабочей области основного окна Навигатора проекта при использовании ПЛИС семейств FPGA При использовании второго способа диалоговая панель параметров содержит пять страниц с закладками: Translate Properties, MAP Properties. Place and Route Properties, Post-Map Static Timing Report Properties, Post-Place & Route Tuning Report Properties (рис. 12.2). Установка значений параметров производится теми же методами, что и в диа- логовой панели параметров синтеза, рассмотренными в предыдущей таве.
240 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Страница Translate Properties содержит таблицу параметров, используемых для управления процедурой трансляции проекта. Process Properties . .tw,"- Х1 Post-Map Static Tiring Report Properties Post-Place I Route Static Tiring Repat Properties Translate Properties | Map Properties | Place & Route Properties I ________________Property Name__________________I________Value__________j [Use LOC Constraints ____ _____________ |p j I Netlist Translation Type___________________ ,Timestamp_________________ Macro Search Path________________i ;?ii j ? _____________________ jCreale K> Peds tram Ports *____________________|~_______________________ [AllowUnexpended Hocks _______- . . l[~______________________| iUser Riiies File for Netlister Launcher J___. 1 .Ignore LOC Constraints on invalid Object Names_ [_______________________ [preserve Hierarchy on Sub Module |p | OK | Cancel | tTelaut | Help | Рис. 12.2. Диалоговая панель параметров процесса реализации (страница Translate Properties) Параметр Use LOC Constraints позволяет исключить в процессе трансляции то- пологические ограничения, устанавливаемые с помощью выражений LOC = .... ко- торые располагаются в модулях исходного описания и файлах UCF. Блокировка ог- раничений размещения объектов и цепей проекта необходима в случае изменения архитектуры, семейства или корпуса ПЛИС, используемых для его реализации. По умолчанию установлено значение "включено", запрещающее исключение ограниче- ний размещения LOC при трансляции проекта. С помощью параметра Netlist Translation Туре устанавливается режим обновления промежуточных файлов (NGO) в процессе повторной трансляции проекта. Если в состав проекта входят модули, содержащие списки цепей (netlist), представленные в формате EDIF или XNF, то непосредственно перед трансляцией они автоматически преобразуют- ся в промежуточные файлы двоичного формата. При повторной трансляции (когда соот- ветствующие файлы NGO уже существуют) эта операция может исключаться, в зависи- мости от значения параметра Netlist Translation Туре. Выпадающий список возможных значений этого параметра содержит три элемента: Timestamp, On, Off. При выборе значе- ния Timestamp, установленного по умолчанию, повторное автоматическое преобразова- ние выполняется только для тех списков цепей (файлов ED1F и XNF), которые имеют более поздние дату и время создания, чем соответствующий промежуточный файл NGO. Значение On предписывает всегда выполнять перед трансляцией автоматическое обнов- ление промежуточных файлов (NGO) для всех списков цепей, представленных в формате ED1F и XNF. При установке значения Off повторное автоматическое преобразование файлов EDIF и XNF не производится (используются существующие версии промежу- точных файлов NG0).
12. Реализация проектов на базе ПЛИС семейств FPGA 241 Параметр Macro Search Path позволяет указать полное название каталога, в кото- ром производится дополнительный поиск описаний макросов, компонентов схем определяемых с помощью атрибутов FILE, промежуточных файлов NGO. Название требуемой папки может быть введено непосредственно с клавиатуры после активи- зации поля редактирования значения этого параметра или выбрано при использова- нии стандартной диалоговой панели выбора каталога, которая открывается при на- жатии кнопки с пиктограммой в виде многоточия "...". В строке значения параметра Macro Search Path можно указать названия нескольких каталогов, отделяя их друг от друга точкой с запятой. Значение параметра Create I/O Pads from Ports разрешает или запрещает автома- тическое формирование контактов (PAD) для всех интерфейсных цепей (Ports) опи- сания верхнего уровня иерархии. Этот параметр следует использовать при наличии списков цепей, представленных в формате ED1F, в которых символы выводов пред- ставлены в виде сигналов интерфейса. По умолчанию для этого параметра установ- лено значение "выключено", запрещающее автоматическое создание контактов для интерфейсных цепей модуля верхнего уровня иерархии проекта. С помощью параметра Allow Unexpanded Blocks осуществляется управление процессом создания результирующего файла NGD при обнаружении нетранслирус- мых блоков. В процессе трансляции выполняется преобразование блоков в списках цепей к уровню NGD-примитивов. Если встречается блок, который не может быть представлен на уровне примитивов, то при этом в нормальном режиме выдается сообщение об ошибке и файл NGD нс создается. При установке параметра Allow Unexpanded Blocks в состояние "включено" в случае обнаружения нераскрываемых блоков, средства трансляции формируют выходной файл NGD, в который помеща- ются также нетранслирусмые элементы, и соответствующее предупреждение. Таким образом, можно выполнить процессы размещения, трассировки, временного анализа и моделирования для незаконченных проектов. Значение "выключено", установлен- ное по умолчанию, останавливает процесс трансляции при обнаружении нсраскры- ваемых блоков. Значение параметра User Rules File for Netlister Launcher определяет название файла, содержащего набор инструкций, которые используются для управления про- цессами трансляции. В этом файле разработчик может указать допустимые файлы списков цепей и параметры процесса их чтения. Установка значения этого парамет- ра выполняется теми же способами, которые рассмотрены выше для определения названия каталога, содержащего описания макросов, Macro Search Path. Название файла инструкций, определяемого разработчиком, должно иметь расширение urf. Параметр Allow Unmatched LOC Constraints позволяет исключить из рассмотре- ния топологические ограничения, устанавливаемые с помощью выражений LOC = =..., которые относятся к объектам (цепям, элементам, контактам), отсутствующим (не найденным) в описании проекта. Если в файлах ограничений UCF или NCF встречается выражение LOC = .., в котором указано название объекта, не соответст- вующее описанию и параметрам проекта, то при этом в обычном режиме, принятом по умолчанию, (когда для Allow Unmatched LOC Constraints задано значение "вы- ключено") выдастся сообщение об ошибке и файл NGD нс создается. При установке параметра Allow Unmatched LOC Constraints в состояние "включено" в случае обна-
242 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС ружения несогласованных выражений ограничений средства трансляции формируют выходной файл NGD и соответствующее предупреждение вместо сообщения об ошибке. С помощью параметра Preserve Hierarchy on Sub Module предоставляется воз- можность сохранения иерархической структуры субмодулсй проекта. По умолчанию для этого параметра установлено значение "выключено". На странице MAP Properties, приведенной на рис. 12.3, расположены параметры управления процедурой отображения логического описания проекта на физические ресурсы кристалла. Process Properties . =. >? .. х| Post-Map Static Timing Report Properties PostPlace & Route Static Timing Report Properties Translate Properties Map Properties | Place & Route Properties Property Нате Value Trim Unconnected Signals p RepScale Logic to Allow Logic Level Reduction p Allow Logic Optimization Across Hierarchy г Map to InfM-A Functions 4 Optimization Strategy (Cover Mode) Area , Generate Detaied MAP Report s П 1 Use Glide Design Fie Cncd) .•. Glide Mode ; None , Use RLOC Constraints F ! Pack 1ГО Reglsters/Latches into lOBs Default (For I/O) । Disable Register Ordering 1Г CLB Pack Factor Percentage 100 Tri-state Buffer Transfermation Mode Off Perform Timing-Driven Packing г Map Slice Logic into Unused Block RAMs г OK | Cancel | Defaul: | Help Рис. 12.3. Страница MAP Properties диалоговой панели параметров процесса реализации проекта Параметр Trim Unconnected Signals предоставляет возможность удаления непод- ключенных компонентов и цепей перед выполнением рассматриваемой процедуры (МАР). Для предварительной оценки требуемых физических ресурсов кристалла и временных характеристик незавершенного проекта рекомендуется установить этот параметр в состояние "выключено". При этом незаконченные фрагменты проекта нс будут исключаться из рассмотрения. По умолчанию для параметра Trim Unconnected Signals установлено значение "включено", предписывающее удаление неподключен- ных компонентов и цепей. Значение параметра Replicate Logic to Allow Logic Level Reduction разрешает или запрещает замену одиночных элементов, которые имеют несколько нагрузок, соответст-
12. Реализация проектов на базе ПЛИС семейств FPGA 243 вующим количеством их экземпляров с единственной цепью нагрузки. Данный па- раметр рекомендуется использовать при создании стратегии распределения ресурсов кристалла для реализации проекта, обеспечивающей быстрое и легкое выполнение временных ограничений. Значение "включено", установленное по умолчанию, обес- печивает сокращение количества уровней логики и, тем самым, уменьшение дли- тельности задержек распространения сигналов. Параметр Allow Logic Optimization Across Hierarchy определяет режим оптимиза- ции, выполняемой в процессе отображения логического описания проекта на физи- ческие ресурсы кристалла. При выборе значения "включено" оптимизация выполня- ется без сохранения иерархической структуры проекта. По умолчанию используется значение "выключено", при котором в ходе оптимизации учитывается иерархиче- ское представление проекта. Значение параметра Map to Input Functions указывает максимальное количество аргу- ментов (входных сигналов) функций, реализуемых конфигурируемыми логическими блоками CLB ПЛИС семейств Virtex, Virtex-E, Virtex-П, Virtex-II PRO, Spartan-II и Spartan-IIE. Выпадающий список возможных значений этого параметра содержит пять элементов: 4, 5, 6, 7, 8. Значение 4, установленное по умолчанию, соответствует исполь- зованию стандартных ресурсов функциональных генераторов. При выборе значения 5 допускается реализация функций пяти переменных за счет использования ресурсов до- полнительной логики CLB (мультиплексоров F5). Установка значения 6 позволяет реали- зовывать функции шести переменных за счет использования мультиплексоров F6, кото- рые входят в состав дополнительной логики CLB кристаллов семейств Virtex, Virtex-E, Virtex-II, Virtex-II PRO, Spartan-II и Spartan-IIE. Значения 7 и 8 доступны только для ПЛИС семейств Virtex-II и Virtex-II PRO. С помощью параметра Optimization Strategy (Cover Mode) определяется страте- гия оптимизации, выполняемой во время фазы распределения ресурсов CLB кри- сталла. На этой фазе производится назначение функциональных генераторов CLB для реализации соответствующих функций. В выпадающем списке возможных зна- чений представлено четыре элемента: Area, Speed, Balanced, Off. Значение Area, ус- тановленное по умолчанию, определяет в качестве критерия оптимизации - мини- мизацию количества используемых таблиц преобразования (LUT), и, следовательно, конфигурируемых логических блоков. При выборе значения Speed целью оптимиза- ции является уменьшение задержек распространения сигналов за счет сокращения количества уровней логики. Значение Balanced позволяет сочетать рассмотренные выше стратегии оптимизации. Использование значения Off запрещает оптимизацию при распределении ресурсов CLB кристалла. Параметр Generate Detailed MAP Report позволяет изменить уровень детализа- ции отчета о выполнении процедуры отображения логического описания проекта на физические ресурсы ПЛИС. При установке разрешающего значения ("включено") в отчет включается дополнительная информация об удаленных избыточных блоках, редуцированных сигналах, перекрестных ссылках сигналов и символов. По умолча- нию используется значение "выключено”, запрещающее включение в отчет допол- нительной информации. С помощью параметра Use Guide Design File указывается название файла NCD (Native Circuit Description), который используется в качестве образца. Этот параметр
244 Зотов В. JO. Проектирование цифровых устройств на основе ПЛИС целесообразно использовать при внесении незначительных изменений в проект. То- гда в качестве образца может использоваться файл NCD, полученный на этапе реа- лизации предыдущей версии проекта. Название файла вводится непосредственно с клавиатуры после активизации поля редактирования значения этого параметра или выбирается с помощью стандартной диалоговой панели открытия файла, которая выводится при нажатии кнопки с пиктограммой в виде многоточия Параметр Guide Mode устанавливает режим выполнения процедур рассматри- ваемого этапа по образцу. Выпадающий список возможных значений этого парамет- ра содержит четыре элемента: Exact, Leverage, Incremental и None. Значение Exact блокирует изменения уже отображенной части проекта. При выборе значения Leverage предпринимаются попытки сохранить представление реализованной части проекта, но в случае необходимости допускается его изменение. Значение Incremental задает инкрементный режим компоновки, размещения и трассировки проекта. В этом случае определенные ранее независимые блоки (топологические группы, area groups), которые не подвергались изменениям в процессе редактирова- ния проекта после его последней реализации, не затрагиваются при выполнении процедур размещения и трассировки. По умолчанию используется значение None, запрещающее выполнение процедур по шаблону. Значение параметра Use RLOC Constraints разрешает или запрещает учитывать топологические ограничения, устанавливаемые с помощью опции RLOC, которые задают расположение используемых конфигурируемых логических блоков по отно- шению к другим CLB. По умолчанию установлено значение "включено", запре- щающее исключать ограничения относительного расположения RLOC. Если Use RLOC Constraints переводится в состояние “выключено", то при этом также игнори- руются все топологические ограничения, определяемые с помощью параметра RLOC, которые содержат некорректную информацию, приводящую к появлению ошибок в процессе размещения и трассировки. Параметр Pack I/O Registers/Latches into IOBs предназначен для управления упа- ковкой триггеров и защелок в ячейки ввода-вывода. Выпадающий список содержит четыре возможных значения этого параметра: Off, For Inputs Only, For Outputs Only, For Inputs and Outputs. Значение Off соответствует нормальному режиму распреде- ления ресурсов, при котором триггеры и защелки упаковываются в ячейки ввода- вывода только при наличии соответствующих указаний в модулях исходного описа- ния проекта. При выборе значения For Inputs Only для упаковки триггеров и заще- лок используются только соответствующие входные элементы блоков ввода-вывода, а при значении For Outputs Only — выходные. Значение For Inputs and Outputs, уста- новленное по умолчанию, разрешает выполнять упаковку триггеров и защелок, ис- пользуя входные и выходные элементы ячеек ввода-вывода. Значение параметра Disable Register Ordering разрешает или запрещает упорядо- чивание триггеров. По умолчанию установлено значение "выключено", разрешаю- щее упорядочивание триггеров, которое выполняется в процессе оптимизации. Значение параметра CLB Pack Factor Percentage указывает процент конфигу- рируемых логических блоков кристалла, используемых в MAP-процессе. Применяя этот параметр, можно повысить плотность упаковки проекта в кристалл, но это мо- жет неблагоприятно сказаться на результатах трассировки (появление перазведен-
12. Реализация проектов па базе ПЛИС семейств FPGA 245 ных цепей). По умолчанию установлено значение 100%. Для его изменения следует активизировать соответствующее поле редактирования, после чего воспользоваться клавиатурой или кнопками в правой части этого поля. С помощью параметра Tri-state Buffer Transformation Mode задается способ ото- бражения буферных элементов с тристабильными выходами при использовании ПЛИС семейств Virtex, Virtex-E, Virtex-П, Virtex-II PRO, Spartan-II и Spartan -HE. В выпадающем списке возможных значений представлено четыре элемента: Aggressive, Limit, On, Off. При выборе значения Aggressive все тристабильные бу- ферные элементы представляются с помощью ресурсов логики ускоренного перено- са и каскадирования. Значение Limit устанавливает режим частичного преобразова- ния, когда трансформируется только часть буферных элементов с тристабильными выходами, превышающая ограничения конфигурируемых логических блоков кри- сталла. При использовании значения On выполняется частичная трансформация длинных цепочек, превышающих ограничения ПЛИС. По умолчанию установлено значение Off, запрещающее преобразование тристабильных буферных элементов. Опция Perform Timing-Driven Packing позволяет включить оптимизацию с учетом временных ограничений в процессе упаковки проекта. При значении "выключено", установленном по умолчанию, такая оптимизация не производится. Параметр Map Slice Logic into Unused Block RAMs разрешает или запрещает при- влекать ресурсы неиспользуемой блочной памяти для размещения элементов проек- та. По умолчанию установлено значение ’’выключено", запрещающее использовать блочную память для отображения иных элементов. Страница Place and Route Properties (рис. 12.4) объединяет параметры управле- ния процедурами размещения и трассировки проекта. Process Properties > х| Post-Map Static Timing Report Properties | PostPlace Sc Route Static lining Report Piopetiies I > Translate Properties | Map Properties Place t Route Properties | Property Hame | ' Value ............. | ♦Place & Route Effort Level (Overall) BelauR~(Lovy'| . IPIacer Effort Level (Overrides Overall Level) [Default (None) ___________ .Router Effort Level (Overrides OvereB Level) [Defeult (None) 'Extre Effort (Highest PAR level only)_____________ =N/A______________ [Starting Placer Cort Table (1-100) ___ '1 _________________ jPlace And Route Mode _ ___ ______ .Normal Piece end Route____ ;Guide File _ * ’Guide Mode iN/A Use Timing Constraints _ p _________________________ .Use Bonded UOs ____________________Г ____________________________ [Generate Deteied PAR Report ___Г __________________________; Generate Post-Place & Route Static lining Report ____ Generate Port-Place & Route Simulation Model Г | QK | Cancel | | Help Рис. 12.4. Страница Place and Route Properties диалоговой панели параметров размещения и трассировки
246 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Значение параметра Place and Route Effort Level (Overall) устанавливает уровень эффективности процедур размещения и трассировки проекта в кристалл. Этот па- раметр позволяет за счет выбора более совершенных алгоритмов размещения и трассировки (соответственно за счет увеличения времени выполнения рассматри- ваемого этапа) достичь более высоких результатов. И наоборот, выбирая менее сложные алгоритмы, можно сократить время выполнения процесса размещения и трассировки, но получить результаты, далекие от оптимальных. Для сложных про- ектов снижение времени, необходимого для выполнения размещения и трассировки, может привести к появлению неразведенных цепей и увеличению задержек распро- странения сигналов. В выпадающем списке возможных значений представлено пять элементов, расположенных в порядке возрастания уровня эффективности результа- тов размещения и трассировки: Lowest, Low, Normal, High, Highest. Значение Lowest позволяет минимизировать время размещения и трассировки за счет низкого уровня оптимизации этих процессов. При выборе значения Highest достигаются наилучшие результаты, но требуется максимальное время для выполнения всех процедур. Параметры Placer Effort Level (Overrides Overall Level) и Router Effort Level (Overrides Overall Level) предназначены для раздельной установки уровня эффек- тивности результатов размещения и трассировки соответственно. Выпадающие спи- ски допустимых значений этих параметров содержат шесть элементов, расположен- ных в порядке повышения уровня эффективности получаемых результатов: None, Lowest, Low, Normal, High, Highest. Значение Lowest позволяет минимизировать вре- мя выполнения процедур, но при этом получить самый низкий уровень их результа- тов. Для достижения наилучших результатов следует выбрать значение Highest, ко- торое предписывает использовать комплексные алгоритмы размещения и трасси- ровки, требующие максимального времени исполнения. В большинстве случаев ре- комендуется использовать значение None, установленное по умолчанию, которое не оказывает никакого влияния на процессы размещения и трассировки соответствен- но. При этом управление этими процессами осуществляется с помощью предыду- щего параметра. Если для какого-либо из параметров Placer Effort Level (Overrides Overall Level) и Router Effort Level (Overrides Overall Level) задано значение, отли- чающееся от None, то оно имеет более высокий приоритет по сравнению со значе- нием параметра Place and Route Effort Level (Overall). Значение параметра Extra Effort (Highest PAR level only) определяет возможность выделения дополнительного времени для выполнения процедур размещения и трассировки, необходимого для удовлетворения различных временных ограничений проекта. Этот параметр используется только в случае, если Place and Route Effort Level (Overall) принимает значение Highest. По умолчанию установлено значение None, которое запрещает выделение дополнительного времени. При выборе значе- ний Extra 1и Extra 2 допускается увеличение времени выполнения процедур разме- щения и трассировки. С помощью параметра Starting Placer Cost Table (0-i00) можно указать началь- ное значение, соответствующее стартовому индексу таблицы весовых коэффициен- тов, который используется в первой итерации процесса размещения и трассировки. Установленное число (в диапазоне от 0 до 100) является базовым при вычислении этого значения в последующих итерациях. Для каждого фактора, влияющего на ре-
12. Реализация проектов на базе ПЛИС семейств РРСА 247 зультаты реализации просвета, как, например, временные и топологические ограни- чения, длина соединений, задастся весовой коэффициент, определяющий его при- оритет. Каждой стратегии размещения и трассировки соответствует определенное сочетание весовых коэффициентов, образующее таблицу весов. По умолчанию для этого параметра используется значение I, которое может быть изменено с помощью клавиатуры после активизации соответствующего поля диалоговой панели (рис. 12.4). Значение параметра Place and Route Mode определяет режим выполнения про- цесса размещения и трассировки. Выпадающий список содержит четыре допусти- мых значения этого параметра: Normal Place and Route, Place Only, Route Only, Reentrant Route. Значение Normal Place and Route, установленное по умолчанию, соответствует нормальному режиму трассировки и размещения, при котором вы- полняются все процедуры с учетом параметров, указанных разработчиком, или ус- тановленных по умолчанию. При выборе значения Place Only выполняется только процедура размещения проекта. Для блокировки процедуры размещения, когда не- обходимо выполнить только трассировку проекта, следует использовать значение Route Only. При выборе значения Reentrant Route осуществляется многократное по- вторение процедур трассировки с целью оптимизации результатов. Последние два режима можно устанавливать только, если хотя бы один раз полностью пройдена стадия размещения и трассировки. С помощью параметра Use Guide Design File указывается название файла NCD, который используется в качестве образца на стадии размещения и трассировки. Этот параметр целесообразно использовать при внесении незначительных изменений в проект. Тогда в качестве образца может использоваться файл NCD, полученный на этапе реализации предыдущей версии проекта. Название используемого файла оп- ределяется теми же способами, что и значение аналогичного параметра, располо- женного на странице MAP Properties. Параметр Guide Mode устанавливает режим выполнения по образцу процедур размещения и трассировки. Выпадающий список возможных значений этого пара- метра содержит четыре элемента: Exact, Leverage, Incremental и None. Значение Exact блокирует изменения размещения и трассировки уже размещенной и разве- денной части проекта. При выборе значения Leverage средства размещения и трас- сировки пытаются сохранить расположение реализованной части проекта, но в слу- чае необходимости (при размещении дополнительных элементов) допускается его изменение. Значение Incremental задаст инкрементный режим размещения и трасси- ровки проекта. В этом случае определенные ранее независимые блоки (топологиче- ские группы), которые нс подвергались изменениям в процессе редактирования про- екта после его последней реализации, не затрагиваются при выполнении процедур размещения и трассировки. По умолчанию используется значение None, запрещаю- щее выполнение указанных процедур по шаблону. Параметр Use Timing Constraints определяет, будут ли средствами размещения и трассировки приниматься во внимание временные ограничения проекта. При вклю- ченном значении этого параметра, установленном по умолчанию, оптимизация в процессе размещения и трассировки производится с учетом всех временных огра- ничений, указанных в модулях исходных описаний проекта и файлах ограничений
248 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС UCF и NCF. Если для параметра Use Timing Constraints задано значение "выключе- но", то средства размещения и трассировки игнорируют всю информацию о времен- ных ограничениях. С помощью параметра Use Bonded l/Os разрешается или запрещается размеще- ние внутренней интерфейсной логики в ячейки ввода-вывода, подключаемые к вы- водам кристалла, которые нс используются при реализации проекта. По умолчанию для этого параметра установлено значение "выключено", при котором внутренняя интерфейсная логика распределяется в ячейки ввода-вывода, не подключенные к контактам ПЛИС. При переводе данного параметра в состояние "включено” необхо- димо убедиться в том, что соответствующие выводы кристалла не используются для подключения к внешним цепям, в том числе к цепям питания и "земля". Однако сле- дует учитывать, что неподключенные контакты кристалла являются источником по- мех, которые могут привести к сбоям в работе ПЛИС. Значение параметра Generate Detailed PAR Report указывает уровень детализации отчета о выполнении процедур размещения и трассировки. При установке значения "включено" в отчет помещается дополнительная информация, в частности о разме- щении макросов. По умолчанию используется значение "выключено", запрещающее запись в отчет дополнительной информации. Параметр Generate Post-Place & Route Static Timing Report используется для управления запуском процедуры анализа статических временных параметров после выполнения размещения и трассировки проекта в кристалле. При значении "вклю- чено", установленном по умолчанию, средства пакета WebPACK ISE автоматически формируют отчет о результатах выполненного временного анализа. С помощью параметра Generate Post-Place & Route Simulation Model осуществля- ется управление процессом автоматического формирования полной временной мо- дели проектируемого устройства. По умолчанию используется значение "выключе- но", запрещающее автоматическое создание полной временной модели после вы- полнения размещения и трассировки проекта в кристалле. Страница Post-Map Static Timing Report Properties содержит параметры отчета о выполнении процедуры анализа временных характеристик, который может быть проведен после отображения логического описания проекта на физические ресурсы кристалла. Параметр Report Туре определяет уровень подробности отчета, формируемого по ре- зультатам проведенного анализа временных характеристик проекта. Выпадающий спи- сок содержит два возможных значения: Error Report и Verbose Report. При использовании значения Error Report, установленного по умолчанию, отчет содержит только сообщения об ошибках и данные задержек сигналов для соответствующих цепей. Значение Verbose Report предписывает включать в состав отчета подробную информацию о задержках всех цепей проекта, для которых установлены ограничения. Значение параметра Number of Items in Error/Verbose Report (0 - 32000) указывает максимальное количество элементов, представленных в отчете об ошибках. По умолчанию этот параметр принимает значение "3". Для его изменения следует после активизации соответствующего поля редактирования воспользоваться клавиатурой или кнопками в правой части этого поля.
12. Реализация проектов на базе ПЛИС семейств FPGA 249 Process Properties xl Translate Properties | Map Properties | Place t Route Pi operties | Post Place & Route Static Timing Report Properties ] Post-Map Static Timing Report Properties Г Property Name Report Type Number of Berns in ErrortVerbose Report (0-32000) Timing Report (Number of Sems) ______ •Perform Advanced Analysis___________________ Xhange Device Speed To_______________________ ^Report Uncovered Pattis (Number of Items)___ Value j? rror Report 3____________ 3 " Г_____________ -в OK I Cancel | DeUuli | Help Рис. 12.5. Страница Post-Map Static Timing Report Properties диалоговой панели параметров процесса реализации проекта С помощью параметра Timing Report (Number of items) ограничивается объем отчета о временных характеристиках. По умолчанию в отчет включается не более трех элементов. Изменение значения этого параметра выполняется с помощью клавиатуры после активизации соответствующего поля редактирования. Опция Petform Advanced Analysis позволяет провести углубленный анализ вы- полнения всех временных ограничений, указанных в проекте. Значение "выключе- но", установленное по умолчанию, запрещает проведение расширенного анализа. Параметр Change Device Speed То рекомендуется использовать для исследования временных характеристик критических цепей проекта при изменении быстродейст- вия кристалла, используемого для его реализации. Варьируя значения этого пара- метра, можно определить быстродействие ПЛИС, необходимое для удовлетворения всех временных ограничений проекта. Значение параметра Report Uncovered Paths (Number of Items) указывает количество сообщений о цепях, которые не подвергались влиянию временных ограничений. На странице Post-Place & Route Timing Report Properties, приведенной на рис. 12.6, представлены параметры отчета о выполнении процедуры анализа вре- менных характеристик, который может быть проведен после размещения и трасси- ровки проекта в кристалл. Параметры Report Type, Number of Items in Error/Verbose Report (0 - 32000), Timing Report (Number of items). Perform Advanced Analysis, Change Device Speed To и Report Uncovered Paths (Number of Items) выполняют те же функции, что и одно- именные опции, рассмотренные выше, но относятся к отчету о результатах анализа временных характеристик, который осуществляется после размещения и трассиров- ки проекта в кристалл. Значения параметра Analyze Clock Skew for All Clocks разрешает или запрещает проведения анализа перекосов в распространении сигналов синхронизации и вклю-
250 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС некие в отчет соответствующих результатов. По умолчанию используется значение "выключено", при котором анализ перекосов тактовых сигналов не выполняется. Process Properties Т ranslate Properties | Map Properties | Place & Route Properties Post-Map Static Timing Report Properties Post-Place & Rode Static Timing Report Properties Property Name_______________ Report Type__________________________________ Number of ttems in ErrorJVerbose Report (0-32000) Timing Report (Number of items)_______7- ..' ... Perform Advanced Analysis . . . Change Device Speed To ______________________ Report Uncovered Peiihs (Number of Items) .:- Analyze Clock Skew for All Clocks $__________ Stamp Timing Model Flename___________________ Timing SpecificationInteraction Report fde Л 0K I Cancel | Се*Д | Help | Рис. 12.6. Страница Post-Place & Route Timing Report Properties диалоговой панели параметров процесса реализации проекта С помощью параметра Stamp Timing Model Filename можно указать название файлов, которые описывают временную модель проекта и могут использоваться в процессе ана- лиза результатов размещения и трассировки. Чтобы изменить значение этого параметра, нужно активизировать соответствующее поле редактирования, после чего воспользовать- ся клавиатурой или стандартной панелью выбора файла, доступ к которой открывает кнопка с пиктограммой появляющаяся в правой части поля. Параметр Timing Specification Interaction Report File позволяет задать название файла отчета со спецификацией взаимосвязей и его расположение на диске. Для модификации этого параметра используются те же способы определения названия файлов, что и для предыдущего параметра. 12.3. Выполнение этапа реализации проектов на базе ПЛИС семейств FPGA фирмы Xilinx в пакете WebPACK ISE После установки требуемых значений параметров для процедур реализации про- екта следует подтвердить их нажатием клавиши ОК в нижней части диалоговой па- нели. Далее следует активизировать процесс реализации или поочередно каждую его фазу. Активизация процесса в полном объеме осуществляется двойным щелчком левой кнопки мыши на строке Implement Design в окне процедур Навигатора про- екта (см. рис. 12.1). Информация о ходе его выполнения отображается в окне кон- сольных сообщений. Завершение выполнения каждой фазы этого процесса отмена-
!2. Реализация проектов на базе ПЛИС семейств FPCA 251 ется соответствующей пиктограммой в строке с ее названием и сопровождается от- четом о полученных результатах. Для просмотра отчета о выполнении трансляции следует дважды щелкнуть левой кнопкой мыши на строке Translation Report. В качестве примера, рассмотрим отчет о выполнении трансляции проекта счетчика Джонсона, реализуемого на ПЛИС xc2v4O, синтез которого был выполнен в преды- дущей главе. Отчет содержит информацию о каждом шаге трансляции (формирова- нии файла в формате Xilinx NGD, проверке временных спецификаций, верификации логической структуры проекта), а также об ошибках и предупреждениях. Отчет о выполнении трансляции проекта счетчика Джонсона Release 5.1i - ngdbuild F.23 Copyright (с) 1995-2002 Xilinx, Inc. All rights reserved. Command Line: ngdbuild -quiet -dd c:\project\jcount7_ngo -uc jc2.ucf -insert_keep__hierarchy -p xc2v40-fg256-6 jc2.ngc jc2.ngd Reading NGO file "C:/Project/jcount/jc2.ngc" ... Reading component libraries for design expansion... Annotating constraints to design from file "jc2.ucf ... Checking timing specifications ... Checking expanded design ... WARNING:NgdBuild:479 - The input pad net 'clk' is driving one or more clock loads that should only use a dedicated clock buffer. This could result in large clock skews on this net. check whether the correct type of BUF is being used to drive the clock buffer. NGDBUILD Design Results Summary: Number of errors: 0 Number of warnings: 1 Writing NGD file "jcZ-ngd" ... Writing NGDBUILD log file "jc2.bld"... Доступ к отчету о результатах отображения логического описания проекта на физические ресурсы кристалла осуществляется двойным щелчком левой кнопки мыши на строке MAP Report. Отчет включает двенадцать разделов: I. Design Information содержит информацию об исходных параметрах процесса. 2. Design Summary представляет статистику используемых ресурсов ПЛИС. 3. Errors отображает сообщения об ошибках. 4. Warnings содержит список предупреждений. 5. Informational предлагает рекомендации для получения более эффективных ре- зультатов. 6. Removed Logic Summary отражает общую информацию об элементах проекта, удаленных в процессе оптимизации. 7. Removed Logic представляет детальную информацию об элементах, исключен- ных при оптимизации проекта. 8. 1013 Properties содержит подробное описание параметров блоков ввода-вывода кристалла, используемых для реализации проекта. 9. RPMs отражает информацию о макросах с относительным размещением (Relationally Placed Macro), используемых в проекте. 10. Guide Report представляет отчет о выполнении процедур по образцу.
252 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС 11. Area Group Summary содержит общую информацию о топологических группах. 12. Modular Design Summary отражает данные модульного (распределенного) проектирования. Отчет о результатах отображения логического описания проекта счетчика Джон- сона на физические ресурсы кристалла Release 5.11 - Map F.23 Xilinx Mapping Report File for Design 'jc2' Design information Command Line : C:/Xilinx/bin/nt/map.exe -quiet -p xc2v40-fg256-6 -cm area - pr b -k 4 -c 100 -tx off -о jc2_map.ncd jc2.ngd jc2.pcf Target Device : x2v40 Target Package : fg256 Target Speed : -6 Mapper Version : virtex2 -- SRevision: 1.4 $ Mapped Date ; Sun Feb 16 18:29:00 2003 Design Summary Number of errors: 0 Number of warnings: 0 Number of Slices• 4 out of 256 1% Number of Slices containing unrelated logic: 0 out of 4 0% Number of Slice Flip Flops: 6 out of 512 1% Number of 4 input LUTs; 6 out of 522 2» Number of bonded IOBs: 8 out of 88 9% Total equivalent gate count for design: 84 Additional JTAG gate count for IOBs: 384 Peak Memory usage: 51 MB Table of Contents Section 1 - Errors Section 2 - warnings Section 3 - Informational Section 4 - Removed Logic Summary Section 5 - Removed Logic Section 6 - IOB Properties Section 7 - RPMs Section 8 - Guide Report Section 9 - Area Group Summary Section 10 - - Modular Design Summary Section 1 - Errors Section 2 - Warnings Section 3 - Informational INFO:MapLib:159 - Net Timing constraints on signal elk are pushed forward through input buffer. INFO:LIT:95 - All of the external outputs in this design are using slew rate limited output drivers. The delay on speed critical outputs can be dramatically reduced by designating them as fast outputs in the schematic. Section 4 - Removed Logic Summary
12. Реализация проектов па базе ПЛИС семейств FPGA 253 6 block(s) optimized away 1 signal(s) removed section 5 - Removed Logic BLOCK 114 il9 jcounter/i_mdl 0/ i_36_9 j count er/i_mdl1/i_36_9 j coun ter/i_mdl2/i_3 6_9 jcounter/i_mdl3/i_3 6_9 The trimmed logic reported below is either: 1. part of a cycle 2. part of disabled logic 3. a side-effect of other trimmed logic The signal 'xlxn_J.8“ is unused and has been removed. Optimized Block(s): TYPE gnd gnd and2 and2 and2 and2 To enable printing of redundant blocks removed and signals merged, set the detailed map report option and rerun map. Section 6 - I0B properties IOB Name| Type(Direction|IO Standard! Drive I Slew |Reg(s)| | Strength | Rate | | elk IOB INPUT LVTTL left IOB INPUT LVTTL q<0> IOB OUTPUT LVTTL 12 SLOW q<l> IOB OUTPUT LVTTL 12 SLOW q<2> IOB OUTPUT LVTTL 12 SLOW q<3> IOB OUTPUT LVTTL 12 SLOW right IOB INPUT LVTTL stop IOB INPUT LVTTL Section 7 - RPMs run_reg_9 jcounter_8 I_MDR3_7 I_MDR2_5 I_MDR1_4 I_MDR0_3 I_MDL3_6 I_MDL2_0 I_MDL1_1 I_MDL0_2 dir_regl_10 Section 8 - Guide Report Guide not run on this design. Section 9 - Area Group Summary No area groups were found in this design. Section 10 - Modular Design Summary Modular Design not used for this design
254 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС После выполнения заключительной фазы (Place-and-Route) процесса реализации формируются три отчета: L Place-and-Route Report предоставляет информацию обо всех итерациях проце- дур размещения и трассировки, которая включает данные о количестве разведенных и неразведенных цепей, сообщения об ошибках и предупреждения; 2. Asynchronous Delay Report содержит значения задержек сигналов для всех це- пей проекта; 3. Pad Report описывает назначение всех выводов кристалла после загрузки кон- фигурационных данных проекта. Чтобы открыть соответствующий отчет о результатах выполнения размещения и трассировки, следует дважды щелкнуть левой кнопкой мыши на одноименной стро- ке в окне процессов Навигатора проекта (рис. 12.1). Далее, в качестве примеров, показаны отчеты о выполнении фазы размещения и трассировки для проекта счет- чика Джонсона. Отчет Pad Report представляет собой текстовый файл, который со- держит дополнительные символы ”|п, используемые в качестве разделителей полей при преобразовании его в формат электронных таблиц, например, в формат Mi- crosoft® Excel™. Отчет о результатах выполнении размещения и трассировки проекта счетчика Джонсона Release 5.1i - Par F.23 Copyright (с) 1995-2002 Xilinx, inc. All rights reserved. C:/Xilinx/bin/nt/раг.exe -w -ol 2 -t 1 jc2_map.ncd jc2.ncd jc2.pcf Constraints file: jc2.pcf Loading device database for application par from file “jc2_map.ncd". jc2" is an NCD, version 2.37, device xc2v40, package fg256, speed -6 Loading device for application par from file '2v40.nph' in environment C:/Xilinx. The STEPPING level for this design is 1. Device speed data version: ADVANCED 1.110 2002-07-03. Resolved that IOB <stop> must be placed at site P16. Resolved that IOB <clk> must be placed at site M13. Resolved that IOB <right> must be placed at site T10. Resolved that IOB <left> must be placed at site N16. Resolved that IOB <q<0>> must be placed at site J15. Resolved that IOB <q<l>> must be placed at site J13. Resolved that IOB <q<2>> must be placed at site J16. Resolved that IOB <q<3» must be placed at site J14. Device utilization summary: Number of External lOBs 8 out of 88 9% Number of LOCed External lOBs 8 out of 8 100% Number of SLICES 4 out of 256 1% Overall effort level (-ol) : 2 (set by user) Placer effort level (-pl): 2 (set by user) Placer cost table entry (-t): 1 Router effort level (-rl): 2 (set by user) Starting initial Timing Analysis. REAL time: 13 secs Finished initial Timing Analysis. REAL time: 14 secs Phase 1.1 Phase 1.1 (Checksum:989697) REAL time: 15 secs Phase 3.23
12. Реализация проектов на базе ПЛИС семейств PPGA 255 Phase 3.23 (Checksum:Ic9c37d) real time: 15 secs Phase 4.3 Phase 4.3 (Checksum:26259fc) REAL time: 15 secs Phase 5.5 Phase 5.5 (Checksum:2faf07b) real time: 15 secs phase 6.8 phase 6.8 (Checksum:98a327) REAL time: 45 secs phase 7.5 Phase 7.5 (Checksum;42cld79) REAL time: 45 secs phase 8.18 Phase 8.18 (Checksum:4c4b3f8) REAL time: 45 secs phase 9.24 Phase 9.24 (Checksum:55d4a77) REAL time: 45 secs Writing design to file jc2.ncd. Total REAL time to placer completion: 45 secs Total CPU time to placer completion: 40 secs Starting Router REAL time: 45 secs Phase 1: 35 unrouted; REAL time: 49 secs Phase 2: 32 unrouted; REAL time; 49 secs Phase 3: 9 unrouted; (-0} REAL time: 50 secs Phase 4: 9 unrouted; (-0) REAL time: 50 secs Phase 5: 9 unrouted; (-0) REAL time: 50 secs Phase 6: 0 unrouted; (~0) REAL time: 50 secs Finished Router REAL time: 50 secs Total REAL time to router completion: 50 secs Total CPU time to router completion: 44 secs Generating "par" statistics. Generating Clock Report | Clock Net | Resource | Fanout |Max Skew(ns)[Max Delay(ns)| +-------------+-----------+---------+------------+-------------+ ] xlxn_17 | Local | 4 | 0.004 | 1.411 | The Delay Summary Report The Score for this design is: 56 The Number of signals not completely routed for this design is:0 The Average Connection Delay for this design is: 0.514 ns The Maximum Pin Delay is: 1.411 ns The Average Connection Delay on the 10 Worst Nets is: 0.265 ns Listing Pin Delays by value*, (ns) d < 1.00 < d < 2.00 < d < 3.00 < d < 4.00 < d < 5.00 d >= 5.00 29 6 0 0 0 0 Timing Score*. 0 Asterisk (*) preceding a constraint indicates it was not met. Constraint | Requested | Actual I Logic I | Levels I NET "xlxn_17" PERIOD = 20 nS I 20.000ns I 1.572ns I 1 HIGH 50.0 00000 % j I |
256 Зотов В. Ю. Проектирование иифрот гх устройств иа основе ПЛИС Al] constraints were met. All signals are completely routed. Total REAL time to par completion: 51 secs Total CPU time to par conpletion: 45 secs Placement: Completed - No errors found. Routing: Completed - No errors found. Timing: Completed - No errors found. Writing design to file jc2.ncd. PAR done. Отчет о задержках распространения сигналов проекта счетчика Джонсона Release 5.1i - Par f.23 Copyright (c) 1995-2002 Xilinx, inc. All rights reserved. File: jc2.dly The 20 Worst Net Delays are: | Max Delay (ns) | Netname | 1.411 xlxn 17 1.235 xlxn 23 0.867 q_int2 0.867 q_intO 0.697 run 0.624 q_intl 0.599 q_int3 0.482 dir 0.378 xlxn 24 0.268 xlxn 25 0.001 jcounter/mdrl 0.001 dir_regl/ad 0.001 jcounter/mdr2 0.001 jcounter/mdrO 0.001 run_reg/ad 0.001 jcounter/mdr3 Net Delays dir dir.YQ 0.482 0.220 0.361 0.415 0.222 dir_regl/ad run.Y 0.001 j c ounte r/mdr0 q_intl.Y 0.001 jcounter/mdrl q_intl.X 0.001 jcounter/mdr2 q_int3.Y 0.001 jcounter/mdr3 q_int3.X dir.Gl q_intl.F4 q_intl,G2 q_int3.Fl q_int3.G3 run.DY q_intl.DY q_intl.DX q_int3.DY
12. Реализация проектов на базе ПЛИС семейств FPGA 257 0.001 q_int3.DX q_int0 q_intl.YQ 0.867 q<0>.01 0.391 q_intl.F2 0.253 q_int3.F3 q_intl q_intl.XQ 0.624 q<l>.01 0.258 q_intl.G4 0.451 q_int3.Gl q_int2 q_int3.YQ 0.867 q<2>.01 0.253 q_intl.F3 0.391 q_int3.F2 q_int3 q_int3.XQ 0.599 q<3>.01 0.450 q_intl.Gl 0.257 q_int3.G4 run run.YQ 0.450 run.G1 0.697 q_intl.CE 0.697 q_int3.CE run_reg/ad dir.Y 0.001 dir.DY xlxn_17 clk.I 1.411 run.CLK 1.411 dir.CLK 1-407 q_intl.CLK 1.407 q_int3.CLK xlxn_23 right.I 1.235 run.G3 1.021 dir.G4 xlxn_24 left.I 0.378 run.G2 0.239 dir.G3 xlxn_25 stop. I 0.268 run.G4 Отчет о назначении выводов кристалла, реализующего проект счетчика Джонсона Release 5.1i - par F.23 4 Copyright (c) 1995-2002 Xilinx, Inc. All rights reserved. Sun Feb 16 18:30:07 2003 NOTE: This file is designed to be imported into a spreadsheet program such as Microsoft Excel for viewing, printing and sorting. The | character is used as the data field separator. This file is also designed to support parsing. Input file: jc2_jnap.ncd Output file: jc2.ncd Part type: xc2v40 Speed grade: -6 Package: fg2 56 9 Зотов В.Ю.
258 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС pinout by Pin Number: pin Number|signal Name|pin Usage|Pin Name{Direction|10 Standard) #|Drive (mA)(slew Г All — ............ A10 All Al 2 A13 A14 Al 5 Al 6 A2 A3 A4 A5 A6 A7 A8 A9 Bl BIO Bll B12 B13 B14 B15 B16 B2 B3 B4 B5 B6 B7 B8 B9 Cl CIO Cll C12 C13 C14 C15 C16 C2 C3 C4 C5 C6 C7 C8 C9 DI DIO Dll D12 D13 D14 D15 DI 6 D2 1 D3 D4 mA)|slew Rate|Pullup Pulldown|IOB Delay(Voltage(Constraint) GND IOB IO_l.L94N.li | UNUSED | |1| | | | | || |NC || | | | | | | | iob ...................... ' ‘ ' RSVD| VBATT TCKl I GND I I PROG_B RSVD)| RSVDI| IOB |NC IOB IOB IOB _ . ...... VCCAUX|||||||||| IOB IO_L94P_1/VREF_1(UNUSED)(1((|(((| I NC || || ШИ iob -------_* —;--------------------- IOB IO_L01N_1 UNUSED I |1 TMS|I I GNDI I I VCCAUX [[[ GND| | | | HSWAP_EN I | I I I IOB IOB | NC IOB IOB IOB IOB IO-L03N 1/VRP__1|UNUSED| 111 | | | | | | IO_L03P_0/VRN_0/UNUSED) I 0 I I I I I I I IO_L94P_0|UNUSED |0|||| IO_L96P_0/GCLK4S UNUSED IO_L96N_1/GCLK3P UNUSED IO_L03P_1/VRN_1|UNUSED IO_L01P_0, IO_L03N_0/VRP_0|UNUSED UNUSED IO_L94N_0/VREF_0 IO_L96N_0/GCLK5P IO_L96P_1/GCLK2S IO_L01N_7 UNUSED |7|||| UNUSED UNUSED UNUSED 10 Bank 0 0 0 1 IOB IOB IOB TDI GND IOB IOB IOB IOB IOB IO_L02N_1 IO_L01P_1 IO_L01N_2 XO_L01N_0 IO_L02P_0 UNUSED UNUSED UNUSED||2||||||| UNUSED UNUSED IO_L95p_0/GCLK6S UNUSED IO_L95N_1/GCLK1P UNUSED IO_L01P_7 UNUSED |7|||| 0 IOB IO_L02P_11 UNUSED) 111 | | I | | I |VCCINT||||||||1.5|| IOB IO_L02N_2/VRP_2 UNUSED IOB IO-L02P_2/VRN_2|UNUSED IOBIIO_L01P_2)UNUSED)|2|)' IOB|IO_L02P_7/VRN_7I UNUSED IOBjIO_L02N_7/VRP_7 UNUSED |VCCINT|| | || | | |1,5| | 7
12. Реализация проектов на базе ПЛИС семейств FPGA 259 D5 D6 D7 D8 D9 El E1O Ell E12 E13 E14 E15 E16 E2 E3 E4 E5 E6 E7 E8 E9 Fl Fl О Fll F12 F13 F14 Fl 5 Fl 6 F2 F3 F4 F5 F6 F7 F8 F9 G1 GIO Gil G12 G13 G14 G15 G16 G2 G3 G4 G5 G6 G7 G8 G9 Hl Hio H11 H12 H13 H14 H15 H16 H2 | 9* ЮВ IO_L02N_0|UNUSED| |0| | | | | | | IO-L95N_0/GCLK7P|UNUSED IO_L95P_1/GCLKOS|UNUSED I UNUSED ||1.5|| О 1 IOB : iob : NC NC NC VCCINT IOB IOB Inc |nc NC IOB IO_L03P_7/VREF_7 IOB IO-L03N-7|UNUSED VCCINT £1111 vcco_o VCCO-l NC| I I I vcco_i GND NC NC NC NC NC NC NC NC NC GND VCCO-O vcco_o VCCO-l NC||I| GND | I VCCO-2 NC NC NC NC NC NC NC NC NC VCCO_7 GND GND GND IOB | IO_L96pJ.7 GND| | | I 1 I | I VCCO_2| I I 2 I VCCO-2| | |2 J IOB -- ---- IOB IOB IOB__________ __ IOB|IO_L96N_7|UNUSED) IO_L03N_2 jUNUSEDl [2|| | ( I|| IO—L03P_2/VREF_2|uNUSEd||2||||||| О о 1 na na na па| | 2 I I па | | 7 UNUSED) |7I I I I I I | IO__L94N_2 1O__L94P_2 IO_L96N_2 IO__L96P_2 UNUSED UNUSED UNUSED UNUSED 2 2 2 2 7|
260 Зитов В. Ю. Проектирование цифровых устройств на основе ПЛИС НЗ Н4 Н5 Нб Н7 Н8 Н9 □ 1 J10 J11 J12 J13 J14 J15 J16 J2 J3 J4 J5 J6 J7 J8 J9 К1 К10 К11 К12 К13 К14 К15 К16 К2 КЗ К4 К5 Кб К7 К8 К9 L1 L10 L11 L12 L13 L14 L15 L16 L2 L3 L4 L5 L6 L7 L8 L9 Ml N10 МП М12 М13 Ml 4 М15 1ОВ|IO_L94P_7 ЮВ| IO_L94N_7 VCC0_7 7 VCCO.7 7 GND] GND I gnd] IOB I IO_L96N_6 I GND| 11 I I VCCO-3 3 I VCCO_3 3 IOB IOB IOB IOB IO_L96P_6 IO_L94N_6 IO_L94P_6 6 6 IO_L94P_3 IO_L94N_3 IO_L96P_3 IO_L96N_3 q<l> q<3> q<0> q<2> IOB IOB IOB VCCO_6 VCCO_6 GND GND GND NC | GND VCCO_3 NC NC NC NC NC NC NC NC NC VCCO-6 6 GND GND GND NC| VCCO_4 4 GND NC NC NC NC NC NC NC NC NC GND VCCO-5 VCCO_5 VCCO_4 NC| I |VCCINT clkIIOB|: 5 5 4 UNUSED||6| I | | I I I Ц3.3011 I P.3O|| OUTPUT OUTPUT OUTPUT OUTPUT UNUSED 6 UNUSED 6 UNUSED 6 IMI |||3.30|| I |na| I 11 lnal I | na Ina na Ц1.5Ц LVTTL LVTTL LVTTL LVTTL I 3 3 3 3 12 12 12 12 SLOW|NONE** SLOW NONE** SLOW NONE** SLOW NONE** LOCATED LOCATED LOCATED LOCATED >-L03 P_3iINPUT ILVTTLI 3 I I I I NONE||LOCATEDI _ _ -------3| |3| j I I | | | , , IO____— IOBIIO_L03N_3/VREF_3|UNUSED
12. Реализация проектов на базе ПЛИС семейств FPGA 261 М16 М2 М3 М4 М5 Мб М7 М8 М9 N1 N10 Nil N12 N13 N14 N15 N16 N2 N3 N4 N5 N6 N7 N8 N9 Pl Р10 Pll P12 P13 P14 P15 P16 P2 P3 P4 P5 P6 P7 P8 P9 R1 RIO Rll R12 R13 R14 R15 R16 R2 R3 R4 R5 R6 R7 R8 R9 T1 T10 Til T12 T13 mmiiiir IOB IO_L03N_6/VREF_6I UNUSED I I 6|| | | | | | IOB IO_L03P_6I UNUSEDj |6| | | | | | I I UNUSED I|1-5|| VCCINT “Illi VCCO_5 VCCO_4...... IOBIIO_LOiN16 5 4 UNUSED) I 6 1111111 3 IOB IO_L03N_4/D2/ALT_VRP_4I UNUSED) |4| | | | | | | I VCCINT| | | | | | | |1.5| IOB IO_L02P_3/VRN_3 UNUSED)|3 IOB IO_L02N_3/VRP_3 UNUSED)|3 left IOB|IO_L01N_3|INPUT|LVTTL IOBIIO_L02N_6/VRP_6 UNUSED I |61 IOB IO_L02P_6/VRN_6 UNUSED 6| |VCCINT| 11 111 I|1.5| --- IO_L03P_5/D57ALT_VRN_5|UNUSED||5||||||| NONE||LOCATED| IOB IOB IOB IOB IO_L9 5P_5/GCLK4 P|U IO_L9 5N_4/GCLK3S U IO_L01P_6 UNUSED|| IOB IOB IO„L03P_4/D3/ALT_VRN_4|uNUSED| |4| I I I I I I IO_L02N_4/D0(UNUSED| (4[ | | | | | | S' Stop IIOB IO_L01P_3I INPUT ILVTTL|3| | | |NONE| |LOCATED) Hill Hill - IO_L02P_5/D7|UNUSED||5I|||||| IO_L03N_5/D4/ALT_VRP„5|UNUSED||5||||||| IOB IOB IO_L95N_5/GCLK5S|UNUSED IO_L95P_4/GCLK2P(UNUSED IOB IOB _ VCCAUXl | | | | | | | | | IOB IO_L94N_4/VREF_4|UNUSED||4||||||| IO_L02P_4/D1|UNUSED||4||||||| IOB DONE)| GND|)| VCCAUX “Illi IOB IO_L02N_5/D6(UNUSED||5(|||||| IO_L94P_5/VREF_5|UNUSED| 5 ||||| IO_L96P_5/GCLK6P UNUSED 5 ||| IO_L96N_4/GCLK1S|UNUSED| 4 ||||| IOB IOB IOB |gnd| III Ш1 right IOB IO_L94P_4|INPUT|LVTTL|4||||NONE||LOCATED ||NC' ’1’ 1111 |nc I IOB .4/INIT__B (UNUSED | |4| I I I I I I
262 Зотов В. /О. Проектирование цифровых устройств на основе ПЛИС T14 T15 T16 T2 T3 T4 T5 T6 T7 T8 T9 IOB|IO_L01N_4/DOUT|UNUSED||4||||||| IPWKDWN_B I I | | | |I MO IOB IOB IOB IOB IOB IO_L01P_5/CS_B J UNUSED) [! IO_L01N_5/RDWR_B|UNUSED IO_L94N_5 (UNUSED (5|||| IO__L96N_5/GCLK7S ------ IO_L96P_4/GCLKOP UNUSED UNUSED 5 4 * Default value. ** This default Pullup/Pulldown value can be overridden in Bitgen. #To preserve the pinout above for future design iterations, #In Project Navigator simply execute the "Back-annotate Pin ^Location" process located under the "Place-and-Route" Process, Dor invoke PIN2UCF from the command line. The location constraints #will be written into your specified UCF file. (The constraints ^listed below are in PCF format and cannot be directly used #in the UCF file). # COMP "stop* LOCATE = SITE "P16" ; COMP "clk" LOCATE = SITE "M13" ; COMP "right" LOCATE = SITE "T10" ; COMP "left" LOCATE = SITE "N16" ; COMP *q<0>* LOCATE = SITE "J15" ; COMP "q<l>" LOCATE = SITE "J13" ; COMP "q<2>" LOCATE = SITE "J16" ; COMP "q<3>* LOCATE = SITE "J14" ; При достижении успешных результатов размещения и трассировки можно пе- рейти непосредственно к этапу конфигурирования кристалла. Но предварительно рекомендуется выполнить окончательную верификацию проекта методом временно- го моделирования, используя средства системы ModelSim ХЕ Starter.
13. Моделирование цифровых устройств, проектируемых на базе ПЛИС семейств FPGA фирмы Xilinx 13.1. Этапы моделирования проекта, реализуемого на базе ПЛИС семейств FPGA В процессе проектирования устройств на базе кристаллов семейств FPGA разработ- чику предоставляется возможность проведения моделирования на следующих стадиях: • после создания исходных описаний проекта (Simulate Behavioral VHDL Model); • после выполнения этапов синтеза и трансляции (Simulate Post-Translate VHDL Model)', • после выполнения фазы отображения логического описания проекта на физиче- ские ресурсы кристалла (Simulate Post-Map VHDL Model)-, • после завершения процедур размещения и трассировки (Simulate Post-Place & Route VHDL Model). Такая организация позволяет обнаружить возможные ошибки на более раннем шаге проектирования, и, тем самым, избежать значительных временных потерь. Уровень сложности проектов, выполняемых на базе ПЛИС семейств FPGA, как правило, более высок по сравнению с проектами, разрабатываемыми на основе кристаллов CPLD. По- этому этапы синтеза и реализации с учетом проводимой оптимизации требуют больших временных затрат. На рис. 13.1 показан вид рабочей области Навигатора проекта, в ок- не процессов которой отображается интерактивный список этапов моделирования уст- ройства, проектируемого на базе ПЛИС семейств FPGA Precede? Itx Cunent Source:___________________ ф ModdStfnSimdeior О ИВВ!МИЯНЯИВИИИД881 I П SrnubtePojt-Twnslate VHDL Model ГП Smulste Pwt-Map VHDL Model Г*1 SvnJaie Poti-Place I Route VHDL Model Рис. 13.1. Список этапов моделирования усгройства, разрабатываемого на базе ПЛИС семейств FPGA, отображаемый в окне процессов Навигатора проекта
264 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС Этап функционального моделирования Simulate Behavioral VHDL Model позволя- ет выполнить предварительную верификацию проекта. На этой стадии проектиро- вания отсутствует информация о значениях задержек распространения сигналов, поэтому при функциональном моделировании можно обнаружить только логиче- ские и синтаксические ошибки в описании разрабатываемого устройства. Для функ- ционального моделирования проекта применяется библиотека UniSim Library, эле- менты которой имеют единичные задержки. В процессе моделирования, выполняемого после трансляции проекта Simulate Post-Translate VHDL Model, также используются единичные значения задержек эле- ментов. Поэтому этот процесс можно тоже считать функциональным моделировани- ем. Но в отличие от этапа функциональной верификации Simulate Behavioral VHDL Model здесь используется модель устройства, сформированная с учетом используе- мых ресурсов кристалла. Этот процесс также называют функциональным моделиро- ванием на уровне вентилей (Gate-Level), имея в виду уровень аппаратных ресурсов ПЛИС. При этом используется та же библиотека моделей соответствующих элемен- тов (примитивов) SimPrim Library, что и в процессе временного моделирования. По- этому в дальнейшем этап Simulate Post-Translate VHDL Model будет рассматривать- ся в разделах, посвященных временному моделированию. На этапе моделирования, который выполняется перед размещением и трассиров- кой проекта Simulate Post-Map VHDL Model, производится частичная временная верификация разрабатываемого устройства. Модель, формируемая на этой стадии, учитывает задержки распространения сигналов в конфигурируемых логических блоках (CLB) и блоках ввода/вывода (1ОВ) кристалла, которые используются для реализации проекта. Значения этих задержек рассчитываются для самого наихудше- го варианта. При этом отсутствует информация о задержках распространения сигна- лов, вносимых трассировочными ресурсами ПЛИС. Таким образом, на этом этапе можно получить предварительную оценку выполнения требований, предъявляемых к временным характеристикам проектируемого устройства. Полное временное моделирование Simulate Post-Place & Route VHDL Model, вы- полняемое после успешного завершения этапа реализации, позволяет провести окончательную проверку полученных результатов. Полная модель проектируемого устройства учитывает все возможные задержки распространения сигналов в кри- сталле, причем их значения выбираются для самого неблагоприятного случая. Для получения доступа к интерактивному списку этапов моделирования проек- тируемого устройства следует выделить строку с названием используемого тестово- го файла в окне исходных модулей Навигатора проекта, поместив на нее курсор мыши и щелкнув левой кнопкой. Способы формирования тестового модуля проекта подробно рассмотрены в 5.5. Для различных этапов моделирования можно исполь- зовать один и тот же модуль описаний тестовых воздействий. Допускается примене- ния нескольких тестовых файлов в проекте. Так как все виды моделирования проек- та выполняются в пакетном режиме, то основными инструментами управления эти- ми процессами являются параметры инициализации программы ModcISim и вре- менной модели, значения которых устанавливаются с помощью диалоговых панелей Навигатора проекта. Список этих параметров в значительной степени определяет- ся языком описания аппаратуры HDL (Hardware Description Language) и средствами
13. Моделирование цифровых устройств, проектируемых иа базе ПЛИС семейств FPGA 265 синтеза, используемыми в процессе проектирования. В последующих разделах бу- дут рассмотрены параметры процессов моделирования проектов, разрабатываемых на базе ПЛИС семейств FPGA с применением языка VHDL и программы синтеза XST VHDL. Перед запуском средств моделирования следует проконтролировать и при необ- ходимости установить требуемые значения параметров инициализации программы ModelSim и соответствующей модели. 13.2. Параметры процесса функционального моделирования проекта Для контроля и установки параметров функционального моделирования нужно в окне процессов (рис. 13.1) щелчком левой кнопки мыши выделить строку Simulate Behavioral VHDL Model, после чего нажать кнопку расположенную на опера- тивной панели Навигатора проекта, или воспользоваться командой Properties кон- текстно-зависимого всплывающего меню. В результате выполненных действий на экране монитора отображается диалоговая панель параметров процесса моделиро- вания, вид которой показан на рис. 13.2. Process Properties - , s. ч- Skmfelion Properties | Display Properties | „ Property Name I Value Custom Do Ffe________ Use Automatic Do Fife ' Simulation Run Типе Simulation Resolution •P __________ 1000ns ______ Detaitt (1 ps) VHDL Syntax______________ Use Expfcit Declarations Ortfy j Design Unit Name ; 93 I?_______ testbench OK | Cancel | Oetaul; | Hep Рис. 13.2. Диалоговая панель параметров процесса моделирования (страница Simulation Properties) Эта диалоговая панель в случае функционального моделирования содержит две страницы, снабженные закладками с их названиями: Simulation Properties и Display Properties. Каждая из этих страниц содержит соответствующую группу параметров, представленных в виде таблицы, структура которой рассмотрена в гл. 4. Чтобы из- менить значение параметра, следует активизировать соответствующее поле табли- цы, поместив на него курсор и щелкнув левой кнопкой мыши, а затем воспользо- ваться кнопкой управления выпадающим списком значений или. если параметр име- ет два состояния "включено" или "выключено", щелкнуть левой копкой мыши на
266 Зотов В. К). Проектирование цифровых устройств на основе ПЛИС поле индикатора состояния. Для некоторых параметров требуемое значение может быть введено непосредственно с клавиатуры. На странице Simulation Properties представлены общие параметры процесса мо- делирования. Параметр Custom Do File позволяет указать название командного фай- ла, который будет выполняться при активизации средств моделирования в дополне- ние к файлу, формируемому автоматически пакетом WebPACK ISE. Название ко- мандного файла может быть введено непосредственно с клавиатуры после активи- зации поля редактирования значения этого параметра или выбрано при использова- нии стандартной диалоговой панели открытия файла, которая выводится при нажа- тии кнопки с пиктограммой в виде многоточия Значение параметра Use Automatic Do File разрешает или запрещает автоматиче- ское создание и исполнение командного файла, который содержит директивы ком- пиляции всех VHDL-файлов проекта, активизации процесса моделирования и ото- бражения его результатов. По умолчанию установлено значение ''включено", разре- шающее генерацию и выполнение этого пакетного файла. Параметр Simulation Run Time устанавливает длительность интервала моделиро- вания, которое выполняется автоматически в пакетном режиме. Значение этого параметра указывается с помощью клавиатуры после активизации соответствую- щего поля редактирования. По умолчанию длительность интервала моделирования принимается равной 1000 нс. Значение параметра Simulation Resolution определяет разрешающую способность процесса моделирования, т. е. величину временного дискрета, с которым вычисляет- ся состояние проектируемого устройства. Требуемое разрешение выбирается из вы- падающего списка возможных значений, который содержит 18 позиций, отличаю- щихся на порядок по отношению к соседним. По умолчанию величина временного дискрета моделирования установлена равной 1 пс. С помощью параметра VHDL Syntax выбирается стандарт синтаксиса (версия) языка VHDL, в соответствии с которым формируется описание моделируемой сис- темы. Выпадающий список возможных значений этого параметра содержит две строки: 87 и 93 (установлено по умолчанию), которые соответствуют стандартам: IEEE VHDL Std 1076-1987 и IEEE VHDL Std 1076-1993. Параметр Use Explicit Declarations Only используется для предотвращения кон- фликтов из-за неоднозначности, возникающей при использовании перегрузки функ- ций. Значение "включено", принятое по умолчанию для данного параметра, уста- навливает более высокий приоритет явного определения функций, чем для случая их неявного использования. Значение параметра Design Unit Name определяет название моделируемого уст- ройства (или одного из модулей проекта). По умолчанию используется значение "testbench", которое устанавливается в качестве названия объекта модели испыта- тельного стенда при автоматическом формировании тестового модуля средствами пакета WebPACK ISE. Страница Display Properties содержит параметры, управляющие отображением дополнительных окон программы моделирования ModelSim при ее активизации (рис. 13.3). При запуске средств моделирования непосредственно из управляющей оболочки пакета WebPACK 1SE автоматически открываются только тс окна
!3. Моделирование цифровых устройств, проектируемых на базе ПЛИС семейств FPGA 267 ModelSim, для которых соответствующий параметр установлен в состояние "вклю- чено". Параметр Signal window определяет режим отображения окна сигналов, Wave window - окна временных диаграмм. Structure window — окна структуры проекта, Source window - окна исходного кода, List window - окна табличной формы резуль- татов моделирования, Variables window - окна переменных, Process window - окна процессов, Data Flow window — окна трассировки сигналов. По умолчанию в начале сеанса моделирования автоматически открываются окна сигналов, временных диа- грамм и структуры проекта. Process Properties . х| Sirnuklion Properties Display Properties | I i I Property Heme Signal window _________________ УУеЧь Window___________________ Structure window ’ Source window List window ___________________ Variables window_______________ Process window_________________ tData Flow window Value E. | OK | Cancel | Help Рис. 13.3. Страница Display Properties диалоговой панели параметров моделирования Выполнив необходимые изменения параметров процесса моделирования, следует подтвердить их нажатием клавиши ОК в нижней части диалоговой панели (рис. 13.3). 13.3. Функциональное моделирование проекта с помощью программы ModelSim Процесс функционального моделирования проекта активизируется двойным щелчком левой кнопки мыши на строке Simulate Behavioral VHDL Model в окне процессов Навигатора проекта. При этом средствами пакета WebPACK ISE авто- матически создастся пакетный файл, который содержит последовательность команд управления программой ModelSim, необходимых для проведения сеанса функцио- нального моделирования проектируемого устройства. Далее автоматически произ- водится запуск средств моделирования, сразу после инициализации которых выпол- няется этот командный файл (если только параметр Use Automatic Do File не был установлен в состояние "выключено"). Информация о ходе выполнения пакетного файла отображается в консольной области основного окна программы ModelSim. При этом последовательно открываются дочерние окна этой программы, которые были указаны в параметрах инициализации. После завершения выполнения команд- ного файла при необходимости моделирование может быть продолжено в интсрак-
268 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС тивном режиме. На рис. 13.4 в качестве примера, приведены результаты функцио- нального моделирования счетчика Джонсона, разработка которого рассмотрена в предыдущих главах. — wave - defauft. -IOj *? fte Edt View Insert Fgrmat Jpcfc Window й Й® I X. Чй® H Ipr чи M-irc-Ы -4 ~ I 1 P* j».- _______ ................ яСС- rv... .. ' nf..‘ «Югл 49O49Gpt ' . 4У4-ХС-: -- ,„д. _________________________________________________________________~_______________— 1КВЭ5 ps to 622055 ps Рис. 13.4. Результаты функционального моделирования проекта счетчика Джонсона Наибольшей наглядностью обладают результаты моделирования, которые ото- бражаются в графическом виде в окне временных диаграмм программы ModelSim (рис. 13.4). Управление масштабом изображения в рабочей области этого окна осуществляется с помощью группы кнопок, расположенных на оперативной панели управления, или команд из всплывающего меню Zoom, доступ которому предостав- ляет пункт View основного меню окна временных диаграмм. Двукратное увеличение масштаба осуществляется с помощью одного нажатия кнопки или выполнения команды Zootn In. Однократное применение кнопки быстрого доступа или ко- манды Zoom Out позволяет в два раза уменьшить масштаб изображения в рабочей области окна временных диаграмм. Для получения требуемого масштаба, при необ- ходимости, следует несколько раз повторить процедуру использования указанных инструментов. Включение режима выбора фрагмента временных диаграмм для дс- га тального просмотра осуществляется с помощью кнопки I___I или команды Zoom Range. При этом, чтобы указать интересующую область изображения результатов моделирования, следует поместить курсор мыши на одну из се границ, нажать левую кнопку мыши и, не отпуская ее, раздвинуть появившиеся курсоры до границ тре- буемого диапазона, после чего освободить нажатую кнопку.
/3. Моделирование цифровых устройств, проектируемых на базе ПЛИС семейств t-'PGA 269 Для перемещения видимой части временных диаграмм следует использовать элементы прокрутки, расположенные вдоль нижней и правой границ панели резуль- 1«-| татов моделирования. Кнопки быстрого доступа I—_I и____1, расположенные на опе- ративной панели в окне временных диаграмм, перемещают курсор в предыдущую или следующую точку переключения выбранного сигнала. При открытии окна диа- грамм сигналов курсор находится в начальной точке временной шкалы, которая со- ответствует нулевому значению времени моделирования. Чтобы переместить его в требуемую точку, следует расположить указатель мыши в этой позиции и щелкнуть левой кнопкой, после чего изображение курсора будет зафиксировано в новом по- ложении. Допускается также перетаскивание курсора в новую точку с помощью мыши, которое выполняется при нажатой левой кнопки. При автоматическом создании командного файла для сеанса моделирования средства пакета WebPACK ISE включают в список контролируемых сигналов только интерфейсные сигналы моделируемого объекта. Но в процессе отладки часто возни- кает необходимость отображения поведения внутренних сигналов в различных мо- дулях проекта. Для этого следует в иерархической структуре проекта, представлен- ной в окне Structure, выбрать интересующий объект, поместив курсор мыши на строку с его названием и щелкнув левой кнопкой мыши. При этом в окне Signals отобразится соответствующий список сигналов, в котором следует захватить тре- буемый элемент, поместив курсор мыши на строку с его названием, нажав левую кнопку, и, не отпуская сс, перетащить его в область названий сигналов окна времен- ных диаграмм. Далее можно продолжить моделирование с текущего момента вре- мени или повторить выполненные процедуры с начала. В последнем случае следует сбросить результаты моделирования и вернуть систему в начальное состояние, вы- полнив команду Restart из всплывающего меню Run, доступ к которому открывает пункт Simulate основного окна программы ModelSim, или нажав кнопку СЕО на опе- ративной панели. Повторное моделирование инициируется командой Run-All или кнопкой быстрого доступа Результаты моделирования, полученные в текущем сеансе, автоматически сохра- няются в виде набора данных (dataset) с именем vsim в формате WLF (Wave Log Format).Чтобы сохранить результаты моделирования в файле с другим именем, сле- дует выполнить команду Save из всплывающего меню File основного окна програм- мы ModelSim или команду Save Dataset из выпадающего меню File окна временных диаграмм. После выбора строки sim dataset или sim открывается стандартная панель сохранения файла, в которой нужно указать с помощью клавиатуры требуемое на- звание набора данных. Для завершения этапа функционального моделирования сле- дует выполнить команду End Simulation из меню Simulate и закрыть основное окно программы ModelSim. после чего можно переходить к другим вида моделирования, которые будут рассмотрены в следующих разделах.
270 Зотов В. К). Проектирование цифровых устройств на основе ПЛИС 13.4. Установка значений параметров временного моделирования проекта, реализуемого на базе ПЛИС семейств FPGA Перед активизацией каждого из перечисленных этапов временного моделирова- ния следует, как обычно, установить необходимые значения параметров этих про- цессов, используя те же методы, что и для опций функционального моделирования. Диалоговые панели параметров этих процессов содержат три страницы: Simulation Properties, Display Properties и Simulation Model Properties (рис. 13.6). Страницы Simulation Properties и Simulation Model Properties содержат различный набор пара- метров для каждого этапа моделирования. Содержание страницы Display Properties Не зависит от выбора этапа моделирования. Состав и назначение параметров, распо- ложенных на этой странице, рассмотрены для случая функционального моделирова- ния в 13.1. На странице Simulation Model Properties представлены параметры ис- пользуемой модели проектируемого устройства. Страница Simulation Properties в случае моделирования, выполняемого после синтеза и трансляции проекта Simulate Post-Translate VHDL Model, включает в себя те же параметры, что и при функциональном моделировании. Вид страницы Simulation Model Properties для этого этапа моделирования показан на рис. 13.5. Process Properties 2 xl Simulation Properties | Display Properties Simulation Model Properties | __________________Property Name Retain Hierarchy _ Bring Out Global Tristate Net as a Port___ Glottal Trlstete Port Name__________ Tristate On Configuration Pulse Width Bring Out Global SetlReset Net as a Port Global SetiReset Port Name_ ____ ________ Reset On Configuration Pulse Width________ Generate Testbench File___________________ Global Disable of X-generetion for Simulation N/A 0 NIA 100 Value Cancel I Рис. 13.5. Страница Simulation Model Properties диалоговой панели, представляющей параметры процесса моделирования, выполняемого после синтеза и трансляции проекта, разрабатываемого на базе ПЛИС семейств FPGA Значение параметра Retain Hierarchy определяет способ представления объектов HDL-описаний в процессе моделирования. Если этот параметр установлен в состоя- ние "включено", то указанные объекты моделируются в виде отдельных иерархиче- ских модулей, соответствующих исходному описанию проекта. По умолчанию уста-
13. Моделирование цифровых устройств, проектируемых на базе ПЛИС семейств FPGA 271 новлено значение "включено", при котором сохраняется иерархия объектов в про- цессе моделирования. Параметр Bring Out Global Tristate Net as a Port предоставляет возможность включения глобальной цепи управления тристабильными выходами кристалла в описание интерфейса моделируемого объекта. При использовании значения "вклю- чено" глобальный сигнал управления тристабильными выходами кристалла GTS преобразуется в формат порта объекта, который представлен в описании верхнего уровня иерархии проекта. По умолчанию для данного параметра установлено значе- ние "выключено", которое соответствует обычному представлению глобальной цепи управления тристабильными выходами ПЛИС. Значение параметра Global Tristate Port Name определяет название порта, соответст- вующего глобальной цепи управления тристабильными выходами кристалла. Данная опция доступна, только если предыдущий параметр находится в состоянии "включено". По умолчанию используется название порта, совпадающее с идентификатором этой гло- бальной цепи - GTS. Изменить значение этого параметра можно с помощью клавиатуры после активизации соответствующего поля редактирования. С помощью параметра Tristate On Configuration Pulse Width задается длитель- ность импульсного сигнала, необходимого для моделирования компонентов, форми- рующих сигнал инициализации для глобальных цепей управления третьим состоя- нием в начальный момент времени. Данная опция применяется только при выклю- ченном значении параметра Bring Out Global Tristate Net as a Port. По умолчанию длительность этого импульса принимается равной нулю. Параметр Bring Out Global Set/Reset Net as a Port используется для включения глобальной цепи сброса/установки кристалла в описание интерфейса моделируемо- го объекта. Если данный параметр находится в состоянии "включено", то глобаль- ный сигнал сброса/установки триггерных ресурсов кристалла GSR преобразуется в формат порта объекта, который представлен в описании верхнего уровня иерархии проекта. Значение "выключено", принятое по умолчанию, соответствует обычному представлению глобальной цепи сброса/установки ПЛИС. Значение параметра Global Set/Reset Port Name позволяет указать название порта, соответствующего глобальной цепи сброса/установки кристалла. Данный параметр используется только при условии, что Bring Out Global Set/Reset Net as a Port уста- новлен в состояние "включено". По умолчанию название порта совпадает с иденти- фикатором глобальной цепи сброса/установки - GSR. Новое значение этого пара- метра вводится с помощью клавиатуры после активизации соответствующего поля редактирования. Значение параметра Reset on Configuration Pulse Width определяет длительность импульса, необходимого для моделирования компонентов, управляющих инициали- зацией глобальных цепей сброса/установки в начальный момент времени. По умол- чанию для этого параметра используется значение 100 нс. Данная опция использует- ся только в случае, если параметр Bring Out Global Set/Reset Net as a Port находится в состоянии "выключено". Параметр Generate Testbench File управляет генерацией тестового файла по ре- зультатам моделирования. По умолчанию установлено значение "выключено", кото- рое запрещает автоматическую перезапись тестового файла.
272 Зотов В. Ю. /1роектировапие цифровых устройств на основе ПЛИС Значение параметра Global Disable of X-generation for Simulation разрешает или запрещает перевод регистров в неопределенное состояние (X) при нарушении вре- менных соотношений сигналов на его входах в процессе моделирования. При уста- новке этого параметра в состояние "включено” в случае обнаружения временных нарушений регистры сохраняют предыдущее состояние в процессе моделирования. По умолчанию установлено значение "выключено”, разрешающее перевод регист- ров в неопределенное состояние (X) при нарушении временных ограничений для входных сигналов. Для этапа частичного временного моделирования, выполняемого после заверше- ния фазы компоновки проекта, Simulate Post-Map VHDL Model страница Simulation Properties дополнительно включает параметры Simulation Mode и UUT Instance Name (рис. 13.6). Process Properties Smdaikn Rope ties | Display Properties | Simulation Model Properties | Property Kame__________________ [ Value Custom Do Re ... ] Use Airtomatic bo File | [7 Simulation Run Time '"/IltXOns 1 Simulation Resolution _________________* : Detail (1 ps) Simulation Mode _ jMaximim Delay VHDLSyntax~ S3___________' Use Explicit Declarations Only______________’ ’______|7 ______________ Design Unt Name_______________’ testbench_____________________________ UUT Instance Name (UUT OK | Caned | pela' Г. | Help Рис. 13.6. Страница Simulation Properties диалоговой панели, представляющей параметры процесса моделирования, которое выполняется перед фазой размещения и трассировки проекта в кристаллах семейств FPGA Параметр Simulation Mode предназначен для выбора режима временного модели- рования. В выпадающем списке возможных значений этого параметра представлены три варианта: Maximum Delay, Typical Delay, Minimum Delay. При использовании значения Maximum Delay, установленном по умолчанию, проектируемое устройство моделируется с учетом максимальных величин задержек, указанных в соответст- вующем файле SDF. Значения Typical Delay и Minimum Delay соответствуют режи- мам моделирования при типовых и минимальных задержках распространения сиг- налов. В текущей версии пакета WebPACK 1SE значения задержек, приведенные в файле SDF, одинаковы для всех трех вариантов и соответствуют максимальной ве- личине. Поэтому возможности, предоставляемые с помощью параметра Simulation Mode, полностью будут реализованы только в последующих версиях программных средств проектирования. Значение параметра UUT Instance Name определяет название объекта верхнего уровня иерархии в тестовом модуле проекта. По умолчанию в качестве названия
/3. Modeiupoeaiate цифровых устройств, проектируемых на базе ПЛИС семейств FPGA 273 объекта, описывающего испытательный стенд, используется UUT, Новое значение этого параметра указывается с помощью клавиатуры после активизации соответст- вующего поля редактирования. Страница Simulation Model Properties содержит идентичный набор параметров для этапов частичного и полного временного моделирования устройств, разрабаты- ваемых на базе ПЛИС семейств FPGA. В отличие от этапа моделирования, выпол- няемого после трансляции, эта страница включает в себя два дополнительных пара- метра Change Device Speed to и Correlate Simulation Data to Input Design (рис. 13.7). Process Properties Simulation Properties | Display Properties Simulation Modd Properties Property Hame iChange Dev ce Speed To ________________ jCorraiste Simulation Data to Input Design_ Retain Hfererchy___________________________ ;Br ngOut Gtobd Tristate Net as a Port_____ Global Trtstate Port Name _________________ Instate On Configuration Pulse Width_______ Bring Out Global SeUReset Net as a Port____ [Global SetIReset Port Name ~ _________ Reset On Configurertionpulse Wdth__________ Generate Testbench File____________________ Global Disable ot X-generation tor Simulation OK I Cancel | П-'-асП | Hej> | Рис. 13.7. Страница Simulation Model Properties диалоговой панели, представляющей параметры процессов частичного и полного моделирования проекта, разрабатываемого на базе ПЛИС семейств FPGA Параметр Change Device Speed to позволяет при моделировании изменить быст- родействие кристалла, выбранного для реализации проекта. Таким образом, в про- цессе моделирования предоставляется возможность исследования функционирова- ния разрабатываемого устройства при вариации скоростных характеристик исполь- зуемой ПЛИС. Тем самым, опытным путем определяются требования к быстродей- ствию кристалла, на базе которого выполняется проект. Новое значение этого пара- метра указывается с помощью клавиатуры после активизации соответствующего поля редактирования. С помощью параметра Correlate Simulation Data to Input Design включается и выключается режим согласования данных процесса моделирования и исходного описания проектируемого устройства. При включенном значении этого параметра создастся дополнительный файл формата NGM, в котором располагается информа- ция о соотношении логического и физического уровней представления проекта. При использовании режима согласования восстанавливается информация об исходной иерархии проекта, а также названия цепей, преобразованных в процессе размещения
274 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС и трассировки. По умолчанию установлено значение "включено", при котором дан- ные процесса моделирования увязываются с исходными описаниями проекта. Страница Simulation Properties параметров окончательного (полного) моделиро- вания Simulate Post-Place & Route VHDL Model в отличие от этапа частичного вре- менного моделирования Simulate Post-Map VHDL Model дополнительно содержит параметр Generate VCD File (рис. 13.8). Process Properties x Simulation Properties | Display Properties |: Simulation Model Properties | Value Property Name Custom Do File Use Automatic Do File Simulation Run Time . ______ Simulation Resolution________ Simulation Mode _________' VHDL Syntax______________' Use Expired Declarations Only Design Uni Name_____________ UUT Instance Name___________ Generate VCD Fie (WOOns______ ] Detain (1 ps) | Maximum Delay 93 F ______ testbench UUT Cancel j Default | Help Рис. 13.8. Страница Simulation Properties диалоговой панели, представляющей параметры полного временного моделирования проекта в кристаллах семейств FPGA С помощью параметра Generate VCD File осуществляется управление формиро- ванием файла результатов в формате VCD (Value Change Dump) в процессе времен- ного моделирования. Этот файл может использоваться, в частности, программой оценки потребляемой мощности XPower. При использовании значения "выключено", установленного по умолчанию, автоматическое создание файла VCD в процессе временного моделирования не производится. После внесения изменений в значения параметров инициализации программы ModelSim и используемой модели, следует подтвердить их нажатием клавиши ОК в нижней части диалоговой панели (рис. 13.5-13.8). 13.5. Выполнение этапов временного моделирования проекта, реализуемого на базе ПЛИС семейств FPGA Для выполнения очередного этапа моделирования проекта необходимо помес- тить курсор на строке с его названием в окне процессов Навигатора проекта (рис. 13.1) и дважды щелкнуть левой кнопкой мыши. Дальнейший ход процесса мо- делирования аналогичен для всех этапов и подробно рассмотрен в подразд. 8.3, по- священном функциональному моделированию. В качестве примера на рис. 13.9
13. Моделирование цифровых устройств, проектируемых на базе ПЛИС семейств FPGA 275 ведены результаты полного временного моделирования проекта счетчика Джонсона, реализуемого на основе кристалла xc2v40. «»wave - default Не View [rtsert Fgrmat Tods ^findow Рис. 13.9. Результаты полного временного моделирования проекта счетчика Джонсона, реализуемого на основе кристалла xc2v40 Для измерения временных интервалов на диаграммах сигналов, полученных в результате моделирования, следует использовать дополнительные курсоры. Чтобы < с ^Ч добавить еще один курсор, необходимо нажать кнопку I I на оперативной панели управления. При наличии нескольких указателей активный курсор изображается сплошной линией, а остальные - штриховой. Поместив курсоры на границах изме- ряемого временного интервала, можно определить его длительность, которая ото- бражается в нижней части окна диаграмм в виде разности координат указателей. При необходимости можно использовать несколько дополнительных курсоров. В последующем для удаления неиспользуемых указателей можно воспользоваться Л кнопкой меню Edit. на оперативной панели или командой Delete Cursor из всплывающего Каждый этап моделирования завершается выполнением команды End Simulation из меню Simulate, после чего необходимо закрыть основное окно программы ModelSim. Если система ModelSim останется активизированной, то после запуска следующего этапа моделирования выполнение процесса будет прервано при попыт- ке открытия второго экземпляра этой программы и появится сообщение об ошибке. Указанное ограничение обусловлено требованиями лицензии ModelSim ХЕ Starter.
276 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС 13.6. Возможные проблемы, возникающие в процессе временного моделирования проекта Если результаты временного моделирования принципиально отличаются от ожи- даемых (которые подтверждаются на этапе функциональной верификации), то ос- новной причиной этого являются нарушения временных соотношений в проекте. В этих случаях средствами моделирования выводятся соответствующие сообщения. Кроме того, несоответствия результатов функционального и временного моделиро- вания могут быть обусловлены особенностями библиотеки SimPrim Library, которая используется на последних этапах. Наиболее часто при этом проявляется эффект фильтрации "коротких" импульсов. Если длительность импульса (некоторого со- стояния сигнала) на входе элемента оказывается меньшей, чем задержка распро- странения (IOPATH), указанная для него в файле SDF, то этот импульс не оказывает никакого влияния на выходные сигналы в процессе моделирования. Это связано с тем, что в библиотеке SimPrim Library используется инерционный (Inertial) тип за- держки. Учитывая, что задержки распространения обычно рассчитываются для наи- худшего случая, временная модель может отфильтровывать (поглощать) кратковре- менные изменения сигналов, которые должны присутствовать в процессе функцио- нирования реального устройства в соответствии с алгоритмом его работы. Для проектов, использующих язык описания аппаратуры VHDL и, соответствен- но, средства синтеза XST VHDL, отсутствует эффективный механизм отслеживания "коротких" импульсов в процессе моделирования. Можно для отдельных элементов библиотеки SimPrim Library изменить тип задержки с инерционного на транспорт- ный (Transport), при котором учитываются все импульсы, независимо от соотноше- ния их длительности и задержки распространения сигнала в этих элементах. Но в этом случае в процессе моделирования будут также отрабатываться воздействия коротких паразитных импульсов (glitch), которые не должны восприниматься эле- ментами вследствие их инерционности. Т. е. временное моделирование при исполь- зовании транспортных задержек также может дать результаты, которые не соответ- ствуют реальной работе проектируемого устройства. Возможно, эта проблема будет полностью решена в последующих версиях пакета САПР WebPACK ISE. В случае использования в процессе проектирования языка Verilog и средств син- теза XST Verilog, в системе моделирования ModelSim предусмотрен ряд команд, по- зволяющих преодолеть проблему моделирования "коротких" импульсов. Эти дирек- тивы издаются с помощью клавиатуры в командной строке (ysim>), расположенной в консольной области основного окна ModelSim. Команда +transpori_int_delays ус- танавливает транспортный тип для всех задержек распространения ЮРАТН. Дирек- тива +transport_path_delays изменяет инерционные задержки всех портов (PORT) па транспортные. Команда +pidse_e/I0 включает режим моделирования, при котором в случае возникновения входных импульсов с длительностью менее 10% от задержки распространения ЮРАТН, указанной в файле SDF для соответствующего элемента, выводится сообщение об ошибке, но импульс отрабатывается моделью. Команда +pulse_r/10 предписывает в процессе моделирования отфильтровывать короткие импульсы на входах элементов, длительность которых не превышает 10% от за- держки распространения ЮРАТН, указанной в файле SDF для этого компонента.
13. Моделирование цифровых устройств. проектируемых па базе ПЛИС семейств LPGA 277 При выполнении директивы +pulse_int_e/10 входные импульсы, длительность кото- рых составляет менее 10% от задержки порта PORT, воспринимаются моделью так же, как и сигналы с нормальными временными характеристиками, но сопровожда- ются сообщением об ошибке. Команда +pulsc_int_r/10 устанавливает режим фильт- рации всех входных импульсов, длительность которых не превышает 10% от за- держки порта, приведенной в файле SDF для соответствующего элемента. Таким образом, можно исключить влияние паразитных импульсов на результаты временно- го моделирования. Еще одна возможная проблема, с которой может столкнуться разработчик в про- цессе временной верификации устройств, проектируемых на базе ПЛИС семейств FPGA, связана с некорректным отображением результатов моделирования модулей цифровой автоподстройки задержки (Delay-Locked Loop, DLL) и модулей цифрово- го управления синхронизацией (Digital Clock Manager, DCM). Эти модули должны обеспечивать минимизацию перекоса тактового сигнала, поступающего на вход кристалла и подающегося на внутренние элементы, в пределах, указанных в спра- вочных данных для каждого конкретного типа ПЛИС. Однако на диаграммах сигна- лов, полученных в результате временного моделирования, величина перекоса отли- чается от значения, приведенного в справочных данных. Это различие обусловлено методом интерпретации задержки порта синхронизации средствами моделирования. Программа ModelSim отображает тактовый сигнал, без учета задержки, указанной в файле SDF для этого порта. Если эта задержка затем добавляется к внутреннему сигналу синхронизации, то в результате величина перекоса тактового сигнала в про- цессе временного моделирования будет не совпадать с ожидаемым значением. 13.7. Оценка влияния напряжения питания и температуры на временные характеристики проектируемого устройства Временное моделирование проекта позволяет провести исследования функцио- нирования разрабатываемого устройства при изменении напряжения питания и тем- пературы окружающей среды. Для этой цели используются параметры, указываемые в файле временных и топологических ограничений проекта User Constraints File (UCF), на основании значений которых выполняется масштабирование всех задер- жек распространения сигналов в кристалле в соответствии с указанной величиной напряжения питания и температуры. Зависимость временных параметров кристалла от напряжения источника питания проектируемого устройства учитывается с помо- щью ограничения VOLTAGE. Значение температуры, при которой предполагается эксплуатация проектируемого устройства, задастся с помощью параметра TEMPERATURE. Формат соответствующих выражений для указанных ограничений приведен в 11.1. Следует обратить внимание на то. что параметры VOLTAGE и TEMPERATURE могут применяться только в проектах, для реализации которых используются кри- сталлы, предназначенные для работы в коммерческом диапазоне значений напряже- ния питания и температур. Задаваемые значения этих параметров должны соответ- ствовать условиям эксплуатации ПЛИС, указанным в справочных данных для ис-
278 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС пользуемого кристалла. В случае установки значения, которое выходит за пределы диапазона, допустимого для выбранного типа ПЛИС, такое ограничение игнориру- ется. При этом выводится сообщение об ошибке, а для проекта устанавливается ти- повое значение напряжения питания и температуры, принятое по умолчанию для выбранного семейства кристаллов. Для оценки влияния напряжения источника питания и температуры на времен- ные характеристики проектируемого устройства необходимо изменить значения па- раметров VOLTAGE и TEMPERATURE в файле UCF или добавить соответствующие выражения в случае их отсутствия. Выполнив необходимые изменения в файле вре- менных и топологических ограничений проекта, следует записать его на диск, ис- пользуя команду Сохранить из всплывающего меню Файл Навигатора проекта. Далее необходимо заново выполнить процедуру временного моделирования. При этом автоматически будет повторно пройден этап реализации проекта.
14. Конфигурирование ПЛИС семейств FPGA фирмы Xilinx в САПР WebPACK ISE При получении успешных результатов этапа реализации и полного временного моделирования следует перейти к завершающему этапу процесса проектирования цифровых устройств на базе ПЛИС семейств FPGA. Рассматриваемый этап включает в себя следующие фазы: • создание конфигурационной последовательности для разрабатываемого проекта; • загрузка конфигурационного битового потока в кристалл для аппаратной вери- фикации проекта; • генерация файла "прошивки" ПЗУ/ППЗУ; • программирование ППЗУ с помощью средств, входящих в состав пакета САПР WebPACK ISE. При изучении материала данной главы следует учитывать, что фаза загрузки конфигурационного битового потока в кристалл FPGA не является обязательной. Она предназначена, в основном, для верификации проектируемого устройства на аппаратном уровне, которую целесообразно выполнять перед программированием ПЗУ или ППЗУ. Такая проверка особенно актуальна при использовании однократно программируемых ПЗУ. Процесс загрузки конфигурационной битовой последова- тельности в ПЛИС семейств FPGA фирмы Xilinx с помощью программы IMPACT может выполняться в различных режимах. В настоящей главе подробно рассматри- вается последовательность операций, необходимых для конфигурирования кристал- лов FPGA в режиме периферийного сканирования и в подчиненном последователь- ном режиме. 14.1. Создание конфигурационной последовательности для проекта, разрабатываемого на базе ПЛИС семейств FPGA Процесс создания конфигурационной последовательности для ПЛИС семейств FPGA выполняется в автоматическом режиме. Все необходимые директивы конфи- гурирования и последующей активизации кристалла задаются с помощью парамет- ров рассматриваемого процесса перед его выполнением. Вызов диалоговой панели, которая используется для установки соответствующих опций, осуществляется од- ним из привычных способов. В окне процессов (рис. 14.1) щелчком левой кнопки мыши следует выделить строку Generate Programming File, после чего нажать кноп- ку расположенную на оперативной панели Навигатора проекта, или восполь- зоваться командой Properties контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши.
280 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Sources in Project- | 0 j count I r-3 a Kc2v40-6fg256 - XST VHDL jc2 (|c2.»ch) t R?| jc2_test.vhd -0 jc2.ucf Module Yievu | Snapshot View t^] Library View | • ——--------——--------------------.............. . — Processes for Current Source; F) й? Design Entry Utilities I I Fl № User Constraints I I Synthesize I I I i [si p# View Synthesis Report • 1- □ View RTL Schematic • Analyze Hierarchy К • О Implement Design r I- О Q? T ranslate I I [Цй^ Translation Report I I !— □ Floorplan D esign j } "O Generate Post-Translate Simulation Model j 1=1- O.C^ Map ‘ [=1 Map Report j Fl О Generate Post-Map Static Timing « t • •• Generate Post-Map Simulation Model i fc; Placet Route ! i... gj Place & Route Report — [=)C^ Asynchronous Delay Report I r - [=1 Pad Report ? !- [=) Gude Resuts Report t fit Generate Post-Place & Route Static Timing 5 ! □ View/Edt Placed Design (FloorFlanner) 1 I j J- - □ Analyze Power (XPower) 1 * * О Generate Post-Place & Route Simulation Modd ,.+J- «3* Generate IBIS Model [ Fl О Multi Pass Flace & Route I S 'Ci В ack-annotate Pin Locations £ О Generate Programming File [^1 Programming File Generation Report □ Generate PROM, ACE, or JTAG File ‘ D Configure Device (IMPACT) Process View | | Рис. 14.1. Выбор процедуры формирования конфигурационной последовательности для проекта, разрабатываемого на базе ПЛИС семейств FPGA, в окне процессов Навигатора проекта Диалоговая панель параметров процесса генерации конфигурационной последо- вательности, вид которой показан на рис. 14.2, содержит пять страниц, снабженных закладками, на которых указаны их названия: General Options, Configuration Options, Startup Options, Readback Options, Encryption options.
14. Конфигурирование ПЛИС семейств EPGA 281 Process Properties . _ Х| Startup options I Readback options ] Encryption options General Options | Configuration options j ' Property Name " | Value Run Design Rules Checker (PRC) |p7 ’Create Bft Fie ~ ~ . ,[✓ 'Create Binary Configuration Fie____________________ Г Create ASCi Cerf iguratonFde_________________________p______ {Create IEEE 1532 Configuration File Enable Bitstream Compression _________IГ Enable Debugging of Bitstream ____________IГ________ Enable Cyclic Redundancy Checking (CRQ OK I Cancel | OeiaJt | Help | Рис. 14.2. Диалоговая панель параметров процесса генерации конфигурационной последовательности (страница General Options) Страница General Options содержит основные параметры процесса генерации конфигурационной последовательности. Значение параметра Run Design Rules Checker (DRC) разрешает или запрещает запуск средств контроля базы данных проекта перед формированием файла конфи- гурационной последовательности. По умолчанию установлено значение "включено", разрешающее выполнение проверки результирующего файла NCD, созданного на этапе реализации. Дополнительный контроль, осуществляемый перед генерацией файла конфигурации, позволяет избежать возможных проблем в процессе функцио- нирования проектируемого устройства. Информация о результатах проверки поме- щается в общий отчет о выполнении этапа (файл .bgn) и отдельный отчет, форми- руемый средствами контроля (файл .die). Параметр Create Bit File используется для управления процессом создания дво- ичного файла последовательного битового потока (bitstream). Этот файл (.bit) далее может использоваться непосредственно для загрузки в кристалл или в качестве ис- ходного для формирования файла "прошивки" ПЗУ, предназначенного для хранения информации о конфигурации проекта. Значение "включено", установленное по умолчанию для данного параметра, разрешает создание двоичного файла конфигу- рационной последовательности. Значение параметра Create Binary Configuration File разрешает или запрещает формирование двоичного файла, содержащего конфигурационные данные. Этот файл, имеющий расширение bin, отличается от файла последовательного битового потока (.bit) отсутствием заголовка. Значение "выключено", используемое по умол- чанию, запрещает создание двоичного файла конфигурационных данных (.bin). С помощью параметра Create ASCII Configuration File предоставляется возмож- ность создания файла конфигурации проекта в формате RBT (rawbit). Этот файл имеет текстовый формат (ASCII), в котором конфигурационная последовательность
282 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС представлена с помощью символов "О" и "1". По умолчанию используется значение "выключено", при котором файл RBT не создается. Параметр Create IEEE 1532 Configuration File управляет процессом генерации файла (.isc), содержащего конфигурационные данные в формате, предусмотренном стандартом IEEE Standard 1532. По умолчанию установлено значение "выключено", запрещающее создание файла конфигурационных данных в формате IEEE 1532. Параметр Enable BitStream Compression позволяет включить режим сжатия в процес- се генерации конфигурационного битового потока. Следует обратить внимание на то, что активизация этого режима не гарантирует сокращения размера конфигурационной по- следовательности. Значение "выключено”, установленное по умолчанию для данного параметра, запрещает компрессию конфигурационных данных. Значение параметра Enable Debugging of BitStream разрешает или запрещает по- следующую отладку создаваемой конфигурационной последовательности. Включе- ние отладочной информации приводит к увеличению размера файла конфигурации. Этот параметр следует применять только при использовании ведущего (master serial) или подчиненного последовательного (slave serial) режима конфигурации ПЛИС. По умолчанию используется значение "выключено", запрещающее включение отладоч- ных кодов в состав конфигурационных данных. Параметр Enable Cyclic Redundancy Checking (CRC) позволяет реализовать кон- троль конфигурационного битового потока при помощи циклического избыточного кода, выполняемый в процессе конфигурирования кристалла. По умолчанию ис- пользуется значение "включено”, разрешающее циклический контроль. При этом для каждого фрейма конфигурационных данных вычисляется и помещается в конце четырехбитовое уникальное значение. Этот параметр применяется только для кри- сталлов семейства Virtex-II. Страница Configuration Options объединяет параметры, используемые в процессе конфигурирования кристалла (рис. 14.3). Значение параметра Configuration Rate определяет тактовую частоту процесса загрузки конфигурационной последовательности в кристалл FPGA. семейств Virtex, Virtex-E, Virtex-II, Virtex-II PRO, Spartan-II, Spartan-IIE. ПЛИС этих семейств ис- пользуют внутренний генератор для формирования сигнала синхронизации CCLK, который используется в качестве тактового при ведущем режиме процесса конфигу- рирования. Возможные значения частоты этого сигнала представлены в виде выпа- дающего списка, который выводится при нажатии кнопки, расположенной в правой части поля выбора значения этого параметра. Этот список включает следующие зна- чения: 4, 5, 7, 8, 9, 10, 13, 15, 20, 26, 30, 34, 41, 45, 51, 55, 60 МГц. По умолчанию частота тактового сигнала выбирается равной 4 МГц. При выборе значения частоты, отличного от установленного по умолчанию, следует убедиться, что используемые ПЗУ и кристаллы FPGA допускают данную частоту синхронизации. С помощью параметра Configuration CLK (Configuration Pins) осуществляется управление подключением внутреннего подтягивающего резистора к выводу CCLK. Выпадающий список содержит два возможных значения: Pull Up и Float. Значение Pull Up, установленное по умолчанию, предписывает подключение внутреннего вы- сокоомного резистора к выводу CCLK.. При выборе значения Float внутренний рези- стор, сопряженный с выводом CCLK, нс активизируется.
14. Конфигурирование ПЛИС семейств FPGA 283 Process Properties Startup options | Readback options | Encryption options General Options Configuration options ___________________Property Hame Configuration Rate____________ Configuration Clk (Contiguratton pins) Configuration Pin MO .______________ Configuration Pin Ml________________ Configuration Pin М2_______________ Configuration Pin Prog am 1Pul Up ]PulUp Pul Up Pul Up Pul Up [PulLIp ~ Pul Up IPulUp Pul Up Float PullJP Pul Down * OxFFFFFFFF Configuration Pin Done__________ • ___________ Configuration Pin Powerdown JTAG Pin TCK____________.________,____________ JTAG Pin TD1________________ _ _______________ JTAG Pin TDO _________ JTAG Pin IMS__________________________________ Unused ЮВ Pins ______ ___________ UserD Cede (8 Digit Hexadecfrnal)_____________ Reset DCM if SHUTDCVW & AGHGH performed Disable Bandgap Generator for DCMs to save power OK I Cancel | Pe'ciZt | .Help Рис. 14.3. Страница Configuration Options диалоговой панели параметров процесса генерации конфигурационной последовательности Параметры Configuration Pin МО, Configuration Pin MJ, Configuration Pin М2 по- зволяют подключить внутренние высокоомные резисторы к соответствующим вы- водам ПЛИС МО, Ml, М2, которые используются для выбора режима конфигуриро- вания кристалла. Внутренние резисторы определяют режим конфигурирования, ус- танавливаемый по умолчанию, тогда отсутствуют внешние подключения к указан- ным контактам кристалла. В выпадающем списке возможных значений представле- ны три элемента: Pull Up, Pull Down, Float. По умолчанию установлено значение Pull Up, при котором к соответствующему выводу ПЛИС подключается внутренний резистор, соединенный с шиной питания. При выборе значения Pull Down произво- дится подключение внутреннего резистора, соединенного с общей шиной. Значение Float запрещает подключение внутренних резисторов к соответствующему контакту, предназначенному для выбора режима конфигурирования ПЛИС. Параметр Configuration Pin Program управляет подключением внутреннего под- тягивающего резистора к выводу Program. Возможные значения этой опции, в том числе и установленное по умолчанию, те же, что и для параметра Configuration CLK (Configuration Pins). Значение параметра Configuration Pin Done определяет вид резистора, соединен- ного с шиной питания, который необходим на выходе Done, формирующем сигнал завершения процесса конфигурирования. В выпадающем списке представлены два возможных значения этого параметра: Pull Up, Float. Значение Pull Up, установлен- ное по умолчанию, следует использовать в том случае, если не планируется подклю-
284 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС чение внешнего резистора к выводу Done. При этом аналогичную функцию выпол- няет соответствующий внутренний резистор, соединенный с шиной питания. При выборе значения Float, запрещающем подключение внутреннего резистора, соеди- ненного с шиной питания, необходимо предусмотреть установку аналогичного внешнего резистора, присоединяемого к выводу Done. Параметр Configuration Pin PowerDown используется для управления подклю- чением внутреннего резистора, соединенного с шиной питания, к выводу PWRDWN_B. В выпадающем списке представлены два возможных значения: Pull Up и Float. По умолчанию установлено значение Pull Up, предписывающее подклю- чение внутреннего высокоомного резистора к выводу CCLK. При выборе значения Float внутренний резистор, сопряженный с выводом CCLK, не активизируется. С помощью параметров JTAG Pin ТСК, JTAG Pin TDI, JTAG Pin TDO, JTAG Pin TMS выбирается тип внутреннего резистора, подключаемого к соответствующим JTAG-выводам ПЛИС. Выпадающий список содержит три возможных значения это- го параметра: Pull Up, Pull Down, Float. По умолчанию для всех перечисленных па- раметров, кроме JTAG Pin TDO, установлено значение Pull Up, при котором к соот- ветствующему выводу ПЛИС подключается внутренний резистор, соединенный с шиной питания. При выборе значения Pull Down производится подключение внут- реннего резистора, соединенного с общей шиной. Значение Float запрещает под- ключение внутренних резисторов к соответствующему контакту, предназначенному для выбора режима конфигурирования ПЛИС. Значение параметра Unused lOBPin определяет тип внутреннего резистора, под- ключаемого к пользовательским выводам ПЛИС, которые не задействованы в проек- тируемом устройстве. В выпадающем списке возможных значений представлены те же элементы, что и для параметров JTAG Pin ТСК, JTAG Pin TDI, JTAG Pin TDO, JTAG Pin TMS. При использовании значения Pull Down, принятого по умолчанию, производится подключение внутреннего резистора, соединенного с общей шиной, ко всем не задействованным пользовательским выводам кристалла. Параметр UserID Code (8 Digit Hexadecimal) предназначен для ввода пользова- тельского идентификационного кода USERCODE, который заносится в одноимен- ный регистр ПЛИС и может быть впоследствии считан после конфигурирования кристалла. С помощью пользовательского идентификационного кода разработчик может определить, какой проект (или версия проекта) загружен в каждый кристалл FPGA. Этот код задастся в виде последовательности из восьми шестнадцатеричных символов. По умолчанию в качестве пользовательского идентификационного номера используется OxFFFFFFFF. Значение параметра Besets DCM If SHUTDOWN & AGHIGH performed разрешает или запрещает сброс блоков управления сигналами синхронизации DCM (Digital Clock Manager) при загрузке команд SHUTDOWN и AGH1GH. По умолчанию ис- пользуется запрещающее значение ("выключено") этого параметра. На странице Startup Options расположены параметры управления фазой активи- зации логики после конфигурирования кристалла (рис. 14.4).
14 Конфигурирование ПЛИС семейств FPGA 285 Process Properties Х1 Genetai Options | Configuration options Startup options | Readback options | Encryption options Property Нате I Vaue FPGA Start-Up Clock ________________ Enable Internal Done Pipe . ._______ Done (Output Events) Enable Outputs (Output Events) ; Release Write Enable (Output Events) Retease DLL (Output Evenisj_________ , Match Cycle Default (4) Default (5) ' Default (6) .Default (NoWait) [Default (NoWait) | OK | Cancel | Delairt | Help | Рис. 14.4. Страница Startup Options диалоговой панели параметров процесса генерации конфигурационной последовательности Значение параметра Start-Up Clock определяет источник сигнала синхронизации, используемого в процессе конфигурирования. Выпадающий список содержит три возможных значения: CCLK, User Clock, JTAG Clock. Значение CCLK, установлен- ное по умолчанию, назначает в качестве сигнала синхронизации процесса активиза- ции логики тактовый сигнал CCLK, вырабатываемый внутри кристалла. При выборе значения User Clock тактовым является сигнал, определяемый разработчиком, кото- рый подключается к выводу CLK символа STARTUP. Значение JTAG Clock следует выбирать при загрузке конфигурационной последовательности в режиме перифе- рийного сканирования через JTAG-порт. Параметр Enable Internal Done Pipe используется при конфигурировании кри- сталла в составе последовательной цепочки ПЛИС. При выборе значения "включе- но", кристалл переводится в состояние Done после перехода сигнала на выводе CPG_Done (DONE) в состояние логической единицы по первому фронту тактового сигнала. По умолчанию для данного параметра установлено значение "выключено". С помощью параметра Done (Output Events) указывается количество тактов сиг- нала синхронизации в процессе активизации логики, на которое задерживается формирование сигнала высокого логического уровня на выводе Done. Возможные значения этого параметра представлены в виде выпадающего списка, который вклю- чает следующие элементы: 1, 2, 3, 4, 5, 6 По умолчанию используется значение 4, т. с. сигнал на выводе Done переводится в активное состояние с задержкой на 4 пе- риода частоты синхронизации. Значение параметра Enable Outputs (Output Events) определяет задержку форми- рования разрешающего значения глобального сигнала управления "третьим" состоя- нием GTS, которая выражается в количестве тактов синхросигнала. Этот сигнал пе- реключает выводы кристалла из высокоимпедансного ("третьего") состояния
286 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС в штатный режим работы. В выпадающем списке возможных значений представле- ны следующие позиции: 1, 2, 3, 4, 5, 6, Done, Keep. При выборе значения Done сиг- нал управления третьим состоянием переводится в разрешающее состояние после переключения сигнала Doneln в состояние высокого логического уровня. По умол- чанию используется значение 5, соответствующее задержке на такт по отношению к моменту перехода сигнала Done в состояние высокого логического уровня. Параметр Release Write Enable (Output Events) позволяет определить задержку активизации глобального сигнала разрешения записи GWE в регистры и элементы ОЗУ (распределенные и блочные) по отношению к моменту переключения сигнала Done в состояние высокого логического уровня. Выпадающий список содержит сле- дующие возможные значения этого параметра: I, 2, 3, 4, 5, 6, Done, Keep. При выбо- ре значения Done сигнал разрешения записи переводится в активное состояние по- сле того, как сигнал Doneln переключается в состояние высокого логического уров- ня. Значение Keep используется для сохранения текущего состояния сигнала GWE. Значение 6, принятое по умолчанию, соответствует задержке активизации GWE на два периода тактовой частоты по отношению к моменту переключения сигнала Done в состояние высокого логического уровня. С помощью параметра Release DLL (Output Events) задается номер такта в про- цессе активизации логики, на котором включается пауза до момента, когда осущест- вляется нормальный захват следящей системы схемы автоподстройки задержки DLL. В выпадающем списке представлены следующие возможные значения этого параметра: 0, 1, 2, 3, 4, 5, 6, NoWait. Численное значение указывает номер такта сиг- нала синхронизации, на котором включается пауза ожидания захвата DLL. По умол- чанию применяется значение NoWait, соответствующее режиму, при котором пауза ожидания нормального захвата следящей системы DLL не используется. Параметр Match Cylce позволяет указать момент приостановки цикла активиза- ции логики до захвата схемой цифрового управления импедансом DCI (Digitally Controlled Impedance) контролируемых сигналов (цепей), указанных в файлах огра- ничений или модулях исходного описания проектов. Эта опция относится только к ПЛИС семейств Virtex-II и Virtex-II PRO. Выпадающий список содержит восемь возможных значений этого параметра: 0, /, 2, 3, 4, 5, 6, NoWait. Числовое значение указывает номер такта сигнала синхронизации, на котором включается пауза ожида- ния захвата DCI. Значение NoWait, используемое по умолчанию, соответствует ре- жиму, при котором отсутствует пауза ожидания захвата схемы цифрового управле- ния импедансом DCI. Страница Readback Options представляет параметры, используемые в процессе обратного считывания конфигурационных данных из кристалла (рис. 14.5). Параметр Security предназначен для установки защиты конфигурационных дан- ных, загруженных в кристалл FPGA. В выпадающем списке представлены три воз- можных значения этого параметра: Enable Readback and Reconfiguration, Disable Readback, Disable Readback and Reconfiguration. Значение Enable Readback and Reconfiguration, принятое по умолчанию, разрешает обратное считывание загружен- ной конфигурационной последовательности и реконфигурирование кристалла. Вы- бор значения Disable Readback запрещает чтение конфигурационных данных из кристалла FPGA. Значение Disable Readback and Reconfiguration устанавливает за-
14. Конфигурирование ПЛИС семейств FPGA 287 щиту от считывания конфигурационной последовательности и реконфигурирования кристалла. Process Properties > 2$1 General Options | Configuration options options Readback options | Encryption options Property Name_______________I________Value fcnabie Readback and Rp| j Create ReadBack Data Rtes________________________Jp" ; Allow SelectMAP Pins to Persist__________________Wa i Create Logic Allocation Fite_____________________j№A ;Create Mask He.......................... ......... | OK | Cancel | Oeferjlt' | Help | Рис. 14.5. Страница Readback Options диалоговой панели параметров процесса генерации конфигурационной последовательности Параметр Create Readback Data Files используется для управления созданием файлов данных, полученных в ходе обратного считывания конфигурационной по- следовательности. По умолчанию для этого параметра используется значение "вы- ключено", при котором файлы обратного считывания не создаются. При выборе зна- чения "включено" становятся доступными следующие три параметра управления процессом обратного считывания. С помощью параметра Allow SelectMAP Pins to Persist блокируется применение контактов, используемых для конфигурирования в режиме SelectMAP, в качестве пользовательских. Эти контакты применяются в процессе обратного считывания и частичного реконфигурирования кристалла. По умолчанию установлено значение "выключено", разрешающее использование указанных контактов в качестве пользо- вательских. Параметр Create Logic Allocation File управляет созданием файла размещения логики. Этот текстовый файл в формате ASCII, имеющий расширение .11, позволяет идентифицировать в конфигурационном битовом потоке соответствующие ресурсы кристалла (триггеры, защелки, входы и выходы), используемые в проекте. По умол- чанию для данного параметра установлено значение "выключено", запрещающее создание файла размещения логики. Значение параметра Create Mask File разрешает или запрещает создание файла маскирования. Этот файл, имеющий расширение .msk, используется в процессе об- ратного считывания конфигурационной последовательности для сопоставления по- зиций соответствующих бит данных в конфигурационном битовом потоке. Значение "выключено", установленное по умолчанию, запрещает создание файла маски. На странице Encryption options представлены параметры, предназначенные для управления процессом шифрования и дешифрования создаваемой конфигурацией-
288 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС ной последовательности (рис. 14.6). Эти параметры относятся только к ПЛИС се- мейств Virtex-II, Virtex-II PRO и используются для защиты от копирования конфигу- рационных данных, загруженных в кристалл. Операции шифрования и дешифрова- ния выполняются в соответствии со стандартами Data Encryption Standard (DES) и Triple DES. Process Properties - xi General Options | Configuration options | Startup options | Readback options Encryption options Property Name Value Encrypt Bistream_____________________.____________ Key 0 (Hex String) ___________________________________;______________________ । Key1 (Hex String)________________. ....._________________________________________ [key 2 (Hex String)_______’_____•' ~ ~~ j " ' [Key 3 (Hex String)_____________ [ |- [Key 4 (Hex String)_______________________________J ______________________________ Key 5 (Hex String)____________________________________’__________________________ input Encryption Key FBe________________________________________________________] Location of Key 0 in Sequence ..., None__________________________________________ Location of Key 1 in Sequence jNone______________________ Location of Key 2 in Sequence ___ ‘'""qNone (Location ol Key 3 in Sequence _______________________2^°°*_____________________ [Location of Key 4 in Sequence_______' _______ None______________________________j Location of Key 5 in Sequence ________________-None______________________________I Sterling Key ' !ыопе Siting СТС Value (Hex) * OK | Cancel | | Help Рис. 14.6. Страница Encryption options диалоговой панели параметров процесса генерации конфигурационной последовательности Параметр Encrypt Bitstream разрешает или запрещает шифрование конфигураци- онного битового потока. Значение "выключено", используемое по умолчанию, за- прещает шифрование конфигурационных данных. Значения параметров Key 0 (Hex String) - Key 5 (Hex String) определяют содер- жимое ключей, используемых в процессах шифрования и дешифрования конфигу- рационного битового потока. Каждый ключ представляет собой последовательность, состоящую из 56 бит данных, задаваемую обычно в шестнадцатеричном формате, например Key 0: 0x525ac973ff048b. Кроме того, значение ключа может быть задано в виде текстовой строки (пароля), которая преобразуется впоследствии программой генерации конфигурационной последовательности в некоторую 56-битную строку. По умолчанию значения ключей не определены (поле редактирования пусто). При этом средства формирования конфигурационного битового потока автоматически выбирают эти значения на основании внутренних атгоритмов. С помощью параметра Input Encryption Key File можно указать каталог на диске, в котором будут храниться файлы, определяющие ключи шифрования и дешифрова- ния. Название каталога, включая полный путь доступа к нему, можно ввести с по-
14. Конфигурирование ПЛИС семейств 1'PGA 289 мощью клавиатуры непосредственно в поле редактирования значения этого пара- метра, которое активизируется щелчком левой кнопки мыши при расположении се курсора в этом пале. Кроме того, выбрать требуемый каталог можно, используя стандартную панель открытия файла, которая выводится при нажатии кнопки с пик- тограммой в виде многоточия, появляющейся в правой части поля редактирования после его активизации. Параметры Location of Key 0 in Sequence - Location of Key 5 in Sequence позволя- ют установить последовательность использования ключей в случае применения стандарта шифрования Triple DES. В отличие от методов DES алгоритмы Triple DES требуют последовательного применения трех ключей для шифрования и дешифро- вания. Значение параметра Location of Key N in Sequence указывает позицию соот- ветствующего N-го ключа в такой последовательности. Выпадающий список содер- жит следующие возможные значения этих параметров: Single Key (S) - одиночный ключ. First (F) - первый, Middle (М) - второй (средний), Last (L) - последний, None - неопределенный. По умолчанию для данных параметров установлено неоп- ределенное значение None. Значение параметра Starting Key указывает номер ключа, с которого начинается процесс дешифрования конфигурационной последовательности. В выпадающем списке представлены следующие возможные значения этого параметра: None, 0 и 3. По умолчанию номер стартового ключа нс задан (используется значение None). Параметр Starting СВС Value (Hex) предоставляет возможность определения на- чального блока шифрования СВС (Cipher Block Chaining). Ввод значения этого па- раметра осуществляется с помощью клавиатуры после активизации соответствую- щего поля редактирования. Установив требуемые значения параметров процесса генерации конфигурацион- ной последовательности, следует подтвердить их нажатием клавиши ОК в нижней части диалоговой панели (рис. 14.2-14.6). После этого для активизации процесса формирования файла конфигурирования необходимо дважды щелкнуть левой кноп- кой мыши на строке Generate Programming File, расположенной в окне процедур Навигатора проекта (рис. 14.1). Информация о ходе его выполнения отображается в окне консольных сообщений и строке состояния. После успешного завершения этого процесса, отмеченного соответствующей пиктограммой в строке Generate Programming File, создается файл конфигурационного битового потока (имеющий расширение .bit), который можно непосредственно использовать для загрузки в кри- сталл, используя программу iMPACT. Для просмотра отчета о выполнении процеду- ры формирования конфигурационной последовательности следует дважды щелк- нуть левой кнопкой мыши на строке Programming File Generation Report (рис. 14.1). Этот отчет содержит информацию обо всех значениях параметров, при которых форми- ровался файл конфигурации, а также об ошибках и предупреждениях. Отчет о формировании конфигурационной последовательности для проекта счетчика Джонсона Release 5.1i - Bitgen F.23 Copyright (с) 1995-2002 Xilinx, Inc. All rights reserved. Loading device database for application Bitgen from file Bjc2.ncd'. "jc2" is an NCD, version 2.37, device xc2v40, package fg256, speed -6 Loading device for application Bitgen from file ’2v40.nph‘ in environment C:/Xilinx. 10 Зотов В.Ю.
290 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС The STEPPING level for this design is 1. Opened constraints file jc2.pcf. Tue Feb 18 23:09:59 2003 Ci /Xilinx/bin/nt/bitgen.exe -g DebugBitstream:No -w -g Binary: no -g CRC:Enable -g ConfigRate:4 -g CclkPin-.PullUp -g M0Pin:PullUp -g MIPiniPullUp -g M2Pin:PullUp -g ProgPin:Pullup -g DonePin:PullUp -g DriveDone:No -g PowerdownPin:PullUp -g TckPin;PullUp -g TdiPin;PullUp -g TdoPin:PullNone -g TmsPimPullUp -g UnusedPin;PullDown -g UserID:OxFFFFOOOO -g DCMShutDown:Disable -g DisableBandgap:No -g StartupClk:JtagClk -g DONE_cycle;4 -g GTS_cycle:5 -g GWE_cycle:6 -g LCK_cycle:NoWait -g Match_cycle:NoWait -g Security;Level2 -g DonePipe:No -g Encrypt;No jc2.ncd Summary of Bitgen Options: 1 Option Name | Current Setting | 1 Compress | (Not Specified)* | I Readback | (Not Specified)* | i CRC | Enable* * | i DebugВitstream | No** | i ConfigRate | 4** | i StartupClk | JtagClk ] i DCMShutdown | Disable** | i Di sableBandgap | No** j j CclkPin | Pullup** I i DonePin j Pullup** I i HswapenPin | Pullup* I i MOPin | Pullup** 1 i Ml Pin | Pullup** 1 i M2Pin | Pullup** 1 i PowerdownPin | Pullup** I i ProgPin | Pullup** I i TckPin | Pullup** I j TdiPin | Pullup** 1 i TdcPin | Pullncne | i TmsPin | Pullup** 1 i UnusedPin [ Pulldown** ( i GWE_cycle i 6** । i GTS_cycle | 5** J
291 14. Конфигурирование ПЛИС семейств ЕРСА | LCK_cycle | NoWait** 1 | Match_cycle | NoWa i c i | DONE_cyc1е | 4** i | Persist | No’ i | DriveDone | No” i | DonePipe | No” i | Security | Level2 i | UserID | OxFFFFOOOO i | ActivateGclk | No* i | ActiveReconfig | No* i | PartialMaskO | (Not Specified)* i | PartialMaskl | (Not Specified)* i | PartialMask2 | (Not Specified)* i | PartialGclk j (Not Specified)* i | PartialLeft | (Not Specified)* i | PartialRight | (Not Specified)* i | Encrypt | No” i | KeyO | pick* i i Keyl | pick’ i i Key2 | pick* i i кеуЗ | pick* i | Key4 | pick* i 1 Key5 | pick* i | KeyseqO | M* i | Keyseql | M* i | Keyseq2 | M* i I Keyseq3 1 M* i ] Keyseq4 | M* i I Keyseq5 | M* i | KeyFile 1 (Not Specified)* i | StartKey + 1 0* i 10’
292 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС | StartCBC 1 pick* | j IEEE1532 | No* | | Binary j NO** j * Default setting. * * The specified setting matches the default setting. Running DRC. DRC detected 0 errors and 0 warnings. Creating bit map... Saving bit stream in "jc2.bit". Bitstream generation is complete. 14.2. Конфигурирование ПЛИС семейств FPGA фирмы Xilinx с помощью программы IMPACT в режиме периферийного сканирования Дня загрузки конфигурационной последовательности из файла (.bit) в кристалл FPGA с помощью программы iMPACT можно использовать любой из следующих кабелей: • JTAG-кабель, подключаемый к параллельному порту (LPT) персонального компьютера (Parallel Download Cable); • универсальный кабель MultiLinx, подключаемый к последовательному порту (СОМ) персонального компьютера (MultiLinx Download Cable RS-232); • универсальный кабель MultiLinx, подключаемый к последовательной шине (Universal Serial Bus, USB) персонального компьютера (MultiLinx Download Cable USB). Наиболее доступным для разработчиков является JTAG-кабель, подключаемый к па- раллельному порту (LPT) персонального компьютера (Parallel Download Cable). Его можно изготовить самостоятельно, воспользовавшись принципиальной схемой, которую можно найти в документации, приведенной в [8], или на Web-страницах, указанных в гл. 2. Поэтому далее рассматриваются варианты конфигурирования ПЛИС с применением JTAG-кабеля. Загрузка конфитурационного битового потока может производиться через JTAG-порт кристалла в режиме периферийного сканирования Boundary-Scan (JTAG) или через специальные контакты ПЛИС, предназначенные для конфигурирования, в подчи- ненном последовательном режиме Slave Serial. При использовании режима периферийного сканирования перед формированием конфигурационной последовательности необходимо установить для параметра Start-Up Clock значение JTAG Clock. После генерации файла конфигурации следует подключить сигнальные выводы загрузочного кабеля Test Data In (TDI), Test Mode Select (TMS), Test Clock (ТСК) и Test Data Out (TDO) к одноименным контактам кристалла, а выводы GND и VCC к общей шине и цепи питания. После этого следу- ет подать напряжение питания на разработанное устройство. Такая последователь- ность обеспечивает возможность автоматического обнаружения и инициализации загрузочного кабеля и цепочки периферийного сканирования кристаллов ПЛИС при активизации программы IMPACT. Если загрузочный кабель подключается после за- пуска модуля программирования, то в этом случае необходимо выполнить "вруч- ную" операции установки типа и параметров используемого кабеля и инициализа- ции цепочки периферийного сканирования кристаллов.
14. Конфигурирование ПЛИС семейств FPGA 293 Перед активизацией программы IMPACT непосредственно в среде управляющей оболочки пакета WebPACK 1SE - Навигатора проекта рекомендуется предвари- тельно проконтролировать и при необходимости установить требуемые значения параметров инициализации. Для этого нужно в окне процессов (рис. 14.1) щелчком левой кнопки мыши выделить строку Configure Device (iMPACT), после чего нажать кнопку 1^Ш, расположенную на оперативной панели Навигатора проекта, или вос- пользоваться командой Properties контекстно-зависимого всплывающего меню, ко- торое выводится при щелчке правой кнопки мыши. В результате выполненных дей- ствий на экране монитора отображается диалоговая панель параметров инициализа- ции программы IMPACT, вид которой показан на рис. 14.7. Process Properties " х| IMPACT Programming Тool Properties | Value I _______' "_______Property Heme Port to be used Baudrate Confisureficn Mode____________________________________'Boundary Scan__________ Contigurefco Filename C IProjectycount^c2.bit OK | Cancel | DelarA | Help Рис. 14.7. Диалоговая панель параметров инициализации программы IMPACT Параметр Port to be used позволяет разработчику выбрать порт ПК, который ис- пользуется для подключения загрузочного кабеля. Выпадающий список содержит следующие значения: Auto, LPT1, LPT2, LPT3, СОМ1, COM2, COM3, LJSBO, USB1, USB2. Разработчик может явно указать порт, к которому подключен соответствую- щий загрузочный кабель. Значение Auto позволяет программе iMPACT автоматиче- ски определить порт ПК, к которому присоединен загрузочный кабель. Значение параметра Baud rate определяет скорость передачи данных между ПК и вы- бранным загрузочным кабелем. Выпадающий список возможных значений этого пара- метра содержит пять элементов: Auto, 9600, 19200, 38400, 57600. При использовании значения Auto осуществляется автоматический выбор скорости передачи данных, соот- ветствующей применяемому типу загрузочного кабеля и порта ПК Параметр Configuration Mode задаст режим конфигурирования ПЛИС, который будет установлен при запуске программы iMPACT. Содержание выпадающего спи- ска возможных значений этого параметра зависит от семейства ПЛИС, выбранного для реализации проектируемого устройства. Для загрузки конфигурационного бито- вого потока в режиме периферийного сканирования параметр инициализации Configuration Mode должен принимать значение Boundary Scan. По умолчанию для этих трех перечисленных параметров установлено неопределенное значение None.
294 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС С помощью параметра Configuration Filename определяется название файла про- граммирования, который будет использован в процессе конфигурирования. Назва- ние файла может быть введено непосредственно с клавиатуры после активизации поля редактирования значения этого параметра или выбрано при использовании стандартной диалоговой панели открытия файла, которая открывается при нажатии кнопки с пиктограммой в виде многоточия По умолчанию значение этого пара- метра не определено. При этом используется файл программирования, название которого совпадает с именем модуля исходного описания проекта, соответствующего верхнему уровню иерархии. Все выполненные изменения параметров инициализации программы iMPACT подтверждаются нажатием клавиши ОК в нижней части диалоговой панели (см. рис. 14.7). Далее следует активизировать модуль программирования двойным щелч- ком левой кнопки мыши на строке Configure Device (iMPACT) в окне процедур На- вигатора проекта (см. рис. 14.1). Если в диалоговой панели инициализации (рис. 14.7) были оставлены значения, установленные по умолчанию, то после акти- визации модуля программирования автоматически запускается "мастер", который позволяет определить эти параметры в интерактивном режиме. Работа "мастера" начинается с вывода на экран диалоговой панели Operation Mode Selection, в кото- рой необходимо выбрать режим работы программы iMPACT (рис. 14.8). Operation Mode Selection ; -s «• X| What do you wart to do first? Darfig e Devices C Prepare Configuration Fites C Load Configuration Fite (.cdf. .pdr) < Back I Hext > I Cancel Help Рис. 14.8. Диалоговая панель выбора режима работы программы iMPACT Для программирования кристаллов в этой диалоговой панели следует установить режим Configure Devices, поместив курсор на соответствующую строку и щелкнув левой кнопкой мыши. После выбора режима работы программы IMPACT нужно пе- рейти к следующему шагу, нажав клавишу Далее (Next), которая находится в нижней части диалоговой панели (рис. 14.8). В открывшейся диалоговой панели выбора ре- жима конфигурирования ПЛИС Configure Devices следует выбрать строку Boundary- Scan Mode (рис. 14.9).
14. Конфигурирование ПЛИС семейств FPGA 295 Configure Devices I want to configure device via: Slave Serial Mode C SelectMAP Mode C~ Desktop Configuration Mode {Back I Next? | Cancel I Help Рис. 14.9. Диалоговая панель выбора режима конфигурирования ПЛИС После установки режима конфигурирования ПЛИС нужно нажать клавишу Да- лее (Next), чтобы перейти к заключительной диалоговой панели "мастера", вид кото- рой показан на рис. 14.10. Boundary-Scan Mode Selection t* Automatically conned to ыЫе arid identify Boundary-Scan chain I C Enter a Boundary-Scan Chan < Back | Finish | Cancel | Help Рис. 14.10. Диалоговая панель выбора способа определения цепочки периферийного сканирования Рекомендуется установить режим автоматического обнаружения подключенного загрузочного кабеля и цепочки периферийного сканирования. Для этого в диалого- вой панели Boundary-Scan Mode Selection следует выбрать строку Automatically connect to cable and identify Boundary-Scan Chain. Работа "мастера" завершается на- жатием кнопки Готово (Finish) в нижней части диалоговой панели Boundary-Scan Mode Selection. При выборе "ручного" способа определения цепочки периферийного сканирования после завершения работы "мастера" выводится стандартная панель открытия файла, в которой нужно указать название cdf-файла. Информация, описывающая цепочку пери- ферийного сканирования, сохраняется в файле cdf (Chain Description File). Если был установлен режим автоматической идентификации типа подключенно- го кабеля и цепочки периферийного сканирования, то далее программа iMPACT вы- полняет процедуру обнаружения загрузочного кабеля. Хол этого процесса отобража- ется на экране дисплея с помощью всплывающего окна индикации и сопровождает-
296 Зотов В. Ю Проектирование цифровых устройств на основе ПЛИС ся соответствующей информацией в окне регистрации сообщений. Если программе не удается автоматически идентифицировать загрузочный кабель, то после соответ- ствующего предупреждения выводится диалоговая панель ручной установки его параметров, вид которой представлен на рис. 14.11. В этой панели необходимо по- следовательно установить следующие параметры: Communication Mode - вид интерфейса, используемого для коммутации с ПК (тип загрузочного кабеля): Parallel, MultiLinx/USB, MultiLinx/Serial; Port - номер порта, к которому подключен кабель загрузки; Baud Rate — скорость передачи данных (только для MultiLinx/Serial). Тип используемого интерфейса устанавливается щелчком левой кнопки мыши на изображении кнопки с соответствующим названием. Значения параметров Port и Baud Rate выбираются из выпадающих списков, для доступа к которым следует ис- пользовать кнопку, расположенную в правой части поля выбора. Cable Communication Setup :: •aweasw ?1 x| Communication Mode ~......... — ------ <• Parallel CMuhiLINX/Senal | MultiUbIXAJSB Baud Rate: Port: J"57600 3 I® 3 Г ДК ~| gancel | Help | Рис. 14.11. Диалоговая панель выбора типа загрузочного кабеля и установки параметров соответствующего Порта ПК При успешной идентификации присоединенного загрузочного кабеля произво- дится автоматический поиск и инициализация цепочки периферийного сканирова- ния ПЛИС, подключенной к выбранному JTAG-порту. После обнаружения каждого кристалла выводится стандартная панель выбора файла, в которой необходимо ука- зать название соответствующего модуля, содержащего конфигурационные данные для этой ПЛИС. Информация об идентифицированной цепочке периферийного ска- нирования ПЛИС отображается в графической форме в рабочей области основного окна и в текстовом виде в окне регистрации сообщений программы iMPACT (рис. 14.12). Под каждым условным графическим образом (УГО) ПЛИС указывается ее тип и название соответствующего файла, содержащего конфигурационную по- следовательность. Если эта информация отсутствует, или необходимо изменить на- звание файла программирования, то следует выделить требуемый УГО, поместив на него курсор и щелкнув левой кнопкой мыши, после чего воспользоваться командой Assign Configuration File из всплывающего меню Edit или кнопкой , располо- женной на оперативной панели. Можно также использовать команду Assign New Configuration File из всплывающего контекстно-зависимого меню, активизируемого щелчком правой кнопки мыши па соответствующем УГО в рабочей области. В результате выполненных действий на экране отображается стандартное окно от-
14. Конфигурирование ПЛИС семейств FPGA 2.97 крытия файла, с помощью которого производится выбор требуемого файла про- граммирования. О untitled [Configuration Mode] - WPACT Fte Edt Mode Operations Output View Heb ’d в я,7 h'ёТйрs ж':: яяТк « oje >t? Boundary Scan | Slave Serial | SeleclMAP | Desktop Cenflguralien | -_=lQ]x] Right click device to select /1 Uf«Codt:«DOOO S«o>ty: not «end IChKkran. Not Дрр1кЛ1е ТЕЛ xriv40 jcl.bt TDO- Ccnwectnig to cable (Parallel Port-LPTl) ~*~j Checking cable driver. DnverVersion”505. Cable connection established | Л*** BATCH CWIDnetMode-bs «.» Л*** BATCH CMD :setMode-bs . , PROGRESS_START - Starting Operation. Identifying chain contents Identified xc2v40. INFOdMPACT: 1366- Re«iirgCJXiliiixMrtejl2kfaia'tcc2v4)bsd... * INFOjMPACTJOI-T:Added 2v races ulfy: ... H <1 _____________I _ _ ~__________-' - ' __ ±5~ For Help, press Fl ^onfipuratnn Mode feoundary-Scan' poraBel/РСЗ Iptl x Рис. 14.12. Отображение цепочки периферийного сканирования в окне модуля iMPACT пакета WebPACK ISE Загрузка конфигурационной последовательности в выбранный кристалл осуществляется с помощью команды Program меню Operations или контекстно- зависимого всплывающего меню, после активизации которой на экран выводится диалоговая панель параметров процесса загрузки конфигурации ПЛИС (рис. 14.13). При конфигурировании кристаллов семейств FPGA в режиме Boundary-Scan Mode эта панель содержит единственный параметр, доступный для изменения. Значение параметра Verify определяет использование операции контроля конфигура- ционных данных по окончании программирования ПЛИС. Выбор значения "включено" устанавливает режим проверки конфигурационной последовательности после ее загруз- ки в кристалл. По умолчанию установлено значение "выключено", при котором верифи- кация загруженных конфигурационных данных нс выполняется. После установки необходимого значения параметра Verify и нажатия кнопки "ОК" в нижней части диалоговой панели (рис. 14.13) стартует операция загрузки конфигурационных данных в выбранный кристалл. Состояние процесса конфигури- рования ПЛИС отображается с помощью всплывающего окна индикации. Заверше- ние процесса за<рузки конфигурационной последовательности сопровождается со-
298 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС ответствующей информацией в рабочей области и окне регистрации сообщений программы iMPACT. В качестве примера приведен протокол выполнения операций загрузки конфигурационной последовательности для проекта счетчика Джонсона, разработка которого рассмотрена в предыдущих главах. В протоколе отражено вы- полнение веех фаз процесса конфигурирования: установки режима, проверки це- почки периферийного сканирования и программирования кристалла. Program Options 1 Г" Г yerify •QcjcJ f’ctv t Г 5 pVirtex4I -—•—-r* ! Г Secure Mode i l Г“ РгоаммЬсу rf x| Г~ J2.ir7he.-riyPogia!ft PRDM-y----------77^----- Г" Skip aii’ey r Lead FpS'j I Г* Modi- . Г~ £Jse Cn' Г" PR3M/CojRunrte»-'l L.l«<stcx)de (в Неи I XTLa UES; 13 ts. Cancel j :He»P | Рис. 14.13. Диалоговая панель параметров процесса конфигурирования ПЛИС Протокол выполнения процесса загрузки конфигурационной последовательности проекта счетчика Джонсона в кристалл XC2V40 // *** BATCH CMD : Program -p 1 -v Device #1 selected // *** BATCH CMD : setMode -bs PROGRESS_START - Starting Operation. Validating chain... Boundary-scan chain validated successfully. Validating chain... Boundary-scan chain validated successfully. * 11:Programming device... done. INFO:iMPACT:579 - ’Г; Completed downloading bit file to device. INFO:iMPACT:5B0 - *l’:Checking done pin ....done. ’I1: Programmed successfully. PROGRESS_END - End Operation. Elapsed time = 4 sec. В режиме периферийного сканирования для кристаллов FPGA доступны коман- ды Verify, Get Device ID, Get Device Signature/Usercode, расположенные в меню Operations и контекстно-зависимом всплывающем меню. Команда Verify предназначена для проверки достоверности конфигурации вы- бранного кристалла. В процессе контроля выполняется обратное чтение конфигура- ционных данных из запрограммированной ПЛИС и сравнение с содержимым соответст-
299 14. Конфигурирование ПЛИС семейств FPGA вующего файла программирования, который указан для выбранного элемента це- почки периферийного сканирования. Информация о результатах проверки выводит- ся в рабочей области и окне регистрации сообщений. Для чтения сигнатуры запрограммированного кристалла следует использовать команду Get Device Signature/Usercode. Считанная сигнатура в символьном или ше- стнадцатеричном виде отображается в окне регистрации сообщений. Результаты процесса чтения сигнатуры кристалла XC2V40 FG256, реализующего проект счетчика Джонсона Device #1 selected // *** BATCH CMD : setMode -bs Validating chain... Boundary-scan chain validated successfully. '1*: Usercode is 'ffffOOOO* // *** BATCH CMD : ReadUsercode -p 1 Команда Get Device ID позволяет считывать идентификационный код кристалла, установленный производителем. Этот код используется средствами программирова- ния для определения типов ПЛИС, представленных в цепочке периферийного ска- нирования. Полученный результат отображается в окне регистрации сообщений в двоичном и шестнадцатеричном виде. Формат идентификационного кода содержит 32 двоичных разряда. Первые четыре разряда определяют тип корпуса; следующие семь разрядов составляют код семейства кристаллов; предпоследние 11 разрядов представляют собой код фирмы-производителя (для фирмы Xilinx он имеет вид ООО 0100 1001); последний разряд всегда принимает единичное значение. Результаты чтения идентификационного кода ПЛИС XC2V40 FG256 Device #1 selected II *** BATCH CMD : setMode -bs Validating chain... Boundary-scan chain validated successfully. IDCODE is 00010001000000001000000010010011' IDCODE is '11008093' (in hex). II *** BATCH CMD : Readldcode -p 1 Для получения сводной информации о каждом кристалле цепочки периферийно- го сканирования, представленной в рабочей области основного окна программы iMPACT, достаточно поместить указатель мыши на соответствующий УГО ПЛИС. После этого в рабочей области отображается всплывающая панель, в которой со- держатся данные о версии, сигнатуре и установленной защите выбранного кристал- ла (рис. 14.12). Эти данные доступны только после выполнения соответствующих операций в текущем сеансе работы с программой IMPACT. 14.3. Конфигурирование ПЛИС семейств FPGA фирмы Xilinx с помощью программы iMPACT в подчиненном последовательном режиме Для подчиненного последовательного режима перед формированием конфигураци- онной последовательности необходимо установить для параметра Start-Up Clock значение CCLK. После создания конфигурационного битового потока следует под-
300 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС ключить сигнальные выводы загрузочного кабеля TD1, TMS, ТСК и TDO соответст- венно к контактам кристалла DIN, PROG, CCLK, DONE, а выводы GND и VCC к общей шине и цепи питания. Выводы ПЛИС МО, М1, М2, предназначенные для вы- бора режима конфигурирования, должны быть подключены к цепи сигнала высоко- го логического уровня. Комбинация МО =1, М1=1, М2=1 соответствует подчинен- ному последовательному режиму загрузки конфигурационного битового потока. Далее следует подать напряжение питания на разработанное устройство. Перед активизацией программы iMPACT следует установить для параметра ини- циализации Configuration Mode значение Slave Serial, соответствующее рассматри- ваемому режиму. Далее для запуска модуля IMPACT необходимо выполнить после- довательность операций, рассмотренную в предыдущем разделе. Если параметры инициализации не были установлены перед запуском программы IMPACT, то следу- ет определить их с помощью "мастера", работа с которым рассмотрена в предыду- щем разделе. В диалоговой панели выбора режима конфигурирования, показанной на рис. 14.9, следует нажать кнопку Slave Serial. Дальнейшая последовательность действий содержит те же шаги, что и в режиме периферийного сканирования, кото- рый подробно описан в 14.2. После идентификации конфигурируемого кристалла его УГО отображается в ра- бочей области окна программы IMPACT (рис. 14.14). При этом выводится стандарт- ная панель выбора файла, в которой необходимо указать название модуля, содержа- щего соответствующую конфигурационную последовательность для данной ПЛИС. 5 untitled [Configuration Mode] -МРАСТ Fie ДО Hode Ogeretlons Output Mew UdP ]“□ g3'q ХзГй; a j: ।PKi-Ksro]» Boundary Scan Slave Serial | SelectMAP | Desktop Configuration | Fight click device to select operations FST CCLK INIT PROG DIN Connecting to cable (Parallel Port-LPT1). A| Checking cable driver. Driver Version * 502 Cable connection established. #*•* BATCH CMD .$etMode-ss » ’I’: Loading file ^CAProjecfljcounnjcibil’... | done. WARNJNG;iMPACT:1050 - Startup Clock has been changed to ’Cclk.’ in the bitstream stored in memory, but the original bitstream file remains unchanged INFO rMPACT:50l -‘I1: Added Device x:2v40 successfully. j ... .................................. 'Г For Help, press Fl Configurator Mode Slave Serial ParaW/РСЗ Iptl Рис. 14.14. Отображение УГО ПЛИС, конфигурируемой в подчиненном последовательном режиме, в рабочей области окна программы iMPACT
/ 4. Конфигурирование ПЛИС семейств FPGA 301 Для выполнения операции конфигурирования ПЛИС необходимо выделить ее УГО, поместив курсор на его изображение и щелкнув левой кнопкой мыши. Загруз- ка конфигурационной последовательности в выбранный кристалл осуществляется с помощью команды Program меню Operations или контекстно-зависимого всплываю- щего меню, которое выводится при щелчке правой кнопки мыши. 14.4. Генерация файлов программирования ПЗУ/ППЗУ с помощью модуля iMPACT Для преобразования конфигурационной последовательности в файл программи- рования ПЗУ/ППЗУ следует использовать соответствующий режим модуля iMPACT. Эта программа позволяет также формировать файлы "прошивки" ПЗУ/ППЗУ в стандартных промышленных форматах, поддерживаемых различными аппарат- ными программаторами. Для се активизации в этом режиме необходимо дважды щелкнуть левой кнопкой мыши на строке Generate PROM, АСЕ, or JTAG File, распо- ложенной в окне процедур Навигатора проекта (рис. 14.1). После этого автомати- чески запускается "мастер" инициализации программы iMPACT, работа с которым рассмотрена в 14.2. В диалоговой панели выбора режима работы модуля iMPACT, приведенной на рис. 14.8, следует нажать кнопку Prepare Configuration Files, кото- рая соответствует режиму генерации файлов "прошивки". После нажатия клавиши Далее (Next), которая находится в нижней части диалоговой панели (рис. 14.8), от- крывается диалоговая панель выбора типа файла программирования (рис. 14.15). Prepare Configuration Files \ ‘ х| I want to create а: Г System АСЕ Не ₽ gO'M Не С Eounday-Scanfile <£ack I Next> I Cancel | Help Рис. 14.15. Диалоговая панель выбора типа файла программирования Чтобы сформировать файл "прошивки" ПЗУ, следует нажать кнопку PROM file и, воспользовавшись клавишей Далее (Next), перейти к следующей диалоговой панели "мастера", в которой необходимо указать формат и параметры создаваемого файла программирования (рис. 14.16). С помощью кнопок Xilinx Serial PROM и Parallel PROM выбирается вид исполь- зуемого элемента ПЗУ/ППЗУ: последовательный или параллельный. Группа кнопок PROM File Format предназначена для выбора формата создавае- мого файла. В эту группу входят следующие кнопки: MCS, ЕХО, ТЕК и HEX. При
302 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС использовании модуля IMPACT Для программирования ППЗУ следует выбрать фор- мат MCS, нажав одноименную кнопку. prepare PROM Hies I wart to target a: ff Xilinx Serial PROM Г Parallel PROM - PROM File Format---------:—। 6 MCS ТЕК ; ! Г EXO Г HEX P'.Swapbits , Memory fill valve (2 Hex digit): |FF Location |CAProject\icount2 Browse.. <Back | NeKt> | Cancel | Help | Рис. 14.16. Диалоговая панель установки параметров файла программирования Значение параметра Memory Fill Value определяет содержимое ячеек ППЗУ, кото- рые не используются для хранения конфигурационных данных. Это значение указы- вается с помощью клавиатуры после активизации соответствующего поля редакти- рования в виде двух шестнадцатеричных символов. По умолчанию используется комбинация FF. В поле редактирования PROM File Name необходимо указать название создавае- мого файла программирования, используя клавиатуру. С помощью параметра Location определяется месторасположение формируемого файла "прошивки" на диске. Полное название каталога, включающее в себя путь доступа к нему, вводится с клавиатуры или указывается в стандартной панели выбо- ра диска и раздела, которая открывается при нажатии кнопки Browse, расположен- ной справа от поля редактирования Location. Процесс установки параметров файла программирования завершается нажатием кнопки Далее (Next), расположенной в нижней части панели (рис. 14.16). При этом открывается очередная диалоговая панель "мастера", в которой нужно выбрать се- рию и тип используемого ПЗУ (рис. 14.17).
/ 4. Конфигурирование ПЛИС семейств FPGA 303 Выпадающий список поля выбора Select a Serial PROM содержит названия всех серий ПЗУ/ППЗУ, выпускаемых фирмой Xilinx. После выбора семейства ПЗУ/ППЗУ нужно в следующем поле указать конкретный тип используемого элемента. Для это- го следует активизировать выпадающий список этого поля, который содержит все ПЗУ или ППЗУ выбранного семейства. Чтобы использовать выбранный элемент, необходимо нажать кнопку Add, после чего его название отображается в составе цепочки конфигурационных ПЗУ/ППЗУ с указанием номера позиции. При необхо- димости следует повторить операции выбора и включения в состав цепочки сле- дующего элемента. В простейшем случае используется единственный элемент ПЗУ или ППЗУ для хранения конфигурационных данных. Specify Xilinx Serial PROM device « x| r Г Alio select PROM Setect a.SerialPROM: |kc18v _д! (kc18v02 Add [ Position Part Name 0 xc18v02 I I 1 Delete All | <Back |Г>Й> j| Cancel | Help Рис. 14.17. Диалоговая панель Выбора серии и типа используемого ПЗУ/ППЗУ Параметр Auto Select PROM предоставляет возможность автоматического выбора серии и типа используемого ПЗУ/ППЗУ. По умолчанию для него установлено значе- ние "выключено". При переключении этого параметра в состояние "включено" про- грамма iMPACT автоматически определит тип ПЗУ/ППЗУ для хранения конфигу- рационных данных проекта. Процедура выбора типа ПЗУ/ППЗУ завершается нажатием кнопки Далее (Next) (рис. 14.17). После этого на экран выводится информационная панель, в которой отображаются установленные значения всех параметров процесса генерации файла программирования (рис. 14.18).
304 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС File Generation Summary xl - You have entered f о low’ng information- PROM Type: Serial File Format: mcs Fill Value: FF PROM Filename: jc2_prom Number ot PROMs: 1 Position Part Name xcIByO?_______________________ Click "Next’ to add device fife. I 1 — ““ < Back | Next > I Cancel | Help Рис. 14.18. Информационная панель параметров, используемых в процессе генерации файла программирования Для изменения каких-либо значений следует вернуться к предыдущим шагам, нажав кнопку Назад (Back). Если все параметры установлены корректно, то следует нажать кнопку Далее (Next), после чего будет открыта следующая диалоговая панель "мастера", вид которой показан на рис. 14.19. Add Device File x| Data Stream: 0 Starting Address (Max 8 Hex digit): |- Now start adding device hle(s): Add File... < Back ]| ‘ I Cancel I Help Рис. 14.19. Диалоювая панель выбора файла конфигурационного битового потока
14. Конфигурирование ПЛИС семейств FPGA 305 В этой панели следует воспользоваться кнопкой Add File, чтобы указать название файла конфигурационной последовательности (с расширением .bit), который ис- пользуется в качестве исходного при формировании файла "прошивки". При нажа- тии кнопки Add File открывается стандартная диалоговая панель выбора файла, с помощью которой определяется название используемого файла (.bit). Модуль гене- рации файла программирования позволяет разместить несколько конфигурационных последовательностей в одном ПЗУ или ППЗУ. Для этого следует в панели запроса о включении еще одной конфигурационной последовательности в загружаемый поток (Data Stream) нажать кнопку Yes (рис. 14.20) и повторить процедуру выбора файла. Add Device Would you like to add another design File to Data Stream: О ? Yes ЙО Рис. 14.20. Панель запроса о включении еще одной конфигурационной последовательности в загружаемый поток Если размер конфигурационной битовой последовательности превышает емкость выбранного элемента ПЗУ/ППЗУ, выводится соответствующее предупреждение (рис. 14.21). В этом случае рекомендуется повторно запустить "мастер" процесса генерации файла программирования и выбрать соответствующий тип ПЗУ/ППЗУ. Xilinx IMPACT Fie allocation exceeds total PROM density by 9 KB. Please add more PROMS or remove some Design Files. OK Рис. 14.21. Панель предупреждения о несоответствии размера конфигурационной битовой последовательности и емкости выбранного элемента ПЗУ/ППЗУ Процесс формирования загружаемого потока (Data Stream) завершается нажати- ем кнопки No в панели запроса (рис. 14.20). При этом отображается заключительная панель "мастера", вид которой показан на рис. 14.22.
306 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Add Device File Х1 Data Stream: 0 StartingAddress(MaxSHexdigl): p1 Now start adding device file(s): Add File. | i Dick "Finish' to stat generating He. Click. 'СапсеГ to go to user screen. cBack l[ finish? 11 Cancel I Help Рис. 14.22. Итоговая панель "мастера" процесса генерации файла програмьирования В этой панели необходимо нажать кнопку Готово (Finish), которая запускает ав- томатический процесс генерации файла программирования, в начале которого последовательно выводятся два запроса. В первом запросе необходимо подтвердить немедленный запуск этого процесса, нажав кнопку Гея, расположенную в диалого- вом окне запроса. Второй запрос позволяет изменить название формируемого файла. Для отказа от изменения имени файла следует нажать кнопку No, расположенную в диалоговом окне запроса. Информация о ходе выполнения процесса генерации фай- ла программирования появляется в окне регистрации сообщений программы iMPACT. После успешного завершения формирования файла программирования в рабочей области основного окна программы IMPACT выводится соответствующее сообщение и отображается условный графический образ (УГО) ПЗУ/ППЗУ, рядом с которым указывается его название и процент заполнения. Структура формируемого файла "прошивки" также представлена в графической форме в виде условных изо- бражений ПЛИС, конфигурационные данные которых содержатся в файле програм- мирования (рис. 14.23). При расположении курсора мыши на УГО появляется всплывающая панель, в которой представлена информация о соответствующем эле- менте в рабочей области основного окна программы IMPACT.
14. Конфигурирование ПЛИС семейств FPGA 307 5 untitled (File Generation Mode] -₽^АСГ , ,,4 -iD| x| Efe Edt Mode Operations View ЦЫр j'o osia.T » ₽| a;ss :: esia w1s " о I Sr *? System ACE PROM Formatter | SVF-STAPL | jc2.bit but the original bitstream file remains unchanged INFO aMPACT :501 - * Г: Added Device xc2y40 successfully. //*** BATCH CMD: addDevice -position 1 -fifeCAProjecft^m>fljc2.bit GUI — Add one device. lb For Help, press Fl File Generation Mode -Prom Fcrmatter 'Serial Prom Рис. 14.23. Отображение структуры сформированного файла "прошивки" ПЗУ/ППЗУ в рабочей области окна модуля iMPACT Сформированный файл, имеющий расширение mcs, может непосредственно ис- пользоваться для программирования ППЗУ с помощью модуля iMPACT. 14.5. Программирование ППЗУ серии XC18V00 с помощью модуля iMPACT пакета WebPACK ISE Перед активизацией программы IMPACT рекомендуется присоединить загрузоч- ный кабель к соответствующему порту ПК и специальным JTAG-контактам ППЗУ, после чего подать напряжение питания на плату разработанного устройства. Для параметра инициализации программы IMPACT Configuration Mode можно указать значение Boundary Scan, соответствующее режиму периферийного сканирования. В качестве значения параметра Configuration Filename можно задать название сфор- мированного файла "прошивки" ПЗУ/ППЗУ с расширением mcs (рис. 14.7). Далее для запуска модуля IMPACT необходимо выполнить ту же последователь- ность операций, что и при конфигурировании ПЛИС в режиме периферийного ска- нирования, который подробно рассмотрен в 14.2. Если используются значения па- раметров инициализации программы iMPACT, установленные по умолчанию, то после ее активизации автоматически стартует "мастер", позволяющий выбрать тре- буемые значения опций в интерактивном режиме. Для программирования ППЗУ при работе с "мастером" следует выполнить те же действия, что и при конфигурирова- нии ПЛИС в режиме периферийного сканирования. После успешного обнаружения
308 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС ППЗУ в цепочке периферийного сканирования ее УГО отображается в рабочей об- ласти окна программы IMPACT. Сразу после выполнения инициализации ППЗУ предлагается определить название используемого файла "прошивки" с помощью стандартного окна открытия файла. Если в дальнейшем требуется изменить назва- ние файла программирования, то следует выделить требуемый УГО ППЗУ, поместив на него курсор и щелкнув левой кнопкой мыши, после чего воспользоваться коман- дой Assign Configuration File из всплывающего меню Edit или кнопкой -!Ш , распо- ложенной на оперативной панели. Можно также использовать команду Assign New Configuration File из всплывающего контекстно-зависимого меню, активизируемого щелчком правой кнопки мыши на изображении соответствующего УГО в рабочей области. Выполнение всех операций программирования ППЗУ и обратного чтения осуще- ствляется с помощью команд всплывающего меню Operations или контекстно- зависимого всплывающего меню. При использовании меню Operations необходимо предварительно выбрать элемент ППЗУ, поместив на его УГО курсор и щелкнув левой кнопкой мыши. Для активизации контекстно-зависимого всплывающего меню следует расположить указатель на условном изображении соответствующего ППЗУ и щелкнуть правой кнопкой мыши. Программирование выбранного элемента ППЗУ осуществляется с помощью ко- манды Program меню Operations или контекстно-зависимого всплывающего меню, после активизации которой на экран выводится диалоговая панель параметров этого процесса (рис. 14.13). В этой панели помимо параметра Verify, назначение которого рассмотрено в 14.2, для программирования ППЗУ могут использоваться следующие опции. Параметр Erase Before Programming позволяет разработчику установить режим предварительного "стирания" конфигурационных данных, находящихся в ППЗУ перед его программированием. Значение "включено", установленное по умолчанию для этого параметра, указывает на необходимость выполнения операции "стирания" перед загрузкой новой конфигурационной последовательности. Параметр Bead Protect предназначен для установки защиты от несанкциониро- ванного чтения (копирования) загружаемых конфигурационных данных. Програм- мирование ППЗУ с использованием защиты от чтения устанавливает код секретно- сти, который "сбрасывается" только при выполнении операции полного "стирания". По умолчанию этот параметр принимает значение "выключено", запрещающее ис- пользование защиты от чтения. С помощью параметра PROM Usercode (8 HEX Chars) можно указать пользова- тельский идентификационный код USERCODE, который заносится в одноименный регистр ППЗУ и может быть впоследствии считан для определения назначения и версии записанных конфигурационных данных. Этот код задается в виде последова- тельности из восьми шестнадцатеричных символов. При переключении параметра PROM Usercode (8 HEX Chars) в состояние "включено" активизируется соответст- вующее поле редактирования, в котором с помощью клавиатуры задается требуемый код. По умолчанию этот параметр находится в состоянии "выключено". При этом в качестве пользовательского идентификационного номера используется значение OxFFFFFFFF.
14. Конфигурирование ПЛИС семейств FPCA 309 После установки всех необходимых значений параметров следует подтвердить их нажатием кнопки "ОК" в нижней части диалоговой панели (рис. 14.13), что при- водит к запуску операции программирования выбранного элемента ППЗУ. Состоя- ние процесса программирования отображается с помощью всплывающего окна ин- дикации. Завершение процесса программирования сопровождается соответствую- щими уведомлениями в рабочей области и окне регистрации сообщений программы iMPACT. Кроме программирования для элементов ППЗУ могут использоваться команды обратного считывания информации, расположенные в меню Operations и контекст- но-зависимом всплывающем меню. Описание команд Verify, Get Device ID и Get Device Signature/Usercode приведено в 14.2 при рассмотрении конфигурирования кристаллов FPGA в режиме периферийного сканирования. ” Для считывания конфигурационных данных из запрограммированного элемента ППЗУ, выделенного в цепочке периферийного сканирования, которая представлена в рабочей области окна программы iMPACT, предназначена команда Readback. Счи- танная конфигурационная последовательность сохраняется в виде файла на диске в формате MCS, который может использоваться для программирования других ППЗУ Выполнение команды Readback начинается с вывода стандартной диалоговой пане- ли определения названия создаваемого файла. Дальнейший ход процесса отобража- ется с помощью соответствующей всплывающей панели индикации и в окне регист- рации сообщений программы iMPACT. Вычисление контрольной суммы данных, записанных в ППЗУ, осуществляется с помощью команды Get Device Checksum. Полученный результат сравнивается с контрольной суммой файла "прошивки", который указан в рабочей области для выбранного элемента ППЗУ. Чтобы получить информацию о состоянии (запрограммирован или нет) выбран- ного элемента ППЗУ, следует использовать команду Blank Check. Данные о его ста- тусе отображаются в виде всплывающего сообщения в рабочей области основного окна программы iMPACT. Перевод ППЗУ в незапрограммированное состояние осу- ществляется с помощью команды стирания Erase. Jfyw получения сводной информации о каждом элементе ППЗУ в цепочке пери- ферийного сканирования, представленной в рабочей области основного окна про- граммы IMPACT, достаточно поместить указатель мыши на соответствующий УГО. После этого в рабочей области отображается всплывающая панель, в которой со- держатся данные о версии, пользовательском коде, установленной защите и кон- трольной сумме для выбранного элемента ППЗУ. Эти данные доступны только по- сле выполнения соответствующих операций в текущем сеансе работы с программой iMPACT.
15. Оценка потребляемой мощности цифровых устройств, проектируемых на базе ПЛИС семейств FPGA в среде САПР WebPACK ISE Вычисление оценок потребляемой мощности и температурных характеристик кристалла, который используется для реализации проекта, выполняется с помощью программы XPower, входящей в состав пакета WebPACK 1SE. Основные характери- стики и описание пользовательского интерфейса этого программного модуля пред- ставлены в 3.4. Оценка мощности, потребляемой разрабатываемым устройством в динамическом режиме, рассчитывается на основе эквивалентной нагрузочной модели кристалла. Для определения параметров этой модели необходимо располагать следующими данными: • значениями емкостей, входящих в состав эквивалентной нагрузочной модели кристалла; • значениями параметров нагрузки, подключаемой к выходным цепям; • напряжением питания проектируемого устройства; • температурой окружающей среды; • значениями частот интерфейсных и внутренних сигналов проектируемого устройства. Исходная информация об используемых ресурсах кристалла, необходимая для формирования эквивалентной нагрузочной модели, может быть получена только после завершения фазы размещения и трассировки Place and Route этапа реализа- ции (Implementation) проекта. Использование результатов полного временного моде- лирования проекта позволяет ускорить ввод исходных данных, необходимых для вычисления оценок потребляемой мощности и температурных характеристик кри- сталла. Большинство систем HDL-моделирования, в том числе и ModelSim, входя- щая в комплект пакета WebPACK ISE, позволяет формировать файлы результатов моделирования в формате VCD (Value Change Dump), которые затем используются программой XPower в качестве источника исходных данных. Поэтому перед активи- зацией программы XPower рекомендуется выполнить этап полного временного мо- делирования (Simulate Post-Place & Route VHDL Model), результаты которого будут использованы в процессе анализа потребляемой мощности. При этом в программе ModelSim должен быть включен режим сохранения данных моделирования в форма- те VCD. Процедура вычисления оценок потребляемой мощности и температурных харак- теристик кристалла начинается с контроля и установки значений параметров ини- циализации программы XPower.
/5. Оценка потребляемой мощности цифровых устройств, проектируемых на базе ПЛИС 311 15.1. Параметры инициализации программы XPower Чтобы получить доступ к параметрам инициализации программы XPower, необ- ходимо, прежде всего, в списке основных этапов проектирования, отображаемом в окне процессов Навигатора проекта (рис. 15.1), перейти к развернутой форме представления этапа реализации {Implement Design) и его фазы размещения и трас- сировки в кристалле {Place and Route). Для этого следует последовательно щелкнуть левой кнопкой мыши на значках расположенных в строках Implement Design и Place and Route. Processes foe Current Source;________________________________________ th Design Entry Utilities FE User Constraints Synthesize j •• [=1 View Synthesis Report I •• -Q View RTL Schematic I * L • Oe^ Analyze Hierarchy R • О cP Implement Design ф- • О cP Translate ! I- [S] cP Translation Report { i • ГП Floorplan Desijp I *- Q GeneratePost-Translate Simulation Model Й- CW Map | •— [«Iq^ Map Report . E Q Generate Post-Map Static Timing : - О Generate Post-Map Simulation Model CV Placet Route - Q Place & Route Report “••• C?|f^ Asynchronous Delay Report - - [=) cP Pad Report P Guide Results Report t*J O(^ Generate Post-Place & Route Static Timing s--n View/Edit Placed Design (FloorPlanner) n Analyze Power (XPower! | •.Q G enerale Post-Place & Route Simulation Medel j (* IQ Generate IBIS Model | _♦] О Multi Pass Place & Route | i+J- Q Back-annotate Pin Locations i- Generate Programming File • Programming File Generation Report !• Generate PROM. ACE, or JTAG Rte । ttcP Configure Device(iMPACT) Process View I Рис. 15.1. Выбор строки запуска программы XPower в окне процессов рабочей области Навигатора проекта при разработке усгройства на базе ПЛИС семейств FPGA
312 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС Далее нужно выделить строку Analyze Power (XPower) (рис. 15.1), расположив на ней курсор и щелкнув левой кнопкой мыши, после чего нажать кнопку распо- ложенную на оперативной панели Навигатора проекта, или выполнить команду Properties из контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши. В результате выполнения указанных операций на эк- ране монитора отображается диалоговая панель параметров инициализации про- граммы XPower, вид которой показан на рис. 15.2. Process properties Х| XPower Properties | Property Нате I Value_________I Load PCF File || LoadXMLFile_____________________________________________________ Load Automaticaty Generated VCD File j [7_________________ Load Other VCD Fie | | OK | Caned | Betau» | Help Рис. 15.2. Диалоговая панель параметров программы XPower при использовании ПЛИС семейств FPGA Значение параметра Load PCF File определяет название файла PCF (Physical Constraints File), который содержит физические ограничения проекта. Этот файл формируется при выполнении фазы компоновки проекта и может редактироваться разработчиком, так как имеет текстовый (ASCII) формат. Название используемого файла PCF может быть введено с клавиатуры после активизации соответствующего поля редактирования или выбрано из списка, отображаемого в стандартной диало- говой панели открытия файла, которая отображается после нажатия кнопки с пикто- граммой в виде многоточия Параметр Load XML File позволяет указать название файла XML, содержащего некоторый набор установочных данных программы XPower, который будет загру- жен при се активизации. Название используемого файла XML определяется так же, как и значение предыдущего параметра. Параметр Load Automatically Generated VCD File управляет выбором файла фор- мата VCD, используемого программой XPower после ее активизации. Если для дан- ного параметра установлено значение "включено", то загружается файл VCD, авто- матически сформированный в процессе последнего временного моделирования те- кущего проекта. Имя этого файла совпадает с названием модуля исходного описания верхнего уровня в иерархической структуре проекта. По умолчанию используется значение "выключено", которое позволяет выбрать другой файл формата VCD или
/5. Оценка потребляемой моирюсти цифровых устройств, проектируемых па базе ПЛИС 313 не использовать результаты моделирования при расчете оценки потребляемой мощ- ности. Параметр Load Other VCD File позволяет указать название файла результатов мо- делирования в формате VCD, отличающееся от имени файла, автоматически форми- руемого программой ModelSim. Эта опция применяется только в случае, если пара- метр Load Automatically Generated VCD File установлен в состояние "выключено". Ввод названия требуемого файла формата VCD осуществляется теми же способами, что и при установке значения параметра Load PCF File. Ввод новых значений параметров программы XPower завершается нажатием кла- виши ОК, расположенной в нижней части диалоговой панели (рис. 15.2). 15.2. Вычисление оценки потребляемой мощности цифровых устройств, проектируемых на основе ПЛИС семейств FPGA, с помощью программы XPower Для запуска программы XPower в среде управляющей оболочки пакета WebPACK ISE нужно расположить курсор на строке Analyze Power (XPower) (рис. 15.1) и дважды щелкнуть левой кнопкой мыши. После этого открывается ос- новное окно программы XPower, вид которого приведен на рис. 15.3. При этом в итоговой панели сразу же отображаются оценки потребляемой мощности, которые получены в результате вычислений при значениях исходных параметров, установ- ленных по умолчанию и на основе данных из указанного файла формата VCD. £ XPower - FJo Edt View Toots Hefc G$ a *> - _j Data Views - _JTyp« 'x _JLo* * .♦* .♦ _ J Clocks , j Reports В Power Report SJWMry | Thermal | VCCInt (V) I TS clocks Power (mW) | 0.326 Battery Capadty (rrtft Hows) | ООО Quiescent Power (mW) | 201.60 Signal Power (mW) | 035 Battery Ufa (Hours) I 000 Loy flock. Power (mW) ] 0.192 tnpdts Power (mW) | 0.423 Outputs Power (mW) | 23.097 TOs Power (mW) I (LO Told Power | 225.69 Loading device database Cot application XPovet fros file 'C:\Pro;eetSjeountxJc2. ncd”. "jc2" 13 an NCZ>, version 2.37, device xc2v40, package fg256, speed -6 Loading device for application XPower fcoa file *2v40.nph' in envlronaent C:/XUi£x. d ’I ‘ — [2rt0ffl256-6 Рис. 15.3. Вид основных) окна программы XPower при вычислении оценок потребляемой мощности устройств, проектируемых на базе ПЛИС семейств FPGA
314 Зотов Л. Ю. Проектирование цифровых устройств на основе ПЛИС Если значения параметров инициализации программы XPower не предусматри- вают использования файла VCD, то значения частот сигналов для цепей модели при запуске средств анализа потребляемой мощности не определены и по умолчанию считаются нулевыми. Поэтому оценки мощности, потребляемой в динамическом режиме, также являются нулевыми. При этом интегральная оценка потребляемой мощности соответствует статическому режиму. Для получения достоверных оценок потребляемой мощности проектируемого устройства и температурных характеристик кристалла следует ввести значения на- пряжения питания, температуры окружающей среды с указанием параметров воз- душного охлаждения и типа корпуса, частот всех сигналов и параметров нагрузки, подключаемой к его выходам, которые должны соответствовать реальным режимам его работы. Г Прежде всего, необходимо указать значение напряжения питания, при котором планируется эксплуатация проектируемого устройства, в поле редактирования Vcclnt (V), расположенном на странице Summary в итоговой панели (рис. 15.3). При активизации программы XPower в этом поле отображается значение напряжения питания, принятое по умолчанию для используемого семейства ПЛИС. Например, для кристаллов серии Virtex-II эта величина составляет 1,5 В. Чтобы изменить зна- чение напряжения питания кристалла, следует активизировать в итоговой панели поле редактирования Vcclnt (V), поместив на него курсор мыши и щелкнув левой кнопкой. После этого нужно ввести с клавиатуры требуемое значение. Выбор вели- чины напряжения питания должен выполняться е учетом допустимого диапазона, указанного в справочных данных для используемого кристалла. Если введенное зна- чение выходит за рамки диапазона, рекомендованного для выбранного типа ПЛИС, то в панели консольных сообщений выводится соответствующее предупреждение, например: WARNING:Power:510- Vcclnt <2.500> not in recommended range [1.425..1.575JV. Если после ввода числа будет нажата клавиша "ENTER” или активизировано по- ле редактирования следующего параметра, то автоматически запускается процесс вычислений, результаты которого сразу же отображаются в итоговой панели. Чтобы оценить продолжительность функционирования проектируемого устрой- ства при ограниченном ресурсе автономного источника питания, необходимо указать емкость используемого элемента (батареи питания). По умолчанию значение этого параметра для ПЛИС семейств FPGA принимается равным нулю. Для измене- ния значения емкости батареи питания, следует активизировать поле редактирова- ния Battery Capacity (mA Hours), которое также находится на странице Summary в итоговой панели (рис. 15.3). После этого с помощью клавиатуры вводится новое значение емкости в миллиампер-часах (мАч), которое соответствует применяемому элементу питания. Для ввода значений параметров окружающей среды и типа корпуса кристалла необходимо перейти на страницу Thermal итоговой панели, поместив курсор на за- кладку с се названием и щелкнув левой кнопкой мыши. Вид этой страницы в случае анализа потребляемой мощности и температурных характеристик кристалла семей- ства FPGA показан на рис. 15.4. Значение температуры окружающей среды, исполь- зуемое по умолчанию, составляет 25° С. Для изменения значения этого параметра
15. Оценка потребляемой мощности цифровых устройств, проектируемых па базе ПЛИС 315 необходимо активизировать попе редактирования Ambient Temperature (С), после чего, используя клавиатуру, указать температуру окружающей среды, при которой должно эксплуатироваться проектируемое устройство. Задаваемое значение должно соответствовать допустимому диапазону изменения этого параметра, который зави- сит от типа используемого кристалла. При вводе значения, выходящего за пределы рекомендуемого диапазона, в панели консольных сообщений выводится соответст- вующее предупреждение, например: WARNING:Power:200 - Ambient Temperature <-47.0> not in recommended range [-45..80JC. Установка значения скорости воздушного потока, используемого для охлаждения кристалла, осуществляется в поле выбора Airflow. Выпадающий список возможных значений параметра Airflow содержит четыре элемента: 0, 250, 500 и 750. Значения скорости воздушного потока указаны в футах в минуту (LFM). По умолчанию уста- новлено значение 0, которое соответствует отсутствию дополнительного воздушно- го охлаждения. Тип корпуса ПЛИС указывается в поле выбора Package. Список допустимых зна- чений параметра Package определяется линейкой типов корпусов, в которых выпус- кается кристалл, выбранный для реализации проекта. Sumniary ' tfiernial | Ambient temp (°C) Junction Temp (°C) Airflow (LFM) Package 1 25.00 31.54 |0 fg 256 Q Case temperature (*C) Total Power (mW) 1 30.13 | 225.99 Рис. 15.4. Вид страницы Thermal итоговой панели программы XPower при вычислении оценок потребляемой мощности устройств, проектируемых на базе ПЛИС семейств FPGA Следующим шагом в процессе ввода исходных данных, необходимых для расче- та оценки потребляемой мощности и температурных характеристик кристалла, яв- ляется определение частот сигналов проекта. Если при активизации модуля Xpower был включен режим автоматической загрузки выбранного файла формата VCD, то значения частот сигналов рассчитываются на основании результатов полного вре- менного моделирования. При необходимости, значения исходных параметров, сформированные на основании данных из файла VCD, можно скорректировать, ис- пользуя процедуры "ручного" ввода. Для определения частот тактовых сигналов разрабатываемого устройства следу- ет в панели обозревателя открыть папку Clocks, поместив курсор мыши на ее изо- бражение или строке с ее названием, и дважды щелкнув левой кнопкой мыши. Далее необходимо выделить находящийся в ней элемент (или папку), расположив курсор на соответствующей строке и щелкнув левой кнопкой мыши. После этого в панели редактирования значений исходных параметров модели отображается таблица, в первом столбце которой представлены названия всех тактовых сигналов проекти- руемого устройства. Чтобы изменить значение частоты тактового сигнала, нужно активизировать соответствующую ячейку в колонке Frequency (MHz), после чего, используя клавиатуру, ввести требуемое число в мегагерцах (МГц).
316 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Чтобы установить значения частот остальных сигналов проекта, нужно в панели обозревателя выбрать папку Signals, после чего в панели редактирования значений исходных параметров модели выводится таблица, в первом столбце которой пред- ставлены названия всех сигналов, частота которых оказывает влияние на потребляе- мую мощность проектируемого устройства. Далее необходимо для каждого сигнала в таблице указать значение частоты, поочередно выполнив ту же последователь- ность операций, что и при вводе частот тактовых сигналов. Если частота сигнала изменяется в зависимости от режима работы устройства, следует задавать значение для наихудшего случая с точки зрения потребляемой мощности. Процедура ввода исходных данных, необходимых для оценки потребляемой мощности и температурных характеристик кристалла, завершается определением значений параметров нагрузки, прикладываемой к выходам разрабатываемого уст- ройства. Для кристаллов семейств FPGA нагрузка характеризуется постоянным то- ком, протекающим через нес, и емкостной составляющей. По умолчанию емкость внешней нагрузки полагается равной 35 пФ. Для изменения емкости нагрузки, под- ключаемой к выходам проектируемого устройства, следует в панели обозревателя выбрать папку Outputs, в результате чего в панели редактирования значений исход- ных параметров эквивалентной модели будет выведена таблица, в первой колонке которой отображаются названия всех выходных цепей проекта. Чтобы установить новое значение емкости внешней нагрузки, нужно для соответствующего выхода активизировать ячейку в колонке Capacitive Load (fF), после чего, используя клавиа- туру, ввести требуемое численное значение емкостной составляющей в фемтофара- дах (фФ). Максимальное значение постоянного тока для выходов проектируемого устройства указывается в ячейках, расположенных в колонке DC Load (mA). По умолчанию для всех выходных цепей установлены нулевые значения этих парамет- ров. Для изменения значения постоянного тока в какой-либо выходной цепи следует активизировать соответствующую ячейку в колонке DC Load (mA) и воспользоваться клавиатурой. Указываемое значение не должно выходить за пределы допустимого диапа- зона, который определяется выбранным сигнальным стандартом и соответствующими параметрами конфигурации для выбранного выхода. В противном случае в панели кон- сольных сообщений будет выведено соответствующее предупреждение, например: WARNING.Power:303 -I/O <LVTTL> can't provide <12.0 mA> DC Load because it is configured with drive strength <4.0 mA>, used configured with drive strength Для сохранения установленных значений исходных параметров в виде файла на диске следует выбрать команду Save Settings File из всплывающего меню File или О нажать кнопку----- на оперативной панели программы XPower. При этом введен- ные значения параметров и полученные результаты вычислений сохраняются в фай- ле с расширением xml. Название этого файла состоит из имени файла, представ- ляющего модуль верхнего уровня иерархии исходного описания проекта, и последо- вательности символов xpwr. Для сохранения информации в файле с произвольным названием следует воспользоваться командой Save Settings As из всплывающего ме- ню File. При активизации этой команды на экран выводится стандартное диалоговое окно сохранения файла, в котором следует выбрать требуемое название из списка имеющихся или ввести его, используя клавиатуру. Чтобы загрузить сохраненные
15. Оценка потребляемой мощности цифровых устройств, проектируемых иа базе ПЛИС 317 данные из файла, следует выполнить команду Open Settings File, которая находится во всплывающем меню File. При выполнении этой команды отображается стандарт- ное диалоговое окно открытия файла, в котором следует выбрать название нужного файла. Кроме того, параметр инициализации Load XML File (рис. 15.2) предостав- ляет возможность автоматической загрузки выбранного файла xml при активизации программы XPower. При вводе каждого нового значения исходных параметров XPower выполняет ав- томатический пересчет всех выходных характеристик и обновляет содержимое ин- формационных панелей, расположенных в правой части основного окна этой про- граммы. Поэтому окончательные результаты анализа, выполняемого программой XPower, отображаются практически сразу после завершения процесса ввода исход- ных данных. Обобщенные результаты вычислений отображаются в итоговой панели. На странице Summary выводятся значения оценок следующих параметров: потреб- ляемой мощности в статическом режиме Quiescent Power, потребляемой мощности, приходящейся на функциональные блоки ПЛИС Logic Block Power, на выходные буферы, расположенные в блоках ввода/вывода (OBUF), Outputs Power, на сигналь- ные (внутренние) цепи Signals Power, цепи синхронизации Clocks Power, входные буферные элементы, расположенные в блоках ввода/вывода (IBUF), Inputs power, двунаправленные буферные элементы, расположенные в блоках ввода/вывода (1OBUF), IOs power, продолжительность работы устройства до замены батареи пи- тания Battery Life, максимальное значение полной потребляемой мощности проек- тируемого устройства Total Power. На странице Thermal отображаются результаты вычислений оценок следующих температурных характеристик: температуры тран- зисторов кристалла Junction Temperature и температуры корпуса Case temperature ПЛИС. Для просмотра более детальных результатов анализа следует воспользоваться панелью обозревателя, которая позволяет выбрать необходимую информацию для просмотра вместе с исходными значениями в панели редактирования. Чтобы уви- деть оценки потребляемой мощности, приходящейся на различные внутренние цепи кристалла, следует в панели обозревателя выбрать папку Signals. Значения потреб- ляемой мощности, полученные в результате вычислений, представлены в колонке Power (mW) таблицы, которая отображается в панели редактирования исходных па- раметров. Для просмотра оценок потребляемой мощности, приходящейся на логи- ческие ресурсы кристалла, нужно выделить папку Logic в панели обозревателя. Ин- формация о потребляемой мощности, соответствующей входным и выходным це- пям, отображается в панели редактирования после выбора в панели обозревателя папки Inputs или Outputs. Систематизированные результаты вычислений оценок потребляемой мощности и температурных характеристик кристалла, используемого для реализации проекти- руемого устройства, представлены в отчете, который формируется программой XPower. Средства управления этой программы позволяют выбрать степень детали- зации и формат генерируемого отчета. По умолчанию используется стандартная форма отчета. Дтя переключения в режим формирования детального отчета следует выбрать команду Preferences из всплывающего меню Edit программы XPower. При этом на экран выводится диалоговая панель, показанная на рис. 15.5.
318 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС Preferences .м,., . Х1 ГбёпёгаГ| open Options | Display Options | View Options | Application Settings . Г Do DRC checking when opening a file I Report Settings-----............................... C standard Report Detaded Report -Report Format— ASCII (text) Report C HTML Report Ж I Cancel | Рис. 15.5. Страница General диалоговой панели, представляющей параметры конфигурации программы XPower В этой диалоговой панели следует открыть страницу General, поместив курсор на закладку с ее названием и щелкнув левой кнопкой мыши. Далее на этой странице нужно щелкнуть левой кнопкой мыши на изображении кнопки Detailed Report. На этой же странице выбирается формат отчета: текстовый (ASCII) или HTML. Вы- полненные изменения параметров конфигурации программы XPower вступают в силу после нажатия клавиши ОК в нижней части диалоговой панели (рис. 15.5). Чтобы сформировать отчет и просмотреть его в панели редактирования, необхо- димо открыть папку Reports в окне обозревателя, дважды щелкнув левой кнопкой мышн на ее изображении. Затем следует выбрать строку Power Report. При этом отчет не только выводится на экран, но и автоматически записывается в файл с рас- ширением pwr. Этот файл имеет текстовый формат и поэтому может быть просмот- рен с помощью любого текстового редактора. Следует обратить внимание на то, что при изменении значений исходных данных новый отчет записывается в тот же файл вместо старого. Поэтому для дальнейшего использования отчета его файл следует переименовать "вручную", используя средства операционной системы Windows. Структура формируемого отчета включает в себя пять секций. В первой секции указывается название анализируемого проекта и тип кристалла, используемого для его реализации. Во втором разделе приводятся обобщенные оценки потребляемой мощности для проекта в целом, а также значения напряжения источника питания кристалла. Третья секция отчета представляет температурные характеристики кри- сталла, используемого для реализации проекта - значения температуры окружаю- щей среды, транзисторов кристалла, корпуса ПЛИС и теплового сопротивления кристалл-окружающая среда. В четвертом разделе приводятся значения частот, на- грузки и мощности для всех цепей проекта. Эта секция присутствует только в под- робной форме отчета. В последнем разделе указываются дата и время генерации
15. Оценка потребляемой мощности цифровых устройств, проектируемых на базе ПЛИС 319 отчета. В качестве примера приведен отчет о результатах анализа потребляемой мощности для проекта счетчика Джонсона, реализованного на базе кристалла XC2V40 - 5FG256. Вычисления выполнялись на основе данных, полученных в ре- зультате полного временного моделирования проекта. Подробный вариант отчета о результатах анализа потребляемой мощности про- екта счетчика Джонсона, реализованного на базе кристалла XC2V40 - 5FG256 Release 5.11 - XPower Softwareversion:F.23 Copyright (с) 1995-2002 Xilinx. Inc. All rights reserved. Design: jc2 Pre ferences: j c2.pc f VCD File: C:\Project\jcount\jc2.vcd Part: 2v40fg256-6 Data version: ADVANCED 1.110 2002-07-03 Power summary; I {mA) p{mw) Total estimated power consumption: 226 Vccint 1.5V: 76 114 Vccaux 3.3V: 25 83 Vcco 3.3V: 9 30 Clocks: 0 0 Nets; 0 0 Logic: 0 0 Inputs: 0 0 Outputs: 23 Quiescent 1.5V: 75 113 Quiescent- 3.3V: 25 83 Quiescent 3.3V: 2 7 Startup 1.5V: 500 Startup 3.3V; 100 Startup 3.3V: 100 Thermal summary; Estimated junction temperature: 32C 250 LFM 31C 500 LFM 30C 750 LFM 30C Ambient temp: 25C Case temp: 30C Theta J-A: 29C/W Power details-. Clocks: 1 Loads C(pF> F(Mhz) I (mA) P(mw) xlxn 17 Nets: xlxn_17 4 3 44.2 0.2 0.3 Nets: 15 Loads C(pF) F(Mhz) I(mA) P(mW) dir 5 6 11.0 0.1 0.2 q_intl 3 1 11.0 0.0 -0.0 q_int3 3 1 11.0 0.0 -0.0 run 3 1 11.0 0.0 -0.0 q_int0 3 1 11.0 0.0 -0.0
320 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС q_int2 3 1 11.0 0.0 0.0 xlxn_24 2 0 2.3 0.0 0.0 xlxn_23 2 1 1.2 0.0 0.0 xlxn_25 1 0 1.2 0.0 0.0 dir_regl/ad 1 0 1.0 0.0 •0.0 Logic: 12 C<pF) F<Mhz) I (mA) P(mW) dir regl/i_36_32 1 11.0 0.0 0.0 j counter /i_<?0 1 11.0 0.0 0.0 jcounter/i_ql 1 11.0 0.0 0.0 jcounter/i_q2 1 11.0 0.0 0.0 jcounter/i_q3 1 11.0 0.0 0.0 run_r eg/ i_3 6_3 2 1 11.0 0.0 0.0 dir regl/i_36_41 1 1.0 0.0 0.0 j counter/i_mdr0/i_3 6_6 1 1.0 0.0 0.0 j counter/i_mdr1/i_3 6_6 1 1.0 0.0 0.0 j counter/i_mdr2/i_3 6_6 1 1.0 0.0 0.0 Inputs: 4 C(pF> F(Mhz) I (mA) P(mW) i6 3 44.2 0.3 0.4 i9 3 2.3 0.0 0.0 i7 3 1.2 0.0 0.0 18 3 1.2 0.0 0.0 Outputs: 4 Loading(pF) C(pF) F(Mhz) I (mA) P(mW) il5 35 13 11.0 1.7 5.8 i!6 35 13 11.0 1.7 5.8 117 35 13 11.0 1.7 5.8 i!8 35 13 11.0 1.7 5.8 Analysis completed: Thu Feb 20 02:51:06 2003 В заключение следует обратить внимание на то, что результаты вычислений, вы- полняемых программой XPower, носят оценочный характер. Их точность зависит от степени соответствия значений исходных данных реальным режимам функциони- рования проектируемого устройства.
Приложение 1. Унифицированные библиотеки компонентов схемотехнического редактора ECS Данное приложение содержит краткий справочник по основным функциональ- ным группам библиотечных компонентов, в котором используются следующие ус- ловные обозначения: & - логическая операция И; I - логическая операция ИЛИ; л - логическая операция ИСКЛЮЧАЮЩЕЕ ИЛИ; — логическая операция инверсии; / - фронт сигнала (переключение из состояния низкого логического уровня в со- стояние высокого логического уровня); \ - спад сигнала (переключение из состояния высокого логического уровня в со- стояние низкого логического уровня. Ш.1. Логические элементы И AND2 Библиотечные элементы, представленные в этом разделе, относятся к функцио- нальной группе Logic Primitives. AND2 - логический элемент 2И Назначение выводов: 10, II - входы. О - выход. Выполняемая функция О = 10 & 11 Таблица истинности элемента AND2 Входы Выход I0 11 о 0 X 0 X 0 0 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. AND2B1 —логический элемент 2И с инверсией по одному из входов AND2B1 Назначение выводов: 10, II - входы. О - выход. Выполняемая функция О = -10 & 11 II Зотов В.Ю.
322 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС Таблица истинности элемента AND2BI Входы Выход 10 11 О 1 X 0 X 0 0 0 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. AND2B2 — логический элемент 2И с инверсией по входам ЖС2В2 Назначение выводов: □ '\_О ’ Ю. П - входы. rj у О - выход. Выполняемая функция О = -10 & ~ II Таблица истинности элемента AND2B2 Входы Выход ю 11 О 1 X 0 X 1 0 О 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента — примитив. AND3 — логический элемент ЗИ Назначение выводов: 10, II, 12-входы. О - выход. Выполняемая функция О = 10 & II & 12 Таблица истинности элемента AND3 Входы Выход ю 11 12 О 0 X X 0 X 0 X 0 X X 0 0 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-11, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П. Тип элемента - примитив.
Приложение / Унифицированные библиотеки компонентов 323 AND3B1 - логический элемент ЗИ с инверсией по одному из входов G AND3B1 Назначение выводов: ----------------«, 10,11,12 — входы. ——------------------О - выход. ----' Выполняемая функция О = -10 & II & 12 Таблица истинности элемента AND3B1 Входы Выход 10 и 12 О 1 X X 0 X 0 X 0 X X 0 0 0 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. AND3B2 — логический элемент ЗИ с инверсией по двум входам AND3B2 Назначение выводов: ---1---ч 10, II, 12 - входы. -13-CI О - выход. JOj----' Выполняемая функция О = —10 & -I I & 12 Таблица истинности элемента AND3B2 Входы Выход ю 11 I2 О 1 X X 0 X 1 X 0 X X 0 0 0 0 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П. Тип элемента - примитив. AND3B3 - логический элемент ЗИ с инверсией по входам AND3B3 Назначение выводов: ~О|----, 10,11,12 - входы. —О| J— О - выход. Выполняемая функция О = -10 & -11 & - 12 Таблица истинности элемента AND3B3 Входы Выход IO и I2 О 1 X X 0 X 1 X 0 X X 1 0 . 0 0 0 1
324 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - примитив. AND4 13 AND4 — логический элемент 4И Назначение выводов: 10, II, 12,13 - входы. О - выход. Выполняемая функция О = 10 & 11 & 12 & 13 Таблица истинности элемента AND4 Ю Входы Выход 10 11 I2 I3 О 0 X X X 0 X 0 X X 0 X X 0 X 0 X X X 0 0 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. AND4B1 — логический элемент 4И с инверсией по одному из входов AND4H1 I3 Назначение выводов: 10,11,12,13 - входы. О - выход. Выполняемая функция О = - 10 & II & 12 & 13 Таблица истинности элемента AND4B1 Входы Выход 10 11 12 I3 о 1 X X X 0 X 0 X X 0 X X 0 X 0 X X X 0 0 0 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, yirtex-E. Virtex-П, Virtex-П Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. AND4B2 — логический элемент 4И с инверсией по двум входам AND4B2 13 Ю Назначение выводов: 10, II, 12,13 - входы. О - выход. Выполняемая функция О = ~ 10 & ~11 & 12 & 13
Приложение 1. Унифицированные библиотеки компонентов 325 Таблица истинности элемента AND4B2 Входы Выход 10 и 12 I3 О 1 X X X 0 X 1 X X 0 X X 0 X 0 X X X 0 0 0 0 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. AND4B3 — логический элемент 4И с инверсией по трем входам 13 ANWB3 Назначение выводов: 10, II, 12,13 - входы. О - выход. Выполняемая функция О = -10 & -II & -12 & 13 Таблица истинности элемента AND4B3 Входы Выход 10 11 I2 I3 О 1 X X X 0 X 1 X X 0 X X 1 X 0 X X X 0 0 0 0 0 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC95O0/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. AND4B4—логический элемент 4И с инверсией по входам AND4B4 Назначение выводов: 10, II, 12,13 - входы. О - выход. Выполняемая функция О = -10 & -II & —12 & -13 Таблица истинности элемента AND4B4 Входы Выход I0 11 12 I3 О 1 X X X 0 X 1 X X 0 X X 1 X 0 X X X 1 0 0 0 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virlcx. Virtex-E, Virtex-П. Virtcx-Il Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив.
326 ,, ANDS И__ 13 в \о 11 ____z ю Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС AND5 - логический элемент 5И Назначение выводов: 10,11,12,13,14 - входы. О - выход. Выполняемая функция О = 10 & II & 12 & 13 & 14 Таблица истинности элемента ANDS Входы Выход 10 и 12 I3 I4 О 0 X X X X 0 X 0 X X X 0 X X 0 X X 0 X X X 0 X 0 X X X X 0 0 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. AND5B1- Логический элемент 5И с инверсией по одному из входов AND6B1 Назначение выводов: 10, II, 12,13,14- входы. О - выход. Выполняемая функция О = ~ 10 & II & 12 & 13 & 14 Таблица истинности элемента ANDSB1 Ю Входы Выход IO и I2 I3 14 О 1 X X X X 0 X 0 X X X 0 X X 0 X X 0 X X X 0 X 0 X X X X 0 0 0 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив.
Приложение I. Унифицированные библиотеки компонентов 327 ANDSB2 — логический элемент 5И с инверсией по двум входам ANDSB2 Назначение выводов: 10,11,12,13,14-входы. О - выход. Выполняемая функция О = —10 & ~ II & 12 & 13 & 14 Таблица истинности элемента AND5B2 Входы Выход 10 и 12 I3 14 О 1 X X X X 0 X 1 X X X 0 X X 0 X X 0 X X X 0 X 0 X X X X 0 0 0 0 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. AND5B3 — логический элемент 5И с инверсией по трем входам Назначение выводов: 10, II, 12,13,14 - входы. О - выход. Выполняемая функция О = ~ 10 & -II & -12 & 13 & 14 Таблица истинности элемента AND5B3 Входы Выход 10 и I2 I3 14 О 1 X X X X 0 X 1 X X X О X X 1 X X 0 X X X 0 X 0 X X X X 0 0 0 0 0 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив.
328 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС AND5B4 - логический элемент 5И с инверсией по четырем входам Назначение выводов: 10, II, 12,13,14 - входы. О - выход. Выполняемая функция О = - 10 & -II & ~12 & ~13 & 14 Таблица истинности элемента AND5B4 Входы Выход 10 и I2 I3 14 о 1 X X X X 0 X 1 X X X 0 X X 1 X X 0 X X X 1 X 0 X X X X 0 0 0 0 0 0 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - примитив. AND5B5 - логический элемент 5И с инверсией по входам Назначение выводов: 10, II, 12,13,14 - входы. О - выход. Выполняемая функция О = -10 & -II & -12 & -13 & -14 Таблица истинности элемента AND5B5 Входы Выход ю 11 I2 13 I4 О 1 X X X X 0 X 1 X X X 0 X X 1 X X 0 X X X 1 X 0 X X X X 1 0 0 0 0 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - примитив.
Приложение I. Унифицированные библиотеки компонентов AND6 — логический элемент 6И 329 AN 06 15 14 Назначение выводов: 10, II, 12,13,14,15 - входы. О - выход. Выполняемая функция О = 10 & II & 12 & 13 & 14 & 15 Таблица истинности элемента AND6 11 Ю Входы Выход 10 11 12 13 14 I5 О 0 X X X X X 0 X 0 X X X X 0 X X 0 X X X 0 X X X 0 X X 0 X X X X 0 X 0 X X X X X 0 0 1 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П - примитив; для Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro - макрос. AND7 15 14 AND7 — логический элемент 7H Назначение выводов: 10, II, 12,13,14,15,16 - входы. О - выход. Выполняемая функция О = 10 & II & 12 & 13 & 14 & 15 & 16 Таблица истинности элемента AND7 Входы Выход I0 и 12 13 14 I5 I6 О 0 X X X X X X 0 X 0 X X X X X 0 X X 0 X X X X 0 X X X 0 X X X 0 X X X X 0 X X 0 X X X X X 0 X 0 X X X X X X 0 0 1 1 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-Е, Virtex-II, Virtcx-Il Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II.
330 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П - примитив; для Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro - макрос. AND8 17 AND8 - логический элемент SH Назначение выводов: 10, II, 12,13,14,15,16,17 - входы. О - выход. Выполняемая функция О = 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 Таблица истинности элемента AND8 Входы Выход 10 11 12 I3 I4 15 I6 17 О 0 X X X X X X X 0 X 0 X X X X X X 0 X X 0 X X X X X 0 X X X 0 X X X X 0 X X X X 0 X X X 0 X X X X X 0 X X 0 X X X X X X 0 X 0 X X X X X X X 0 0 1 1 1 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П- примитив; для Spartan-Ц Spartan-IIE, Virtex, Virtex-E, Virtcx-П, Virtex-II Pro - макрос. AND9 — логический элемент 9И Назначение выводов: 10, II, 12,13,14,15,16,17,18 - входы. О - выход. Выполняемая функция О = 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18
Приложение I. Унифицированные библиотеки компонентов 331 Таблица истинности элемента AND9 Входы Выход 10 и I2 I3 I4 15 16 I7 I8 О 0 X X X X X X X X 0 X 0 X X X X X X X 0 X X 0 X X X X X X 0 X X X 0 X X X X X 0 X X X X 0 X X X X 0 X X X X X 0 X X X 0 X X X X X X 0 X X 0 X X X X X X X 0 X 0 X X X X X X X X 0 0 1 1 1 1 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II - примитив; для Spartan-П, Spaitan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtex-II Pro - макрос. AND12 - логический элемент 12И AND 12 111 НО В 18 IT 13 12 И Ю Назначение выводов: 10, II, 12,13,14,15,16,17,18,19, ПО, III -входы. О - выход. Выполняемая функция О = 10 & II & 12 & 13 & 14 & 15 & 16 & П & 18 & 19 &П0 &П1 Таблица истинности элемента AND12 Входы Выход ю и 12 I3 I4 I5 16 17 18 19 110 111 О 0 X X X X X X X X X X X 0 X 0 X X X X X X X X X X 0 X X 0 X X X X X X X X X 0 X X X 0 X X X X X X X X 0 X X X X 0 X X X X X X X 0 X X X X X 0 X X X X X X 0 X X X X X X 0 X X X X X 0 X X X X X X X 0 X X X X 0 X X X X X X X X 0 X X X 0 X X X X X X X X X 0 X X 0 X X X X X X X X X X 0 X 0 X X X X X X X X X X X 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
332 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-П Pro. Тип элемента - макрос. ANDI6 — логический элемент 16И AND16 115 114 113 М2 111 110 19 Назначение выводов: 10,11,12,13,14,15,16,17,18,19, ПО, III, 112,113,114, 115 - входы. О - выход. Выполняемая функция О = 10 & П & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 &II0&I1I &II2&I13&II4&I15 Тип элемента - макрос.
Приложение L Унифицированные библиотеки компонентов 333 П1.2. Логические элементы И-НЕ Библиотечные элементы, представленные в этом разделе, относятся к функцио- нальной группе Logic Primitives. NAND2 - логический элемент 2И-НЕ Назначение выводов: о 10,11-входы. О - выход. Выполняемая функция О = ~ (10 & II) Таблица истинности элемента NAND2 Входы Выход 10 — 11 О 0 X 1 X 0 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. NAND2B1 -логический элемент 2И-НЕ с инверсией по одному из входов NAND2B1 Назначение выводов: ---1 Х^О 10, II - входы. О - выход. Выполняемая функция О = - (~Ю & II) Таблица истинности элемента NAND2B1 Входы Выход ю и О 1 X 1 X 0 1 0 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. NAND2B2 - логический элемент 2И-НЕ с инверсией по входам । NftND2B2 Назначение выводов: "Ч X-jO 10,11 - входы. О - выход. Выполняемая функция О = —(—10 & ~ II) Таблица истинности элемента NAND2B2 Входы Выход ю и о 1 X 1 X 1 1 0 0 0
334 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Поддерживаемые семейства ПЛИС: Spartan-Il, Spartan-IIE, Virtex, Virtex-E, Virlex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - примитив. NAND3 - логический элемент ЗИ-НЕ NAND3 Назначение выводов: 10,11,12-входы. О - выход. Выполняемая функция О = - (10 & II & 12) Таблица истинности элемента NAND3 Входы Выход 10 11 I2 О 0 X X 1 X 0 X 1 X X 0 1 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. NAND3B1 — логический элемент ЗИ-НЕ с инверсией по одному из входов NAND3H1 В 11 ю с Назначение выводов: 10,11,12-входы. О - выход. Выполняемая функция О = — (—10 & 11 & 12) Таблица истинности элемента NAND3B1 Входы Выход 10 и 12 О 1 X X 1 X 0 X 1 X X 0 1 0 1 1 0 Поддерживаемые' семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-Е, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. NAND3B2 — логический элемент ЗИ-НЕ с инверсией по двум входам NAND3H2 12 Назначение выводов: 10, II, 12 - входы. О - выход. Выполняемая функция О = — (~Ю & —11 & 12)
Приложение 1. Унифицированные библиотеки компонентов 335 Таблица истинности элемента NAND3B2 Входы Выход 10 и I2 О 1 - X X 1 X 1 X 1 X X 0 1 0 0 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. NAND3B3 — логический элемент ЗИ-НЕ с инверсией по входам NAND3B3 Назначение выводов: 10, II, 12 - входы. О - выход. Выполняемая функция О = - (~Ю & ~П & ~ 12) Таблица истинности элемента NAND3B3 12 И 10 Входы Выход I0 11 12 о 1 X X 1 X 1 X 1 X X 1 1 0 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Vincx-E, Virtex-П, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. NAND4 — логический элемент 4И-НЕ 13 NAND4 Назначение выводов: 10, II, 12,13 - входы. О - выход. Выполняемая функция О = - (10 & II & 12 & 13) Таблица истинности элемента NAND4 Входы Выход I0 И I2 I3 О 0 X X X 1 X 0 X X 1 X X 0 X 1 X X X 0 1 1 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив.
336 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС NAND4B1 - логический элемент 4И-НЕ с инверсией по одному из входов NAND4B1 Назначение выводов: 10,11,12,13 - входы. О - выход. Выполняемая функция О = ~ (~ 10 & II & 12 & 13) Таблица истинности элемента NAND4B1 Входы Выход 10 и 12 I3 О 1 X X X 1 X 0 X X 1 X X 0 X 1 X X X 0 1 0 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. NAND4B2 — логический элемент 4И-НЕ с инверсией по двум входам NAND4B2 13 Назначение выводов: 10, II, 12,13 - входы. О - выход. Выполняемая функция О = — (~ 10 & -II & 12 & 13) Таблица истинности элемента NAND4B2 Входы Выход 10 11 I2 I3 о 1 X X X 1 X 1 X X 1 X X 0 X 1 X X X 0 1 0 0 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. NAND4B3 — логический элемент 4И-НЕ с инверсией по трем входам 13 NAND4B3 Назначение выводов: 10, II, 12,13 - входы. О - выход. Выполняемая функция О = — (~ 10 & —11 & —12 & 13)
Приложение J. Унифицированные библиотеки компонентов 337 Таблица истинности элемента NAND4B3 Входы Выход 10 и I2 I3 О 1 X X X 1 X 1 X X 1 X X 1 X 1 X X X 0 1 0 0 0 1 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П. Тип элемента - примитив. NAND4B4 — логический элемент 4И-НЕ с инверсией по входам Назначение выводов: 10, II, 12,13 - входы. О - выход. Выполняемая функция О = - (~ 10 & -II & -12 & -13) Таблица истинности элемента NAND4B4 Входы Выход 10 и I2 13 О 1 X X X 1 X 1 X X 1 X X 1 X 1 X X X 1 1 0 0 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II, Тип элемента - примитив. NAND5 — логический элемент 5И-НЕ NAN Об 13 Назначение выводов: 10,11,12,13,14-входы. О - выход. Выполняемая функция О = ~ (10 & II & 12 & 13 & 14) Таблица истинности элемента NAND5 Входы Выход Ю 11 I2 I3 I4 О 0 X X X X 1 X 0 X X X 1 X X 0 X X 1 X X X 0 X 1 X X X X 0 1 1 1 1 1 1 0
338 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. NAND5B1 — логический элемент 5И-НЕ с инверсией по одному из входов NAND5B1 Назначение выводов: 10, II, 12,13,14 - входы. О - выход. Выполняемая функция О = ~(~ 10 & 11 & 12 & 13 & 14) Таблица истинности элемента NAND5B1 Входы Выход 10 11 12 13 I4 О 1 X X X X 1 X 0 X X X 1 X X 0 X X 1 X X X 0 X 1 X X X X 0 1 О 1 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Vinex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL. CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. NAND5B2 — логический элемент 5И -НЕ с инверсией по двум входам Назначение выводов: 10,11,12,13,14-входы. О - выход. Выполняемая функция О = ~(~I0 & —II & 12 & 13 & 14) Таблица истинности элемента NAND5B2 Входы Выход I0 и I2 13 14 О 1 X X X X 1 X 1 X X X 1 X X 0 X X 1 X X X 0 X 1 X X X X 0 1 0 0 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - примитив.
Приложение 1. Унифицированные библиотеки компонентов 339 NAND5B3 — логический элемент 5И-НЕ с инверсией по трем входам Назначение выводов: 10, II, 12,13,14 - входы. О - выход. Выполняемая функция О — —(~ 10 & -II & ~12 & 13 & 14) Таблица истинности элемента NAND5B3 Входы Выход 10 и I2 13 I4 О 1 X X X X 1 X 1 X X X 1 X X 1 X X 1 X X X 0 X 1 X X X X 0 1 0 0 0 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CooIRunner XPLA3, CooIRunner-П. Тип элемента - примитив. NAND5B4 - логический элемент 5И-НЕ с инверсией по четырем входам Назначение выводов: 10,11,12,13,14- входы. О - выход. Выполняемая функция О = - (~ 10 & ~П & ~12 & -13 & 14) Таблица истинности элемента NAND5B4 Входы Выход 10 11 I2 13 I4 О 1 X X X X 1 X 1 X X X 1 X X 1 X X 1 X X X 1 X 1 X X X X 0 1 0 0 0 0 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - примитив.
340 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС NANDSB5 - логический элемент 5И-НЕ с инверсией по входам NAND5B5 Назначение выводов: 10, II, 12,13,14 - входы. О - выход. Выполняемая функция О = ~ (-10 & ~П & ~12 & ~13 & ~14) Таблица истинности элемента NAND5B5 Входы Выход 10 и 12 I3 I4 о 1 X X X X 1 X 1 X X X 1 X X 1 X X 1 X X X 1 X 1 X X X X 1 1 0 0 0 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - примитив. NAND6 — логический элемент 6И-НЕ NAND6 15 14 И Ю Назначение выводов: 10,11,12,13,14,15-входы. О - выхсд. Выполняемая функция О = ~ (10 & II & 12 & 13 & 14 & 15) Таблица истинности элемента NAND6 Входы Выход I0 11 I2 I3 I4 15 о 0 X X X X X 1 X 0 X X X X 1 X X 0 X X X 1 X X X 0 X X 1 X X X X 0 X 1 X X X X X 0 1 1 1 1 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П - примитив; для Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro - макрос.
Приложение 1. Унифицированные библиотеки компонентов 341 |6 NAND7 NAND7 — логический элемент 7И-НЕ Назначение выводов: 10,11,12,13,14,15,16-входы. О - выход. Выполняемая функция О =~(10 & 11 & 12 & 13 & 14 & 15 & 16) Таблица истинности элемента NAND7 Входы Выход 10 11 I2 I3 I4 I5 I6 О 0 X X X X X X 1 X 0 X X X X X 1 X X 0 X X X X 1 X X X 0 X X X 1 X X X X 0 X X 1 X X X X X 0 X 1 X X X X X X 0 1 1 1 1 1 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XVZXL, CoolRunner XPLA3, CooIRunner-II. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П - примитив; для Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro - макрос. NAND8 — логический элемент 8И-НЕ NAND8 IT Назначение выводов: 10, Il, 12,13,14,15,16, 17 - входы. О - выход. Выполняемая функция О = ~(Ю & II & 12 & 13 & 14 & 15 & 16 & 17) Таблица истинности элемента NAND8 Входы Выход 10 11 I2 13 I4 15 16 17 О 0 X X X X X X X 1 X 0 X X X X X X 1 X X 0 X X X X X 1 X X X 0 X X X X 1 X X X X 0 X X X 1 X X X X X 0 X X 1 X X X X X X 0 X 1 X X X X X X X 0 1 1 1 1 1 1 1 1 1 0
342 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П - примитив; для Spartan-II, Spartan-ПЕ, Virtex, Virtcx-E, Virtcx-II, Virtex-II Pro - макрос. NAND9 — логический элемент 9И-НЕ Назначение выводов: 10, II, 12,13,14,15,16,17,18 - входы. О - выход. Выполняемая функция О = ~(10 & II & 12 & 13 & 14 & 15 & 16 & 17 & 18) Ю Таблица истинности элемента NAND9 Входы Выход 10 11 I2 I3 14 I5 I6 17 18 о 0 X X X X X X X X 1 X 0 X X X X X X X 1 X X 0 X X X X X X 1 X X X 0 X X X X X 1 X X X X 0 X X X X 1 X X X X X 0 X X X 1 X X X X X X 0 X X 1 X X X X X X X 0 X 1 X X X X X X X X 0 1 1 1 1 1 1 1 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П - примитив; для Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-П Pro - макрос. NAND12 - логический элемент 12И-НЕ , NAND12 111 110 IS I8 I7 I3 I2 11 Ю Назначение выводов: 10, II, 12,13,14,15,16,17,18,19, ПО, Ill - входы. О - выход. Выполняемая функция О = ~(10 & II & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 &I10&I11)
Приложение J. Унифицированные библиотеки компонентов 343 Тип элемента - макрос. NANDI6 — логический элемент 16И-НЕ NAND16 115 114 ИЗ 112 111 110 19 Назначение выводов: 10, II, 12,13,14,15,16,17,18,19, ПО, III, 112,113,114, 115 - входы. О - выход. Выполняемая функция О = -(10 & II & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 110 & II1 & 112 & 113 & 114 & 115) Таблица истинности элемента NAND16 Входы Выход 10 и 12 13 14 15 16 17 18 19 110 111 112 ИЗ 114 115 О 0 X X X X X X X X X X X X X X X 1 X 0 X X X X X X X X X X X X X X 1 X X 0 X X X X X X X X X X X X X 1 X X X 0 X X X X X X X X X X X X 1
344 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Входы Выход 10 и 12 I3 I4 I5 I6 I7 IB 19 110 111 112 113 114 115 О X X X X 0 X X X X X X X X X X X 1 X X X X X 0 X X X X X X X X X X 1 X X X X X X 0 X X X X X X X X X 1 X X X X X X X 0 X X X X X X X X 1 X X X X X X X X 0 X X X X X X X 1 X X X X X X X X X 0 X X X X X X 1 X X X X X X X X X X 0 X X X X X 1 X X X X X X X X X X X 0 X X X X 1 X X X X X X X X X X X X 0 X X X 1 X X X X X X X X X X X X X 0 X X 1 X X X X X X X X X X X X X X 0 X 1 X X X X X X X X X X X X X X X 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-11, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. Ш.З. Логические элементы ИЛИ Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Logic Primitives. OR2 — логический элемент 2ИЛИ И OR2 Назначение выводов: 1 'Х о 10, II - входы. ——} У О - выход. Выполняемая функция О = 10 111 Таблица истинности элемента OR2 Входы Выход Ю и О 1 X 1 X 1 1 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - примитив. OR2B1 — логический элемент 2ИЛИ с инверсией по одному из входов OR2B1 Назначение выводов: X о 10, II-входы. ILrJ У О - выход. Выполняемая функция О = ~Ю | II Таблица истинности элемента OR2BI Входы Выход 10 и О 0 X 1 X 1 1 1 0 0
Приложение !. Унифицированные библиотеки компонентов 345 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II. Virtex-II Pro. XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. OR2B2 — логический элемент 2ИЛИ с инверсией но входам OR2B2 Назначение выводов: —Ф \ О 10, II - входы. 10 q) О - выход. Выполняемая функция О = -10 | ~ II Таблица истинности элемента OR2B2 Входы Выход 10 И О 0 X 1 X 0 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CooIRunner-II. Тип элемента - примитив. OR3 —логический элемент ЗИЛИ Назначение выводов: 10, II, 12 - входы. О - выход. Выполняемая функция О = 10 111 112 Таблица истинности элемента OR3 Входы Выход ю и I2 о 1 X X 1 X 1 X 1 X X 1 1 0 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CooIRunner-П. Тип элемента - примитив. OR3BI - логический элемент ЗИЛИ с инверсией по одному из входов В OR3B1 Назначение выводов: 10,11,12 - входы. О - выход. Выполняемая функция О = ~I0 | II 112
346 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента OR3B1 Входы Выход 10 и I2 О 0 X X 1 X 1 X 1 X X 1 1 1 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-Е, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. OR3B2 — логический элемент ЗИЛИ с инверсией по двум входам е OR3B2 Назначение выводов: L___ 10,11,12 - входы. У-g — О - выход. Ю -----' Выполняемая функция О = ~Ю | -II 112 Таблица истинности элемента OR3B2 Входы Выход 10 11 12 О 0 X X 1 X 0 X 1 X X 1 1 1 1 0 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. OR3B3 — логический элемент ЗИЛИ с инверсией по входам а OR3B3 Назначение выводов: А, 10,11,12 - входы. у—О - выход. Ю J-—S Выполняемая функция О = ~Ю | -I I | —12 Таблица истинности элемента OR3B3 Входы Выход ю 11 I2 О 0 X X 1 X 0 X 1 X X 0 1 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив.
Приложение /. Унифицированные библиотеки компонентов 347 OR4 - логический элемент 4ИЛИ Назначение выводов: 10, II, 12,13 - входы. О - выход. Выполняемая функция О = 10 | II 112 113 Таблица истинности элемента OR4 Входы Выход 10 и 12 I3 О 1 X X X 1 X 1 X X 1 X X 1 X 1 X X X 1 1 0 0 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. OR4B1 -логический элемент 4ИЛИ с инверсией по одному из входов и OR4B1 Назначение выводов: 10, II, 12,13 - входы. О - выход. Выполняемая функция О = ~ 10 | II & 12 113 Таблица истинности элемента OR4B1 Входы Выход ю и I2 I3 О 0 X X X 1 X 1 X X 1 X X 1 X 1 X X X 1 1 1 0 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. OR4B2 — логический элемент 4ИЛИ с инверсией по двум входам в OR4B2 Назначение выводов: 10,11,12,13 - входы. О - выход. Выполняемая функция О = ~ 10 | -II 112 113
348 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента OR4B2 Входы Выход 10 и I2 I3 О 0 X X X 1 X 0 X X 1 X X 1 X 1 X X X 1 1 1 1 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. OR4B3 — логический элемент 4ИЛИ с инверсией по трем входам В OR4B3 Назначение выводов: I 10,11,12,13 - входы. —-Ot—о О - выход. И 'J Выполняемая функция О = ~Ю | ~П | ~12 113 ю J Таблица истинности элемента OR4B3 Входы Выход 10 и I2 I3 О 0 X X X 1 X 0 X X 1 X X 0 X 1 X X X 1 1 1 1 1 0 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента — примитив. OR4B4 — логический элемент 4ИЛИ с инверсией по входам 13 OR4B4 Назначение выводов: "q 10, II, 12,13 - входы. •^-СХ—х. 0 О - выход. и -I У Выполняемая функция О = ~Ю | —II | -12 | -13 ю J Таблица истинности элемента OR4B4 Входы Выход 10 и I2 I3 О 0 X X X 1 X 0 X X 1 X X 0 X 1 X X X 0 1 1 1 1 1 0
Приложение I. Унифицированные библиотеки компонентов 349 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. OR5 OR5 — логический элемент 5ИЛИ Назначение выводов: 10, II, 12,13,14 - входы. О - выход. Выполняемая функция О = 10 | II 112 113 114 Таблица истинности элемента OR5 Входы Выход 10 11 I2 I3 I4 О 1 X X X X 1 X 1 X X X 1 X X 1 X X 1 X X X 1 X 1 X X X X 1 1 0 0 0 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-И, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. OR5B1 — логический элемент 5ИЛИ с инверсией по одному из входов OR5B1 Назначение выводов: 10,11,12,13,14-входы. О - выход. Выполняемая функция О = ~I01II 112 113 114 Таблица истинности элемента OR5B1 Входы Выход I0 и I2 13 I4 О 0 X X X X 1 X 1 X X X 1 X X 1 X X 1 X X X 1 X 1 X X X X 1 1 1 0 0 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtcx-II, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив.
350 Зотов В. fO. Проектирование цифровых устройств на основе ПЛИС ORSB2 — логический элемент 5ИЛИ с инверсией по двум входам OR5B2 Назначение выводов: 10,11,12,13,14-входы. О - выход. Выполняемая функция О = -10 | ~П 112 113 114 Таблица истинности элемента OR5B2 Входы Выход 10 11 I2 13 I4 о 0 X X X X 1 X 0 X X X 1 X X 1 X X 1 X X X 1 X 1 X X X X 1 1 1 1 0 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. OR5B3 — логический элемент 5ИЛИ с инверсией по трем входам OR5H3 Назначение выводов: 10, II, 12,13,14 - входы. О - выход. Выполняемая функция О = -10 | -II | -12 113 114 Таблица истинности элемента OR5B3 Входы Выход I0 11 I2 I3 I4 О 0 X X X X 1 X 0 X X X 1 X X 0 X X 1 X X X 1 X 1 X X X X 1 1 1 1 1 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-П. Тип элемента - примитив.
Приложение I. Унифицированные библиотеки компонентов 351 ORSB4 — логический элемент 5ИЛИ с инверсией по четырем входам OR5B4 Назначение выводов: 10,11,12,13,14-входы. О - выход. Выполняемая функция О = ~Ю | ~П | ~12 | ~13 114 Таблица истинности элемента OR5B4 Входы Выход 10 и I2 13 14 о 0 X X X X 1 X 0 X X X 1 X X 0 X X 1 X X X 0 X 1 X X X X 1 1 1 1 1 1 0 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тнп элемента - примитив. OR5B5 — логический элемент ЗИЛИ с инверсией по входам OR5B5 Назначение выводов: 10,11,12,13,14-входы. О - выход. Выполняемая функция О = —10 | —11 | —12 | —13 | -14 I Таблица истинности элемента OR5B5 Входы Выход I0 и I2 I3 14 О 0 X X X X 1 X 0 X X X 1 X X 0 X X 1 X X X 0 X 1 X X X X 0 1 1 1 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тнп элемента - примитив.
352 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС OR6 - логический элемент 6ИЛИ И Назначение выводов: 10, II, 12,13,14,15 - входы. О - выход. Выполняемая функция О = 10 111 112 113 114115 Таблица истинности элемента OR6 Ю Входы Выход 10 и I2 I3 14 I5 О 1 X X X X X 1 X 1 X X X X 1 X X 1 X X X 1 X X X 1 X X 1 X X X X 1 X 1 X X X X X 1 1 0 0 0 0 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П - примитив; для Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro - макрос. OR7—логический элемент 7ИЛИ Назначение выводов: 10, II, 12,13,14,15,16 - входы. О - выход. Выполняемая функция О = 10 | II 112113 114 115 116 И ю Таблица истинности элемента OR7 Входы Выход I0 11 I2 13 I4 15 I6 О 1 X X X X X X 1 X 1 X X X X X 1 X X 1 X X X X 1 X X X 1 X X X 1 X X X X 1 X X 1 X X X X X 1 X 1 X X X X X X 1 1 0 0 0 0 0 0 0 0 1
Приложение 1. Унифицированные библиотеки компонентов 353 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-11 - примитив; для Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-П Pro - макрос. OR8 — логический элемент 8ИЛИ Назначение выводов: 10, II, 12,13,14,15,16,17 - входы. О - выход. Выполняемая функция О = 10 111 112 113 114 115 116 117 Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П - примитив; для Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro - макрос. OR9 — логический элемент 9ИЛИ Назначение выводов: 10, II, 12,13,14,15,16, Г7,18 - входы. О - выход. Выполняемая функция О = 10 111112 113 114 115 116 | 17 118 0R9 *2 Зотов В.Ю.
354 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента OR9 Входы Выход 10 11 I2 I3 I4 I5 I6 I7 I8 О 1 X X X X X X X X 1 X 1 X X X X X X X 1 X X 1 X X X X X X 1 X X X 1 X X X X X 1 X X X X 1 X X X X 1 X X X X X 1 X X X 1 X X X X X X 1 X X 1 X X X X X X X 1 X 1 X X X X X X X X 1 1 0 0 0 0 0 0 0 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II - примитив; для Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-П Pro - макрос. OR12 — логический элемент 12ИЛИ Назначение выводов: 10, II, 12,13,14,15,16,17,18,19, ПО, II1 - входы. О - выход. Выполняемая функция О = 10 | II112 113 114 115 116 | 17 118 119 1110 1111 О OR12 111 110 IS IS 17 16 15 14 13 12 И Ю Таблица истинности элемента OR12 Входы Выход 10 и I2 I3 I4 I5 16 I7 I8 I9 110 111 О 1 X X X X X X X X X X X 1 X 1 X X X X X X X X X X 1 X X 1 X X X X X X X X X 1 X X X 1 X X X X X X X X 1 X X X X 1 X X X X X X X 1 X X X X X 1 X X X X X X 1 X X X X X X 1 X X X X X 1 X X X X X X X 1 X X X X 1 X X X X X X X X 1 X X X 1 X X X X X X X X X 1 X X 1 X X X X X X X X X X 1 X 1 X X X X X X X X X X X 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
Приложение I. Унифицированные библиотеки компонентов 355 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ. Virtex, Virtex-E. Virtcx-II, Virtex-П Pro. Тип элемента - макрос. OR16 - логический элемент 16ИЛИ Назначение выводов: 10, II, 12, 13, 14, 15, 16, 17, 18, 19, ПО, Ill, 112, 113,114,115 -входы. О - выход. Выполняемая функция 0 = 10111 112 ИЗ 114115 116 117 118 &I 19 1110 1111 I 112111311141115 Таблица истинности элемента OR16 Входы Выход 10 и I2 I3 14 I5 I6 I7 I8 19 по 111 112 из 114 115 о 1 X X X X X X X X X X X X X X X 1 X 1 X X X X X X X X X X X X X X 1 X X 1 X X X X X X X X X X X X X 1 X X X 1 X X X X X X X X X X X X 1 X X X X 1 X X X X X X X X X X X 1 X X X X X 1 X X X X X X X X X X 1 X X X X X X 1 X X X X X X X X X 1 X X X X X X X 1 X X X X X X X X 1 X X X X X X X X 1 X X X X X X X 1 X X X X X X X X X 1 X X X X X X 1 X X X X X X X X X X 1 X X X X X 1 X X X X X X X X X X X 1 X X X X 1 X X X X X X X X X X X X 1 X X X 1 X X X X X X X X X X X X X 1 X X 1 X X X X X X X X X X X X X X 1 X 1 X X X X X X X X X X X X X X X 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Поддерживаемые семейства ПЛИС: Spartan-II. Spartan-IIE, Virtex. Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. 12-
356 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС П1.4. Логические элементы ИЛИ-НЕ NOR2 Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Logic Primitives. NOR2 — логический элемент 2ИЛИ-НЕ Назначение выводов: 10, II - входы. О - выход. Выполняемая функция О = ~(I0 | II) Таблица истинности элемента NOR2 Входы Выход 10 И о 1 X 0 X 1 0 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента — примитив. NOR2B1 - логический элемент 2ИЛИ-НЕ с инверсией по одному из входов .. NOR2B1 Назначение выводов: 10, II - входы. О - выход. Выполняемая функция О = -(-10 III) Таблица истинности элемента NOR2B1 Входы Выход I0 и О 0 X 0 X 1 0 1 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тнп элемента - примитив. NOR2B2 - логический элемент 2ИЛИ-НЕ с инверсией по входам „ NOR2B2 Назначение выводов: 10,11 - входы. О - выход. Выполняемая функция О = ~(~I0 | ~ II) Таблица истинности элемента NOR2B2 Входы Выход 10 и О 0 X 0 X 0 0 1 1 1
Приложение 1. Унифицированные библиотеки компонентов 357 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. NOR3 — логический элемент ЗИЛИ-НЕ Назначение выводов: 10, II, 12- входы. О - выход. Выполняемая функция О = ~(I0 | II 112) N0R3 12 Таблица истинности элемента NOR3 Входы Выход 10 и I2 - О 1 X X 0 X 1 X 0 X X 1 0 0 0 0 I Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. NOR3BI — логический элемент ЗИЛИ-НЕ с инверсией по одному из входов Назначение выводов: 10, II, 12 - входы. О - выход. Выполняемая функция О = ~(~I0 | II 112) Таблица истинности элемента NOR3BI Входы Выход I0 11 12 О 0 X X 0 X 1 X 0 X X 1 0 1 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - примитив. NOR3B2 - логический элемент ЗИЛИ-НЕ с инверсией по двум входам 12 NOR3B2 Назначение выводов: 10, 11, 12-входы. О - выход. Выполняемая функция О = —(—10 | —II 112)
358 Зотов В. tO. Проектирование цифровых устройств па основе ПЛИС Таблица истинности элемента NOR3B2 Входы Выход 10 и 12 О 0 X X 0 X 0 X 0 X X 1 0 1 1 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-Е, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. NOR3B3 — логический элемент ЗИЛИ-НЕ с инверсией по входам а NOR3B3 Назначение выводов: Ц 10,11,12 - входы. О- выход. ---S Выполняемая функция О = ~(~I0 1-11 1-12) Таблица истинности элемента NOR3B3 Входы Выход 10 и I2 О 0 X X 0 X 0 X 0 X X 0 0 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. NOR4 — логический элемент 4ИЛИ-НЕ Назначение выводов: 10, II, 12,13 - входы. О - выход. Выполняемая функция О = ~(I0 111 112113) Таблица истинности элемента NOR4 Входы Выход I0 и 12 I3 О 1 X X X 0 X 1 X X 0 X X 1 X 0 X X X 1 0 0 0 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - примитив.
Приложение I. Унифицированные библиотеки компонентов 359 NOR4B1 —логический элемент 4ИЛИ-НЕ с инверсией по одному из входов в N0R4B1 Назначение выводов: I 10, II, 12,13 - входы. ——I О - выход. И 1 — Выполняемая функция О = ~(~ 10 111 & 12 113) Joj Таблица истинности элемента NOR4B1 Входы Выход 10 11 I2 I3 О 0 X X X 0 X 1 X X 0 X X 1 X 0 X X X 1 0 1 0 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. NOR4B2 - логический элемент 4ИЛИ-НЕ с инверсией по двум входам 13 NOR4B2 Назначение выводов: I 10, II, 12,13 - входы. ——I—\ О - выход. ( 11 rJ Выполняемая функция О = ~(~ 10 | -II 112 113) loj Таблица истинности элемента NOR4B2 Входы Выход 10 и 12 I3 О 0 X X X 0 X 0 X X 0 X X 1 X 0 X X X 1 0 1 1 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. NOR4B3 - логический элемент 4ИЛИ-НЕ с инверсией по трем входам 13 NOR4B3 Назначение выводов: I Ю, II, 12,13 - входы. 12 J__ „ —СХ—'х, о О - выход. и xJ Выполняемая функция О = ~(—10 | -11 I -12 113) 10
360 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента NOR4B3 Входы Выход 10 и I2 I3 о 0 X X X 0 X 0 X X 0 X X 0 X 0 X X X 1 0 1 1 1 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-II, Virtex-II Pro, XC95OO/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. NOR4B4 - логический элемент 4ИЛИ-НЕ с инверсией по входам NOR4B4 Назначение выводов: 10, II, 12,13 - входы. О - выход. Выполняемая функция О = ~(~ 10 | ~И | ~I2 | -13) Таблица истинности элемента NOR4B4 Входы Выход I0 11 12 I3 О 0 X X X 0 X 0 X X 0 X X 0 X 0 X X X 0 0 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - примитив. NOR5 —логический элемент 5ИЛИ-НЕ NOR5 Назначение выводов: 10, II, 12,13,14 - входы. О - выход. Выполняемая функция О = —(10 | П 112 113 114) Таблица истинности элемента NOR5 Входы Выход Ю и I2 I3 I4 о 1 X X X X 0 X 1 X X X 0 X X 1 X X 0 X X X 1 X 0 X X X X I 0 0 0 0 0 0 1
Приложение I. Унифицированные библиотеки компонентов 361 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. NORSB 1 — логический элемент 5ИЛИ-НЕ с инверсией по одному из входов |4 MORSB1 Назначение выводов: ---1 10,11,12,13,14 - входы. 12—1 О - выход. 12 «к о Выполняемая функция О = ~(~ 10 111 112 113 114) И г----' Таблица истинности элемента NOR5B1 Входы Выход 10 И I2 I3 I4 о 0 X X X X 0 X 1 X X X 0 X X 1 X X 0 X X X 1 X 0 X X X X 1 0 1 0 0 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. NOR5B2 — логический элемент 5ИЛИ-НЕ с инверсией по двум входам NOR5B2 Назначение выводов: 10,11,12,13,14 - входы. О - выход. Выполняемая функция О = ~(~ 101 ~ II 112 113 114) Таблица истинности элемента NORSB2 Входы Выход ю и I2 I3 I4 О 0 X X X X 0 X 0 X X X 0 X X 1 X X 0 X X X 1 X 0 X X X X 1 0 1 1 0 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-Il, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPI.A3, CoolRunner-II. Тип элемента - примитив.
362 Эстов В. Ю. Проектирование цифровых устройств па основе ПЛИС NOR5B3 — логический элемент 5ИЛИ-НЕ с инверсией по трем входам м NOR5B3 Назначение выводов: ---1 10,11,12,13,14-входы. 13 I О - выход. 12 Т “х. 0 Выполняемая функция О = ~(~ 10 | -И | -12 113 |14) И_/— Ю J Таблица истинности элемента NORSB3 Входы Выход 10 II I2 I3 14 О 0 X X X X 0 X 0 X X X 0 X X 0 X X 0 X X X 1 X 0 X X X X 1 0 1 1 1 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E. Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - примитив. NORSB4 — логический элемент 5ИЛИ-НЕ с инверсией по четырем входам NOR5B4 Назначение выводов: 10, II, 12,13,14 - входы. О - выход. Выполняемая функция О = ~(~ 10 | -111 ~ 12 | ~ 13 | 14) Таблица истинности элемента NOR5B4 Входы Выход I0 11 12 I3 I4 О 0 X X X X 0 X 0 X X X 0 X X 0 X X 0 X X X 0 X 0 X X X X 1 0 1 1 1 1 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-И Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив.
Приложение 1. Унифицированные библиотеки компонентов 363 NORSBS -логический элемент 5ИЛИ-НЕ с инверсией по входам |4 NORSBS Назначение выводов: 10,11,12,13,14 - входы. О - выход. и д—ч. 0 Выполняемая функция О = -(- 10 | ~11 | - 12 | -13 | "Я А -14) joJ Таблица истинности элемента NORSBS Входы Выход 10 и I2 13 I4 О 0 X X X X 0 X 0 X X X 0 X X 0 X X 0 X X X 0 X 0 X X X X 0 0 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. __ NOR6 -логический элемент 6ИЛИ-НЕ Назначение выводов: 10, II, 12,13,14,15 - входы. О - выход. Выполняемая функция О = ~(I0 | II 112 113 114115) 10 Таблица истинности элемента NOR6 Входы Выход 10 и I2 I3 14 I5 О 1 X X X X X 0 X 1 X X X X 0 X X 1 X X X 0 X X X 1 X X 0 X X X X 1 X 0 X X X X X 1 0 0 0 0 0 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Viitcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента: для семейства XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II - примитив; для Spartan-II. Spartan-IIE, Virtex, Virtcx-E, Virtex-II. Virtex-II Pro - макрос.
364 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС NOR7 16 NOR7 - логический элемент 7ИЛИ-НЕ Назначение выводов: 10,11,12,13,14,15,16-входы. О - выход. Выполняемая функция О = ~(I0 | П 112 113 114 115 116) Таблица истинности элемента NOR7 Входы Выход 10 и I2 I3 I4 I5 16 О 1 X X X X X X 0 X 1 X X X X X 0 X X 1 X X X X 0 X X X 1 X X X 0 X X X X 1 X X 0 X X X X X 1 X 0 X X X X X X 1 0 0 0 0 0 0 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П - примитив; для Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtcx-П Pro - макрос. NOR8 — логический элемент 8ИЛИ-НЕ NORB Назначение выводов: 10,11,12,13,14,15,16,17 - входы. О - выход. Выполняемая функция О = ~(I0 | II 112 113 114 115 | 16 117) Таблица истинности элемента NOR8 Входы Выход ю и 12 I3 I4 I5 I6 I7 0 1 X X X X X X X 0 X 1 X X X X X X 0 X X 1 X X X X X 0 X X X 1 X X X X 0
Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П - примитив; для Spartan-Ц Spartan-ПЕ, Virtex, Virtex-E, Virtcx-П, Virtex-II Pro - макрос. NOR9 — логический элемент 9ИЛИ-НЕ Назначение выводов: 10,11,12,13,14,15,16,17,18 - входы. О - выход. Выполняемая функция О = ~(10 111112 113 114 115 116 117118) о NOR9 18 17 16 В 14 \ \ В fZ 12 И 10 Таблица истинности элемента NOR9 Входы 10 и I2 I3 14 1 X X X X X 1 X X X X X 1 X X X X X 1 X X X X X 1 X X X X X X X X X X X X X X X X X X X X 0 0 0 0 0 Выход 15 I6 I7 I8 О X X X X 0 X X X X 0 X X X X 0 X X X X 0 X X X X 0 1 X X X 0 X 1 X X 0 X X 1 X 0 X X X 1 0 0 0 0 0 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента: для семейства XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П - примитив; для Spartan-II, Spartan-ПЕ, Virtex, Virtcx-Е, Virtex-II, Virtcx-П Pro - макрос.
366 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС NOR12 - логический элемент 12ИЛИ-НЕ N0R12 111 110 Ю Ю I7 Назначение выводов: 10, II, 12.13,14,15,16,17,18,19, ПО, Il I - входы. О - выход. Выполняемая функция О = ~(Ю I III 12 113 114 115 116 117 118 119 I ПО I Ill) NOR16 - логический элемент 16ИЛИ-НЕ 15 14 13 12 И Ю Назначение выводов: 10, II, 12,13,14,15,16,17,18,19, ПО, 111,112,113,114, 115 - входы. О - выход. Выполняемая функция О - -(10 111 112 113 114 115 | 16 117 118 &1I9 I ПО IIII 1112 1113 11141115)
Приложение I. Унифицированные библиотеки компонентов 367 Тип элемента - макрос. П1.5. Логические элементы ИСКЛЮЧАЮЩЕЕ ИЛИ Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Logic Primitives. XOR2 - логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ - XOR2 Назначение выводов: 10,11 - входы. О - выход. Выполняемая функция О = 10 л II Таблица истинности элемента XOR2 Входы Выход 10 11 о 0 0 0 1 0 1 0 1 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив.
368 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС XOR3 —логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ с тремя входами XOR3 12 Назначение выводов: 10,11,12-входы. О - выход. Выполняемая функция О = 10 Л11 л 12 Таблица истинности элемента XOR3 Входы Выход 10 и I2 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 1 0 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. XOR4 — логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ с четырьмя входами XOR4 Назначение выводов: 10, П, 12,13 - входы. О - выход. Выполняемая функция О -10 Л11 л 12 л 13 Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CooIRunner-П. Тип элемента - примитив.
Приложение 1. Унифицированные библиотеки компонентов 369 XORS —логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ с пятью входами X0R5 Назначение выводов: 10,11,12,13,14-входы. О - выход. Выполняемая функция О = 10 Л 11 л 12 л 13 л 14 Таблица истинности элемента XOR5 Входы Выход Входы Выход 10 и 12 I3 I4 о I0 и I2 13 I4 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. XOR6 - логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ с шестью входами Поддерживаемые семейства ПЛИС: Spartan-11, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - макрос.
370 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС XOR7 — логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ с семью входами к XOR7 Назначение выводов: ~ 10,11,12,13,14,15,16 - входы. О — выход. — _____ Выполняемая функция О = 10 Л 11 л 12 л 13 л 14 л 15 л 16 13 X о 12 р---' и ю Таблица истинности элемента XOR7 Входы 10, И, 12,13,14,15,16 Выход О Четное число сигналов высокого уровня на входах 10, И, 12,13,14,15,16 0 Нечетное число сигналов высокого уровня на входах 10, И, 12,13,14,15,16 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента — макрос. XOR8— логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ с восемью входами XOR8 17 Назначение выводов: Т| 10,11,12,13,14,15,16,17 - входы. Го “Т" О-выход. — Выполняемая функция О = 10 Л II л 12 л 13 л 14 л 15 йДг-'Х о л16л17 в )] у------ 12 И Ю Таблица истинности элемента XOR8 Входы I0,11,12,13,14,15, 16,17 Выход О Четное число сигналов высокого уровня на входах 10, И, 12,13,14,15,16,17__0 Нечетное число сигналов высокого уровня на входах 10, И, 12,13,14,15,16,17 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. XOR9 - логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ с девятью входами is XOR® Назначение выводов: (7 16 К И О 10, И, 12,13,14,15,16,17,18 - входы. О - выход. Выполняемая функция Л—ч о О = 10 л 11 л 12 л 13 л 14 л 15 л 16 л 17 л 18 12 и 10
Приложение I. Унифицированные библиотеки компонентов 371 Таблица истинности элемента XOR9 Входы 10, И. 12.13.14,15.16,17, IB Выход О Четное число сигналов высокого уровня на входах 10, И, 12,13,14,15,16,17,18 0 Нечетное число сигналов высокого уровня на входах 10, И, 12,13,14,15,16, 17,18 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. П1.6. Логические элементы ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Logic Primitives. XNOR2 -логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ XNOR2 Назначение выводов: 10, II - входы. О - выход. Выполняемая функция О = ~(Ю л II) Таблица истинности элемента XNOR2 Входы Выход Ю и О 0 0 1 1 0 0 0 1 0 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. XNOR3 - логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ-HE с тремя входами и XNOR3 Назначение выводов: 10, II, 12 — входы. О - выход. Выполняемая функция О = ~(Ю л 11 л 12) Таблица истинности элемента XNOR3 Входы Выход I0 11 I2 О 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0
372 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - примитив. XNOR4 — логический элемент ИСКЛЮЧАЮЩЕЕ ИЛ И-НЕ с четырьмя входами XNOR4 Назначение выводов: 10,11,12,13 - входы. О - выход. Выполняемая функция О = ~(10 л 11 л 12 л 13) Таблица истинности элемента XNOR4 Входы Выход 10 и I2 I3 О 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. XNOR5 -логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ-HE с пятью входами XNOR6 Назначение выводов: 10, II, 12,13,14 - входы. О — выход. Выполняемая функция О - ~(Ю Л II Л 12 Л 13 Л 14) Таблица истинности элемента XNOR5 Входы Выход Ю и I2 I3 14 о 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 Входы Выход ю и I2 13 14 О 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 1 1
Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив. XNOR6 —логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ с шестью входами XNOR6 Назначение выводов: 10, П, 12,13,14,15 - входы. О - выход. Выполняемая функция О = ~(10 Л П Л 12 л 13 л 14 л 15) Таблица истинности элемента XNOR6 Входы Ю, И, I2,I3,I4,15 Выход О Четное число сигналов высокого уровня на входах Ю, 11,I2,I3,I4, I5 1 Нечетное число сигналов высокого уровня на входах Ю, И, I2,13,14,15 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. XNOR7 -логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ с семью входами Назначение выводов: 10, II, 12,13,14,15,16 - входы. О - выход. Выполняемая функция О = ~(Ю Л II л 12 л 13 л 14 л 15 л 16) и ю XNOR7 I6 IS I4
374 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС Таблица истинности элемента XNOR7 Входы 10, И, 12,13,14,15,16 Выход О Четное число сигналов высокого уровня на входах 10, И, 12,13,14,15,16 1 Нечетное число сигналов высокого уровня на входах 10, И, 12,13,14,15,16 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CooIRunner XPLA3. CoolRunner-II. Тип элемента - макрос. XNOR8 — логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ-HE с восьмью входами Назначение выводов: 10,11,12,13,14,15,16,17 - входы. О - выход. Выполняемая функция О = ~(Ю л II л 12 л 13 л 14 л 15 л 16 л 17) 12 и ю Таблица истинности элемента XNOR8 Входы 10. И, 12, 13,14,15,16,17 Выход О Четное число сигналов высокого уровня на входах 10,11,12,13,14,15,16, 17 1 Нечетное число сигналов высокого уровня на входах 10, И, 12,13,14,15,16,17 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-Е, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента — макрос. XNOR9 — логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ-HE с девятью входами Назначение выводов: 10, П, 12,13,14,15,16,17,18 - входы. О - выход. Выполняемая функция О = ~(Ю Л II Л 12 Л 13 Л14 Л 15 Л16 Л 17 Л 18) 12 И ю Таблица истинности элемента XNOR9 Входы 10, 11, I2, I3, I4, I5. 16, 17, 18 Выход О Четное число сигналов высокого уровня на входах 10, И, 12, 13,14,15. 16.17,18 1 Нечетное число сигналов высокого уровня на входах 10, 11, I2,13, I4,15,16,17 18 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 375 П1.7. Инверторы Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Logic Primitives. INV - инвертор Назначение выводов: I - вход. О - выход. Выполняемая функция О = -1 Таблица истинности элемента INV Вход Выход 1 о 0 1 1 0 INV4- Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - примитив. четыре независимых инвертора Назначение выводов: 10 -13 - входы. ОО - ОЗ - выходы. Выполняемая функция ОО = -10; Ol = -II; 02 = -12; 03 = -13. Таблица истинности элемента INV4 INV4 10 ОО 0 1 1 0 и О1 0 1 1 0 I2 02 0 1 1 0 13 03 0 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex. Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. INV8 - восемь независимых инверторов |- INV8 Назначение выводов: 10 -17 - входы, объединенные в шину 1[7:0]00 - 07 - выходы, объединенные в шипу 0(7:0] Выполняемая функция: ОО = -10; OI = ~П; 02 = -12; 03 = -13; 04 = -14; 05 = -15; Об = -16; 07 = -17. Таблица истинности элемента 1NV8 I0 ОО и О1 I2 02 I3 03 14 04 I5 05 I6 06 I7 07 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1_ 0 1 0 1 0 1 0 1 0 1 0 1 0
376 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Поддерживаемые семейства ПЛИС: Spartan-U, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. INV16 — шестнадцать независимых инверторов INV16 Назначение выводов: 10-115- входы, объединенные в шину 1[15:0]. 00 - 015 - выходы, объединенные в шину О[ 15:0]. Выполняемая функция ОО = -10; О1 = -II; 02 = -12; 03 = -13; 04 = -14; 05 = -15; Об = -16; 07 = -17; 08 = -18; 09 = -19; 010 = -ПО; О11 = -II1; 012 =-112; 013 =-113; 014 =-114; 015 =-115. Таблица истинности элемента INV16 ю ОО И 01 I2 02 I3 03 I4 04 I5 05 16 06 17 07 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 18 08 19 09 ПО ою 111 О11 112 012 113 013 114 014 115 015 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtcx-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. П1.8. Буферные элементы Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Buffer. Глобальные буферы, также относящиеся к этой катего- рии, предназначены для передачи входных сигналов синхронизации и управления на специальные выделенные цепи, обеспечивающие распределение тактового сигнала внутри кристалла с высоким коэффициентом разветвления и минимальными разбе- гами фронтов. BUF BVF - буферный элемент Назначение выводов: I - вход. О - выход. Выполняемая функция 0 = 1 Таблица истинности элемента BUF Вход Выход 1 о 0 0 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. 1 ип элемента - примитив.
Приложение 1. Унифицированные библиотеки компонентов 377 BUF4 BVF4 — четыре буферных элемента Назначение выводов: 10 -13 - входы. СЮ - ОЗ — выходы. Выполняемая функция ОО = 10; 01=11; 02 = 12; 03 = 13. Таблица истинности элемента BUF4 10 00 0 0 1 1 и О1 0 0 1 1 I2 02 0 0 . 1 1 XC9500/XV/XL, I3 03 0 0 1 1 Поддерживаемые семейства ПЛИС: CoolRunner-П. Тип элемента - макрос. CoolRunner XPLA3, BUF8 — восемь буферных элементов BUF8 1[7Л] 0(7:0] Назначение выводов: 10 -17 - входы, объединенные в шину 1 [7:0] ОО - 07 - выходы, объединенные в шину 0(7:0] Выполняемая функция ОО = 10; О1 = 11; 02 = 12; 03 = 13; 04 = 14; 05 = 15; Об = 16; 07 =17. Таблица истинности элемента BUF8 ю ОО и О1 12 02 I3 03 14 04 I5 05 16 06 I7 07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента-макрос. BVF16 — шестнадцать буферных элементов BUF16 Назначение выводов: 1[1б'(Л 0И6Я1 Ю-115 - входы, объединенные в шину 1(15:0]. 1 J ОО - 015 - выходы, объединенные в шину 0(15:0]. Выполняемая функция ОО = 10; О1 = II; 02 = 12; 03 = 13; 04 = 14; 05 = 15; Об = 16; 07 = 17; 08 = 18; 09 = 19; 010 = ПО; OI1 = 111; 012 = 112; 013=113; 014 = 114; 015 = 115. Таблица истинности элемента BUF16 ю 00 и 01 I2 02 13 03 I4 04 I5 05 I6 06 17 07 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I8 OS I9 09 ио 010 111 О11 112 012 из 013 114 014 115 015 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 _ 1 1 1 1
378 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. BVEE — буферный элемент с тристабильным выходом виге Назначение выводов: ------1 I - вход данных. Е - вход разрешения (переключения в третье состояние). I ° О - выход. Выполняемая функция 0 = 1 при Е = 1, О = Z ("ВЫКЛЮЧЕНО") при Е = 0. Таблица истинности элемента BVFE Входы Выход Е 1 0 0 X Z 1 0 0 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtcx-II Pro, XC9500, CoolRunner XPLA3. J Тип элемента - примитив. BVFE4 — четыре буферных элемента с тристабильным выходом, и общим входам разрешения BUFE4 Е Назначение выводов: 10 -13 - входы данных. Е - вход разрешения (переключения в третье состояние). ОО - 03 - выходы. Выполняемая функция 00 = 10; 01=11; 02 = 12; 03 = 13 при Е=1, O0 = Z; O1=Z; O2=Z; O3=Z ("ВЫКЛЮЧЕНО") при Е = 0. Таблица истинности элемента BVFE4 Е I0 ОО и 01 12 02 13 03 0 X Z X Z X Z X Z 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500, CoolRunner XPLA3. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 379 BVFE8 — восемь буферных элементов с тристабильным выходом и общим входом разрешения BUFEe Назначение выводов: —-----1 10 - 17 - входы соответствующих буферных элементов, объединенные в шину 1[7:0]. 0- О[7Л1 Е ~ вход разрешен™ (переключения в третье состояние). СЮ - 07 - выходы соответствующих буферных элемен- тов, объединенные в шину О[7:0]. Выполняемая функция: 00 = 10; 01=11; 02 = 12; 03=13; 04 = 14; 05 = 15; Об = 16; 07 = 17 при Е = 1, ОО = Z; О1 = Z; 02 = Z; 03 = Z; 04 = Z; 05 = Z; Об = Z; 07 = Z ("ВЫКЛЮЧЕНО") при Е=0. Таблица истинности элемента BUFE8 Е ю ОО и 01 12 02 I3 03 I4 04 15 05 I6 Об I7 07 0 X Z X Z X Z X Z X Z X Z X Z X Z 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500, CoolRunner XPLA3. Тип элемента - макрос. BVFE16 — шестнадцать буферных элементов с тристабильным выходом и общим входом разрешения BUFE18 Назначение выводов: ------1 10 -115 - входы соответствующих буферных эпемен- тов, объединенные в шину 1[ 15:0]. 1[1В.-0]иИ^*^^^ИО[15:0] Е ~ вхоя разрешения (переключения в третье состояние). 00-015- выходы соответствующих буферных эле- ментов, объединенные в шину 0(15:0]. Выполняемая функция: 00 = 10; 01=11; 02=12; 03=13; 04 = 14; 05=15; 06=16; 07=17; 08 = 18; 09=19; 010 = 110;011 =111; 012 = 112; 013 = 113; 014 = 114; 015=115 при Е = 1, 00=Z; O1=Z; O2 = Z; O3 = Z; O4 = Z; O5=Z; O6=Z; O7 = Z;O8=Z; O9 = Z; OIO = Z; O11=Z; 012 = Z; 013 = Z; 014 = Z; 015 = Z ("ВЫКЛЮЧЕНО") при E=0. Таблица истинности элемента BVFE16 _Е_ ю ОО и 01 I2 02 13 03 I4 04 |5 05 I6 06 I7 07 0 X Z X Z X Z X Z X Z X Z X Z X Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
380 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Е I8 08 19 09 ио 010 111 О11 112 012 из 013 114 014 115 015 0 X Z X Z X Z X Z X Z X Z X Z X Z 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500, CooIRunner XPLA3. Тип элемента - макрос. BUFG - глобальный буферный элемент BUFG Назначение выводов: I - вход. О - выход. Выполняемая функция 0 = 1 Таблица истинности элемента BUFG Вход Выход I О 0 0 1 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. BUFGCE — глобальный буферный элемент со стробируемым выходом BUFGCE СЕ Назначение выводов: I - вход. СЕ - вход разрешения передачи входного сигнала на выход буфера (вход разрешения тактового сигнала). О - выход. Выполняемая функция: 1 0 = 1 при СЕ = 1, 0 = 0 при СЕ = 0. Таблица истинности элемента BUFGCE Входы Выход СЕ I о 0 X 0 1 0 0 1 1 1 Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-II Pro. Тип элемента - примитив. BUFGCE_1 — глобальный буферный элемент со стробируемым выходам BUFGCEJ СЕ Назначение выводов: 1 - вход. СЕ - вход разрешения передачи входного сигнала на выход буфера (вход разрешения тактового сигнала). О - выход.
Приложение 1. Унифицированные библиотеки компонентов 381 Выполняемая функция: 0 = 1 при СЕ= 1, О = 1 при СЕ = 0. Таблица истинности элемента BUFGCE_1 Входы Выход СЕ I о 0 X 1 1 0 0 1 1 1 Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-П Pro. Тип элемента - примитив. BUFGDLL-глобальный буферный элемент, входящий в состав схем цифровой автоподстройки задержки (DLL, Delay Locked Loop) BUFGDLL Назначение выводов: I - вход. О - выход. Выполняемая функция О = I Таблица истинности элемента BUFGDLL Вход Выход I о 0 0 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-П Pro. Тип элемента - примитив. BUFGMUX — глобальный буферный элемент с двумя мультиплексируемыми входами Назначение выводов: 10, II- входы тактовых сигналов. S - вход выбора сигнала синхронизации. О - выход. Выполняемая функция: О = 10 при S - 0. 0 = 11 при S = 1. Таблица истинности элемента BUFGMUX BUFGMUX Входы Выход S I0 и о 0 0 X 0 0 1 X 1 1 X 0 0 1 X 1 1 / X X 0 \ X X 0
382 Зотов В. Ю. Проектирование гофровых устройств на основе ПЛИС Поддерживаемые семейства ПЛИС: Virtex-II, Virtcx-II Pro. Тип элемента - примитив. BVFGMVX-1 - глобальный буферный элемент с двумя мультиплексируемыми входами BUFGMUX1 Назначение выводов: 10, П— входы тактовых сигналов. S - вход выбора сигнала синхронизации. О - выход. Выполняемая функция: О = 10 при S = 0. 0 = 11 при S = 1. Таблица истинности элемента BUFGMVX_I Входы Выход S 10 и 0 0 0 X 0 0 1 X 1 1 X 0 0 1 X 1 1 / X X 1 \ X X 1 Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-II Pro. Тип элемента - примитив. BVFGP- первичный глобальный буферный элемент BUFGP___ Назначение выводов: I Г*4^ о I - вход. О - выход. Выполняемая функция 0 = 1 Таблица истинности элемента В UFGP Вход Выход I 0 0 0 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. BUFGSR - глобальный буферный элемент, предназначенный для передачи сигнала на глобальные цепи сброса/установки триггеров кристалла BUFGSR Назначение выводов: I - вход. О - выход. Выполняемая функция 0 = 1
Приложение 1. Унифицированные библиотеки компонентов 383 Таблица истинности элемента BUFGSR Вход Выход 1 о 0 0 1 1 Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - примитив. BUFGTS — глобальный буферный элемент, предназначенный для передачи сигнала на глобальные цепи управления тристабильными выходами кристалла BUFGTS Назначение выводов: I о I - вход. О - выход. Выполняемая функция 0 = 1 Таблица истинности элемента BUFGTS Вход Выход I 0 0 0 1 1 Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - примитив. XC9500/XV/XL, CoolRunner XPLA3, BUFT — буферный элемент с тристабильным выходом и активным низким уровнем управляющего сигнала BUFT Назначение выводов: ------1 I - вход данных. I Т - вход разрешения (переключения в третье состояние). -!--1 ° О - выход. Выполняемая функция: 0 = 1 при Т = О, O = Z ("ВЫКЛЮЧЕНО") при Т=1. Таблица истинности элемента BUFT Входы Выход Т I 0 1 X Z 0 0 0 0 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtcx-II, Virtcx-II Pro, XC9500, CoolRunner XPLA3. Тип элемента - примитив.
384 Зотов В. К). Проектирование цифровых устройств иа основе ПЛИС BVFT4 — четыре буферных элемента с тристабильным выходам, общим входом разрешения и активным низким уровнем управляющего сигнала BUFT4 т Назначение выводов: 10 -13 - входы данных. Т - вход разрешения (переключения в третье состояние). ОО - ОЗ - выходы. Выполняемая функция: 00 = 10; 01=11; 02 = 12; 03 = 13 при Т = 0, ОО = Z; О1 = Z; 02 = Z; 03 = Z ("ВЫКЛЮЧЕНО") при Т = 1. Таблица истинности элемента BUFT4 т 10 ОО и О1 I2 02 13 03 1 X Z X Z X Z X Z 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500, CoolRunner XPLA3. Тип элемента - макрос. BVFT8 - восемь буферных элементов с тристабильным выходом, общим входам разрешения и активным низким уровнем управляющего сигнала BUFTe Назначение выводов: —-----1 10 —17 - входы соответствующих буферных элементов, I объединенные в шину 1[7:0]. 117:0] 017:0] Т—вход разрешения (переключения в третье состояние). ОО — 07 - выходы соответствующих буферных элемен- тов, объединенные в шину О[7:0]. Выполняемая функция: 00 = 10; О1 = П;О2 = 12; 03 = 13; О4 = 14;О5 = 15; 06 = 16; 07 = 17 при Т = 0, ОО = Z; O1=Z; 02 = Z; 03 =Z; 04 = Z; 05 = Z; O6 = Z; 07 = Z ("ВЫКЛЮЧЕНО") при T=l. Таблица истинности элемента BUFT8 т 10 00 и 01 12 02 13 03 I4 04 15 05 16 Об 17 07 1 X Z X Z X Z X Z X Z X Z X Z X Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500, CoolRunner XPLA3. Тип элемента - макрос.
Приложение I. Унифицированные библиотеки компонентов 385 Ц15Л] BUFT16 — шестнадцать буферных элементов с тристабильным выходам, общим входам разрешения и активным низким уровнем управляющего сигнала BUFT16 Назначение выводов: 10 - П 5 - входы соответствующих буферных элемен- тов, объединенные в шину 1[15:0]. _ Т - вход разрешения (переключения в третье состояние). L J ОО - 015 - выходы соответствующих буферных эле- ментов, объединенные в шину О[15:0]. Выполняемая функция: 00 = 10; 01=11; 02=12; 03=13; 04 = 14; 05=15; 06=16; 07=17; 08 = 18; 09=19; 010 = 110; 011=111; 012 = 112; 013 = ИЗ; 014 = 114; О15=115при Т = 0,’ O0 = Z; O1=Z; O2 = Z; O3=Z; O4 = Z; O5 = Z; O6 = Z; O7 = Z;O8 = Z; O9 = Z; O10 = Z; O1I=Z; O12 = Z; O13=Z; O14 = Z; O15 = Z ("выключено") при T = 1. Таблица истинности элемента BUFT16 т I0 ОО 11 01 12 02 13 03 I4 04 15 05 I6 Об I7 07 1 X Z X Z X Z X Z X Z X Z X Z X Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 т I8 08 I9 09 110 010 111 О11 112 012 из 013 114 014 115 015 1 X Z X Z X Z X Z X Z X Z X Z X Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 BUFCF Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500, CoolRunner XPLA3. Тип элемента - макрос. BUFCF — буферный элемент, предназначенный для передачи сигнала с выхода одной таблицы преобразования (LUT) непосредственно на входы другой LUT Назначение выводов: I - вход. О — выход. Выполняемая функция 0 = 1 Таблица истинности элемента BUFCF Вход Выход I О 0 0 1 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtcx-П Pro. Тип элемента - примитив. 13 Зотов В.Ю.
386 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС П1.9. Логические элементы, реализуемые на основе логики ускоренного переноса и каскадирования Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Logic Primitives. MULT_AND2 — логический элемент 2И, реализуемый на основе логики ускоренного переноса и каскадирования Назначение выводов: 10, II - входы, подключаемые к одноименным вхо- дам таблицы преобразования (Look-Up-Table, LUT). LO - выход, подключаемый ко входу DI элементов MUXCY, MUXCY_D или MUXCY_L. Выполняемая функция LO = 10 & 11 Таблица истинности элемента MVLTAND2 Входы Выход 10 11 LO 0 X 0 X 0 0 1 1 1 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E. Virtex-II, Virtex-II Pro. Тип элемента - примитив. ORCY—логический элемент 2ИЛИ, реализуемый на основе логики ускоренного переноса и каскадирования Назначение выводов: I - вход, подключаемый к элементам секции. CI - вход, подключаемый к выходу мультиплексора логики ускоренного переноса. О - выход. Выполняемая функция О = 10 111 Таблица истинности элемента ORCY Входы Выход 1 CI О 1 X 1 X 1 1 0 0 0 Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-11 Pro. Тип элемента - примитив. XORCY — логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, реализуемый на основе логики ускоренного переноса и каскадирования Назначение выводов: LI, CI - входы. О - выход. Выполняемая функция О = LI л С1
Приложение /. Унифицированные библиотеки компонентов 387 Таблица истинности элемента XORCY Входы Выход LI Cl О 0 0 0 1 0 1 0 1 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-11 Pro. Тип элемента - примитив. LO XORCYJD - логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ с двумя выходами, реализуемый на основе логики ускоренного переноса и каскадирования Назначение выводов: LI, CI - входы. О — основной выход. LO - дополнительный выход, предназначенный для использования в той же секции конфигурируемого логического блока (CLB). Выполняемая функция О = 10 л II; LO = 10 л II Таблица истинности элемента XORCYD Входы Выходы LI Cl О LO 0 0 0 0 1 0 1 1 0 1 1 1 1 1 0 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. XORCY_L - логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ с локальным выходом, реализуемый на основе логики ускоренного переноса и каскадирования Назначение выводов: LI, CI - входы. LO - локальный выход, предназначенный для ис- пользования в той же секции конфигурируемого логического блока (CLB). Выполняемая функция LO = 10 ЛII LO Таблица истинности элемента XORCYL Входы Выход LI Cl LO 0 0 0 1 0 1 0 1 1 1 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E. Virlcx-Il, Virtcx-11 Pro. Тип элемента - примитив.
388 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Ш.10. Триггеры с динамическим управлением Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Flip-Flop. При их описании далее используется следующее ус- ловное обозначение: Qn - состояние триггера на предыдущем шаге. FD - D-триггер D FD Q Назначение выводов: D - информационный вход D с С - вход синхронизации. > Q - выход. Таблица истинности элемента FD ВходС Вход D Выход Q Режим работы / 0 0 Загрузка 0 (сброс) / 1 1 Загрузка 1 (установка) 0 X Qn Хранение 1 X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XVZXL, CoolRunner XPLA3, CoolRunner-II. Тип элемента: для Spartan-II, Spartan-IIE Virtex, Virtex-E, Virtex-II, Vtrtex-II Pro - примитив; для XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II - макрос. FD_1 -D-триггер, тактируемый спадом импульса синхронизации Q Назначение выводов: D - информационный вход D. С - вход синхронизации. Q - выход. Таблица истинности элемента FD1 ВходС Вход D Выход Q Режим работы \ 0 0 Загрузка 0 (сброс) \ 1 1 Загрузка 1 (установка) 0 X Qn Хранение 1 X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtcx-II Pro. Тип элемента - примитив.
Приложение 1. Унифицированные библиотеки компонентов 389 FD4 - четыре D-триггера с общим входом синхронизации (четырехразрядный регистр) DO FD4 Q0 Назначение выводов: D1 Q1 DO - D3 - информационные входы D соответст- D2 Q2 вующих триггеров. С - вход синхронизации. D3 Q3 Q0 - Q3 - выходы соответствующих триггеров. с > Таблица истинности элемента FD4 ВходС Вход Dr Выход Qi Режим работы / 0 0 Загрузка 0 (сброс) Аго триггера / 1 1 Загрузка 1 (установка) Аго триггера 0 X Qni Хранение 1 X Qni Хранение Поддерживаемые семейства ПЛИС: XC95OO/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. FD8—восемь D-триггеров с общим входом синхронизации (восьмиразрядный регистр) 0[7Я] FD8 0[7:0] Назначение выводов: С > DO - D7 - информационные входы D соответствующих триггеров, объеди- ненные в шину D[7:0]. С - вход синхронизации. Q0 - Q7 - выходы соответствующих триггеров, объединенные в шину Q[7:0J. Таблица истинности элемента FD8 ВходС Вход Di Выход Qi Режим работы / 0 0 Загрузка 0 (сброс) аго трипера / 1 1 Загрузка 1 (установка) Аго трипера 0 X Qni Хранение 1 X Qni Хранение Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. FD16 - шестнадцать D-триггеров с общим входом синхронизации (Шестнадцатиразрядный регистр) б[15Л] рок; Q[15:D] Назначение выводов: DO - D15 - информационные входы D соответст- с вующих триггеров, объединенные в шину D[ 15:0]. > С - вход синхронизации. --------- Q0 - Q15 - выходы соответствующих трштсров, объединенные в шину Q[15:0].
390 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС Таблица истинности элемента FD16 Вход С Вход D/ Выход Qi Режим работы / 0 0 Загрузка 0 (сброс) но триггера / 1 1 Загрузка 1 (установка) но триггера 0 X Qni Хранение 1 X Qni Хранение Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. FDC — D-триггер с асинхронным сбросом D FDC Q С > CLR Назначение выводов: D - информационный вход D. С - вход синхронизации. CLR - вход сброса. Q - выход. Таблица истинности элемента FDC Вход CLR ВходС Вход D Выход Q Режим работы 0 / 0 0 Загрузка 0 (сброс) 0 / 1 1 Загрузка 1 (установка) 0 0 X Qn Хранение 0 1 X Qn Хранение 1 X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XWXL, CooIRunner XPLA3, CoolRunner-II. Тип элемента: для Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro - примитив; для XC9500/X V/XL, CooIRunner XPLA3, CoolRunner-II - макрос. FDC1 - D-триггер с асинхронным сбросом, тактируемый спадом импульса синхронизации D FDC_1 Q Назначение выводов: D - информационный вход D. £с > С - вход синхронизации. CLR - вход сброса. CLF lJ Q — ВЫхид. Таблица истинности элемента FDC1 Вход CLR ВходС Вход D Выход Q Режим работы 0 \ 0 0 Загрузка 0 (сброс) 0 \ 1 1 Загрузка 1 (установка) 0 0 X Qn Хранение 0 1 X Qn Хранение 1 X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E. Virtex-II, Virtex-11 Pro. Тип элемента - примитив.
Приложение i. Унифицированные библиотеки компонентов 391 FDCE - D-триггер со входом разрешения тактового сигнала и асинхронным сбросам D FDCE Q Назначение выводов: D - информационный вход D. СЕ С - вход синхронизации. С > CLR - вход сброса. CLR СЕ - вход разрешения тактового сигнала Q - выход. Таблица истинности элемента FDCE Вход CLR Вход СЕ Вход С Вход D Выход Q Режим работы 0 1 / 0 0 и Загрузка 0 (сброс) 0 1 / 1 1 Загрузка 1 (установка) 0 1 0 X Qn Хранение 0 1 1 X Qn Хранение 0 0 X X Qn Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - примитив. FD4CE - четыре D-триггера с асинхронным сбросам, разрешением тактового сигнала и общими входами управления (четырехразрядный регистр) DO D1 D? FD4CE Q0 Q1 Q2 Назначение выводов: DO - D3 - информационные входы D соответст- вующих триггеров. 03 Q3 С - вход синхронизации. СЕ CLR - вход сброса. С S СЕ - вход разрешения тактового сигнала Q0 - Q3 - выходы соответствующих триггеров (разрядов регистра). CLR | Таблица истинности элемента FD4CE Вход CLR Вход СЕ Вход С Вход Di Выход Qi Режим работы 0 1 / 0 0 Загрузка 0 (сброс) /то триггера 0 1 / 1 1 Загрузка 1 (установка) i-ro трипера 0 1 0 X Qni Хранение 0 1 1 X Qni Хранение 0 X X Qni Хранение ЕГ1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtcx-П, Virtex-П Pro, XC95OO/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - макрос.
392 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FD8CE — восемь D-триггеров с асинхронным сбросом, разрешением тактового сигнала и общими входами управления (восьмиразрядный регистр) D[7:0[ СЕ С FD8CE > Q[7:0] Назначение выводов: DO - D7 - информационные входы D соответст- вующих триггеров, объединенные в шину D[7:0]. С - вход синхронизации. CLR - вход сброса. СЕ - вход разрешения тактового сигнала Q0 - Q7 - выходы соответствующих триггеров (разрядов регистра), объединенные в шину Q(7:0]_ Таблица истинности элемента FD8CE CLR I Вход CLR Вход СЕ Вход С Вход Di Выход Qi Режим работы 0 1 / 0 0 Загрузка 0 (сброс) тго трипера 0 1 / 1 1 Загрузка 1 (установка) i-ro триггера 0 1 0 X Qni Хранение 0 1 1 X Qni Хранение 0 0 X X Qni Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента — макрос. FD16CE — шестнадцать D-триггеров с асинхронным сбросом, разрешением тактового сигнала и общими входами управления (шестнадцатиразрядный регистр) D[15:0] СЕ С FD16CE > QI15:0] Назначение выводов: DO - DI 5 - информационные входы D соответст- вующих триггеров, объединенные в шину D[15:0]. С - вход синхронизации. J CLR - вход сброса. СЕ — вход разрешения тактового сигнала CLR Q0 - QI 5 - выходы соответствующих триггеров (разрядов регистра), объединенные в шину Q[ 15:0] Таблица истинности элемента FD16CE Вход CLR Вход СЕ Вход С Вход Di Выход Qi Режим работы 0 1 / 0 0 Загрузка 0 (сброс) i-ro трипера 0 1 / 1 1 Загрузка 1 (установка) i-ro триггера 0 1 0 X Qni Хранение 0 1 1 X Qni Хранение 0 0 X X Qni Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-Il. Тип элемента — макрос.
Приложение I. Унифицированные библиотеки компонентов 393 FDCEJ — D-триггер со входом разрешения тактового сигнала и асинхронным сбросом, тактируемый спадам импульса синхронизации Назначение выводов: D - информационный вход D. С - вход синхронизации. CLR - вход сброса. СЕ - вход разрешения тактового сигнала. Q - выход. Таблица истинности элемента FDCE1 Вход CLR Вход СЕ Вход С ВходО Выход Q Режим работы 0 1 \ 0 0 Загрузка 0 (сброс) 0 1 \ 1 1 Загрузка 1 (установка) 0 1 0 X Qn Хранение 0 1 1 X Qn Хранение 0 0 X X Qn Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. FDCP—D-триггер с асинхронным сбросом и асинхронной установкой PRE Назначение выводов: D - информационный вход D. С - вход синхронизации. CLR - вход сброса. PRE - вход установки. Q - выход. Таблица истинности элемента FDCP CLR | Вход CLR Вход PRE ВходС Вход D Выход Q Режим работы 0 0 / 0 0 Загрузка 0 (сброс) 0 0 / 1 1 Загрузка 1 (установка) 0 0 0 X Qn Хранение 0 0 1 X Qn Хранение 0 1 X X 1 Асинхронная установка 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив.
394 Зотов В. Ю. / 1роектирование цифровых устройств на основе ПЛИС FDCP_1 — D-триггер с асинхронным сбросом и асинхронной установкой, тактируемый спадом импульса синхронизации PRE 1 Назначение выводов: D - информационный вход D. С - вход синхронизации. FDCP 1 u CLR - вход сброса. Q PRE - вход установки. Cq > Q - выход. CLR [ Таблица истинности элемента FDCP_1 Вход CLR Вход PRE Вход С Вход D Выход Q Режим работы 0 0 \ 0 0 Загрузка 0 (сброс) 0 0 \ 1 1 Загрузка 1 (установка) 0 0 0 X Qn Хранение 0 0 1 X Qn Хранение 0 1 X X 1 Асинхронная установка 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. FDCPE - D-триггер с асинхронным сбросом, асинхронной установкой и входам разрешения тактового сигнала PRE Назначение выводов: D - информационный вход D. р FDCPE С - вход синхронизации. СЕ - вход разрешения тактового сигнала. СЕ —Q CLR - вход сброса С > PRE - вход установки. Q - выход. CLR | Таблица истинности элемента FDCPE Вход CLR Вход PRE Вход СЕ Вход С Вход D Выход Q Режим работы 0 0 1 / 0 0 Загрузка 0 (сброс) 0 0 1 / 1 1 Загрузка 1 (установка) 0 0 1 0 X Qn Хранение 0 0 1 1 X Qn Хранение 0 0 0 X X Qn Хранение 0 1 X X X 1 Асинхронная установка 1 X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E. Virtcx-II, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-11. Тип элемента: для Spartan-Il, Spartan-IIE. Virtex, Virtex-E, Virtcx-II. Virtex-II Pro. CoolRunner-П - примитив; для XC9500/XV/XL, CoolRunner XPLA3 - макрос.
Приложение 1. Унифицированные библиотеки компонентов 395 FDCPEJ - D-триггер с асинхронным сбросом, асинхронной установкой и входом разрешения тактового сигнала, управляемый спадам импульса PRE синхронизации Назначение выводов: D - информационный вход D. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. PRE - вход установки. Q - выход. Таблица истинности элемента FDCPE_1 Вход CLR Вход PRE Вход СЕ Вход С Вход D Выход Q Режим работы 0 0 1 \ 0 0 Загрузка 0 (сброс) 0 0 1 \ 1 1 Загрузка 1 (установка) 0 0 1 0 X Qn Хранение 0 0 1 1 X Qn Хранение 0 0 0 X X Qn Хранение 0 1 X X X 1 Асинхронная установка 1 X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. FDD - D-триггер, тактируемый фронтом и спадом импульса синхронизации D FDD Q Назначение выводов: D - информационный вход D. С С — вход синхронизации. > Q - выход. Таблица истинности элемента FDD ВходС Вход D Выход Q Режим работы / 0 0 Загрузка 0 (сброс) / 1 1 Загрузка 1 (установка) \ 0 0 Загрузка 0 (сброс) V 1 1 Загрузка 1 (установка) 0 X Qn Хранение 1 X Qn Хранение Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос.
396 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FDD4 — четыре D-триггера, тактируемых фронтом и спадом импульса синхронизации, с общим входом синхронизации (четырехразрядный регистр) DO FDD4 Q0 Назначение выводов: D1 DO - D3 - информационные входы D соответст- 02 02 вующих триггеров. С - вход синхронизации. Q0 - Q3 - выходы соответствующих триггеров. С > Таблица истинности злемента FDD4 ВходС Вход О' Выход Qi Режим работы / 0 0 Загрузка 0 (сброс) Аго триггера / 1 1 Загрузка 1 (установка) Аго триггера \ 0 0 Загрузка 0 (сброс) Аго трипера \ 1 1 Загрузка 1 (установка) Аго трипера 0 X Qni Хранение 1 X Qni Хранение Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. FDD8 — восемь D-триггеров, тактируемых фронтом и спадам импульса синхронизации, с общим входом синхронизации (восьмиразрядный регистр) D|7:0I С FDD8 > Q[7:0] Назначение выводов: DO - D7 - информационные входы D соответст- вующих триггеров, объединенные в шину D[7:0]. С - вход синхронизации. Q0 - Q7 - выходы соответствующих триггеров, объ- единенные в шину Q[7:OJ. Таблица истинности злемента FDD8 Вход С Вход Di Выход Qi Режим работы / 0 0 Загрузка 0 (сброс) Аго трипера / 1 1 Загрузка 1 (установка) Аго триггера \ 0 0 Загрузка 0 (сброс) Аго трипера \ 1 1 Загрузка 1 (установка) Аго трипера 0 X Qni Хранение 1 X Qni Хранение Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос.
Приложение I. Унифицированные библиотеки компонентов 397 FDD16 - шестнадцать D-триггеров, тактируемых фронтом и спадом импульса синхронизации, с общим входам синхронизации (шестнадцатиразрядный регистр) D[15fl] FDD16 Q[15:0] Назначение выводов: DO - D15 - информационные входы D соотвстст- С > вующих триггеров, объединенные в шину D[ 15:0] С - вход синхронизации. Q0 - Q15 - выходы соответствующих триггеров, объединенные в шину Q[ 15:0]. Таблица истинности злемента FDD16 Вход С Вход Di Выход Q/ Режим работы / 0 0 Загрузка 0 (сброс) Аго трипера / 1 1 Загрузка 1 (установка) Аго трипера \ 0 0 Загрузка 0 (сброс) Аго трипера \ 1 1 Загрузка 1 (установка) Аго триггера 0 X Qni Хранение 1 X Qni Хранение Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. FDDC — J)-триггер с асинхронным сбросом, тактируемый фронтом и спадом импульса синхронизации D FDDC Q Назначение выводов: D - информационный вход D. С - вход синхронизации. > CLR - вход сброса. Q - выход. CLR Таблица истинности элемента FDDC Вход CLR ВходС Вход D Выход Q Режим работы 0 / 0 0 Загрузка 0 (сброс) 0 / 1 1 Загрузка 1 (установка) 0 \ 0 0 Загрузка 0 (сброс) 0 \ 1 1 Загрузка 1 (установка) 0 0 X Qn Хранение 0 1 X Qn Хранение 1 X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос.
398 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FDDCE — D-триггер со входом разрешения тактового сигнала и асинхронным сбросом, тактируемый фронтом и спадом импульса синхронизации р СЕ С FDDCE > Назначение выводов: 0. D - информационный вход D. С — вход синхронизации. CLR - вход сброса. СЕ — вход разрешения тактового сигнала Q - выход. CLR Таблица истинности элемента FDDCE Вход CLR Вход СЕ Входе Вход D Выход Q Режим работы 0 1 / 0 0 Загрузка 0 (сброс) 0 1 / 1 1 Загрузка 1 (установка) 0 1 V 0 0 Загрузка 0 (сброс) 0 1 \ 1 1 Загрузка 1 (установка) 0 1 0 X Qn Хранение 0 1 1 X Qn Хранение 0 0 X X Qn Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-Il. Тип элемента - примитив. FDD4CE — четыре D-триггера, тактируемые фронтом и спадом импульса синхронизации, с асинхронным сбросом, разрешением тактового сигнала и общими входами управления (четырехразрядныйрегистр) пп FDD4CE Q0 Назначение выводов: БГ 01 DO - D3 - информационные входы D соответст- D2 Q2 вуюших триггеров. D3 СЕ С > 03 С - вход синхронизации. CLR - вход сброса. СЕ - вход разрешения тактового сигнала Q0 - Q3 - выходы соответствующих триггеров (разрядов регистра). Таблица истинности элемента FDD4CE Вход CLR Вход СЕ Вход С Вход Di Выход Qi Режим работы 0 1 / 0 0 Загрузка 0 (сброс) Fro триггера 0 1 / 1 1 Загрузка 1 (установка) Fro триггера 0 1 \ 0 0 Загрузка 0 (сброс) Fro триггера 0 1 \ 1 1 Загрузка 1 (установка) Fro триггера 0 1 0 X Qn/ Хранение 0 1 1 X Qn/ Хранение 0 0 X X Qni Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-П. Тип элемента - макрос.
Приложение I. Унифицированные библиотеки компонентов 399 FDDSCE — восемь D-триггеров, тактируемых фронтом и спадом импульса синхронизации, с асинхронным сбросом, разрешением тактового сигнала и общими входами управления (восьмиразрядный регистр) DI7:OJ FDDBCE Q[7:0] Назначение выводов: СЕ С > DO - D7 - информационные входы D соответст- вующих триггеров, объединенные в шину D[7:0] С - вход синхронизации. CLR - вход сброса. СЕ - вход разрешения тактового сигнала Q0 - Q7 - выходы соответствующих триггеров CLR (разрядов регистра), объединенные в шину Q[7:0]. Таблица истинности элемента FDDSCE Вход CLR Вход СЕ Вход С Вход Dr Выход Qi Режим работы 0 1 / 0 0 Загрузка 0 (сброс) г-го триггера 0 1 / 1 1 Загрузка 1 (установка) Pro триггера 0 1 \ 0 0 Загрузка 0 (сброс) т триггера 0 1 \ 1 1 Загрузка 1 (установка) Fro триггера 0 1 0 X Qni Хранение 0 1 1 X Qni Хранение 0 0 X X Qni Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: CooIRunner-II. Тип элемента - макрос. FDD16CE — шестнадцать D-триггеров, тактируемых фронтом и спадом импульса синхронизации, с асинхронным сбросом, разрешением тактового сигнала и общими входами управления (шестнадцатиразрядный регистр) D[1S:0] СЕ С FDD16CE > 0[15Л| Назначение выводов: mb DO - D15 - информационные входы D соответст- вующих триггеров, объединенные в шину D[15:0] С — вход синхронизации. CLR - вход сброса. СЕ - вход разрешения тактового сигнала CLR Q0 - Q15 - выходы соответствующих триггеров (разрядов регистра), объединенные в шину Q[15:0], Таблица истинности элемента FDD16CE _Вход CLR Вход СЕ ВходС Вход DI Выход Qi Режим работы 0 1 / 0 0 Загрузка 0 (сброс) i-го триггера 0 1 / 1 1 Загрузка 1 (установка) Fro триггера 0 1 0 0 Загрузка 0 (сброс) i-го триггера 0 1 \ 1 1 Загрузка 1 (установка) Fro триггера _ 0 1 0 X Qni Хранение 0 1 1 X Qni Хранение _ 0 0 X X Qni Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС. CoolRunncr-II. Тип элемента - макрос.
400 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FDDCP — D-триггер с асинхронным сбросом и асинхронной установкой, тактируемый фронтом и спадом импульса синхронизации PRt D С CLP FDDCP > I Назначение выводов: D - информационный вход D. С - вход синхронизации. CLR - вход сброса. —О. PRE - вход установки. Q - выход. Таблица истинности элемента FDDCP Вход CLR Вход PRE ВходС Вход D Выход Q Режим работы 0 0 / 0 0 Загрузка 0 (сброс) 0 0 / 1 1 Загрузка 1 (установка) 0 0 \ 0 0 Загрузка 0 (сброс) 0 0 \ 1 1 Загрузка 1 (установка) 0 0 0 X Qn Хранение 0 0 1 X Qn Хранение 0 1 X X 1 Асинхронная установка 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - примитив. FDDCPE - D-триггер с асинхронным сбросом, асинхронной установкой и входом разрешения тактового сигнала, тактируемый фронтом и спадом импульса синхронизации PRE 0 СЕ — CLR FDDCPE Назначение выводов: D - информационный вход D. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. — CLR - вход сброса. PRE - вход установки. Q - выход. Таблица истинности элемента FDDCPE Вход CLR Вход PRE Вход СЕ Вход С Вход D Выход Q Режим работы 0 0 1 / 0 0 Загрузка 0 (сброс) 0 0 1 / 1 1 Загрузка 1 (установка) 0 0 1 \ 0 0 Загрузка 0 (сброс) 0 0 1 \ 1 1 Загрузка 1 (установка) 0 0 1 0 X Qn Хранение 0 0 1 1 X Qn Хранение 0 0 0 X X Qn Хранение 0 1 X X X 1 Асинхронная установка 1 X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос.
Приложение!. Унифицированные библиотеки компонентов 401 FDDP -D-триггер с асинхронной установкой, тактируемый фронтом и спадам импульса синхронизации PRE Назначение выводов: | D - информационный вход D. D FDDP 0 С - вход синхронизации. PRE - вход установки. С > Q - выход. Таблица истинности элемента FDDP Вход PRE ВходС ВходО ВыходО Режим работы 0 / 0 0 Загрузка 0 (сброс) 0 / 1 1 Загрузка 1 (установка) 0 \ 0 0 Загрузка 0 (сброс) 0 \ 1 1 Загрузка 1 (установка) 0 0 X Qn Хранение 0 1 X Qn Хранение 1 X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. FDDPE — D-триггер с асинхронной установкой и входом разрешения тактового сигнала, тактируемый фронтом и спадом импульса синхронизации PRE Назначение выводов: D - информационный вход D. D FDDPE С - вход синхронизации. п СЕ - вход разрешения тактового сигнала. U PRE - вход установки. с > Q - выход. Таблица истинности элемента FDDPE Вход PRE Вход СЕ Вход С Вход о Выход Q Режим работы 0 1 / 0 0 Загрузка 0 (сброс) 0 1 / 1 1 Загрузка 1 (установка) 0 1 \ 0 0 Загрузка 0 (сброс) 0 1 \ 1 1 Загрузка 1 (установка) 0 1 0 X Qn Хранение 0 1 1 X On Хранение _ 0 0 X X Qn Хранение Г 1 X X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: CoolRunner-П. Тип элемента - примитив.
402 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FDDR — D-триггер с синхронным сбросом, тактируемый фронтом и спадом импульса синхронизации D С R FDDR > I Назначение выводов: — D - информационный вход D. С - вход синхронизации. R - вход сброса. Q - выход. Таблица истинности элемента FDDR Вход R Вход С Вход D Выход Q Режим работы 0 / 0 0 Загрузка 0 (сброс) 0 / 1 1 Загрузка 1 (установка) 0 \ 0 0 Загрузка 0 (сброс) 0 \ 1 1 Загрузка 1 (установка) 0 0 X On Хранение 0 1 X Qn Хранение 1 / X 0 Синхронный сброс 1 \ X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunncr-U. Тип элемента - макрос. FDDRCPE — D-триггер с асинхронным сбросом, асинхронной установкой, входом разрешения тактового сигнала и двумя входами данных и синхронизации Триггер FDDRCPE тактируется двумя противофазными сигналами синхронизации. PRE DO DI СЕ СО С1 CLR I FDDRCPE > > I Назначение выводов: DO, D1 - информационные входы. -0. СО, С1 - входы синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. PRE - вход установки. Q - выход. Таблица истинности элемента FDDRCPE Вход CLR Вход PRE Вход СЕ Вход СО Вход С1 Вход DO Вход D1 Выход Q Режим работы 0 0 1 / X 0 X 0 Загрузка 0 со входа DO 0 0 1 / X 1 X 1 Загрузка 1 со входа DO 0 0 1 X / X 0 0 Загрузка 0 со входа D1 0 0 1 X / X 1 1 Загрузка 1 со входа D1 0 0 1 0 0 X X Qn Хранение 0 0 1 1 0 X X Qn Хранение 0 0 1 0 1 X X Qn Хранение 0 0 1 1 1 X X Qn Хранение 0 0 0 X X X X Qn Хранение 0 1 X X X X X 1 Асинхронная установка 1 X X X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Virtcx-11, Virtex-II Pro. Тип элемента - примитив.
Приложение 1. Унифицированные библиотеки компонентов 403 FDDRE — D-триггер со входом разрешения тактового сигнала и синхронным сбросам, тактируемый фронтом и спадом импульса синхронизации D FDDRE СЕ 0 С > R Назначение выводов: D - информационный вход D. С - вход синхронизации. R - вход сброса. СЕ - вход разрешения тактового сигнала Q - выход. Таблица истинности элемента FDDRE Вход R Вход СЕ Вход С Вход D Выход Q Режим работы 0 1 / 0 0 Загрузка 0 (сброс) 0 1 / 1 1 Загрузка 1 (установка) 0 1 \ 0 0 Загрузка 0 (сброс) 0 1 \ 1 1 Загрузка 1 (установка) 0 1 0 X Qn Хранение 0 1 1 X Qn Хранение 0 0 X X Qn Хранение 1 X / X 0 Синхронный сброс 1 X \ X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunncr-II. Тип элемента - макрос. FDD4RE- четыре D-триггера, тактируемые фронтом и спадам импульса синхронизации, с синхронным сбросам, разрешением тактового сигнала и общими входами управления (четырехразрядный регистр) DO FDD4RE Q0 D1 Q1 D2 Q2 D3 _03 СЕ С > R Назначение выводов: DO - D3 — информационные входы D соответст- вующих триггеров. С - вход синхронизации. R - вход сброса. СЕ - вход разрешения тактового сигнала Q0 - Q3 - выходы соответствующих триггеров. Таблица истинности элемента FDD4RE Вход R Вход СЕ Вход С Вход Di Выход Qi Режим работы 0 1 / 0 0 Загрузка 0 (сброс) i-ro триггера 0 1 / 1 1 Загрузка 1 (установка) i-ro триггера —-0 _ 1 \ 0 0 Загрузка 0 (сброс) i-ro триггера 0 1 \ 1 1 Загрузка 1 (установка) i-ro триггера 0 1 0 X Qni Хранение 0 1 1 X Qni Хранение 0 0 X X Qni Хранение 1 X / X 0 Синхронный сброс 1 L. х \ X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunncr-II. Тип элемента - макрос.
404 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FDDSRE — восемь D-триггеров, тактируемых фронтом и спадом импульса синхронизации, с синхронным сбросом, разрешением тактового сигнала и общими входами управления (восьмиразрядный регистр) П[7:0] FDD8RE 017:01 Назначение выводов: СЕ с DO - D7 - информационные входы D соответст- вующих триггеров, объединенные в шину D[7:0]. R > _1 С - вход синхронизации. R - вход сброса. СЕ - вход разрешения тактового сигнала Q0 - Q7 - выходы соответствующих триггеров, объединенные в шину Q[7:0], Таблица истинности элемента FDD8RE Вход R Вход СЕ Вход С Вход Di Выход Qi Режим работы 0 1 / 0 0 Загрузка 0 (сброс) i-ro трипера 0 1 / 1 1 Загрузка 1 (установка) i-ro трипера 0 1 \ 0 0 Загрузка 0 (сброс) i-ro трипера 0 1 \ 1 1 Загрузка 1 (установка) i-го трипера 0 1 0 X Qni Хранение 0 1 1 X Qni Хранение 0 0 X X Qni Хранение 1 X / X 0 Синхронный сброс 1 X \ X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-П. Тип элемента - макрос. FDD16RE — шестнадцать D-триггеров, тактируемых фронтом и спадом импульса синхронизации, с асинхронным сбросом, разрешением тактового сигнала и общими входами управления (шестнадцатиразрядный регистр) 0115:0] F0D16RE 0(15:0] с? с > R Назначение выводов: DO - D15 - информационные входы D соответст- вующих триггеров, объединенные в шину D[ 15:0]. С - вход синхронизации. R - вход сброса. СЕ - вход разрешения тактового сигнала Q0 - Q15 - выходы соответствующих триггеров, объединенные в шину Q[ 15:0] Таблица истинности элемента FDD16RE Вход R Вход СЕ Вход С Вход Di Выход Qi Режим работы 0 1 / 0 0 Загрузка 0 (сброс) i-ro трипера 0 1 / 1 1 Загрузка 1 (установка) i-ro триггера 0 1 \ 0 0 Загрузка 0 (сброс) i-ro трипера 0 1 \ 1 1 Загрузка 1 (установка) i-ro триггера 0 1 0 X Qni Хранение 0 1 1 X Qni Хранение 0 0 X X Qni Хранение 1 X / X 0 Синхронный сброс 1 X \ X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunncr-II. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 405 FDDRRSE - D-триггер с синхронным сбросом, синхронной установкой, входом разрешения тактового сигнала и двумя входами данных и синхронизации Триггер FDDRRSE тактируется двумя противофазными сигналами синхронизации. S Назначение выводов: DO, DI - информационные входы. СО, CI - входы синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. S - вход установки. Q - выход. И FDDRRSE Q D1 СЕ со С1 ► ► R Таблица истинности элемента FDDRRSE Вход R Вход S Вход СЕ Вход СО Вход С1 Вход D0 Вход D1 Выход Q Режим работы 0 0 1 / X 0 X 0 Загрузка 0 со входа D0 0 0 1 / X 1 X 1 Загрузка 1 со входа D0 0 0 1 X / X 0 0 Загрузка 0 со входа D1 0 0 1 X / X 1 1 Загрузка 1 со входа D1 0 0 1 0 0 X X On Хранение 0 0 1 1 0 X X Qn Хранение 0 0 1 0 1 X X Qn Хранение 0 0 1 1 1 X X Qn Хранение 0 0 0 X X X X Qn Хранение 0 1 X / X X X 1 Синхронная установка 0 1 X X / X X 1 Синхронная установка 1 X X / X X X 0 Синхронный сброс 1 X X X / X X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-II Pro. Тип элемента- примитив. FDDRS — D-триггер с синхронным сбросом и синхронной установкой, тактируемый фронтам и спадом импульса синхронизации S D С R FDDRS > -J Назначение выводов: D - информационный вход D. С - вход синхронизации. R - вход сброса. — S - вход установки. Q - выход. Таблица истинности элемента FDDRS Вход R BxoflS Вход С Вход D Выход Q Режим работы — 0 0 / 0 0 Загрузка 0 (сброс) 0 . 0 0 / 1 1 Загрузка 1 (установка) 0 \ 0 0 Загрузка 0 (сброс) 0 0 \ 1 1 Загрузка 1 (установка) 0 0 0 X Оп Хранение LZZ7 о ~ 0 1 X On Хранение
406 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Вход R ВходЭ Вход С Вход D Выход Q Режим работы 0 1 / X 1 Синхронная установка 0 1 \ X 1 Синхронная установка 1 X / X 0 Синхронный сброс 1 X \ X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. FDDRSE — D-триггер с синхронным сбросом, синхронной установкой и входом разрешения тактового сигнала, тактируемый фронтом и спадом импульса синхронизации Q Назначение выводов: D - информационный вход D. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. S - вход установки. Q - выход. Таблица истинности элемента FDDRSE Вход R Вход S Вход СЕ ВходС Вход D Выход Q Режим работы 0 0 1 / 0 0 Загрузка 0 {сброс) 0 0 1 / 1 1 Загрузка 1 (установка) 0 0 1 0 0 Загрузка 0 (сброс) 0 0 1 \ 1 1 Загрузка 1 (установка) 0 0 1 0 X Qn Хранение 0 0 1 1 X On Хранение 0 0 0 X X Qn Хранение 0 1 X / X 1 Синхронная установка 0 1 X \ X 1 Синхронная установка 1 X X / X 0 Синхронный сброс 1 X X \ X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-П. Тип элемента - макрос. FDDS - D-триггер с синхронной установкой, тактируемый фронтом и спадом импульса синхронизации S I Назначение выводов: D - информационный вход D D С FDDS > Q С - вход синхронизации. PRE - вход установки. Q - выход. Таблица истинности элемента FDDS Вход S Вход С Вход D Выход Q Режим работы 0 / 0 0 Загрузка 0 (сброс) 0 / 1 1 Загрузка 1 (установка) 0 \ 0 0 Загрузка 0 (сброс)
Приложение I. Унифицированные библиотеки компонентов 407 ВходБ Вход С Вход D Выход Q Режим работы 0 \ 1 1 Загрузка 1 (установка) 0 0 X On Хранение 0 1 X Qn Хранение 1 / X 1 Синхронная установка 1 \ X 1 Синхронная установка Поддерживаемые семейства ПЛИС: CoolRunner-П. Тип элемента - макрос. FDDSE - D-триггер с синхронной установкой и входом разрешения тактового сигнала, управляемый фронтом и спадом импульса синхронизации S D СЕ С FDDSE > Назначение выводов: D - информационный вхдд D. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. — S - вход установки. Q - выход. Таблица истинности элемента FDDSE Вход S Вход СЕ Вход С Вход о Выход Q Режим работы 0 1 / 0 0 Загрузка 0 (сброс) 0 1 / 1 1 Загрузка 1 (установка) 0 1 \ 0 0 Загрузка 0 (сброс) 0 1 \ 1 1 Загрузка 1 (установка) 0 1 0 X Qn Хранение 0 1 1 X Qn Хранение 0 0 X X Qn Хранение 1 X / X 1 Синхронная установка 1 X \ X 1 Синхронная установка Поддерживаемые семейства ПЛИС: CoolRunncr-II. Тип элемента - макрос. FDDSR — D-триггер с синхронной установкой и синхронным сбросом, тактируемый фронтом и спадом импульса синхронизации S D С R FDDSR > Назначение выводов: D - информационный вход D. С - вход синхронизации. q R - вход сброса. S - вход установки. Q - выход. Таблица истинности элемента FDDSR Вход R Вход S ВходС Вход D Выход Q Режим работы 0 0 / 0 0 Загрузка 0 (сброс) 0 0 / 1 1 Загрузка 1 (установка) 0 0 \ 0 0 Загрузка 0 (сброс) 0 0 \ 1 1 Загрузка 1 (установка) 0 0 0 X On Хранение
408 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС Вход R Вход S ВходС Вход D Выход Q Режим работы 0 0 1 X On Хранение X 1 / X 1 Синхронная установка X 1 \ X 1 Синхронная установка 1 0 / X 0 Синхронный сброс 1 0 \ X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. FDDSRE - D-триггер с синхронной установкой, синхронным сбросом и входом разрешения тактового сигнала, управляемый фронтам и спадам импульса синхронизации Назначение выводов: D — информационный вход D. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. S - вход установки. Q - выход. Таблица истинности элемента FDDSRE Вход R Вход S Вход СЕ Вход С Вход 0 Выход Q Режим работы 0 0 1 / 0 0 Загрузка 0 (сброс) 0 0 1 / 1 1 Загрузка 1 (установка) 0 0 1 \ 0 0 Загрузка 0 (сброс) 0 0 1 \ 1 1 Загрузка 1 (установка) 0 0 1 0 X On Хранение 0 0 1 1 X On Хранение 0 0 0 X X Qn Хранение X 1 X / X 1 Синхроннвя установка X 1 X \ X 1 Синхронная установка 1 0 X / X 0 Синхронный сброс 1 0 X \ X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunncr-II. Тип элемента - макрос. FDE - D-триггер со входом разрешения тактового сигнала D FDE CF Q С > Назначение выводов: D - информационный вход D С - вход синхронизации. СЕ - вход разрешения тактового сигнала Q - выход. Таблица истинности элемента FDE Вход СЕ Вход С Вход D Выход Q Режим работы 1 / 0 0 Загрузка 0 (сброс) 1 / 1 1 Загрузка 1 (установка) 1 0 X On Хранение 1 1 X Qn Хранение 0 X X Qn _ Хранение
Приложение 1. Унифицированные библиотеки компонентов 409 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-Е, Virtex-II, Virtex-II Pro. Тип элемента - примитив. FDE_1 - D-триггер co входом разрешения тактового сигнала, управляемый спадом импульса синхронизации D CE FDE1 Q Назначение выводов: D - информационный вход D. С - вход синхронизации. С- СЕ - вход разрешения тактового сигнала Q - выход. Таблица истинности элемента FDE_I Вход СЕ Вход С Вход D Выход Q Режим работы 1 \ 0 0 Загрузка 0 (сброс) 1 \ 1 1 Загрузка 1 (установка) 1 0 X Qn Хранение 1 1 X On Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. FDP - D-триггер с асинхронной установкой PRE Назначение выводов: | D - информационный вход D. D FDP Q С - вход синхронизации. с > PRE - вход установки. Q - выход. Таблица истинности элемента FDP Вход PRE ВходС Вход D Выход Q Режим работы 0 / 0 0 Загрузка 0 (сброс) 0 / 1 1 Загрузка 1 (установка) 0 0 X Qn Хранение 0 1 X Qn Хранение 1 X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента: для Spartan-11, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, CoolRunner-II - примитив; для XC9500/XV/XL, CooIRunner XPLA3 - макрос.
410 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FDP_1 — D-триггер с асинхронной установкой, тактируемый спадом импульса синхронизации PRE Назначение выводов: | D - информационный вход D. pDp 1 С - вход синхронизации. -— “ —— PRE - вход установки. Q - выход. Таблица истинности элемента FDP1 Вход PRE Вход С Вход D Выход Q Режим работы 0 \ 0 0 Загрузка 0 (сброс) 0 \ 1 1 Загрузка 1 (установка) 0 0 X Qn Хранение 0 1 X Qn Хранение 1 X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtcx-П, Virtex-11 Pro. Тип элемента - примитив. FDPE — D-триггер с асинхронной установкой и входом разрешения тактового сигнала PRE Назначение выводов: D - информационный вход D. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. Q PRE - вход установки. Q - выход. D СЕ С Таблица истинности элемента FDPE Вход PRE Вход СЕ Вход С Вход О Выход Q Режим работы 0 1 / 0 0 Загрузка 0 (сброс) 0 1 / 1 1 Загрузка 1 (установка) 0 1 0 X Qn Хранение 0 1 1 X Qn Хранение 0 0 X X Qn Хранение 1 X X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-П, Virtcx-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - примитив.
Приложение 1. Унифицированные библиотеки компонентов 411 FDPE_1 - D-триггер с асинхронной установкой и входом разрешения тактового сигнала, управляемый спадом импульса синхронизации PRE D FDPE_1 CF Q — C-c Назначение выводов: D — информационный вход D. С - вход синхронизации. СЕ — вход разрешения тактового сигнала. PRE - вход установки. Q - выход. Таблица истинности элемента FDPE_1 Вход PRE Вход CE Вход C Вход D Выход □ ” Режим работы 0 1 \ 0 0 Загрузка 0 (сброс) 0 1 \ 1 1 Загрузка 1 (установка) 0 1 0 X Qn Хранение 0 1 1 X Qn Хранение 0 0 X X Qn Хранение 1 X X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента — примитив. FDR — D-триггер с синхронным сбросом D FDR Q С > Я I Назначение выводов: D - информационный вход D. С - вход синхронизации. R-вход сброса. Q - выход. Таблица истинности элемента FDR Вход R Вход С Вход D Выход Q Режим работы 0 / 0 0 Загрузка 0 (сброс) 0 / 1 1 Загрузка 1 (установка) 0 0 X Qn Хранение 0 1 X Qn Хранение 1 / X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента: для Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro - примитив; для XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II - макрос.
412 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FDR_I — D-триггер с синхронным сбросом, тактируемый спадам Q импульса синхронизации Назначение выводов: D - информационный вход D. С - вход синхронизации. R - вход сброса. Q - выход. Таблица истинности элемента FDR_1 Вход R Вход С Вход D Выход Q Режим работы 0 \ 0 0 Загрузка 0 (сброс) 0 \ 1 1 Загрузка 1 (установка) 0 0 X Qn Хранение 0 1 X Qn Хранение 1 \ X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. FDRE - D-триггер co входам разрешения тактового сигнала и синхронным сбросом D СЕ FDRE Q Назначение выводов: D - информационный вход D. С — вход синхронизации. С > R - вход сброса. СЕ - вход разрешения тактового сигнала R Q - выход. Таблица истинности элемента FDRE Вход R Вход СЕ Вход С Вход D Выход Q Режим работы 0 1 / 0 0 Загрузка 0 (сброс) 0 1 / 1 1 Загрузка 1 (установка) 0 1 0 X Qn Хранение 0 1 1 X Qn Хранение 0 0 X X Qn Хранение 1 X / X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E. Virtex-II, Virtex-II Pro, XC95OO/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента: для Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro - примитив; для XC9500ZXV/XL, CoolRunner XPLA3, CoolRunner-II - макрос.
Приложение I. Унифицированные библиотеки компонентов 413 FD4RE - четыре D-триггера с асинхронным сбросом, разрешением тактового сигнала и общими входами управления (четырехразрядный регистр) DO FD4RE Q0 Назначение выводов: БГ ”01 DO - D3 — информационные входы D соответст- 02 02 вующих триггеров. 03 03 С - вход синхронизации. СЕ R - вход сброса. > СЕ - вход разрешения тактового сигнала 1 Q0 - Q3 - выходы соответствующих триггеров R 1 (разрядов регистра) Таблица истинности элемента FD4RE Вход R Вход СЕ Вход С Вход Di Выход Qi Режим работы 0 1 / 0 0 Загрузка 0 (сброс) i-ro триггера 0 1 / 1 1 Загрузка 1 (установка) i-ro триггера 0 1 0 X Qni Хранение 0 1 1 X Qni Хранение 0 0 X X Qni Хранение 1 X / X 0 Синхронный сброс D[7S] СЕ FD8RE С > R Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunnerXPLA3, CoolRunner-II. Тип элемента - макрос. FD8RE — восемь D-триггеров с асинхронным сбросом, разрешением тактового сигнала и общими входами управления (восьмиразрядный регистр) 0[7Я] Назначение выводов: DO - D7 - информационные входы D соответст- вующих триггеров, объединенные в шину D[7:0J. С - вход синхронизации. R - вход сброса. СЕ - вход разрешения тактового сигнала Q0 - Q7 - выходы соответствующих триггеров (разрядов регистра), объединенные в шину Q[7:0]. Таблица истинности элемента FD8RE Вход R Вход СЕ Вход С Вход Di Выход Qi Режим работы 0 1 / 0 0 Загрузка 0 (сброс) i-ro триггера 0 1 / 1 1 Загрузка 1 (установка) i-ro триггера 0 1 0 X Qni Хранение 0 1 1 X Qni Хранение 0 0 X X Qni Хранение L 1 X / X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II Тип элемента - макрос.
414 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FD16RE - шестнадцать D-триггеров с асинхронным сбросом, разрешением тактового сигнала и общими входами управления (шестнадцатиразрядный регистр) Назначение выводов: DO - DI5 - информационные входы D соответст- вующих триггеров, объединенные в шину D[15:0], С - вход синхронизации. R - вход сброса. СЕ - вход разрешения тактового сигнала Q0 - QI5 - выходы соответствующих триггеров (разрядов регистра), объединенные в шину Q[ 15:0]. Таблица истинности злемента FD16RE Вход R Вход СЕ Вход С Вход Di Выход Qi Режим работы 0 1 / 0 0 Загрузка 0 (сброс) i-ro триггера 0 1 / 1 1 Загрузка 1 (установка) i-ro триггера 0 1 0 X Qni Хранение 0 1 1 X Qni Хранение 0 0 X X Qni Хранение 1 X / X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. FDR E l - D-триггер co входом разрешения тактового сигнала и синхронным сбросом, тактируемый спадом импульса синхронизации Назначение выводов: D - информационный вход D. С - вход синхронизации. R - вход сброса. СЕ - вход разрешения тактового сигнала. Q - выход. Таблица истинности элемента FDRE_I Вход R Вход СЕ Вход С Вход D Выход Q Режим работы 0 1 \ 0 0 Загрузка 0 (сброс) 0 1 \ 1 1 Загрузка 1 (установка) 0 1 0 X Qn Хранение 0 1 1 X Qn Хранение 0 0 X X Qn Хранение 1 X \ X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив.
FDRS D Приложение I. Унифицированные библиотеки компонентов 415 FDRS — D-триггер с синхронным сбросом и синхронной установкой S Назначение выводов: D - информационный вход D. С - вход синхронизации. R - вход сброса. S - вход установки. Q - выход. В_______I С Таблица истинности элемента FDRS Вход R ВходЗ ВходС Вход 0 Выход Q Режим работы 0 0 / 0 0 Загрузка 0 (сброс) 0 0 / 1 1 Загрузка 1 (установка) 0 0 0 X Qn Хранение 0 0 1 X Qn Хранение 0 1 / X 1 Синхронная установка 1 X / X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC95OO/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента: для Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, CoolRunner-II - примитив; для XC9500/XV/XL, CooIRunner XPLA3 - макрос. FDRS_I — D-триггер с синхронным сбросом и синхронной установкой, тактируемый спадом импульса синхронизации S Назначение выводов: D - информационный вход D. С - вход синхронизации. R - вход сброса. S - вход установки. Q - выход. FDRS 1 D С В____I Таблица истинности элемента FDRS I Вход R Вход S Вход С Вход D Выход Q Режим работы 0 0 \ 0 0 Загрузка 0 (сброс) 0 0 \ 1 1 Загрузка 1 (установка) 0 0 0 X Qn Хранение 0 0 1 X Qn Хранение 0 1 \ X 1 Синхронная установка 1 X \ X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II. Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-ll Pro. Тип элемента - примитив.
416 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FDRSE — D-триггер с синхронным сбросом, синхронной установкой и входом разрешения тактового сигнала Назначение выводов: D - информационный вход D. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. S — вход установки. Q - выход. Таблица истинности элемента FDRSE Вход R Вход S Вход СЕ Вход С Вход D Выход Q Режим работы 0 0 1 / 0 0 Загрузка 0 (сброс) 0 0 1 / 1 1 Загрузка 1 (установка) 0 0 1 0 X Qn Хранение 0 0 1 1 X Qn Хранение 0 0 0 X X Qn Хранение 0 1 X / X 1 Синхронная установка 1 X X / X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента: для Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, CoolRunner-П - примитив; для XC9500/XV/XL, CoolRunner XPLA3 - макрос. FDRSE_I - D-триггер с синхронным сбросом, синхронной установкой и входам разрешения тактового сигнала, управляемый спадом импульса синхронизации S D FDRSE1 CF Q С,- Назначение выводов: D - информационный вход D. С — вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. S - вход установки. Q - выход. fi__________I Таблица истинности элемента FDRSE I Вход R Вход S Вход СЕ Вход С Вход 0 Выход Q Режим работы 0 0 1 \ 0 0 Загрузка 0 (сброс) 0 0 1 \ 1 1 Загрузка 1 (установка) 0 0 1 0 X Qn Хранение 0 0 1 1 X Qn Хранение 0 0 0 X X Qn Хранение 0 1 X X 1 Синхронная установка 1 X X X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtcx-E, Vii tex-II, Virtex-II Pro. Тип элемента - примитив.
S Приложение I. Унифицированные библиотеки компонентов 417 FDS - D-триггер с синхронной установкой Назначение выводов: D - информационный вход D. С - вход синхронизации. S - вход установки. Q - выход. I Таблица истинности элемента FDS Вход S ВходС ВходО Выход О Режим работы 0 / 0 0 Загрузка 0 (сброс) 0 / 1 1 Загрузка 1 (установка) 0 0 X Qn Хранение 0 1 X Qn Хранение 1 / X 1 Синхронная установка I Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента: для Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, CoolRunner-П - примитив; для XC9500/XV/XL, CoolRunner XPLA3 - макрос.” FDS_I — D-триггер с синхронной установкой, тактируемый спадом импульса синхронизации S, Назначение выводов: D - информационный вход D. С - вход синхронизации. S - вход установки. Q - выход. Таблица истинности элемента FDS I Вход S Вход С Вход 0 Выход Q Режим работы 0 \ 0 0 Загрузка 0 (сброс) 0 \ 1 1 Загрузка 1 (установка) 0 0 X Qn Хранение 0 1 X Qn Хранение 1 \ X 1 Синхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. м Зотов В.ю.
418 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС FDSE - D-триггер с синхронной установкой и входом разрешения тактового сигнала Назначение выводов: D - информационный вход D. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. S - вход установки. Q - выход. Таблица истинности элемента FDSE Вход S Вход СЕ Вход С Вход D Выход О Режим работы 0 1 / 0 0 Загрузка 0 (сброс) 0 1 / 1 1 Загрузка 1 (установка) 0 1 0 X Qn Хранение 0 1 1 X Qn Хранение 0 0 X X Qn Хранение 1 X / X 1 Синхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spattan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента: для Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, CoolRunner-II - примитив; для XC9500/XV/XL, CoolRunner XPLA3 - макрос. FDSE_1 — D-триггер с синхронной установкой и входом разрешения тактового сигнала, управляемый спадом импульса синхронизации Назначение выводов: D - информационный вход D. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. S - вход установки. Q - выход. Таблица истинности элемента FDSE_I Вход S Вход СЕ Вход С Вход D Выход Q Режим работы 0 1 \ 0 0 Загрузка 0 (сброс) 0 1 \ 1 1 Загрузка 1 (установка) 0 1 0 X Qn Хранение 0 1 1 X Qn Хранение 0 0 X X Qn Хранение 1 X \ X 1 Синхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-П, Virtex-II Pro. Тип элемента - примитив.
Приложение I. Унифицированные библиотеки компонентов 419 FDSR - D-триггер с синхронной установкой и синхронным сбросом S______ Назначение выводов: __________ D - информационный вход D. о FDSR С - вход синхронизации R - вход сброса. ц S - вход установки. с > Q - выход. Таблица истинности элемента FDSR Входе? Вход S Вход С Вход 0 Выход Q Режим работы 0 0 / 0 0 Загрузка 0 (сброс) 0 0 / 1 1 Загрузка 1 (установка) 0 0 0 X Ол Хранение 0 0 1 X Qn Хранение X 1 / X 1 Синхронная установка 1 0 / X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. FDSRE - D-триггер с синхронной установкой, синхронным сбросом и входом разрешения тактового сигнала S______ Назначение выводов: | D - информационный вход D. D FDSRE С - вход синхронизации. СЕ - вход разрешения тактового сигнала. СЕ —9 R - вход сброса. с > S - вход установки. Q — выход. Таблица истинности элемента FDSRE Входи Вход S Вход СЕ ВходС Вход D Выход О Режим работы 0 0 1 1 0 0 Загрузка 0 (сброс) 0 0 1 / 1 1 Загрузка 1 (установка) 0 0 1 0 X Qn Хранение 0 0 1 1 X Qn Хранение 0 0 0 X X Qn Хранение х__ • 1 X / X 1 Синхронная установка 1 0 X / X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-U. Тип элемента - макрос.
420 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FJKC - комбинированный JK-триггер с асинхронным сбросом J к FJKC Q Назначение выводов: J - информационный вход J. К - информационный вход К. с > С - вход синхронизации. CLR - вход сброса. О - выход. CLR I Таблица истинности элемента FJKC Вход CLR Вход J Вход К Вход С Выход Q Режим работы 0 0 1 / 0 Загрузка 0 (сброс) 0 1 0 / 1 Загрузка 1 (установка) 0 1 1 / -Qn Переключение 0 0 0 / On Хранение 0 X X 0 Qn Хранение 0 X X 1 Qn Хранение 1 X X X 0 Асинхронный сброс J К СЕ С Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. FJKCE — комбинированный JK-триггер с асинхронным сбросам и входом разрешения тактового сигнала Назначение выводов: J — информационный вход J. К - информационный вход К. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. Q - выход. Таблица истинности элемента FJKCE Вход CLR Вход СЕ Вход J Вход К Вход С Выход Q Режим работы 0 1 0 1 / 0 Загрузка 0 (сброс) 0 1 1 0 / 1 Загрузка 1 (установка) 0 1 1 1 / -Qn Переключение 0 1 0 0 / Qn Хранение 0 1 X X 0 Qn Хранение 0 1 X X 1 Qn Хранение 0 0 X X X Qn Хранение 1 X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 421 PR J К С Ш FJKCP - I FJKCP > I комбинированный JK-триггер с асинхронным сбросом и асинхронной установкой Назначение выводов: J — информационный вход J. К - информационный вход К. Q С - вход синхронизации. PRE - вход установки. CLR - вход сброса. Q - выход. Таблица истинности элемента FJKCP BxoflCLR Вход PRE Вход J Вход К Вход С Выход Q Режим работы 0 0 0 1 / 0 Загрузка 0 (сброс) 0 0 1 0 / 1 Загрузка 1 (установка) 0 0 1 1 / -Qn Переключение 0 0 0 0 / Qn Хранение 0 0 X X 0 Qn Хранение 0 0 X X 1 Qn Хранение 0 1 X X X 1 Асинхронная установка 1 X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. FJKCPE — комбинированный JK-триггер с асинхронным сбросом, асинхронной установкой и входом разрешения тактового сигнала PRE Назначение выводов: J - информационный вход J. К - информационный вход К. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. PRE - вход установки. CLR - вход сброса. Q - выход. Таблица истинности элемента FJKCPE Вход CLR Вход PRE Вход СЕ Вход J Вход К ВходС Выход Q Режим работы 0 0 1 0 1 / 0 Загрузка 0 (сброс) 0 0 1 1 0 / 1 Загрузка 1 (установка) 0 0 1 1 1 / -Qn Переключение 0 0 1 0 0 / Qn Хранение 0 0 1 X X 0 Qn Хранение 0 0 1 X X 1 Qn Хранение 0 0 0 X X X Qn Хранение 0 1 X X X X 1 Асинхронная установка 1 X X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос.
422 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FJKP — комбинированный JK-триггер с асинхронной установкой PRE J FJKP к 0 с > Назначение выводов: J - информационный вход J. К - информационный вход К. С - вход синхронизации. PRE - вход установки. Q - выход. Таблица истинности элемента FJKP Вход PRE Вход J Вход К Вход С Выход Q Режим работы 0 0 1 / 0 Загрузка 0 (сброс) 0 1 0 / 1 Загрузка 1 (установка) 0 1 I / -Qn Переключение 0 0 0 / Qn Хранение 0 X X 0 Qn Хранение 0 X X 1 Qn Хранение 1 X X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. FJKPE — комбинированный JK-триггер с асинхронной установкой и входам разрешения тактового сигнала PRE I Назначение выводов: J - информационный вход J. К - информационный вход К. •I FJKPE к С - вход синхронизации. q СЕ - вход разрешения тактового сигнала. СЕ PRE - вход установки. С > Q - выход. Таблица истинности элемента FJKPE Вход PR Вход СЕ Вход J Вход К Вход С Выход Q Режим работы 0 1 0 1 / 0 Загрузка 0 (сброс) 0 1 1 0 / 1 Загрузка 1 (установка) 0 1 1 1 / -On Переключение 0 1 0 0 / Qn Хранение 0 1 X X 0 Qn Хранение 0 1 X X 1 Qn Хранение 0 0 X X X Qn Хранение 1 X X X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3. CoolRunncr-II. Тип элемента—макрос.
Приложение I. Унифицированные библиотеки компонентов 423 FJKRSE - комбинированный JK-триггер с синхронным сбросом, синхронной установкой и входом разрешения тактового сигнала S Назначение выводов: 1 J - информационный вход I. J FJKRSE К - информационный вход К. к С - вход синхронизации. q СЕ - вход разрешения тактового сигнала. СЕ R - вход сброса. с > S - вход установки. Q - выход. R I Таблица истинности элемента FJKRSE Вход R Вход S Вход СЕ Вход J Вход К Вход С Выход О Режим работы 0 0 1 0 1 / 0 Загрузка 0 (сброс) 0 0 1 1 0 / 1 Загрузка 1 (установка) 0 0 1 1 1 / -Qn Переключение 0 0 1 0 0 / Qn Хранение 0 0 1 X X 0 Qn Хранение 0 0 1 X X 1 Qn Хранение 0 0 0 X X X Qn Хранение 1 X X X X / 0 Синхронный сброс 0 1 X X X / 1 Синхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента — макрос. J К СЕ С FJKSRE - комбинированный JK-триггер с синхронной установкой, синхронным сбросом и входом разрешения тактового сигнала S Назначение выводов: I - информационный вход J. К - информационный вход К. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. S - вход установки. Q - выход. Таблица истинности элемента FJKSRE R Вход R Вход S Вход СЕ Вход J Вход К Вход С Выход О Режим работы 0 0 1 0 1 / 0 Загрузка 0 (сброс) 0 0 1 1 0 / 1 Загрузка 1 (установка) 0 0 1 1 1 / -Qn Переключение 0 0 1 0 0 / Qn Хранение 0 0 1 X X 0 Qn Хранение 0 0 1 X X 1 Qn Хранение
424 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Вход R Вход S Вход CE Вход J Вход К Вход С Выход 0 Режим работы 0 0 0 X X X Qn Хранение 1 0 X X X / 0 Синхронный сброс X 1 X X X / 1 Синхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex. Virtex-E, Virtex-II, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. I FTC — Т-триггер с асинхронным сбросом Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. CLR - вход сброса. Q - выход. Таблица истинности элемента FTC т с. CLR | Вход CLR ВходТ Вход С Выход Q Режим работы 0 1 / -Qn Переключение 0 0 X Qn Хранение 0 X 0 Qn Хранение 0 X 1 Qn Хранение 1 X X 0 Асинхронный сброс Т СЕ С FTCE > Q CLR I Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. FTCE — Т-триггер с асинхронным сбросом и входом разрешения тактового сигнала Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. CLR - вход сброса. " СЕ - вход разрешения тактового сигнала. Q - выход. | Таблица истинности элемента FTCE Вход CLR Вход СЕ Вход Т Вход С Выход О Режим работы 0 1 1 / -Qn Переключение 0 1 0 X Qn Хранение 0 X X 0 Qn Хранение 0 X X 1 Qn Хранение 0 0 X X Qn Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента — макрос.
Приложение I. Унифицированные библиотеки компонентов 425 FTCLE — Т-триггер с асинхронным сбросом, синхронной загрузкой информации и входом разрешения тактового сигнала D FTCLE Назначение выводов: J С - вход синхронизации. Y Т - вход разрешения переключений. CE ’ CLR - вход сброса. СЕ - вход разрешения тактового сигнала. L > D - информационный вход D. L - вход разрешения записи информации со входа D. CLR | Q - выход. Таблица истинности элемента FTCLE Вход CLR Вход СЕ Вход L Вход D Вход т ВходС Выход О Режим работы 0 1 0 X 1 / -Qn Переключение 0 1 0 X 0 X Qn Хранение 0 X 0 X X 0 Qn Хранение 0 X 0 X X 1 Qn Хранение 0 0 0 X X X Qn Хранение 0 X 1 0 X / 0 Синхронная запись 0 0 X 1 1 X / 1 Синхронная запись 1 1 X X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. FTCLEX — Т-триггер с асинхронным сбросом, синхронной загрузкой информации и входом разрешения тактового сигнала Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. CLR - вход сброса. СЕ - вход разрешения тактового сигнала. D - информационный вход D. L - вход разрешения записи информации со входа D. Q - выход. Таблица истинности элемента FTCLEX Вход CLR Вход СЕ Вход L Вход D Вход Т Вход С Выход Q Режим работы 0 1 0 X 1 / -Qn Переключение 0 1 0 X 0 X Qn Хранение 0 X 0 X X 0 Qn Хранение 0 X 0 X X 1 Qn Хранение - 0 0 0 X X X Qn Хранение 0 1 1 0 X / 0 Синхронная запись 0 _ 0 1 1 1 X 1 1 Синхронная запись 1 1 X X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Vmcx-E, Virtex-II, Virtex-11 Pro. Тип элемента - макрос.
426 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FTCP- Т-триггер с асинхронным сбросом и асинхронной установкой PRE Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. CLR - вход сброса. PRE - вход установки. Q - выход. Таблица истинности злемента FTCP Вход CLR Вход PRE Вход Т Вход С Выход Q Режим работы 0 0 1 / -Qn Переключение 0 0 0 X Qn Хранение 0 0 X 0 Qn Хранение 0 0 X 1 Qn Хранение 0 1 X X 1 Асинхронная установка 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П. Тип элемента - примитив. FTCPE — Т-триггер с асинхронным сбросом, асинхронной установкой и входом PRE разрешения тактового сигнала Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. CLR - вход сброса. PRE - вход установки. СЕ - вход разрешения тактового сигнала. Q - выход. Таблица истинности злемента FTCPE Вход CLR Вход PRE Вход СЕ Вход Т Вход С Выход Q Режим работы 0 0 1 1 / -Qn Переключение 0 0 1 0 X Qn Хранение 0 0 1 X 0 Qn Хранение 0 0 1 X 1 Qn Хранение 0 0 0 X X Qn Хранение 0 1 X X X 1 Асинхронная установка 1 X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 427 FTCPLE — Т-триггер с асинхронным сбросам, асинхронной установкой, синхронной загрузкой информации и входом разрешения тактового сигнала PRE Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. CLR - вход сброса. PRE - вход установки. СЕ - вход разрешения тактового сигнала. D - информационный вход D. L - вход разрешения записи информации со входа D. Q - выход. Таблица истинности элемента FTCPLE Вход CLR Вход PRE Вход L Вход 0 Вход СЕ ВходТ Вход С Выход Q Режим работы 0 0 0 X 1 1 / -Qn Переключение 0 0 0 X 1 0 X Qn Хранение 0 0 0 X 1 X 0 On Хранение 0 0 0 X 1 X 1 Qn Хранение 0 0 0 X 0 X X Qn Хранение 0 0 1 0 X X / 0 Синхронная запись 0 0 0 1 1 X X 1 1 Синхронная запись 1 0 1 X X X X X 1 Асинхронная установка 1 X X X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П. Тип элемента - макрос. FTDCE — Т-триггер с асинхронным сбросом и входом разрешения тактового сигнала, управляемый фронтом и спадом импульса синхронизации Т FTDCE Q Назначение выводов: С - вход синхронизации. СЕ Т - вход разрешения переключений. С > CLR - вход сброса. CLR СЕ - вход разрешения тактового сигнала Q - выход. Таблица истинности элемента FTDCE Вход CLR Вход СЕ ВходТ ВходС Выход Q Режим работы 0 1 1 / -Qn Переключение 0 1 1 \ -Qn Переключение 0 1 0 X Qn Хранение 0 X X 0 Qn Хранение 0 X X 1 Qn Хранение 0 0 X X Qn Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-П. Тип элемента - макрос.
428 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС FTDCLE — Т-триггер с асинхронным сбросом, синхронной загрузкой информации и входом разрешения тактового сигнала, управляемый фронтом и спадом им пульса синхронизации D L Т СЕ С FTDCLE > Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. —Q CLR - вход сброса. СЕ - вход разрешения тактового сигнала. D - информационный вход D. L - вход разрешения записи информации со входа D CLR I Q - выход. Таблица истинности злемента FTDCLE Вход CLR Вход СЕ Вход L Вход D Вход Т Вход С Выход 0 Режим работы 0 1 0 X 1 / -On Переключение 0 1 0 X 1 \ -Qn Переключение 0 1 0 X 0 X Qn Хранение 0 X 0 X X 0 Qn Хранение 0 X 0 X X 1 Qn Хранение 0 0 0 X X X Qn Хранение 0 X 1 0 X / 0 Синхронная запись 0 0 X 1 0 X \ 0 Синхронная запись 0 0 X 1 1 X / 1 Синхронная запись 1 0 X 1 1 X \ 1 Синхронная запись 1 1 X X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. FTDCLEX - Т-триггер с асинхронным сбросом, синхронной загрузкой информации и входам разрешения тактового сигнала, управляемый фронтом и спадом импульса синхронизации D FTDCLEX Назначение выводов: 1 С - вход синхронизации. т Т - вход разрешения переключений. СЕ CLR - вход сброса. СЕ - вход разрешения тактового сигнала. > D - информационный вход D. L - вход разрешения записи информации со входа D. U-К | Q - выход. Таблица истинности элемента FTDCLEX Вход CLR Вход СЕ Вход L Вход О Вход Т Вход С Выход Q Режим работы 0 1 0 X 1 / -Qn Переключение 0 1 0 X 1 \ -Qn Переключение 0 1 0 X 0 X Qn Хранение 0 X 0 X X 0 Qn Хранение 0 X 0 X X 1 Qn Хранение 0 0 0 X X X Qn Хранение 0 1 1 0 X / 0 Синхронная запись 0
Приложение 1. Унифицированные библиотеки компонентов 429 Вход CLR Вход СЕ Вход L Вход D ВходТ ВходС Выход О Режим работы 0 1 1 0 X \ 0 Синхронная запись 0 0 1 1 1 X / 1 Синхронная запись 1 0 1 1 1 X \ 1 Синхронная запись 1 1 X X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. FTDCP -T-триггер с асинхронным сбросом и асинхронной установкой, управляемый фронтом и спадам импульса синхронизации PRE Назначение выводов: | С - вход синхронизации. у FTDCP Т - вход разрешения переключений CLR - вход сброса. — PRE - вход установки. С > Q - выход. CLR | Таблица истинности элемента FTDCP Вход CLR Вход PRE Вход Т Вход С Выход О Режим работы 0 0 1 / -On Переключение 0 0 1 \ -On Переключение 0 0 0 X Qn Хранение 0 0 X 0 Qn Хранение 0 0 X 1 Qn Хранение 0 1 X X 1 Асинхронная установка 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CooIRunner XPLA3 CooIRunner-П. Тип элемента - примитив. FTDRSE — Т-триггер с синхронным сбросам, синхронной установкой и входом разрешения тактового сигнала, управляемый фронтом и спадом импульса синхронизации S I Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. у FTDRSE СЕ R - вход сброса. — S - вход установки. С > СЕ - вход разрешения тактового сигнала Q - выход. R______I Таблица истинности элемента FTDRSE Вход R Вход S Вход СЕ Вход Т Вход С Выход Q Режим работы 0 0 1 1 / -Qn Переключение 0 0 1 1 \ -On Переключение 0 0 1 0 X Qn Хранение 0 0 1 X 0 On Хранение
430 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Вход R Вход S Вход СЕ Вход Т Вход С Выход Q Режим работы 0 0 1 X 1 Qn Хранение 0 0 0 X X Qn Хранение 0 1 X X / 1 Синхронная установка 0 1 X X \ 1 Синхронная установка 1 X X X / 0 Синхронный сброс 1 X X X \ 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. FTDRSLE - Т-триггер с синхронным сбросом, синхронной установкой, синхронной загрузкой информации и входом разрешения тактового сигнала, управляемый фронтом и спадом импульса синхронизации Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. R - вход сброса. S - вход установки. СЕ - вход разрешения тактового сигнала. D - информационный вход D. L - вход разрешения записи информации со входа D. Q - выход. Таблица истинности элемента FTDRSLE Вход R Вход S Вход L Вход D Вход СЕ Вход т Вход С Выход О Режим работы 0 0 0 X 1 1 / -On Переключение 0 0 0 X 1 1 \ -On Переключение 0 0 0 X 1 0 X Qn Хранение 0 0 0 X 1 X 0 Qn Хранение 0 0 0 X 1 X 1 Qn Хранение 0 0 0 X 0 X X Qn Хранение 0 0 1 0 X X / 0 Синхронная запись 0 0 0 1 0 X X \ 0 Синхронная запись 0 0 0 1 1 X X / 1 Синхронная запись 1 0 0 1 1 X X \ 1 Синхронная запись 1 0 1 X X X X / 1 Синхронная установка 0 1 X X X X \ 1 Синхронная установка 1 X X X X X / 0 Синхронный сброс 1 X X X X X \ 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunncr-II. Тип элемента - макрос. FTP — Т-триггер с асинхронной установкой PRE Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. PRE - вход установки. Q - выход.
Приложение 1. Унифицированные библиотеки компонентов 431 Таблица истинности элемента FTP Вход PRE Вход Т ВходС Выход О Режим работы 0 1 / -On Переключение 0 0 X On Хранение 0 X 0 Qn Хранение 0 X 1 Qn Хранение 1 X X 1 Асинхронная установка PRE Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC95OO/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. FTPE—Т-триггер с асинхронной установкой и входом разрешения тактового сигнала « Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. PRE - вход установки. СЕ - вход разрешения тактового сигнала. Q - выход. FTPE СЕ — > Q Таблица истинности элемента FTPE Вход PRE Вход СЕ ВходТ Вход С Выход О Режим работы 0 1 1 / -Qn Переключение 0 1 0 X Qn Хранение 0 1 X 0 On Хранение 0 1 X 1 Qn Хранение 0 0 X X Qn Хранение 1 X X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. FTPLE — Т-триггер с асинхронной установкой, синхронной загрузкой информации и входом разрешения тактового сигнала PRE 1) FTPLE 1 т Q CF С > Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. PRE - вход установки. СЕ - вход разрешения тактового сигнала. D - информационный вход D. L - вход разрешения записи информации со входа D. Q - выход.
432 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента FTPLE Вход PRE Вход L Вход D Вход СЕ Вход Т Вход С Выход Q Режим работы 0 0 X 1 1 / -Qn Переключение 0 0 X 1 0 X On Хранение 0 0 X 1 X 0 On Хранение 0 0 X 1 X 1 On Хранение 0 0 X 0 X X On Хранение 0 1 0 X X / 0 Синхронная запись 0 0 1 1 X X / 1 Синхронная запись 1 1 X X X X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtcx-П, Virtex-П Pro, XC95OO/XV/XL, CoolRunner XPLA3, CoolRunner-П, Тип элемента - макрос. FTRSE — Т-триггер с синхронным сбросам, синхронной установкой и входом разрешения тактового сигнала Назначение выводов: j— — С - вход синхронизации. [ Т - вход разрешения переключений. R - вход сброса. S - вход установки. СЕ - вход разрешения тактового сигнала. Q - выход. Таблица истинности элемента FTRSE Вход R Вход S Вход СЕ Вход Т ВходС Выход О Режим работы 0 0 1 1 / -Qn Переключение 0 0 1 0 X Qn Хранение 0 0 1 X 0 Qn Хранение 0 0 1 X 1 Qn Хранение 0 0 0 X X Qn Хранение 0 1 X X / 1 Синхронная установка 1 X X X / 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA.3, CooIRunner-II. Тип элемента - макрос. FTRSLE — Т-триггер с синхронным сбросом, синхронной установкой, синхронной загрузкой информации и входом разрешения тактового сигнала S Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. R - вход сброса. S - вход установки. СЕ - вход разрешения тактового сигнала. D - информационный вход D. L - вход разрешения записи информации со входа D. Q - выход.
Приложение 1. Унифицированные библиотеки компонентов 433 Таблица истинности элемента FTRSLE Вход R Вход S Вход L Вход D Вход СЕ Вход Т Вход С Выход Q Режим работы 0 0 0 X 1 1 / -Qn Переключение 0 0 0 X 1 0 X On Хранение 0 0 0 X 1 X 0 Qn Хранение 0 0 0 X 1 X 1 On Хранение 0 0 0 X D X X Qn Хранение 0 0 1 0 X X / 0 Синхронная запись 0 0 0 1 1 X X / 1 Синхронная запись 1 0 1 X X X X / 1 Синхронная установка 1 X X X X X / 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. FTSRE S т СЕ С R - Т-триг FTSRE -> —I гер с синхронной установкой, синхронным сбросом и входом разрешения тактового сигнала । Назначение выводов: С - вход синхронизации. Т - вход разрешения переключений. Q R - вход сброса. S - вход установки. СЕ - вход разрешения тактового сигнала. Q - выход. Таблица истинности элемента FTSRE Вход R Вход S Вход СЕ Вход Т Вход С Выход Q Режим работы 0 0 1 1 / -Qn Переключение 0 0 1 0 X Qn Хранение 0 0 1 X 0 On Хранение 0 0 1 X 1 Qn Хранение 0 0 0 X X Qn Хранение X 1 X X / 1 Синхронная установка 1 0 X X / 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П fro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-IL Тип элемента - макрос. FTSRLE — Т-триггер с синхронной установкой, синхронным сбросам, синхронной загрузкой информации и входом разрешения тактового сигнала --------1 Назначение выводов: ----1--- С - вход синхронизации. — — FTSRLE Т _ вход разрешения переключений. — R - вход сброса. T О о — — S - вход установки. — СЕ - вход разрешения тактового сигнала. > D — информационный вход D. I L - вход разрешения записи информации со входа D. R_____ /-х Q - выход.
434 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности злемента FTSRLE Вход R Вход S Вход L Вход D Вход СЕ Вход Т Вход С Выход Q Режим работы 0 0 0 X 1 1 / -On Переключение 0 0 0 X 1 0 X Qn Хранение 0 0 0 X 1 X 0 Qn Хранение 0 0 0 X 1 X 1 Qn Хранение 0 0 0 X 0 X X Qn Хранение 0 0 1 0 X X / 0 Синхронная запись 0 0 0 1 1 X X / 1 Синхронная запись 1 X 1 X X X X / 1 Синхронная установка 1 0 X X X X / 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. П1.11. Триггеры с потенциальным (статическим) управлением (защелки) Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Latches. При их описании далее используется следующее ус- ловное обозначение: Qn - состояние триггера на предыдущем шаге. LD - D-триггер с потенциальным управлением (D-защелка) D LD Q Назначение выводов: D - информационный вход D. G G — вход синхронизации. Q - выход. Таблица истинности злемента LD Вход G Вход О Выход О Режим работы 1 0 0 Передача данных со входа D (0) на выход триггера 1 1 1 Передача данных со входа D (1) на выход триггера \ 0 0 Фиксация входных данных (0) в триггере \ 1 1 Фиксация входных данных (1)в триггере 0 X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента: для Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, CooIRunner XPLA3, CoolRunner-II - примитив; для XC9500/XV/XL - макрос. LD_1 — D-триггер с потенциальным управлением (D-защелка) и инверсией по входу синхронизации D LD 1 0 Назначение выводов: D - информационный вход D G_ G - вход синхронизации. Q - выход.
Приложение 1. Унифицированные библиотеки компонентов 435 Таблица истинности злемента LD_1 Вход G Вход D Выход Q Режим работы 0 0 0 Передача данных со входа D (0) на выход триггеоа 0 1 1 Передача данных со входа D (1) на выход триггеоа / 0 0 Фиксация входных данных (0) в триггере / 1 1 Фиксация входных данных (1) в триггере 1 X On Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro. Тип элемента - примитив. LD4 — четыре D-триггера с потенциальным управлением (D-защелки) с общим входом синхронизации (четырехразрядный регистр) DO D1 D2 D3 LD4 Q0 01 Q2 Q3 Назначение выводов: DO - D3 - информационные входы D соответст- вующих триггеров. G - вход синхронизации. Q0 - Q3 - выходы соответствующих триггеров. G Таблица истинности злемента LD4 Вход G Вход Di Выход Qi Режим работы 1 0 0 Передача данных со входа 0/(0) на выход Аго триггера 1 1 1 Передача данных со входа D/ (1) на выход яго триггера \ 0 0 Фиксация входных данных (0) в ям триггере \ 1 1 Фиксация входных данных (1) в нм триггере 0 X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. LD8 — восемь D-триггеров с потенциальным управлением (D-защелок) с общим входом синхронизации (восьмиразрядныйрегистр) DJ7:0] LD8 0(7:0] Назначение выводов: e DO - D7 - информационные входы D соответствую- G щих триггеров, объединенные в шину D[7:0], G - вход синхронизации. -------- Q0 - Q7 - выходы соответствующих триггеров, объе- диненные в шину Q[7:0]. Таблица истинности элемента LD8 Вход G Вход Di Выход Qi Режим работы 1 0 0 Передача данных со входа 0/(0) на выход /го триггера 1 1 1 Передача данных со входа D/ (1) на выход /-го триггера \ 0 0 Фиксация входных данных (0) в ям триггере \ 1 1 Фиксация входных данных (1) в нм триггере 0 X Qni Хранение
436 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC95OO/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. ILD16 - шестнадцать D-триггеров с потенциальным управлением (D-защелок) с общим входам синхронизации (шестнадцатиразрядный регистр) D[15:0| LD16 0115:01 G Назначение выводов: DO - D15 - информационные входы D соответст- вующих триггеров, объединенные в шину D[15:0]. G - вход синхронизации. Q0 - QI5 - выходы соответствующих триггеров, объединенные в шину Q[ 15:0]. Таблица истинности элемента LD16 Вход G Вход Di Выход Qi Режим работы 1 0 0 Передача данных со входа Di (0) на выход i-ro триггера 1 1 1 Передача данных со входа Di(1) на выход иго триггера \ 0 0 Фиксация входных данных <0> в нм триггере \ 1 1 Фиксация входных данных (1) в i-м триггере 0 X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента — макрос. LDC— D-триггер с потенциальным управлением (D-эащелка) и асинхронным сбросом Назначение выводов: D - информационный вход D. G - вход синхронизации. CLR - вход сброса. Q - выход. LDC Q D G Таблица истинности элемента LDC O.R | Вход CLR Вход G Вход D Выход Q Режим работы 0 1 0 0 Передача данных со входа D (0) на выход триггера 0 1 1 1 Передача данных со входа D (1) на выход триггера 0 \ 0 0 Фиксация входных данных (0) в триггере 0 \ 1 1 Фиксация входных данных (1)в триггере 0 0 X On Хранение 1 X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента: для Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, CoolRunner XPLA3, CoolRunncr-II - примитив; для XC9500/XV/XL - макрос.
Приложение I. Унифицированные библиотеки компонентов 437 I.DC1 - D-триггер с потенциальным управлением (D-защелка), асинхронным сбросом и инверсией по входу синхронизации D LDC_1 Q CLR | Назначение выводов: D - информационный вход D. G - вход синхронизации. CLR - вход сброса. Q - выход. Таблица истинности элемента LDC1 Вход CLR Вход G Вход D Выход Q Режим работы 0 0 0 0 Передача данных со входа D (0) на выход триггера 0 0 1 1 Передача данных со входа О (1) на выход триггера 0 / 0 0 Фиксация входных данных (0) в триггере 0 / 1 1 Фиксация входных данных (1)в триггере 0 1 X Qn Хранение 1 X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. LDCE — D-триггер с потенциальным управлением (D-защелка), входом разрешения тактового сигнала и асинхронным сбросом D GE LDCE 0 Назначение выводов: D - информационный вход D. G - вход синхронизации. G CLR - вход сброса. GE - вход разрешения тактового сигнала Q - выход. Таблица истинности элемента LDCE Вход CLR Вход GE Вход G Вход D Выход Q Режим работы 0 1 1 0 0 Передача данных со входа D (0) на выход триггера 0 1 1 1 1 Передача данных со входа D (1) на выход триггера 0 1 \ 0 0 Фиксация входных данных (0) в триггере 0 1 \ 1 1 Фиксация входных данных (1) в триггере 0 1 0 X Qn Хранение 0 0 X X Qn Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-11 Pro. Тип элемента - примитив.
438 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС LDCE_1 — D-триггер с потенциальным управлением (D-защелка), входом разрешения тактового сигнала, асинхронным сбросом и инверсией по входу синхронизации D GE LDCE1 0 Назначение выводов: D - информационный вход D. G - вход синхронизации. G c CLR - вход сброса. CLR GE - вход разрешения тактового сигнала Q - выход. Таблица истинности злемента LDCE1 Вход CLR Вход GE Вход G Вход D Выход Q Режим работы 0 1 0 0 0 Передача данных со входа D (0) на выход триггера 0 1 0 1 1 Передача данных со входа D (1) на выход триггера 0 1 / 0 0 Фиксация входных данных (0) в триггере 0 1 / 1 1 Фиксация входных данных (1) в триггере 0 1 1 X On Хранение 0 0 X X Qn Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro. Тип элемента - примитив. LD4CE — четыре D-триггера с потенциальным управлением (D-защелки), асинхронным сбросом, общими входами синхронизации, разрешения тактового сигнала и сброса (четырехразрядный регистр) DO D1 LD4CE QO QI Назначение выводов: DO - D3 - информационные входы D соответст- 02 Q2 вующих триггеров. 03 Q3 G - вход синхронизации. GE GE - вход разрешения тактового сигнала G Q0 - Q3 - выходы соответствующих триггеров. CLR | Таблица истинности элемента LD4CE Вход CLR Вход GE Вход G Вход Di Выход О/ Режим работы 0 1 1 0 0 Передача данных со входа 0/(0) на выход ьго триггера 0 1 1 1 1 Передача данных со входа 0/ (1) на выход нго триггера 0 1 \ 0 0 Фиксация входных данных (0) в йм триггере 0 1 \ 1 1 Фиксация входных данных (1) в i-м триггере 0 1 0 X Qni Хранение 0 0 X X Qni Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Vittcx-11 Pro. Тип элемента - макрос.
Приложение I. Унифицированные библиотеки компонентов 439 LD8CE - восемь D-триггеров с потенциальным управлением (D-защелок), асинхронным сбросом, общими входами синхронизации, разрешения тактового сигнала и сброса (восьмиразрядный регистр) D[7:D] LDBCE 0(7:0] Назначение выводов: DO - D7 - информационные входы D соотвстст- G вуюших триггеров, объединенные в шину D[7:0] G - вход синхронизации. L,, GE - вход разрешения тактового сигнала CLR | Q0-Q7 - выходы соответствующих триггеров, объединенные в шину Q[7:0]. Таблица истинности элемента LD8CE Вход CLR Вход GE Вход G Вход Di Выход 0/ Режим работы 0 1 1 0 0 Передача данных со входа D7 (0) на выход 7-го триггера 0 1 1 1 1 Передача данных со входа Di (1) на выход нго триггера 0 1 \ 0 0 Фиксация входных данных (0) в нм триггере 0 1 \ 1 1 Фиксация входных данных (1) в ни триггере 0 1 0 X Qni Хранение 0 0 X X Qni Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. LDI6CE - шестнадцать D-триггеров с потенциальным управлением (D-защелок), асинхронным сбросом, общими входами синхронизации, разрешения тактового сигнала и сброса (шестнадцатиразрядный регистр) Назначение выводов: DO - D15 - информационные входы D соответст- вующих триггеров, объединенные в шину D[15:0]. G - вход синхронизации. GE - вход разрешения тактового сигнала Q0 - Q15 - выходы соответствующих триггеров, объединенные в шину Q[ 15:0]. Таблица истинности элемента LD16CE Вход CLR Вход GE Вход G Вход О/ Выход Qi Режим работы 0 1 1 0 0 Передача данных со входа D/ (0) на выход нго триггера 0 1 1 1 1 Передача данных со входа Di (1) на выход нго триггера 0 1 \ 0 0 Фиксация входных данных (0) в нм триггере 0 1 \ 1 1 Фиксация входных данных (1) в нм триггере 0 1 0 X Qni Хранение 0 0 X X Qni Хранение 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-11, Spartan-ПЕ, Virtex, Virtcx-E, Virtex-II, Virtex-11 Pro. Тип элемента - макрос.
440 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС LDCP — D-триггер с потенциальным управлением (D-защелка), асинхронным сбросом и асинхронной установкой PRE 1 Q Назначение выводов: D - информационный вход D. G - вход синхронизации. CLR - вход сброса. D LDCP G PRE - вход установки. Q - выход. CLR I Таблица истинности элемента LDCP Вход CLR Вход PRE Вход G Вход D Выход Q Режим работы 0 0 1 0 0 Передача данных со входа D (0) на выход триггера 0 0 1 1 1 Передача данных со входа D (1) на выход триггера 0 0 \ 0 0 Фиксация входных данных (0) в триггере 0 0 \ 1 1 Фиксация входных данных (1) в триггере 0 0 0 X Qn Хранение 0 1 X X 1 Асинхронная установка 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента: для Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, CoolRunner XPLA3, CooIRunner-II - примитив; для XC9500/XV/XL - макрос. LDCP I — D-триггер с потенциальным управлением (D-защелка), асинхронным сбросом, асинхронной установкой и инверсией по входу синхронизации PRI D CLF I ldcpj L_I Назначение выводов: D - информационный вход D. G - вход синхронизации. q CLR - вход сброса. PRE - вход установки. Q - выход. Таблица истинности элемента LDCP_1 Вход CLR Вход PRE Вход G Вход D Выход Q Режим работы 0 0 0 0 0 Передача данных со входа D (0) на выход триггера 0 0 0 1 1 Передача данных со входа D (1) на выход триггера 0 0 / 0 0 Фиксация входных данных (0) в триггере 0 0 / 1 1 Фиксация входных данных (1) в триггере 0 0 1 X Qn Хранение 0 1 X X 1 Асинхронная установка 1 X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Viitcx-П, Virtex-II Pro. Тип элемента - примитив.
PRE D LDCPE GE 0 G Приложение I. Унифицированные библиотеки компонентов 441 LDCPE — D-триггер с потенциальным управлением (D-защелка), асинхронным сбросам, асинхронной установкой и входом разрешения тактового сигнала Назначение выводов: D - информационный вход D. G - вход синхронизации. GE - вход разрешения тактового сигнала CLR - вход сброса. PRE - вход установки. Q - выход. CLR I Таблица истинности злемента LDCPE Вход CLR Вход PRE Вход GE Вход G Вход D Выход Q Режим работы 0 0 1 1 0 0 Передача данных со входа D (0) на выход триггера 0 0 1 1 1 1 Передача данных со входа D (1) на выход триггера 0 0 1 \ 0 0 Фиксация входных данных (0) в триггере 0 0 1 \ 1 1 Фиксация входных данных (1) в триггере 0 0 1 0 X Qn Хранение 0 0 0 X X Qn Хранение 0 1 X X X 1 Асинхронная установка 1 X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. LDCPE I - D-триггер с потенциальным управлением (D-защелка), асинхронным сбросом, асинхронной установкой, входом разрешения тактового сигнала и инверсией по входу синхронизации PRE D GE G- CLR LDCPEJ —I Назначение выводов: D - информационный вход D. G - вход синхронизации. Q GE - вход разрешения тактового сигнала. CLR - вход сброса. PRE - вход установки. Q - выход. Таблица истинности элемента LDCPE_1 Вход CLR Вход PRE Вход GE Вход G Вход D Выход Q Режим работы 0 0 1 0 0 0 Передача данных со входа D (0) на выход триггера 0 0 1 0 1 1 Передача данных со входа D (1) на выход триггера 0 0 1 / 0 0 Фиксация входных данных (0) в триггере 0 0 1 / 1 1 Фиксация входных данных (1) в триггере 0 0 1 1 X Qn Хранение 0 0 0 X X Qn Хранение 0 1 X X X 1 Асинхронная установка 1 X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-11, Spartan-IIE, Virtex, Virtcx-E, Virlcx-11, Virtcx-II Pro. Тип элемента - примитив.
442 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС LDE - D-триггер с потенциальным управлением (D-защелка) и входом разрешения тактового сигнала D GE LDE Q Назначение выводов: D - информационный вход D. G - вход синхронизации. G GE - вход разрешения тактового сигнала Q - выход. Таблица истинности элемента LDE Вход GE Вход G Вход D Выход Q Режим работы 1 1 0 0 Передача данных со входа О (0) на выход триггера 1 1 1 1 Передача данных со входа D (1) на выход триггера 1 \ 0 0 Фиксация входных данных (0) в триггере 1 \ 1 1 Фиксация входных данных (1) в триггере 1 0 X Qn Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. LDE_1 -D-триггер с потенциальным управлением (D-защелка), входом разрешения тактового сигнала и инверсией по входу синхронизации LDE 1 Назначение выводов: D - информационный вход D. G - вход синхронизации. GE - вход разрешения тактового сигнала Q - выход. Таблица истинности элемента I.DE1 Вход GE Вход G Вход D Выход Q Режим работы 1 0 0 0 Передача данных со входа О (0) на выход триггера 1 0 1 1 Передача данных со входа D (1) на выход триггера 1 / 0 0 Фиксация входных данных (0) в триггере 1 / 1 1 Фиксация входных данных (1) в триггере 1 1 X Qn Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virlcx-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. EDG - D-триггер с потенциальным управлением (D-защелка), предназначенный для стробирования входных сигналов D LOG Q G Назначение выводов: D - информационный вход D. G - вход синхронизации. Q — выход. Информационный вход D элемента LDG должен подключаться ко входному контакту ПЛИС.
Приложение i. Унифицированные библиотеки компонентов 443 Таблица истинности элемента LDG Вход G Вход D Выход Q Режим работы 0 0 0 Передача данных со входа D (0) на выход триггеоа 0 1 1 Передача данных со входа D (1) на выход триггеоа / 0 0 Фиксация входных данных (0) в триггере / 1 1 Фиксация входных данных (1) в триггере 1 X Qn Хранение Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента-примитив. U) пр DD D1 02 D3 G 04—чет едназначе LDG4 ыре D-триггера с потенциальным управлением (D-защелки), нных для стробирования входных сигналов, с общим входом синхронизации ОР Назначение выводов: DO - D3 - информационные входы D соответствующих триггеров. G - вход синхронизации. Q0 - Q3 - выходы соответствующих триггеров. Информационные входы Di элемента LDG4 должны под- ключаться ко входным контактам ПЛИС. Таблица истинности элемента LDG4 Вход G Вход DI Выход Q7 Режим работы 0 0 0 Передача данных со входа D (0) на выход триггера 0 1 1 Передача данных со входа D (1) на выход триггера / 0 0 Фиксация входных данных (0) в триггере / 1 1 Фиксация входных данных (1)в триггере 1 X Qni Хранение Поддерживаемые семейства ПЛИС: CoolRunncr-II. Тип элемента - макрос. LDG8 — восемь D-триггеров с потенциальным управлением (D-защелок), предназначенных для стробирования входных сигналов, с общим входом синхронизации D[7:0] LDGB Q[7:0J Назначение выводов: DO - D7 - информационные входы D соответствующих q триггеров, объединенные в шину D[7:0]. G - вход синхронизации. Q0 - Q7 - выходы соответствующих триггеров, объеди- ненные в шину Q[7:0]. Информационные входы Di элемента LDG8 должны подключаться ко входным контактам ПЛИС. Таблица истинности элемента LDG8 Вход G Вход D/ Выход Qi Режим работы 0 0 0 Передача данных со входа D (0) на выход триггера 0 1 1 передача данных со входа О (1) на выход триггера / 0 0 Фиксация входных данных (0) в триггере / 1 1 Фиксация входных данных (1)в триггере 1 X Qni Хранение Поддерживаемые семейства ПЛИС: CoolRunncr-II. Тип элемента - макрос.
444 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС LI (D- G 016 — met защелок), LDG1G лпнадцать D-триггеров с потенциальным управлением предназначенных для стробирования входных сигналов, с общим входом синхронизации Q[15:0| Назначение выводов: DO - D15 - информационные входы D соответст- вующих триггеров, объединенные в шину D[15:0]. G - вход синхронизации. Q0 - Q15 - выходы соответствующих триггеров, объединенные в шину Q[15:0], Информационные входы Di элемента LDG16 долж- ны подключаться ко входным контактам ПЛИС. Таблица истинности элемента LDG16 Вход G Вход Di Выход Qi Режим работы 0 0 0 Передача данных со входа D (0) на выход триггера 0 1 1 Передача данных со входа D (1) на выход триггера / 0 0 Фиксация входных данных (0) в триггере / 1 1 Фиксация входных данных (1) в триггере 1 X Qni Хранение Поддерживаемые семейства ПЛИС: CoolRunner-П. Тип элемента - макрос. LDP — D-триггер с потенциальным управлением (D-защелка) и асинхронной установкой PRE Q Назначение выводов: D - информационный вход D. G - вход синхронизации. PRE - вход установки. D LDP G Q - выход. Таблица истинности элемента LDP Вход PRE Вход G Вход О Выход Q Режим работы 0 1 0 0 Передача данных со входа D (0) на выход триггера 0 1 1 1 Передача данных со входа D (1) на выход триггера 0 \ 0 0 Фиксация входных данных (0) в триггере 0 \ 1 1 Фиксация входных данных (1) в триггере 0 0 X Qn Хранение 1 X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента: для Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, CoolRunner XPLA3, CoolRunner-П - примитив; для XC9500/XV/XL - макрос.
Приложение 1. Унифицированные бибтотеки компонентов 44S LDP_1 - D-триггер с потенциальным управлением (D-защелка), асинхронной установкой и инверсией по входу синхронизации PRE D LDP_1 Q Сц. Назначение выводов: D - информационный вход D. G - вход синхронизации. PRE - вход установки. Q - выход. Таблица истинности элемента ЮР_1 Вход PRE Вход G Вход D Выход Q Режим работы 0 0 0 0 Передача данных со входа D (0) на выход триггера 0 0 1 1 Передача данных со входа D (1) на выход триггера 0 / 0 0 Фиксация входных данных (0) в триггере 0 / 1 1 Фиксация входных данных (1) в триггере 0 1 X Qn Хранение 1 X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. ЮРЕ — D-триггер с потенциальным управлением (D-защепка), асинхронной установкой и входом разрешения тактового сигнала PRE D GE G LOPE Назначение выводов: D - информационный вход D. G - вход синхронизации. GE - вход разрешения тактового сигнала. —5 PRE - вход установки. Q - выход. Таблица истинности элемента ЮРЕ Вход PRE Вход GE Вход G Вход D Выход Q Режим работы 0 1 1 0 0 Передача данных со входа D (0) на выход триггера 0 1 1 1 1 Передача данных со входа D (1) на выход триггера 0 1 \ 0 0 Фиксация входных данных (0) в триггере 0 1 \ 1 1 Фиксация входных данных (1) в триггере 0 1 0 X Qn Хранение 0 0 X X Qn Хранение 1 X X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Sparlan-IIE, Virtex, Virtex-Е, Virtex-II, Virtex-II Pro. Тип элемента - примитив.
446 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС U)PE_1 - D-триггер с потенциальным управлением (D-защелка), асинхронной установкой, входом разрешения тактового сигнала и инверсией по входу синхронизации PRE D LDPE_1 Назначение выводов: D - информационный вход D. G - вход синхронизации. GE - вход разрешения тактового сигнала. PRE - вход установки. Q - выход. Таблица истинности злемента LDPE_1 Вход PRE Вход GE Вход G Вход О Выход Q Режим работы 0 1 0 0 0 Передача данных со входа D (0) на выход триггера 0 1 0 1 1 Передача данных со входа О (1) на выход триггера 0 1 / 0 0 Фиксация входных данных (0) в триггере 0 1 / 1 1 Фиксация входных данных (1) в триггере 0 1 1 X Qn Хранение 0 0 X X On Хранение 1 X X X 1 Асинхронная установка Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. П1.12. Входные и выходные триггеры с динамическим управлением Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Input/Output Flip-Flop. Они реализуются в виде триггеров, расположенных в блоках ввода/вывода ПЛИС. При их описании далее используются следующие условные обозначения: Qn - состояние триггера на предыдущем шаге; Qni - состояние i-ro триггера на предыдущем шаге; Di - информационный вход D i- го триггера; Qi - выход i-ro триггера. IFD - входной D-триггер D с IFD > q Назначение выводов: — D - информационный вход D. С - вход синхронизации. Q - выход. Таблица истинности злемента IFD Вход С Вход D Выход Q Режим работы / 0 0 Загрузка 0 (сброс) / 1 1 Загрузка 1 (установка) 0 X Qn Хранение 1 X Qn Хранение
Приложение I. Унифицированные библиотеки компонентов 447 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. IFD4 — четыре входных D-триггера с общим входом синхронизации DO DI D2 1)3 IFD4 Q0 QI Q2 Q3 Назначение выводов: DO - D3 - информационные входы D соответст- вующих триггеров. С - вход синхронизации. Q0 - Q3 - выходы соответствующих триггеров. С > Таблица истинности элемента 1FD4 Вход С Вход О/ Выход QI Режим работы / 0 0 Загрузка 0 (сброс) нго триггера / 1 1 Загрузка 1 (установка) нго триггера 0 X Qni Хранение 1 X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. IFD8 — восемь входных D-триггеров с общим входом синхронизации Q|7:0| Назначение выводов: “ DO - D7 - информационные входы D соответст- вующих триггеров, объединенные в шину D[7:0]. С - вход синхронизации. Q0 - Q7 - выходы соответствующих триггеров, объединенные в шину Q[7:0], 0(7:0] IFDB С > Таблица истинности элемента 1FD8 Вход С Вход Di Выход Qi Режим работы / 0 0 Загрузка 0 (сброс) нго триггера / 1 1 Загрузка 1 (установка) нго триггера 0 X Qni Хранение 1 X Qn/ Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. IFD16 — шестнадцать входных D-триггеров с общим входом синхронизации D[15:0| IFD16 Q[15:01 Назначение выводов: " DO - D15 - информационные входы D соответст- С вующих триггеров, объединенные в шину D[ 15:0]. > С - вход синхронизации. Q0- Q15 - выходы соответствующих триггеров, объединенные в шину Q[ 15:0].
448 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента IFD16 Вход С Вход DI Выход Qi Режим работы / 0 0 Загрузка 0 (сброс) нго триггера / 1 1 Загрузка 1 (установка) нго триггера 0 X Qni Хранение 1 X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-Е, Virtex-II, Virtex-II Pro, XC95OO/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. IFD_l — входной D-триггер, тактируемый спадом импульса синхронизации Назначение выводов: D - информационный вход D. С - вход синхронизации. Q - выход. Таблица истинности элемента 1FD_1 Вход С Вход D Выход Q Режим работы \ 0 0 Загрузка 0 (сброс) \ 1 1 Загрузка 1 (установка) 0 X Qn Хранение 1 X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. IFDDRCPE — входной двойной D-триггер с асинхронным сбросом, асинхронной установкой и общими входами данных, разрешения тактового сигнала, сброса и установки | । Триггер IFDDRCPE тактируется двумя противофазными сигналами синхронизации. Назначение выводов: D - информационный вход. СО, С1 - входы синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. PRE - вход установки. QO, QI - выходы. PRE I D IFDDRCPE Q СЕ СО > С1 > Таблица истинности элемента IFDDRCPE CLR I Вход CLR Вход PRE Вход СЕ Вход СО Вход С1 Вход D Выход Q0 Выход Q1 Режим работы 0 0 1 / X 0 0 01 п Загрузка 0 со входа D в ОО 0 0 1 / X 1 1 01л Загрузка 1 со входа 0 в Q0 0 0 1 X / X ООп 0 Загрузка 0 со входа D в Q1 0 0 1 X / X QOn 1 Загрузка 1 со входа D в 01 0 0 1 0 0 X ООл О1л Хранение 0 0 1 1 0 X QOn ОШ Хранение
Приложение I. Унифицированные библиотеки компонентов 449 Вход CLR Вход PRE Вход СЕ Вход СО Вход С1 ВходС Выход Q0 Выход QI Режим работы 0 0 1 0 1 X QOn Qtn Хранение 0 0 1 1 1 X QOn Qin Хранение 0 0 0 X X X QOn Q1n Хранение 0 1 X X X X 1 1 Асинхронная установка 1 X X X X X 0 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-II Pro. Тип элемента - примитив. IFDDRRSE — входной двойной D-триггер с синхронным сбросом, синхронной установкой и общими входами данных, разраиения тактового сигнала, сброса и установки Триггер IFDDRRSE тактируется двумя противофазными сигналами синхронизации. S Назначение выводов: I D IFDDRRSE q D - информационный вход. СО, С1 — входы синхронизации. СЕ СО —> В I СЕ - вход разрешения тактового сигнала. R - вход сброса. S - вход установки. QO, Q1 - выходы. Таблица истинности элемента IFDDRRSE Вход R Вход S Вход СЕ Вход СО Вход С1 Вход D Выход Q0 Выход Q1 Режим работы 0 0 1 / X 0 0 Q1n Загрузка 0 co входа D в QO 0 0 1 / X 1 1 Q1 n Загрузка 1 co входа D в QO 0 0 1 X / X QOn 0 Загрузка 0 co входа О в Q1 0 0 1 X / X QOn 1 Загрузка 1 со входа О в Q1 0 0 1 0 0 X QOn Q1n Хранение 0 0 1 1 0 X QOn Q1n Хранение 0 0 1 0 1 X QOn Q1n Хранение 0 0 1 1 1 X QOn Qin Хранение 0 0 0 X X X QOn Qin Хранение 0 1 X / X X 1 Q1n Синхронная установка Q0 0 1 X X / X QOn 1 Синхронная установка Q1 1 X X / X X 0 Qin Синхронный сброс Q0 1 X X X / X QOn 0 Синхронный сброс Q1 Поддерживаемые семейства ПЛИС: Virtex-П, Virtex-П Pro. Тип элемента - примитив. IFDI — входной D-триггер с асинхронной установкой при подаче напряжения питания D С IFDI Q Назначение выводов: D - информационный вход D. С - вход синхронизации. > Q - выход. is Зотов В.Ю.
450 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС Таблица истинности элемента IFD1 Вход С Вход D Выход Q Режим работы / 0 0 Загрузка 0 (сброс) / 1 1 Загрузка 1 (установка) 0 X Qn Хранение 1 X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-II Pro. Тип элемента - макрос. IFDI_1 - входной D-триггер, тактируемый спадом импульса синхронизации, с асинхронной установкой при подаче напряжения питания D IFDI_1 Q Назначение выводов: D - информационный вход D. С С - вход синхронизации. Q - выход. Таблица истинности элемента 1FDI_1 Вход С Вход D Выход Q Режим работы \ 0 0 Загрузка 0 (сброс) \ 1 1 Загрузка 1 (установка) 0 X Qn Хранение 1 X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Virtex-Е, Virtex-II, Virtex-II Pro. Тип элемента - макрос. IFDX - входной D-триггер со входом разрешения тактового сигнала D СЕ IFDX Q Назначение выводов: D - информационный вход D. С - вход синхронизации. С > СЕ - вход разрешения тактового сигнала Q - выход. Таблица истинности элемента IFDX Вход СЕ Вход С Вход D Выход Q Режим работы 1 / 0 0 Загрузка 0 (сброс) 1 / 1 1 Загрузка 1 (установка) 1 0 X Qn Хранение 1 1 X Qn Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-11, Spartan-IIE, Virtex, Virtex-E, Virtcx-II, Virtcx-II Pro. Тип элемента - макрос.
Приложение 1 Унифицированные библиотеки компонентов 451 IFDX4 - четыре входных D-триггера с общими входами синхронизации и разрешения тактового сигнала D0 D1 IFDX4 ОС Q1 Назначение выводов: DO - D3 - информационные входы D соотвстст- D2 02 вующих триггеров. D3 Q3 С - вход синхронизации. СЕ СЕ - вход разрешения тактового сигнала. > Q0 - Q3 - выходы соответствующих триггеров. Таблица истинности элемента 1FDX4 Вход СЕ Вход С Вход Di Выход Qi Режим работы 1 / 0 0 Загрузка 0 (сброс) Fro триггера 1 / 1 1 Загрузка 1 (установка) i-ro триггера 1 0 X Qni Хранение 1 1 X Qni Хранение 0 X X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. IFDX8 — восемь входных D-триггеров с общими входами синхронизации и разрешения тактового сигнала 0[7:0| IFDX8 QP:O] сГ С > Назначение выводов: ЕЮ - D7 - информационные входы D соответст- вующих триггеров, объединенные в шину D[7:0]. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. Q0 - Q7 - выходы соответствующих триггеров, объединенные в шину Q[7:0]_ Таблица истинности элемента IFDX8 Вход СЕ Вход С Вход D/ Выход Qi Режим работы 1 / 0 0 Загрузка 0 (сброс) Fro триггера 1 / 1 1 Загрузка 1 (установка) г-го триггера 1 0 X Qni Хранение 1 1 X Qni Хранение 0 X X Qni Хранение D[15:0] СЕ С Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. IFDX16 — шестнадцать входных D-триггеров с общими входами синхронизации и разрешения тактового сигнала IFDX16 0[15Л] Назначение выводов: DO - D15 - информационные входы D соответст- вующих триггеров, объединенные в шину D[ 15:0]. > С - вход синхронизации. СЕ - вход разрешения тактового сигнала. Q0 - Q15 - выходы соответствующих триггеров, объединенные в шину Q[15:0],
452 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента IFDX16 Вход СЕ Вход С Вход DI Выход Qi Режим работы 1 / 0 0 Загрузка 0 (сброс) нго триггера 1 / 1 1 Загрузка 1 (установка) нго триггера 1 0 X Qni Хранение 1 1 X Qni Хранение 0 X X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. IFDX_1 — входной D-триггер co входом разрешения тактового сигнала, управляемый спадом импульса синхронизации 0 IFDXJ CF Q С-с Назначение выводов: D - информационный вход D. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. Q - выход. Таблица истинности элемента 1FDX_1 Вход СЕ Вход С Вход D Выход Q Режим работы 1 \ 0 0 Загрузка 0 (сброс) 1 \ 1 1 Загрузка 1 (установка) 1 0 X Qn Хранение 1 1 X Qn Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-11, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. IFDXl - входной D-триггер co входом разрешения тактового сигнала и асинхронной установкой при подаче напряжения питания D СЕ 1FDX1 Q Назначение выводов: D - информационный вход D. С - вход синхронизации. С > СЕ - вход разрешения тактового сигнала Q - выход. Таблица истинности элемента IFDXI Вход СЕ Вход С Вход D Выход Q Режим работы 1 / 0 0 Загрузка 0 (сброс) 1 / 1 1 Загрузка 1 (установка) 1 0 X Qn Хранение 1 1 X Qn Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-11, Virtcx-11 Pro. Тип элемента - макрос.
Приложение I. Унифицированные библиотеки компонентов 453 IFDXI_1 - входной D-триггер со входом разрешения тактового сигнала, управляемый спадом импульса синхронизации, и асинхронной установкой при подаче напрямсения питания IPQXI Назначение выводов: — _ D - информационный вход D. — — С - вход синхронизации. > СЕ - вход разрешения тактового сигнала. Q - выход. Таблица истинности элемента IFDX11 Вход СЕ Вход С Вход D Выход Q Режим работы 1 \ 0 0 Загрузка 0 (сброс) 1 \ 1 1 Загрузка 1 (установка) 1 0 X Qn Хранение 1 1 X Qn Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. OFD — выходной D-триггер D С OFD > Назначение выводов: — D - информационный вход D. С - вход синхронизации. Q - выход. Таблица истинности элемента OFD Вход С Вход D Выход Q Режим работы / 0 0 Загрузка 0 (сброс) / 1 1 Загрузка 1 (установка) 0 X Qn Хранение 1 X On Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. OFD4 — четыре выходных D-триггера с общим входом синхронизации ПО OFD4 00 Назначение выводов: D1 Q1 DO - D3 - информационные входы D состветст- D2 Q2 вующих триггеров. С - вход синхронизации. U J Q0 - Q3 - выходы соответствующих триггеров. С >
454 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента OFD4 Вход С Вход Di Выход Q/ Режим работы / 0 0 Загрузка 0 (сброс) Аго триггера / 1 1 Загрузка 1 (установка) Аго триггера 0 X Qni Хранение 1 X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-11 Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. OF D]7:0] С D8 - восем OFDB > ь выходных D-триггеров с общим входом синхронизации Q[7:0| Назначение выводов: ЕЮ - D7 - информационные входы D соответст- вующих триггеров, объединенные в шину D[7:0] С - вход синхронизации. QO - Q7 - выходы соответствующих триггеров, объединенные в шину Q[7:0], Таблица истинности элемента OFD8 Вход С Вход О/ Выход Qi Режим работы / 0 0 Загрузка 0 (сброс) Аго триггера / 1 1 Загрузка 1 (установка) Аго триггере 0 X Qni Хранение 1 X Qn/ Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. OFD16 — шестнадцать входных D-триггеров с общим входом синхронизации 0(15:0] OFD16 Q[15:0] Назначение выводов: “ DO - D15 - информационные входы D соответст- С вующих триггеров, объединенные в шину D[ 15:0]. * С - вход синхронизации. QO - QI5 — выходы сио1ве1сгвующих 1 ри11 еров, объединенные в шину Q[15:0], Таблица истинности элемента OFD16 Вход С Вход Di Выход Qi Режим работы /00 Загрузка 0 (сброс) i-го триггера / 1 1 Загрузка 1 (установка) i-го триггера 0 X Qni Хранение 1 X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtcx-E, Virtcx-П, Virtcx-11 Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос.
Приложение L Унифицированные библиотеки компонентов 455 OFD_1 — выходной D-триггер, тактируемый спадом импульса синхронизации D OFD 1 Q Назначение выводов: D - информационный вход D с С - вход синхронизации. Q - выход. Таблица истинности элемента OFD_1 ВходС Вход D ВыходQ Режим работы \ 0 0 Загрузка 0 (сброс) \ 1 1 Загрузке 1 (установка) 0 X Qn Хранение 1 X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro. Тип элемента - макрос. OFDDRCPE - выходной D-триггер с асинхронным сбросом, асинхронной установкой, входом разрешения тактового сигнала и двумя входами данных и синхронизации Триггер OFDDRCPE тактируется двумя противофазными сигналами синхронизации. PRE 1 Назначение выводов: DO, D1 - информационные входы. — СО, С1 - входы синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. PRE - вход установки. Q - выход. DO 01 СЕ СО С1 OFDDRCPE > > CLR 1 Таблица истинности элемента OFDDRCPE Вход CLR Вход PRE Вход СЕ Вход СО Вход С1 Вход DO Вход 01 Выход Q Режим работы 0 0 1 / X 0 X 0 Загрузка 0 со входа DO 0 0 1 / X 1 X 1 Загрузка 1 со входа DO 0 0 1 X / X 0 0 Загрузка 0 со входа D1 0 0 1 X / X 1 1 Загрузка 1 со входа D1 0 0 1 0 0 X X Qn Хранение 0 0 1 1 0 X X Qn Хранение 0 0 1 0 1 X X Qn Хранение 0 0 1 1 1 X X Qn Хранение 0 0 0 X X X X Qn Хранение 0 1 X X X X X 1 Асинхронная установка 1 X X X X X X 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Virtex-II, Virtcx-II Pro. Тип элемента - примитив.
456 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС OFDDRRSE - выходной D-триггер с синхронным сбросом, синхронной установкой, входом разрешения тактового сигнала и двумя входами данных и синхронизации Триггер OFDDRRSE тактируется двумя противофазными сигналами синхронизации. Назначение выводов: DO, D1 - информационные входы. СО, CI - входы синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. S - вход установки. Q - выход. Таблица истинности злемента OFDDRRSE Вход R Вход S Вход СЕ Вход со Вход С1 Вход DO Вход D1 Выход Q Режим работы 0 0 1 / X 0 X 0 Загрузка 0 со входа DO 0 0 1 / X 1 X 1 Загрузка 1 со входа DO 0 0 1 X 1 X 0 0 Загрузка 0 со входа D1 0 0 1 X / X 1 1 Загрузка 1 со входа D1 0 0 1 0 0 X X Qn Хранение 0 0 1 1 0 X X Qn Хранение 0 0 1 0 1 X X On Хранение 0 0 1 1 1 X X Qn Хранение 0 0 0 X X X X Qn Хранение 0 1 X / X X X 1 Синхронная установка 0 1 X X / X X 1 Синхронная установка 1 X X / X X X 0 Синхронный сброс 1 X X X / X X 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-II Pro. Тип элемента - примитив. OFDDRTCPE — выходной D-триггер с асинхронным сбросом, асинхронной установкой, входом разрешения тактового сигнала, двумя входами данных и синхронизации и тристабильным выходом Триггер OFDDRTCPE тактируется двумя противофазными сигналами синхрони- Назначение выводов: DO, D1 - информационные входы. СО, С1 - входы синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. PRE - вход установки. Т - вход разрешения (переключения выхода в со- стояние высокого импеданса) О - выход.
Приложение I. Унифицированные библиотеки компонентов Таблица истинности злемента OFDDRTCPE 457 Вход Т Вход CLR Вход PRE Вход СЕ Вход СО Вход С1 Вход DO Вход D1 Выход О Режим работы 0 0 0 1 / X 0 X 0 Загрузка 0 co входа DO 0 0 0 1 / X 1 X 1 Загрузка 1 co входа DO 0 0 0 1 X 1 X 0 0 Загрузка 0 co входа D1 0 0 0 1 X / X 1 1 Загрузка 1 co входа D1 0 0 0 1 0 0 X X Qn Хранение 0 0 0 1 1 0 X X Qn Хранение 0 0 0 1 0 1 X X On Хранение 0 0 0 1 1 1 X X Qn Хранение 0 0 0 0 X X X X Qn Хранение 0 0 1 X X X X X 1 Асинхронная установка 0 1 X X X X X X 0 Асинхронный сброс 1 X X X X X X X z Выход в состоянии высокого импедансе Поддерживаемые семейства ПЛИС: Virtcx-II, Virtex-П Pro. Тип элемента - примитив. OFDDRTRSE - выходной D-триггер с синхронным сбросом, синхронной установкой, входом разрешения тактового сигнала, двумя входами данных и синхронизации и тристабильным выходом Триггер OFDDRTRSE тактируется двумя противофазными сигналами синхронизации. Назначение выводов: EX), D1 - информационные входы. СО, С1 - входы синхронизации. СЕ - вход разрешения тактового сигнала. Т - вход разрешения (переключения выхода в состоя- ние высокого импеданса). R - вход сброса. S - вход установки. О - выход. Таблица истинности злемента OFDDRTRSE Вход Т Вход R Вход S Вход СЕ Вход СО Вход С1 Вход DO Вход D1 Выход О Режим работы 0 0 0 1 / X 0 X 0 Загрузка 0 co входа DO 0 0 0 1 / X 1 X 1 Загрузка 1 co входа DO 0 0 0 1 X / X 0 0 Загрузка 0 co входа D1 0 0 0 1 X / X 1 1 Загрузка 1 co входа D1 0 0 0 1 0 0 X X On Хранение 0 0 0 1 1 0 X X Qn Хоанвнив 0 0 0 1 0 1 X X Qn Хранение 0 0 0 1 1 1 X X Qn Хранение 0 0 0 0 X X X X Qn Хранение 0 0 1 X / X X X 1 Синхронная установка 0 0 1 X X / X X 1 Синхронная установка _ 0 1 X X / X X X 0 Синхронный сброс 0 1 X X X / X X 0 Синхронный сброс 1 X X X X X X X z Выход в состоянии высокого импеданса
458 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС Поддерживаемые семейства ПЛИС: Virtcx-П, Virtex-11 Pro. Тип элемента - примитив. OFDE - выходной D-триггер с тристабильиым выходом, управляемым высоким логическим уровнем сигнала разрешения Назначение выводов: D - информационный вход D. С - вход синхронизации. Е - вход разрешения (переключения выхода в со- стояние высокого импеданса). О - выход. Таблица истинности элемента OFDE Вход Е Вход С Вход 0 Выход О Режим работы 1 / О 0 Загрузка 0 (сброс) и разрешение выхода 1 / 1 1 Загрузка 1 (установка) и разрешение выхода 1 0 X Qn Хранение и разрешение выхода 1 1 X Од Хранение и разрешение выхода 0 / 0 Z Загрузка 0 (сброс) и запрет выхода (состояние "выключено") 0 / 1 Z Загрузка 1 (установка) и запрет выхода (“выключено") 0 0 X Z Хранение и запрет выхода ("выключено") 0 1 X Z Хранение и запрет выхода ("выключено") Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. OFDE4 — четыре выходных D-триггера с тристабильиым выходом, управляемым высоким логическим уровнем сигнала разрешения, и общими входами синхронизации и управления Назначение выводов: DO - D3 - информационные входы D соответст- вующих триггеров. С - вход синхронизации. Е - вход разрешения (переключения выхода в со- стояние высокого импеданса). ОО - ОЗ - выходы соответствующих триггеров. Таблица истинности элемента OFDE4 Вход Е Вход С Вход Di Выход О/ Режим работы 1 / 0 0 Загрузка 0 (сброс) нго триггера и разрешение выхода 1 / 1 1 Загрузка 1 (установка) /то триггера и разрешение выхода 1 0 X Qn/ Хранение нго триггера и разрешение выхода 1 1 X ат Хранение и разрешение выхода 0 / 0 Z Загрузка 0 (сброс) /-го триггера и запрет выхода ("выключено") 0 / 1 Z Загрузка 1 (установка) /-го триггера и запрет выхода (*,выключено,‘) 0 0 X Z Хранение /-го триггера и заорет выхода ("выключено") 0 1 X Z Хранение /-го триггера и заорет выхода (“выключено”)
Приложение 1. Унифицированные библиотеки компонентов 459 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtcx-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. OFDE8 - восемь выходных D-триггеров с тристабильиым выходом, управляемым высоким логическим уровнем сигнала разрешения, и общими входами синхронизации и управления Назначение выводов: DO - D7 - информационные входы D соответст- вующих триггеров, объединенные в шину D[7:0], С - вход синхронизации. Е - вход разрешения (переключения выхода в со- стояние высокого импеданса). ОО - 07 - выходы соответствующих триггеров, объединенные в шину 0[7:0]. Таблица истинности элемента OFDE8 Вход Е Вход С Вход Dr Выход Or Режим работы 1 / 0 0 Загрузка 0 (сброс) нго триггера и разрешение выхода 1 / 1 1 Загрузка 1 (установка) Аго триггера и разрешение выхода 1 0 X Qni Хранение нго триггера и разрешение выхода 1 1 X Qni Хранение и разрешение выхода 0 / 0 Z Загрузка 0 (сброс) Аго триггера и запрет выхода ("выключено") 0 / 1 Z Загрузка 1 (установка) нго триггера и запрет выхода ("выключено") 0 0 X z Хранение Аго триггера и запрет выхода ("выключено") ~0~1 1 X z Хранение нго триггера и запрет выхода ("выключено") Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC95OO/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. OFDE16 - шестнадцать выходных D-триггеров с тристабильиым выходам, управляемым высоким логическим уровнем сигнала разрешения, и общими Е входами синхронизации и управления — Назначение выводов: DO - D15 - информационные входы D соответст- вующих триггеров, объединенные в шину D[15:0], С - вход синхронизации. Е - вход разрешения (переключения выхода в со- стояние высокого импеданса). 00-015 - выходы соответствующих триггеров, объединенные в шину Of 15:0]. Таблица истинности элемента OFDE16 Вход Е Вход С Вход Di Выход 0/ Режим работы _ 1 / 0 0 Загрузка 0 (сброс) Аго триггера и разрешение выхода 1 / 1 1 Загрузка 1 (установка) i-ro триггера и разрешение выхода 1 0 X Qni Хранение Аго триггера и разрешение выхода 1 1 X Qni Хранение и разрешение выхода 0 / 0 z Загрузка 0 (сброс) Аго триггера и запрет выхода ("выключено")
460 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Вход Е Вход С Вход О/ Выход О/ Режим работы 0 / 1 Z Загрузка 1 (установка) нго триггера и запрет выхода ("выключено”) 0 0 X Z Хранение нго триггера и запрет выхода ("выключено") 0 1 X Z Хранение Аго триггера и запрет выхода ("выключено") Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XVZXL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. OFDE_1 - выходной D-триггер, тактируемый спадом импульса синхронизации, с тристабильным выходом, управляемым высоким логическим Е уровнем сигнала разрешения Назначение выводов: D - информационный вход D. С - вход синхронизации. Е - вход разрешения (переключения выхода в со- стояние высокого импеданса). О - выход. Таблица истинности элемента OFDE_1 Вход Е Вход С Вход D Выход О Режим работы 1 \ 0 0 Загрузка 0 (сброс) и разрешение выхода 1 V 1 1 Загрузка 1 (установка) и разрешение выхода 1 0 X Qn Хранение и разрешение выхода 1 1 X Ол Хранение и разрешение выхода 0 \ 0 Z Загрузка 0 (сброс) и запрет выхода (“выключено”) 0 \ 1 Z Загрузка 1 (установка) и запрет выхода ("выключено") 0 0 X Z Хранение и запрет выхода ("выключено") 0 1 X Z Хранение и запрет выхода ("выключено") Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtex-II Pro. Тип элемента - макрос. OFD1 — выходной D-триггер с асинхронной установкой при подаче напряжения питания D С OFDI > Р Назначение выводов: D - информационный вход D. С - вход синхронизации. Q - выход. Таблица истинности элемента OFDI Вход С Вход D Выход Q Режим работы Г 0 0 Загрузка 0 (сброс) / 1 1 Загрузка 1 (установка) 0 X Qn Хранение 1 X Qn Хранение Поддерживаемые семейства ПЛИС: Sparlan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-II, Virtex-II Pro. Тип элемента - макрос.
Приложение I. Унифицированные библиотеки компонентов 461 OFDI_1 - выходной D-триггер, тактируемый спадом импульса синхронизации, с асинхронной установкой при подаче напряжения питания D OFDI 1 Q Назначение выводов: D - информационный вход D. С С - вход синхронизации. Q - выход. Таблица истинности элемента OFD1_1 Вход С Вход D Выход Q Режим работы \ 0 0 Загрузка 0 (сброс) \ 1 1 Загрузка 1 (установка) 0 X Qn Хранение 1 X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro. Тип элемента - макрос. OFDT- выходной D-триггер с тристабильным выходом, управляемым низким логическим уровнем сигнала разрешения I------------- Назначение выводов: D - информационный вход D. D OFDT 0 к 0 С - вход синхронизации. Т - вход разрешения (переключения выхода с > в состояние высокого импеданса). О - выход. Таблица истинности элемента OFDT Вход Т ВходС Вход D Выход О Режим работы 0 / 0 0 Загрузка 0 (сброс) и разрешение выхода 0 / 1 1 Загрузка 1 (установка) и разрешение выхода 0 0 X On Хранение и разрешение выхода 0 1 X Qn Хранение и разрешение выхода 1 / 0 Z Загрузка 0 (сброс) и запрет выхода ("выключено”) 1 / 1 z Загрузка 1 (установка) и запрет выхода ("выключено") 1 0 X z Хранение и запрет выхода ("выключено") 1 1 X z Хранение и запрет выхода ("выключено") Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC95OO/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос.
462 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС OFDT4— четыре выходных D-триггера с тристабильным выходом, управляемым низким логическим уровнем сигнала разрешения, и общими входами синхронизации и управления Назначение выводов: DO — D3 - информационные входы D соответствующих триггеров. С - вход синхронизации. Т - вход разрешения (переключения выхода в состояние высокого импеданса). ОО - ОЗ - выходы соответствующих триггеров. Таблица истинности злемента OFDT4 вход Т Вход С Вход Di Выход О/ Режим работы 0 / 0 0 Загрузка 0 (сброс) Аго триггере и разрешение выхода 0 / 1 1 Загрузка 1 (установка) i-ro триггера и разрешение выхода 0 0 X Qni Хранение /то триггера и разрешение выхода 0 1 X Qni Хранение и разрешение выхода 1 / 0 Z Загрузка 0 (сброс) Аго триггера и запрет выхода ("выключено*') 1 / 1 z Загрузка 1 (установка) i-ro триггера и запрет выхода ("выключено”) 1 0 X z Хранение i-ro триггера и запрет выхода ("выключено") 1 1 X z Хранение i-ro триггера и запрет выхода ("выключено") Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. 0(7 Л] OFDT8 — восемь выходных D-триггеров с тристабильным выходом, управляемым низким логическим уровнен сигнала разрешения, и общими входами синхронизации и управления Назначение выводов: DO - D7 - информационные входы D соответст- вующих триггеров, объединенные в шину D[7:0], С - вход синхронизации. — > Т - вход разрешения (переключения выхода в со- -------- стояние высокого импеданса). ОО - 07 - выходы соответствующих триггеров, объединенные в шипу О[7:0]. 0FDT8 а(?л] Таблица истинности злемента OFDT8 Вход Т Вход С Вход d; Выход Oi Режим работы 0 / 0 0 Загрузка 0 (сброс) i-ro триггера и разрешение выхода 0 / 1 1 Загрузка 1 (установка) Аго триггера и разрешение выхода 0 0 X Qni Хранение Аго триггера и разрешение выхода 0 1 X Qni Хранение и разрешение выхода 1 / 0 Z Загрузка 0 (сброс) Аго триггера и запрет выхода (’‘выключено") 1 / 1 Z Загрузка 1 (установка) i-ro триггера и запрет выхода ("выключено") 1 0 X z Хранение Аго триггера и запрет еыхода ("выключено”) 1 1 X z Хранение Аго триггера и запрет выхода ("выключено")
Приложение 1. Унифицированные библиотеки компонентов 463 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtcx-E, Virtcx-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. OFDT16 — шестнадцать выходных D-триггеров с тристабильным выходом управляемым низким логическим уровнен сигнала разрешения, и общими входами синхронизации и управления Назначение выводов: DO - D15 - информационные входы D соответст- вующих триггеров, объединенные в шину D[15:0]. С - вход синхронизации. Т - вход разрешения (переключения выхода в со- стояние высокого импеданса). ОО - 015 - выходы соответствующих триггеров, объединенные в шину О[15:0]. Таблица истинности элемента OFDT16 Вход Т Вход С Вход Di Выход О/ Режим работы 0 / 0 0 Загрузка 0 (сброс) нго триггера и разрешение выхода 0 / 1 1 Загрузка 1 (установка) Аго триггера и разрешение выхода 0 0 X Qni Хранение Аго триггера и разрешение выхода 0 1 X Qni Хранение и разрешение выхода 1 / 0 z Загрузка 0 (сброс) Аго триггера и запрет выхода ("выключено") 1 / 1 z Загрузка 1 (установка) нго триггера и запрет выхода (“выключено") 1 0 X z Хранение нго триггера и запрет выхода ("выключено") 1 1 X z Хранение i-го триггера и запрет выхода ("выключено") Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virlex, Virlex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. OFDT_1 — выходной D-триггер, тактируемый спадом импульса синхронизации, с тристабильным выходом, управляемым низким логическим уровнем сигнала разрешения Назначение выводов: D - информационный вход D. С - вход синхронизации. Т - вход разрешения (переключения выхода в со- стояние высокого импеданса). О - выход. Таблица истинности элемента OFDT_1 Вход Т ВходС Вход D Выход О Режим работы 0 \ 0 0 Загрузка 0 (сброс) и разрешение выхода 0 \ 1 1 Загрузка 1 (установка) и разрешение выхода 0 0 X On Хранение и разрешение выхода 0 1 X Qn Хранение и разрешение выхода 1 \ 0 z Загрузка 0 (сброс) и запрет выхода ("выключено") 1 \ 1 z Загрузка 1 (установка) и запрет выхода ("выключено") 1 0 X z Хранение и запрет выхода ("выключено") 1 1 X z Хранение и запрет выхода ("выключено")
464 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-11 Pro. Тип элемента - макрос. OFDX - выходкой D-триггер co входом разрешения тактового сигнала OFDX Назначение выводов: СЕ Q D - информационный вход D. С > С - вход синхронизации. СЕ - вход разрешения тактового сигнала Q - выход. Таблица истинности злемента OFDX Вход СЕ Вход С Вход О Выход Q Режим работы 1 / 0 0 Загрузка 0 (сброс) 1 / 1 1 Загрузка 1 (установка) 1 0 X Qn Хранение 1 1 X Qn Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. OFDX4 — четыре выходных D-триггера с общими входами синхронизации и разрешения тактового сигнала СЮ OFDX4 Q0 Назначение выводов: 01 -31 DO - D3 - информационные входы D соответст- D2 Q2 вующих триггеров. D3 СЕ С > Q3 С - вход синхронизации. СЕ - вход разрешения тактового сигнала. Q0 - Q3 - выходы соответствующих триггеров. Таблица истинности элемента OFDX4 Вход СЕ Вход С Вход 07 Выход Qi Режим работы 1 7 0 0 Загрузка 0 (сброс) нго триггера 1 / 1 1 Загрузка 1 (установка) 7-го триггера 1 0 X Qni Хранение 1 1 X Qni Хранение 0 X X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. OFDX8 — восемь выходных D-триггеров с общими входами синхронизации и разрешения тактового сигнала О [7:0] СЕ С OFDXB Q[7:0] Назначение выводов: DO — D7 - информационные входы D соответст- вующих триггеров, объединенные в шину D[7:0]. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. Q0 - Q7 - выходы соответствующих триггеров, объединенные в шину Q[7:0].
Приложение 1. Унифицированные библиотеки компонентов 465 Таблица истинности злемента OFDX8 Вход СЕ Вход С Вход Di Выход Qi Режим работы 1 / 0 0 Загрузка 0 (сброс) нго триггера 1 / 1 1 Загрузка 1 (установка) нго триггера 1 0 X Qni Хранение 1 1 X Qni Хранение 0 X X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-П Pro. Тип элемента - макрос. D[15:D] 0FDX16 0(15:0] СЕ С > OFDX16 - шестнадцать выходных D-триггеров с общими входами синхронизации и разрешения тактового сигнала Назначение выводов: DO - D15 - информационные входы D соответст- вующих триггеров, объединенные в шину D[15:0], С - вход синхронизации. СЕ - вход разрешения тактового сигнала. Q0 - Q15 - выходы соответствующих триггеров, объединенные в шину Q[ 15:0]. Таблица истинности элемента OFDX1 б Вход СЕ Вход С Вход D/ Выход О/ Режим работы 1 / 0 0 Загрузка 0 (сброс) нго триггера 1 / 1 1 Загрузка 1 (установка) Аго триггера 1 0 X Qni Хранение 1 1 X Qni Хранение 0 X X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-11 Pro. Тип элемента - макрос. OFDX_l — выходной D-триггер co входом разрешения тактового сигнала, управляемый спадом импульса синхронизации р 0FDX1 СЕ Назначение выводов: D - информационный вход D. С - вход синхронизации. СЕ - вход разрешения тактового сигнала. Q - выход. Таблица истинности элемента OFDX1 Вход СЕ ВходС Вход D Выход Q Режим работы 1 \ 0 0 Загрузка 0 (сброс) 1 \ 1 1 Загрузка 1 (установка) 1 0 X Qn Хранение 1 1 X Qn Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex. Virtex-Е, Virtcx-11, Virtcx-11 Pro. Тип элемента - макрос.
466 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС OFDX1 - выходной D-триггер со входом разрешения тактового сигнала и асинхронной установкой при подаче напряжения питания о 0FDX1 Назначение выводов: СЕ Q D - информационный вход D. г* С - вход синхронизации. и > СЕ - вход разрешения тактового сигнала Q - выход. Таблица истинности элемента OFDXI Вход СЕ Вход С Вход D Выход Q Режим работы 1 / 0 0 Загрузка 0 (сброс) 1 / 1 1 Загрузка 1 (установка) 1 0 X Qn Хранение 1 1 X On Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro. Тип элемента - макрос. OFDX1_1 — выходной D-триггер co входом разрешения тактового сигнала, управляемый спадом импульса синхронизации, и асинхронной установкой при подаче напряжения питания п ofdxi 1 Назначение выводов: ~ Q D - информационный вход D. — — С - вход синхронизации. > СЕ - вход разрешения тактового сигнала. -------- Q - выход. Таблица истинности элемента OFDXI1 Вход СЕ Вход С Вход D Выход Q Режим работы 1 \ 0 0 Загрузка 0 (сброс) 1 \ 1 1 Загрузка 1 (установка) 1 0 X Qn Хранение 1 1 X Qn Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex. Virtex-E, Virtcx-II, Virtex-II Pro. Тип элемента - макрос. П1.13. Входные триггеры с потенциальным (статическим) управлением (защелки) Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Input Latches. Они реализуются в виде триггеров, расположен- ных в блоках ввода/вывода ПЛИС. При их описании далее используются следующие условные обозначения: Qn - состояние триггера на предыдущем шаге; Qni - со- стояние i-ro триггера на предыдущем шаге (последнее зафиксированное состояние); Di - информационный вход D i-ro триггера; Qi - выход i-ro триггера.
Приложение I. Унифицированные библиотеки компонентов 467 ILD - входной D-триггер с потенциальным управлением (D-защелка) D ILD Назначение выводов: D - информационный вход D G G - вход синхронизации. Q - выход. Таблица истинности элемента 1LD Вход G Вход D Выход Q Режим работы 1 0 0 Передача данных со входа D (0) на выход триггера 1 1 1 Передача данных со входа D (1) на выход триггера \ 0 0 Фиксация входных данных (0) в триггере \ 1 1 Фиксация входных данных (1) в триггере 0 X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. ILD4 - четыре входных D-триггера с потенциальным управлением (D-защелки) с общим входом синхронизации по ILD4 ОО 01 01 п? 0? П1 Q3 G Назначение выводов: ЕЮ - D3 - информационные входы D соответст- вующих триггеров. G - вход синхронизации. QO - Q3 - выходы соответствующих триггеров. Таблица истинности элемента 1LD4 Вход G Вход Di Выход Q/ Режим работы 1 0 0 Передача данных со входа Di (0) на выход НГО триггера 1 1 1 Передача данных со входа О/ (1) на выход нго триггера \ 0 0 Фиксация входных данных (0) в нл триггере \ 1 1 Фиксация входных данных (1) в нм триггере 0 X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E. Virtex-П, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. ILD8 - восемь входных D-триггеров с потенциальным управлением (D-защеюк) с общим входом синхронизации D[7:0] ILDB Q[7:0] Назначение выводов: DO - D7 - информационные входы D соотвстствую- G тих триггеров, объединенные в шину D[7:0]. G - вход синхронизации. --------- QO - Q7 - выходы соответствующих триггеров, объе- диненные в шину Q[7:0].
468 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента ILD8 Вход G Вход D/ Выход Qi Режим работы 1 0 0 Передача данных со входа Di (0) на выход Аго триггера 1 1 1 Передача данных со входа D/(1) на выход i-ro триггера \ 0 0 Фиксация входных данных (0) в ьм триггере \ 1 1 Фиксация входных данных (1) в йм триггере 0 X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. D[15:D] 1LD16 G ILD16 — шестнадцать входных D-триггеров с потенциальным управлением (D-защелок) с общим входом синхронизации Q|15:0] Назначение выводов: DO - D15 - информационные входы D соответст- вующих триггеров, объединенные в шину D[15:OJ. G - вход синхронизации. Q0 - Q15 - выходы соответствующих триггеров, объ- единенные в шину Q[ 15:0]. Таблица истинности элемента ILD16 Вход G Вход Di Выход Qi Режим работы 1 0 0 Передача данных со входа Di (0) на выход i-ro триггера 1 1 1 Передача данных со входа 0/(1) на выход i-ro триггера \ 0 0 Фиксация входных данных (0) в йм триггере \ 1 1 Фиксация входных данных (1) в йм триггере 0 X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XVZXL, CoolRunner XPLA3, CoolRunner-П. Тип элемента - макрос. IlD_i - входной D-триггер с потенциальным управлением (D-защелка) и инверсией по входу синхронизации 0 1LDJ Q Назначение выводов: D - информационный вход D. G - вход синхронизации. Q - выход. Таблица истинности элемента 1LD_1 Вход G Вход D Выход Q Режим работы 0 0 0 Передача данных со входа D (0) на выход триггера 0 1 1 Передача данных со входа D (1) на выход триггера 1 0 0 Фиксация входных данных (0) в триггере / 1 1 Фиксация входных данных (1)в триггере 1 X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-II Pro. Тип элемента - макрос.
Приложение I. Унифицированные библиотеки компонентов 469 1LDI - входной D-триггер с потенциальным управлением (D-защелка) и асинхронной установкой при подаче напряжения питания D ILDI Q Назначение выводов: D - информационный вход D. G G - вход синхронизации. Q - выход. Таблица истинности злемента ILDI Вход G Вход D Выход Q Режим работы 1 0 0 Передача данных со входа D (0) на выход триггера 1 1 1 Передача данных со входа D (1) на выход триггера \ 0 0 Фиксация входных данных (0) в триггере \ 1 1 Фиксация входных данных (1)в триггере 0 X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-Il, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. ILDI ! — входной D-триггер с потенциальным управлением (D-защелка), инверсией по входу синхронизации и асинхронной установкой при подаче напряжения питания D ILDIJ Q Назначение выводов: D - информационный вход D. G - вход синхронизации. Q - выход. Таблица истинности элемента ILD_1 Вход G Вход О Выход Q Режим работы 0 0 0 Передача данных со входа D (0) на выход триггера 0 1 1 Передача данных со входа D (1) на выход триггера / 0 0 Фиксация входных данных (0) в триггере / 1 1 Фиксация входных данных (1) в триггере 1 X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. D GE G ILDX- входной D-триггер с потенциальным управлением (D-защелка) и входом разрешения тактового сигнала Назначение выводов: D - информационный вход D. _Q G - вход синхронизации. GE - вход разрешения тактового сигнала Q - выход.
470 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности злемента 1LDX Вход GE Вход G Вход D Выход Q Режим работы 1 1 0 0 Передача данных со входа D (0) на выход триггера 1 1 1 1 Передача данных со входа D (1) на выход триггера 1 \ 0 0 Фиксация входных данных (0) в триггере 1 \ 1 1 Фиксация входных данных (1)в триггере 1 0 X Qn Хранение 0 X X Од Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. ILDX4 — четыре входных D-триггера с потенциальным управлением (D-защелки) с общими входами синхронизации и разрешения тактового сигнала D0 D1 ILDX4 Q0 QI Назначение выводов: DO - D3 - информационные входы D соответствую- D? Q2 щих триггеров. D3 _Q3 G - вход синхронизации. GE GE - вход разрешения тактового сигнала. G Q0 - Q3 - выходы соответствующих триггеров. Таблица истинности злемента ILDX4 Вход GE Вход G Вход D/ Выход Qi Режим работы 1 1 0 0 Передача данных со входа Dr (0) на выход i-го триггера 1 1 1 1 Передача данных со входа Di (1) на выход i-ro триггера 1 \ 0 0 Фиксация входных данных (0) в нм триггере 1 \ 1 1 Фиксация входных данных (1) в ни триггере 1 0 X Qni Хранение 0 X X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-11, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. 1LDX8 - восемь входных D-триггеров с потенциальным управлением (D-защелок) с общими входами синхронизации и разрешения тактового сигнала D[7:0] ILDXB Q[7:0] Назначение выводов: G — DO - D7 - информационные входы D соответствую- щих триггеров, объединенные в шину D[7:0]. G - вход синхронизации. GE - вход разрешения тактового сигнала. Q0 - Q7 - выходы соответствующих триггеров, объе- диненные в шину Q[7:0]. Табчица истинности элемента 1LDX8 Вход GE Вход G Вход Di Выход О/ Режим работы 1 1 0 0 Передача данных со входа Di (0) на выход /-го триггера 1 t 1 1 11ередача данных со входа Di (1) на выход /-го триггера 1 0 0 Фиксация входных данных (0) в i-м триггере
Приложение 1. Унифицированные библиотеки компонентов___________________________ 471 Вход GE Вход G Вход Di Выход Qi Режим работы 1 \ 1 1 Фиксация входных данных (1) в нм триггере 1 0 X Qni Хранение 0 X X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. 0(15:0] GE G 1L0X16 ILDX16 - шестнадцать входных D-триггеров с потенциальным управлением (D-защелок) с общими входами синхронизации и разрешения тактового сигнала Q[15:0] Назначение выводов: DO - D15 - информационные входы D соответст- вующих триггеров, объединенные в шину D[ 15:0]. G - вход синхронизации. GE - вход разрешения тактового сигнала. Q0 - QI5 - выходы соответствующих триггеров, объединенные в шину Q[15:0] Таблица истинности элемента ILDX16 Вход GE Вход G Вход Di Выход Qi Режим работы 1 1 0 0 Передача данных со входа Di (0) на выход нго триггера 1 1 1 1 Передача данных со входа Di (1) на выход нго триггера 1 \ 0 0 Фиксация входных данных (0) в ьм триггере 1 \ 1 1 Фиксация входных данных (1) в нм триггере 1 0 X Qni Хранение 0 X X Qni Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtcx-П Pro. Тип элемента - макрос. ILDX _I — входной D-триггср с потенциальным управлением (D-защелка), входом разрешения тактового сигнала и инверсией по входу синхронизации D GE 1LDX_1 Q Назначение выводов: D - информационный вход D. G - вход синхронизации. G- GE - вход разрешения тактового сигнала. Q - выход. Таблица истинности элемента ILDX_1 Вход GE Вход G Вход D Выход Q Режим работы 1 0 0 0 Передача данных со входа D (0) на выход триггера 1 0 1 1 Передача данных со входа D (1) на выход триггера 1 / 0 0 Фиксация входных данных (0) в триггере 1 / 1 1 Фиксация входных данных (1) в триггере 1 1 X Qn Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-Е, Virtex-II, Virtcx-П Pro. Тип элемента - макрос.
172 Зотов В- Ю. Проектирование цифровых устройств на основе ПЛИС ILDXI - входной D-триггер с потенциальным управлением (D-защелка), входом разрешения тактового сигнала и асинхронной установкой при подаче напряжения питания ILDXI Назначение выводов: GE D - информационный вход D. _Q G - вход синхронизации. G GE - вход разрешения тактового сигнала Q - выход. Таблица истинности элемента ILDXI Вход GE Вход G Вход D Выход Q Режим работы 1 1 0 0 Передача данных со входа D (0) на выход триггера 1 1 1 1 Передача данных со входа D (1) на выход триггера 1 \ 0 О Фиксация входных данных (0) в триггере 1 \ 1 1 Фиксация входных данных (1)в триггере 1 0 X Qn Хранение 0 X X On Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. ILDXI 1 — входной D-триггер с потенциальным управлением (D-защелка), входом разрешения тактового сигнала, инверсией по входу синхронизации и асинхронной установкой при подаче напряжения питания 1LDXI 1 Назначение выводов: D - информационный вход D. G - вход синхронизации. GE - вход разрешения тактового сигнала. Q - выход. Таблица истинности элемента ILDXI _1 Вход GE Вход G Вход D Выход Q Режим работы 1 0 0 0 Передача данных со входа D (0) на выход триггера 1 0 1 1 Передача данных со входа D (1) на выход триггера 1 / 0 0 Фиксация входных данных (0) в триггере 1 / 1 1 Фиксация входных данных (1)в триггере 1 1 X Qn Хранение 0 X X Qn Хранение Поддерживаемые семейства ПЛИС: Spartan-П. Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. П1.14. Сдвиговые регистры Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Shift Registers. При их описании далее используется следующее условное обозначение: QOn - QI5л - состояние разрядов регистра QO - Q15 па предыдущем шаге; QI - I-й разряд регистра; Q (1-1)n, Qin, Q (1+1 )п - состояние (1-1)-
Приложение 1. Унифицированные библиотеки компонентов 473 дыдущем шаге; Q1 - I-й разряд регистра; Q (1-1 )л. Qin. Q (1+1 )п - состояние (1-1)-го, I-го и (1+1)-го разрядов регистра на предыдущем шаге. SR4CE - четырехразрядный сдвиговый регистр со входом разрешения тактового сигнала, асинхронным сбросом, последовательным входом данных и параллельными выходами Sil SR4CE QO Назначение выводов: QI С - вход синхронизации. CE Q2 СЕ - вход разрешения тактового сигнала. c Q3 CLR - вход сброса. > SLI - последовательный вход данных. ПЛ _ nT,v/4M, /Г) □ А CLR Таблица истинности элемента SR4CE с CLR СЕ SLI со Q1 Q2 Q3 Режим работы / 0 1 0 0 QOn Qin Q2n Сдвиг и запись 0 в разряд Q0 / 0 1 1 1 ООП Qin Q2n Сдвиг и запись 1 в разряд Q0 X 0 0 X QOn Q1n Q2n Q3n Хранение X 1 X X 0 0 0 0 Асинхронный сброс Поддерживаемые семейства ПЛИС; Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. SR8CE — восьмиразрядный сдвиговый регистр со входом разрешения тактового сигнала, асинхронным сбросом, последовательным входом данных и параллельными выходами SLI СЕ SR8CE QI7S] Назначение выводов: | С - вход синхронизации. СЕ - вход разрешения тактового сигнала. С > CLR - вход сброса. SLI - последовательный вход данных. CLR | QO - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0], Таблица истинности элемента SR8CE С CLR СЕ SLI Q0 Q1 QI Q6 Q7 Режим работы / 0 1 0 0 QOn 0(1-1 )n Q5n Q6n Сдвиг и запись 0 в разряд Q0 / 0 1 1 1 QOn 0(1-1 )n Q5n Q6n Сдвиг и запись 1 в разряд Q0 X 0 0 X QOn Q1 n Qin Q6n Q7n Хранение X 1 X X 0 0 0 0 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос.
SLI SR16CE Q{l5:Q] СЕ С > CLR I 474 Зотов В. (О. Проектирование цифровых устройств па основе ПЛИС SRI6CE — шестнадцатиразрядный сдвиговый регистр со входом разрешения тактового сигнала, асинхронным сбросом, последовательным входом данных и параллельными выходами Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. SLI - последовательный вход данных. Q0 - Q15 - выходы (0-15 разряды), объединенные в шину Q[15:0]. Таблица истинности элемента SRI6CE С CLR СЕ SLI Q0 Q1 QI Q14 015 Режим работы / 0 1 0 0 QOn 0(1-1 )n Q13n Q14n Сдвиг и запись 0 в разряд Q0 / 0 1 1 1 QOn Q(l-1)n Ql3n Q14n Сдвиг и запись 1 в разряд Q0 X 0 0 X QOn Qin Qin Q14n Q15n Хранение X 1 X X 0 0 0 0 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. SR4CLE — четырехразрядный сдвиговый регистр со входом разрешения тактового сигнала, асинхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI SR4CLE Назначение выводов: DO 00 С - вход синхронизации. D1 01 СЕ - вход разрешения тактового сигнала. DZ 02 CLR - вход сброса. 1)3 03 SLI - последовательный вход данных. L- вход разрешения параллельной загрузки. L DO - D3 - параллельные входы данных 0-3 разряды) CF Q0 - Q3 - выходы (0-3 разряды). с > CLR | Таблица истинности элемента SR4CLE С CLR L СЕ SL1 Q0 Q1 02 03 Режим работы / 0 0 1 0 0 QOn Qin Q2n Сдвиг и запись 0 в разряд ОО / 0 0 1 1 1 QOn Q1n Q2n Сдвиг и запись 1 в разряд ОО / 0 1 X X ID0 ID1 ID2 ID3 Паралпепьная загрузка X 1 X X X 0 0 0 0 Асинхронный сброс X 0 0 0 X QOn Q1n Q2n Q3n Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ. Virtex, Virtex-Е, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 475 SR8CLE - восьмиразрядный сдвиговый регистр со входом разрешения тактового сигнала, асинхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI SRBCLE Назначение выводов: DP:B1 L С - вход синхронизации. СЕ - вход разрешения тактового сигнала. £Е:°1 CLR - вход сброса. SLI - последовательный вход данных. СЕ L - вход разрешения параллельной загрузки. DO - D7 - параллельные входы данных (0-7 разря- > ды), объединенные в шину D[7:0). CLF lJ Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0]. Таблица истинности элемента SR8CLE С CLR L СЕ SLI Q0 01 QI 06 07 Режим работы 1 О 0 1 0 0 ООл О(1-1)л О5л 06л Сдвиг и запись 0 в разряд Q0 ! 0 0 1 1 1 ООл О(1-1)л О5л Обл Сдвиг и запись 1 в разряд ОО ! 0 1 X X 1D0 1D1 IDI ID6 ID7 Параллельная загрузка X 1 X X X 0 0 0 0 0 Асинхронный сброс X 0 0 0 X ООл О1л О1л Обл О7л Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. SR16CLE — шестнадцатиразрядный сдвиговый регистр со входом разрешения тактового сигнала, асинхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI SR1GCLE L 0(15:0] СЕ С > CLR I Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. SLI - последовательный вход данных. L - вход разрешения параллельной загрузки. DO - D15 - параллельные входы данных (0-15 разря- ды), объединенные в шину D[15:0]. Q0 - QI 5 - выходы (0-15 разряды), объединенные в шину Q[15:0]. Таблица истинности элемента SR16CLE С CLR L СЕ SLI ОО Q1 01 Q14 015 Режим работы / 0 0 1 0 0 ООл 0(1-1 )л 013л О14л Сдвиг и запись 0 в разряд ОО / 0 0 1 1 1 ООл 0(1-1 )л 013 л О14п Сдвиг и запись 1 в разряд ОО / 0 1 X X ID0 ID1 IDI 1014 1015 Параллельная загрузка X 1 X X X 0 0 0 0 0 Асинхронный сброс X 0 0 0 X О0Л О1л О1л О14л О15Л Хранение
476 Зотов В. fO. Проектирование цифровых устройств на основе ПЛИС Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. SR4CLED — четырехразрядный реверсивный сдвиговый регистр со входом разрешения тактового сигнала, асинхронным сбросам, последовательным и параллельными входами данных и параллельными выходами SLI SIU CLEO Назначение выводов: DO. 00 С - вход синхронизации. 01 QI СЕ - вход разрешения тактового сигнала. D2 02 CLR - вход сброса. 03 SRI L left CE C > 03 SLI - последовательный вход данных при сдвиге вправо. SRI - последовательный вход данных при сдвиге влево. L - вход разрешения параллельной загрузки. LEFT - вход сигнала направления сдвига. DO - D3 - параллельные входы данных 0-3 разряды) Q0 - Q3 - выходы (0-3 разряды). CLR I Таблица истинности элемента SR4CLED С CLR L LEFT СЕ Q0 Q1 Q2 03 Режим работы / 0 0 1 1 SL QOn Qin Q2n Сдвиг вправо и запись в разряд Q0 / 0 0 0 1 Qin Q2n Q3n SR Сдвиг влево и запись в разряд Q3 / 0 1 X X ID0 ID1 1D2 ID3 Параллельная загрузка X 1 X X X 0 0 0 0 Асинхронный сброс X 0 0 X 0 QOn Q1n Q2n Q3n Хранение SLI 017:01 SRI SR8CLED Q[7:D1 L LEFT СЕ С > CLR I SL, SR - сигналы на входах SLI, SRI. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtcx-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. | Тип элемента - макрос. SR8CLED — восьмиразрядный реверсивный сдвиговый регистр со входом разрешения тактового сигнала, асинхронным сбросом, последовательным и параллельными входами данных и параллельными выходами Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. SLI - последовательный вход данных при сдвиге вправо. SRI - последовательный вход данных при сдвиге влево. L - вход разрешения параллельной загрузки. LEFT - вход сигнала направления сдвига. DO - D7 - параллельные входы данных (0-7 разряды), объединенные в шину D[7:0] Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0].
Приложение 1. Унифицированные библиотеки компонентов 477 Таблица истинности элемента SR8CLED С CLR L LEFT СЕ Q0 Q1 QI Q6 Q7 Режим работы / 0 0 1 1 SL QOn Q(l-1)n Q5n Q6n Сдвиг вправо и запись в разряд Q0 / 0 0 0 1 Qin Q2n Q(l+1)n Q7n SR Сдвиг влево и запись в разряд Q7 / 0 1 X X 1D0 ID1 IDI ID6 ID7 Параллельная загрузка X 1 X X X 0 0 0 0 0 Асинхронный сброс X 0 0 X 0 QOn Q1n Qin Q6n Q7n Хранение SL, SR - сигналы на входах SLI, SRI. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. SR16CLED - шестнадцатиразрядный реверсивный сдвиговый регистр со входом разрешения тактового сигнала, асинхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI D[15:D] SRI L LEFT СЕ С SR16CLED > Q[15D] CLR I Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. SLI - последовательный вход данных при сдвиге вправо. SRI - последовательный вход данных при сдвиге влево. L - вход разрешения параллельной загрузки. LEFT - вход сигнала направления сдвига. DO - D15 - параллельные входы данных (0-15 разряды), объединенные в шину D[15:0], Q0 - Q15 - выходы (0-15 разряды), объединенные в шину Q[15:0]. Таблица истинности элемента SR16CLED С CLR L LEFT СЕ Q0 QI QI Q14 Q15 Режим работы / О 0 1 1 SL QOn Q(l-1)n Ql3n Q14n Сдвиг вправо и запись разряд Q0 / 0 0 0 1 Q1n Q2n Q(l+1)n Q15n SR Сдвиг влево и запись в разряд Q15 / О 1 X X IDO ID1 IDI ID14 1D15 Параллельная загрузка X 1 X X X 0 0 0 0 0 Асинхронный сброс X 0 0 X 0 QOn Q1n Qin Q14n Q15n Хранение SL, SR - сигналы на входах SLI, SRI. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtcx-П Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. 1 SR4RE- четырехразрядный сдвиговый регистр со входом разрешения тактового сигнала, синхронным сбросом, последовательным входом данных и параллельными выходами SLI SR4RE R 00 Q1 02 03 Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. SLI - последовательный вход данных. Q0 - Q3 - выходы (0-3 разряды).
478 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС Таблица истинности элемента SR4RE с R СЕ SLI Q0 Q1 02 03 Режим работы / 0 1 0 0 QOn O1n Q2n Сдвиг и запись 0 в разряд Q0 / 0 1 1 1 QOn Qin O2n Сдвиг и запись 1 в разряд Q0 X 0 0 X QOn Qin Q2n Q3n Хранение / 1 X X 0 0 0 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. SR8RE — восьмиразрядный сдвиговый регистр со входом разрешения тактового сигнала, синхронным сбросом, последовательным входом данных и параллельными выходами SL1 СЕ С SR8RE > Назначение выводов: о[7Л] С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. । SLI - последовательный вход данных. | QO - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:01. R Таблица истинности элемента SR8RE С R СЕ SLI Q0 Q1 QI Q6 07 Режим работы / 0 1 0 0 QOn 0(1-1 )n O5n Q6n Сдвиг и запись 0 в разряд Q0 / 0 1 1 1 QOn 0(1-1 )n Q5n Q6n Сдвиг и запись 1 в разряд Q0 X 0 0 X QOn Q1n Qin Q6n Q7n Хранение / 1 X X 0 0 0 0 0 Синхронный сброс Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-И Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. SLI SR1GRE Q[15:0] СЕ С > В_____ SRI6RE - шестнадцатиразрядный сдвиговый регистр со входом разрешения тактового сигнала, синхронным сбросом, последовательным входом данных и параллельными выходами Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. SLI - последовательный вход данных. QO - Q15 - выходы (0-15 разряды), объединенные в шину Q[15:0]. Таблица истинности элемента SR16RE с R СЕ SU ОО Q1 QI 014 Q15 Режим работы / 0 1 0 0 QOn 0(1-1 )п Q13n О14л Сдвиг и запись 0 в разряд СО / 0 1 1 1 QOn 0(1-1 )п Q13n Q14n Сдвиг и запись 1 в разряд СО X 0 0 X QOn Q1 л Qin Q14n Q15n Хранение / 1 X X 0 0 0 0 0 Синхронный сброс
Приложение 1. Унифицированные библиотеки компонентов 479 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. SR4RLE - четырехразрядный сдвиговый регистр со входом разрешения тактового сигнала, синхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SL DO 01 02 03 L СЕ С R SR4RLE > 1 Назначение выводов: 00 С - вход синхронизации. -91 СЕ - вход разрешения тактового сигнала. — R - вход сброса. SLI - последовательный вход данных. L - вход разрешения параллельной загрузки. DO - D3 - параллельные входы данных 0-3 разряды). QO - Q3 - выходы (0-3 разряды). Таблица истинности элемента SR4RLE с R L СЕ SLI Q0 Q1 Q2 Q3 Режим работы / 0 0 1 0 0 QOn Qin Q2n Сдвиг и запись 0 в разряд Q0 / 0 0 1 1 1 QOn Qin Q2n Сдвиг и запись 1 в разряд Q0 71 0 1 X X ID0 ID1 ID2 ID3 Параллельная загрузка / 1 X X X 0 0 0 0 Синхронный сброс X 0 0 0 X QOn Qin Q2n Q3n Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. SR8RLE - восьмиразрядный сдвиговый регистр со входом разрешения тактового сигнала, синхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI SRBRLE Назначение выводов: 0[7:0] С - вход синхронизации. СЕ - вход разрешения тактового сигнала. ОМ] R - вход сброса. L SLI - последовательный вход данных. СЕ L - вход разрешения параллельной загрузки. DO - D7 - параллельные входы данных (0-7 разря- С > ды), объединенные в шину D[7:0]. R I Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0].
480 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС Таблица истинности элемента SR8RLE С R L СЕ SLI Q0 Q1 QI Q6 Q7 Режим работы / 0 0 1 0 0 QOn Q(l-1)n Q5n Q6n Сдвиг и запись 0 в разряд Q0 / 0 0 1 1 1 QOn Q(l-1)n Q5n Q6n Сдвиг и запись 1 в разряд Q0 1 0 1 X X IDO ID1 IDI ID6 ID7 Параллельная загрузка / 1 X X X 0 0 0 0 0 Синхронный сброс X 0 0 0 X QOn Q1n Qin Q6n Q7n Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. SRI6RLE - шестнадцатиразрядный сдвиговый регистр со входом разрешения тактового сигнала, синхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI SR16RLE Назначение выводов: 0[15:П| С - вход синхронизации. СЕ - вход разрешения тактового сигнала. L Q[15:0] R - вход сброса. SLI — последовательный вход данных. СЕ с L - вход разрешения параллельной загрузки. DO - D15 - параллельные входы данных (0-15 разря- ды), объединенные в шину D[15;0]. > Q0 - Q15 - выходы (0-15 разряды), объединенные Т> ТГГТЯ'Т'Г ЛЧГ 1 С-Л1 В____I Таблица истинности элемента SR16RLE с R L СЕ SU Q0 Q1 QI Q14 Q15 Режим работы / 0 0 1 0 0 QOn Q(l-1)n Q13n Q14n Сдвиг и запись 0 в разряд Q0 / 0 0 1 1 1 QOn Q(l-1)n Q13n Q14n Сдвиг и запись 1 в разряд Q0 / 0 1 X X ID0 ID1 IDI ID14 ID15 Параллельная загрузка / 1 X X X 0 0 0 0 0 Синхронный сброс X 0 0 0 X ООП Q1n Qin Q14n Q15n Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос.
Приложение I. Унифицированные библиотеки компонентов 481 SR4RLED — четырехразрядный реверсивный сдвиговый регистр со входом разрешения тактового сигнала, синхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI SR4RLED DD D1 D2 ОТ QD Q1 QZ _(Л SRI L LEFT СЕ С > R Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. SLI - последовательный вход данных при сдвиге вправо. SRI - последовательный вход данных при сдвиге влево. L - вход разрешения параллельной загрузки. LEFT - вход сигнала направления сдвига. DO - D3 - параллельные входы данных 0-3 разряды) Q0 - Q3 - выходы (0-3 разряды). Таблица истинности элемента SR4RLED с R L LEFT СЕ Q0 Q1 Q2 Q3 Режим работы / 0 0 1 1 SL QOn Q1n Q2n Сдвиг вправо и запись в разряд Q0 1 0 0 0 1 Q1n Q2n Q3n SR Сдвиг влево и запись в разряд Q3 / 0 1 X X IDO ID1 ID2 ID3 Парвллепьная загрузка / 1 X X X 0 0 0 0 Синхронный сброс X 0 0 X 0 ООП Q1n Q2n Q3n Хранение * SL, SR - сигналы на входах SLI, SRI. Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П. Тип элемента — макрос. SR8RLED - восьмиразрядный реверсивный сдвиговый регистр со входом разрешения тактового сигнала, синхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI D[7:IJ] SR8RLED Назначение выводов: С - вход синхронизации. SRI L LEFT СЕ С > 0(7:0] СЕ - вход разрешения тактового сигнала. R - вход сброса. SLI - последовательный вход данных при сдвиге вправо SRI - последовательный вход данных при сдвиге влево. L- вход разрешения параллельной загрузки. LEFT - вход сигнала направления сдвига. DO - D7 - параллельные входы данных (0-7 разряды), R -J объединенные в шину D[7:0]. Q0-Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0]. К Зотов В.Ю.
482 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента SR8RLED С R L LEFT CE Q0 QI QI Q6 Q7 Режим работы / 0 0 1 1 SL QOn Q(l-1)n Q5n Q6n Сдвиг вправо и запись в разряд Q0 / 0 0 0 1 Q1n Q2n Q(l+1)n Q7n SR Сдвиг влево и запись в разряд Q7 / 0 1 X X IDO ID1 IDI ID6 ID7 Параллельная загрузка / 1 X X X 0 0 0 0 0 Синхронный сброс X 0 0 X 0 QOn Q1n Qin Q6n Q7n Хранение SL, SR - сигналы на входах SLI, SRI. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. SLI SRI SR16RLED L left СЕ С > R 1 SRI6RLED- шестнадцатиразрядный реверсивный сдвиговый регистр со входом разрешения тактового сигнала, синхронным сбросом, последовательным и параллельными входами данных и параллельными выходами Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. 0115Я] R _ вход сброса. SLI - последовательный вход данных при сдвиге вправо. SRI - последовательный вход данных при сдвиге влево. L- вход разрешения параллельной загрузки. LEFT - вход сигнала направления сдвига. DO - D15 - параллельные входы данных (0-15 разряды), объединенные в шину D[15:0]. Q0-Q15 - выходы (0-15 разряды), объединенные в шину Q[l5:0], Таблица истинности элемента SR16RLED С R L LEFT СЕ Q0 Q1 QI Q14 Q15 Режим работы / 0 0 1 1 SL QOn Q(l-1)n Q13n Q14n Сдвиг вправо и запись в разряд Q0 / 0 0 0 1 Q1n Q2n Q(l+1)n Q15n SR Сдвиг влеао и запись в разряд Q15 / 0 1 X X IDO ID1 IDI ID14 ID15 Параллельная загрузка / 1 X X X 0 0 0 0 0 Синхронный сброс X 0 0 X 0 QOn Q1n Qin Q14n Q15n Хранение SL, SR - сигналы на входах SLI, SRI. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 483 SRD4CE - четырехразрядный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входом разрешения тактового сигнала, асинхронным сбросом, последовательным входом данных и параллельными выходами SLI SRD4CE Q0 Q1 Назначение выводов: С - вход синхронизации. СЕ 02 СЕ - вход разрешения тактового сигнала С > 03 CLR - вход сброса. SLI - последовательный вход данных. CLR 1 Q0 - Q3 - выходы (0-3 разряды). Таблица истинности элемента SRD4CE С CLR СЕ SLI Q0 Q1 Q2 Q3 Режим работы / 0 1 0 0 QOn Q1n Q2n Сдвиг и запись 0 в разряд Q0 \ 0 1 0 0 QOn Q1n Q2n Сдвиг и запись 0 в разряд Q0 / 0 1 1 1 QOn Q1n Q2n Сдвиг и звпись 1 в разряд Q0 \ 0 1 1 1 QOn Q1n Q2n Сдвиг и запись 1 в разряд Q0 X 0 0 X ООП Q1n Q2n Q3n Хранение X 1 X X 0 0 0 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-IL Тип элемента - макрос. SRD8CE — восьмиразрядный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входом разрешения тактового сигнала, асинхронным сбросом, последовательным входом данных и параллельными выходами SLI СЕ С CLF SRD8CE > -J Назначение выводов: 017Я1 с _ ВХОд синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. SLI - последовательный вход данных. Q0-Q7 - выходы (0-7 разряды), объединенные вшину(2[7:0]. Таблица истинности элемента SRDSCE С CLR СЕ SLI 00 Q1 QI Q6 Q7 Режим работы / 0 1 0 0 ООП Q(l-1 )n Q5n Q6n Сдвиг и запись 0 в разряд Q0 \ 0 1 0 0 QOn Q(l-1 )n Q5n Q6n Сдаиг и запись 0 в разряд Q0 / 0 1 1 1 ООП Q(l-1)n Q5n Q6n Сдвиг и запись 1 в разряд Q0 _\_ 0 1 1 1 QOn Q(l-1 )n Q5n Q6n Сдвиг и запись 1 в разряд Q0 X 0 0 X QOn Q1n Qin Q6n Q7n Хранение X г 1 X X 0 0 0 0 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. is*
SLI SRD16CE Q[15:O1 484 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС SRD16CE - шестнадцатиразрядный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входом разрешения тактового сигнала, асинхронным сбросом, последовательным входом данных и параллельными выходами Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. SLI - последовательный вход данных. Q0-Q15 - выходы (0-15 разряды), объединенные в шину Q[ 15:0]. CE — > CLR Таблица истинности элемента SRD16CE С CLR СЕ SLI Q0 Q1 QI Q14 Q15 Режим работы / 0 1 0 0 QOn Q(l-1 )n Q13n Q14n Сдвиг и запись 0 в разряд Q0 \ 0 1 0 0 QOn Q(l-1)n Q13n Q14n Сдвиг и запись 0 в разряд Q0 / 0 1 1 1 QOn Q(l-1)n Q13n Q14n Сдвиг и запись 1 в разряд Q0 \ 0 1 1 1 QOn Q(l-1)n Ql3n Q14n Сдвиг и запись 1 в разряд Q0 X 0 0 X ООп Qin Qin Q14n Ql5n Хранение X 1 X X 0 0 0 0 0 Асинхронный сброс Поддерживаемые семейства ПЛИС: CoolRunncr-II. Тип элемента - макрос. SRD4CLE — четырехразрядный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входам разрешения тактового сигнала, асинхронным сбросом, последовательным и параллельными входами данных и параллельными выходами Назначение выводов: ОН С - вход синхронизации. 01 СЕ — вход разрешения тактового сигнала. _02 CLR - вход сброса. -93 SLI - последовательный вход данных. L - вход разрешения параллельной загрузки. ЕЮ - D3 - параллельные входы данных 0-3 разряды). QO - Q3 - выходы (0-3 разряды). SLI DO D1 D2 D3 L СЕ С Таблица истинности элемента SRD4CLE С CLR L СЕ SLI Q0 Q1 Q2 Q3 Режим работы / 0 0 1 0 0 QOn Q1n Q2n Сдвиг и запись 0 в разряд Q0 \ 0 0 1 0 0 QOn Q1n Q2n Сдвиг и запись 0 в разряд Q0 / 0 0 1 1 1 QOn Q1n Q2n Сдвиг и запись 1 в разряд Q0 \ 0 0 1 1 1 QOn Q1n Q2n Сдвиг и запись 1 в разряд Q0 / 0 1 X X ID0 ID1 ID2 ID3 Параллельная загрузка \ 0 1 X X ID0 ID1 ID2 ID3 Параллельная загрузка X 1 X X X 0 0 0 0 Асинхронный сброс X 0 0 0 X QOn Q1 n Q2n Q3n Хранение
Приложение 1. Унифицированные библиотеки компонентов 485 Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. SRD8CLE - восьмиразрядный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входам разрешения тактового сигнала, асинхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI SRDBCLE Назначение выводов: D17:d1 С - вход синхронизации. СЕ - вход разрешения тактового сигнала. 2£:D1 CLR - вход сброса. L CE C > SLI - последовательный вход данных. L- вход разрешения параллельной загрузки. DO - D7 - параллельные входы данных (0-7 разря- ды), объединенные в шину D[7:0], CLF 1 Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0]. Таблица истинности элемента SRD8CLE С CLR L СЕ SLI Q0 Q1 QI 06 07 Режим работы / 0 0 1 0 0 ООп 0(1-1 )П О5П ОбП Сдвиг и запись 0 в разряд ОО \ 0 0 1 0 0 ООП 0(1-1 )п О5п Обл Сдвиг и запись 0 в разряд ОО / 0 0 1 1 1 ООп 0(1-1 )п 05л Обп Сдвиг и запись 1 в разряд ОО \ 0 0 1 1 1 ООп 0(1-1 )п 05л Обп Сдвиг и запись 1 в разряд ОО / 0 f X X (D0 ID1 101 106 ID7 Параллельная загрузка \ 0 1 X X ID0 ID1 IDI 106 ID7 Параллельная загрузка X 1 X X X 0 0 0 0 0 Асинхронный сброс X 0 0 0 X ООП О1п Qin Обл О7п Хранение Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. SRD16CLE — шестнадцатиразрядный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входом разрешения тактового сигнала, асинхронным сбросам, последовательным и параллельными входами данных и параллельными выходами SLI 0|15Д SRD16CLE Q[15:OJ CLR I Назначение выводов: С — вход синхронизации. СЕ - вход разрешения тактового сигнала. CLR - вход сброса. SLI - последовательный вход данных. L- вход разрешения параллельной загрузки. DO - D15 - параллельные входы данных (0-15 раз- ряды), объединенные в шину D[15:0], QO - Q15 - выходы (0-15 разряды), объединенные в шину Q[15:0].
486 Зотов В Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента SRD16CLE С CLR L СЕ SLI Q0 Q1 QI Q14 Q15 Режим работы / 0 0 1 0 0 ООП Q(l-1)n Q13n Q14n Сдвиг и запись 0 в разряд Q0 \ 0 0 1 0 0 QOn Q(l-1)n Q13n Q14n Сдвиг и запись 0 в разряд Q0 / 0 0 1 1 1 QOn Q(l-1)n Q13n Q14n Сдвиг и запись 1 в разряд Q0 \ 0 0 I 1 1 QOn Q(l-1)n Q13n Q14n Сдвиг и запись 1 в разряд Q0 / 0 1 X X IDO 101 IDI ID14 1015 Параллельная загрузка \ 0 1 X X IDO ID1 IDI ID14 ID15 Параллельная загрузка X 1 X X X 0 0 0 0 0 Асинхронный сброс X 0 0 0 X QOn Q1n Qin Q14n Q15n Хранение Поддерживаемые семейства ПЛИС: CoolRunner-П. Тип элемента - макрос. SRD4CLED- четырехразрядный реверсивный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входом разрешения тактового сигнала, асинхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI DO D1 DZ D3 SRI 1 LEFT СЕ С SRD4CLED > Назначение выводов: ОО С - вход синхронизации. Q1 СЕ - вход разрешения тактового сигнала. _92 CLR - вход сброса. -SS SLI - последовательный вход данных при сдвиге вправо. SRI - последовательный вход данных при сдвиге влево. L — вход разрешения параллельной загрузки. LEFT - вход сигнала направления сдвига. DO - D3 - параллельные входы данных 0-3 разряды). Q0 - Q3 - выходы (0-3 разряды). CLR Таблица истинности элемента SRD4CLED С CLR L LEFT СЕ Q0 Q1 Q2 Q3 Режим работы / 0 0 1 1 SL QOn Q1n Q2n Сдвиг вправо и запись в разряд Q0 \ 0 0 1 1 SL QOn Q1n Q2n Сдвиг вправо и запись в разряд Q0 / 0 0 0 1 Q1n Q2n Q3n SR Сдвиг влево и запись в разряд Q3 \ 0 0 0 1 Q1n Q2n Q3n SR Сдвиг влево и запись в разряд Q3 1 0 1 X X IDO IDI ID2 ID3 Параллельная загрузка \ 0 1 X X IDO ID1 ID2 ID3 Параллельная загрузкв X 1 X X X 0 0 0 0 Асинхронный сброс X 0 0 X 0 QOn Qin Q2n Q3n Хранение SL, SR - сигналы на входах SLI, SRI. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 487 SRD8CLED- восьмиразрядный реверсивный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входом разрешения тактового сигнала, асинхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI SRD8CLED Назначение выводов: D|7:O1 С - вход синхронизации. СЕ - вход разрешения тактового сигнала. SRI 017:01 CLR - вход сброса. L LEFT СЕ С SLI - последовательный вход данных при сдвиге вправо. SRI - последовательный вход данных при сдвиге влево. L - вход разрешения параллельной загрузки. LEFT - вход сигнала направления сдвига. > 1 DO - D7 - параллельные входы данных (0-7 разряды), объединенные в шину D[7:0]. CLR 1 Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0J. Таблица истинности элемента SRD8CLED С CLR L LEFT СЕ сю QI QI Q6 Q7 Режим работы / 0 0 1 1 SL QOn Q(l-1)n Q5n Q6n Сдвиг вправо и запись в разряд Q0 \ 0 0 1 1 SL QOn Q(l-1)n Q5n Q6n Сдвиг вправо и запись в разряд Q0 / 0 0 0 1 Q1n Q2n Q(l+1)n Q7n SR Сдвиг влево и звпись в разряд Q7 \ 0 0 0 1 Q1n Q2n Q(l+1)n Q7n SR Сдвиг влево и запись в разряд Q7 / 0 1 X X IDO ID1 IDI ID6 ID7 Параппельная загрузка \ 0 1 X X IDO ID1 IDI ID6 ID7 Параппельная загрузка X 1 X X X 0 0 0 0 0 Асинхронный сброс X 0 0 X 0 ООП Q1n Qin Q6n Q7n Хрвнение SL, SR - сигналы на входах SLI, SRI. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П. Тип элемента - макрос. SRD16CLED - шестнадцатиразрядный реверсивный сдвиговый регистр, тактируемый фронтом и спадам импульса синхронизации, со входам разрешения тактового сигнала, асинхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI SRD1GCLED Назначение выводов: 0(15:01 SRI L left СЕ С - вход синхронизации. СЕ - вход разрешения тактового сигнала. OF5:D1 CLR - вход сброса. SLI - последовательный вход данных при сдвиге вправо. SRI - последовательный вход данных при сдвиге влево. L- вход разрешения параллельной загрузки. с > LEFT - вход сигнала направления сдвига. DO - D15 - параллельные входы данных (0-15 разряды), CLf 1 объединенные в шину D[ 15:0]. Q0 - Q15 - выходы (0-15 разряды), объединенные в шину Q[15:0J.
488 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента SRD16CLED С CLR L LEFT СЕ Q0 Q1 QI Q14 Q15 Режим работы / 0 0 1 1 SL QOn Q(l-1)n Ql3n Q14n Сдвиг вправо и запись в разряд Q0 \ 0 0 1 1 SL QOn Q(l-1)n Q13n Ql4n Сдвиг впраао и запись в разряд Q0 / 0 0 0 1 Qin Q2n Q(l+1)n Q15n SR Сдвиг влево и запись в разряд Q15 \ 0 0 0 1 Qm Q2n Q(l+1)n Ql5n SR Сдвиг влево и запись в разряд Q15 / 0 1 X X IDO ID1 IDI ID14 ID15 Параллельная загрузка \ 0 1 X X IDO ID1 IDI ID14 ID15 Параллельная загрузка X 1 X X X 0 0 0 0 0 Асинхронный сброс X 0 0 X 0 ООП Qin Qin Q14n Q15n Хранение SL, SR - сигналы на входах SLI, SRI. Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CooIRunner-И. Тип элемента - макрос. SRD4RE - четырехразрядный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входом разрешения тактового сигнала, синхронным сбросам, последовательным входом данных и параллельными выходами SLI SRD4RE _до 01 Назначение выводов: С - вход синхронизации. СЕ 02 СЕ — вход разрешения тактового сигнала. С > 03 R - вход сброса. SLI - последовательный вход данных. R _| Q0 - Q3 - выходы (0-3 разряды). Таблица истинности элемента SRD4RE С R СЕ SLI Q0 Q1 Q2 Q3 Режим работы / 0 1 0 0 QOn Q1n Q2n Сдвиг и запись 0 в разряд Q0 \ 0 1 0 0 00л Qin Q2n Сдвиг и запись 0 в разряд Q0 / 0 1 1 1 QOn Qin Q2n Сдвиг и звпись 1 в рвзряд Q0 \ 0 1 1 1 QOn Q1n Q2n Сдвиг и запись 1 в разряд Q0 X 0 0 X 00л Qin Q2n Q3n Хранение / 1 X X 0 0 0 0 Синхронный сброс 1 X X 0 0 0 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. SRD8RE - восьмиразрядный сдвиговый регистр, тактируемый фронтом и спадам импульса синхронизации, со входом разрешения тактового сигнала, синхронным сбросом, последовательным входом данных и параллельными выходами SLI SRD8RE 0[7Я1 R Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. SLI - последовательный вход данных. Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0],
Приложение I. Унифицированные библиотеки компонентов 489 Таблица истинности элемента SRDSRE С R СЕ SLI Q0 Q1 QI Q6 Q7 Режим работы / 0 1 0 0 QOn Q(l-1)n Q5n Q6n Сдвиг и запись 0 в разряд Q0 \ 0 1 0 0 QOn Q(l-1)n Q5n Q6n Сдвиг и запись 0 в разряд ОО / 0 1 1 1 QOn Q(l-1)n Q5n Q6n Сдвиг и запись 1 в разряд Q0 \ 0 1 1 1 QOn Q(l-1)n Q5n Q6n Сдвиг и запись 1 в разряд Q0 X 0 0 X QOn Q1n Qin Q6n Q7n Хранение / 1 X X 0 0 0 0 0 Синхронный сброс \ 1 X X 0 0 0 0 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. SRD16RE — шестнадцатиразрядный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входам разрешения тактового сигнала, синхронным сбросам, последовательным входом данных и параллельными выходами SLI SRD16RE 0(15:0] СЕ £-> Назначение выводов; С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. SLI - последовательный вход данных. Q0- Q15 - выходы (0-15 разряды), объединенные BuniHyQ[15;0]. R Таблица истинности элемента SRD16RE с R СЕ SLI Q0 Q1 QI Q14 Q15 Режим работы / 0 1 0 0 QOn Q(l-1)n Ql3n Ql4n Сдвиг и запись 0 в разряд Q0 \ 0 1 0 0 QOn Q(l-1)n Q13n Q14n Сдвиг и запись 0 в разряд Q0 / 0 1 1 1 QOn Q(l-1)n Q13n Q14n Сдвиг и запись 1 в разряд Q0 \ 0 1 1 1 QOn Q(l-1)n Q13n Ql4n Сдвиг и запись 1 в разряд Q0 X 0 0 X QOn Q1n Qin Q14n 015л Хранение / 1 X X 0 0 0 0 0 Синхронный сброс \ 1 X X 0 0 0 0 0 Синхронный сброс Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. SRD4RLE— четырехразрядный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входом разрешения тактового сигнала, синхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI D0 D1 DZ D3 L SR04RLE Q0 01 02 03 Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. SLI - последовательный вход данных. L - вход разрешения параллельной загрузки. DO - D3 - параллельные входы данных 0-3 разряды). Q0 - Q3 - выходы (0-3 разряды).
490 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС Таблица истинности элемента SRD4RLE С R L СЕ SLI Q0 Q1 Q2 Q3 Режим работы / 0 0 1 0 0 QOn Qin Q2n Сдвиг и запись 0 в разряд Q0 \ 0 0 1 0 0 QOn Qin Q2n Сдвиг и запись 0 в разряд Q0 / 0 0 1 1 1 QOn Q1n Q2n Сдвиг и запись 1 в разряд Q0 \ 0 0 1 1 1 QOn Q1n Q2n Сдвиг и запись 1 в разряд СЮ / 0 1 X X ID0 ID1 Ю2 ID3 Параллельная загрузка \ 0 1 X X ID0 ID1 ID2 ID3 Параллельная загрузка / 1 X X X 0 0 0 0 Синхронный сброс \ 1 X X X 0 0 0 0 Синхронный сброс X 0 0 0 X QOn Q1n Q2n Q3n Хранение Поддерживаемые семейства ПЛИС: CoolRunner-П. Тип элемента - макрос. SRD8RLE - восьмиразрядный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входом разрешения тактового сигнала, синхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI SRDSRLE Назначение выводов: DI7HJ1 С - вход синхронизации. СЕ - вход разрешения тактового сигнала. L R - вход сброса. SLI - последовательный вход данных. СЕ С > L - вход разрешения параллельной загрузки. DO - D7 — параллельные входы данных (0-7 разря- ды), объединенные в шину D[7:0]. R —I QO - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0]. Таблица истинности элемента SRD8RLE С R L СЕ SLI Q0 Q1 QI Q6 Q7 Режим работы / 0 0 1 0 0 QOn Q(l-1)n Q5n Q6n Сдвиг и запись 0 в разряд Q0 \ 0 0 1 0 0 QOn Q(l-1)n Q5n Q6n Сдвиг и запись 0 в разряд Q0 / 0 0 1 1 1 QOn Q(l-1)n Q5n Q6n Сдвиг и запись 1 в разряд Q0 \ 0 0 1 1 1 QOn Q(l-1)n Q5n Q6n Сдвиг и запись 1 в разряд Q0 / 0 1 X X ID0 ID1 IDI ID6 ID7 Параллельная загрузка \ 0 1 X X ID0 ID1 IDI ID6 ID7 Параллельная загрузка / 1 X X X 0 0 0 0 0 Синхронный сброс \ 1 X X X 0 0 0 0 0 Синхронный сброс X 0 0 0 X QOn Qin Qin Q6n Q7n Хранение Поддерживаемые семейства ПЛИС: CoolRunncr-II. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 491 SRD16RLE — шестнадцатиразрядный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входом разрешения тактового сигнала, синхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI SRD16RLE Назначение выводов: 0115:0] L С - вход синхронизации. СЕ - вход разрешения тактового сигнала. ОПЗЯ) р _ вход сброса. SLI - последовательный вход данных. СЕ L- вход разрешения параллельной загрузки. DO - D15 - параллельные входы данных (0 - 15 раз- С > ряды), объединенные в шину D[l5:0]. R I Q0 - QI 5 - выходы (0-15 разряды), объединенные в шину Q[15:0]. Таблица истинности элемента SRD16RLE С R L СЕ SLI Q0 Q1 QI Q14 Q15 Режим работы / 0 0 1 0 0 QOn Q(l-1)n Ql3n Q14n Сдвиг и запись 0 в разряд Q0 \ 0 0 1 0 0 QOn Q(l-1)n Q13n Ql4n Сдвиг и запись 0 в разряд Q0 / 0 0 1 1 1 QOn Q(l-1)n Q13n Q14n Сдвиг и запись 1 в разряд Q0 \ 0 0 1 1 1 QOn Q(l-1)n Q13n Q14n Сдвиг и запись 1 в разряд Q0 / 0 1 X X ID0 ID1 IDI ID14 ID15 Параллельная загрузка \ 0 1 X X ID0 ID1 IDI ID14 ID15 Параппвльная загрузка / 1 X X X 0 0 0 0 0 Синхронный сброс \ 1 X X X 0 0 0 0 0 Синхронный сброс X 0 0 0 X QOn Qin Qin Q14n Ql5n Хранение Поддерживаемые семейства ПЛИС: CoolRunner-II. Тип элемента - макрос. SRD4RLED- четырехразрядный реверсивный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входом разрешения тактового сигнала, синхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SU SRD4RLED DO 01 02 D3 SRI 00 01 02 03 LEFT СЕ С Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R — вход сброса. SLI - последовательный вход данных при сдвиге вправо. SRI - последовательный вход данных при сдвиге влево. L - вход разрешения параллельной загрузки. LEFT — вход сигнала направления сдвига. DO - D3 - параллельные входы данных 0-3 разряды). Q0 - Q3 - выходы (0-3 разряды). R
492 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента SRD4RLED С R L LEFT СЕ Q0 Q1 Q2 Q3 Режим работы / 0 0 1 1 SL QOn Q1n Q2n Сдвиг вправо и запись в разряд Q0 \ 0 0 1 1 SL QOn Q1n Q2n Сдвиг вправо и запись в разряд Q0 / 0 0 0 1 Qin Q2n Q3n SR Сдвиг влево и запись в разряд Q3 \ 0 0 0 1 Qin Q2n Q3n SR Сдвиг влево и звпись в рвзрод Q3 / 0 1 X X IDO ID1 ID2 ID3 Параппельная загрузка \ 0 1 X X IDO ID1 ID2 ID3 Параллельная загрузка / 1 X X X о- 0 0 0 Синхронный сброс \ 1 X X X 0 0 0 0 Синхронный сброс X 0 0 X 0 QOn Q1n Q2n Q3n Хранение SL, SR - сигналы на входах SLI, SRI. Поддерживаемые семейства ПЛИС: CooIRunner-II. Тип элемента - макрос. SRD8RLED - восьмиразрядный реверсивный сдвиговый регистр, тактируемый фронтом и спадом импульса синхронизации, со входом разрешения тактового сигнала, синхронным сбросом, последовательным и параллельными входами данных и параллельными выходами SLI SRD8RLED D[7:0] SRI 0|7Я] L LEFT СЕ Назначение выводов: С - вход синхронизации. СЕ - вход разрешения тактового сигнала. R - вход сброса. SU — последовательный вход данных при сдвиге вправо. SRI - последовательный вход данных при сдвиге влево. L - вход разрешения параллельной загрузки. LEFT - вход сигнала направления сдвига. ЕЮ — D7 - параллельные входы данных (0-7 разряды), объединенные в шину D[7:0]. Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0]. R Таблица истинности элемента SRD8RLED С R L left СЕ Q0 Q1 QI Q6 Q7 Режим работы / 0 0 1 1 SL QOn Q(l-1)n Q5n Q6n Сдвиг вправо и запись в разряд Q0 \ 0 0 1 1 SL QOn Q(l-1)n Q5n Q6n Сдвиг вправо и запись в разряд Q0 / 0 0 0 1 Qin Q2n Q(l+1)n Q7n SR Сдвиг влево и запись в разряд Q7 \ 0 0 0 1 Q1n Q2n Q(l+1)n Q7n SR Сдвиг влево и запись в разряд Q7 / 0 1 X X IDO ID1 IDI ID6 ID7 Параллельная загрузка \ 0 1 X X IDO IDI IDI IDS ID7 Параллельная загрузка / 1 X X X 0 0 0 0 0 Синхронный сброс \ 1 X X X 0 0 0 0 0 Синхронный сброс X 0 0 X 0 QOn Qin Qin Q6n Q7n Хранение SL, SR — сигналы на входах SLI, SRI. Поддерживаемые семейства ПЛИС: CoolRunncr-II. Тип элемента - макрос.
Приложение I. Унифицированные библиотеки компонентов 493 SRD16RLED - шестнадцатиразрядный реверсивный сдвиговый регистр, тактируемый фронтам и спадом импульса синхронизации, со входом разрешения тактового сигнала, синхронным сбросам, последовательным и параллельными входами данных и параллельными выходами SLI SRD16RLED Назначение выводов: D[15:0| SRI С - вход синхронизации. СЕ - вход разрешения тактового сигнала. ^|15;0] R _ вход сброса. L SLI - последовательный вход данных при сдвиге вправо. LEFT SRI - последовательный вход данных при сдвиге влево. СЕ L - вход разрешения параллельной загрузки. С > LEFT - вход сигнала направления сдвига. R DO - D15 - параллельные входы данных (0-15 разряды), объединенные в шину D[15:0]. Q0 - Q15 - выходы (0-15 разряды), объединенные в шину Q[ 15:0] Таблица истинности элемента SRD16RLED С R L LEFT СЕ Q0 Q1 QI Q14 Q15 Режим работы / 0 0 1 1 SL QOn Q(l-1)n Ql3n Q!4n Сдвиг вправо и запись в разряд Q0 \ 0 0 1 1 SL QOn Q(l-1)n Q13n Ql4n Сдвиг вправо и запись в разряд Q0 / 0 0 0 1 Q1n Q2n Q(l+1)n Q15n SR Сдвиг влево и запись в разряд Q15 \ 0 0 0 1 Q1n Q2n Q(l+1)n Q15n SR Сдвиг влево и запись в разряд Q15 / 0 1 X X IDO ID1 IDI ID14 IDI 5 Параллельная загрузка \ 0 1 X X IDO ID1 IDI ID14 ID15 Параллельная загрузка / 1 X X X 0 0 0 0 0 Синхронный сброс \ 1 X X X 0 0 0 0 0 Синхронный сброс X 0 0 X 0 QOn Qin Qln Q14n Ql5n Хранение SL, SR - сигналы на входах SLI, SRI. Поддерживаемые семейства ПЛИС: CooIRunner-II. Тип элемента - макрос. SRL16 — шестнадцатиразрядный сдвиговый регистр, тактируемый фронтом импульса синхронизации, с последовательным входом и выходом данных, реализуемый на основе таблиц преобразования (LU7) ПЛИС D SRL16 Q Назначение выводов: CIK CLK - вход синхронизации. > АО D - вход данных. । А1 Q - выход. * А2 АО - АЗ - входы выбора разрядности сдвигового регистра (номера разряда, с которого данные посту- 1——, пают на выход). Таблица истинности элемента SRL16 CLK АО-АЗ D Q Режим работы / Ал ID Q(An-1) Сдвиг вправо и запись двнных со входа D в первый разряд регистра (Q0) 0 X X QAn Хранение 1 X X QAn Хранение
494 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС ID - значение сигнала на входе данных D. Ал - значение, соответствующее сочетанию сигналов на входах АО - АЗ. QAn - состояние Ал-го разряда регистра на предыдущем шаге. Q (Ал-1) - состояние разряда (Ал-1)-го регистра на предыдущем шаге. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-Е, Virtcx-II, Virtex-II Pro. Тип элемента - примитив. SRL16_I - шестнадцатиразрядный сдвиговый регистр, тактируемый спадом импульса синхронизации, с последовательным входом и выходом данных, реализуемый на основе таблиц преобразования (LUT) ПЛИС 0 CLK- А0~ SRL16J Q Назначение выводов: CLK - вход синхронизации. D - вход данных. Д1 А2 АЗ Q - выход. АО - АЗ - входы выбора разрядности сдвигового регистра (номера разряда, с которого данные посту- пают на выход). Таблица истинности злемента SRL16_1 CLK АО-АЗ D Q Режим работы Ал ID Q(An-1) Сдвиг вправо и запись данных со входа D в первый разряд регистра (Q0) 0 X X QAn Хранение 1 X X ОАл Хранение ID - значение сигнала на входе данных D. Ал - значение, соответствующее сочетанию сигналов на входах АО - АЗ. QAn - состояние Ал-го разряда регистра на предыдущем шаге. Q (Ал-1) - состояние разряда (An-l)-ro регистра на предыдущем шаге. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtcx-II, Virtex-II Pro. Тип элемента - примитив. SRLI6E- шестнадцатиразрядный сдвиговый регистр, тактируемый фронтом импульса синхронизации, со входом разрешения тактового сигнала, последовательным входом и выходом данных, реализуемый на основе таблиц преобразования (LVT) ПЛИС 0 SRL16E 0 Назначение выводов: СЕ CLK - вход синхронизации. CLK > СЕ — вход разрешения тактового сигнала. AU D - вход данных. Д1 Q - выход. А2 АО - АЗ - входы выбора разрядности сдвигового регистра (номера разряда, с которого данные посту- пают на выход).
Приложение /. Унифицированные библиотеки компонентов 495 Таблица истинности элемента SRL16E CLK CE AO-A3 D Q Режим работы / 1 An ID Q(An-1) Сдвиг вправо и запись данных со входа D в первый разряд регистра (Q0) 0 1 X X QAn Хранение 1 1 X X QAn Хранение X 0 X X QAn Хранение ID - значение сигнала на входе данных D. Ап - значение, соответствующее сочетанию сигналов на входах АО - АЗ. QAn - состояние Ал-го разряда регистра на предыдущем шаге. Q (Аи-1) - состояние разряда (Ап- 1)-го регистра на предыдущем шаге. Поддерживаемые семейства ПЛИС; Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro. Тип элемента - примитив. SRL16E_1 ~ шестнадцатиразрядный сдвиговый регистр, тактируемый спадам импульса синхронизации, со входом разрешения тактового сигнала, последовательным входом и выходом данных, реализуемый на основе таблиц преобразования (IAJT) ПЛИС D SRL16E 1 q Назначение выводов; СЕ — CLK - вход синхронизации. CLIC СЕ - вход разрешения тактового сигнала. А0~ / D - вход данных. Д1 Q - выход. А2 АО - АЗ - входы выбора разрядности сдвигового АЗ регистра (номера разряда, с которого данные посту- пают на выход). Таблица истинности элемента SRL16E_1 CLK СЕ АО-АЗ D Q Режим работы \ 1 Ал ID Q(An-1) Сдвиг вправо и запись данных со входа D в первый разряд регистра (Q0) 0 1 X X QAn Хранение 1 1 X X QAn Хранение X 0 X X QAn Хранение ID - значение сигнала на входе данных D. Ап - значение, соответствующее сочетанию сигналов на входах АО - АЗ. QAn - состояние Ал-го разряда регистра на предыдущем шаге. Q (Ал-1) - состояние разряда (Ал-1)-го регистра на предыдущем шаге. Поддерживаемые семейства ПЛИС; Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив.
496 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС SRLC16- шестнадцатиразрядный каскадируемый сдвиговый регистр, тактируемый фронтом импульса синхронизации, с последовательным входом и выходом данных, реализуемый на основе таблиц преобразования (ШТ) ПЛИС D CLK ДО А1 А2 АЗ SRLC1G > Q Q15 Назначение выводов: CLK - вход синхронизации. D - вход данных. Q - выход. Q15 - выход, предназначенный для каскадного со- единения регистров. АО - АЗ - входы выбора разрядности сдвигового регистра (номера разряда, с которого данные посту- пают на выход). Таблица истинности элемента SRLC16 CLK АО-АЗ D Q Q15 Режим работы / Ал ID Q(An-1) Q14n Сдвиг вправо и запись данных со входа D в первый разряд регистра (Q0) 0 X X QAn Q15n Хранение 1 X X QAn Q15n Хранение ID - значение сигнала на входе данных D. Ап - значение, соответствующее сочетанию сигналов на входах АО - АЗ. QAzi - состояние An-го разряда регистра на предыдущем шаге. Q (Ал-1) - состояние разряда (An-l)-ro регистра на предыдущем шаге. Поддерживаемые семейства ПЛИС: Virtcx-П, Virtex-II Pro. Тип элемента - примитив. SRLCI6_I ~ шестнадцатиразрядный каскадируемый сдвиговый регистр, тактируемый спадом импульса синхронизации, с последовательным входом и выходом данных, реализуемый на основе таблиц преобразования (ШТ) ПЛИС 0 SRLC16 1 q Назначение выводов: 0^5 CLK - вход синхронизации. СПС- D - вход данных. АО" Q - выход. А1 Q15 - выход, предназначенный для каскадного со- 63 единения регистров. АО - АЗ - входы выбора разрядности сдвигового 1———— регистра (номера разряда, с которого данные посту- пают на выход). Таблица истинности элемента SRLCI6_1 CLK АО-АЗ D Q Q15 Режим работы \ АП ID Q(An-1) Q14n Сдвиг вправо и запись данных со входа D в первый разряд регистра (Q0) 0 X X QAn Q15n Хранение 1 X X QAn Q15n Хранение ID - значение сигнала на входе данных D. Ал - значение, соответствующее сочетанию сигнатов на входах АО - АЗ. QAn - состояние Ал-го разряда регистра на предыдущем шаге.
Приложение /. Унифицированные библиотеки компонентов 497 Q (Ал-1) - остояние разряда (Ал-1 )-го регистра на предыдущем шаге. Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-П Pro. Тип элемента - примитив. SRLC16E — шестнадцатиразрядный каскадируемый сдвиговый регистр, тактируемый фронтом импульса синхронизации, со входам разрешения тактового сигнала, последовательным входом и выходом данных, реализуемый на основе таблиц преобразования (LVT) ПЛИС Назначение выводов: CLK — вход синхронизации. СЕ - вход разрешения тактового сигнала. D - вход данных. Q - выход. Q15 - выход, предназначенный для каскадного соедине- ния регистров. АО - АЗ - входы выбора разрядности сдвигового регистра (номера разряда, с которого данные поступают на выход). Таблица истинности элемента SRLC16E CLK СЕ АО-АЗ D Q Q15 Режим работы 1 Ап ID Q(An-1) Q14n Сдвиг вправо и запись данных со входа D в первый разряд регистра (Q0) 0 1 X X QAn Q15n Хранение 1 1 X X QAn Q15n Хранение X 0 X X QAn Ql5n Хранение ID - значение сигнала на входе данных D. Ап - значение, соответствующее сочетанию сигналов на входах АО - АЗ. QAn - состояние Ап-го разряда регистра на предыдущем шаге. Q (Ал-1) - состояние разряда (Ап-1)-го регистра на предыдущем шаге. Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-II Pro. Тип элемента - примитив. SRLC16E_1 — шестнадцатиразрядный каскадируемый сдвиговый регистр, тактируемый спадом импульса синхронизации, со входом разрешения тактового сигнала, последовательным входам и выходом данных, реализуемый на основе таблиц преобразования (LVT) ПЛИС D SRLC16E 1 Q Назначение выводов: СЕ 015 CLK - вход синхронизации. CUQ. А0“ А1 А2 АЗ > СЕ - вход разрешения тактового сигнала. D - вход данных. Q - выход. Q15 - выход, предназначенный для каскадного соедине- ния регистров. АО - АЗ - входы выбора разрядности сдвигового регистра (номера разряда, с которого данные поступают на выход).
498 Зотов В. fO. Проектирование цифровых устройств на основе 1П1ИС Таблица истинности элемента SRLC16E_1 CLK CE AO-A3 D Q Q15 Режим работы \ 1 An ID Q(An-1) Q14n Сдвиг вправо и запись двнных со входв D в первый разряд регистра (Q0) 0 1 X X QAn Q15n Хранение 1 1 X X QAn Q15n Хранение X 0 X X QAn Ql5n Хранение ID - значение сигнала на входе данных D. Ал - значение, соответствующее сочетанию сигналов на входах АО - АЗ. QAn - состояние Ап-го разряда регистра на предыдущем шаге. Q (An-1) - состояние разряда (Ап-1 )-го регистра на предыдущем шаге. Поддерживаемые семейства ПЛИС: Virtcx-II, Virtcx-П Pro. Тип элемента - примитив. Ш.15. Счетчики Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Counters. При их описании далее используются следующие ус- ловные обозначения: QI - выход I-го разряда счетчика; Qin - состояние I-го разряда счетчика на предыдущем шаге; ТСп — состояние выхода ТС счетчика на предыду- щем шаге; DI - сигнал на входе Di; ICE - сигнал на входе СЕ. СВ2СЕ а с CLF - двухраз СВ2СЕ > j эядный двоичный счетчик с асинхронным сбросом и входом разрешения счета Назначение выводов: -95 С - тактовый вход. — СЕ - вход разрешения счета. CLR - вход сброса. Q0 - Q1 - выходы (0-1 разряды). ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета ( СЕО = ТС & СЕ ) Таблица истинности элемента СВ2СЕ с CLR СЕ QI ТС СЕО Режим работы X 1 X 0 0 0 Асинхронный сброс / 0 1 Счет 0 0 Счет (011:01 #11) / 0 1 Счет 1 1 Счет (Q[1:0l = 11) X 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XVKL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 499 СВ4СЕ- четырехразрядный двоичный счетчик с асинхронным сбросом и входом разрешения счета СЕ С СВ4СЕ > Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. CLR - вход сброса. CEO Q0 - Q3 - выходы (0-3 разряды). ТС ТС - выход переноса (выход завершения счета). СЕО — выход разрешения счета (СЕО = ТС & СЕ) CLR | Таблица истинности злемента СВ4СЕ С CLR СЕ QI ТС СЕО Режим работы X 1 X 0 0 0 Асинхронный сброс / 0 1 Счет 0 0 Счет <Q(3:0] # 1111) 1 0 1 Счет 1 1 Счет (Q[3:0] = 1111) X 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. CB8CE — восьмиразрядный двоичный счетчик с асинхронным сбросом и входом разрешения счета СЕ С свасЕ Qp.Q] Назначение выводов: “ С - тактовый вход. — СЕ - вход разрешения счета. CLR - вход сброса. Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0], ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО - ТС & СЕ). Таблица истинности злемента СВ8СЕ CLR | с CLR СЕ QI ТС СЕО Режим работы X 1 X 0 0 0 Асинхронный сброс / 0 1 Счет 0 0 Счет <Q[7:0l # FF) / 0 1 Счет 1 1 Счет (Q[7:0] = FF) X 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос.
SOO Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС СВ16СЕ - шестнадцатиразрядный двоичный счетчик с асинхронным сбросом и входом разрешения счета CB16CE Q|15:O1 Назначение выводов: CF CEO С - тактовый вход. г TC СЕ — вход разрешения счета. > CLR - вход сброса. Cl D 1 QO - Q15 - выходы (0-15 разряды), объединенные в шину Q[15:0]. ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента СВ16СЕ С CLR СЕ QI ТС СЕО Режим работы X 1 X 0 0 0 Асинхронный сброс / 0 1 Счет 0 0 Счет (0(15:01 # FFFF) / 0 1 Счет 1 1 Счет (Q[15:0] = FFFF) X 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. CB2CLE - двухразрядный двоичный счетчик с параллельной синхронной загрузкой, асинхронным сбросом и входом разрешения счета DO 1)1 CB2CLE Q8 Q1 Назначение выводов: С — тактовый вход. СЕ - вход разрешения счета. L L - вход разрешения параллельной загрузки. СЕ СЕО CLR - вход сброса. С > ТС DO - D1 - параллельные входы данных (0-1 разряды). QO - Q1 - выходы (0-1 разряды). ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента CB2CLE С CLR L СЕ QI ТС СЕО Режим работы X 1 X X 0 0 0 Асинхронный сброс / 0 1 X DI 0 0 Параллельная загрузка (D[1:0l #11) / 0 1 X 01 1 ICE Параллельная загрузка (Df 1:0] = 11) / 0 0 1 Счет 0 0 Счет (011:01 #11) / 0 0 1 Счет 1 1 Счет (Q[1:0J = 11) X 0 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-П, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос.
Приложение /. Унифицированные библиотеки компонентов 501 CB4CLE — четырехразрядный двоичный счетчик с параллельной синхронной загрузкой, асинхронным сбросом и входом разрешения счета 00 D1 02 03 L СЕ С CB4CLE Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. L - вход разрешения параллельной загрузки. CLR - вход сброса. DO - D3 - параллельные входы данных (0-3 разряды). Q0 - Q3 - выходы (0-3 разряды). ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента CB4CLE CLR | С CLR L CE QI TC CEO Режим работы X 1 X X 0 0 0 Асинхронный сброс / 0 1 X DI 0 0 Параллельная загрузка (D)3:0] # 1111) / 0 1 X DI 1 ICE Параллельная загрузка (D|3:0| = 1111) / 0 0 1 Счет 0 0 Счет (Q[3:0l # 1111) / 0 0 1 Счет 1 1 Счет (0)3:0) = 1111) X 0 0 0 Qin TCn 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-П, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. CB8CLE - восьмиразрядный двоичный счетчик с параллельной синхронной загрузкой, асинхронным сбросам и входом разрешения счета Dl7:0l L СЕ С CLP CBSCLE > —I Qp.Q] Назначение выводов: “ С - тактовый вход. СЕ - вход разрешения счета. сер L - вход разрешения параллельной загрузки. ТС CLR - вход сброса. DO - D7 - параллельные входы данных (0-7 разряды), объединенные в шину D[7:0]. Q0 - Q7 - выходы (0-7 разряды), объединенные в ши- ну 0(7:0]. ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента CB8CLE С CLR L СЕ QI ТС СЕО Режим работы X 1 X X 0 0 0 Асинхронный сброс 7 0 1 X DI 0 0 Параллельная загрузка (D)7:01 # FF) / 0 1 X DI 1 ICE Параллельная загрузка (0)7:01 = FF) / 0 0 1 Счет 0 0 Счет (Q[7:0) # FF) / 0 0 1 Счет 1 1 Счет (Q[7:0) = FF) [xj 0 0 0 Qin ТСп 0 Хранение
502 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. CBl с и их D[15fll L Ct C 5CLE — uii ионной за CB16CLE > гстнадцатиразрядный двоичный счетчик с параллельной грузкой, асинхронным сбросом и входом разрешения счета а[15я] Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. СЕ0 L — вход разрешения параллельной загрузки. CLR - вход сброса. DO - D15 - параллельные входы данных (0-15 раз- ряды), объединенные в шину D[15:0]. Q0 - Q15 - выходы (0-15 разряды), объединенные в шину Q[15:0]. ТС - выход переноса (выход завершения счета). СЕО — выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента CB16CLE CLE С CLR L CE QI ТС СЕО Режим работы X 1 X X 0 0 0 Асинхронный сброс / 0 1 X 01 0 0 Параллельная загрузка (D[7:0) # FF) / 0 1 X 01 1 ICE Параллельная загрузка (Df7:0] = FF) / 0 0 1 Счет 0 0 Счет (ОГ7:0) # FF) / 0 0 1 Счет 1 1 Счет (Q(7:01 = FF) X 0 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. CB2CLED — двухразрядный двоичный реверсивный счетчик с параллельной синхронной загрузкой, асинхронным сбросом и входом разрешения счета DD CB2CLED Q0 Назначение выводов: D1 Q1 С - тактовый вход. СЕ - вход разрешения счета. UP L- вход разрешения параллельной загрузки. L CLR - вход сброса. СЕ СЕО UP — вход изменения направления счета. С > ТС DO - D1 - параллельные входы данных (0-1 разряды). Q0 - Q1 - выходы (0-1 разряды). ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ).
Приложение /. Унифицированные библиотеки компонентов 503 Таблица истинности элемента CB2CLED С CLR L СЕ UP QI ТС CEO Режим работы X 1 X X X 0 0 0 Асинхронный сброс / 0 1 X 1 DI 0 0 Параллельная загрузка (Df1:0l #11» / 0 1 X 1 DI 1 ICE Параллельная загрузка (D[1:0l =11» / 0 1 X 0 DI 0 0 Параллельная загрузка (D(1:0l # 00» / 0 1 X 0 DI 1 ICE Параллельная загрузка (D[1:0] = 00» / 0 0 1 1 Счет 0 0 Счет на увеличение (Q[1:0] # 11) / 0 0 1 1 Счет 1 1 Счет на увеличение (Q[1:0) =11) / 0 0 1 0 Счет 0 0 Счет на уменьшение (Q[1:O] # 00) / 0 0 1 0 Счет 1 1 Счет на уменьшение (Q[1:0] = 00) X 0 0 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtcx-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. CB4CLED - четырехразрядный двоичный реверсивный счетчик с параллельной синхронной загрузкой, асинхронным сбросом и входом разрешения счета D0 D1 D2 D3 UP L СЕ С CLR CB4CLED Назначение выводов: — С - тактовый вход. СЕ - вход разрешения счета. L - вход разрешения параллельной загрузки. CLR - вход сброса. UP - вход изменения направления счета. DO - D3 — параллельные входы данных (0-3 разряды). CEO Q0 - Q3 - выходы (0-3 разряды). -ТС ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента CB4CLED С CLR L СЕ UP QI ТС СЕО Режим работы X 1 X X X 0 0 0 Асинхронный сброс / 0 1 X 1 DI 0 0 Параллельная загрузка (D(3:0] #1111) / 0 1 X 1 DI 1 ICE Параллельная загрузка (D[3:0] =1111) / 0 1 X 0 DI 0 0 Параллельная загрузка (D[3:0J # 0000) / 0 1 X 0 DI 1 ICE Параллельная загрузка (D[3:0] = 0000) 1 0 0 1 1 Счет 0 0 Счет на увеличение (Q[3:0] # 1111) ! 0 0 1 1 Счет 1 1 Счет на увеличение (Q|3:0] = 1111) / 0 0 1 0 Счет 0 0 Счет на уменьшение [Q[3:0] # 0000) / 0 0 1 0 Счет 1 1 Счет на уменьшение (Q[3:0] = 0000) X 0 0 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex II, Virtcx-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - макрос.
504 Зотов В. Ю. Проектирование цифровых устройств иа основе 1П1ИС CB8CLED — восьмиразрядный двоичный реверсивный счетчик с параллельной синхронной загрузкой, асинхронным сбросом и входам разрешения счета D|7fl] CB8CLED Q[7:01 UP L СЕ CEO С > ТС CLR I Назначение выводов; С — тактовый вход. СЕ - вход разрешения счета. L - вход разрешения параллельной загрузки. CLR - вход сброса. UP - вход изменения направления счета. DO - D7 - параллельные входы данных (0-7 разряды), объединенные в шину D[7:0]. Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0], ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента CB8CLED С CLR L СЕ UP QI ТС СЕО Режим работы X 1 X X X 0 0 0 Асинхронный сброс / 0 1 X 1 DI 0 0 Параллельная загрузка (D[7:0] # FF) / 0 1 X 1 DI 1 ICE Параллельная загрузка (D[7:0J = FF) / 0 1 X 0 DI 0 0 Параллельная загрузка (D(7:0] # 00) / 0 1 X 0 DI 1 ICE Параллельная загрузка (0(7:0] = 00) / 0 0 1 1 Счет 0 0 Счет на увеличение (Qf7:01 # FF) / 0 0 1 1 Счет 1 1 Счет на увеличение (Q(7:01 = FF) / 0 0 1 0 Счет 0 0 Счет на уменьшение (Qf7:0] # 00) / 0 0 1 0 Счет 1 1 Счет на уменьшение (017:01 = 00) X 0 0 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtcx-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. CB16CLED — шестнадцатиразрядный двоичный реверсивный счетчик с параллельной синхронной загрузкой, асинхронным сбросом и входом □ [15:0] CB16CLED Q[15:0l UP L СЕ СЕО С > ТС CLR | разрешения счета Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. L - вход разрешения параллельной загрузки. CLR - вход сброса. UP - вход изменения направления счета. DO - D15 - параллельные входы данных (0-15 раз- ряды), объединенные в шипу D[7:0]. Q0 - Q15 - выходы (0-15 разряды), объединенные в шину Q[I5:O). ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ).
Приложение 1. Унифицированные библиотеки компонентов 505 Таблица истинности элемента CB16CLED С CLR L СЕ UP QI ТС СЕО Режим работы X 1 X X X 0 0 0 Асинхронный сброс / 0 1 X 1 DI 0 0 Параллельная загрузка (D[15:01 # FFFF) / 0 1 X 1 DI 1 ICE Параллельная загрузка (D[15:01 = FFFF) 1 0 1 X 0 DI 0 0 Параллельная загрузка (D[15:0l # 0000) / 0 1 X 0 DI 1 ICE Параллельная загрузка (D[15:0] = 0000) / 0 0 1 1 Счет 0 0 Счет на увеличение (Q[15:0] # FFFF) / 0 0 1 1 Счет 1 1 Счет на увеличение (Qf 15:0] = FFFF) / 0 0 1 0 Счет 0 0 Счет на уменьшение (Q[15:0] # 0000) / 0 0 1 0 Счет 1 1 Счет на уменьшение (Q[15:0] = 0000) X 0 0 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-Е, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. CB2RE — двухразрядный двоичный счетчик с синхронным сбросом и входом разрешения счета СЕ С CB2RE > Назначение выводов: Qo С - тактовый вход. Q1 СЕ - вход разрешения счета. CEO R — вход сброса. ТС Q0 - Q1 - выходы (0-1 разряды). ТС - выход переноса (выход завершения счета). R СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента CB2RE С R СЕ QI ТС СЕО Режим работы / 1 X 0 0 0 Синхронный сброс / 0 1 Счет 0 0 Счет (Q[1:0] #11) / 0 1 Счет 1 1 Счет (Q[1:0l = 11) X 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. CB4RE — четырехразрядный двоичный счетчик с синхронным сбросом и входом разрешения счета CB4RE 00 Q1 02 ОЗ Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. R - вход сброса. СЕ С > СЕО ТС Q0 - Q3 - выходы (0-3 разряды). ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ) R I
506 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС Таблица истинности элемента CB4RE С R СЕ QI ТС СЕО Режим работы / 1 X 0 0 0 Синхронный сброс / 0 1 Счет 0 0 Счет (0)3:0) # 1111) / 0 1 Счет 1 1 Счет (Q[3:0) = 1111) X 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. CB8RE - восьмиразрядный двоичный счетчик с синхронным сбросом и входом CB8RE Q17:0l СЕ СЕО С > ТС R разрешения счета Назначение выводов: С - тактовый вход. СЕ — вход разрешения счета. R - вход сброса. QO - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0], ТС — выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента CB8RE С R СЕ QI ТС СЕО Режим работы / 1 X 0 0 0 Синхронный сброс / 0 1 Счет 0 0 Счет (Q[7:0] # FF) 1 0 1 Счет 1 1 Счет (0)7:0) = FF) X 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. CB16RE - шестнадцатиразрядный двоичный счетчик с синхронным сбросом CB16RE Q 115:01 СЕО ТС и входом разрешения счета Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. R - вход сброса. QO - Q15 - выходы (0-15 разряды), объединенные в шину Q[15:0]. ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). R Таблица истинности элемента CB16RE с R СЕ QI тс СЕО Режим работы / 1 X 0 0 0 Синхронный сброс / 0 1 Счет 0 0 Счет <Q[15:0] # FFFF) / 0 1 Счет 1 1 Счет (0)15:0) = FFFF) X 0 0 Qin ТСп 0 Хранение
Приложение I. Унифицированные библиотеки компонентов 507 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA.3, CoolRunner-II. Тип элемента - макрос. CC8CE - восьмиразрядный двоичный счетчик с асинхронным сбросом и входом разрешения счета, использующий логику ускоренного переноса CC8CE Q|7:D] CE CEO С > TC CLF I Назначение выводов: С - тактовый вход. Е - вход разрешения счета. LR - вход сброса. 0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0]. С - выход переноса (выход завершения счета). ЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента СС8СЕ C CLR CE QI TC CEO Режим работы X 1 X 0 0 0 Асинхронный сброс / 0 1 Счет 0 0 Счет (QI7:01 # FF) I 0 1 Счет 1 1 Счет (Qf7:01 = FF) X 0 0 Qin TCn 0 Хранение СЕ С СС16СЕ > Q115A] СЕО ТС CLR | Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. CCI6CE — шестнадцатиразрядный счетчик с асинхронным сбросом и входом разрешения счета, использующий логику ускоренного переноса Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. CLR - вход сброса. Q0-Q15 - выходы (0-15 разряды), объединенные в шину Q[I5:0], ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента СС16СЕ с CLR СЕ QI ТС СЕО Режим работы X 1 X 0 0 0 Асинхронный сброс / 0 1 Счет 0 0 Счет (Qf15;0l # FFFF) / 0 1 Счет 1 1 Счет (Qf15:0] = FFFF) X 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtcx-II Pro. Тип элемента - макрос.
)8 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС CCSCLE — восьмиразрядный двоичный счетчик с параллельной синхронной загрузкой, асинхронным сбросом и входом разрешения счета, использующий логику ускоренного переноса 017:01 CCSCLE 0(7:0] Назначение выводов: С - тактовый вход. L СЕ СЕО СЕ - вход разрешения счета. CLR - вход сброса. С > ТС L- вход разрешения параллельной загрузки. CLF _] DO - D7 - параллельные входы данных (0-7 разряды), объединенные в шину D[7:0]. Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0]. ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности злемента CC8CLE С CLR L СЕ QI ТС СЕО Режим работы X 1 X X 0 0 0 Асинхронный сброс / 0 1 X DI 0 0 Параллельная загрузка (D[7:0] # FF) / 0 1 X DI 1 ICE Параллельная загрузка ( ОГ7:01 = FF) / 0 0 1 Счет 0 0 Счет (Q[7:0] # FF) / 0 0 1 Счет 1 1 Счет (0(7:0] = FF) X 0 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. CC16CLE — шестнадцатиразрядный двоичный счетчик с параллельной синхронной загрузкой, асинхронным сбросом и входом разрешения счета, использующий логику ускоренного переноса 0(15:01 CC16CLE 0115:01 Назначение выводов: С — тактовый вход. L СЕ - вход разрешения счета. СЕ СЕО CLR - вход сброса. С > тс L - вход разрешения параллельной загрузки. DO - DI5 - параллельные входы данных (0-15 раз- CLR | ряды), объединенные в шину D[15:0]_ Q0 - QI 5 - выходы (0-15 разряды), объединенные в шину Q[15:0]. ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента CC16CLE С CLR L СЕ QI ТС СЕО Режим работы X 1 X X 0 0 0 Асинхронный сброс / 0 1 X DI 0 0 Параллельная загрузка (0(15:0] # FFFF) / 0 1 X DI 1 ICE Параллельная загрузка (0(15:0] = FFFF) / 0 0 1 Счет 0 0 Счет (0(15:0] # FFFF) / 0 0 1 Счет 1 1 Счет (Q[15:0] = FFFF) X 0 0 0 Qin ТСп 0 Хранение
Приложение I. Унифицированные библиотеки компонентов 509 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. CC8CLED - восьмиразрядный двоичный реверсивный счетчик с параллельной синхронной загрузкой, асинхронным сбросом и входом разрешения счета, использующий логику ускоренного переноса 017:01 CC8CLED О17Л1 Назначение выводов: С - тактовый вход. UP L СЕ СЕО СЕ - вход разрешения счета. CLR - вход сброса. L- вход разрешения параллельной загрузки. С > ТС DO - D7 - параллельные входы данных (0-7 разря- CLF ды), объединенные в шину D[7:0]. UP - вход изменения направления счета. Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0]. ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента CC8CLED С CLR L СЕ UP QI ТС СЕО Режим работы X 1 X X X 0 0 0 Асинхронный сброс / 0 1 X 1 DI 0 0 Параллельная загрузка (017:01 # FF) / 0 1 X 1 DI 1 ICE Параллельнвя звгрузка (Df7:01 = FF) / 0 1 X 0 DI 0 0 Параллельная загрузка (0(7:01 # 00) / 0 1 X 0 DI 1 ICE Параллельная загрузка (0(7:01 = 00) / 0 0 1 1 Счет 0 0 Счет нв увеличение (Q(7:0] # FF) / 0 0 1 1 Счет 1 1 Счет на увеличение (0(7:01 = FF) / 0 0 1 0 Счет 0 0 Счет на уменьшение (Qf7:0| # 00) / 0 0 1 0 Счет 1 1 Счет на уменьшение (Q[7:0] = 00) X 0 0 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. CC16CLED — шестнадцатиразрядный двоичный реверсивный счетчик с параллельной синхронной загрузкой, асинхронным сбросом и входом разрешения счета, использующий логику ускоренного переноса D[15:D] CC16CLED 0115:8] Назначение выводов: С - тактовый вход. UP L СЕ СЕО СЕ - вход разрешения счета. CLR - вход сброса. L - вход разрешения параллельной загрузки. С > ТС DO - D15 - параллельные входы данных (0-15 раз- CLF 1 ряды), объединенные в шину D[15:0]. UP — вход изменения направления счета. Q0 - Q15 - выходы (0-15 разряды), объединенные в шину Q[15:0]. ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ).
510 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента CC16CLED С CLR L СЕ UP QI ТС СЕО Режим работы X 1 X X X 0 0 0 Асинхронный сброс / 0 1 X 1 DI 0 0 Параллельная загрузка (D[15:0J # FFFF) / 0 1 X 1 DI 1 ICE Параллельная загрузка (D(15:0] = FFFF) / 0 1 X 0 DI 0 0 Параллельная загрузка (D[15:0l # 0000) / 0 1 X 0 DI 1 ICE Параллельная загрузка (Df 15:0] = 0000) / 0 0 1 1 Счет 0 0 Счет на увеличение (Q[15:01 # FFFF) / 0 0 1 1 Счет 1 1 Счет на увеличение (Q[15:0l = FFFF) / 0 0 1 0 Счет 0 0 Счет на уменьшение (Q[15:0] # 0000) / 0 0 1 0 Счет 1 1 Счет на уменьшение (Q[15:O1 = 0000) X 0 0 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - макрос. CC8RE — восьмиразрядный двоичный счетчик с синхронным сбросом и входом разрешения счета, использующий логику ускоренного переноса CC8RE <□[7:01 Назначение выводов; СЕ С > СЕО ТС С - тактовый вход. СЕ - вход разрешения счета. R - вход сброса. R | Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0]. ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ) Таблица истинности элемента CC8RE С R СЕ QI ТС СЕО Режим работы / 1 X 0 0 0 Синхронный сброс / 0 1 Счет 0 0 Счет (Q[7:0] # FF) / 0 1 Счет 1 1 Счет (Q(7:0] = FF) X 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtcx-II Pro. Тип элемента - макрос. CCI6RE — шестнадцатиразрядный двоичный счетчик с синхронным сбросом и входом разрешения счета, использующий логику ускоренного переноса СЕ С CC16RE > 0115:01 СЕО ТС R 1 Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. R- вход сброса. QO- QI5 - выходы (0-15 разряды), объединенные в шину Q[15:0]. ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО ~ ТС & СЕ).
Приложение 1. Унифицированные библиотеки компонентов 511 Таблица истинности элемента CC16RE С R СЕ QI ТС СЕО Режим работы / 1 X 0 0 0 Синхронный сброс / 0 1 Счет 0 0 Счет (Q[15:0] # FFFF) / 0 1 Счет 1 1 Счет (0(15:01 = FFFF) X 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtcx-П Pro. Тип элемента - макрос. CD4CE — четырехразрядный двоично-десятичный счетчик с асинхронным сбросом и входом разрешения счета СЫСЕ 00 01 Назначение выводов: С - тактовый вход. СЕ Q2 Q3 СЕО СЕ - вход разрешения счета. CLR - вход сброса. QO - Q3 - выходы (0-3 разряды). С > ТС ТС - выход переноса (выход завершения счета). CLF СЕО - выход разрешения счета (СЕО = ТС & СЕ). Таблица истинности элемента CD4CE С CLR СЕ QI ТС СЕО Режим работы X 1 X 0 0 0 Асинхронный сброс / 0 1 Счет 0 0 Счет <Q[3:0] # 1001) / 0 1 Счет 1 1 Счет (0(3:0] = 1001) X 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента — макрос. CD4CLE- четырехразрядный двоично-десятичный счетчик с параллельной синхронной загрузкой, асинхронным сбросом и входом разрешения счета D0 П1 CD4CLE ОО Q1 Назначение выводов: С - тактовый вход. 07 02 СЕ - вход разрешения счета. D3 L Q3 CLR - вход сброса. L - вход разрешения параллельной загрузки. DO - D3 - параллельные входы данных (0-3 разряды) СЕ СЕО QO - Q3 - выходы (0-3 разряды). С > ТС ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). CLR |
512 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента CD4CLE С CLR L СЕ QI ТС СЕО Режим работы X 1 X X 0 0 0 Асинхронный сброс / 0 1 X DI 0 0 Пвраллельная загрузка (D[3:0) # 1001) / 0 1 X DI 1 ICE Параллельная загрузка (D[3;0] = 1001) / 0 0 1 Счет 0 0 Счет (Q[3:0J # 1001) / 0 0 1 Счет 1 1 Счет (Q[3:0] = 1001) X 0 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. CD4RE- четырехразрядный двоично-десятичный счетчик с синхронным сбросом и входом разрешения счета CD4RE Q0 СЕ Q1 03 СЕО С > ТС Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. R - вход сброса. Q0 - Q3 - выходы (0-3 разряды). ТС — выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ). В_____I Таблица истинности элемента CD4RE С R СЕ QI ТС СЕО Режим работы / 1 X 0 0 0 Синхронный сброс / 0 1 Счет 0 0 Счет (Q[3:0] # 1001) / 0 1 Счет 1 1 Счет (Q[3:0) = 1001) X 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. CD4RLE — четырехразрядный двоично-десятичный счетчик с параллельной синхронной загрузкой, синхронным сбросом и входом разрешения счета ПО CD4RLE QD Назначение выводов: D1 01 С - тактовый вход. 02 02 СЕ - вход разрешения счета. D3 L 03 R - вход сброса. I L - вход разрешения параллельной загрузки. DO - D3 - параллельные входы данных (0-3 разряды). СЕ СЕО Q0 - Q3 - выходы (0-3 разряды). С R > ТС ТС - выход переноса (выход завершения счета). СЕО - выход разрешения счета (СЕО = ТС & СЕ).
ILI Программируемые логические интеграль схемы (ПЛИС) типа FPGA и CPLD Программное обеспечение для проектирования ПЛИС Инструментальные модули SCBN ЗАО “SCA Москва, 119330, ул. Дружбы, 10/32 «Б» Тел. (095) 796-9125, факс (095) 936-2247 www.xlllnx.ru, uh@scan.ru Региональные представительства: С.-Петербург Тел.: (812)567-89-36 Факс: (812)567-79-02 scanspb@scan.ru Воронеж Тел/факс: (0732) 72-71-01 Тел /факс: (0732) 51-21 -99 office@set.vrn.ru Минск Тел.: (0172)75-67-50 Тел/факс: (0172)75-62-61 scanwest@scan.ru
Комплексные решения в области САПР электроники От концепции до кремния, печатной платы, системы • Проектирование ПЛИС типа PLD и FPGA • Проектирование СБИС типа система-на-кристалле и система-на-программируемом кристалле • Проектирование систем на печатных платах любого уровня сложности и быстродействия • Комплексная функциональная верификация систем • Аппаратная эмуляция • Верификация топологии и повышение разрешающей способности при изготовлении субмикронных СБИС • Тестирование, тестопригодность и диагностика • Управление базами данных проектирования • Проектирование кабельных соединений • Поставка библиотек IP-блоков Megratec Официальный дистрибьютор Mentor Graphics в России и СНГ Москва, 123007, Хорошевское шоссе, 38/1,4 этаж Тел. 095-7875940
Приложение I. Унифицированные библиотеки компонентов 513 Таблица истинности элемента CD4RLE Гс" R L СЕ СИ ТС СЕО Режим работы / 1 X X 0 0 0 Синхронный сброс / 0 1 X DI 0 0 Парвлпельнвя звгрузка (D[3:0] # 1001) / 0 1 X DI 1 ICE Парвлпельнвя звгрузка (D[3:0] = 1001) / 0 0 1 Счет 0 0 Счет <Qf3:0] # 1001) / 0 0 1 Счет 1 1 Счет (Q[3:0] = 1001) ’х 0 0 0 Qin ТСп 0 Хранение Поддерживаемые семейства ПЛИС: Spartan-И, Spartan-IIE, Virtex, Virtcx-E, Virtcx-П, Virtcx-П Pro, XC95OO/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. CJ4CE — четырехразрядный счетчик Джонсона с асинхронным сбросом и входом разрешения счета СЕ С CJ4CE > Назначение выводов: Q1 С - тактовый вход. jj? СЕ - вход разрешения счета. Q3 CLR - вход сброса. Q0 - Q3 - выходы (0-3 разряды). СИ I I Таблица истинности элемента CJ4CE с CLR СЕ Q0 Q1 Q2 Q3 Режим работы X 1 X 0 0 0 0 Асинхронный сброс / 0 1 -Q3n QOn Q1n Q2n Счет X 0 0 QOn Q1n Q2n Q3n Хранение QOn - Q3n - состояние соответствующих (0-3) разрядов счетчика на предыдущем шаге. Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. CJ5CE - пятиразрядный счетчик Джонсона с асинхронным сбросом и входом разрешения счета СЕ С CJ5CE > СЮ Назначение выводов: ~ С — тактовый вход. СЕ - вход разрешения счета. CLR - вход сброса. ~04 Q0 - Q4 - выходы (0-4 разряды). CLR | Таблица истинности элемента CJ5CE С CLR СЕ Q0 Q1 Q2 Q3 Q4 Режим работы X 1 X 0 0 0 0 0 Асинхронный сброс 1 0 1 -О4л йол Qin Q2n Q3n Счет X 0 0 QOn Q1n Q2n ОЗл Q4n Хранение 17 Зотов В.Ю.
S14 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС QOn - Q4n - состояние соответствующих (0-4) разрядов счетчика на предыду- щем шаге. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. CJ8CE — восьмиразрядный счетчик Джонсона с асинхронным сбросом и входом разрешения счета Назначение выводов: ^Я?:0] с _ тактовый вход. СЕ - вход разрешения счета. CLR - вход сброса. Q0 - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0], CJBCE СЕ £_ Таблица истинности злемента CJ8CE С CLR СЕ ОО Q1 Q2 Q3 Q4 Q5 Q6 Q7 Режим работы X 1 X 0 0 0 0 0 0 0 0 Асинхронный сброс / 0 1 -Q7n QOn Q1n Q2n Q3n Q4n Q5n Q6n Счет X 0 0 QOn Q1n Q2n Q3n Q4n Q5n Q6n Q7n Хранение QOn - Q7n - состояние соответствующих (0-7) разрядов счетчика на предыду- щем шаге. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. CJ4RE — четырехразрядный счетчик Джонсона с синхронным сбросом и входом CJ4RE разрешения счета Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. R - вход сброса. Q0 - Q3 - выходы (0-3 разряды). Таблица истинности злемента CJ4RE В_____I с R СЕ Q0 Q1 Q2 Q3 Режим рвботы / 1 X 0 0 0 0 Синхронный сброс / 0 1 ~Q3n QOn Qin Q2n Счет X 0 0 QOn Q1n Q2n Q3n Хранение QOn - Q3n - состояние соответствующих (0-3) разрядов счетчика на предыду- щем шаге. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 515 CJ5RE — пятиразрядный счетчик Джонсона с синхронным сбросом и входом разрешения счета Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. R - вход сброса. Q0 - Q4 - выходы (0-4 разряды). CJ5RE СЕ С Q0 01 Q2 03 04 Таблица истинности злемента CJ5RE R С R СЕ Q0 Q1 Q2 Q3 Q4 Режим работы / 1 X 0 0 0 0 0 Синхронный сброс / 0 1 -Q4n QOn Q1n Q2n Q3n Счет X 0 0 QOn Q1n Q2n Q3n Q4n Хранение QOn - Q4n - состояние соответствующих (0-4) разрядов счетчика на предыду- щем шаге. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. CJ8RE — восьмиразрядный счетчик Джонсона с синхронным сбросом и входом разрешения счета Cjbre Назначение выводов: Ql7:01 С - тактовый вход. рр СЕ - вход разрешения счета. ~ R - вход сброса. * Q0 - Q7 - выходы (0-7 разряды), объединенные ---1---- в шину Q[7:0]. Таблица истинности злемента CJ8RE с R СЕ Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Режим работы / 1 X 0 0 0 0 0 0 0 0 Синхронный сброс / 0 1 -Q7n QOn Qin Q2n Q3n Q4n Q5n Q6n Счет X 0 0 QOn Q1n Q2n Q3n Q4n Q5n Q6n Q7n Хранение QOn - Q7n - состояние соответствующих (0-7) разрядов счетчика на предыду- щем шаге. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. 17*
516 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС CR8CE СЕ С, CR8CE - восьмиразрядный двоичный счетчик с асинхронным сбросам, входом разрешения счета и инверсией по входу синхронизации Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. CLR - вход сброса. QO - Q7 - выходы (0-7 разряды), объединенные в шину Q[7:0], Таблица истинности элемента CR8CE CLR I С CLR СЕ QI Режим работы X 1 X 0 Асинхронный сброс \ 0 1 Счет Счет X 0 0 Qin Хранение Поддерживаемые семейства ПЛИС: Spartan-Il, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. CR16CE СЕ С, CRI6CE - шестнадцатиразрядный двоичный счетчик с асинхронным сбросом, входом разрешения счета и инверсией по входу синхронизации 0(15:0] Назначение выводов: С - тактовый вход. СЕ - вход разрешения счета. CLR - вход сброса. QO - Q15 - выходы (0-15 разряды), объединенные в шину Qf 15:0]. Таблица истинности элемента CR16CE CLR | С CLR СЕ QI Режим работы X 1 X 0 Асинхронный сброс \ 0 1 Счет Счет X 0 0 Qin Хранение Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. П1.16. Компараторы Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Comparators. При их описании далее используются следующие условные обозначения: IA0 - IAI5, IB0 - IB 15 - значения сигналов на соответст- вующих входах АО - А15, ВО - В15; 1А/ - i-й разряд операнда А (значение сигнала на входе At); IAi+7 - (i+7)-ii разряд операнда А (значение сигнала на входе А.г+7); IBi - i-й разряд операнда В (значение сигнала на входе Bi); IBi+7 - (1+7)-й разряд операнда В (значение сигнала на входе Bi+7).
Приложение Л Унифицированные библиотеки компонентов 517 СОМР2 — цифровой двухразрядный компаратор Назначение выводов: АО - А1 - входы первого операнда (разряды 0 и 1). EQ ВО - В1 - входы второго операнда (разряды 0 и 1). EQ - выход А = В. АО At ВО Bl Таблица истинности элемента СОМР2 Соотношение значений сигналов на входах АО - А1, ВО - В1 Выход EQ 1А0 = IB0 и IA1 = IB1 1 1А0#1В0ипи IA1 # IB1 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. СОМР4 — цифровой четырехразряп/аяй компаратор АО А1 COMP4 А2 АЗ ВО В1 В? ВЗ EQ Назначение выводов: АО - АЗ - входы первого операнда (разряды 0-3). ВО - ВЗ - входы второго операнда (разряды 0-3). EQ - выход А = В. Таблица истинности элемента СОМР4 Соотношение значений сигналов нв входах АО - АЗ, Во - ВЗ Выход EQ IA0 = IB0 и IA1 = IB1 и IA2 = IB2 и IA3 = IB3 1 IA0 # IB0 или IA1 # IB1 или IA2 # IB2 или IA3 # IB3 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. COMP8 — цифровой восьмиразрядный компаратор А[7:0| Bl7:Dl СОМР8 EQ Назначение выводов: АО - А7 - входы первого операнда (разряды 0-7), объединенные в шину А[7:0]. ВО - В7 - входы второго операнда (разряды 0-7), объединенные в шину В[7:0]. EQ - выход А = В.
518 Эстов В. Ю. Проектирование цифровых устройств па основе ПЛИС Таблица истинности элемента СОМР8 Соотношение значений сигналов на входах АО - А7, ВО - В7 Выход EQ 1А0 = 1В0 и IA1 = IB1 и IA2 = IB2 и IA3 = IB3 и IA4 = IB4 и IA5 = IB5 и IA6 = IB6 и IA7 = IB7 1 IA0 # IB0 или IA1 # IB1 или IA2 # IB2 или IA3 # IB3 или IA4 # IB4 или IA5 # IB5 или IA6 # IB6 или IA7 # IB7 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CooIRunner XPLA3, CooIRunner-II. Тип элемента - макрос. COMP16 — цифровой шестнадцатиразрядный компаратор А|15:0|| СОМР16 Назначение выводов: ™ АО - А15 - входы первого операнда (разряды 0-15), EQ объединенные в шину А[15:0]. В]15:0] ВО - В15 - входы второго операнда (разряды 0-15), объединенные в шину В[15:0]. --------- EQ - выход А = В. Таблица истинности элемента СОМР16 Соотношение значений сигналов на входах АО - А15, ВО - В15 Выход EQ IA0 = 1В0 и |А1 = IB1 и IA2 = IB2 и IA3 = IB3 и IA4 = IB4 и IA5 = IB5 и IA6 = IB6 И IA7 = IB7 и IA8 = IB8 и IA9 = IB9 и IA10 = IB10 и IA11 = IB11 и IA12 = IB12 и IA13 = IB13 и IA14 = IB14 и IA15 = IB15 1 IA0 И1В0 или IA1 # IB1 или IA2 # IB2 или IA3 # IB3 или IA4 # IB4 или IA5 # IB5 или IA6 # IB6 или IA7 # IB7 или IA8 # IB8 или |А9 # IB9 или IA10 # IB10 или|А11#|В11 или IA12 #1В12 или IA13# IB13 или IA14 # IB14 или IA15 # IB15 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CooIRunner XPLA3, CooIRunner-II. Тип элемента - макрос. COMPM2 — цифровая двухразрядная схема сравнения двух операндов СОМРМ2 Назначение выводов: AU Л1 GT АО - А1 - входы первого операнда (разряды 0 и 1). 60 LT ВО - В1 - входы второго операнда (разряды 0 и 1). В1 LT - выход А < В. GT - выход А > В. Таблица истинности элемента СОМРМ2 Соотношение значений сигналов на входах АО - А1, ВО - В1 Выход LT Выход GT IA0 = IB0 и IA1 = IB1 0 0 IA0 > IB0 и IA1 = IB1 0 1 1А0 < IB0 и IA1 = IB1 1 0 IA1 < IB1 1 0 IA1 > IB1 0 1 -J Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ. Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XWXL, CooIRunner XPLA3, CoolRunner-ll. Тип элемента - макрос.
Приложение I. Унифицированные библиотеки ко мпонентов 519 СОМРМ4 — цифровая четырехразрядная схема сравнения двух операндов AD СОМРМ4 А1 A2 АЗ GT RD IT В1 В2 ВЗ Назначение выводов: АО - АЗ - входы первого операнда (разряды 0-3). ВО - ВЗ - входы второго операнда (разряды 0-3). LT - выход А < В. GT - выход А > В. Таблица истинности элемента СОМРМ4 Соотношение значений сигналов на входах АО - АЗ, ВО - ВЗ Выход LT Выход GT IA0 = IB0;..1А7= IBi ..IA3 = IB3 0 0 1А0 > IBO; IA1 = IB1..1A i = IBi..IA3 = IB3 0 1 1А0 < IBO; IA1 = IB1...: IAi = IB»;..IA3 = IB3 1 0 IA/> IBi; IA/+T = IBi+T; ...; |A3 = IB3 0 1 IA/< IBi IA/+T = IBi+T;..IA3 = IB3 1 0 I A3 > IB3 0 1 IA3 < IB3 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. COMPM8 — цифровая восьмиразрядная схема (равнения двух операндов A[7:0] COMPM8 GT B[7:0] LT Назначение выводов: АО - А7 - входы первого операнда (разряды 0-7), объединенные в шину А[7:0]. ВО - В7 - входы второго операнда (разряды 0-7), объединенные в шину В[7:0]). LT - выход А < В. GT - выход А > В. Таблица истинности элемента СОМРМ8 Соотношение значений сигналов на входах АО - А7, ВО - В7 Выход LT Выход GT IA0 = IB0;...; |А( = IBi;...; IA7 = IB7 0 0 IA0 > IBO; IA1 = IB1.. IAi - IBi .. IA7 = IB7 0 1 IA0 < IBO; IA1 = !B1..IAi = IBi ...; IA7 = IB7 1 0 IAi > IBi: IA/+1 = IBi+t;. ..; IA7 = IB7 0 1 IAi< IBi IA/+J = IBi+1; . ..; |A7 = IB7 1 0 _ IA7 > IB7 0 1 IA7 < IB7 1 0 Поддерживаемые семейства ПЛИС: Spartan-11, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CooIRunner XPLA.3, CoolRunner-II. Тип элемента - макрос.
520 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС СОМРМ16 — цифровая шестнадцатиразрядная схема сравнения двух операндов A[15:0] СОМРМ16 GT BIlMI LT Назначение выводов: АО - А15 - входы первого операнда (разряды 0-15), объединенные в шину А[15:0]. ВО - В15 - входы второго операнда (разряды 0-15), объединенные в шину В[15:0]). LT - выход А < В. GT - выход А > В. Таблица истинности элемента СОМРМ16 Соотношение значений сигналов на входах АО - А15. ВО - В15 Выход LT Выход GT IA0 = IB0;.. .; |А/ = |В( ...; IA15 = IB15 0 0 IA0 > IB0; |А1 = |В1...; IAi = IBf ...; 1А15 = 1В15 0 1 IA0 < IB0; IA1 = IB1...; IA/ = IBf,...; IA15 = IB15 1 0 IAi> IBi; IA»+i = IBi+1;...; IA15 = IB15 0 1 IAi< IBS 1А/+Г = IBi+l;.. .; IA15 = IB15 1 0 IA15>IB15 0 1 IA15<IB15 1 0 Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. COMPMC8 - цифровая восьмиразрядная схема сравнения двух операндов, выполненная с использованием логики ускоренного переноса A[/:Oj COMPMCB GT В17Ш1 LT Назначение выводов: АО - А7 - входы первого операнда (разряды 0-7), объединенные в шину А[7:0]. ВО - В7 - входы второго операнда (разряды 0-7), объединенные в шину В[7:0]). LT - выход А < В. GT - выход А > В. Таблица истинности элемента СОМРМС8 Соотношение значений сигналов на входах АО - А7. ВО - В7 Выход LT Выход GT 1А0 = 1В0;...; IA/= IBf,...; IA7 = IB7 0 0 1А0 > IBO; IA1 = IB1...; IAi = IBf ...; IA7 = IB7 0 1 1А0 < IBO; IA1 = IB1...; IAi= IBS . ..; IA7 = IB7 1 0 IAi> IBi; lAi+f = (Bi+f;...; <A7= IB7 0 1 IAi< IBi; IAi+1 = IBi+i;. ..; IA7 = |B7 1 0 IA7 > IB7 0 1 IA7 < IB7 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-П Pro. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 521 СОМРМС16 — цифровая шестнадцатиразрядная схема сравнения двух операндов, выполненная с использованием логики ускоренного переноса Af15:0] COMPMC16 GT Bh5:01 LT Назначение выводов; АО - А15 - входы первого операнда (разряды 0-15), объединенные в шину А[15:0]. ВО - В15 - входы второго операнда (разряды 0-15), объединенные в шину В[15:0]). LT - выход А < В. GT - выход А > В. Таблица истинности злемента СОМРМС16 Соотношение значений сигналов на входах АО - А15, ВО - В15 " Выход LT Выход GT 1А0 = 1В0;...; IAr = IBS ...; IA15 = IB15 0 0 IA0 > IBO; IA1 = IBI...; IAi= IBS ...; |A15 = IB15 0 1 I AO < IBO; IA1 = IB1.. .; IAr = IBS ...; IA15 = IB15 1 0 IAi> IBi; IA/+I = IBi+I;...; IA15 = IBI5 0 1 IAi< IBS lAi+J = IBi+I;...; IA15 = IB15 1 0 IA15 > IB15 0 1 IA15<IB15 1 0 Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-II, Virtex-II Pro. Тип элемента - макрос. П1.17. Дешифраторы Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Decoders. D2_4E — дешифратор с 2 на 4 со входом разрешения, преобразующий двухразрядный двоичный код, поступающий на входы АО AI, в напряжение высокого уровня, появляющееся на одном из четырех выходов D0-D3, при наличии сигнала высокого уровня на входе Е AO D2 4E DO Назначение выводов: A1 DI E - вход разрешения. D2 АО - A1 - входы (разряды 0 и 1). E D3 DO - D3 - выходы (0—3 разряды). Таблица истинности элемента D2 4E Е АО А1 D0 D1 D2 D3 Режим работы 0 0 1 0 0 0 Преобразование двоичного кода в напря- жение высокого уровня на соответствующем выходе 1 1 0 0 1 0 0 0 1 0 0 1 0 1 1 1 0 0 0 1 Г~о~ X X 0 0 0 0 Стробирование Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, ^incx-ll, Vinex-II Pro. XC95OO/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос.
522 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС D3_8E - дешифратор с 3 на 8 со входом разрешения, преобразующий трехразрядный двоичный код, поступающий на входы АО—А2, в напряжение высокого уровня, появляющееся на одном из восьми выходов DO - D7, при наличии сигнала высокого уровня на входе Е АП А1 А2 Е 03_ВЕ 00 Назначение выводов: 01 Е - вход разрешения. D2 АО - А2 - входы (разряды 0-2). D3 DO - D7 - выходы (0-7 разряды). D4 05 06 07 Таблица истинности элемента D3_8E Е АО А1 А2 DO D1 D2 D3 D4 D5 D6 D7 Режим работы 1 0 0 0 1 0 0 0 0 0 0 0 Преобразование двоичного кода в напряжение высокого уровня на соответствующем выходе 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 1 0 X X X 0 0 0 0 0 0 0 0 Стробирование Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtcx-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П. Тип элемента- макрос. D4_16E — дешифратор с 4 на 16 со входом разрешения, преобразующий четырехразрядный двоичный код, поступающий на входы АО— АЗ, в напряжение высокого уровня, появляющееся на одном из шестнадцати выходов DO — DI 5, при наличии сигнала высокого уровня на входе Е ДА А1 А2 АЗ D4J6 DO DI D2 D3 D4 D5 D6 D7 D8 РЭ DIO Dll D12 D13 DM D15 Назначение выводов: E — вход разрешения. АО - АЗ - входы (разряды 0-3). DO - D15 - выходы (0-15 разряды). Е
Приложение 1. Унифицированные библиотеки компонентов Таблица истинности элемента D4_I6E 523 Е АО А1 А2 АЗ DO D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 Режим работы 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Преобразова- ние двоичного кода в напряжение высокого уровня насоотввтствую щем выходе 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 X X X X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Стробирование Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. П1.18. Мультиплексоры Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Multiplexers. При их описании далее используются следующие условные обозначения: IDO - ID15 - сигналы на соответствующих информационных входах D0-D15. М2_1 — двухвходовый мультиплексор (2 в 1) М2_1 DO Р1~] Зг Назначение выводов: о DO, D1 - информационные входы. SO - вход выбора. О - выход. Таблица истинности элемента М2_1 SO о Режим работы б IDO Передача данных со входа DO нв выход L 1 ID1 Передача данных со входа D1 нв выход Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtcx-11, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. — двухвходовый мультиплексор (2 в I) с инверсией по одному входу М2 1В1 Назначение выводов: P°rJ—, О DO, DI - информационные входы. Р1П J- SO - вход выбора. so 1—Г О - выход.
524 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента М2_1В1 SO о Режим работы 0 -IDO Передача двнных со входа DO нв выход 1 ID1 Передача данных со входа D1 на выход Поддерживаемые семейства ПЛИС; Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. M2_IB2 - двухвходовый мультиплексор (2 в 1) с инверсией по входам М2 1В2 Назначение выводов: DO, DI - информационные входы. SO - вход выбора. О - выход. Таблица истинности элемента М21В2 SO О Режим работы 0 -IDO Передаче данных со входа DO на выход 1 -ID1 Передача данных со входа D1 на выход Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. M2_1E - двухвходовый мультиплексор (2 el) со стробированием М2_1Е Назначение выводов: о DO, D1 -информационные входы. D1 I SO - вход выбора. Е | Е - вход разрешения. О - выход. Таблица истинности элемента М2_1Е Е SO о Режим работы 1 0 IDO Передача данных со входа DO на выход 1 1 ID1 Передача данных со входа D1 на выход 0 X 0 Стробирование Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CooIRunner-П. Тип элемента - макрос. M4_1E - четырехвходовый мультиплексор (4 в 1) со стробированием М4 1Е DO Назначение выводов: DO - D3 - информационные входы. SO, SI - входы выбора. Е - вход разрешения. О - выход.
Приложение 1. Унифицированные библиотеки компонентов 525 Таблица истинности элемента М4_1Е E so Si о Режим работы — 1 0 0 IDO Передача данных со входе DO на выход 1 1 0 ID1 Передача данных со входа D1 на выход 1 0 1 ID2 Передача данных со входа D2 на выход 1 1 1 ID3 Передача данных со входа D3 нв выход 0 X X 0 Стробирование Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-11 Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. M8_lЕ - восьмивходовый мультиплексор (8 в I) со стробированием Назначение выводов: DO - D7 - информационные входы. SO - S2 - входы выбора. Е - вход разрешения. О - выход. Таблица истинности элемента М8_1Е Е so S1 S2 О Режим работы 1 0 0 0 IDO Передача данных со входа DO на выход 1 1 0 0 ID1 Передача данных со входа D1 на выход 1 0 1 0 ID2 Передача данных со входа 02 на выход 1 1 1 0 ID3 Передача данных со входа D3 на выход 1 0 0 1 ID4 Передача данных со входа D4 на выход 1 1 0 1 ID5 Передача данных со входа D5 на выход 1 0 1 1 ID6 Передача данных со входа D6 на выход 1 1 1 1 ID7 Передача данных со входа D7 на выход 0 X X X 0 Стробирование Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - макрос.
526 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС М16_1Е — шестнадцативходовый мультиплексор (16 в 1) со стробированием М16_1Е Назначение выводов: DO - D15 - информационные входы. SO - S3 - входы выбора. Е - вход разрешения. О - выход. Таблица истинности элемента М16_1Е E so S1 S2 S3 о Режим работы 1 0 0 0 0 IDO Передача данных со входа DO на выход 1 1 0 0 0 ID1 Передача данных со входа D1 на выход 1 0 1 0 0 ID2 Передача данных со входа D2 на выход 1 1 1 0 0 ID3 Передача данных со входа D3 на выход 1 0 0 1 0 Ю4 Передача данных со входа 04 на выход 1 1 0 1 0 ID5 Передача данных со входа D5 на выход 1 0 1 1 0 ID6 Передача данных со входа D6 на выход 1 1 1 1 0 ID7 Передача данных со входа D7 на выход 1 0 0 0 1 IDO Передача данных со входа D8 на выход 1 1 0 0 1 ID9 Передача данных со входа 09 на выход 1 0 1 0 1 1010 Передача данных со входа D10 на выход 1 1 1 0 1 ID11 Передача данных со входв D11 на выход 1 0 0 1 1 ID12 Передача данных со входа D12 на выход 1 1 0 1 1 1013 Передача данных со входа D13 на выход 1 0 1 1 1 ID14 Передача данных со входа D14 на выход 1 1 1 1 1 1015 Передача данных со входа D15 на выход 0 X X X X 0 Стробирование Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 52П MUXCY - двухвходовый мультиплексор (2 в 1), реализуемый на базе логики ускоренного переноса Назначение выводов: DI, CI - информационные входы. S - вход выбора. О - выход. Таблица истинности элемента MUXCY S DI CI 0 Режим работы 0 0 X 0 Передача данных (0) со входа DI на выход 0 1 X 1 Передача данных (1) сю входа DI на выход 1 X 0 0 Передача данных (0) со входа CI на выход 1 X 1 1 Передача данных (1) со входа CI на выход Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. MUXCY_D — двухвходовый мультиплексор (lei), реализуемый на базе логики ускоренного переноса, с двумя выходами L0 о I I S_/MUXCY_D / 0 1 ГТ" DI CI Назначение выводов: DI, CI - информационные входы. S - вход выбора. О - основной выход. LO - дополнительный (локальный) выход. Таблица истинности элемента MUXCY_D S DI CI о LO Режим работы 0 0 X 0 0 Передача данных (0) со входа DI на выходы 0 1 X 1 1 Передача данных (1) со входа DI на выходы 1 X 0 0 0 Передача данных (0) со входа CI на выходы 1 X 1 1 1 Передача данных (1) со входа CI на выходы Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtcx-II Pro. Тип элемента - примитив. MUXCY_L — двухвходовый мультиплексор (2 в 1), реализуемый на базе логики ускоренного переноса, с локальным выходом LO I Назначение выводов: S?MUXCY l\ / 0 1 \ DI, CI - информационные входы. S - вход выбора. 1 1 DI Cl LO - выход. Таблица истинности элемента MUXCYL S 01 CI LO Режим работы 0 0 X 0 Передача данных (0) со входа DI на выход 0 1 X 1 Передача данных (1) со входа DI на выход 1 X 0 0 Передача данных (0) со входа CI на выход 1 X 1 1 Передача данных (1) со входа CI на выход
528 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-II, Virtex-П Pro. Тип элемента - примитив. MVXF5 - двухвходовый мультиплексор (2 в 1), реализуемый на базе элемента F5 дополнительной логики конфигурируемого логического блока михга Назначение выводов: IB—I 10, II - информационные входы. о S - вход выбора. —L-r-J О - выход. Таблица истинности элемента MVXF5 S 10 и о Режим работы 0 0 X 0 Передача данных (0) со входа 10 на выход 0 1 X 1 Передача данных (1) со входа I0 на выход 1 X 0 0 Передача данных (0) со входа И на выход 1 X 1 1 Передача данных (1) со входа И на выход Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-II, Virtex-II Pro. Тип элемента - примитив. MVXF5_D - двухвходовый мультиплексор (2 в 1), реализуемый на базе элемента F5 дополнительной логики конфигурируемого логического блока, с двумя выходами MUXF5_D Назначение выводов: 10, II - информационные входы. S - вход выбора. О - основной выход. LO - дополнительный (локальный) выход. Таблица истинности элемента MUXF5J) S ю и о LO Режим работы 0 0 X 0 0 Передача данных (0) со входа |0 на выходы 0 1 X 1 1 Передача данных (1) со входа I0 на выходы 1 X 0 0 0 Передача данных (0) со входа И на выходы 1 X 1 1 1 Передача данных (1) со входа И на выходы Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-П, Virtex-II Pro. Тип элемента - примитив. MUXF5_L — двухвходовый мультиплексор (2 в 1), реализуемый на базе элемента F5 дополнительной логики конфигурируемого логического блока, с локальным выходом MUXF5_L Назначение выводов: 10, II - информационные входы. S - вход выбора. О - основной выход. LO - локальный выход.
Приложение 1. Унифицированные библиотеки компонентов Таблица истинности злемента MUXF5_L 529 s 10 11 LO Режим работы 0 0 X 0 Передача данных (0) со входа I0 на выход 0 1 X 1 Передача данных (1) со входа 10 на выход 1 X 0 0 Передача данных (0) со входа И на выход 1 X 1 1 Передача данных (1) со входа И на выход Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtcx-П, Virtex-П Pro. Тип элемента - примитив. MVXF6 — двухвходовый мультиплексор (2 в 1), реализуемый на базе злемента F6 дополнительной логики конфигурируемого логического блока MuXF6 Назначение выводов: 10, II - информационные входы. S - вход выбора. О - выход. Таблица истинности элемента MVXF6 S I0 и о Режим работы 0 0 X 0 Передача данных (0) со входа |0 на выход 0 1 X 1 Передача данных (1) со входа |0 на выход 1 X 0 0 Передаче данных (0) со входа И на выход 1 X 1 1 Передача данных (1) со входа И на выход Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro. Тип элемента - примитив. MUXF6_D — двухвходовый мультиплексор (2 в 1), реализуемый на базе элемента F6 дополнительной логики конфигурируемого логического блока, с двумя выходами Назначение выводов: 10, II - информационные входы. S - вход выбора. О - основной выход. LO - дополнительный (локальный) выход. Таблица истинности элемента MUXF6_D S 10 11 о LO Режим работы 0 0 X 0 0 Передача данных (0) со входа I0 на выходы 0 1 X 1 1 Передача данных (1) со входа Ю на выходы 1 X 0 0 0 Передача данных (0) со входа 11 на выходы 1 X 1 1 1 Передача данных (1) со входа И на выходы Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-П, Virtex-II Pro- Тип элемента - примитив.
530 Зотоя В. Ю. Проектирование цифровых устройств на основе ПЛИС MUXF6_L - двух&ходоеый мультиплексор (2 в 1), реализуемый на базе элемента F6 дополнительной логики конфигурируемого логического блока, с локальным выходом MUXF6_L Назначение выводов: 10, II - информационные входы. S - вход выбора. О - основной выход. LO - локальный выход. Таблица истинности злемента MVXF6_L S I0 и LO Режим работы 0 0 X 0 Передаче данных (0) со входа |0 на выход 0 1 X 1 Передача данных (1) со входа |0 на выход 1 X 0 0 Передача данных (0) со входа 11 на выход 1 X 1 1 Передача данных (1) со входа И на выход Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-П Pro. Тип элемента - примитив. MVXF7 — двухвходовый мультиплексор (2 в 1), реализуемый на базе злемента F7 дополнительной логики конфигурируемого логического блока MUXF7 Назначение выводов: 10, II - информационные входы. S - вход выбора. О - выход. Таблица истинности элемента MVXF7 S I0 и о Режим работы 0 0 X 0 Передача данных (0) со входа I0 на выход 0 1 X 1 Передача данных (1) со входа 10 на выход 1 X 0 0 Передача двнных (0) со входа И на выход 1 X 1 1 Передача данных (1) со входа 11 на выход Поддсрж: MVXF7_D F7 ft 111 И S иваем! - двух допал 1UXF7. ле семейства ПЛИС: Virtex-П, Virtex-II Pro. Тип элемента - примитив. входовый мультиплексор (2 в 1), реализуемый на базе элемента нительной логики конфигурируемого логического блока, с двумя выходами D Назначение выводов: to Ю, 11 - информационные входы. 0 S - вход выбора. О - основной выход. LO - дополнительный (локальный) выход. Таблица истинности элемента MUXF7 J) S 10 И О LO Режим работы 0 0 X 0 0 Передача данных (0) со входа I0 на выходы 0 1 X 1 1 Передача данных (1) со входа I0 на выходы 1 X 0 0 0 Передача данных (0) со входа Ина выходы 1 X 1 1 1 Передача данных (1) со входа И на выходы Поддерживаемые семейства ПЛИС: Virtex-II, Virtcx-П Pro. Гии элемента - примитив.
Приложение 1. Унифицированные библиотеки компонентов 531 MUXF7_L- двухвходовый мультиплексор (2 в 1), реализуемый на базе злемента F7 дополнительной логики конфигурируемого логического блока, с локальным выходам muxF7_l Назначение выводов: 10, II - информационные входы. S - вход выбора. О - основной выход. LO - дополнительный (локальный) выход. Таблица истинности злемента MUXF7_L S I0 11 LO Режим работы 0 0 X 0 Передача данных (0) со входа I0 на выход 0 1 X 1 Передача данных (1) со входа I0 на выход 1 X 0 0 Передача данных (0) со входа И на выход 1 X 1 1 Передача данных (1) со входа И на выход Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-II Pro. Тип элемента - примитив. MUXF8 - двухвходовый мультиплексор (2 в 1), реализуемый на базе элемента F8 дополнительной логики конфигурируемого логического блока мих|:в Назначение выводов: Е— I 10, II - информационные входы. I о S - вход выбора. -—' О - выход. Таблица истинности злемента MUXFв S 10 11 о Режим работы 0 0 X 0 Передача данных (0) со входа I0 на выход 0 1 X 1 Передача данных (1) со входа I0 на выход 1 X 0 0 Передача данных (0) со входа 11 на выход 1 X 1 1 Передача данных (1) со входа 11 на выход Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-II Pro. Тип элемента - примитив. MUXF8J) — двухвходовый мультиплексор (2 в 1), реализуемый на базе элемента F8 дополнительной логики конфигурируемого логического блока, с двумя выходами muxfb.d Назначение выводов: ~ I LO 10, II - информационные входы. о S - вход выбора. s—I—т—J О - основной выход. LO - дополнительный (локальный) выход. Таблица истинности элемента MUXF8J) S 10 11 о LO Режим работы _ 0 0 X 0 0 Передача данных (0) со входа 10 на выходы __0 1 X 1 1 Передача данных (1) со входа I0 на выходы X 0 0 0 Передача данных (0) со входа И на выходы _ 1 X 1 1 1 Передача данных (1) со входа И на выходы Поддерживаемые семейства ПЛИС: Virtcx-П, Virtcx-11 Pro. Тип элемента - примитив.
532 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС MUXF8_L - двухвходовый мультиплексор (2 в 1), реализуемый на базе элемента F8 дополнительной логики конфигурируемого логического блока, с локальным выходом MUXF8L Назначение выводов: 10, II - информационные входы. S - вход выбора. О - основной выход. LO - дополнительный (локальный) выход. Таблица истинности элемента MUXF8_L s 10 и LO Режим работы 0 0 X 0 Передача данных (0) со входа I0 на выход 0 1 X 1 Передача данных (1) со входа I0 на выход 1 X 0 0 Передача данных (0) со входа И на выход 1 X 1 1 Передача данных П) со входа И на выход Поддерживаемые семейства ПЛИС: Virtex-П, Virtex-П Pro. Тип элемента - примитив. П1.19. Устройства циклического сдвига Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Shifters. При их описании далее используются следующие ус- ловные обозначения: DIO - DI7 - сигналы на соответствующих информационных входах 10 -17. BRLSHFT4 — четырехразрядное устройство циклического сдвига данных, поступающих со входов 10 -13 Ш_ BRLSHFT4 И 12 13 00 01 02 03 Назначение выводов: 10 -13 - информационные входы. SO, S1 - входы управления сдвигом. ОО - 03 - выходы. so S1 Таблица истинности элемента BRLSHFT4 SO S1 ОО О1 02 03 Режим работы 0 0 DI0 DI1 DI2 DI3 Передача данных на выходы без сдвига 1 0 DI1 DI2 DI3 DI0 Циклический сдвиг влево на один разряд 0 1 DI2 DI3 010 DI1 Циклический сдвиг влево на два разряда 1 1 □(3 □10 □И DI2 Циклический сдвиг влево на три разряда Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-ПЕ, Virtex, Virtcx-E, Virtex-П, Virtcx-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос.
Цриломсение 1. Унифицированные библиотеки компонентов 533 BRLSHFT8 — восьмиразрядное устройство циклического сдвига данных. >0 BRLSHFT6 13 м 08 01 02 03 04 05 06 07 поступающих со входов 10—17 Назначение выводов: 10 —17 — информационные входы. SO - S2 - входы управления сдвигом. ОО - 07 - выходы. so S1 S2 Таблица истинности элемента BRLSHFT8 SO S1 S2 ОО О1 02 03 04 05 06 07 Режим работы 0 0 0 DI0 DI1 DI2 DI3 014 DI5 DI6 DI7 Передача данных на выходы без сдвига 1 0 0 011 DI2 DI3 □14 DI5 DI6 DI7 DIO Циклический сдвиг влево на один разряд 0 1 0 DI2 DI3 0I4 DI5 DI6 DI7 ОЮ □11 Циклический сдвиг влево на два разряда 1 1 0 DI3 DI4 DI5 □16 DI7 DIO □И DI2 Циклический сдвиг влево на три разряда 0 0 1 DI4 DI5 DI6 DI7 □10 □11 □12 DI3 Циклический сдвиг влево на четыре разряда 1 0 1 DI5 0I6 DI7 □10 DI1 DI2 □13 DI4 Циклический сдвиг влево на пять разрядов 0 1 1 DI6 DI7 DIO □И DI2 DI3 DI4 DI5 Циклический сдвиг влево на шесть разрядов 1 1 1 DI7 DIO 011 DI2 DI3 0I4 DI5 DI6 Циклический сдвиг влево на евмь разрядов Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtcx-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. П1.20. Арифметико-логические устройства Библиотечные элементы, представленные в данном разделе, относятся к функ- циональной группе Arithmetic Functions. При их описании далее используются сле- дующие условные обозначения: 1В[15:0], ID[15:0], ICI - значения сигналов на соот- ветствующих входах В15 - ВО, D15 - DO, CL; Qn[ 15:0] - состояние выходов QO - Q15 на предыдущем шаге. A CCI — одноразрядный аккумулятор с синхронным сбросом, синхронной загрузкой и во во ADD СЕ АСС1 Q0 СО входом разрешения синхронизации Назначение выводов: ВО - вход первого операнда. DO - вход второго операнда. CI - вход переноса R - вход сброса. L - вход загрузки. СЕ - вход разрешения синхронизации. С - вход синхронизации. ADD - вход управления режимами суммироваиия/вычитания. Q0 - выход суммы/разности. СО - выход переноса.
534 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС Таблица истинности элемента АСС1 R L ADO CE c QO Режим работы 1 X X X / 0 Синхронный сброс 0 1 X X / IDO Синхронная загрузка данных со входа DO 0 0 X 0 / QOn Хранение 0 0 1 1 / QOn+ IBO + ICI Суммирование содержимого внутреннего регистра с данными со входа ВО с учетом сигнала входного переноса CI 0 0 0 1 / QOn—IBO —(Cl Вычитание данных со входа ВО из содержимого внутреннего регистра с учетом сигнала входного переноса (заема) С| СО = (Q0 & ~(В0 л ADD)) I (Q0 & CI) I (~(В0 л ADD) & CI). Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CoolRunner XPLA3, CoolRunner-П. Тип элемента - макрос. АСС4 — четырехразрядный аккумулятор с синхронным сбросом, синхронной загрузкой и входом разрешения синхронизации CI АСС4 Назначение выводов: ВО 01 ВО - ВЗ - входы первого операнда (разряды 0-3). В1 0? DO - D3 - входы второго операнда (разряды 0-3). В2 03 CI — вход переноса. ВЗ со R - вход сброса. L - вход загрузки. п? СЕ - вход разрешения синхронизации. 1)3 С - вход синхронизации. ADD - вход управления режимами суммирова- ADD ния/вычитания. СЕ Q0 - Q3 - выходы суммы/разности (разряды 0-3). С > СО - выход переноса (для операндов без знака). OFL - выход переполнения (для операндов со зна- В_____I ком, представленных в дополнительном коде) Таблица истинности злемента АСС4 R L ADD СЕ с Q[3:0] Режим работы 1 X X X / 0 Синхронный сброс 0 1 X X / ID[3:0] Синхронная загрузка данных со входов DO - D3 0 0 X 0 / Qn[3:0] Хранение 0 0 1 1 / Qn[3:0] + IB[3:0] + ICI Суммирование содержимого внутреннего регистра с данными со входов ВО - ВЗ с учвтом сигнала входного переноса С| 0 0 0 1 / Qn[3:0] — IB[3:0]—ICI Вычитание данных со входов ВО - ВЗ из содержимого внутреннего регистра с учетом сигнала входного пе- реноса (заема) CI СО = (Q3 & -(ВЗ Л ADD)) 1 (Q3 & С2) I (~(ВЗ л ADD) & С2). OFL = ((Q3 & - (ВЗ л ADD)) I (Q3 & С2) I (- (ВЗ л ADD) & С2)) л С2 . С2 - внутренний сигнал сумматора (сигнал переноса из соответствующего разряда). Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос.
Приложение 1. Унифицированные библиотеки компонентов 535 АСС8 - восьмиразрядный аккумулятор с синхронным сбросом, синхронной загрузкой и входом разрешения синхронизации CI В[7Л] 0(7:01 L ADD СЕ С R ADD Q0- СО- OFL- нительнс АССВ —I -вход уп 27 - выхе выход пе - выход п м коде) q|7:0] Назначение выводов: —l ВО - B7 - входы первого операнда (разряды 0-7), объ- — единенные в шйну В[7:0]. -РЕ1- DO - D7 - входы второго операнда (разряды 0-7), объ- единенные в шину D[7:0]. CI - вход переноса. R - вход сброса. L - вход загрузки. СЕ - вход разрешения синхронизации. С - вход синхронизации. равнения режимами суммирования/вычитания. ды суммы/разности (разряды 0-7), объединенные в шину Q[7:0]. эеноса (для операндов без знака). ереполнения (для операндов со знаком, представленных в допол- Таблица истинности элемента АСС8 R L ADC СЕ с 0(7:0) Режим работы 1 X X X / 0 Синхронный сброс 0 1 X X / ID[7:0] Синхронная загрузка данных со входов DO - D7 0 0 X 0 / Qn[7:0] Хранение 0 0 1 1 / Qn[7:0] + IB[7:0] + ICI Суммирование содержимого внутреннего регистра с данными со входов ВО — В7 с учетом сигнала входного переноса С1 0 0 0 1 / Qn[7:0] - IB(7:0] - ICI Вычитание данных со входов ВО - В7 из содержимого внутреннего регистра с учетом сигнала входного переноса (заема) CI СО = (Q7 & ~(В7 л ADD)) I (Q7 & С6) I (~(В7 л ADD) & С6). OFL = ((Q7 & ~ (В7 л ADD)) I (Q7 & С6) I (- (В7 л ADD) & С6)) л С6 . С6 - внутренний сигнал сумматора (сигнал переноса из соответствующего разряда). Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtcx-E, Virtcx-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. ACC16 — шестнадцатиразрядный аккумулятор с синхронным сбросом, синхронной загрузкой и входом разрешения синхронизации АСС16 0(15®1 Назначение выводов: В[15:(11 ВО - В15 - входы первого операнда (разряды 0-15), СО объединенные в шину В[15:0]. 0(15®] L ADD СЕ С > OFL DO - DI5 - входы второго операнда (разряды 0-15), объединенные в шину D[15:0]. CI - вход переноса. l R - вход сброса. L - вход загрузки. СЕ - вход разрешения синхронизации. д | С - вход синхронизации. ADD - вход управления режимами суммирован! 1я/вычитания.
536 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС Q0 — Q15 - выходы суммы/разиости (разряды 0-15), объединенные в шину Q[15:0]. СО - выход переноса (для операндов без знака). OFL - выход переполнения (для операндов со знаком, представленных в дополни- тельном коде). Таблица истинности элемента АСС16 R L ADD СЕ С 0(15:0] Режим работы 1 X X X / 0 Синхронный сброс 0 1 X X / ID[15:0] Синхронная загрузка данных со входов DO - D15 0 0 X 0 / Qn{15:0] Хранение 0 0 1 1 / Qn[15:0] + 1В[15:0] + ICI Суммирование содержимого внутреннего реги- стра с данными со входов ВО - В15 с учетом сигнала входного переноса CI 0 0 0 1 / Qn[15:0] - 1В[15:0] - ICI Вычитание данных со входов ВО - В15 из со- держимого внутреннего регистра с учетом сиг- нала входного переноса (заема) CI СО = (Q15 & ~(В15 Л ADD)) I (Q15 & CI4) I (~(В15 л ADD) & CI4). OFL = ((Q15 & - (В15 л ADD)) I (Q15 & С14) I (~ (В 15 л ADD) & C14)) л C14 . С14 — внутренний сигнал сумматора (сигнал переноса из соответствующего разряда). Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-ПЕ, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC95OOZXV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. AI)I)I — одноразрядный полный сумматор ADD1 Cl Назначение выводов: АО - вход первого слагаемого. ВО — входы второго слагаемого. CI - вход переноса. S0 — выход суммы. СО - выход переноса. Таблица истинности злемента ADD1 АО во CI so со Режим работы 0 0 0 0 0 Суммирование двух операндов с учетом входного переноса (результат меньше 2) 1 0 0 1 0 Суммирование двух операндов с учетом входного переноса (результат меньше 2) 0 1 0 1 0 Суммирование двух операндов с учетом входного переноса (результат меньше 2) 1 1 0 0 1 Суммирование двух операндов с учетом входного переноса (результат равен 2) 0 0 1 1 0 Суммирование двух операндов с учетом входного переноса (результат меньше 2) 1 0 1 0 1 Суммирование двух операндов с учетом входного переноса (результат равен 2) 0 1 1 0 1 Суммирование двух операндов с учетом входного переноса (результат равен 2) 1 1 1 1 1 Суммирование двух операндов с учетом входного переноса (результат больше 2) Формирование выходных сигналов:
Приложение J. Унифицированные библиотеки компонентов 537 SO = АО л ВО л CI. СО = (АО & ВО) I (АО & CI) I (ВО & CI). Поддерживаемые семейства ПЛИС: XC95OO/XV/XL, CooIRunner XPLA3, CooIRunner-П. Тип элемента - макрос. ADD4 - четырехразрядный полный сумматор Назначение выводов: АО - АЗ - входы первого слагаемого (разряды 0-3). ВО - ВЗ - входы второго слагаемого (разряды 0-3). CI - вход переноса. S0 - S3 - выходы суммы (разряды 0-3). СО - выход переноса (для операндов без знака). OFL - выход переполнения (для операндов со зна- ком, представленных в дополнительном коде). Таблица истинности элемента ADD4 S[3:0) СО OFL Режим работы 1А[3:0] + 1В[3:0] + ICI 0 X Суммирование двух операндов бвз знака (результат меньше 16) 1А[3:0] + 1В[3:0] + ICI 1 X Суммирование двух операндов без знака (результат больше или равен 16) 1А[3:0] + 1В[3:0] + ICI X 0 Суммирование двух операндов со знаком, представленных в дополнительном коде (результат больше -9 и меньше 8) 1 А[3:0] + 1В[3:0] + ICI X 1 Суммирование двух операндов со знаком, представленных в дополнительном коде (результат больше 7 или меньше -8) Формирование выходных сигналов: S0 = АО Л ВО Л CI; СО = (АО & ВО) I (АО & CI) I (ВО & CI); S1 =А1 ЛВ1 лС0; Cl =(А1 & BI) I (Al & СО) I (Bl &С0); S2 = А2 л В2 л С1; С2 = (А2 & В2) I (А2 & Cl) I (В2 & С1); S3 = АЗ л ВЗ л С2; СО = (АЗ & ВЗ) I (АЗ & С2) I (ВЗ & С2). OFL = ((АЗ & ВЗ) 1 (АЗ & С2) I (ВЗ & С2)) л С2 . СО = (Q3 & - (ВЗ л ADD)) I (Q3 & С2) I (- (ВЗ л ADD) & С2). СО - С2 - внутренние сигналы сумматора. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. ADD8 — восьмиразрядный полный сумматор И------1 Назначение выводов: д[7:0]Г"-С-^, АО - А7 - входы первого слагаемого (разряды 0-7), объе- "|addb s|7:0] динепныс в шину А[7:0]. В& 01Г " ВО - В7 - входы второго слагаемого (разряды 0-7), объе- ^H^J0FL диненные в шину В [7:0]. со CI - вход переноса. SO - S7 - выходы суммы (разряды 0-7), объединенные в шину S[7:0]. СО - выход переноса (для операндов без знака).
538 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС OFL - выход переполнения (для операндов со знаком, представленных в допол- нительном коде). Таблица истинности злемента ADD8 SF7:0] СО OFL Режим работы |А[7:0] + |В(7:01 + ICI 0 X Суммирование двух операндов без знака (результат меньше 256) 1А[7:0] + 1В[7:0] + ICI 1 X Суммирование двух операндов без знака (результат больше или равен 256) IA[7:0] + |В[7:0] + ICI X 0 Суммирование двух операндов со знаком, представленных в дополнительном коде (результат больше -129 и меньше 128) |А[7:0] + 1В[7:0] + ICI X 1 Суммирование двух операндов со знаком, представленных в дополнительном коде (результат больше 127 или меньше -128) Формирование выходных сигналов: SO = АО Л ВО Л CI; СО = (АО & ВО) I (АО & CI) I (ВО & CI); S1 =А1 ЛВ1 лС0; С1 =(А1 &В1)1(А1 &С0) I (В1 & СО); Si = Aiл Biл Ci-1; Ci = (Ai & Bi) I (Ai & Ci-1) I (Bi & Ci-1); S6 = A6 л B6 л C5; C6 = (A6 & B6) I (A6 & C5) I (B6 & C5); S7 = A7 л B7 л C6; CO = (A7 & B7) I (A7 & C6) I (B7 & C6). OFL = ((A7 & B7) I (A7 & C6) I (B7 & C6)) л C6 . CO - C6 - внутренние сигналы сумматора. Si - значение i-ro разряда суммы. Ai - значение i-ro разряда первого слагаемого. Bi - значение i-ro разряда второго слагаемого. Ci - значение сигнала переноса из i-ro разряда. Ci-1 - значение сигнала переноса из (i-l)-ro разряда. Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-П, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CooIRunner-II. Тип элемента - макрос. ADDI6 - шестнадцатиразрядный полный сумматор Назначение выводов: АО - А15 - входы первого слагаемого (разряды 0-15), объединенные в шину А[15:0]. ВО - В15 - входы второго слагаемого (разряды 0-15), объединенные в шину В [15:0]. CI - вход переноса. SO - S15 - выходы суммы (разряды 0-15), объединенные в шину S[ 15:0]. СО - выход переноса (для операндов без знака). OFL - выход переполнения (для операндов со знаком, представленных в допол- нительном коде).
Приложение 1. Унифицированные библиотеки компонентов 539 Таблица истинности элемента ADD16 S[15:0] СО OFL Режим работы 1 А[15:0] + IB[15:0] + ICI 0 X Суммирование двух операндов без знака (результат меньше 65536) |А[15:0] + |В[15:0] + ICI 1 X Суммирование двух операндов без знака (результат больше или равен 65536) IA[15:0] + lB[15:0] + ICI X 0 Суммирование двух операндов со знаком, представленных в дополнительном коде (результат больше -32769 и меньше 32768) IA[15:0] + IB[15:0] + ICI X 1 Суммирование двух операндов со знаком, представленных в дополнительном коде (результат больше 32767 или меньше -32768) Формирование выходных сигналов: SO = АО Л ВО Л CI; СО = (АО & ВО) I (АО & CI) I (ВО & CI); S1 =А1 ЛВ1 л СО; Cl =(А1 &B1)I(A1 &С0)1(В1 &С0); Si = А/л Bi л Ci-7; Ci = (Ai & Bi) I (Ai & Ci-1) 1 (Bi & Ci-1); S14 = А14 Л В14 Л С13; С14 = (А14 & В14) I (А14 & С13) I (В14 & С13); S15 = А15 лВ15 ЛС14; СО = (А15 & В15) I (А 15 & С14) I (В 15 & С14). OFL= ((А15 & В15) I (А15 & С14) I (В15 & С14)) л С14. СО - С14 - внутренние сигналы сумматора. Si - значение i-ro разряда суммы. Ai - значение i-ro разряда первого слагаемого. Bi - значение i-ro разряда второго слагаемого. Ci - значение сигнала переноса из i-ro разряда- Ci-1 - значение сигнала переноса из (i-l)-ro разряда. Поддерживаемые семейства ПЛИС: Spartan-П, Spartan-IIE, Virtex, Virtcx-E, Virtex-II, Virtex-II Pro, XC95OO/XV/XL, CoolRunner XPLA3, CoolRunner-II. Тип элемента - макрос. ADSUI — одноразрядный полный сумматор/вычитатель ADSU1 Cl Назначение выводов: АО - вход первого слагаемого. ВО - вход второго слагаемого. CI - вход переноса. ADD - вход управления режимами суммирования/вычитания. SO - выход суммы/разности. СО - выход переноса. Таблица истинности элемента ADSU1 ДИ so ВИ ADD J со ADD АО во CI so со 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 0 1
540 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС ADD АО во CI so со 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 0 О 1 0 0 0 0 0 0 1 0 0 1 О 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 Формирование выходных сигналов: S0 = ~(А0 Л ВО Л CI Л ADD); СО = (АО & ~(В0л ADD)) I (АО & CI) I (~(В0л ADD) & CI). Поддерживаемые семейства ПЛИС: XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. ADSV4- четырехразрядный полный сумматор/вычитателъ Назначение выводов: АО - АЗ - входы первого слагаемого (разряды 0-3). ВО - ВЗ - входы второго слагаемого (разряды 0-3). CI - вход переноса. ADD - вход управления режимами суммирова- ния/вычитания. S0 - S3 - выходы суммы (разряды 0-3). СО - выход переноса (для операндов без знака). OFL - выход переполнения (для операндов со зна- ком, представленных в дополнительном коде). Таблица истинности элемента ADSV4 ADD S[3:0] СО OFL Режим работы 1 IA’3:0] + IB[3:0] + ICI 0 X Суммирование двух операндов без знака (результат меньше 16) 1 !А[3:0] + |В[3:0] + ICI 1 X Суммирование двух операндов без знака (результат больше или равен 16) 1 IA’3:0] + |В[3:0] + ICI X 0 Суммирование двух операндов со знаком, представленных в дополнительном коде (результат больше -9 и меньше 8) 1 IA[3:0] + |В[3:0] + ICI X 1 Суммирование двух операндов со знаком, представленных в дополнительном коде (результат больше 7 или меньше -8) 0 IА[3:0] - IB[3:0] - ICI 1 X Вычитание операндов без знака (результат положительный и меньше 16) 0 IА[3:0] - !В[3:0] - ICI 0 X Вычитание операндов без знака (результат отрицательный или больше 15) 0 IА[3:0] - IB[3:0] - ICI X 0 Вычитание операндов со знаком, представленных в до- полнительном коде (результат больше -9 и меньше 8) 0 1А[3:0] + IB[3:0] - ICI X 1 Вычитание операндов со знаком, представленных в до- полнительном коде (результат больше 7 или меньше -8)
Приложение 1. Унифицированные библиотеки компонентов 541 Формирование выходных сигналов: SO = ~(А0 Л ВО Л CI Л ADD); S1 = -(А1 л В1 л С0л ADD); S2 = ~(А2 л В2 л CI л ADD); S3 = ~(АЗ л ВЗ л С2 л ADD); СО = (АЗ & ~(ВЗЛ ADD)) I (АЗ & С2) I (-(ВЗЛ ADD) & С2). OFL = ((АЗ & ~(ВЗ л ADD)) I (АЗ & С2) I (~(ВЗ л ADD) & С2)) л С2. СО - С2 - внутренние сигналы сумматора (сигналы переноса из соответствующе- го разряда). Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CoolRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. ADSV8 — восьмиразрядный полный сумматор/вычитатель Cl Назначение выводов: Al7:nir~^-~, HJDSU8S(7:n] г-'T ор|- ДРО | 1 со АО - А7 - входы первого слагаемого (разряды 0-7), объединенные в шину А[7:0]. ВО - В7 - входы второго слагаемого (разряды 0-7), объеди- ненные в шину В[7:0]. CI - вход переноса. ADD - вход управления режимами суммирова- ния/вычитания. SO - S7 - выходы суммы (разряды 0-7), объединенные в шину S[7:0], СО - выход переноса (для операндов без знака). OFL - выход переполнения (для операндов со знаком, пред- ставленных в дополнительном коде). Таблица истинности элемента ADSU8 ADD S(7:0] СО OFL Режим работы 1 I А[7:0] + IB[7:0] + ICI 0 X Суммирование двух операндов без знака (результат меньше 256) 1 IA£7:0] + IB[7:0] + ICI 1 X Суммирование двух операндов бвз знака (результат больше или равен 256) 1 I А[7:0] + IB[7:0] + ICI X 0 Суммирование двух операндов со знаком, представленных в дополнительном коде (результат больше -129 и меньше 128) 1 !А[7:0] + !В[7:0] + ICI X 1 Суммирование двух операндов со знаком, представленных в дополнительном коде (результат больше 127 или меньше-128) 0 1А[7:0] - IB[7:0] - ICI 1 X Вычитание операндов без знака (результат положительный и меньше 256) 0 IА|7:0] - IB[7:0| - ICI 0 X Вычитание операндов без знака (результат отрицательный или больше 255) 0 !А|7:0] - IB[7:0] - ICI X 0 Вычитание операндов со знаком, представленных в до- полнительном коде (результат больше -129 и меньше 126) 0 1А[7:0] + |В[7:0| - ICI X 1 Вычитание операндов со знаком, представленных в допол- нительном коде (результат больше 127 или меньше -126) Формирование выходных сигналов: S0 = ~(А0 Л ВО л CI л ADD); SI = ~(А1 л В1 л СО л ADD);
542 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Si = ~(Ai л Bi л Ci-1 л ADD); S7 = ~(А7 л В7 л Сб л ADD); СО = (А7 & (~(В7 л ADD))) I (А7 & С6) I (~(В7 л ADD) & Сб). OFL = ((А7 & (~(В7 л ADD))) I (А7 & С6) I (~(В7 л ADD) & С6)) л Сб . СО - С6 - внутренние сигналы сумматора (сигналы переноса из соответствующе- го разряда). Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-П Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunner-II. Тип элемента - макрос. ADSV16 - шестнадцатиразрядный полный сумматор/вычитатель Назначение выводов: АО - А15 - входы первого слагаемого (разряды 0-15), объ- единенные в шину А[15:0]. ВО - В15 - входы второго слагаемого (разряды 0—15), объ- единенные в шину В[15:0]. CI - вход переноса. ADD - вход управления режимами суммирова- ния/вычитания. SO - S15 - выходы суммы (разряды 0-15), объединенные в шину S[15:0]. СО - выход переноса (для операндов без знака). OFL - выход переполнения (для операндов со знаком, представленных в дополнительном коде). Таблица истинности элемента ADSVI6 ADD S(15:0) СО OFL Режим работы 1 IA[15:0] + IB[15:0] + ICI 0 X Суммирование двух операндов без знака (результат меньше 65536) 1 1А[15:0] + 1В[15:0] + ICI 1 X Суммирование двух операндов без знака (результат больше или равен 65536) 1 1А]15:0] + 1В[15:0] + ICI X 0 Суммирование двух операндов со знаком, представлен- ных в дополнительном коде (результат больше -32769 и меньше 32768) 1 IA[15:0] + IB[15:0] + ICI X 1 Суммирование двух операндов со знаком, представлен- ных в дополнительном коде (результат больше 32767 или меньше -32766) 0 1А[15:0] - IB[15:0] - ICI 1 X Вычитание операндов без знака (результат положительный и меньше 65536) 0 1А£15:0] - 1В[15:0] - ICI 0 X Вычитание операндов без знака (результат отрицательный или больше 65536) 0 1А£15:0] - 1В[15:0] - ICI X 0 Вычитание операндов со знаком, представленных в дополнительном коде (результат больше -32769 и меньше 32768) 0 1А[15:0] - 1В[15:0] - ICI X 1 Вычитание операндов со знаком, представленных в дополнительном коде (результат больше 32767 или меньше -32768)
Приложение 1. Унифицированные библиотеки компонентов 543 Формирование выходных сигналов: SO = ~(А0 Л ВО Л CIЛ ADD); S1 = ~(А1 л В1 л СО л ADD); Si = ~(Aiл Biл Ci-7 л ADD); S15 = -(A15 л B15 л C14 л ADD); СО = (А15 & (~(В15 л ADD))) I (А15 & С14) I (-(В15 л ADD) & CI4). OFL = ((А 15 & (~(В15 л ADD))) I (Al5 & С14) I (-(В 15 л ADD) & С14)) л С14. СО - С14 - внутренние сигналы сумматора (сигналы переноса из соответствую- щего разряда). Поддерживаемые семейства ПЛИС: Spartan-II, Spartan-IIE, Virtex, Virtex-E, Virtex-II, Virtex-II Pro, XC9500/XV/XL, CooIRunner XPLA3, CoolRunncr-II. Тип элемента - макрос. MVLT18X18 — восемнадцатиразрядный умножитель А[17Л| В[17Л| MULT18X18 Назначение выводов: Р|35:О] АО - А17 - входы первого слагаемого (разряды 0-17), объединенные в шину А[17:0]. ВО - В17 - входы второго слагаемого (разряды 0-17), объединенные в шину В[17:0]. Р0 - Р35 - выходы суммы (разряды 0-35), объеди- ненные в шину Р[35:0]. Таблица истинности злемента MVLT18X18 Af17:0] В[17:0] Р[35:0] Режим работы 1А[17:0] 1В[17:0] 1А(17:0| * 1В[17:0] Умножение двух операндов 1А[17:0] - значения сигналов на входах А[17:0]. 1В[17:0] - значения сигналов на входах В[17:0]. Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-П Pro. Тип элемента - примитив. MULT18X18S — восемнадцатиразрядный умножитель с синхронным сбросом и входом разрешения синхронизации AllZfl] В[17Л] MULT1BX18S Р[35Я1 Назначение выводов: АО - А17 - входы первого слагаемого (разряды 0-17), объединенные в шину А[17:0]. R ВО - В17 - входы второго слагаемого (разряды 0-17), объединенные в шину В[17:0]. R - вход сброса. СЕ - вход разрешения синхронизации. SO - S15 - выходы суммы (разряды 0-15), объединенные в шину S[ 15:0]. СО - выход переноса (для операндов без знака). OFL - выход переполнения (для операндов со знаком, представленных в допол- нительном коде).
544 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС Таблица истинности элемента MULT18X18 С СЕ R А[17:0] В[17:01 Р[35:0] Режим работы 1 X 1 X X 0 Синхронный сброс X 0 0 X X Рл(35:0] Хранение / 1 0 1А[17:0] 1В[17:0] |А[17:0] * 1В[17:0] Умножение двух операндов Рп[35:0] - состояние выходов Р[35:О] на предыдущем шаге. 1А[17:0] - значения сигналов на входах А[17:0]. 1В[17:0] — значения сигналов на входах В[17:0]. Поддерживаемые семейства ПЛИС: Virtex-II, Virtex-П Pro. Тип элемента — примитив.
Россия, Москва, мая 2003 •'И СПЕЦИАЛИЗИРОВАННАЯ ВЫСТАВКА ТЕХНОЛОГИЧЕСКОГО ОБОРУДОВАНИЯ И МАТЕРИАЛОВ ДЛЯ ПРОИЗВОДСТВА ЭЛЕКТРОННОЙ И ЭЛЕКТРОТЕХНИЧЕСКОЙ ПРОМЫШЛЕННОСТИ Основные разделы выставки: Оборудование для производства электронных и электромеханических компонентов, печатных плат и кабельно-проводниковой продукции Материалы для производства компонентов, печатных плат и кабельно-проводниковой продукции Оборудование и арматура для монтажа Паяльное и сварочное оборудование Инструмент для электромонтажных работ Кабельные аксессуары Измерительные приборы и тестовое оборудование Анализаторы производственных дефектов и средства контроля качества Промышленные системы управления Системы электропитания Промышленная мебель и оборудование рабочих мест е
Уникальное сочетание производительности ПЛИС ХЩпх f и гибкости ЦПОС Texas Instruments + развитая перифе ия: мо уль XDSP-Зхх из семейства модулей XDSP ‘рхвысокая бдительность ческого ядра И + ЦПОС ZBTSRAM ZBTSRAM ир512Кх32 ир512Кк32 Гибкрфпь и y«Wge₽c fjttpc g ----ДОС ----* 12SMSPS12М ____дос ____ 12SM5PS12М ----ДОС ---- 125WSPS12М Xilinx FPGA ADC I 12SWSPS «ЬЛ SDRAM SDRAM IMxlB 4№rfS юсть- 1399! System PCI Bus 33766MHz 32bit Преемственность no шинным интерфейсам PCI & ComapctPCI Области применения: ♦ высокопроизводительная цифровая обработка ♦ спектральный анализ • цифровой раб опри" • радиолокация • видеообработка ♦ нейроускорители « □темная шина PCI 2.2 33/66МГц 32бита. Slave/Master опускная способность на ввод данных до 100МБ/се 2,5 млн. вентилей в ПЛИС Xtlirix серии Virtex-E □темная тактовая частота ПЛИС Virtex-E - до 250МГц ковая гроизводительнссть обработки (ХС2000Е-8)’ до 100 млрд. МАС на 8-разрядных операндах до 23 млрд. МАС на 16-разрядных операндах до 4 млрд. МАС на 32-разрядных операндах ЮС Tfexas Instruments TMS320C6202 BGA352 250МГц а банка 5 HcZBT SRAM до 512Кх32 IRAM до 128МБит на шине EMIF ЦПОС ASH-память до 64МБит • четыре независимых канала АЦП 12бит 80/105/125MSPS • два квнвла ЦАП 14бит 125МГцсФНУ * до 48 буферизованных линий цифрового ввода-вывода ♦ высокоскоростной компарвтор тактового ввода до 100МГц ♦ встроенный кварцевый генератор 20 - 120МГц 30 - ЮОррлп • контроль температуры ПЛИС, ЦПОС и окружающей средь1 ♦ лорт JTAG IEEE 1149.1 для ПЛИС'И ЦПОС • конфигурация ПЛИС и ЦПОС через PCI и из FLASH-памят» • контроллер конфигурации ПЛИС на базе CPLD 95288XL * варианты в коммерческом и индустриальном'исполнении * вариант модуля в исполнении Compact PCI 3D • HDL-ориентировЬннь Я маршруту проектирования ЗАО "Sqan^ngineering Telecom” РОССИЯ, Воронеж, (0732) 51-21-99, 72-71-01 ~
Приложение 2. Шаблоны HDL-редактора пакета WebPACK ISE для языка VHDL Применение шаблонов позволяет: • сократить время создания описания; • избежать синтаксических ошибок, появление которых возможно при наборе с помощью клавиатуры; • использовать готовые отлаженные конструкции для представления наиболее часто встре- чающихся элементов и функциональных блоков; • создавать и в дальнейшем использовать собственные отработанные конструкции. Так как шаблоны в папках расположены в алфавитном порядке, то и рассматриваться они будут в той же последовательности. П2.1. Шаблоны основных конструкций языка VHDL Шаблоны основных базовых конструкций языка VHDL расположены в папке Language Templates. Architecture body представляет собой основу архитектурного тела описываемого объекта. После включения этого шаблона в состав создаваемого файла описания необходимо вместо ENTITY_NAME ввести название объекта, а вместо ARCH_NAME - название архитектурного блока описания. Далее следует заменить «statements» иа описание структуры или поведения объекта architecture ARCH_NAME of ENTITY_NAME is begin «statements» end ARCH_NAME; Block statement используется для формирования блока описания. Вместо BLOCK_LABEL указывается название (метка) блока, a «statements» заменяется выражениями, включаемыми в состав блока. BLOCK-LABEL: block begin «statements» end block; Case statement содержит конструкцию выражения выбора из трех вариантов и пример ее использования, оформленный в виде комментария. Количество вариантов выбора можно изменить с помощью операций редактирования (копирования, вставки и удаления). При ис- пользовании этого шаблона «expression» заменяется анализируемым выражением, «choices» — соответствующим вариантом значения анализируемого выражения, «statements» - выраже- ниями, которые должны выполняться при выборе соответствующего варианта. ease «expression» is when «choices» =» «statements» when «choices» =» «statements» when others =» «statements» I® Зотов В.Ю.
546 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС end case; - - example: - case SEL is - when 01112=» - Z <= B; - when 3 to 10 =» - Z <= C; - when others =» - null; - end case; Component declaration представляет собой шаблон объявления компонента, используемо- го в структурном описании объекта (проекта). Для декларации соответствующего компонен- та необходимо указать его название (вместо COMPONENT_NAME) н включить описание его интерфейса (вместо <port_declaration>). component COMPONENT_NAME port (<port_declaration>); end component; Component instantiation содержит образец конструкции, используемой для создания эк- земпляра компонента в структурном описании объекта (проекта). При формировании кон- кретного экземпляра компонента следует указать позиционную метку компонента (вместо LABEL1), которая соответствует обозначению элемента на принципиальной схеме, название компонента (вместо COMPONENT_NAME), которое определяется при создании его описа- ния и соответствует типу элемента, а также определить карту портов. В рассматриваемом шаблоне применяется ключевое сопоставление портов компонента н подключаемых сигна- лов, при котором порядок нх перечисления не имеет значения. Поэтому для определения карты портов достаточно заменить PORT NAME иа имя порта, a SIG_NAME - названием соответствующего сигнала. LABEL1: COMPONENT_NAME port map ( PORT_NAME =» SIG_NAME. PORT_NAME =» SIG_NAME ); Conditional signal assignment содержит шаблон и пример выражения условного назначе- ния сигнала. После включения рассматриваемой конструкции в файл описания нужно вста- вить название сигнала (вместо S1G_NAME), выражение, которое определяет алгоритм фор- мирования сигнала при некотором условии (<expression>), и соответствующее условное вы- ражение (<condition>). Выражение условного назначения сигнала может содержать необяза- тельную метку (вместо LABELI). LABEL1: SlG NAME <= «expression» when condition» else «expression» when condition» else «expression»; - - example: - Z «= A when (X » 10) else В when (X » 5) else - C; Constant declaration включает в себя конструкцию объявления констант и примеры наи- более часто используемых типов. На практике целесообразно в качестве шаблона выбрать один из примеров с требуемым типом константы, воспользовавшись командами редактиро- вания (копирования и вставки). Далее следует ввести название конс-ганты (вместо CONST NAME) и ее значение <value>.
Приложение 2. Шаблоны HDL-редактора 547 constant CONST_NAME: «tyPB_spec> := «value»: - Examples: constant CONST_NAME: BOOLEAN := TRUE; constant CONST_NAME: INTEGER := 31; constant CONST_NAME: BIT VECTOR (3 downto 0) := "0000"; constant CONST_NAME: STD_lOGIC := 'Z; ’ constant CONST_NAME: STD_LOGIC_VECTOR (3 downto 0) := '0-0-'; Design library specification применяется для создания ссылки на требуемую библиотеку. При использовании этого выражения <LIB_NAME> заменяется названием соответствующей библиотеки. library <LIB_NAME>; Entity declaration представляет собой основу описания интерфейса объекта. После вклю- чения ее в состав файла следует указать имя объекта (вместо- ENTTTY_NAME) и описание его портов (вместо <port_declarations>). entity ENTITY.NAME is port( <port_declarations> ); end ENTITY_NAME; Exit statement употребляется для завершения выполнения цикла. При необходимости можно указать условие выхода из цикла (вместо <condition>) и метку (вместо LABEL1). exit LABEL1 when <condition>; For-loot> statement содержит шаблон конструкции для организации цикла и пример его использования. Параметрами этого шаблона являются: LABEL1 - метка, <lower_limit> - нижняя граница параметра цикла, <upper_limit> - верхняя граница параметра цикла, «Statement» - выражения, составляющие тело цикла. LABEL1: for I in <lower_limit> to «upperjimit» loop «statement» end loop; - example: - -for I in 1 to 10 loop - - LSQR(I) := I * l; - end loop; Function declaration включает в себя конструкцию, предназначенную для определения функ- ции, и пример ее использования. Для формирования законченного описания функции необходимо указать название определяемой функции FUNC_NAME, тип возвращаемого значения <type _name>, имена входных параметров PAR NAME и их тип <type_speO, объявления локальных переменных и тело функции function body. function FUNC_NAME ([«class» PAR_NAME: <type_spec>}) return <type_name» is -«class»: signal I constant begin - function body end: - example: incrementer - function INCREMENT (COUNT: INTEGER) return INTEGER is — variable TEMP: INTEGER; -begin - if COUNT »= 255 then - TEMP := 0;
548 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС else - TEMP:COUNT+ 1; - end if; - - return TEMP; — end; Generate statement предоставляет разработчику две формы для построения выражений ге- нерации, проиллюстрированные примером. При использовании этого шаблона нужно опре- делить следующие параметры: LABEL I — метку, <lower_Iimit> — нижнюю границу парамет- ра генерации, <upper_limit> - верхнюю граница параметра генерации, <statement> - выра- жения, составляющие тело оператора генерации,<condition> - условное выражение. LABEL1: - - using for scheme: for I in <towsr_limit» to «upperjmit» generate «statement» end generate; - using if scheme if <condition> generate «statement» end generate; - example: - GO: for I in 0 to 3 generate - G1: if I = 0 generate - HA: HALF_ADDER port map ( A => X(l), В => Y(l), S => Z(l), Co => TMP(I+1)); - end generate; - G2: if I >= 1 and I <= 3 generate FA: FULL_ADDER port map ( A => X(l), В => Y(l), C =» TMP(I), S => Z(l), Co =» TMP(I+1)); - end generate; - end generate; If statement представляет собой основу для формирования условного выражения. В этом шаблоне <condition> описывает условие, при котором выполняется последовательность вы- ражений <statement>. il «condition» then «statement» elsif «condition» then «statement» else «statement» end if; Next statement предназначен для создания выражения перехода к следующей итерации цикла. Для этого выражения может быть задана метка (вместо LABEL1) и условие перехода «condition». n ext LABEL1 when «condition»; Operators no существу не является шаблоном, а подсказкой, так как содержит список ос- новных операторов языка VHDL, которые сгруппированы в соответствии с классификацией по типу выполняемых операций. - VHDL operators: - logical : and, or, nand, nor, xor, xnor. not
Приложение 2. Шаблоны HDL-редактора 549 - relational : =, /=, <, <=, >, >= - - arithmetic ; I, rem, mod, abs, “ - concatenation: & Port declaration содержит шаблон объявления порта и примеры декларации наиболее час- то используемых типов портов. После включения шаблона в состав описания следует указать название порта (вместо PORT NAME), режим его работы (вместо <mode>) и тип (<type_spec>). На практике целесообразно в качестве шаблона использовать пример с соот- ветствующим режимом и типом порта. P ORT.NAME: -anode» <type_spBC»; -- example: PORT_NAME: in BOOLEAN; PORT_NAME: in INTEGER range 0 to 31; PORT_NAME: inout BIT; PORT-NAME: butter BIT_VECTOR (3 downto 0); PORT_NAME: out STD_LOGIC; PORT-NAME: out STD_LOGIC_VECTOR (0 to 3); Procedure declaration включает в себя конструкцию объявления процедуры и пример ее использования. При использовании этого шаблона необходимо указать название процедуры PROC_NAME, классы параметров <class>, их название PAR_NAME, режим <mode> и тип <type_spec>, типы локальных переменных и констант, а также содержание процедуры procedure body. procedure PROC_NAME ({«class» PAR_NAME: «mode» <type_spec»}) is -«class»: signal I variable I constant —anode»: in I inout I out begin - procedure body end; - example: adder - procedure ADD (signal AO, A1, BO, B1: in STD_LOGIC; signal CO, C1: out STD_LOGIC) is - - variable X, Y. STD_LOGIC; -begin - x := BO and AO; - Y := B1 xor Al; - CO <= (BO and not AO) or ( not Bo and AO); - C1 «= (Y and not X) or (not Y and X); - end; Process statement представляет собой основу для формирования процесса. Указывать мет- ку LABEL I не обязательно. В скобках при необходимости приводится список чувствитель- ности процесса. В разделе деклараций (declarations) размещаются объявления констант, под- типов. В теле процесса могут присутствовать операторы ожидания (wait), две формы которо- го приведены в виде комментариев. LABEL1: process () - declarations begin -wait on CLK, RESET; -wait until CLK'event and CLK=’1’; end process; Selected signal assignment содержит шаблон и пример выражения выборочного назначе- ния сигнала. После включения рассматриваемой конструкции в файл описания нужно вста- вить название сигнала (вместо SIG_NAME), выражение выбора (вместо <choice_expression>),
550 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС выражение «expression», которое определяет алгоритм формирования сигнала при соответ- ствующем значении выражения выбора («choices»). Выражение выборочного назначения сигнала может содержать необязательную метку (вместо LABEL 1). LABEL1: - optional label with «choice_expression> select SIG_NAME <= «expression» when «choices», «expression» when «choices», «expression» when others; - example: -with SEL select - Z <= A when 01112, - В when 3 to 10, - C when others; Signal assignment используется для присвоения значений сигналам. В этом шаблоне SIG_NAME - название сигнала, «expression» - выражение, которое определяет алгоритм формирования сигнала во времени. SIG_NAME <= «expression»; Signal declaration содержит общий шаблон объявления сигнала и примеры декларации сигналов наиболее часто используемых типов. Для формирования объявления сигнала тре- буемого типа следует указать название сигнала (вместо SIG_NAME) и его тип (вместо «type_spec>). На практике целесообразно в качестве шаблона использовать пример с соот- ветствующим типом сигнала. signal SIG_NAME: «type_spec»; - example: signal SIG_NAME: BOOLEAN; signal SIG_NAME: INTEGER range 0 to 31; signal SIG_NAME: BIT; Signal SIG_NAME: BIT_VECTOR (3 downto 0); signal SIG_NAME: STDJ.OGIC; signal SIG_NAME: STD_LOGIC_VECTOR (0 to 3); Type/subtype declaration включает в себя в качестве примеров шаблонов объявления ти- пов и подтипов, декларации перечислимого и целого типа, а также битового массива. В этих шаблонах TYPE_NAME - название декларируемого типа, S_TYPE_NAME - название дек- ларируемого подтипа. - enumeration type type TYPE_NAME is (ST1, ST2, ST3, ST4, ST5); subtype S_TYPE_NAME is TYPE.NAME range ST2 to ST4; — integer type type TYPE_MAME is range 0 to 255; subtype TYPE_MAME is integer range 0 to 7; - array type type TYPE_NAME is array (0 to 31) of BIT; Use clause используется для создания ссылки на пакет библиотеки, которая объявлена Выше. Для преобразования шаблона в конкретную ссылку следует вместо LIB_NAME вста- вить имя библиотеки, а вместо PACKAGE NAME - название соответствующего пакета. use LIB_NAME.PACKAGE_NAME.all Variable assignment представляет собой шаблон, предназначенный для формирования вы- ражения присвоения значения переменной. В этой конструкции VAR NAME - название пе- ременной, «expression» — выражение, определяющее значение переменной.
Приложение 2. Шаблоны HDL-редактора 551 VAR_NAME .= «expressions; Variable declaration содержит шаблон объявления переменной и примеры декларации пе- ременных наиболее часто используемых тнпов. Для формирования объявления переменной требуемого типа следует указать название сигнала (вместо VAR_NAME) и ее тип (вместо <type_spec>). На практике целесообразно в качестве шаблона использовать пример с соот- ветствующим типом переменной. variable VAR_NAME: <type_spec>; - example: variable VAR_NAME: BOOLEAN; variable VAR_NAME: INTEGER range 0 to 31; variable VAR_NAME: BIT; variable VAR_NAME: BIT_VECTOR (3 downto 0); variable VAR_NAME: STD LOGIC; variable VAR_NAME: STDJ_OGIC_VECTOR (0 to 3); While-loop statement включает в себя шаблон второго варианта конструкции, используе- мой для организации цикла, и пример его применения. Параметрами этого шаблона являют- ся: <condition> - условие, определяющее выполнение и завершение итераций цикла, <slatement> - выражения, составляющие тело цикла. while «conditions Юор «statements end loop; - example: - I := 0; - while (I < 10) loop - S <= I; - I := I + 1; - end loop; П2.2. Шаблоны VHDL-описаний основных функциональных элементов Образцы описания основных функциональных элементов на языке VHDL представлены в папке Synthesis Templates. В отличие от законченных VHDL-описаний шаблоны, представ- ленные в этой папке, не содержат ссылок на используемые библиотеки и пакеты, объявлений сигналов и выражений, представляющих интерфейс объекта. Эти выражения обычно приво- дятся в форме комментариев. Интерфейсные цепи шаблонов могут быть декларированы в создаваемом описании или как порты, или как сигналы. Некоторые функциональные компо- ненты представлены группой шаблонов, которые объединены в соответствующие папки. Все описания, рассматриваемые ниже, выполнены на базе синтезируемого подмножества языка VHDL. Barrel shifter представляет собой образец описания устройства циклического сдвига циф- рового сигнала. Этот шаблон фактически содержит пример описания шестнадцатиразрядного элемента, осуществляющего циклический сдвиг входного сигнала вправо на заданное коли- чество разрядов. Шестнадцатиразрядные векторы BJNPUT и B_OUTPUT представляют соответственно информационные входы и выходы элемента. Значение четырехразрядпого вектора SEL, который описывает управляющие входы, определяет количество разрядов, на Которое производится сдвиг. Внутренние сигналы SEL A, SELB. С, используемые в описа- нии, должны быть объявлены в архитектурном теле перед ключевым словом "begin". - 16-bit right shift barrel shifter SEL: in STD_LOGIC_VECTOR(3 downto 0);
552 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС - BJNPUT: in STD_L0GIC_VECT0R(15 downto 0); - B_OUTPUT: out STD_LOGIC_VECTOR(15 downto 0); -"Insert the following between the ’architecture' and —'begin' keywords** signal SEL_A, SEL_B: STD_LOGIC_VECTOR(1 downto 0); signal C: STD_LOGIC_VECTOR(15 downto 0); -""Insert the following after the 'begin' keyword*" SEL_A <= SEL(1 downto 0); SEL_B <= SEL(3 downto 2); process(SELA.BjNPUT) begin case SEL_A is when "00" => -shift by 0 C <= BJNPUT; when "0Г => -shift by 1 C(15) <= BJNPUT(O); C(14 downto 0) <= BJNPUT(15 downto 1); when" 10" => -shift by 2 C(15 downto 14) <= B_INPUT(1 downto 0); C(13 downto 0) <= BJNPUT{15 downto 2); when " 1Г => -shift by 3 C(15 downto 13) <= BJNPUT(2 downto 0); C(12 downto 0) <= BJNPUT(15 downto 3); when others => C <= BJNPUT; end case; end process; process(SEL_B,C) begin case SEL_B is when "00" => -shift by 0 more I B_OUTPUT <= C; when "01" => -shift by 4 more ** B_OUTPUT(15 downto 12) <= C(3 downto 0); B_OUTPUT(11 downto 0) <= C( 1S downto 4); when "10" => -shift by 8 more B_OUTPUT(15 downto 8) <= C(7 downto 0); B_OUTPUT (7 downto 0) <= C(15 downto 8); when" 11" => -shift by 12 more B_OUTPUT(15 downto 4) <= C(11 downto 0); B_OUTPUT(3 downto 0) <= C(15 downto 12); when others => B_OUTPUT <= C; end case; end process; Comparator содержит шаблон для формирования описаний схем сравнения двух операн- дов. Для практического использования этого описания цифрового компаратора достаточно указать вместо N разрядность сравниваемых операндов (размерность векторов А и В). В рассматриваемом шаблоне CLK соответствует входу сигнала синхронизации, RESET - входу сброса, А, В - входам сравниваемых операндов, ALB - выходу А<В, AGB - выходу А>В, ALEB - выходу А<=В, AGEB - выходу А>=В, АЕВ - выходу эквивалентности операндов А и В, ANEB - выходу неэквивалентности операндов А и В. Неиспользуемые выходы следует удалить из описания вместе с соответствующими фрагментами кода, определяющими значе- ния этих выходных сигналов.
Приложение 2. Шаблоны HDLpedaKmopa 553 — N-bit Comparator, synchronous with reset - Please define the value of N for A and В CLK: in STD.LOGIC; RESET: in STD.LOGIC; A, B: in STD_LOGIC_VECTOR[N downto 0); ALB, AGB: out STD.LOGIC; ALEB, AGEB: out STD_LOG|C; AEB, ANEB: out STD_LOGIC process(CLK,RESET) begin if (RESET = ’T) then ALB <= 'O': AGB <='0'; ALEB <= 'O'; AGEB <= 'O’; AEB <='0'; ANEB <= ’O'; elsrf (CLK'event and CLK =’1 ’) then if ( A < В) then ALB <= 'Г; else ALB <= ’O'; end if; if (A > В) then AGB <= 'Г; else AGB <= ’O’; end if; И (A <= В) then ALEB <=’T; else ALEB <= 'O'; end if; if ( A >= В ) then AGEB <= '1'; else AGEB *0*; end if; if (A = В) then AEB = T; else AEB <= 'O'; end if; if(A/=B)then ANEB<=T; else ANEB <= 'O’; end if; end if; end process; Counter включает в себя образец описания счетчика. Этот шаблон реализован в виде при- мера описания двоичного четырехразрядного реверсивного счетчика со входом разрешения счета, асинхронным сбросом и синхронной загрузкой. Ссылки на используемые библиотеки и пакеты, перечисленные в виде комментариев в начале шаблона, должны быть указаны в начале создаваемого описания. Идентификаторы CLK, RESET, СЕ, LOAD, DIR описывают соответственно входы тактового сигнала, сброса, разрешения счета, разрешения загрузки и направления счета (в сторону увеличения или уменьшения), вектор D1N - входы параллель- ной загрузки, вектор COUNT - выходы счетчика. Для модификации разрядности счетчика следует изменить размерность векторов DIN и COUNT и количество пулевых значений в строке, описывающей режим сброса. - Required Libraries - library IEEE; - use IEEE.STD_LOGIC_1164.ALL; - use IEEE.STD_LOGIC.UNSIGNED.ALL;
554 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС - use IEEE.STD_LOGIC_ARITH.ALL; - 4-bit synchronous counter with count enable, - asynchronous reset and synchronous load - CLK: in STD_LOGIC; - RESET: in STD_LOGIC; - CE, LOAD. DIR: in STDJ-OGIC; - DIN: in STD_LOG|C_VECTOR(3 downto 0); - COUNT: inout STD_LOGIC_VECTOR(3 downto 0); process (CLK, RESET) begin if RESET='T then COUNT <= “0000"; alsif CLK=T and CLK'event then if LOAD=T then COUNT <= DIN; else if CE='1'then ifDIR='1‘then COUNT <= COUNT + 1; COUNT <= COUNT-1; end if; end if; end if; end if; end process; Debounce cicuit представляет собой основу для построения описаний схем формирования одиночных импульсов фиксированной длительности из входной последовательности и по- давления коротких импульсов. В этом шаблоне идентификаторы D_IN, RESET, CLK соот- ветствуют входам данных, сброса и синхронизации, a Q OUT - выходу схемы. Выражение декларации внутренних сигналов Ql, Q2, Q3, которые используются в процессе описания поведения схемы, должно быть вставлено в начале архитектурного тела и предшествовать ключевому слову "begin". - DJN: in STD_LOGIC; - RESET: in STDJ-OGIC; - CLK: in STDJ-OGIC; - Q_OUT: out STD_L0GIC); --"Insert the following between the 'architecture' and —'begin' keywords" signal 01,02, 03 : stdjogic; -"Insert the following after the 'begin' keyword" process(CLK, RESET) begin if (RESET = '1') then 01 <= 'O'; Q2 <= 'O'; Q3 <= 'O'; elsif (CLK'event and CLK = ’T) then 01 <=D_IN; 02 <=Q1; 03 <= 02; end if; end process; Q_OUT <= 01 and Q2 and (not 03);
Приложение 2. Шаблоны HDL-редактора 5S5 Decoder содержит образец описания дешифратора. Этот шаблон выполнен на примере синхронного дешифратора 3 на 8 с асинхронным сбросом, который формирует сигнал высо- кого уровня на одном нз выходов, номер которого соответствует значению входного кода. Идентификаторы RESET, CLK, D IN обозначают входы сброса, синхронизации и декоди- руемых данных соответственно, D_OUT - выходы дешифратора. Для формирования описа- ний дешифраторов с иной разрядностью следует изменить диапазон индексов (размерность) векторов D IN и D_OUT, количество символов "О" в выражении, соответствующем режиму сброса, и количество возможных значений в операторе выбора "case”. - - 3 to 8 Decoder, Synchronous with Reset - RESET: in STD_LOGIC; - CLK: in STDJ-OGIC; - DJN: in STD_LOGIC_VECTOR(2 downto 0); - D_OUT: out STDLOGIC_VECTOR(7 downto 0); process(CLK,RESET,DJN) begin if ( RESET =’Г) then d_out <= “oooooooo"; elsif (CLK’event and CLK ='1') then case DJN is when ’DOO’’ => D_OUT <= "ОООООООГ; when "ООГ => D_OUT <= “00000010"; when “010“ => D_OUT <= “00000100“; when “011“ => D_OUT <= “00001000“; when "10Q" => D_OUT = “00010000“; when “101“ => D_OUT <= “00100000“; when “110“ => D_OUT <= “01000000“; when “11Г => D_OUT <= “10000000“; when others => NULL; end case; end if; end process; Encoder включает в себя шаблон шифратора, выполненный на примере кодера 8 в 3. Для интерфейсных сигналов используются те же обозначения, что и в описании дешифратора Decoder. Создание описаний шифраторов с различной разрядностью выполняется теми же методами, что и при использовании шаблона Decoder. - 8 to 3 Encoder, Synchronous with Reset - RESET: in STDJ-OGIC; - CLK: in STD_LOGIC; - DJN: in STD_LOGIC_VECTOR(7 downto 0); - D_OUT: out STD_LOGIC_VECTOR(2 downto 0); process(CLK.RESET.DJN) begin if (RESET = T) then D_OUT <= “000"; elsif (CLK'event and CLK ='1') then case DJN is when "00000001" => D_OUT <= "000"; when "00000010" => D_OUT <= "001"; when "00000100" => D_OUT <= “010"- when "00001000" => D-OUT <="011 ”; when "00010000" => D_OUT <= "100"- when "00100000" => D_OUT <= "10l": when "01000000" => D_OUT <= "11O":
556 Зотов В- Ю. Проектирование цифровых устройств на основе ПЛИС when "10000000" => D_OUT <= "111"; when others => NULL; end case; end if; end process; Flip Flops представляет собой папку, в которой сосредоточены образцы описаний триг- герных схем различных типов с динамическим управлением. В этих шаблонах используются следующие идентификаторы для обозначения интерфейсных цепей: CLK - вход синхрониза- ции, RESET - вход сброса, DIN - информационный вход, ENABLE - вход разрешения так- тового сигнала, DOUT - выход триггера. D Hip Flop описывает поведение D-триггера, управляемого фронтом тактового сигнала. - D Flip Flop - CLK: in STDJ-OGIC; - - DIN: in STD_LOGIC; - DOUT: out STDJLOGIC; process (CLK) begin if CLK'event and CLK=’1' then -CLK rising edge DOUT <= DIN; end if; end process; D Hip Flop with Asynchronous Reset содержит образец описания D-триггера, тактируемо- го фронтом сигнала синхронизации, с асинхронным сбросом. Для входа сброса RESET ак- тивным является высокий логический уровень сигнала. - - D Flip Flop with Asynchronous Reset - CLK: in STD_LOGIC; - RESET: in STD_LOGIC; - DIN: in STD.LOGIC; - DOUT: out STDJ-OGIC; process (CLK, RESET) begin if RESET='1' then -asynchronous RESET active High DOUT < 'O'; elsif (CLK'event and CLK=T) then -CLK rising edge DOUT <= DIN; end if; end process; D Flip Hop with Clock Enable представляет собой шаблон D-триггера, управляемого фронтом тактового сигнала, со входом разрешения синхронизации. Для входа разрешения ENABLE активным является высокий уровень сигнала. - D Flip Flop with Clock Enable - CLK: in STD_LOGIC; - ENABLE: in STDJ-OGIC; - DIN: in STDJ-OGIC; - DOUT: out STD_LOGIC; process (CLK) begin il (CLK'event and CLK='f) then If (ENABLE= V) then DOUT <= DIN;
Приложение 2. Шаблоны HDL-редактора 557 end if; end if ; end process; D Hip Ron with Synchronous Reset содержит шаблон описания D-триггера, тактируемого фрон- том сигнала синхронизации, с синхронным сбросом. Обнуление триггера производится при высо- ком логическом уровне сигнала сброса RESET по фронту сигнала синхронизации CLK. - D Rip Rop with Synchronous Reset - CLK: in STD_LOGIC; - RESET: in STDJ-OGIC; - DIN: in STDJ-OGIC: - DOUT: out STD_LOGIC; process (CLK) begin if CLK'event and CLK=’1’ then -CLK rising edge if RESET='T then -synchronous RESET active High DOUT <= 'O'; else DOUT <= DIN; end if; end if; end process; HEX2LED Converter включает в себя образец описания дешифратора шестнадцатерично- го кода для семисегментного индикатора. Вектор HEX соответствует входам декодера, a LED - выходам. Соответствие элементов выходного вектора LED сегментам индикатора показано на рисунке, приведенном в комментарии к шаблону. --HEX-to-seven-segmenl decoder - HEX: in STD_LOGIC_VECTOR (3 downto 0); - LED: out STD_LOGIC_VECTOR (6 downto 0); - segment encoding - 0 - 5 I 11 - -- <- 6 - 4 I I 2 - 3 with HEX SELect LED<= "1111001" when "0001", -1 "0100100" when "0010", -2 "0110000" when "0011", -3 "0011001" when "0100", -4 "0010010" when "0101", -5 "0000010" when "0110", -6 "1111000" when "0111". -7 "0000000" when "1000", -8 "0010000" when "1001", -9 "0001000" when "1010", -A "0000011"when "1011", -b "1000110" when "1100", -C "0100001“ when "1101", -d "0000110" when "1110", -E "0001110" when "1111", -F "1000000" when others; -0
558 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС Latches представляет собой папку, которая объединяет образцы описаний гримерных схем различных типов с потенциальным управлением (защелок). В этих шаблонах использу- ются следующие идентификаторы для обозначения интерфейсных сигналов (портов): GATE — вход управления (разрешения записи), RESET — вход сброса, DIN — информацион- ный вход, DOUT - выход триггера. D Latch описывает поведение D-тригтера с потенциальным управлением (защелки). За- пись входных данных в триггер производится при высоком логическом уровне управляюще- го сигнала GATE. - D Latch - GATE: in STDJ.OGIC; - DIN: in STDJ-OGIC; - DOUT: out STD_LOGIC; process (GATE, DIN) begin if GATE='1' then -GATE active High DOUT <= DIN; end if; end process; D Latch with Reset содержит образец описания D-триггера с потенциальным управлением (защелки) со сбросом. Для входа сброса RESET активным является высокий логический уро- вень сигнала. - D Latch with Reset - GATE: in STD_LOG|C; - RESET: in STD_LOGIC; - DIN: in STD_LOGIC; - DOUT: out STD—LOGIC; process (GATE, DIN, RESET) begin if RESET='T then -RESET active High DOUT <= 'O'; elsif GATE=T then -GATE active High DOUT <= DIN; end if; end process; Multiplexers - папка, в которой расположены шаблоны описаний мультиплексоров. В этих кон- струкциях используются следующие обозначения: А, В, С, D - информационные входы; SEL - входы выбора канала; MUX_OUT - выход мультиплексора. Mux built with gates представляет собой образец описания мультиплексора с использова- нием выражения выбора "case". В его основу положено описание четырехвходового селекто- ра-мультиплексора. Значение входного вектора SEL определяет номер канала (А, В, С, D), сигнал которого передается на выход. - 4 to 1 multiplexer design with case conslruct - SEL in STD_LOGIC_VECTOR(1 downto 0); - А, В, C, D:in STD_LOGIC- - MUX-OUT: oul STD-LOGIC; process (SEL, А, В, C, D) begin case SEL is when "00” => MUX OUT <= A; when ”01" => MUX-OUT <= B; when ”10" => MUX-OUT <= C:
Приложение 2. Шаблоны HDL-редактора 559 when " 1Г => MUX_OUT <= D; ~~ when others => NULL; end case; end process; Mux built with tri-states описывает функционирование мультиплексора с использованием конструкций, представляющих тристабильные элементы. - 4 to 1 multiplexer design with tri-state construct - - SEL: in STD_LOGIC_VECTOR(3 downto 0); - А, В, C, D:in STD.LOGIC; - MUX.OUT: out STD.LOGIC; MUX.OLTT <= A when (SELfO^'O-) else 'Z'; MUXOUT <= В when (SEL(1)=,0‘) else Z; MUX.OLTT <= C when (SEL(2)='O') else Z'; MUX.OUT <= D when (SEL(3)='0'j else 'Z'; PULLDOWN показывает способ реализации резистора, соединенного с общей шиной. В начале архитектурного тела перед ключевым словом "begin" объявляется компонент PULLDOWN, который имеет единственный выход О. Далее, после ключевого слова "begin”, описывается реализация этого компонента. - Instantiating PULLDOWN resistor - - TR|_SIG: stdjogic; --"‘Insert the following between the 'architecture1 and —'begin' keywords" componenl PULLDOWN port (O: out stdjogic); end component; --"Insert the following after lhe begin' keyword" U1: PULLDOWN port map (O=>TRI_SIG); PULLUP представляет образец использования подтягивающего резистора, подключенно- го к источнику питания. Этот резистор обычно используется совместно с компонентами, имеющими выходы с тремя состояниями или с открытым стоком. Для этого образца спра- ведливы все замечания по применению, приведенные выше при рассмотрении шаблона PULLDOWN. - - Instantiating PULLUP resistor - TRI SIG: stdjogic; - -"Insert the following between the 'archilecture' and —'begin' keywords" component PULLUP port (O: out stdjogic); end component; -"Insert the following after the 'begin' keyword" U1: PULLUP port map (O=>TRI_SIG); RAM представляет собой папку, в которой сосредоточены образцы описаний оператив- ных запоминающих устройств (ОЗУ) различного типа. Все шаблоны ОЗУ выполнены в виде примеров законченных описаний элементов оперативной памяти объемом 32 ячейки по 4 разряда. В приведенных ниже образцах используются следующие обозначения портов: clk соответствует входу синхронизации, we - входу разрешения записи, а — адресным входам (первого порта двухпортового ОЗУ), dpra - адресным входам второго порта двухпортового ОЗУ, di - входам данных, spo - выходам первого порта двухпортового ОЗУ, dpo - выходам
560 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС второго порта двухпортового ОЗУ, do - выходам одпопортового ОЗУ. Запись входных дан- ных производится по положительному (нарастающему) фронту сигнала синхронизации при наличии высокого логического уровня на входе разрешения записи. Следует обратить вни- мание на то, что в описаниях применяется тип "ram_type", который декларирован как массив векторов. Dual Port Block RAM содержит описание двухпортового ОЗУ 32x4, синтезируемое в виде блочной памяти ПЛИС. - Only XST supports RAM inference -- Infers Dual Port Block Ram entity dpblockram is port (clk : in stdjogic; we : in stdjogic; a : in std_logic_vector(4 downto 0); dpra : in std_logic_vector(4 downto 0); di : in std_logic_vector(3 downto 0); spo : out stdjogic_vector(3 downto 0); dpo : out stdjogic_vector(3 downto 0)); end dpblockram; architecture syn of dpblockram is type ram_type is array (31 downto 0) of std_logic_vector (3 downto 0); signal RAM: ram_type; signal read_a: std_logic_vector(4 downto 0); signal read_dpra: std_logic_vector(4 downto 0); begin process (clk) begin if (clk'event and clk = T) then if (we = '1')then RAM(conv_integer(a)) <= di; end if; read_a <= a; read_dpra <= dpra; end if; end process; spo <= RAM(conv_integer(read_a)); dpo <= RAM(convJnteger(read_dpra)); end syn; Dual Pori Distributed RAM - описание двухпортового ОЗУ 32x4, синтезируемое в виде распределенной памяти ПЛИС. -- Only XST supports RAM inference -- Infers Dual Port Distributed Ram entity dpdistram is port (clk : in stdjogic; we : in stdjogic; a : in stdJogic_vector(4 downto 0); dpra : in std_logic_vector(4 downlo 0); di : in stdjogic_vector(3 downto 0); spo : out stdjogic_vector(3 downto 0); dpo : out stdjogic_vector(3 downto 0)); end dpdistram; architecture syn of dpdislram is
561 Приложение 2. Шаблоны HDL-редактора type ramjype is array (31 downto 0) of sldjogic_vector (3 downto 0); signal RAM: ram. type; begin process (clk) begin if (clk'event and clk = '1') then if (we = ’Г) then RAM(conv_integer(a)) <= di; end if; end if; end process; spo <= RAM(conv_integer(a)); dpo <= RAM(convJnteger(dpra)); end syn; Single Port Block RAM представляет собой описание однопортового ОЗУ 32x4, синтези- руемое в виде блочной памяти ПЛИС. -- Only XST supports RAM inference -- Infers Single Port Block Ram entity spblockram is port (clk: in stdjogic; we ; in stdjogic; a : in stdjogic_vector(4 downto 0); • di : in stdjogic_vector(3 downto 0); do : out stdJogic_veclor(3 downto 0)); end spblockram; architecture syn of spblockram is type ramjype is array (31 downto 0) of stdjogic_vector (3 downto 0); signal RAM: ramjype; signal read_a: stdjogic_vector(4 downto 0); begin process (clk) begin if (clk'event and clk = T) then if (we = '1 ) then RAM(convJnteger(a)) <= di; end if; read_a < a; end if; end process; do <= RAM(convJnteger(read_a)); end syn; | Single Port Distributed RAM описывает однопортовое ОЗУ 32x4, синтезируемое в виде распределенной памяти ПЛИС. - Only XST supports RAM inference -- Infers Singal Port Distributed RAM entity spdistram is port (clk : in stdjogic; we : in stdjogic; a : in stdjogic_vector(4 downto 0); di ; in stdjogic_vector(3 downto 0); do : out stdjogic_vector(3 downto 0»; end spdistram; 19 Зотов В.Ю
562 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС architecture syn of spdistram is type ram_type is array (31 downlo 0) of std_logic_veclor (3 downto 0); signal RAM : ramjype; begin process (elk) begin if (clk'event and elk = 'Г) then if (we = T) then RAM(conv_integer(a)) <= di; end if; end if; end process; do <= RAM(conv_integer(a)); end syn; Shift Registers - папка, объединяющая шаблоны описаний регистров сдвига. Представ- ленные здесь образцы выполнены на основе описаний четырехразрядных сдвигающих реги- стров, выполняющих сдвиг влево (в сторону младшего разряда). В рассматриваемой группе шаблонов используются следующие обозначения: CLK - вход сигнала синхронизации, DIN - последовательный вход данных, LOAD - вход разрешения параллельной загрузки, LOAD_DATA - параллельные входы данных, DOUT - выход регистра. При включении этих шаблонов в состав формируемого описания следует поместить выражение декларации внут- реннего сигнала REG в начале архитектурного тела перед ключевым словом "begin". Loadable Shift Register представляет собой шаблон описания регистра сдвига с последова- тельной и параллельной синхронной загрузкой и последовательным выходом, тактируемый фронтом сигнала синхронизации. - 4-bit loadable serial-in and serial-out shift register - CLK: in STDJ-OGIC; - - DIN: in STDJ-OGIC; - LOAD: in STDJ-OGIC; - LOAD J) AT A: in STD_LOGlC_VECTOR(3 downto 0); - DOUT: out STD_LOGIC; --"Insert the following between lhe 'architecture' and —'begin' keywords** signal REG: STD_LOGIC_VECTOR(3 downto 0); --"Insert the following after the 'begin' keyword** process (CLK) begin if CLKevent and CLK='T then if (LOAD=T) then REG <= LOADJDATA; else REG <= DIN & REG(3 downto 1); end if; end if; DOUT <= REG(O); end process; Serial to Parallel Shift Register содержит шаблон описания регистра сдвига с последовательной загрузкой и параллельными выходами, тактируемый фронтом сигнала синхронизации. - 4-bit serial-in and serial-out shift register - CLK: in STD_LOGIC; - DIN: in STD_LOGIC; - - DOUT: out STD_LOGIC_VECTOR(3 downto 0);
Приложение 2. Шаблоны HDL-редактора 563 --‘‘Insert the following between the 'architecture' and --'begin' keywords" signal REG: STDJ-OGIC_VECTOR(3 downto 0); -‘‘Insert the following after the 'begin' keyword" process (CLK) begin if CLKevent and CLK='1' then REG <- DIN & REG(3 downto 1); end if; DOUT <= REG; end process; Serial to Serial Shift Register содержит образец описания регистра сдвига с последователь- ной загрузкой и последовательным выходом, тактируемый фронтом сигнала синхронизации. - 4-bit serial-in and serial-out shift register - CLK: in STDJ-OGIC; - DIN: in STDJ-OGIC; - DOUT: out STDJ-OGIC; -"Insert the following between the ‘architecture* and —'begin' keywords" signal REG: STD_LOGIC_VECTOR(3 downto 0); -"Insert the following after the 'begin' keyword" process (CLK) begin if CLK'event and CLK='1 * then REG <= DIN & REG(3 downto 1); end if; DOUT <= REG(O); end process; State Machine — папка, в которой находятся шаблоны описаний конечных автоматов, ис- пользующие различные методы кодирования при последующем синтезе. Предлагаемые кон- струкции описывают поведение конечного автомата, имеющего четыре состояния, три входа и два выхода. В представленных шаблонах используются следующие обозначения: CLOCK - вход сигнала синхронизации, RESET - вход сброса (перевода конечного автомата в началь- ное состояние), INI, IN2, 1N3 - входы, OUT1, OUT2 - выходы. В приведенных ниже конст- рукциях состояния конечного автомата (текущее и следующее) описываются с помощью внутренних сигналов CS, NS, которые являются элемегггами перечислимого типа, объявлен- ного как STATE_TYPE. Строка декларации STATE_TYPE должна располагаться в начале архитектурного тела перед ключевым словом "begin". Метод кодирования элементов пере- числимого типа при последующем синтезе указывается с помощью атрибутов ENUM -ENCODING. Поведение конечных автоматов описывается с помощью двух взаимодейст- вующих процессов SYNC PROC и COMB_PROC. Процесс COMB_PROC определяет значения выходных сигналов и внутреннего сигнала NS, используемого для описания следующего состояния конечного автомата. Для каждого состояния (варианта) в операторе выбора "case” необходимо вставить блок кода, который содержит выражения, описывающие значения вы- ходных сигналов (<assign outputs here>) и следующего состояния (<next state assignment here>). Процесс SYNC_PROC описывает переход конечного автомата в следующее состоя- ние (которое становится текущим) по фронту тактового сигнала на основании значения сиг- нала NS. Binary State Machine является основой описания конечного автомата, тактируемого фронтом сигнала синхронизации, в котором используется двоичное кодирование. 19*
564 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС — This is a sample state machine using binary encoding. - CLOCK, RESET: in STD.LOGIC; - INI, IN2, IN3: in STD.LOGIC; - OUT1, OUT2: out STD.LOGIC -"Inserl the following between the 'architecture' and —'begin' keywords*’ type STATE.TYPE is (S1, S2, S3, S4); -Remove these two lines to allow Express Io determine the encoding attribute ENUM.ENCODING: STRING; attribute ENUM-ENCODING of STATE.TYPE: type is "00 01 10 1Г; signal CS, NS: STATE-TYPE; -’"Insert the following after the 'begin' keyword” SYNC_PROC: process (CLOCK, RESET) begin if (RESET='1') then CS«=S1; elsif (CLOCK'event and CLOCK = '1') then CS <= NS; end if; end process; COMB.PROC: process (CS, <other inputs:») begin case CS is when S1 => ~<assign outputs here> if («conditions») then -«next state assignmenl here» end if; -repeat for all states end case; end process; One-Hot State Machine - шаблон описания конечного автомата, тактируемого передним фронтом сигнала синхронизации, в котором используется кодирование по методу ”One-Hot". - This is a sample state machine using one-hot encoding. - CLOCK, RESET: in STD.LOGIC; - INI, IN2, IN3: in STD.LOGIC; - OUT1, OUT2: out STD.LOGIC; -’’Insert the following between the 'architecture' and —'begin' keywords” type STATE-TYPE is (SI. S2, S3, S4); —Remove these two lines to allow Express to determine lhe encoding attribute ENUM.ENCODING: STRING; attribute ENUM.ENCODING of STATE-TYPE: lype is "0001 0010 0100 1000’; signal CS, NS: STATE.TYPE; -’’Insert the following after the 'begin' keyword” SYNC-PROC: process (CLOCK, RESET) begin if (RESET='T) then CS «= S1 ; elsif (CLOCK'event and CLOCK = '1') then CS <= NS; end if;
Приложение 2. Шаблоны HDL-редактора 565 end process; COMB.PROC: process (CS. <olher inputs») begin case CS is when S1 => -«assign outputs here» if (<condilions>) then -<next slate assignment here» end if; -repeal for all states end case; end process; Tristate Buffer представляет собой папку, в которой расположены два образца описаний буферных элементов с тристабильиым выходом. В этих шаблонах идентификатор ENABLE соответствует входу управления третьим состоянием, DIN - информационному входу, DOUT - выходу буферного элемента. Process method содержит шаблон описания буферного элемента с тристабильиым выхо- дом, который выполнен в виде процесса. - Tristate Buffer - ENABLE: in STD.LOGIC; - DIN: in STD.LOGIC; - DOUT: out STD.LOGIC; process (ENABLE, DIN) begin if (ENABLE=T) then DOUT <= DIN; else DOUT <= 'Z; end if; end process; Stand-alone method предлагает шаблон для буферного элемента с тристабильиым выхо- дом, реализующий автономный вариант его описания. - Tristate Buffer - ENABLE: in STD.LOGIC; - DIN: in STD.LOGIC; - DOUT: out STD.LOGIC; D OUT <= DIN when ENABLE='1' else ’Z; П2.3. Шаблоны VHDL-описаний функциональных элементов, реализуемых на базе ПЛИС фирмы Xilinx Кристаллы ПЛИС содержат ряд специфических ресурсов, VHDL-описания которых представлены в виде соответствующей библиотеки. Шаблоны, расположенные в папке Component Instantiation, содержат примеры использования этих библиотечных компонентов, которые сгруппированы в папки в соответствии с функциональным назначением. Все описа- ния, рассмагрнваемые ниже, поддерживаются средствами синтеза VHDL-кода. Block RAM представляет собой папку, в которой сосредоточены образцы декларации и ини- циализации компонентов оперативных запоминающих устройств (ОЗУ) различного типа, которые реализуются в виде блочной памяти ПЛИС. В зависимости от используемого типа ПЛИС разра-
566 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС ботчик может применять элементы синхронной блочной памяти объемом 4096 (4К) и 16384 (16К) бит с различной организацией. В приведенных ниже образцах, описывающих применение компонентов одиопортовых ОЗУ, используются следующие обозначения интерфейсных выводов (портов): CLK - соот- ветствует входу синхронизации, WE - входу разрешения записи, ADDR- адресным входам, EN - входу разрешения всех операций элемента ОЗУ, RST - входу сброса, SSR - входу сбро- са/установки, DI - входам данных, DO — информационным выходам ОЗУ. Кроме того, эле- менты запоминающих устройств с контролем по четности имеют дополнительные порты: DIP соответствует входам данных, используемых для проверки четности, DOP - выходам паритетного блока ОЗУ. Операции сброса/установки, записи и чтения осуществляются при высоком логическом уровне сигнала на входе EN. Сброс или установка (в зависимости от типа ОЗУ) выходных регистров выполняется при высоком логическом уровне сигнала на входе RST или SSR по фронту сигнала синхронизации. Занесение входных данных в ОЗУ производится по фронту сигнала синхронизации при наличии высокого логического уровня на входе разрешения записи WE. Инициализация содержимого запоминающего устройства при конфигурировании ПЛИС или моделировании проекта осуществляется с помощью параметров (generic) INIT_XX, где XX - двухразрядное шестнадцатеричное число, значение которого определяет порядковый номер соответствующего диапазона ячеек ОЗУ. Весь объем блочной памяти условно разби- вается на секции по 256 бит, организация которых соответствует типу используемого компо- нента: 256 слов х! разряд, 128 слов х 2 разряда, 64 слова х 4 разряда, 32 слова х 8 разрядов, 16 слов х!6 разрядов. Таким образом, например, для ОЗУ, имеющего организацию 2048 слов х 2 разряда, с помощью параметра INIT_00 инициализируются ячейки с адресами в диапазо- не 0-127, INIT_01 - в диапазоне 128-255, INIT_02 - в диапазоне 256-383. Для инициализа- ции в полном объеме запоминающего устройства информационной емкостью 4096 бит необ- ходимо 16 параметров INIT_XX с номерами 00 - 0F, а при емкости 16384 бит - 64 параметра с номерами 00-3F. Установка значений параметров инициализации для каждого экземпляра компонента блочного ОЗУ выполняется с помощью одноименных атрибутов. Каждое значе- ние представляет собой строку из 64 шестнадцатеричных символов. Для инициализации паритетных блоков в запоминающих устройствах с контролем по четности используются параметры INITP_YY. Размер этих блоков в ОЗУ с объемом 16384 бит составляет 2048 бит, для установки начального состояния которых требуется восемь па- раметров INITP_YY с номерами 00-07. Значения параметров INITP_YY указываются в том же формате, что и для INIT_XX. В компонентах, представляющих запоминающие устройства с информационной емко- стью 16384 бит, предусмотрена возможность инициализации и сброса/установки выходных регистров, для реализации которых используются параметры INIT и SRVAL. С помощью параметра INIT определяется состояние выходных регистров, в которое они устанавливаются при подаче напряжения питания. Параметр SRVAL позволяет задать состояние, в которое переводятся выходные регистры ОЗУ в режиме сброса/установки. Кроме того, в этих компонентах используется параметр WRITE_MODE, значение кото- рого определяет способ формирования содержимого выходных регистров в момент записи. В шаблонах указано значение "WRITE_FIRST", при котором входная информация вначале записывается в выбранную ячейку памяти, после чего ее содержимое поступает на выходы. Если установить значение "READ_FIRST", то в выходной регистр будет заноситься старая информация из выбранной ячейки, после чего в нее будут записаны входные данные. Значе- ние "NO CHANGE” позволяет выбрать режим, при котором в момент записи в ОЗУ состоя- ние выходных регистров не изменяется. Для компонентов двухпортовых ОЗУ используется следующая система обозначений ин- терфейсных выводов (портов): CLKA соответствует входу синхронизации первого порта,
Приложение 2. Шаблоны HDL-ребактора 5 67 CLKB - входу синхронизации второго порта, WEA - входу разрешения записи первого пор- та, WEB - входу разрешения записи второго порта, ADDRA - адресным входам первого пор- та, ADDRB - адресным входам второго порта, ENA - входу разрешения всех операций пер- вого порта элемента ОЗУ, ENB - входу разрешения всех операций второго порта, RSTA - входу сброса выходных регистров первого порта, RSTB - входу сброса выходных регистров второго порта, SSRA - входу сброса/установки выходных регистров первого порта, SSRB - входу сброса/установки выходных регистров второго порта, DIA - входам данных первого порта, DIB - входам данных второго порта, DOA - информационным выходам первого порта ОЗУ, DOB - информационным выходам второго порта ОЗУ. Элементы запоминающих уст- ройств с контролем по четности имеют дополнительные порты: DIPA соответствует входам данных первого порта, используемых для проверки четности, DIPB соответствует входам данных второго порта, используемых для проверки четности, DOPA - выходам первого пор- та паритетного блока ОЗУ, DOPB - выходам второго порта паритетного блока ОЗУ. Параметры инициализации выходных регистров двухпортовых ОЗУ указываются раз- дельно для каждого порта. Значение параметров INIT_A и INIT_B определяет состояние вы- ходных регистров первого и второго порта соответственно, в которое они устанавливаются при подаче напряжения питания. Параметры SRVAL_A и SRVAL_B используются для ука- зания состояния выходных регистров первого и второго порта соответственно в режиме сброса/установки. RAMB4 S1 представляет собой образец описания однопортового ОЗУ 4096x1, синтези- руемого в виде блочной памяти ПЛИС. В состав этого шаблона включена декларация компо- нента и атрибутов инициализации, а также установка требуемых значений атрибутов. Приве- денное ниже описание содержит только первые четыре параметра инициализации и два соот- ветствующих атрибута (из шестнадцати возможных). ---Component RAMB4_S1------ component RAMB4_S1 - synopsys translate_off generic ( INIT_00: bit_veclor := X"0000000000000000000000000000000000000000000000000000000000000000"; INIT_01 : bit_veclor ;= X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INIT 02: bit_vector := X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0000000000000000000"; INIT_03: bit_veclor := X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO”;) - synopsys translate_on port (DI : in STD_LOGIC_VECTOR (0 downto 0); EN : in STD_logic; WE ; in STD_logic; RST : in STDJogic; CLK : in STD_logic; ADDR : in STD_LOGIC_VECTOR (11 downto 0); DO : out STD_LOGIC_VECTOR (0 downto 0)); end component; attribute INIT_00: string; attribute INIT_01: string; attribute INIT_00 of RAMB_EXAMPLE : label is "0000000000000000000000000000000000000000000000000000000000000000"; attribute INIT_01 of RAMB_EXAMPLE : label is "0000000000000000000000000000000000000000000000000000000000000000";
568 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС RAMB4 S2. RAMB4 S4, RAMB4 S8. RAMB4 S16 содержат шаблоны применения ком- понентов, представляющих однопортовое ОЗУ с информационной емкостью 4096 бит и различной организацией, которое синтезируется в виде блочной памяти ПЛИС. Приведенные в них описания имеют структуру, аналогичную предыдущему шаблону, и отличаются только длиной векторов, которые используются для представления портов VHDL, соответствующих информационным и адресным входам и выходам. RAMB4 SI SI включает в себя образец декларации и инициализации компонента двух- портового ОЗУ с информационной емкостью 4096 бит, каждый из портов которого имеет организацию 4096 слов X 1 разряд. В качестве примера, шаблон содержит только первые четыре параметра инициализации и два соответствующих атрибута (из шестнадцати воз- можных). ---Component RAMB4_S1_S1----- component RAMB4_S1_S1 -- synopsys translate_off generic ( INITJO: bit_vector := X’OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; (NIT_01 : bit_vector := X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INIT_02: bit_veclor := X’OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INIT_03: bit_vector := X”0000000000000000000000000000000000000000000000000000000000000000”;) -- synopsys translate_on port (DIA : in STD_LOGIC_VECTOR (0 downto 0); DIB : in STD_LOGIC_VECTOR (0 downto 0); ENA : in STDJogic; ENB : in STDJogic; WEA : in STDJogic; WEB : in STDJogic; RSTA : in STDJogic: RSTB : in STDJogic; CLKA : in STDJogic; CLKB : in STDJogic; ADDRA : in STD_LOGIC_VECTOR (11 downto 0); ADDRB : in STD_LOGIC_VECTOR (11 downto 0); DOA : out STD_LOGIC_VECTOR (0 downto 0); DOB : out STD_LOGIC_VECTOR (0 downto 0)); end component; attribute INIT_00: siring; attribute INIT_01: siring; attribute INIT_00 of RAMB_EXAMPLE : label is ”0000000000000000000000000000000000000000000000000000000000000000"; attribute INIT_01 of RAMB_EXAMPLE : label is ”0000000000000000000000000000000000000000000000000000000000000000"; RAMB4_SI_S2, RAMB4_S1_S4, RAMB4_SI_S8, RAMB4_S1_S16, RAMB4_S2_S2. RAMB4_S2_S4, RAMB4_S2_S8, RAMB4_S2_S16, RAMB4_S4_S4. RAMB4_S4_S8, RAMB4_S4_S16, RAMB4_S8_S8. RAMB4_S8_S16, RAMB4_S16_S16 представляют собой при- меры использования компонентов двухпортового ОЗУ информационной емкостью 4096 бнт, синтезируемого в виде блочной памяти ПЛИС, с различной организацией каждого порта доступа. Числовые значения, указанные в конце названия компонента, соотвегствуют раз- рядности портов. Эта шаблоны имеют такую же структуру, как и предыдущий. Отличия за-
Приложение 2. Шаблоны HDL-редактора 569 ключаются только в длине векторов, описывающих информационные и адресные входы, а также выходы запоминающего устройства. RAMB16 S1 — шаблон, описывающий применение компонента однопортовою ОЗУ, ин- формационная емкость которого составляет 16384 бит при организации 16384 словах I раз- ряд. При создании законченного модуля описания необходимо указать дополнительные па- раметры инициализации и соответствующие атрибуты по образу и подобию приведенных в шаблоне. — Component RAMB16_S1------- component RAMB16_S1 - synopsys translate_off generic ( WRITE_MODE : string := "WRITEFIRST"; INIT: bit_vector := X“0"; SRVAL: bil_vector := X"0"; INIT_00 : bit_vector := X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INIT_01 : bit_vector := X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INIT.02: bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; |NIT_O3: bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; ); - synopsys translate_on port (DI : in STD J.OGIC.VECTOR (0 downto0); EN : in STDJogic; WE : in STDJogic; SSR : in STDJogic; CLK : in STDJogic; ADDR : In STD_LOGIC_VECTOR (13 downto 0); DO ; out STDJ.OGIC-VECTOR (0 downto 0) ): end component; attribute INIT_00: string; attribute INIT_01: string; attribute INIT_00 of RAMB_EXAMPLE : label is "0000000000000000000000000000000000000000000000000000000000000000"; attribute INIT_01 of RAMB_EXAMPLE : label is "0000000000000000000000000000000000000000000000000000000000000000"; RAMB16 S2, RAMB16 S4 включают в себя образцы декларации и инициализации ком- понентов однопортового блочного ОЗУ информационной емкостью 16384 бит с организаци- ей 8192 слова X 2 разряда и 4096 слов X 4 разряда соответственно. Содержание этих шабло- нов отличается от предыдущего только диапазоном изменения индексов для векторов, опи- сывающих адресные и информационные входы и выходы. RAMB16 S9 содержит образец применения компонента однопортового ОЗУ информаци- онной емкостью 16384 бит с организацией 2048 слов X 8 разрядов и контролем по четности. Паритетный блок памяти имеет организацию 2048 слов X 1 разряд. В качестве примера, в шаблоне представлены первые четыре парамегра инициализации содержимого основной и паритетной части ОЗУ и пара соответствующих атрибутов. ---Component RAMB16_S9------ component RAMB16_S9 — synopsys translate_off
570 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС generic ( WRITE_MODE : string := "WRITE_FIRST"; INIT : bit_vector := X‘000"; SRVAL: bit_vector := X"000"; INITP_OO : bit_vector := X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INITP_01 : bit_vector := X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INITP_02: bft_vector := X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INITP_03: bit_vector := X'OOOOOOOOOOOO0000000000000000000000000000000000000000000000000000": INIT_00: bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; INIT_01 : bit_vector := X’OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INIT_02: bit_vector := X’OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO": INIT_03: bit_vector := X‘0000000000000000000000000000000000000000000000000000000000000000"; ); -- synopsys translate_on port (DI : in STD_LOGIC_VECTOR (7 downto 0); DIP : in STD_LOGIC_VECTOR (0 downto 0); EN : in STDJogic; WE : in STDJogic; SSR : in STDJogic: CLK : in STDJogic; ADDR : in STD_LOGIC_VECTOR (10 downto 0); DO : out STD_LOGIC_VECTOR (7 downto 0); DOP : out STD_LOGIC_VECTOR (0 downto 0) end component; attribute INIT_00: string; attribute INITPJO: string; attribute INlT_00 of RAMB_EXAMPLE : label is "0000000000000000000000000000000000000000000000000000000000000000"; attribute INITPJO of RAMB_EXAMPLE : label is "0000000000000000000000000000000000000000000000000000000000000000"; RAMB16 S18, RAMB16 S36 - примеры декларации компонентов, описывающих одно- портовое ОЗУ с контролем по четности информационной емкостью 16384 бит с организаци- ей 1024 слова X 16 разрядов и 512 слов X 32 разряда соответственно. Их текст имеет ту же структуру, что и в предыдущем шаблоне, и отличается только диапазоном изменения индек- сов для векторов, описывающих адресные и информационные входы и выходы. RAMB16 SI S1 представляет образец применения компонента двухпортового ОЗУ, ин- формационная емкость которого составляет 16384 бит при организации каждого порта 16384 слова X 1 разряд. При необходимости параметры инициализации содержимого запоминаю- щего устройства и соответствующие атрибуты, приведенные в шаблоне, должны быть до- полнены требуемым количеством аналогичных строк для охвата всего диапазона адресов. ---Component RAMB16_S1_S1------- component RAMB16_S1_S1 - synopsys translate_off generic ( WRITE MODE A : string := "WRITE-FIRST";
Приложение 2. Шаблоны HDL-редактора 571 WRITE_MODE_B : string := "WRITE_FIRST"; INIT_A: bit_vector := X"0"; SRVAL_A: bit_vector := X"0"; 1N1T_B : bit_vector := X'O"; SRVAL_B; bit_vector := X"0"; INIT_00: bil_vector ;= X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INIT_01: bit_vector:= X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INIT_02: bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; INIT_03: bit_vector := X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"- ); -- synopsys translate_on port (DIA : in STD_LOGlC_VECTOR (0 downto 0); DIB : In STDJ.OGIC.VECTOR (0 downto 0); ENA : in STDJogic; ENB : in STDJogic; WEA zinSTDJogic; WEB : in STDJogic; SSRA : in STDJogic; SSRB : in STDJogic; CLKA : in STDJogic: CLKB zinSTDJogic; ADDRA ; in STD_LOGIC_VECTOR (13 downto 0); ADDRB : in STDJ-OGIC_VECTOR (13 downto 0); DOA : out STD_LOGIC_VECTOR (0 downto 0); DOB : out STD_LOGIC_VECTOR (0 downto 0) end component; attribute INIT_00: string; attribute INITP_00z string; attribute IN1T_00 of RAMB_EXAMPLE; label is *0000000000000000000000000000000000000000000000000000000000000000"; attribute INIT_01 of RAMB_EXAMPLE : label is "0000000000000000000000000000000000000000000000000000000000000000"; RAMB16 SI S2, RAMB16 SI S4. RAMB16 S2 S2. RAMB16 S2 S4, RAMB16 S4 S4 содер- жат шаблоны декларации и инициализации компонентов двухпортового блочного ОЗУ ин- формационной емкостью I6384 бит с организацией портов соответственно: 16384 слова X 1 разряд и 8192 слова X 2 разряда; 16384 слова X 1 разряд и 4096 слов X 4 разряда; 8192 слова X 2 разряда и 8192 слова X 2 разряда; 8192 слова X 2 разряда и 4096 слов X 4 разряда; 4096 слов X 4 разряда и 4096 слов X 4 разряда. Их текст отличается от предыдущего только верхней границей диапазона, в пределах которого находятся индексы векторов, описываю- щих адресные и информационные входы и выходы. RAMB16 SI S9, RAMB16 SI S18. RAMB16 SI S36, RAMBI6 S2 S9. RAMB16 S2 S18, RAMB16 S2 S36. RAMB16 S4 S9.RAMB16 S4 SI8.RAMB16 S4 S36 представляют собой примеры использования компонентов двухпортового ОЗУ информационной емкостью 16384 бит, второй порт которых выполнен с контролем по четности. Перечисленные компо- ненты имеют различную организацию каждого порта доступа соответственно: 16384 слова X I разряд и 2048 слов X 8 разрядов; 16384 слова X I разряд и 1024 слова X 16 разрядов; 16384 слова X I разряд и 512 слов X 32 разряда; 8192 слова X 2 разряда и 2048 слов X 8 разрядов; 8192 слова X 2 разряда и 1024 слова X 16 разрядов; 8192 слова X 2 разряда и 512 слов X 32 разряда; 4096 слов X 4 разряда н 2048 слов X 8 разрядов; 4096 слов X 4 разряда н 1024 слова
572 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС X 16 разрядов; 4096 слов X 4 разряда и 512 слов X 32 разряда. Эти шаблоны имеют одинако- вую структуру, отличаясь только длиной векторов, описывающих адресные и информацион- ные входы и выходы запоминающего устройства. Ниже приведен текст шаблона RAMB16_SI_S9. ---Component RAMB16_S1_S9------ component RAMB16_S1_S9 - synopsys translate_otf generic ( WRITE_MODE_A : string := "WRITE_FIRST"; WRITE_MODE_B : string := "WRITE_FIRST"; INIT_A : bit_ vector := X“0‘; SRVAL_A: bit_vector := X"0"; INfT_B : bit_vector := X“000"; SRVAL_B : bit .vector := X“000"; INITPJO: bit_vector := X'0000000000000000000000000000000000000000000000000000000000000000"; INITPJ1 : bit_vector := X‘0000000000000000000000000000000000000000000000000000000000000000"; INITPJ2: bit_vector := X‘0000000000000000000000000000000000000000000000000000000000000000"; INITPJ3: bit_vector := X‘0000000000000000000000000000000000000000000000000000000000000000"; INITJO: bit_vector := X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INITJ1 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; INITJ2: bit_vector := X’0000000000000000000000000000000000000000000000000000000000000000"; INITJ3: bit_vector ;= X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; ); -- synopsys translate_on port (DIA : in STD_LOGIC_VECTOR (0 downio 0); DIB : in STD_LOGIC_VECTOR (7 downto 0); DIPB : in STD_LOGIC_VECTOR (0 downto 0); ENA : in STDJogic; ENB : in STDJogic; WEA : in STDJogic; WEB : in STDJogic; SSRA : in STDJogic; SSRB : in STD_logic; CLKA : in STDJogic; CLKB : in STDJogic; ADDRA : in STD_LOGIC_VECTOR (13 downto 0); ADDRB : in STD_LOGlC_VECTOR (10 downto 0); DOA : oul STD JOGIC_VECTOR (0 downto 0); DOB : out STDJOGIC_VECTOR (7 downto 0); DOPB : out STD_LOGIC_VECTOR (0 downto 0) end component; attribute INIT JO: string; attribute INITPJ0: string; attribute INITJ0 of RAMB_EXAMPLE : label is "0000000000000000000000000000000000000000000000000000000000000000"; attribute INITPJO of RAMB_EXAMPLE : label is "0000000000000000000000000000000000000000000000000000000000000000";
Приложение 2. Шаблоны HDL-редактора 573 RAMB16 S9 S9, RAMBI6 S9 SI8.RAMRI6 S9 S36, RAMB16 S18 S18. RAMBI6 S18 S36, RAMBI6 S36 S36 содержат образцы декларации и инициализации компонентов двух- портового ОЗУ информационной емкостью 16384 бит с контролем по четности для каждого порта. Одноименные компоненты представляют запоминающие устройства с организацией соответственно: 2048 слов X 8 разрядов и 2048 слов X 8 разрядов; 2048 слов X 8 разрядов и 1024 слова X 16 разрядов; 2048 слов X 8 разрядов и 512 слов X 32 разряда; 1024 слова X 16 разрядов и 1024 слова X 16 разрядов; 1024 слова X 16 разрядов и 512 слов X 32 разряда; 512 слов X 32 разряда и 512 слов X 32 разряда. Содержание указанных шаблонов отличается только диапазоном изменения индексов для векторов, описывающих адресные и информаци- онные входы и выходы, поэтому ниже приведен текст лишь одного описания RAMB16_S9_S9. ---Component RAMB16_S9_S9 — component RAMB16_S9_S9 -- synopsys lranslate_otf generic ( WRITE_MODE_A: string := "WRITE-FIRST"; WRITE_MODE_B: string := "WRITE_FIRST"; INIT_A: bit_veclor := X"000"; SRVAL_A : bit_vector := X’000"; INIT_B: bit_vector := X’000'; SRVAL_B : bit_vector := X‘000"; INITP_00 : bit_vector := X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; INlTP_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; INITP_02: bit_vector := X'OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0000000000000000000000000"; INITP_03: bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; INIT_00: bit_vector := X'0000000000000000000000000000000000000000000000000000000000000000"; INIT_01 : bit_vector:= X"0000000000000000000000000000000000000000000000000000000000000000"; INIT 02: bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; INIT_03: bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; ); - synopsys translate_on port (DIA : in STD_LOGIC_VECTOR (7 downto 0); DIB : in STD_LOGIC_VECTOR (7 downto 0); DIPA : in STDLOGICVECTOR (0 downto 0); DIPB : in STD_LOGIC_VECTOR (0 downto 0); ENA : in STD_logic; ENB : in STDJogic; WEA : in STDJogic; WEB : in STDJogic; SSRA : in STDJogiC; SSRB : in STDJogic; CLKA : in STDJogiC; CLKB : in STDJogic; ADDRA : in STD_LOGIC_VECTOR (10 downto 0); ADDRB : in STD_LOGIC_VECTOR (10 downto 0); DOA : out STD_LOGIC_VECTOR (7 downto 0); DOB : out STD_LOGIC_VECTOR (7 downto 0); DOPA : out STD_LOGIC_VECTOR (0 downto 0);
S74 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС DOPB : out STD_LOGlC_VECTOR (0 downto 0) ); end component; attrbute INIT_00: string; attribute INITP_00: string; attribute INIT_00 of RAMB_EXAMPLE : label is *0000000000000000000000000000000000000000000000000000000000000000“; attribute INITP_00 of RAMB_EXAMPLE : label is "OOOOOOOOOQOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; Boundary Scan - папка, в которой представлены типовые примеры реализации перифе- рийного сканирования для кристаллов ПЛИС различного типа. Большинство шаблонов этого раздела выполнено в виде законченного структурного описания (за исключением ХС4000 BSCAN). Spartan-II Bscan, Virtex Bscan. Virtex-П Bscan содержат описание конструкций, предна- значенных для организации периферийного сканирования в кристаллах ПЛИС семейств Spartan-II, Virtex, Virtex-II соответственно. Эти шаблоны имеют одинаковую структуру, ко- торая включает в себя три D-триггера, которые образуют регистр данных для одного вывода ПЛИС, и компонент, представляющий ресурсы периферийного сканирования соответствую- щего кристалла. Ниже приведен текст шаблона Spartan-II Bscan. Описания остальных приме- ров этой группы отличаются только названием компонента, определяемого типом ПЛИС: в Virtex Bscan используется BSCANVIRTEX, в Virtex-II Bscan - BSCANVIRTEX2. Описание интерфейса компонентов BSCAN VIRTEX и BSCAN V1RTEX2 аналогично BSCAN SPARTAN2. Для обозначения портов конструкций, представленных в этих шаблонах, используются сле- дующие идентификаторы: di соответствует информационному входу, се - входу разрешения выходного разряда регистра данных, elk - входу синхронизации, qo - выходу данных. - Spartan-II Boundary Scan Code library IEEE; use lEEE.stdJogicJ164.all; entity flops is port ( di: in stdjogic; ce: in stdjogic; elk: in stdjogic; qo: out stdjogic); end flops; architecture inst of flops is component FDCE port ( D: in stdjogic; CE: in stdjogic; C: in stdjogic; CLR: in stdjogic; Q: oul stdjogic); end component; component BSCAN_SPARTAN2 port ( TDO1: in stdjogic; TDO2: in stdjogic; UPDATE: out stdjogic; SHIFT: out stdjogic; RESET: out stdjogic; TDI: out stdjogic; SEL1: out stdjogic; DRCK1: oul stdjogic; SEL2: out stdjogic;
Приложение 2. Шаблоны HDL-редактора 575 DRCK2: out stdjogic); end component; signal q1,rst,tdo1,update,shift,reset,tdi,sel1,drck1 : stdjogic; begin U4: BSCAN_SPARTAN2 port map ( TDO1 => tdo1, TDO2 => 'O', UPDATE => update, SHIFT ~> shift, RESET => rst, TDI => Idi, SEL1 =>sel1, DRCK1 =>drck1, SEL2 => open, DRCK2 => open); UO: FDCE port map ( D => di, CE => update, C => elk, CLR => shift, Q => tdol); Ul: FDCE port map ( D => tdi, CE=>sel1, C=>drck1, CLR => rst Q=>q1); U2: FDCE port map ( D => ql, CE => ce, C=>clk, CLR => rst Q => qo); end inst; XC4000 BSCAN представляет собой основу описания конструкции, предназначенной для организации периферийного сканирования в ПЛИС семейств ХС4000. При включении этих шаблонов в состав формируемого описания следует поместить выражения декларации ис- пользуемых сигналов и компонентов в начале архитектурного тела перед ключевым словом "begin". - instantiating BSCAN for XC4000. signal TDIJ3: stdjogic; signal TMS_P: stdjogic; signal TCK_P: stdjogic; signal TDO_P: stdjogic; component BSCAN port (TDI, TMS, TCK: in std_bgic; TDO: out stdjogic); end component; component TDI port (I: out stdjogic); end component; component TCK port (I: oul stdjogic); end component; component TMS port (I: out stdjogic); end component; component TDO
576 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС port (О: in stdjogic); end component; —'"Insert lhe following after the ’begin' keyword*" U1: BSCAN port map (TDI=>TDI_P, TMS=>TMS_P. TCK=>TCK_P, TDO=>TDO_P); U2. TDI port map (l=>TDi_P)’, U3: TMS port map (l=>TMS_P); U4: TCK port map (l=>TCK_P); U5: TDO port map (O=>TDO_P); Clock DLL — папка, в которой расположены примеры описаний, иллюстрирующие ис- пользование модулей цифровой автоподстройки задержки (Delay-Locked Loop, DLL) в ПЛИС различных семейств. В шаблонах этой группы используется следующая система обозначений портов; CLKIN соответствует входу синхронизации, RESET — входу сброса, CLK2X - выходу тактового сигнала с удвоенной частотой синхронизации, CLK4X - выходу тактового сигнала с четырехкратной частотой синхронизации, LOCKED - выходу сигнала блокировки. DLL 2х & 4х содержит образец применения компонентов, представляющих модули циф- ровой автоподстройки задержки. Этот шаблон выполнен в виде описания конструкции, реа- лизующей двукратное и четырехкратное увеличения частоты тактового сигнала за счет ис- пользования двух модулей DLL. - DLL 2х and 4Х Example library ieee; use ieee.sldjogic_1164.all; library unisim; use unisim.vcomponents.all; enlity dll_standard is port (CLKIN : in stdjogic; RESET: in stdjogic; CLK2X: out stdjogic; CLK4X: out stdjogic; LOCKED: out stdjogic); end dll_standard; architecture structural of dll_standard is signal CLKlN_w, RESET_w, CLK2X_dll, CLK2X_g, CLK4XJII, CLK4X_g : stdjogic; signal LOCKED2X, LOCKED2X.delay, RESET4X. LOCKED4X_dll: stdjogic; signal logicl : stdjogic; begin logicl <='T; clkpad : IBUFG port map (l=>CLKIN, O=>CLKIN_w), rstpad: IBUF port map (1=>RESET, O=>RESET_w); dl!2x : CLKDLL port map (CLKIN=>CLKIN_w, CLKFB=>CLK2X_g, RST=>RESET_w, CLKO=>open, CLK90=>open, CLK180=>open, CLK270=>open, CLK2X=>CLK2X_dll, CLKDV=>open, LOCKED=>LOCKED2X); clk2xg : BUFG port map (l=>CLK2X_dll, O=>CLK2X_g); rslsrl: SRL16 port map (D=>LOCKED2X, CLK=>CLK2X_g, Q=»LOCKED2X_delay, A3=>logic1, A2=>logic1. A1=>logic1, A0=>logic1); RESET4X <= not LOCKED2X_delay; dl!4x ; CLKDLL port map (CLKIN=>CLK2X_g. CLKFB=>CLK4X_g, RST=>RESET4X, CLK0=>open, CLK90=»open, CLK180=>open, CLK270=>open, CLK2X=>CLK4X_dll, CLKDV=>open, LOCKED=>LOCKED4X_dll); Clk4xg : BUFG port map (l=>CLK4X. dll, O=>CLK4X_g); Ickpad : OBUF port map (l=>LOCKED4X dll. O=>LOCKED); CLK2X <= CLK2X_g; CLK4X <= CLK4X_g; end structural;
Приложение 2. Шаблоны HDL-редактора 577 Virtex-E DLL 4х представляет шаблон использования модулей цифровой автоподстройкн задержки в кристаллах семейства Virtex-E. Приведенное ниже описание содержит два ком- понента DLL, что позволяет сформировать сигналы синхронизации с частотами, превосхо- дящими в два и четыре раза входную тактовую частоту. -- Virtex-E DLL 2Х and 4Х Example library ieee; use ieee.std_logic_1164.all; library unisim; use unisim.vcomponents.all; entity dlLstandard is port (CLKIN : in sldjogic; RESET: in stdjogic; CLK2X: out stdjogic; CLK4X: out stdjogic; LOCKED: out stdjogic); end dlLstandard; architecture structural of dlLstandard is signal CLKIN_w, RESET_w, CLK2X_dll, CLK2X_g, CLK4X_dll, CLK4X_g : stdjogic; signal LOCKED2X, LOCKED2X_delay, RESET4X, LOCKED4X_dll: stdjogic; signal logicl : stdjogic; begin logicl <= T; clkpad : IBUFG port map (l=>CLKIN, O=>CLKlN_w); rstpad : IBUF port map (l=>RESET, O=>RESET_w); dll2x : CLKDLL port map (CLKIN=>CLKIN_w, CLKFB=>CLK2X_g, RST=>RESET_w, CLK0=>open, CLK90=>open, CLK180=>open, CLK270=>open, CLK2X=>CLK2X_g, CLKDV=>open, LOCKED=>LOCKED2X); rstsrl: SRL16 port map (D=>LOCKED2X, CLK=>CLK2X_g, Q=>LOCKED2X_delay, A3=>logic1, A2=>logic1, A1=>logic1, A0=>logic1); RESET4X <= not LOCKED2X_delay; dll4x : CLKDLL port map (CLKIN=>CLK2X_g, CLKFB=>CLK4X_g, RST=>RESET4X, CLK0=>open, CLK90=>open, CLK180=>open, CLK270=>open, CLK2X=>CLK4X_dll, CLKDV=>open, LOCKED=>LOCKED4K_dll); Clk4xg : BUFG port map (l=>CLK4X_dll, O=>CLK4X_g); Ickpad ; OBUF port map (l=>LOCKED4X_dll, O=>LOCKED); CLK2X <= CLK2Xg; CLK4X < CLK4X_g; end structural; DCM представляет собой папку, в которой сосредоточены описания типовых вариантов при- менения модулей цифрового управления синхронизацией (Digital Clock Manager, DCM) в ПЛИС семейства VIRTEX-II. В этих шаблонах используются следующие идентификаторы для обозначе- ния интерфейсных цепей: CLK IN соответствует входу сигнала синхронизации; RESET, RST — входу сброса; CLK.1X - выходу формируемого тактового сигнала с частотой входной синхро- низации; LOCK - выходу сигнала блокировки, CLKFB - входу сигнала обратной связи, по- ступающего с печатной платы; CLK1XJNT, CLKIX_EXT - выходам формируемого такто- вого сигнала с частотой входной синхронизации, используемого внутри и вне кристалла; LOCKJNT. LOCK_EXT - выходам сигнала блокировки, используемого в пределах и вне ПЛИС; CLK2X - выходу формируемого тактовою сигнала с удвоенной частотой входной синхронизации, CLK2X1NT, CLK2X_EXT - выходам генерируемого тактового сигнала с удвоенной частотой входной синхронизации, используемою внутри и вне кристалла; CLK_Dlv - выходу синтезируемого тактового сигнала с частотой, определяемой коэффици- ентом деления частоты входной синхронизации; CLK.FX, CLK.FXI80 - выходам синтезиру- емых противофазных тактовых сигналов с частотой, определяемой разработчиком; 1’SEN —
578 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС входу разрешения выполнения операции фазового сдвига; PSINCDEC - входу выбора режи- ма сдвига (инкрементный или декрементный); PSDone - выходу сигнала завершения опера- ции фазового сдвига. CLKO содержит образец описания конструкции, предназначенной для предотвращения временных перекосов при распространении сигнала синхронизации внутри кристалла. -Module: BUFG_CLKO_SUBM library IEEE; use IEEE.stdJogic_1164.аП; - synopsys translate_off library UNISIM; use UNISIM. VCOMPONENTS. ALL; — synopsys translate_on entity BUFG_CLKO_SUBM is port( CLKJN: in stdjogic; RST : in stdjogic; CLK1X : out stdjogic; LOCK : out stdjogic ); end BUFG_CLKO_SUBM; architecture BUFG_CLKO_SUBM_arch of BUFG_CLKO_SUBM is - Components Declarations: component BUFG port( I : in stdjogic; О : out stdjogic ); end component component DCM - synopsys translate_off generic ( DLL_FREQUENCY_MODE : string := "LOW"; DUTY_CYCLE_CORRECTION : boolean := TRUE; STARTUP WAIT: boolean := FALSE ); - Synopsys translate_on port (CLKIN : in Stdjogic; CLKFB : in stdjogic; DSSEN : in stdjogic; PSINCDEC : in stdjogic; PSEN : in stdjogic; PSCLK : in sldjogic; RST : in stdjogic; CLKO : out stdjogic; CLK90 : out stdjogic; CLK180 : out stdjogic; CLK270 : out Stdjogic; CLK2X : out stdjogic; CLK2X180 : out sldjogic; CLKDV : out stdjogic; CLKFX : out stdjogic; CLKFX180 : out stdjogic; LOCKED : out sldjogic; PSDONE : out std logic; STATUS : oul stdjogic_vector(7 downto 0) );
579 Приложение 2. Шаблоны HDL-редактора end component; - Attributes attribute DLL_FREOuENCYMODE: string; attribute DUTY_ CYCLE- CORRECTION: string; attribute STARTUP_WAIT: string; attribute DLL_FREQUENCY_MODE of U_DCM: label is "LOW; attribute DUTY_CYCLE_CORRECTION of U.DCM: label is "TRUE"; attribute STARTUP_WAIT of U_DCM: label is "FALSE"; - Signal Declarations: signal GND: stdjogic; signal CLK0_W: stdjogic; Signal CLK1 X_W: stdjogic; begin GND <= ’O'; CLK1X <= CLK1X_W; - DCM Instantiation U_DCM: DCM port map ( CLKIN => CLKJN, CLKFB=> CLK1XJ/V, DSSEN => GND, PSINCDEC => GND, PSEN => GND, PSCLK => GND, RST => RST, CLKO => CLK0_W, LOCKED => LOCK ); - - BUFG Instantiation U_BUFG: BUFG port map ( I => CLKO_W, O=>CLK1X_W ); end BUFG_CLKO_SUBM_arch; CLKO FB описывает субмодупь, используемый для устранения перекосов при про- хождении тактового сигнала внутри кристалла и на печатной плате. Основу описываемой конструкции составляют два модуля цифрового управления синхрониз ацией. - Module: BUFG_CLKOJ:B_SUBM library IEEE; use IEEE.stdJogic_1164.all; - - synopsys translate_off library UNISIM; use UNISIM.VCOMPONENTS.ALL; - synopsys translale_on entity BUFG_CLKO_FB_SUBM is port( CLKJN : in stdjogic; RST : in stdjogic; CLKFB : in stdjogic; CLK1X_EXT : out sldjogic; CLK1X INT : out stdjogic; LOCK.EXT : out stdjogic; LOCKJNT : out stdjogic end BUFG_CLKO_FB_SUBM;
580 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС architecture BUFG.CLKO. FB_SUBM_arch of BUFG_CI_KO_FB_SUBM is - Components Declarations: component BUFG port ( I : in stdjogic; О : out sldjogic ): end component; component IBUFG port ( I ; in stdjogic; О : out stdjogic ); end component; componenl DCM -- synopsys translale_off generic ( DLL_FREQUENCY_MODE : string := “LOW; DUTY_CYCLE_CORRECTION : boolean := TRUE; STARTUP_WAIT : boolean := FALSE ); - synopsys lranslale_on port ( CLKIN : in stdjogic; CLKFB ; in stdjogic; DSSEN : in stdjogic; PSINCDEC : in stdjogic; PSEN : in stdjogic; PSCLK : in stdjogic; RST : in stdjogic; CLKO : out std_logic; CLK90 ; oul sldjogic; CLK180 : out stdjogic; CLK270 : out stdjogic; CLK2X ; out stdjogic; CLK2X180 : out stdjogic; CLKDV : out stdjogic; CLKFX : out stdjogic; CLKFX180 : out stdjogic; LOCKED : out stdjogic; PSDONE : out stdjogic; STATUS : out stdjogic_vector(7 downto 0) ); end component; -- Attributes attribute DLL_FREOUENCY_MODE: siring; attribute DUTY_CYCLE_CORRECTION: string; attribute STARTUP J/VAIT : string; attribute DLL.. FREQUENCY-MODE of U0_DCM: label is “LOW; attribute DUTY_CYCLE_CORRECT1ON of U0_DCM: label is “TRUE"; attribute STARTUP_WAIT of U0_DCM: label is “FALSE"; attribute DLL_FREQUENCY_MODE of U1_DCM: label is “LOW; attribute DUTY CYCLE-CORRECTION of U1 DCM: label is "TRUE”; attribute STARTUP_WAIT of U1.DCM: label is "FALSE"; -- Signal Declarations: signal GND : stdjogic; signal CLKJN-W: stdjogic; signal CLKFB..W: sldjogic; signal CLKOJNT W: stdjogic;
Приложение 2. Шаблоны HDL-редактора 581 signal CLK1 X_INT_W: stdjogic; signal CLK1X_EXT_W: stdjogic; begin GND <= ’O'; CLK1XJNT <= CLK1X_1NT_W; CLK1XEXT <= CLK1X_EXT_W; - DCM Instantiation for external deskew of CLKO UO_DCM: DCM port map ( CLKIN => CLKJN_W, CLKFB => CLKFB_W, DSSEN => GND, PSINCDEC => GND, PSEN => GND, PSCLK => GND, RST => RST, CLKO => CLK1X_EXT_W, LOCKED => LOCK_EXT ); - DCM Instantiation for internal deskew of CLKO U1_DCM: DCM port map ( CLKIN => CLKJN_W, CLKFB => CLK1XJNT_W, DSSEN => GND, PSINCDEC => GND, PSEN => GND, PSCLK => GND, RST => RST, CLKO => CLKOJNTJ/V, LOCKED => LOCKJNT ); - - IBUFG Instantiation for CLKJN UO JBUFG: IBUFG port map ( I => CLKJN, О => CLKJN_W ): - - IBUFG Instantiation for CLKFB U1 JBUFG: IBUFG port map ( I => CLKFB, О => CLKFBJ/V ); - - BUFG Instantiation U_BUFG: BUFG port map ( I => CLKOJNTJ/V, О => CLK1XJNT_W ): end BUFG_CLKO_FB_SUBM_arch; CLK2X представляет типовой вариант применения модуля DCM для формирования так- тового сигнала с удвоенной частотой синхронизации и предотвращения перекосов при его распространении внутри кристалла, - Module: BUFG_CLK2X_SUBM library IEEE: use IEEE.stdJoglc_1164.all;
582 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС - synopsys translate_off Ibrary UNISIM; use UNISIM. VCOMPONENTS.ALL; - synopsys translale_on entity BUFG_CLK2X_SUBM is port( CLKJN: in std_logic; RST : in stdjogic; CLK2X : out stdjogic; LOCK : out stdjogic ): end BUFG_CLK2X_SUBM; architecture BUFG_CLK2X_SUBM_arch of BUFG_CLK2X_SUBM is - Components Declarations: component BUFG port( I : in stdjogic; О : out stdjogic ); end componenl; component DCM - synopsys translate_off generic ( DLL_FREQUENCY_MODE : string := “LOW"; DUTY_CYCLE_CORRECTION : boolean := TRUE; STARTUP_WAIT: boolean := FALSE ); - synopsys translate_on port (CLKIN : in stdjogic; CLKFB : in stdjogic; DSSEN : in stdjogic; PSINCDEC : in stdjogic; PSEN : in stdjogic; PSCLK : in stdjogic; RST : in stdjogic; CLKO : out stdjogic; CLK90 : out stdjogic; CLK180 : out stdjogic; CLK270 : out stdjogic; CLK2X : out stdjogic; CLK2X180 : out stdJogic; CLKDV : out stdjogic; CLKFX : out stdjogic; CLKFX180 : out stdjogic; LOCKED : oul stdjogic; PSDONE : out stdjogic; STATUS : out stdjogic_vector(7 downto 0) ): end component; -- Attributes attribute DLL_FREQUENCY_MODE : String; attribute DUTY_CYCLE_CORRECTION: string; attribute STARTUP WAIT: string; attribute DLL_FREQUENCY_MODE of UJDCM: label is "LOW"; attribute DUTY_CYCLE_CORRECTION of U_DCM: label is "TRUE"; attribute STARTUPJ/VAIT of U_DCM: label is 'FALSE"; - Signal Declarations:
Приложение 2. Шаблоны HDL-редактора S83 signal GND: stdjogic; signal CLK2_W: stdjogic; signal CLK2X_W: stdjogic; begin GND <= '01; CLK2X <= CLK2X_W; - DCM Instantiation U_DCM: DCM port map ( CLKIN => CLKJN, CLKFB => CLK2X_W, DSSEN => GND, PSINCDEC => GND, PSEN => GND, PSCLK => GND, RST => RST, CLK2X => CLK2_W, LOCKED => LOCK -- BUFG Instantiation U_BUFG: BUFG port map ( I => CLK2_W, О => CLK2X_W ); end BUFG_CLK2X_SUBM_arch; CLK2X FB содержит описание субмодуля, предназначенного для генерации тактового сигнала с удвоенной частотой синхронизации и устранения перекосов при его прохождении внутри кристалла и на печатной плате. Основу описываемой конструкции составляют два модуля цифрового управления синхронизацией. - Module: BUFG CLK2X FB SUBM library IEEE; use lEEE.stdJogicJ 164.all; - synopsys translate_off library UNISIM; use UNISIM.VCOMPONENTS.ALL; - synopsys translale_on entity BUFG_CLK2X_FB_SUBM is port( CLKJN : in stdjogic; RST : in stdjogic; CLKFB : in stdjogic; CLK2X_EXT ; out sldjogic; CLK2XJNT : out stdjogic; LOCK_EXT : out std_logic; LOCKJNT : out stdjogic end BUFG_CLK2X_FB_SUBM; architecture BUFG_CLK2X_FB_SUBM_arch of BUFG_CLK2X_FB_SUBM is - Components Declarations: component BUFG port ( I - in stdjogic; О : out stdjogic end component;
584 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС component IBUFG port( I : in stdjogic; О : out stdjogic ); end component; component DCM - synopsys translate_off generic ( DLL_FREQUENCY_MODE : string := "LOW"; DUTY_CYCLE_CORRECTION: boolean :=TRUE; CLK—FEEDBACK : string := "2X"; STARTUP_WAIT : boolean := FALSE ); - synopsys lranslale_on port (CLKIN : in stdjogic; CLKFB : in stdjogic; DSSEN : in stdjogic; PSlNCDEC : in stdjogic: PSEN : in stdjogic; PSCLK ; in stdjogic; RST : in stdjogic; CLKO : out stdjogic; CLK90 : out sldjogic; CLK180 : out stdjogic; CLK270 ; out stdjogic; CLK2X : oul stdjogic; CLK2X1B0 : out sldjogic; CLKDV : out stdjogic; CLKFX ; out stdjogic; CLKFX180 : out stdjogic; LOCKED : out stdjogic; PSDONE : out stdjogic; STATUS : out std_logic_vector(7 downto 0) ); end component; — Attributes attribute DLL_FREQUENCY_MODE : string; attribute DUTY_CYCLE-CORRECTION: string; attribute CLK-FEEDBACK : string; attribute STARTUP_WAIT: string; attribute DLL-FREQUENCY-MODE of U0_DCM: label is LOW; attribute DUTY_CYCLE_CORRECTlON of U0 DCM: label is ’TRUE"; attribute CLK_FEEDBACK of UO.DCM: label is "2X'; attribute STARTUP_WAIT of U0_DCM; label is "FALSE"; attribute DLL_FREQUENCY_MODE of U1JDCM: label is "LOW"; attribute DUTY-CYCLE CORRECTION of U1_DCM: label is "TRUE"; attribute CLK_FEEDBACK of U1_DCM: label is "2X"; attribute STARTUP_WAIT of U1_DCM: label is "FALSE"; - Signal Declarations: signal GND: stdjogic; signal CLKJN.W: stdjogic; signal CLKFB-W: stdjogic; signal CLK2JNT_W: Stdjogic; signal CLK2X_INT_W: stdjogic; signal CLK2X_EXT_W: stdjogic; begin GND <= O';
Приложение 2. Шаблоны HDL-редактора 585 CLK2XJNT <= CLK2XJNT.W; CLK2X_EXT <= CLK2X_EXT_W; - DCM Instantiation for external deskew of CLK2X UO_DCM: DCM port map ( CLKIN => CLKJN J/V, CLKFB => CLKFB_W, DSSEN => GND, PSINCDEC => GND, PSEN => GND, PSCLK => GND, RST => RST, CLK2X => CLK2X_EXT_W, LOCKED» LOCK_EXT ); - - DCM Instantiation for internal deskew of CLK2X U1_DCM: DCM port map ( CLKIN => CLKJNJ/V, CLKFB => CLK2XJNT_W, DSSEN => GND, PSINCDEC => GND, PSEN => GND, PSCLK => GND, RST => RST, CLK2X => CLK2JNT_W, LOCKED» LOCKJNT ); - - IBUFG Instantiation for CLKJN UOJBUFG: IBUFG port map ( I => CLKJN, О => CLKJN JM ); - IBUFG Instantiation for CLKFB U1JBUFG: IBUFG port map ( I => CLKFB, О => CLKFB_W ); -- BUFG Instantiation U_BUFG: BUFG port map ( I => CLK2JNTJW, О => CLK2XJNT.W ); end BUFG_CLK2X_FB_SUBM_arch; CLKDV представляет собой образец описания конструкции, реализующей синтез такто- вого сигнала с частотой, определяемой разработчиком, и функцию устранения перекосов прн распространении синхросигналов внутри кристалла. Коэффициент деления частоты входного тактового сигнала задается с помощью атрибута CLKDV DIVIDE. - Module: BUFG_CLKDV_SUBM library IEEE; use IEEE.stdJogic_1164.all; - synopsys translale_off library UNISIM; use UNISIM.VCOMPONENTS.ALL;
586 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС - synopsys lransiale_on entity BUFG_CLKDV_SUBM is port( CLKJN ; in stdjogic; RST ; in stdjogic; CLK1X : oul stdjogic; CLKJ2IV : oul sldjogic; LOCK : out stdjogic ); end BUFG_CLKDV_SUBM; architecture BUFG_CLKDV_SUBM_arch of BUFG_CLKDV_SUBM is - Components Declarations; component BUFG port( I : in stdjogic; О : out stdjogic ); end component, component DCM -- synopsys translate_off generic ( DLL_FREQUENCY_MODE; string := "LOW; DUTY_CYCLE_CORRECTION : boolean := TRUE; CLKDV_DIVIDE; real := 2.0; STARTUPJN AIT : boolean := FALSE ); - synopsys translate_on port (CLKIN : in stdjogic; CLKFB : in stdjogic; DSSEN : in stdjogic; PSINCDEC : in stdjogic; PSEN : in stdjogic; PSCLK : in stdjogic; RST ; in stdjogic; CLKO : oul stdjogic; CLK90 : out stdjogic; CLK180 : out stdjogic; CLK270 : out stdjogic; CLK2X : out stdjogic; CLK2X180 : oul stdjogic; CLKDV : out stdjogic; CLKFX : out stdjogic; CLKFX180 : out stdjogic; LOCKED : out std_logic; PSDONE : oul stdjogic; STATUS : out stdjogic_vector(7 downto 0) ); end component; - Attributes attribute DLL_FREQUENCY_MODE: string; attribute DUTY_CYCLE_CORRECTION: string; attribute CLKDV .DIVIDE : real; attribute STARTUPJNAIT : string; attribute DLL_FREQUENCY_MODE of U_DCM: label is "LOW"; attribute DUTY_CYCLE_CORRECTION of U_DCM: label is "TRUE"; attribute CLKDVJJIVIDE of U_DCM: label is 2.0; attribute STARTUPJNAIT of U_DCM: label is "FALSE"; -- Signal Declaralions:
Приложение 2. Шаблоны HDL-редактора 587 signal GND: stdjogic; signal CLKO_W; sldjogic; signal CLK1X_W: stdjogic; signal CLKDV_W: stdjogic; signal CLK_DIV_W: sldjogic: begin GND <= 'O’; CLK1X <= CLK1X_W; CLK_D|V <= CLK_DIV_W; -- DCM Instantiation U_DCM: DCM port map ( CLKIN => CLKJN, CLKFB => CLK1X_W, DSSEN => GND, PSINCDEC => GND, PSEN => GND, PSCLK => GND, RST => RST, CLKO => CLK0_W, CLKDV => CLKDVJ/V, LOCKED => LOCK ); - BUFG Instantiation for CLKO U0_BUFG: BUFG port map ( I => CLK0_W, O=>CLK1X_W ); - BUFG Instantiation for CLKDV U1_BUFG: BUFG port map ( I => CLKDVJ/V, О => CLK_DIV_W ); end BUFG_CLKDV_SUBM_arch; DFS содержит типовой вариант применения модуля DCM для синтеза пары противофаз- ных тактовых сигналов. Соотношение частот входного и сформированных сигналов синхро- низации определяется коэффициентом, который задается разработчиком с помощью множи- теля и делителя в форме атрибутов CLKFX MULTIPLY и CLKFX_DIVIDE. Синтезирован- ные сигналы не имеют фазовой привязки к входному сигналу синхронизации. -Module: BUFG_DFS_SUBM library IEEE; use IEEE.std_logic_1164.all; - synopsys translale_off library UNISIM; use UNISIM. VCOMPONENTS.ALL; - synopsys translale_on entity BUFG_DFS_SUBM is port ( CLKJN : in stdjogic; RST : in stdjogic; CLKFX : out stdjogic; CLKFX180 : out stdjogic; LOCK . out stdjogic ):
588 Зотов S. Ю. Проектирование цифровых устройств иа основе ПЛИС end BUFG_DFS_SUBM; architecture BUFGJJFS_SUBM_arch of BUFG_DFS_SUBM is — Components Declarations: component BUFG port ( I : in stdjogic; О : out sldjogic ): e nd component; component DCM — synopsys translate_off generic ( DFS_FREQUENCY_MODE : siring := "LOW"; CLKFX_DIVIDE : integer := 1, CLKFX MULTIPLY: integer := 4 ; STARTUPJNAIT : boolean := FALSE ); -- synopsys translate_on port (CLKIN : in sldjogic; CLKFB : in stdjogic; DSSEN : in sldjogic; PSINCDEC : in stdjogic; PSEN : in stdjogic; PSCLK : in sldjogic; RST : in stdjogic; CLKO : out stdjogic; CLK90 : out stdjogic; CLK180 : out stdjogic; CLK270 : out stdjogic; CLK2X : oul stdjogic; CLK2X180 : out stdjogic; CLKDV : out stdjogic; CLKFX : out stdjogic; CLKFX180 : out stdjogic; LOCKED : out stdjogic; PSDONE : out stdjogic; STATUS : oul sldjogic_veclor(7 downto 0) ); end component; - Attributes attribute DFS_FREQUENCY_MODE : string; attribute CLKFXJJIVIDE; integer; attribute CLKFX_MULTIPLY: integer; attribute STARTUPJWAIT : siring; attribute DFS_FREQUENCY_MODE of UJDCM: label is "LOW"; attribute CLKFX_DIV|DE of U DCM: label is 1; attribute CLKFX.MULTIPLY of U_DCM: label is 4; attribute STARTUPJWAIT of U_ DCM: label is "FALSE"; -- Signal Declarations: signal GND: stdjogic; signal CLKFX_W: sldjogic; signal CLKFX180_W: stdjogic; signal CLKF_W: stdjogic; signal CLKF180_W: stdjogic; begin GND <= 'O'; CLKFX <= CLKF_W, CLKFX180 <= CLKF180_W;
Приложение 2. Шаблоны HDL-редактора 589 -- DCM Instantiation U_DCM: DCM port map ( CLKIN => CLKJN, CLKFB => GND, DSSEN => GND, PSINCDEC => GND, PSEN => GND, PSCLK => GND. RST => RST, CLKFX => CLKFX_W, CLKFX1B0 => CLKFX180_W, LOCKED => LOCK ); - BUFG Instantiation for CLKFX U0_BUFG: BUFG port map ( I => CLKFX_W, О => CLKF_W ); - BUFG Instantialion for CLKFX180 U1_BUFG: BUFG port map ( I => CLKFX180_W, О => CLKF180_W ); end BUFG_DFS_SUBM_arch; DFS FB включает в себя образец описания субмодуля, выполняющего функции синтеза двух противофазных тактовых сигналов. Соотношение частот входного и сформированных сигналов синхронизации устанавливается коэффициентом деления, определяемым разработ- чиком с помощью атрибутов CLKFX_MULTIPLY и CLKFXDIVIDE. Синтезированные сиг- налы по фазе привязаны к входному сигналу синхронизации. - Module: BUFG_DFS_FB_SUBM library IEEE; use IEEE.stdJogic_1164.all; - - synopsys translate_off library UNISIM; use UNISIM.VCOMPONENTS.ALL; - synopsys translate_on enlity BUFG_DFS_FB_SUBM is Port ( CLKJN : in stdjogic; RST : in stdjogic; CLK1X : out stdjogic; CLKFX : out stdjogic; CLKFX180 : out stdjogic; LOCK : out stdjogic ); end BUFG_DFS_FB_SUBM; architecture BUFG_DFS_FB_SUBM_arch of BUFG_DFS_FB_SUBM is - - Components Declarations: component BUFG port ( I : in stdjogic; О : out stdjogic );
590 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС end component; component DCM - synopsys translate.off generic ( DFS_FREQUENCY_MODE : string := "LOW"; CLKFX-DIVIDE : integer := 1; CLKFX_MULTIPLY : integer ;= 4; STARTUPJ/V AIT: boolean := FALSE ); - synopsys lranslale_on port (CLKIN : in stdjogic; CLKFB : in stdjogic; DSSEN : in stdjogic; PSINCDEC ; in stdjogic; PSEN : in stdjogic; PSCLK : in stdjogic; RST : in stdjogic; CLKO : ou I stdjogic; CLK90 : out sldjogic; CLK180 : out stdjogic; CLK270 : out stdjogic; CLK2X : out stdjogic; CLK2X180 : out sldjogic; CLKDV : oul stdjogic; CLKFX : oul stdjogic; CLKFX180 : oul sldjogic; LOCKED : out stdjogic; PSDONE : out stdjogic; STATUS : oul stdjogic_vector(7 downto 0) ): end component; -- Attributes attribute DFS_FREQUENCY_MODE: siring; attribute CLKFX_DIVIDE: integer; attribute CLKFX_MULTIPLY: integer; attribute STARTUP.WAIT; string; attribute DFS_FREQUENCY_MODE of U_DCM: label is ’LOW"; attribute CLKFX_DIVIDE of U_DCM; label is 1; attribute CLKFX_MULTIPLY of U.DCM: label is 4; attribute STARTUP J/V AIT of U_DCM: label is ’FALSE-; - Signal Declarations: signal GND: stdjogic; signal CLK0_W: stdjogic; signal CLK1X_W: stdjogic; signal CLKFX_W: stdjogic; signal CLKFX180_W: stdjogic; signal CLKF_W: stdjogic; signal CLKF180JW: stdjogic; begin GND <= 'O'; CLK1X <= CLK1X_W; CLKFX <= CLKF.W; CLKFX180 <= CLKF180_W; - DCM Instantiation U_DCM: DCM port map ( CLKIN => CLK IN, CLKFB => CLKiXJW,
Приложение 2. Шаблоны HDL-редактор^ 591 DSSEN => GND, PSINCDEC => GND, PSEN => GND, PSCLK => GND, RST => RST, CLKO => CLKOJ/V, CLKFX => CLKFX_W, CLKFX180 => CLKFX180_W, LOCKED => LOCK ); - BUFG Instantiation for CLKFX UO-BUFG: BUFG port map ( I => CLKFXJ/V, О => CLKF_W ); - BUFG Instantiation for CLKFX180 U1_BUFG: BUFG port map ( I => CLKFX180_W, О => CLKF1B0JW ); -- BUFG Instantiation U2_BUFG: BUFG port map ( I => CLK0_W, O=>CLK1X_W ); end BUFG_DFS_FB_SUBM_arch; PHASE CLKO описывает субмодуль, предназначенный для устранения временных пере- косов при прохождении тактового сигнала внутри кристалла, с точной фазовой подстройкой. - Module: BUFG_PHASE_CLKO_SUBM library IEEE; use IEEE.stdJogic_1164.all; - synopsys translate_off library UNISIM; use UNISIM. VCOMPONENTS.ALL; - - synopsys translate_on entity BUFG_PHASE_CLKO_SUBM is port( CLKJN : in stdjogic; RST : in sldjogic; PSEN : in stdjogic; PSINCDEC: in stdjogic; CLK1X : oul sldjogic; LOCK : out stdjogic; PSDONE : out stdjogic ): end BUFG_PHASE_CLKO_SUBM; architeclure BUFG_PHASE_CLKO_SUBM_arch of BUFG_PHASE_CLKO_SUBM is — Components Declarations: component BUFG port( I : in Stdjogic; О : out stdjogic
592 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС component DCM -- synopsys translate_off generic ( DLL_FREQUENCY_MODE : string := "LOW"; DUTY_CYCLE_CORRECTION : boolean := TRUE; CLKOUT.PHASE-SHIFT : string := "VARIABLE"; PHASE-SHIFT : integer := 0; STARTUP-WAIT: boolean := FALSE ); -- synopsys translate_on port (CLKIN : in stdjogic; CLKFB : in sldjogic; DSSEN : in stdjogic; PSINCDEC : in stdjogic; PSEN : in stdjogic: PSCLK : in stdjogic; RST : in stdjogic; CLKO : out stdjogic; CLK90 : oul stdjogic; CLK180 : out stdjogic; CLK270 : out stdjogic; CLK2X : out stdjogic; CLK2X180 : oul stdjogic; CLKDV : out stdjogic; CLKFX : oul stdjogic; CLKFX180 : oul sldjogic; LOCKED : out stdjogic; PSDONE : out stdjogic; STATUS : out stdjogic_vector(7 downto 0) ): end component; -- Attributes attribute DLL_FREQUENCY_MODE : string: attribute DUTY-CYCLE-CORRECTION : string; attribute CLKOUT_PHASE_SHIFT: string; attribute PHASE-SHIFT : integer, attribute STARTUP_WAIT: string: attribute DLL_FREQUENCY_MODE of U.DCM: label is "LOW"; attribute DUTY_CYCLE_CORRECTION of U_DCM: label is "TRUE"; attribute CLKOUT_PHASE_SHIFT of U_DCM: label is "VARIABLE"; attribute PHASE-SHIFT of UJDCM: label is 0; attribute STARTUP_WAIT of U.DCM: label is "FALSE"; -- Signal Declarations: signal GND: stdjogic; signal CLKO.W: stdjogic; signal CLK1X-W: sldjogic; begin GND <= •O’; CLKtX<= CLK1X.W; - - DCM Instantiation - DCM instanliation for the VARIABLE mode. U_DCM:DCM port map ( CLKIN => CLKJN, CLKFB => CLK1X.W. DSSEN => GND, PSINCDEC => PSINCDEC, PSEN => PSEN,
Приложение 2. Шаблоны HDL-редактора 593 PSCLK => CLKJN, RST => RST, CLKO => CLK0_W, LOCKED => LOCK, PSDONE => PSDONE ); - - DCM Instantiation for lhe FIXED mode.Note that the PSCLK.PSEN,PSINCDEC signals - are lied to Ground. The PSEN,PSINCDEC,PSDONE signals have to be removed from the — entity declaration and port lisl. - - UJDCM: DCM - port map ( CLKIN => CLKJN, CLKFB => CLK1X_W, DSSEN => GND, PSCLK => GND, PSEN => GND, PSINCDEC => GND, RST => RST, CLKO => CLKOJ/V, LOCKED => LOCK ); - - BUFG Instantialion UJ3UFG: BUFG port map ( I => CLKO_W. O=>CLK1X_W ); end BUFG PHASE_CLKO_SUBM_arch; PHASE CLK2X представляет типовой вариант применения модуля DCM для формиро- вания тактового сигнала с удвоенной частотой синхронизации, точной подстройкой фазы и предотвращением временных перекосов при его распространении внутри кристалла. - Module: BUFG_PHASEJDLK2X SUBM library IEEE; use IEEE.stdJogic_1l64.all; - - synopsys lranslate_off library UNISIM; use UNISIM.VCOMPONENTS.ALL; - - synopsys lranslate_on entity BUFG_PHASE_CLK2X_SUBM is port( CLKJN : in Stdjogic; RST : in stdjogic; PSEN : in stdjogic; PSINCDEC : in stdjogic; CLK2X : out stdjogic; LOCK : out sldjogic; PSDONE : out stdjogic ): end BUFG_PHASE_CLK2X_SUBM; architeclure BUFG_PHASE_CLK2X_SUBM_arch of BUFG_PHASE_CLK2X_SUBM is - Components Declarations: component BUFG port( I : in sldjogic; О : Out stdjogic ): 20 Зотов В.Ю.
594 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС end component; component DCM -- synopsys translate_off generic ( DLL_FREQUENCY_MODE : string := 'LOW"; DUTY_CYCLE_CORRECTION : boolean := TRUE; CLKOUT _PHASE_SHIFT: string := “VARIABLE"; PHASE_SHIFT : integer := 0; STARTUP_WAIT: boolean ;= FALSE ); -- synopsys translate_on port (CLKIN : in stdjogic; CLKFB ; in stdjogic; DSSEN : in sldjogic; PSINCDEC : in stdjogic; PSEN : in stdjogic; PSCLK : in stdjogic; RST : in stdjogic; CLKO : out sldjogic; CLK90 : oul stdjogic; CLK1 BO : oul sldjogic; CLK270 ; out stdjogic; CLK2X : out sldjogic; CLK2X180 ; out sldjogic; CLKDV : oul stdjogic; CLKFX : out stdjogic; CLKFX180 : out stdjogic; LOCKED : out stdjogic; PSDONE : out stdjogic; STATUS : out stdjogic_vector(7 downto 0) ); end component; - Attributes attribute DLL_FREQUENCY_MODE: string; attribute DUTY_CYCLE_CORRECT1ON : string; attribute CLKOUT_PHASE_SHIFT: siring; attribute PHASE_SHIFT : inleger; attribute STARTUP WAIT: string; attribute DLL_FREQUENCY_MODE of U_DCM: label is "LOW"; attribute DUTY_CYCLE_CORRECT1ON of U_DCM: label is "TRUE"; attribute CLKOUT_PHASE_SHIFT of U_DCM: label is "VARIABLE"; attribute PHASE_SHIFT of U_DCM: label is 0; attribute STARTUPJ/VAIT of U_DCM: label is "FALSE"; - Signal Declarations: signal GND: stdjogic; signal CLK2_W: stdjogic; signal CLK2X_W: stdjogic; begin GND <= 'O'; CLK2X <= CLK2_W; - DCM Instantiation - - DCM instantiation for the VARIABLE mode. U_DCM: DCM port map ( CLKIN => CLKJN. CLKFB => CLK2_W, DSSEN => GND, PSINCDEC => PSINCDEC.
Приложение 2. Шаблоны HDL-редактора 595 PSEN => PSEN, PSCLK => CLKJN, RST => RST, CLK2X => CLK2X_W, LOCKED => LOCK, PSDONE => PSDONE ); - - DCM Instantiation for lhe FIXED mode.Note thal the PSCLK,PSEN.PSINCDEC signals - - are lied Io Ground. The PSEN,PSINCDEC,PSDONE signals have to be removed from the - entity declaration and port list. - U_DCM: DCM - - port map ( CLKIN => CLKJN, CLKFB => CLK2_W, DSSEN => GND, PSCLK => GND, PSEN => GND, PSINCDEC => GND, RST => RST, CLK2X => CLK2X_W, LOCKED => LOCK ); - BUFG Instantiation U_BUFG:BUFG port map ( I => CLK2X_W, О => CLK2_W ); end BUFG_PHASE_CLK2X_SUBM_arch; PHASE CLKJDV представляет собой образец описания конструкции, реализующей син- тез тактового сигнала с частотой, определяемой разработчиком, с точной подстройкой фазы и устранением перекосов при его распространении. Соотношение частот входного и сформи- рованного сигналов синхронизации определяется коэффициентом, который задается с помо- щью атрибута CLKDVJDIVIDE. - Module: BUFG_PHASE_CLKDV_SUBM library IEEE; use IEEE.stdJogic_1164.all; - synopsys translale_off library UNISIM; use UNISIM.VCOMPONENTS.ALL; - synopsys translate_on entity BUFG_PHASE_CLKDV_SUBM is port( CLKJN : in sldjogic; RST : in stdjogic; PSEN : in sldjogic; PSINCDEC: in stdjogic; CLK_DIV : out stdjogic; CLK1X : oul stdjogic; LOCK : out stdjogic; PSDONE : out stdjogic ); end BUFG_PHASE_CLKDV_SUBM- architecture BUFG_PHASE_CLKDV_SUBM_arch of BUFG_PHASE_CLKDV_SUBM is - Components Declarations: component BUFG 20*
596 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС port ( I : in stdjogic; О : oul stdjogic ): end component; component DCM -- synopsys translate_off generic ( DLL_FREQUENCY_MODE : string := ‘LOW; DUTY_CYCLE_CORRECTION : boolean := TRUE; CLKOUT_PHASE_SHIFT : string := “VARIABLE"; PHASE_SHIFT : integer := 0; CLKDV_DIVIDE : real := 2.0; STARTUP J/VAIT : boolean := FALSE ); -- synopsys translate_on port ( CLKIN : in stdjogic; CLKFB : in stdjogic; DSSEN : in stdjogic; PSINCDEC : in stdjogic; PSEN : in stdjogic; PSCLK : in stdjogic; RST : in stdjogic; CLKO : out stdjogic; CLK90 : out stdjogic; CLK180 : out stdjogic; CLK270 : out stdjogic; CLK2X : out stdjogic; CLK2X180 : out stdjogic; CLKDV : out stdjogic; CLKFX : out stdjogic; CLKFX180 : out stdjogic; LOCKED : out stdjogic; PSDONE : out stdjogic; STATUS : out stdjogic_vector(7 downto 0) ); end component; - Attributes attribute DLL_FREQUENCY_MODE: string; attribute DUTY_CYCLE_CORRECTION: string; attribute CLKOUT_PHASE_SHIFT: string; attribute PHASE_SHIFT : integer; attribute CLKDVJJIVIDE : real; attribute STARTUP_WAIT: string; attribute DLL_FREQUENCY_MODE of U_DCM: label is “LOW"; attribute DUTY_CYCLE_CORRECTION of U_DCM: label is "TRUE"; attribute CLKOUT_PHASE_SHIFT of U_DCM: label is "VARIABLE"; attribute PHASE_SHIFT of U_DCM: label is 0; attribute CLKDV_DIVIDE of U_DCM: label is 2.0; attribute STARTUPJ/VAIT of U_DCM: label is "FALSE"; -- Signal Declarations: signal GND : stdjogic; signal CLK0_W: stdjogic; signal CLK1 X_W: stdjogic; signal CLKDV_W: stdjogic; signal CLK_DIV_W: stdjogic; begin GND <= '0';
Приложение 2. Шаблоны HDL-редактора 597 CLK1X <= CLK1X_W; CLK_DIV <= CLK_DIV_W; - DCM Instantiation - DCM instantiation for the VARIABLE mode. U_DCM: DCM port map ( CLKIN => CLKJN, CLKFB => CLK1XJV, DSSEN => GND, PSINCDEC => PSINCDEC, PSEN => PSEN, PSCLK => CLKJN, RST => RST, CLKO => CLKO_W, CLKDV => CLKDVJ/V, LOCKED => LOCK, PSDONE => PSDONE ); - - DCM Instantiation for the FIXED mode.Note that the PSCLK.PSEN,PSINCDEC signals - are tied to Ground. The PSEN.PSINCDEC,PSDONE signals have to be removed from the - entity declaration and port list. - UJDCM: DCM - port map ( CLKIN => CLKJN, CLKFB => CLK1X_W, DSSEN => GND, PSCLK => GND, PSEN => GND, PSINCDEC => GND, RST => RST, CLKO => CLKOJ/V, CLKDV => CLKDV_W, LOCKED => LOCK - - BUFG Instantiation for CLKO UO_BUFG: BUFG port map ( I => CLKOJ/V, O=> CLK1XJ/V ): - - BUFG Inslantiation for CLKDV U1_BUFG: BUFG port map ( I => CLKDVJ/V, О => CLK_DIV_W ); end BUFG_PHASE_CLKDV_SUBM_arch: PHASE CLKFX FB описывает способ применения модуля DCM для синтеза тактового сигнала с коэффициентом деления частоты синхронизации, определяемым с помощью атри- бутов CLKFXJVIULTIPLY и CLKFX_DIVIDE, точной подстройкой фазы и предотвращением временных перекосов при его распространении внутри кристалла. - Module: BUFG PHASE_CLKFX FB SUBM library IEEE; use lEEE.stdJogicJ 164.all; - - synopsys translate_off library UNISIM; use UNISIM.VCOMPONENTS.ALL; — synopsys translate_on
598 Зотов В. Ю. Проектирование цифровых устройств наюснове ПЛИС entity BUFG_PHASE_CLKFX_FB_SUBM is port ( CLKJN : in stdjogic; RST : in stdjogic; PSEN : in stdjogic; PSINCDEC: in stdjogic; CLK1X : out stdjogic; CLKFX : oul stdjogic; CLKFX180 : out stdjogic; LOCK ; oul stdjogic; PSDONE : out sld jogic ): end BUFG_PHASE_CLKFX_FB_SUBM; architecture BUFG_PHASE_CLKFX_FB_SUBM_arch of BUFG_PHASE_CLKFX_FB_SUBM is -- Components Declarations: component BUFG port( I : in sldjogic; О : out stdjogic ); end component; component DCM - synopsys translate_off generic { DLL_FREQUENCY_MODE : string := “LOW; DUTY_CYCLE_CORRECTION : boolean := TRUE; CLKOUT_PHASE_SHIFT : string := “VARIABLE"; PHASE_SHIFT : integer := 0; CLKFX-MULTIPLY : integer := 4; CLKFX_DIVIDE : integer := 1; STARTUP_WAIT : boolean := FALSE ); - - synopsys translate_on port (CLKIN : in stdjogic; CLKFB : in stdjogic; DSSEN : in stdjogic; PSINCDEC : in stdjogic; PSEN : in stdjogic; PSCLK : in stdjogic; RST : in stdjogic; CLKO : out stdjogic; CLK90 : oul stdjogic; CLK180 : out stdjogic; CLK270 : out stdjogic; CLK2X : out stdjogic; CLK2X180 : out stdjogic; CLKDV : out stdjogic; CLKFX : oul stdjogic; CLKFX180 : out std Jogic; LOCKED : out stdjogic; PSDONE : out stdjogic; ^STATUS : out sldjogic_veclor(7 downto 0) end component; - - Attributes attribute DLL_FREQUENCY_MODE : string; attribute DUTY_CYCLE_CORRECTION : string;
Приложение 2. Шаблоны HDL-редактора 599 attribute CLKOUT_PHASE_SHIFT: string; attribute PHASE-SHIFT : integer; attribute CLKFX_MULTIPLY: integer; attribute CLKFX-DIVIDE: integer; attribute STARTUP_WAIT: string; attribute DLL_FREQUENCY_MODE of U_DCM: label is "LOW; attribute DUTY_CYCLE_CORRECTION of U_DCM: label is “TRUE"; attribute CLKOUT_PHASE_SHIFT of U_DCM: label is "VARIABLE"; attribute PHASE-SHIFT of U_DCM: label is 0; attribute CLKFX_MULTIPLY of U_DCM: label is 4; attribute CLKFX_DIVIDE of U_DCM: label is 1; attribute STARTUP_WAIT of U_DCM: label is "FALSE"; -- Signal Declarations: signal GND: stdjogic; signal CLK0_W: stdjogic; „ signal CLK1X_W: stdjogic; signal CLKFX_W: stdjogic; signal CLKF-W: stdjogic; signal CLKFX180_W: stdjogic; signal CLKF180—W: stdjogic; begin GND <= O’; CLK1X<=CLK1X_W; CLKFX <= CLKF-W; CLKFX180 <= CLKF180_W; - - DCM Instantiation - - DCM instantiation for tbe VARIABLE mode. U-DCM: DCM port map ( CLKIN => CLKJN, CLKFB => CLK1X_W, DSSEN => GND, PSINCDEC => PSINCDEC, PSEN => PSEN, PSCLK => CLKJN, RST => RST, CLKO => CLKO-W, CLKFX => CLKFX-W, CLKFX180 => CLKFX180_W, LOCKED => LOCK, PSDONE => PSDONE - DCM Instantiation for tbe FIXED mode.Note that the PSCLK,PSEN,PSINCDEC signals - are tied to Ground. The PSEN,PSINCDEC,PSDONE signals have to be removed from lhe - entity declaralion and port list. - U-DCM: DCM - - port map ( CLKIN => CLKJN, CLKFB => CLK1X_W. DSSEN => GND, PSCLK => GND, PSEN => GND, PSINCDEC => GND, RST => RST, CLKO => CLKO-W, CLKFX => CLKFX-W, CLKFX180 => CLKFX180_W LOCKED => LOCK
600 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС — BUFG Instantiation for CLKO U0_BUFG: BUFG port map ( I => CLK0_W, О => CLK1X_W ); - BUFG Instantiation for CLKFX U1_BUFG: BUFG port map ( I => CLKFX_W, О => CLKF_W ); -- BUFG Instantiation for CLKFX180 U2_BUFG:BUFG port map ( I => CLKFX180_W, О => CLKF180_W ); end BUFG_PHASE_CLKFX_FB_SUBM_arch; Distributed RAM представляет собой папку, в которой сосредоточены образцы деклара- ции и инициализации компонентов статических синхронных оперативных запоминающих устройств (ОЗУ) различного типа, которые реализуются в виде распределенной памяти ПЛИС. Список доступных элементов синхронной распределенной памяти определяется ти- пом кристалла, выбранного для реализации проектируемого устройства. Компоненты рас- пределенных ОЗУ с информационной емкостью 16 и 32 слова могут использоваться в про- цессе разработки систем на базе основных современных семейств ПЛИС FPGA, выпускае- мых фирмой Xilinx: Spartan-11, Spartan-ПЕ, Virtex, Virtex-E, Virtcx-II, Virtex-II PRO. Элемен- ты распределенной памяти с объемом 64 и 128 слов предназначены для применения только в проектах, выполняемых на кристаллах семейств Virtex-II, Virtex-П PRO. В приведенных ниже образцах, описывающих применение компонентов распределенных однопортовых ОЗУ, используются следующие обозначения интерфейсных выводов (портов): WCLK соответствует входу синхронизации, WE - входу разрешения записи, АО - А6 - ад- ресным входам, D, DO - D3 - входам данных, О, ОО - ОЗ - информационным выходам ОЗУ. Количество адресных, входных и выходных портов определяется информационной емкостью соответствующего элемента ОЗУ. Занесение входных данных в ОЗУ производится по фронту сигнала синхронизации при нали- чии высокого логического уровня на входе разрешения записи WE. При отсутствии фронта такто- вого сигнала и высоком логическом уровне на входе разрешения записи WE данные из ячейки, номер которой определяется состоянием сигналов па адресных входах, передаются на выходы ОЗУ. Операция чтения данных из ОЗУ выполняется также при наличии низкого логического уров- ня на входе WE независимо от поведения сигнала синхронизации. Инициализация содержимого запоминающего устройства при конфигурировании ПЛИС или моделировании проекта осуществляется с помощью атрибутов INIT или INIT_XX, в за- висимости от типа ОЗУ и используемого семейства ПЛИС. Для инициализации содержимого элемента распределенной памяти, имеющего одноразрядную организацию, применяется ат- рибут INIT, значение которого задается в виде строки шестнадцатеричных символов. Коли- чество символов в строке определяется информационной емкостью соответствующего эле- мента запоминающего устройства. Например, для элемента ОЗУ. имеющего организацию 64 слова X I разряд, строка инициализации содержит 16 шестнадцатеричных символов: "ОООООООООООООООО". В элементах распределенной оперативной памяти, длина слова кото- рых составляет более одного разряда, инициализация содержимого возможна только при использовании кристаллов из семейств Virtex-II и Virlex-11 PRO. Начальное состояние ячеек ОЗУ, реализуемых на базе ПЛИС указанных серий, определяется с помощью атрибутов
Приложение 2. Шаблоны HDL-редактора 601 INIT_XX. Количество выражений, описывающих эти атрибуты, должно соответствовать раз- рядности слов в используемом элементе распределенной оперативной памяти. Например, для инициализации злемента ОЗУ, имеющего организацию 64 слова X 2 разряда, необходимы атрибуты INIT_00 и INIT_0I. Каждый из атрибутов 1N1T_XX определяет значение соответ- ствующего разряда во всем диапазоне адресов ячеек. Значение каждого такого атрибута ука- зывается в виде строки шестнадцатеричных символов, количество которых соответствует информационной емкости соответствующего элемента запоминающего устройства. Напри- мер, для элемента ОЗУ, имеющего организацию 64 слова X 2 разряда, значения атрибутов INIT_00 и INIT_0I задаются в виде строк, каждая из которых состоит из 16 шестнадцатерич- ных символов. Выражение инициализации с атрибутом INIT_00 определяет начальное со- стояние ячеек ОЗУ, соответствующих первому разряду слова, a INIT_0I — второму. Для компонентов двухпортовых ОЗУ используется следующая система обозначений ин- терфейсных выводов: WCLK - соответствует входу синхронизации, WE - входу разрешения запи- си, АО - А6 - адресным входам первого порта, DPRA0 - DPRA6 - адресным входам второго порта, D - входу данных, SPO - информационному выходу первого порта ОЗУ, DPO - информационно- му выходу второго порта ОЗУ. Количество адресных входов определяется информационной емко- стью соответствующего элемента ОЗУ. Все представленные элемента распределенной двухпорто- вой памяти имеют одноразрядную организацию. Инициализация содержимого двухпортовых ОЗУ выполняется с помощью тех же атрибутов, что и для однопортовых одноразрядных запоминаю- щих устройств. Первый порт в элементах двухпортовых запоминающих устройств, который вклю- чает в себя адресные входы АО - А6 и выход SPO, предназначен только для чтения информации, хранящейся в ОЗУ. Второй порт (с адресными входами DPRA0 - DPRA6 и выходом DPO) позво- ляет выполнять как операции чтения, так и записи входных данных. Запись входных данных в ОЗУ производится по фронту сигнала синхронизации при наличии высокого логического уровня на входе разрешения WE. RAMI6XID представляет собой образец описания двухпортового ОЗУ, информационная емкость которого составляет 16 слов X I разряд, синтезируемого в виде распределенной памяти ПЛИС. В состав этого шаблона включена только декларация компонента. -16-Deep by 1-Wide Static Dual Port Synchronous RAM component RAM16X1D port( WE: in stdjogic, D: in sldjogic; WCLK: in sldjogic; AO: in stdJogic; A1 : in stdjogic; A2: in stdjogic; A3: in stdjogic; DPRAO: in stdjogic; DPRA1 : in stdjogic; DPRA2: in stdjogic; DPRA3: in stdjogic: SPO: out stdjogic; DPO : out stdjogic end component; RAM 16X IS включает в себя образец декларации компонента однопортового распреде- ленного ОЗУ с информационной емкостью 16 слов X I разряд. -16-Deep by 1-Wide Static Synchronous RAM component RAM16X1S port ( D: in stdjogic;
602 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС WCLK: in stdjogic; АО: in stdjogic; А1 : in stdjogic; A2: in stdjogic; A3: in stdjogic; WE: in stdjogic; О: oul sldjogic ); end component; RAM32X1S содержит шаблон декларации компонента, представляющего однопортовое ОЗУ с информационной емкостью 32 слова X 1 разряд, которое синтезируется в виде распре- деленной памяти ПЛИС. -32-Deep by 1-Wide Static Synchronous RAM componenl RAM32X1S port { D: in stdjogic; WCLK: in stdjogic; AO: in stdjogic; Al : in stdjogic; A2: in stdjogic; A3: in stdjogic; A4 : in stdjogic; WE: in stdjogic; О: out stdjogic ); end component; RAM64X1D представляет собой пример использования элемента двухпортового ОЗУ информационной емкостью 64 слова X 1 разряд, синтезируемого в виде распределенной па- мяти ПЛИС. В состав этого шаблона включены образцы декларации и инициализации соот- ветствующего компонента распределенной памяти. ---Component RAM64X1D — component RAM64X1D -- synopsys translale_off generic ( INIT : bit_vector := X'OOOOOOOOOOOOOOOOJ; - synopsys translate_on port (D : in stdjogic; WE : in stdjogic; WCLK : in stdjogic; AO : in stdjogic; A1 : in stdjogic; A2 : in stdjogic; A3 : in stdjogic; A4 : in stdjogic; A5 : in stdjogic; DPRAO: in stdjogic; DPRA1 : in stdjogic; DPRA2: in stdjogic; DPRA3: in stdjogic; DPRA4: in stdjogic; DPRA5: in stdjogic; SPO : out stdjogic; DPO : out stdjogic); end component;
Приложение 2. Шаблоны HDL-редактора 603 attribute INIT: string: attribute INIT of RAM_EXAMPLE : label is "0000000000000000"; RAM64X1D 1 содержит образец декларации и инициализации элемента двухпортовой распределенной памяти, который имеет организацию 64 слова X I разряд и тактируется спа- дом сигнала синхронизации. -- INIT: Data Memory ---Component RAM64X1 D_1----- component RAM64X1 D_1 generic( INIT : bit_vector := X‘0000000000000000"); port (D : in stdjogic: WE : in stdjogic: WCLK : in sldjogic; AO : in stdjogic: A1 : in stdjogic; A2 : in stdjogic; A3 : in stdjogic; A4 : in stdjogic; A5 : in stdjogic; DPRAO: in stdjogic; DPRA1 : in sldjogic; DPRA2: in stdjogic; DPRA3; in stdjogic; DPRA4: in stdjogic; DPRA5: in stdjogic; SPO : out sldjogic; DPO : oul stdjogic); end component; RAM64XIS - шаблон, описывающий применение компонента однопортового ОЗУ, ин- формационная емкость которого составляет 64 слова X I разряд. В структуре этого шаблона представлены образцы декларации и инициализации соответствующего компонента распре- деленной памяти. ----Component RAM64X1S---------- component RAM64X1S -- synopsys lranslate_ofl generic ( INIT : bit_vector := X'0000000000000000-); - synopsys translate_on port (D : in sldjogic; WE : in stdjogic; WCLK : in stdjogic; AO : in stdjogic; A1 : in sldjogic; A2 : in stdjogic; A3 : in stdjogic; A4 ; in stdjogic; A5 ; in stdjogic; О : out stdjogic); end component; attribute INIT: string; attribute INIT of RAM_EXAMPLE : label is "0000000000000000'';
604 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС RAM64XIS 1 описывает применение компонента однопортового запоминающего уст- ройства с информационной емкостью 64 слова X 1 разряд, запись в которое производится по спаду тактового сигнала. - INIT: Data Memory ---Component RAM64X1 S_1 — component RAM64X1S_1 generic ( INIT: biLvector := x'0000000000000000"); port (D : in stdjogic; WE : in stdjogic; WCLK: in stdjogic; AO : in sldjogic; A1 : in stdjogic; A2 : in stdjogic; A3 : in sldjogic; A4 : in sldjogic; A5 : in stdjogic; О : out stdjogic); end component; RAM128X1S включает в себя образец декларации и инициализации компонента однопор- тового распределенного ОЗУ информационной емкостью 128 слов X 1 разряд. Для определе- ния начального содержимого этого элемента памяти необходима строка, состоящая из три- дцати двух шестнадцатеричных символов. - INIT: Data Memory ---Component RAM128X1S-------- component RAM128X1S generic( INIT : bit_veclor := Х’^ООООООООООООООООООООООООООООООО"); port (D : in stdjogic; WE : in stdjogic; WCLK: in stdjogic; AO : in stdjogic; A1 : in stdjogic; A2 : in stdjogic; A3 : in stdjogic; A4 : in stdjogic; A5 : in stdjogic; AS : in stdjogic; О : out stdjogic); end component; RAM128XIS 1 представляет собой образец применения элемента однопортового ОЗУ, информационная емкость которого составляет 128 слов X 1 разряд. В отличие от компонен- та, описываемого в предыдущем шаблоне, запись входных данных в этом элементе памяти осуществляется по спаду сигнала синхронизации. -- INIT: Data Memory ---Component RAM128X1S_1------- component RAM128X1S..1 generic (
Приложение 2. Шаблоны HDL-редактора 605 INIT: biLvector := Х'ОООООООООООООООООООООООООООООООО'); port (D : in sldjogic; WE : in stdjogic; WCLK: in stdjogic; AO : in sldjogic; A1 : in sldjogic; A2 : in sldjogic; A3 : in stdjogic; A4 : in stdjogic; A5 : in stdjogic; A6 : in stdjogic; О : out stdjogic); end component; RAMI6X4S содержит шаблон декларации и инициализации компонентов однопортового распределенного ОЗУ информационной емкостью 64 бит с организацией 16 слов X 4 разряда. Следует обратить внимание на то, что выражения, описывающие инициализацию содержи- мого этого элемента памяти, действительны только при использовании кристаллов из се- мейств Virtex-II и Virtex-II PRO. В качестве примера, в шаблоне приведен всего один атри- бут, определяющий начальное состояние ячеек ОЗУ, соответствующих первому разряду сло- ва. Для полной инициализации содержимого этого элемента необходимо четыре атрибута INIT_XX: INIT_00, INIT_01, INIT_02, INIT_03. Значение каждого из этих атрибутов задастся в виде строки, состоящей из четырех шестнадцатеричных символов. — Component RAM16X4S — component RAM16X4S - synopsys translale_off generic ( INIT_00 : bit_vector(15 downto 0) := X’0000"; INITJ31 : bit_vector(15 downto 0) := X'0000"; INIT_02 : bit_vector(15 downto 0) := X"0000"; INIT.03 : bit_vector(15downto 0) := X'0000' ); - synopsys translate_on port (DO : in stdjogic; D1 : in stdjogic; D2 ; in stdjogic; D3 : in stdjogic; WE : in sldjogic; WCLK: in stdjogic; A0 : in sldjogic; A1 : in sldjogic; A2 : in sldjogic; A3 : in stdjogic; 00 : out stdjogic; O1 : out stdjogic; 02 : out stdjogic; 03 : out stdjogic ); end component; attribute INIT_00: string; attribute INIT_00 of RAM_EXAMPLE : label is "ОООО”; RAMI6X8S - пример использования компонента, описывающего однопортовое ОЗУ с информационной емкостью 128 бит и организацией 16 слов X 8 разрядов. Информационные
606 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС входы и выходы этого элемента памяти представлены в виде шин, которые описываются с помощью восьмиразрядных битовых векторов. Текст шаблона содержит четыре из восьми необходимых параметров инициализации и один из восьми соответствующих атрибутов. ---Componenl RAM16X8S-------- component RAM16X8S - synopsys translate_off generic ( INIT_OO : bit_vector(15 downto 0) := X“0000"; INIT_01 : bit_vector(15 downto 0) := X"0000"; INIT.02 : bit_vector(15 downto0) := X’0000"; INIT_03 : bit_vector(15 downto 0) := X‘0000"; ); - synopsys translate_on port (D : in STD_LOGIC_VECTOR (7 DOWNTO 0); WE : in STDJogic; WCLK: in STDJogic; A0 : in STOJogic; A1 : in STDJogic; A2 : in STDJogic; A3 : in STOJogic; О : out STD_LOGIC_VECTOR (7 DOWNTO 0) ); end component; attribute INIT_00: string; attribute INIT_00 of RAM_EXAMPLE : label is "0000"; RAM32X2S. RAM32X4S представляют собой образцы декларации и инициализации компонентов однопортового ОЗУ информационной емкостью 32 слова X 2 разряда и 32 сло- ва X 4 разряда соответственно. Эти шаблоны имеют одинаковую структуру, отличаясь толь- ко количеством параметров инициализации и информационных входов и выходов. Выраже- ния, описывающие параметры и атрибуты инициализации, следует включать в состав форми- руемого модуля только при использовании кристаллов семейств Virtex-II и Virtex-II PRO. Для определения начального состояния всех ячеек памяти элемента RAM32X2S требуется два параметра INIT_XX (INIT_00, INIT_01) и два соответствующих атрибута, а для RAM32X4S - четыре параметра INIT_XX (INIT_00, INIT_01, INIT_02, INIT_03) и четыре соответствующих атрибута. Ниже приведен текст шаблона RAM32X4S. --Component RAM32X4S-------- component RAM32X4S - synopsys translate_off generic ( INITJX): bit_vector(31 downto 0) := X’00000000"; IN|T_01 : bit_vector(31 downto 0) := X"00000000"; INIT_02 : bit_vector(31 downto 0) := X"00000000"; j INIT_03 : bit_vector(31 downto 0) := X"00000000" - synopsys translale_on port (DO : in STDJogic; D1 : in STDJogic; D2 : in STDJogic; D3 : in STDjogic; WE : in STDJogic; WCLK : in STDJogic; A0 : in STDJogic; A1 : in STDJogic;
Приложение 2. Шаблоны HDL-редактора 607 А2 : in STDJogic; АЗ : in STDJogic; A4 : in STDJogic; OO : out STDJogic; O1 : out STD Jogic; 02 : out STDJogic; 03 : out STDJogic ): end component; attribute INlT_00: string; attribute INIT.00 of RAM.EXAMPLE : label is"00000000"; RAM32X8S содержит пример использования компонента, представляющего однопорто- вое ОЗУ с информационной емкостью 32 слова X 8 разрядов, которое реализуется в виде распределенной памяти ПЛИС. В этом шаблоне значения параметров и атрибутов инициали- зации задаются в форме строки, состоящей из восьми шестнадцатеричных символов. Пара- метры и атрибуты инициализации, представленные в шаблоне, предназначены для моделиро- вания и реализации соответствующего элемента памяти только на базе ПЛИС семейств Virtex-II и Virtex-П PRO. - - INIT: Data Memory — Component RAM32XBS----- component RAM32X8S generic ( INIT_OO: bit_vector(31 downto 0) := X'OOOOOOOO"; INIT_01 : bit_vector(31 downto 0) := X'00000000"; INIT_02 : bit_vector(31 downto 0) := X"00000000"; INIT_03: bit_vector(31 downto 0) := X‘00000000"; ); port (D : in STD_LOGIC_VECTOR (7 DOWNTO 0); WE : in STDJogic; WCLK: in STDJogic; AO : in STDJogic; A1 : in STDJogic; A2 : in STDJogic; A3 : in STDJogic; A4 : in STDJogic; О : out STD_LOGIC_VECTOR ( 7 DOWNTO 0) ); end component; RAM64X2S описывает применение компонента однопортового запоминающего устрой- ства с информационной емкостью 64 слова X 2 разряда. В этом шаблоне значения парамет- ров и атрибутов инициализации указываются в виде строки, состоящей из 16 шестнадцате- ричных символов. - - INIT: Data Memory ---Component RAM64X2S------- component RAM64X2S generic ( INIT.00 : bit_vector(63 downto 0) := X"0000000000000000"; INIT_01 : bit_vector(63 downto 0) := X“0000000000000000"
608 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС port (DO : in std_k>gic; D1 : in stdjogic; WE : in sldjogic; WCLK: in stdjogic; AO ; in stdjogic; A1 : in stdjogic; A2 : in sldjogic; A3 : in stdjogic; A4 : in stdjogic; A5 : in stdjogic; OO : out stdjogic; O1 : out stdjogic ); end component; Distributed ROM - папка, в которой представлены типовые образцы декларации компо- нентов постоянных запоминающих устройств (ПЗУ), которые реализуются в виде распреде- ленной памяти ПЛИС. В шаблонах этой группы используется следующая система обозначе- ний портов: АО - А4 - соответствуют адресным входам, О - выходу ПЗУ. Количество адрес- ных входов определяется информационной емкостью декларируемого элемента ПЗУ. ROM16X1. ROM32XI содержат объявления компонентов, представляющих элементы ПЗУ с организацией 16 слов X I разряд и 32 слова X 1 разряд соответственно. Эти шаблоны имеют одинаковую структуру, отличаясь только количеством адресных входов. В качестве примера, ниже приводится текст шаблона ROM32XI. В описании ROMI6X1 отсутствует адресный вход А4. -32-Deep by 1-Wide Static ROM component ROM32X1 Port ( AO: in stdjogic; A1 : in stdjogic; A2: in stdjogic; A3: in stdjogic; A4: in stdjogic; О: out stdjogic end component; Global Clock Buffer представляет собой папку, в которой сосредоточены описания типо- вых вариантов применения глобальных буферных элементов. Глобальные буферы предна- значены для передачи входных сигналов синхронизации на специальные выделенные цепи, обеспечивающие распределение тактового сигнала внутри кристалла с высоким коэффици- ентом разветвления и минимальными разбегами фронтов. BUFG содержит образец применения компонента, представляющего глобальный буфер, необходимый для коммутации сигнала синхронизации, который поступает на тактовые вхо- ды ПЛИС, для последующего распределения его внутри кристалла с минимальным времен- ным перекосом задержек. Этот шаблон состоит из двух частей. Первая секция, в которой представлена декларация соответствующего компонента BUFGP, должна располагаться в начальной части архитектурного тела (между ключевыми словами "architecture" and "begin"). Второй фрагмент, в котором описывается создание экземпляра этого элемента, следует по- местить после ключевого слова "begin". -Instantiating BUFGP on Input Port — INPUT_PORT: in stdjogic;
Приложение 2. Шаблоны HDL-редактора 609 component BUFGP port (I: in Stdjogic; O: out sldjogic); end component; -"Insert the following after the 'begin' keyword" signal CLK_SIG: stdjogic; U1: BUFGP port map (I => INPUT_PORT, О => CLK_SIG); BUFGCE представляет собой образец описания глобального буфера со стробируемым выходом, предназначенного для применения в проектах, реализуемых па базе ПЛИС се- мейств Virtex-II и Virtex-II PRO. Этот шаблон выполнен в виде законченного описания суб- модуля, построенного на основе библиотечного компонента BUFGMUX, который будет рас- смотрен ниже. Для обозначения интерфейсных цепей субмодуля используются следующие идентификаторы: I соответствует входу сигнала синхронизации; СЕ - входу разрешения передачи входного сигнала на выход буфера, О - выходу. При наличии сигнала высокого логического уровня на входе разрешения СЕ тактовый сигнал, поступающий на вход I, пере- дается на выход О. Низкий логический уровень сигнала на входе СЕ блокирует выход гло- бального буфера, переключая его в состояние логического нуля. -Module: BUFGCE_SUBM library IEEE; use IEEE.std_togic_1164.all; - synopsys translate_ofl library UNISIM; use UNISIM.VCOMPONENTS.ALL; - synopsys translate_on entity BUFGCE_SUBM is Port ( I: in stdjogic; CE: in stdjogic; O: out stdjogic ); end BUFGCE_SUBM; architecture BUFGCE_SUBM_arch of BUFGCE_SUBM is - Component Declarations: componenl BUFGMUX port ( 10 : in stdjogic; 11 : in stdjogic; S : in stdjogic; О : out stdjogic ); end component; - signal declarations signal GND: stdjogic; signal CE_B: stdjogic; begin GND <= 'O';
610 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС СЕ_В <= not СЕ; - Global Clock Buffer Instantiation U_BUFGMUX: BUFGMUX port map ( 10 => I, 11 => GND, S => CE_B, О => О ); end BUFGCE_SUBM_arch; BUFGCE 1 описывает субмодуль, представляющий глобальный буфер со стробируемым выходом, который предназначен для использования в проектах, реализуемых на базе кри- сталлов семейств Virtex-II и Virtex-II PRO. Структура этого шаблона и система обозначений интерфейсных цепей те же, что и в предыдущем описании. В отличие от BUFGCE выход глобального буфера, представленного в шаблоне BUFGCE_I, в режиме блокировки пере- ключается в состояние высокого логического уровня. Основу описываемой конструкции составляет компонент BUFGMUX_I, рассматриваемый далее. - Module: BUFGCE_1_SUBM library IEEE; use IEEE.stdJogic_1164.all; - - synopsys translale_off library UNISIM; use UNISIM.VCOMPONENTS.ALL; - synopsys translate_on entity BUFGCE_1_SUBM is port ( I: in sldjogic; CE: in stdjogic; O: out stdjogic ); end BUFGCE_1_SUBM; architecture BUFGCE_1_SUBM_arch of BUFGCE_1_SUBM is -- Component Declarations: componenl BUFGMUX_1 port( 10 : in stdjogic; 11 : in stdjogic; S : in sldjogic; О : out stdjogic ): end component; - signal declarations signal VCC: sldjogic; signal CE_B: stdjogic; begin
Приложение 2. Шаблоны HDL-редактора 611 VCC <= 'Г; ’ СЕ_В <= not СЕ; - Global Clock Buffer Instantiation U_BUFGMUXJ: BUFGMUX_1 port map ( 10 => I, 11 => VCC, S => CE_B, О =>O ); end BUFGCE_1_SUBM_arch; BUFGMUX содержит образец применения библиотечного компонента, представляющего глобальный буфер с двумя мультиплексируемыми входами. Этот компонент может приме- няться только в проектах, выполняемых на базе ПЛИС семейств Virtex-II и Virtex-II PRO. Для обозначения его интерфейсных цепей (портов) используются следующие идентификато- ры: 10 и II соответствуют входам тактовых сигналов, S - входу выбора сигнала синхрониза- ции, О - выходу буфера. Если на вход выбора S подается сигнал низкого логического уровня, то на выходе глобального буферного элемента присутствует тактовый сигнал, поступающий на вход 10. При высоком логическом уровне сигнала на входе S на выход буфера передается сигнал синхронизации со входа II. В момент переключения сигнала на входе выбора выход глобального буфера находится в состоянии логического нуля. Структура шаблона включает в себя две секции. В первой части приведен образец декларации компонента BUFGMUX. Во второй секции описывается создание экземпляра указанного элемента. -Module: BUFGMUXJNST - Component Declarations: component BUFGMUX port ( 10 : in stdjogic; I 11 : in stdjogic; S : in stdjogic; О : out stdjogic ): end component; — Architecture seclion: - Global Clock Buffer Instantiation U BUFGMUX: BUFGMUX port map ( IO => , - insert clock input used when select (S) is Low 11 => , - insert clock input used when select (S) is High S =>, - insert Mux-Select input О => - insert clock oulput ): BUFGMUX 1 представляет собой образец использования глобального буфера с твумя мультиплексируемыми входами, который предназначен для комму гании сигнала синхрони- зации в устройствах, реализуемых па базе кристаллов серий Virtex-II и Virtex-II PRO. В от- личие от элемента, описываемого в предыдущем шаблоне, выход глобального буфера
612 Зотов В. Ю. Проектирование цифровых устройств па основе ПЛИС BUFGMUXI в момент переключения сигнала выбора переводится в состояние высокого логического уровня. - Module: BUFGMUX_1_INST - Component Declarations: component BUFGMUX_1 port ( IO : in stdjogic; II tin stdjogic; S : in stdjogic; О : out stdjogic ); end component - Architecture section: - Global Clock Buffer Instantiation U_BUFGMUX_1: BUFGMUX_1 port map ( IO => , -- insert clock input used when select (S) is Low 11 => , - insert clock input used when select (S) is High S insert Mux-Select input О => - insert clock output ); LUT - папка, в которой расположены типовые варианты декларации и инициализации компонентов, описывающих таблицы преобразования (Look-Up-Table, LUT) кристаллов се- мейств FPGA. В шаблонах этой группы используется следующая система обозначений пор- тов: 10 - 13 соответствует входам, О - выходу таблицы преобразования. LUTL LUT2. LUT3. LUT4 представляют собой образцы описания соответственно одно- входового, двухвходового, трехвходового и четырехвходового вариантов использования таблиц преобразования ПЛИС FPGA. Эти шаблоны имеют одинаковую структуру, отличаясь только количеством входов и названием соответствующих компонентов. В качестве примера ниже приводится текст шаблона LUT4. Первая часть включает в себя выражения декларации элемента таблицы преобразования. Во второй секции представлены образцы инициализации компонента и его экземпляра. Инициализация выполняется с помощью атрибута INIT, значе- ние которого задается в виде шестнадцатеричного символа. -4-Bit Look-Up-Table with General Outpul component LUT4 port ( 10 : in stdjogic; 11 : in stdjogic; 12 : in stdjogic; 13 : in stdjogic; О: out stdjogic ); end component; - - Attribute applied to instantiation attribute INIT: string; attribute INIT of u1 : label is "B";
Приложение 2. Шаблоны HDL-редактора 613 - - Attribute applied to component attribute INIT; siring; attribute INIT of LUT4 : component is "B"; MUX - папка, в которой расположены образцы декларации компонентов, представляю- щих мультиплексоры, входящие в состав логики ускоренного переноса и дополнительной логики кристаллов основных семейств FPGA. MUXCY включает в себя шаблон декларации мультиплексора 2 в 1, предназначенного для реализации функции ускоренного переноса в ПЛИС семейств FPGA. - - 2-to-1 Multiplexer for Carry Logic with General Output component MUXCY port( DI: in stdjogic; Cl: in stdjogic; S: in stdjogic; О: out stdjogic ); end component; MUXF5. MUXF6 содержат образцы декларации компонентов, представляющих мультип- лексоры F5 и F6, входящие в состав дополнительной логики кристаллов FPGA. Содержимое этих шаблонов отличается только названием декларируемого компонента. Ниже, в качестве примера, приводится текст шаблона MUXF5, где 10 и II соответствуют входам мультиплек- сора F5, подключаемым к выходам функциональных генераторов. В мультиплексоре F6 пор- ты 10 и И соответствуют входам, подключаемым к выходам мультиплексоров F5. Порты S и О соответствуют входу выбора и выходу мультиплексоров F5 и F6. -2-to-1 Lookup Table Multiplexer with General Output component MUXF5 Port ( IO; in stdjogic; 11 : in sldjogic; S; in stdjogic; О: out stdjogic ): end component; SelectlO представляет собой папку, в которой сосредоточены описания типовых вариан- тов применения специальных буферных элементов, которые позволяют разработчику указать стандарт интерфейса ввода/вывода для соответствующего контакта ПЛИС. В названиях ком- понентов, которые описываются в шаблонах этой группы, следует заменить символы XXX идентификаторами, соответствующими выбранному стандарту интерфейса ввода/вывода. Перечень возможных обозначений, указываемых вместо XXX, для каждого элемеша опре- деляется списком поддерживаемых стандартов ввода/вывода для используемого кристалла. В структуре шаблонов, которые находятся в рассматриваемой папке, можно выделить две секции. Выражения декларации используемых сигналов и компонента, расположенные в первой части шаблонов, следует поместить в начале архитектурного тела перед ключевым словом "begin''. Строки из второй секции, описывающие создание экземпляров компонентов, должны располагаться после ключевого слова "begin". SelecIlO bidirectional bul'fers содержит образец описания специального двунаправленного буфера, который предоставляет возможность выбора стандарта интерфейса для соответст- вующих выводов ПЛИС. Для обозначения его интерфейсных цепей (портов) используются следующие идентификаторы: 10 и О соответствуют входу и выходу, которые подключаются
614 Зотов В- Ю. Проектирование цифровых устройств на основе ПЛИС к внутренним целям кристалла, Т - входу управления, 10 - двунаправленному выходу буфе- ра, соединяемому с соответствующим выводом ПЛИС - INOUT_PORT: inout STD_LOGIC; Signal IN_SIG, OUT_SIG, T_ENABLE: stdjogic; component IOBUF_XXX port (I, T: in stdjogic; O: out stdjogic; IO: inout stdjogic); end component; -"Insert the following after the 'begin' keyword** Ul: IOBUF.XXX port map (I => OUT.SIG, T => T_ENABLE, О => IN_SIG, IO => INOUT_PORT); SelectIO input buffers - шаблон, описывающий применение компонента - специального входного буфера, который позволяет выбрать требуемый стандарт интерфейса. Порты I и О соответствуют входу и выходу буфера. - INPUT_PORT : in STDJ.OGIC; signal INT_SIG: stdjogic; component IBUF_XXX port (I: in stdjogic; O: out stdjogic); end component; -"Insert the following after the 'begin' keyword** U1: IBUF-XXX port map (I => INPUT_PORT, О => INT_SIG); SelectIO clock buffers включает в себя образец использования компонента, представляю- щего специальный буфер тактового сигнала, который позволяет задать тип интерфейса вво- да/вывода. - INPUT_PORT : in STDJ-OGIC; -"Insert the following between the - 'architecture' and 'begin' keywords** signal CLK_SIG: sldjogic; component IBUFG_XXX port (I: in stdjogic; O: out stdjogic); end component; -"Insert the following after the ’begin’ keyword" Ul: IBUFG_XXX port map (I => INPUT_PORT, О => CLK_SIG); SelectIO output buffers представляет типовой вариант описания специального выходного буфера, который имеет- опцию выбора интерфейса ввода/вывода. - OUTPUT_PORT: out STDJOGIC; signal INT_SIG: stdjogic; component OBUF_XXX port (I: in stdjogic; O: out Stdjogic); end componenl; -"'Insert the following after the 'begin' keyword" U1: OBUF_XXX port map (I => INT_SIG. О => OUTPUT_PORT); SelectIO output buffers with tri-state содержит шаблон применения специального выходно- го буфера с тристабильным выходом, который позволяет выбрать необходимый тип интер- фейса ввода/вывода. Порты I и О описывают соответственно информационный вход и выход буфера, Т - вход управления третьим состоянием. При низком логическом уровне сигнала на входе управления Т информационный сигнал, поступающий на вход I, передается на выход
Приложение 2. Шаблоны HDL-редактора 615 буфера. При подаче сигнала высокого логического уровня на вход управления, выход буфера переключается в "третье" (высокоимпедансное) состояние. - OUTPUT_PORT: out STDJ.OGIC; signal INT_SIG, T_ENABLE: stdjogic; component OBUFT_XXX port (I, T: in stdjogic; O: out stdjogic); end component; -"Insert the following after the 'begin' keyword** U1: OBUFT_XXX port map (I => INT_SIG, T => T_ENABLE, О => OUTPUT_PORT); SRLUT - папка, в которой расположены образцы декларации и инициализации компо- нентов, описывающих регистры сдвига, реализуемые на базе таблиц преобразования (LUT) кристаллов семейств FPGA. Сдвиговые регистры, построенные на основе LUT-элементов, являются шестнадцатиразрядными с точки зрения внутренней организации. Но выходным разрядом регистра может быть выбран любой из шестнадцати. Количество используемых разрядов регистра сдвига (т. е. номер разряда, с которого данные поступают на выход) опре- деляется состоянием сигналов на входах АО - АЗ. При низком логическом уровне сигнала на всех этих входах таблица преобразования выполняет функции одноразрядного регистра сдвига, а при высоком - шестнадцатиразрядного. В шаблонах этой группы используется сле- дующая система обозначений портов: АО - АЗ соответствуют входам выбора разрядности сдвигового регистра, D - входу данных, Q - выходу, CLK - входу синхронизации, СЕ - вхо- ду разрешения записи, QI5 - выходу шестнадцатого разряда, предназначенному для каскад- ного соединения нескольких регистров сдвига, которое выполняется с целью получения большей разрядности. Начальное содержимое этих регистров сдвига определяется с помо- щью параметров и атрибутов INIT, значение которых задается в виде строки, состоящей из четырех шестнадцатеричных символов. SRL16 содержит шаблон использования компонента, представляющего регистр сдвига (выполненный на основе LUT-злемента ПЛИС), управляемый фронтом тактового сигнала. — Component SRL16 — component SRL16 - synopsys translate_off generic ( INIT: bit_vector := X'OOOO*); - - synopsys translate_on port (D : in STDJogic; CLK : in STDJogic; AO : in STDJogic; A1 : in STDJogic; A2 : in STDJogic; A3 : in STD_logic; Q ; out STD_logic); end component; SRL|6 1 включает в себя образец декларации и инициализации сдвигового регистра, реализуемого на основе таблицы преобразования, который тактируется спадом сигнала син- хронизации. — Component SRL16_1 — component SRL16_1 generic ( INIT : bit_vector := X"0000'");
616 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС port (D : in STDJogic; CLK : in STDJogic; AO : in STDJogic; At : in STDJogic; A2 : in STDJogic; A3 : in STDJogic; Q : out STDJogic); end component; SRLI6E, SRL16E l представляют шаблоны описания регистров сдвига, построенных на базе LUT-ресурсов ПЛИС, с разрешением синхронизации, которые управляются соответст- венно фронтом и спадом тактового сигнала. Запись и сдвиг информационных данных в реги- стре производится при высоком логическом уровне сигнала на входе разрешения СЕ. Так как эти описания различаются только названием используемых компонентов, то ниже, в качестве примера, приводится текст шаблона SRL16E. ---Component SRL16E------- componenl SRL16E - - synopsys translate_off generic ( INIT: bit_vector := X'0000"); - - synopsys translate_on port (D : in STDJogic; CE : in STDJogic; CLK: in STDJogic; AO : in STDJogic; A1 : in STDJogic; A2 : in STD Jogic; A3 : in STD Jogic; Q : out STDJogic); end componenl; SRLC16. SRLC16 I - образцы использования компонентов, представляющих каскади- руемые сдвиговые регистры, выполненные на основе таблицы преобразования ПЛИС, кото- рые тактируются соответственно фронтом и спадом сигнала синхронизации. Отличие компо- нентов SRLC16 и SRLC16_I от SRL16 и SRLI61 заключается в наличии дополнительного выхода последнего (шестнадцатого) разряда, который предназначен для каскадного соедине- ния сдвиговых регистров. Эти шаблоны имеют аналогичную структуру, поэтому далее при- водится тест одного из них - SRLC16. ---Component SRLC16 — component SRLC16 - synopsys translate_off generic ( INIT : bit_vector = X'0000"); - synopsys translate_on port (D : in STDJogic; CLK : in STDJogic; AO : in STDJogic; A1 : in STDJogic; A2 : in STDJogic; A3 : in STDJogic; Q : oul STDJogic; Q15 : out STDJogic); end component;
/ 1ртожеиие 2. Шаблоны HDL-редактора 617 SRLC16E. SRLCI6E I содержат шаблоны декларации и инициализации каскадируемых сдвиговых регистров, реализуемых на основе LUT-ресурсов ПЛИС, с разрешением синхро- низации, которые тактируются соответственно фронтом и спадом сигнала синхронизации. — Component SRLC16E----- component SRLC16Е - synopsys translate_off generic( INIT: bit_vector := X‘0000‘); - synopsys translate_on port (D : in STDJogic; CE : in STDJogic; CLK; in STDjogic; AO : in STDJogic; A1 : in STDJogic; A2 : in STDJogic; A3 : in STDJogic; Q : out STD Jogic; Q15 : out STDJogic); end component; STARTUP представляет собой папку, в которой сосредоточены шаблоны использования библиотечных примитивов, предназначенных для организации управления глобальными цепями сброса и установки в кристаллах семейств FPGA. Структура этих шаблонов включает в себя две секции. В первой части приведен образец декларации соответствующего компо- нента STARTUP, который необходимо поместить в начале архитектурного тела перед клю- чевым словом "begin". Строки из второй секции, описывающие создание экземпляров ком- понентов, должны располагаться после ключевого слова "begin". SPARTAN2 STARTUP. VIRTEX STARTUP. XC4000 STARTUP содержат образцы при- менения библиотечных компонентов, предоставляющих возможность внешнего управления глобальными цепями сброса и установки в ПЛИС семейств SPARTAN2, VIRTEX и ХС4000 соответственно. Перечисленные шаблоны имеют одинаковую структуру, отличаясь только названиями используемых компонентов. Поэтому далее приводится текст описания только шаблона STARTUP_SPARTAN2. - Instantiating STARTUP in SPARTAN2 - MY_GSR: in stdjogic; component STARTUP_SPARTAN2 port (GSR: in stdjogic); end component; -‘‘Insert the following after lhe 'begin' keyword** U1: STARTUP_SPARTAN2 port map (GSR=>MY_GSR); V 2 Multiplier - папка, содержащая пример описания встроенного аппаратного умножите- ля с помощью соответствующего библиотечного компонента MULTI 8X18. MULTI8X18 включает в себя образец декларации библиотечного элемента, представ- ляющего умножитель двух восемнадцатиразрядных чисел, который реализуется на базе со- ответствующих ресурсов ПЛИС семейств Virtex-II и Virtex-II PRO. В этом шаблоне порты А и В соответствуют входам первого и второго операндов, Р — выходу умножи геля. --Component MULT 18X18----- component MULTI 8X18 port (A: in STD_LOGIC_VECTOR (17 downto 0); B: in STD_LOGIC_ VECTOR (17 downto 0); P : out STD.LOGIC.. VECTOR (35 downto 0)); end component;
618 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС П2.4. Шаблоны, создаваемые разработчиком Папка User Templates в отличие от рассмотренных выше Language Templates, Synthesis Templates и Component Instantiation изначально не содержит никаких элементов и предназна- чена для хранения шаблонов, определяемых разработчиком. В процессе работы над проек- том многократно используемые блоки HDL-описаний целесообразно оформить в виде соот- ветствующих шаблонов. Для того, чтобы приступить к созданию нового шаблона, следует выделить название пап- ки User Templates в окне шаблонов HDL-редактора пакета WebPACK ISE, поместив курсор на соответствующей строке списка в левой области и щелкнув левой кнопкой мыши. После -7?) этого нужно воспользоваться кнопкой расположенной на оперативной панели окна шаблонов, или командой New Template из всплывающего контекстно-зависимого меню, ко- торое выводится на экран щелчком правой кнопки мыши. В результате выполненных дейст- вий в папке User Templates появится новый элемент с именем New Template, которое доступ- но для редактирования. Используя клавиатуру, следует ввести название нового шаблона. Далее нужно активизировать в правой области окна Шаблонов панель редактирования, рас- положив на ней курсор и щелкнув левой кнопкой мыши, и с помощью клавиатуры ввести текст HDL-описания. В процессе формирования нового шаблона можно использовать коман- ды копирования (сору) и вставки (paste) из всплывающего контекстно-зависимого меню. После окончания редактирования текста шаблона следует сохранить его на диске, используя О кнопку “, которая находится на оперативной панели окна шаблонов HDL-редактора. При большом количестве шаблонов, создаваемых разработчиком, для удобства использо- вания целесообразно внутри папки User Templates распределить их по группам. Чтобы соз- дать новую группу (раздел в папке User Templates), следует выделить название папки User leajf Templates в окне шаблонов и воспользоваться кнопкой - , расположенной на оперативной панели окна шаблонов, или командой New Folder из всплывающего контекстно-зависимого меню. Далее, перед созданием нового шаблона, следует выделить в списке папок тот раздел, в котором он должен быть расположен. Следует обратить внимание на то, что в каждом проекте папка User Templates формиру- ется заново. Поэтому, чтобы в новом проекте были доступны шаблоны, созданные в рамках ранее выполнявшегося проекта, необходимо скопировать файл userlang.lpl из его рабочего каталога в рабочую папку нового проекта.
Литература 1. Мальцев П. П., Гарбузов Н. И., Шарапов А. П., Кнышев Д. А. Программируемые логи- ческие ИМС на КМОП-структурах и их применение. - М.: Энергоатомиздат, 1998. 2. Кнышев Д. А., Кузелин М. О. ПЛИС фирмы "Xilinx”: описание структуры основных семейств. -М.:Издательский дом "Додека-ХХГ, 2001. 3. Кузелин М. ПЛИС фирмы Xilinx: семейство БраПап-И/ЛСомпоненты и технологии, № 3,2001. 4. Кузелин М. ПЛИС CPLD компании Xilinx с малым потреблением. Серия CoolRunner //Компоненты и технологии, № 5,2001. 5. Кузелин М. ПЛИС фирмы Xilinx: семейство VIRTEX-II//Chip News, № 2, 2002. 6. The Programmable Logic Data Book//Xilinx Inc. 1999. 4 7. The Programmable Logic Data Book//Xilinx Inc. 2000. 8. Xilinx DataSource™ CD-ROM, Rev. 7, Third Quarter 2002. 9. Уэйкерли Д ж. Ф. Проектирование цифровых устройств. Том 1,2. - М.: Постмаркет, 2002. 10. Стешенко В. Б. Школа схемотехнического проектирования устройств обработки сиг- налов//Компоненты и технологии,№3-5, 2001. II. Стешенко В. Б. Примеры проектирования цифровых устройств с использованием языков описания аппаратуры//Схемотехника, №7- 11,2001. 12. Бибило П. Н. Основы языка VHDL. М.: Солон-Р, 2000. 13. Бибило П. Н. Синтез логических схем с использованием языка VHDL - М.: Солон-Р, 2002. 14. Зотов В. WebPACK ISE - свободно распространяемый пакет проектирования цифро- вых устройств на базе ПЛИС фирмы Xilinx/Жомпоненты и технологии, № 6,2001. 15. Зотов В. WebPACK ISE: Интегрированная среда разработки конфигурации и про- граммирования ПЛИС фирмы Xilinx. Создание нового проекта//Компоненты и технологии, № 7,2001. 16. Зотов В. Схемотехнический редактор пакета WebPACK ISE. Создание принципиаль- ных схем и символов/ЛСомпоненты и технологии, К» 8,2001. 17. Зотов В. Синтез, размещение и трассировка проектов, реализуемых на базе ПЛИС CPLD фирмы Xilinx, в САПР WebPACK 15Е//Компоненты и технологии, № 1, 2002. 18. Зотов В. Программирование ПЛИС семейств CPLD фирмы Xilinx в САПР WebPACK |5Е//Компоненты и технологии, № 2, 2002. 19. Зотов В. Синтез проектов, реализуемых на базе ПЛИС FPGA фирмы Xilinx, в САПР WebPACK 1БЕ//Компоненты и технологии, № 3,2002. 20. Зотов В. Реализация проектов на базе ПЛИС семейств FPGA фирмы Xilinx в САПР WebPACK ISEZ/Компоненты и технологии, № 4,2002. 21. Зотов В. Конфигурирование ПЛИС семейств FPGA фирмы Xilinx в САПР WebPACK 15Е//Компоненты и технологии, № 5, 2002. 22. Зотов В. ModelSim - система HDL-моделирования цифровых устройств/ЛСомпоненты и технологии, № б, 2002. 23. Зотов В. Функциональное моделирование цифровых устройств, проектируемых на ба- зе ПЛИС фирмы Xilinx в среде САПР WebPACK 1БЕ//Компопенты и технологии, № 7, 2002. 24. Зотов В. Временное моделирование цифровых устройств, проектируемых на базе ПЛИС фирмы Xilinx в среде САПР WebPACK 15Е//Компоненты и технологии, № 8, 2002. 25. Зотов В. Оценка потребляемой мощности цифровых устройств, проектируемых на ба- зе ПЛИС фирмы Xilinx в среде САПР WebPACK 15Е//Компоненты и технологии, № 9, 2002. 26. Зотов В. Новая версия свободно распространяемого пакета проектирования WebPACK 1SE фирмы ХНтх//Компоненты и технологии, № 1, 2003. 27. Зотов В. Использование шаблонов HDL-редактора при создании описаний цифровых устройств с помощью языка VIIDL//CxeMorexiiHKa, № 7-12, 2002, № 1,2, 2003.
Оглавление предисловие.................................................................з 1. ХАРАКТЕРИСТИКА ОСНОВНЫХ СЕМЕЙСТВ ПЛИС И СРЕДСТВ ПРОЕКТИРОВАНИЯ, ВЫПУСКАЕМЫХ ФИРМОЙ XILINX...................................4 1.1. Общая характеристика ПЛИС фирмы Xilinx........................4 1.2. Краткая характеристика основных семейств ПЛИС CPLD фирмы Xilinx....5 I.2.I. Серия ХС9500.............................................5 1.2.2. Серия CoolRunner.........................................7 1.3. Краткая характеристика основных семейств ПЛИС FPGA фирмы Xilinx....11 1.3.1. Серия Virtex..................................................11 1.3.2. Серия Spartan.................................................18 1.4. Обзор семейств конфигурационных ПЗУ и ППЗУ фирмы Xilinx......20 1.4.1. Серия однократно программируемых ПЗУ ХС1700.............20 1.4.2. Серия перепрограммируемых в системе ППЗУ XCI8V00........20 1.5. Краткий обзор основных средств проектирования фирмы Xilinx...21 1.6. Основные характеристики пакета WebPACK ISE.........................22 2. ПОЛУЧЕНИЕ И УСТАНОВКА ПРОГРАММНЫХ МОДУЛЕЙ ПАКЕТА WEBPACK ISE----------------------------------------------------------24 2.1. Требования к операционной системе и аппаратным ресурсам компьютера 24 2.2. Получение программного обеспечения WebPACK ISE...............24 2.3. Установка программных средств пакета WebPACK ISE.............25 2.4. Обновление программных средств пакета WebPACK ISE..................31 2.5. Установка системы HDL-моделирования ModelSim ХЕ Starter......33 2.6. Получение лицензионного кода для системы моделирования ModelSim....38 3. ХАРАКТЕРИСТИКИ И ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС ОСНОВНЫХ ПРОГРАММ ПАКЕТА WEBPACK ISE..................................40 3.1. Управляющая оболочка пакета WebPACK ISE - Навигатор проекта........40 3.1.1. Пользовательский интерфейс программы Навигатор проекта..40 3.1.2. Описание команд всплывающих меню Навигатора проекта...........45 3.1.3. Оперативная панель управления Навигатора проекта........50 3.1.4. Панель инструментов HDL-редактора Навигатора проекта....52 3.2. Схемотехнический редактор пакета WebPACK ISE.......................53 3.2.1. Назначение и возможности схемотехнического редактора пакета САПР WebPACK ISE.....................................................54 3.2.2. Пользовательский интерфейс схемотехнического редактора ECS....54 3.2.3. Описание команд всплывающих меню схемотехнического редактора ECS.... 59 3.2.4. Оперативная панель управления схемотехнического редактора ECS.64 3.2.5. Инструментальная панель схемотехнического редактора ECS.66 3.3. Модуль программирования IMPACT пакета WebPACK ISE..................68 3.3.1. Назначение и краткая характеристика модуля программирования iMPACT .. 68
Оглавление 621 3.3.2. Пользовательский интерфейс модуля программирования iMPACT..69 3.4. XPower - программа оценки потребляемой мощности цифровых устройств, ПРОЕКТИРУЕМЫХ НА БАЗЕ ПЛИС ФИРМЫ XILINX..............................72 3.4.1. Назначение и основные характеристики программы XPower......72 3.4.2. Пользовательский интерфейс программы XPower................73 3.5. ModelSim - система моделирования цифровых устройств, проектируемых С ИСПОЛЬЗОВАНИЕМ ЯЗЫКОВ ОПИСАНИЯ АППАРАТУРЫ HDL ВЫСОКОГО УРОВНЯ.........76 3.5.1. Назначение и основные характеристики пакета ModelSim.......76 3.5.2. Пользовательский интерфейс пакета ModelSim.................78 4. НАЧАЛЬНЫЕ ЭТАПЫ ПРОЕКТИРОВАНИЯ В САПР WEBPACK ISE______________________87 4.1. Этапы проектирования цифровых устройств на базе ПЛИС Xilinx........87 4.2. Структура проекта в САПР WebPACK ISE......?.....................88 4.3. Создание нового проекта в среде пакета WebPACK ISE..............89 4.3. Подготовка основы нового модуля исходного описания проекта в среде пакета WebPACK ISE..............................................96 5. СОЗДАНИЕ МОДУЛЕЙ ИСХОДНОГО ОПИСАНИЯ ПРОЕКТИРУЕМОГО УСТРОЙСТВА__________________________________________________99 5.1. Методы описания проектируемого устройства, поддерживаемые пакетом WebPACK ISE.....................................................99 5.2. Разработка схемотехнического описания проекта......................99 5.2.1. Создание новой схемы в среде редактора ECS................101 5.2.2. Редактирование схемы в среде программы ECS................115 5.2.3. Создание нового символа в редакторе ECS.......................117 5.3. Подготовка текстового описания проекта.........................121 5.3.1. Создание описания проектируемого устройства на языке VHDL.121 5.3.2. Использование шаблонов встроенного HDL-редактора пакета WebPACK ISE...............................................125 5.4. ФОРМИРОВАНИЕ модуля временных и топологических ограничений проекта ... 127 5.4.1. Подготовка нового модуля временных и топологических ограничений проекта..............................................127 5.4.2. Редактирование модуля временных и топологических ограничений проекта..............................................129 5.5. ПОДГОТОВКА ТЕСТОВОГО МОДУЛЯ ПРОЕКТА............................131 5.5.1. Структура тестового модуля проекта........................132 5.5.2. Создание тестового модуля проекта в текстовом формате.....135 5.5.3. Генерация тестового модуля проекта в форме временных диаграмм.137 6. СИНТЕЗ ПРОЕКТОВ, РЕАЛИЗУЕМЫХ НА БАЗЕ ПЛИС СЕМЕЙСТВ CPLD ФИРМЫ XILINX, В САПР WEBPACK ISE..................................143 6.1. Временные и топологические ограничения проекта, выполняемого на основе ПЛИС семейств CPLD........................................144 6.2. Установка параметров синтеза проекта при использовании СРЕДСТВ XST VHDL ПАКЕТА WebPACK ISE.....................................146 6.3. Выполнение синтеза проекта при использовании средств XST VHDL пакета WebPACK 1SE......................................................152
622 Зотов В. Ю. Проектирование цифровых устройств на основе ПЛИС 7. РАЗМЕЩЕНИЕ И ТРАССИРОВКА ПРОЕКТОВ В КРИСТАЛЛАХ ПЛИС СЕМЕЙСТВ CPLD..........................................................157 7.1. Установка параметров этапа реализации проектов, выполняемых на основе ПЛИС семейств CPLD........................................157 7.2. Выполнение этапа реализации проектов, разрабатываемых на основе ПЛИС семейств CPLD........................................165 8. МОДЕЛИРОВАНИЕ ЦИФРОВЫХ УСТРОЙСТВ, ПРОЕКТИРУЕМЫХ НА БАЗЕ ПЛИС СЕМЕЙСТВ CPLD ФИРМЫ XILINX.......................175 8.1. ЭТАПЫ МОДЕЛИРОВАНИЯ ЦИФРОВЫХ УСТРОЙСТВ, РАЗРАБАТЫВАЕМЫХ НА ОСНОВЕ КРИСТАЛЛОВ СЕМЕЙСТВ CPLD ФИРМЫ XILINX......................175 8.2. Установка значений параметров функционального моделирования проекта 177 8.3. функциональное моделирование проекта с помощью программы ModelSim . 179 8.4. Установка значений параметров временного моделирования проекта.183 8.5. Временное моделирование проекта, реализуемого нл базе ПЛИС семейств CPLD.......................................................186 9. ПРОГРАММИРОВАНИЕ ПЛИС СЕМЕЙСТВ CPLD В САПР WEBPACK ISE------------------------------------------- 188 9.1. Создание конфигурационной последовательности для проекта, разрабатываемого на основе ПЛИС семейств CPLD.......................188 9.2. Организация программирования ПЛИС семейств CPLD фирмы Xilinx...191 9.3. Программирование ПЛИС семейств CPLD с помощью модуля IMPACT пакета WebPACK ISE..................................................192 9.4. Чтение и контроль конфигурационной информации из кристаллов семейств CPLD с помощью модуля IMPACT...............................200 10. ОЦЕНКА ПОТРЕБЛЯЕМОЙ МОЩНОСТИ ЦИФРОВЫХ УСТРОЙСТВ, ПРОЕКТИРУЕМЫХ НА БАЗЕ ПЛИС СЕМЕЙСТВ CPLD-------------------------------203 10.1. Исходные данные, необходимые для вычисления оценки потребляемой мощности цифровых устройств, проектируемых на основе ПЛИС семейств CPLD.......................................................203 10.2. Установка параметров инициализации программы XPower...........204 10.3. Вычисление оценки потребляемой мощности цифровых устройств, ПРОЕКТИРУЕМЫХ НА ОСНОВЕ ПЛИС СЕМЕЙСТВ CPLD, С ПОМОЩЬЮ ПРОГРАММЫ XPOWER...........................................206 11. СИНТЕЗ ПРОЕКТОВ, РЕАЛИЗУЕМЫХ НА БАЗЕ ПЛИС СЕМЕЙСТВ FPGA ФИРМЫ XILINX, В САПР WEBPACK ISE.........................215 ILL ИСПОЛЬЗОВАНИЕ ВРЕМЕННЫХ И ТОПОЛОГИЧЕСКИХ ОГРАНИЧЕНИЙ В ПРОЕКТАХ, РЕАЛИЗУЕМЫХ НА БАЗЕ ПЛИС СЕМЕЙСТВ FPGA......................21 5 11.2. Содержание этапа HDL-синтеза проекта при использовании средств XST ПАКЕТА WebPACK ISE.........................................220 11.3. Параметры процесса синтеза проекта при использовании средств XST VHDL ПАКЕТА WebPACK ISE и ПЛИС СЕМЕЙСТВ FPGA............220
Оглавление 623 11.4. VHDL-синтез проекта при использовании средств XST ПАКЕТА WebPACK ISE и семейств FPGA............................229 12. РЕАЛИЗАЦИЯ ПРОЕКТОВ НА БАЗЕ ПЛИС СЕМЕЙСТВ FPGA ФИРМЫ XILINX В САПР WEBPACK ISE..................................238 12.1. Структура этапа реализации проектов на базе ПЛИС семейств FPGA фирмы Xilinx в пакете WebPACK ISE.............................238 12.2. Параметры процесса реализации проектов на базе ПЛИС семейств FPGA....238 12.3. Выполнение этапа реализации проектов на базе ПЛИС семейств FPGA фирмы Xilinx в пакете WebPACK ISE.............................250 13. МОДЕЛИРОВАНИЕ ЦИФРОВЫХ УСТРОЙСТВ, ПРОЕКТИРУЕМЫХ НА БАЗЕ ПЛИС СЕМЕЙСТВ FPGA ФИРМЫ XILINX..........................263 13.1. ЭТАПЫ моделирования проекта, реализуемого на базе ПЛИС СЕМЕЙСТВ FPGA..................................................263 13.2. Параметры процесса функционального моделирования проекта.265 13.3. функциональное моделирование проекта с помощью программы ModflSim............................................267 13.4. Установка значений параметров временного моделирования проекта, реализуемого на базе ПЛИС семейств FPGA.......................270 13.5. Выполнение этапов временного моделирования проекта, реализуемого на базе ПЛИС семейств FPGA....................................274 13.6. Возможные проблемы, возникающие в процессе временного моделирования проекта..........................................276 13.7. Оценка влияния напряжения питания и температуры на временные ХАРАКТЕРИСТИКИ ПРОЕКТИРУЕМОГО УСТРОЙСТВА.......................277 14. КОНФИГУРИРОВАНИЕ ПЛИС СЕМЕЙСТВ FPGA ФИРМЫ XILINX В САПР WEBPACK ISE...............................................279 14.1. Создание конфигурационной последовательности для проекта, РАЗРАБАТЫВАЕМОГО НА БАЗЕ ПЛИС СЕМЕЙСТВ FPGA...................279 14.2. Конфигурирование ПЛИС семейств FPGA фирмы Xilinx с помощью ПРОГРАММЫ IMPACT В РЕЖИМЕ ПЕРИФЕРИЙНОГО СКАНИРОВАНИЯ...........292 14.3. Конфигурирование ПЛИС семейств FPGA фирмы Xilinx с помощью программы IMPACT в подчиненном последовательном режиме........299 14.4. Генерация файлов программирования ПЗУ/ППЗУ с помощью модуля IMPACT..................................................301 14.5. Программирование ППЗУ серии ХС18V00 с помощью модуля IMPACT пакета WebPACK ISE.............................................307 15. ОЦЕНКА ПОТРЕБЛЯЕМОЙ МОЩНОСТИ ЦИФРОВЫХ УСТРОЙСТВ, ПРОЕКТИРУЕМЫХ НА БАЗЕ ПЛИС СЕМЕЙСТВ FPGA В СРЕДЕ САПР WEBPACK ISE......................................................310 15.1. Параметры инициализации программы XPower.................311 15.2. Вычисление оценки потребляемой мощности цифровых устройств, проектируемых на основе ПЛИС семейств FPGA, с помощью ПРОГРАММЫ XPOWER..............................................313
624 Зотов В. Ю. Проектирование цифровых устройств иа основе ПЛИС ПРИЛОЖЕНИЕ 1. УНИФИЦИРОВАННЫЕ БИБЛИОТЕКИ КОМПОНЕНТОВ СХЕМОТЕХНИЧЕСКОГО РЕДАКТОРА ECS.....................321 П1.1. Логические элеме! пы И.................................321 Ш.2. ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ И-НЕ................................333 П1.3. Логические элементы ИЛИ................................344 П1.4. Логические элементы ИЛИ-НЕ.............................356 П1.5. Логические элементы ИСКЛЮЧАЮЩЕЕ ИЛИ....................367 П1.6. Логические элементы ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ.................371 П1.7. Инверторы..............................................375 П1.8. Буферные элементы......................................376 П1.9. Логические элементы, реализуемые на основе логики ускоренного переноса и каскадирования....................................386 ШЛО. Триггеры с динамическим управлением.....................388 П1.11. Триггеры с потенциальным (статическим) управлением (защелки).434 П1.12. Входные и выходные триггеры с динамическим управлением.......446 П1. 13. Входные триггеры с потенциальным (статическим) управлением (защелки)........................................466 П1.14. Сдвиговые регистры....................................472 П1.15. Счетчики..............................................498 П1.16. Компараторы...........................................516 П1.17. Дешифраторы...........................................521 П1.18. Мультиплексоры........................................523 Ш .19. Устройства циклического сдвига........................532 П1.20. Арифметико-логические устройства......................533 ПРИЛОЖЕНИЕ 2. ШАБЛОНЫ HDL-РЕДАКТОРА ПАКЕТА WEBPACK ISE ДЛЯ ЯЗЫКА VHDL...............................545 П2.1. Шаблоны основных конструкций языка VHDL.......................545 П2.2. Шаблоны VHDL-описаний основных функциональных элементов.......551 П2.3. Шаблоны VHDL-описаний функциональных элементов, реализуемых на базе ПЛИС фирмы Xilinx........................565 П2.4. Шаблоны, создаваемые разработчиком............................618 ЛИТЕРАТУРА.............................................................619