148
Содержание -Введение 4 1) Общая характеристика программируемой логики 6 1.1) Области применения и основные производители ПЛИС 6 1.2) FPGA технология 7 1.3) CPLD технология 9 2) Аналитический обзор современных САПР 12 2.1) Elaniv System View 13 2.2) Xilinx Foundation Series 14 2.3) Advanced Design System 15 2.4) Altera MAX+plus II 16 3) Методика проектирования ПЛИС в САПР Active-HDL 18 3.1) Процедура проектирования ПЛИС в САПР Active-HDL 18 3.2) Маршрут проектирования ПЛИС в САПР Active-HDL 21 3.3) Обзор и принципы работы основных групп инструментов и редакторов САПР Active-HDL 22 3.3.1) Обзор элементов и групп элементной среды Active-HDL 22 3.3.2) Иерархии групп и инструментов на основании маршрута проектирования ПЛИС в САПР Active-HDL 24 3.3.3) Принципы и основы работы с основными группами инструментов системы Active-HDL 26 1

Metodika Proektirovania PLIS v Pakete Active-HD

  • Upload
    -

  • View
    323

  • Download
    15

Embed Size (px)

DESCRIPTION

Active-HDL's guide. Language: russian.

Citation preview

Page 1: Metodika Proektirovania PLIS v Pakete Active-HD

Содержание

-Введение 41) Общая характеристика программируемой логики 6

1.1) Области применения и основные производители ПЛИС 61.2) FPGA технология 71.3) CPLD технология 9

2) Аналитический обзор современных САПР 122.1) Elaniv System View 132.2) Xilinx Foundation Series 142.3) Advanced Design System 152.4) Altera MAX+plus II 16

3) Методика проектирования ПЛИС в САПР Active-HDL 183.1) Процедура проектирования ПЛИС в САПР Active-HDL 183.2) Маршрут проектирования ПЛИС в САПР Active-HDL 213.3) Обзор и принципы работы основных групп инструментов

и редакторов САПР Active-HDL 223.3.1) Обзор элементов и групп элементной среды Active-HDL 223.3.2) Иерархии групп и инструментов на основании

маршрута проектирования ПЛИС в САПР Active-HDL 243.3.3) Принципы и основы работы с основными

группами инструментов системы Active-HDL 263.3.3.1) Группа инструментов Control Tools 26

3.3.3.1.1)Design Wizard(Мастер проекта) 273.3.3.1.2)Design Browser(Браузер проекта) 303.3.3.1.3)Workspace/design Explorer

(проводник рабочего пространства/проекта) 343.3.3.1.4)Design menu 353.3.3.1.5)Library manager 383.3.3.1.6)Console 403.3.3.1.7)Файлы с макрокомандами 40

3.3.3.2) Группа инструментов Design Entry Tools 423.3.3.2.1)HDE(Редактор HDL) 533.3.3.2.2)FSM(Редактор конечных автоматов) 56 3.3.3.2.3)BDE(Редактор блок-схем) 56

3.3.3.3)Группа инструментов Watch/Debugging tools 603.3.3.3.1)Syntax Checking 603.3.3.3.2)Code Tracing 623.3.3.3.3)State Machine Code Debugging 633.3.3.3.4)Break Points 633.3.3.3.5)Инструменты просмотра

результатов моделирования 653.3.3.5.1)List window 653.3.3.5.2)Watch window 663.3.3.5.3)Processes window 673.3.3.5.4)Call stack 683.3.3.5.5)Data flow 68

1

Page 2: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.3.4)Simulation Kernel(Моделирование) 703.3.3.4.1)Stimulators 703.3.3.4.2)Waveform Editor 723.3.3.4.3)Simulations macros 733.3.3.4.4)VDHL testbench 753.3.3.4.5)Использование стимуляторов 773.3.3.4.6)VDHL testbench wizard 84

-Заключение 89-Список литературы 90-Приложение 91

2

Page 3: Metodika Proektirovania PLIS v Pakete Active-HD

ВВЕДЕНИЕ

Стремительное развитие цифровой техники и широкое ее внедрение почти во все сферы жизнедеятельности человека обусловили возникновение потребностей в значительной интенсификации процессов проектирования электронных устройств, что, в свою очередь, повлекло к активному поиску новых, более эффективных подходов к разработке средств проектирования, в частности к разработки систем автоматизированного проектирования (САПР) и моделирования.

Одним из перспективных путей этого направления является синтез цифровых устройств на основе функциональных моделей, суть которого заключается в автоматизированном формировании логической структуры устройства на основе его желательного поведения, которое описывается специалистом-разработчиком с помощью специального языка программирования - HDL (Hardware Description Language - язык описания оборудования и аппаратного обеспечения). Наиболее известными среди языков класса HDL стали ABEL, Verilog и VHDL.

ABEL (Advanced Boolean Equation Language - расширенный язык логических уравнений) является промышленным стандартом, который разработан Data I/O Corp. для программируемых логических устройств. ABEL может применяться для описания поведения систем (с помощью С-подобных операторов) в разных формах на основе: логических уравнений, таблиц истинности, диаграмм состояний.

По сравнению с ABEL языки VHDL и Verilog являются более сложными и, соответственно, более мощными и более пригодными для описания больших систем. Они практически схожи по своим техническими возможностями. В Европе и в Соединенных Штатах Америки шире применяется VHDL, а в странах Азии - Verilog. При разработке VHDL за основу был взят известный язык высокого уровня Ada, который специалисты относят к наиболее мощным и продуманно спроектированным языкам. Из языка Ada разработчиками VHDL был заимствован синтаксис и основные структуры.

Широкое распространение языки HDL получили в результате развитиясоответствующей аппаратной базы - интегральных микросхем (ИМС) с переменной нутренней логической структурой. Этот класс ИМС называетсяпрограммируемыми логическими интегральными схемами (ПЛИС).В соответствии с современными требованиями системы автоматизированного проектирования ПЛИС должны обеспечивать:

1. реализацию одного или больше HDL -языков с возможностью введения;2. редактирования и заимствования исходного текста программ;

3. реализацию средств графического введения проектной схемы, например с помощью редактора конечных автоматов, и средств компиляции графического представления в HDL -код;

3

Page 4: Metodika Proektirovania PLIS v Pakete Active-HD

4. реализацию средств моделирования поведения описанного объекта;

5. реализацию средств синтеза битового потока с поддержкой широкого

6. класса серий ИМС;

7. реализацию средств моделирования объекта на уровне вентилей;

8. реализацию средств программирования ИМС.

В наше время разработан ряд программных продуктов, которые реализуют ту или другую часть общих требований к САПР ПЛИС. Применение этих программных продуктов требует в каждом конкретном случае решение проблем совместимости между соответствующими пакетами. Поэтому при выборе средств автоматизированного проектирования преимущество следует предоставлять программным пакетам, которые реализуют процесс проектирования ПЛИС как можно полнее. Одним из таких пакетов является Active - HDL корпорации Aldec Inc. (США).

Корпорация Aldec Inc. является одним из лидеров в разработке программного обеспечения САПР ПЛИС.

1. ОБЩАЯ ХАРАКТЕРИСТИКА ПРОГРАММИРУЕМОЙЛОГИКИ

4

Page 5: Metodika Proektirovania PLIS v Pakete Active-HD

Области применения и основные производители ПЛИС

Еще в начале 90-х годов ПЛИС имели очень узкий круг пользователей,в который в основном входили предприятия, которые занимались разработкой и выпуском заказных микросхем (обычных ИМС с постоянной логической структурой). За последнее десятилетие область применения программируемых логических ИМС значительно расширилась.

Диаграмма распределения объемов потребления ПЛИС в отдельных отраслях народного хозяйства приведена на рис. 1.1. Наибольшим потребителем ПЛИС является отрасль телекоммуникаций и связи (39% от всего объема производства). На втором месте находится отрасль компьютерных сетей, которая использует 26% объема производства ПЛИС.

Кроме того, программируемые логические ИМС применяются в области цифровой обработки данных (19%) и в промышленном производстве (16%). Среди потребителей этих микросхем можно назвать такие известные фирмы и концерны, как: Alcatel, IBM, Booing, Lockheed, Hewlett Packard, Fujitsu, Hitachi, Silicon Graphics, Texas Instruments, Motorola, Rockwell, Kodak и др.

Рис. 1.1 – Объемы применения ПЛИС в отдельных отраслях народного хозяйства

Проектированием и производством ПЛИС на данный момент временизанимаются несколько десятков ведущих фирм и компаний.

Лидером в этой области является фирма Xilinx. Фирма Xilinx специализируется на производстве ИМС высокого качества, в частности стойких к влиянию радиации и других внешних возмущений, что обусловливает широкое применение ПЛИС в аэрокосмической отрасли, военной технике и в промышленном производстве.

Программируемые логические ИМС фирмы Altera занимают нишу массовых ПЛИС невысокой стоимости.

5

Page 6: Metodika Proektirovania PLIS v Pakete Active-HD

Фирма Lattice (59.7 млн. USD) в основном разрабатывает перепрограммируемые микросхемы CPLD и удерживает лидирующие позиции в этой трасли.

К основным производителям ПЛИС следует также отнести фирму Actel (41.6 млн. USD). Среди номенклатуры ПЛИС наибольшего распространения приобрели микросхемы, которые изготовляются по технологиями FPGA и CPLD. Рассмотрим эти технологии более детально.

1.2 FPGA - технология

Аббревиатура FPGA означает Field Programmable Gate Array - программируемая пользователем вентильная матрица. Общая структура кристалла FPGA -микросхемы приведена на рис. 1.2. По периферии верхнего слоя кристалла размещаются блоки ввода/вывода (БВВ) , которые могут быть запрограммированными для выполнения функций буферов: входного, выходного, и др. В некоторых сериях FPGA -ИМС уровень напряжения на двух БВВ может отличаться, что дает возможность сочетать интерфейсы с разным уровнем питания.

Рис. 1.2 – Обобщенная структура FPGA – микросхемы

В центре кристалла в виде матрицы размещены конфигурированные логические блоки (КЛБ). Быстродействие микросхем определяется временной задержкой "вход-выход" одного КЛБ. Структура КЛБ зависит от серии микросхем, так, например, в ИМС ХС2000 каждый КЛБ имеет одну ячейку памяти (триггер) 2 выхода, 4 входа общего назначения и специальный вход синхронизации (тактовый вход). КЛБ ИМС этой серии может генерировать или логическую функцию четырех переменных или две логических функции трех переменных. Переменные для логических функций могут поступать из четырех входов но выходу ячейки памяти.

Область между конфигурированными логическими блоками называется областью программируемых связей и являет собой развитую иерархию металлических

6

Page 7: Metodika Proektirovania PLIS v Pakete Active-HD

линий связи, в местах пересечения которых размещены специальные быстродействующие транзисторы. Функция области связей заключается в обеспечении связи между любыми выводами КЛБ и БВВ. Необходимый маршрут межблоковых соединений в FPGA -ПЛИС реализуется коммутацией соответствующих линий с помощью транзисторов.Нижний слой кристалла занимает теневое запоминающее устройство,информация в элементах которого и определяет логические функции КЛБ,конфигурацию БВВ и маршруты связей.В табл. 1.1 приведены основные характеристики микросхем FPGA производства Xilinx Inc., в частности, одной из последних разработок серии Virtex и массовой серии Spartan.

Широкий диапазон ИМС FPGA –технологий позволяет проектировать на их основе широкий спектр электронных устройств, среди которых: средства сочетания разных, питанием, интерфейсов, преобразователи кодов, периферийные контролеры, микро-программные устройства управления, конечные автоматы, универсальные и специализированные процессоры, устройства цифровой обработки сигналов и т.п..

Таблица 1.1

Характеристика

Серия Virtex Серия Spartan

XCV50 XCV1000 XCS40/XL XCS20/XL XCS05/XL

СистемнаяЧастота (MHz)

200 200 80 80 80

Технология(мкм)

0.22 0.22 0.35/0.5 0.35/0.5 0.35/0.5

Напряжение питания ядра (В)

2.5 2.5 3.3/5.5 3.3/5.5 3.3/5.5

Количество системныхвентиля (шт)

57906 1124022 13K-40K 7K-20K 2K-5K

Количество логическихВентилей (шт)

1728 27648 1862 950 238

Максимальное кол-портов ввода/вывода

(шт)180 514 205 160 77

1.3 CPLD - технологияАрхитектура ИМС типа CPLD (Complex Programmable Logic Device -

7

Page 8: Metodika Proektirovania PLIS v Pakete Active-HD

комплексное программируемое логическое устройство) представлена на рис. 1.3 (для примера взята архитектура популярной серии микросхем ХС9500). ИМС ХС9500 имеет три группы выводов :

1) выводы JTAG -порта (стандарт IEEE Std. 1149.1) для программирования и периферийного сканирования ИМС;

2) порта ввода/вывода (И/О);

3) управляющие выводы: тактовый сигнал GCK, установки/сброса GSR, управление третьим состоянием GTS.

Блоки ввода/вывода обеспечивают буферизацию всех входов и выходов ИМС. Каждый функциональный блок (ФБ) содержит 18 макроячеек (МК) со структурой "36 входов - 1 выход" и позволяет формировать 18 логическихфункций для любой комбинации с 36 переменными. Матрица переключений (МП) обеспечивает подачу любых входных сигналов и выходных сигналов ФБ на входы других ФБ, а также подачу исходных сигналов ФБ на блокиввода/вывода.

Основные характеристики ряда CPLD -микросхем фирмы Xilinx приведены в табл. 1.2.Программируемые логические ИМС CPLD -технологии широко применяются для проектирования нестандартных арифметико-логических устройств, дешифраторов, мультиплексоров и др.К недостаткам СPLD (в сравнении из FPGA) следует отнести: низкое количество системных вентилей и высокое энергопотребление. Преимущества их заключаются в высоком быстродействии и обеспечении возможности установления защиты от копирования. Важным преимуществом также является то, что программные средства для разработки и синтеза систем на базе CPLD распространяются свободно.

1) выводы JTAG –порты (стандарт IEEE Std. 1149.1) для программирования ипериферийного сканирования ИМС;2) порты ввода/вывода (И/О);3) управляющего выводы: тактовый сигнал GCK, установки/сбросаGSR, управление третьим состоянием GTS.Блоки ввода/вывода обеспечивают буферизацию всех входов ивыходов ИМС. Каждый функциональный блок (ФБ) содержит 18 макроячеек(МК) со структурой "36 входов – 1

8

Page 9: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 1.3 - Обобщенная структура CPLD –микросхемы

9

Page 10: Metodika Proektirovania PLIS v Pakete Active-HD

Таблица 1.2

Характеристика

Серія CoolRuner Серія XC9500

XCR3320 XCR22V10 XC9536 XC952288

Количество макроячеек(шт)

320 10 36 288

Системнаячастота(MHz)

100 111 100 56.6

Напряжение питания (В) 5;3 5;3 5;3 5;3

Количество цикловперепрограммирования

1000 1000 1000 1000

Время "pin - to - pin" (нс) 7.5 7.5 5 15

10

Page 11: Metodika Proektirovania PLIS v Pakete Active-HD

2. Аналитический обзор современных САПР

Автоматизированное проектирование — это магистральное направление развития технологий создания электронной аппаратуры.

Система автоматизированного проектирования — это автоматизированная система, реализующая информационную технологию выполнения функций проектирования, представляет собой организационно-техническую систему, предназначенную для автоматизации процесса проектирования. В настоящее время деятельность инженера немыслима без применения систем автоматизированного проектирования (САПР). В области радиоэлектроники САПР помогают автоматизировать такие процедуры проектирования, как функционально-логическое и схемотехническое моделирование, проектирование печатных плат, изготовление конструкторской документации и пр. Время проектирования электронных схем с использованием САПР сокращается в десятки раз по сравнению с ручным проектированием.

Проектирование современных радиоэлектронных средств (РЭС) связи также немыслимо без применения САПР. САПР в настоящее время стремительно развиваются, отражая развитие РЭС.

До недавнего времени образцом решения таких задач считались разработки на базе серийно выпускаемых стандартных интегральных микросхем, и большинство САПР ориентировались на реализацию именно этой технологии проектирования.

Позже идеальным вариантом казались «сквозные» САПР, которые позволяли выполнить всю цепочку проектирования: от входного описания до создания эскиза печатной платы. Примерами сквозных САПР являются PCAD, DesignLab и OrCAD. Параллельно шел и другой процесс - наблюдалась специализация САПР: появлялись все новые комплексы аппаратно-программных средств, предназначенные для проектирования изделий конкретной фирмы-производителя, от ПЛИС фирмы Altera и FPGA фирмы Xilinx до заказных функциональных микросхем (ASIC) и систем на кристалле (SOC). В последние годы появились и бурно развиваются САПР систем связи (System View) и устройств СВЧ (Microsoft Office, Serenade). Широкие возможности для моделирования представляет пакет MatLab.

Современная САПР – это среда проектирования аналоговых и цифровых устройств, устройств смешанного типа, включающая в себя большое количество разнообразных модулей и инструментов. Современная САПР связи позволяет проводить сквозное проектирование и моделирование различных устройств и систем связи в диапазоне ВЧ/СВЧ на системном, схемотехническом, топологическом или электромагнитном уровне. Современная САПР связи обладает уникальными возможностями подключения к измерительному оборудованию для эмуляции сигналов или получения модели устройств с целью использования для дальнейшего моделирования.

Проведем обзор основных современных САПР и кратко опишем их основные функции и свойства.

11

Page 12: Metodika Proektirovania PLIS v Pakete Active-HD

2.1. Elanix SystemView

САПР SystemView, предлагаемый компанией Elanix, используется специалистами, занимающимися разработкой и моделированием аналоговых, цифровых и смешанных модулей телекоммуникационных систем. Пакет SystemView представляет собой мощную интегрированную среду проектирования с почти неограниченными возможностями построения моделей широкополосных систем связи, использующих сложные цифровые сигналы, например, QAM64. SystemView позволяет анализировать их поведение в различной помеховой и шумовой обстановке, проектировать сверхбыстродействующие цифровые сигнальные процессоры (DSP) с конечной реализацией на программируемых вентильных матрицах (FPGA), отрабатывать алгоритмы работы цифровых адаптивных фильтров.

Пользовательский интерфейс программы прост в обращении и интуитивно понятен. Основу пакета составляет базовый модуль SystemView Professional Edition, к которому подключаются различные специализированные библиотеки, обеспечивающие проектировщиков моделями почти всех необходимых функциональных блоков. В случае если уже имеющаяся модель по каким-либо соображениям не устраивает разработчика, у него есть возможность создать собственную пользовательскую модель, опирающуюся на оптимальные с его точки зрения математические выкладки.

Набор имеющихся библиотек достаточно обширный: Communications Library содержит около 40 различных моделей каналов,

кодеров и декодеров, модуляторов и демодуляторов; DSP Library содержит все необходимое для моделирования цифровых

сигнальных процессоров, имеет прототипы для реализации на микросхемах FPGA;

RF/Analog Library включает более 40 моделей различных радиотехнических устройств, используемых для моделирования трактов аналоговой обработки сигналов;

Logic Library содержит все необходимое для построения и отладки цифровых логических схем;

CDMA/PCS Library включает модели устройств, используемых в современных системах персональной связи, в том числе и с кодовым разделением каналов;

Digital Video Broadcasting (DVB) Library объединяет модели функциональных блоков, используемых в аппаратуре цифрового телевизионного вещания;

EnTegra Adaptive Filter Library содержит модели устройств, используемых при построении адаптивных фильтров;

Пакет содержит ряд опций, позволяющих выполнять специфические задачи проектирования. Например, возможна связь системы моделирования с программным обеспечением компании Xilinx, позволяющим программировать ПЛИС (FPGA), или с мощным пакетом Matlab, обеспечивающим необходимую математическую поддержку. Кроме того, возможна генерация исполняемого кода для операционных систем Windows 95/98 и NT, что позволяет промоделированную и отлаженную систему обработки, например, цифрового сигнала превратить в исполняемую программу, требующую только входных параметров и данных.

12

Page 13: Metodika Proektirovania PLIS v Pakete Active-HD

2.2. Xilinx Foundation Series

Фирма Xilinx – производитель широкой номенклатуры ПЛИС, поставляет САПР для разработки цифровых устройств, в том числе и радиоэлектронных устройств связи, на базе собственной продукции. САПР Xilinx Foundation Series поддерживает все серии новых кристаллов фирмы. В новых версиях программного обеспечения (ПО) поддерживаются расширенные библиотеки отлаженных и готовых к использованию блоков-ядер (Intellectual Property Cores), которые становятся очень важными при создании проектов больших размеров, сокращают сроки и упрощают проектирование. Продолжаются работы по созданию средств автоматического формирования проработанных функций. Фирмой Xilinx совместно с фирмой Elanix разработан новый подход к проектированию цифровых сигнальных процессоров (DSP). На основе комбинации САПР системного уровня SystemView фирмы Elanix и САПР фирмы Xilinx разработан маршрут проектирования и изготовления DSP.

Типовой состав САПР Foundation Series Express включает: Foundation Project Manager. Это средство администрирования (управления)

проектами в САПР. Из этой программы доступны все средства ввода, реализации, анализа и синтеза, а также отчеты о проектах;

Средства ввода описаний. Программное обеспечение формирует описания в формате EDIF (в более ранних версиях использовался формат XNF). В Xilinx Foundation Series Express имеются следующие подсистемы ввода описаний:

LogiBLOX. Данная программа позволяет, задавая параметры требуемой структуры устройства (ПЗУ, ОЗУ, счетчики и т.д.), получать готовые топологические фрагменты, которые могут использоваться как в схемных, так и в HDL-проектах;

редактор HDL-кода HDL Editor. Позволяет осуществлять ввод проектов на одном из языков HDL. Программа формирует список цепей netlist в формате EDIF (программа XVHDL). Поддерживает иерархическое представление проекта;

схемотехнический редактор Schematic Editor. Позволяет на основе библиотек САПР вводить принципиальную схему проекта в интерактивном режиме. Позволяет также включать LogiBLOX-модули, FSM-модули, VHDL- и Verilog-модули;

редактор диаграмм состояний (конечного автомата) State Editor. Позволяет вводить описание проекта в виде диаграмм состояний конечного автомата в графическом виде. В результате формирует поведенческое VHDL-описание.

Средства моделирования схем: программа функционально-логического моделирования Founda-tion Logic

Simulator. Позволяет осуществлять функциональное моделирование проекта, а также временное моделирование с учетом задержек распространения сигналов по кристаллу. Результаты моделирования с учетом задержек полностью имитируют реальную картину работы ПЛИС;

графический редактор директив оптимизации Constraints Editor. Позволяет устанавливать и изменять директивы пользователя при оптимизации временных параметров проекта;

13

Page 14: Metodika Proektirovania PLIS v Pakete Active-HD

программа VHDL синтеза FPGA Express. Выполняет синтез проекта на основе VHDL-кода;

программа моделирования на основе VHDL – VHDL Simulator. HDL-моделирование помогает верифицировать проект еще на стадии проектирования;

программа временного анализа Timing Analyzer. Выполняет точный расчет задержек по результатам размещения проекта в кристалле.

Средства трассировки и программирования: трассировщик Flow Engine представляет собой набор трансляторов и

программ, осуществляющих в автоматическом режиме преобразование выходного формата схемотехнического редактора во внутренний формат описания ПЛИС Xilinx;

топологический редактор Floorplanner. Позволяет дополнительно оптимизировать временные задержки путем переразмещения проекта в кристалле. С помощью данного средства можно менять положение CLB в общей структуре проекта на кристалле;

топологический редактор EPIC. Позволяет осуществить просмотр топологии проекта после трассировки и при необходимости выполнить ручную трассировку выбранных цепей;

утилита загрузки конфигурации ПЛИС непосредственно из PC Hardware Debugger. Загрузка осуществляется с помощью специального кабеля. Кроме того, с помощью этой утилиты выполняется верификация ПЛИС через порт JTAG;

утилита для работы с программатором PROM File Formater.

2.3. Advanced Design System

Назначением данной САПР является сквозное проектирование и моделирование широкого класса устройств и систем связи в диапазоне ВЧ/СВЧ, включающее следующие уровни: функциональный, схемотехнический, топологический, электромагнитный.

Классы проектируемых устройств: аналоговые, цифровые, смешанные. Отличительные особенности системы:

эффективный метод гармонического баланса, ориентированный на моделирование радиочастотных интегральных схем большой размерности;

использование алгоритма расчета установившегося режима по огибающей модулирующего сигнала для эффективного анализа трактов с дискретно модулированными сигналами

Проектирование цифровых устройств обеспечивается с помощью подсистемы DSP Designer. Основными возможностями подсистемы являются:

проектирование различных классов цифровых устройств; использование более 900 поведенческих моделей; совместное моделирование с аналоговыми ВЧ устройствами; возможность создания пользователем собственных моделей и включение их

в библиотеки элементов;

14

Page 15: Metodika Proektirovania PLIS v Pakete Active-HD

возможности тестирования; получение HDL описания по исходной схеме; возможность проектирования цифровых фильтров; использование цифровых моделей ПЛИС таких фирм как Altera и Xilinx.

Проектирование аналоговых устройств обеспечивается с помощью подсистемы RFIC Designer, основными особенностями которой являются:

проектирование различных классов аналоговых устройств – смесители, усилители, фильтры, ФАПЧ и т.д.;

использование различных методов моделирования – гармонический баланс, анализ по постоянному и переменному току, анализ S–пара-метров, анализ методом Circuit Envelope и т.д.

Проектирование и моделирование ВЧ плат осуществляется с помощью подсистемы RF Board. Основные особенности:

модели таких устройств встроены в схемный и топологический редакторы; возможность создания таких компонент пользователем; анализ паразитных емкостей и сопротивлений встроен в электромагнитный

симулятор; совместимость с устройствами, созданными фирмами Cadence и Mentor.

2.4. Altera MAX+plus II

САПР MAX+plus II этой фирмы поддерживает полный цикл проектирования ПЛИС для своих кристаллов. ПЛИС, созданные с использованием данной САПР, могут использоваться в различных видах аппаратуры, в том числе и в радиоэлектронных устройствах связи.

САПР MAX+plus II работает на РС платформе и рабочих станциях. САПР предоставляет разнообразные средства входного описания устройств, включая как стандартные языки VHDL и Verilog, так и схемное представление и списки цепей распространенных пакетов фирм Mentor Graphics, Cadence, Synopsys, Elanix.

Система MAX+plus II имеет эффективные алгоритмы синтеза, позволяющие максимально использовать ресурсы кристалла и большой набор инструментов для верификации устройств на функциональном и временном уровне проектирования.

MAX+plus II ориентирована на сопряжение со стандартами VHDL, EDIF, Verilog. Любая конфигурация САПР импортирует входные данные в формате EDIF и формирует результаты проектирования во всех перечисленных форматах. С помощью программ-трансляторов возможен импорт информации в формат текстового описания САПР МАХ из файлов в форматах PDS (САПР PLDShell, PALASM) и XNF (САПР XACT фирмы Xilinx). Имеется возможность конвертации схем, созданных в системе OrCAD, в файлы в формате собственного графического редактора.

ПО системы MAX+PLUS II содержит 11 приложений и главную управляющую программу (табл. 1).

Таблица 2.1

Hierarchy Display

Обзор иерархии – отображает текущую иерархическую структуру файлов в виде дерева с ветвями, представляющими собой подпроекты

Graphic EditorГрафический редактор – позволяет разрабатывать схемный логический проект в формате реального отображения на экране WYSIWYG

15

Page 16: Metodika Proektirovania PLIS v Pakete Active-HD

Symbol EditorСимвольный редактор – позволяет редактировать существующие символы и создавать новые

Text EditorТекстовый редактор – позволяет создавать и редактировать текстовые файлы логического дизайна, написанные на языках AHDL, VHDL, Verilog HDL

Waveform Editor

Сигнальный редактор – выполняет двойную функцию: инструмент для разработки и инструмент для ввода тестовых векторов и наблюдения результатов тестирования

Floorplan Editor

Поуровневый планировщик – позволяет графическими средствами делать назначения контактам устройства и ресурсов логических элементов

Compiler Компилятор – обрабатывает графические проекты

SimulatorСимулятор – позволяет тестировать логические операции и внутреннюю синхронизацию проектируемой логической цепи

Timing Analyzer

Временной анализатор – анализирует работу проектируемой логической цепи после того, как она была синтезирована и оптимизирована компилятором

ProgrammerПрограмматор – позволяет программировать, конфигурировать, проводить верификацию и тестировать ПЛИС фирмы Altera

Message Processor

Генератор сообщений – выдает на экран сообщения об ошибках, предупреждающие и информационные сообщения

3. Методика проектирования ПЛИС в САПР Active-HDL

3.1 Процедура проектирования ПЛИС в САПР Active-HDL

16

Page 17: Metodika Proektirovania PLIS v Pakete Active-HD

Как уже отмечалось, стремительное развитие элементной базы электроники повлекло за собой возникновение необходимости в адекватном повышении производительности

средств и методов разработки ПЛИС. Исторически средства проектирования ПЛИС

развивались на основе трех парадигм: логического проектирования; схемного проектирования; проектирование с помощью языков описания аппаратного обеспечения.

Последняя концепция является новейшей и сейчас находится на стадиибурного развития. Идея данного подхода заключается в том, что разработчик описывает на функциональном уровне необходимое (с точки зрения алгоритма функционирования) поведение цифрового устройства с помощью создания поведенческой модели, а система автоматизированного проектирования, соответственно, синтезирует логическую структуру что воссоздает описанное поведение.

Поведенческие модели могут быть созданы разными способами,в частности, с помощью специализированных языков описания аппаратногообеспечение, графов конечных автоматов и др.

Система САПР Active-HDL поддерживает все современные способы созданий поведенческих моделей.Рассмотрим маршрут проектирования в системе Active-HDL.

На рис. 3.1 изображен в виде блок - схемы полный процесса проектирования цифрового устройства на базе ПЛИС: формулировки (технического) задания, до конечного результата – серийного изготовления образца.

17

Page 18: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.1 - Процедура проектирования ПЛИС в САПР Active-HDL

18

Page 19: Metodika Proektirovania PLIS v Pakete Active-HD

На всех этапах процесса проектирования формируется ряд моделей разного уровня абстракции, которые отвечают разным аспектам функционирование цифровых устройств. При этом суть процесса многоэтапного проектирования заключается в переходе от моделей с более высоким уровнем абстракции, к моделям с низшим уровнем абстракции, то есть в постепенной детализации описания цифрового устройства на каждом из этапов.

Приведем классификацию моделей, которые применяются в процессе проектирования:

Поведенческая модель (Behavioral model, Interpreted model) -показывает реакцию цифрового устройства на изменение входных сигналов с

учетом времени воздействия. Эта модель не содержит детального описания аппаратной реализации устройства. Уровень абстракции зависит от уровня детализации описания поведенческой модели. Например, на высшем уровне абстракции поведенческая модель может описывать процессор, который выполняет абстрактный алгоритм, а на низшем уровне - это может быть модель процессора с детализацией системы команд (множества инструкций) и алгоритмов их выполнения. Точность детализации входных и исходных данных зависит от уровня абстракции модели.

Функциональная модель (Functional model) – функциональная модель описывает функции системы без определения способа реализации этих функций. Данная модель показывает лишь реакцию системы или ее компоненты, без учет временного фактора (определяет значение выхода, но не время его установление). Уровень абстракции зависит от степени детализации модели. Уровень детализации входных и исходных данных зависит от уровня абстракции.

Структурная модель (Structural model) - структурная модель представляет компоненты системы с точки зрения их иерархии и взаимосвязей между ними. Структурная модель должна отвечать физической иерархии в описываемом объекте. Иерархия, в свою очередь, определяется физической организацией конкретной реализации. Структурная модель описывает физическую структуру конкретной реализации путем определения компонент и топология их взаимосвязей. Компоненты могут быть описаны на структурном, функциональном или поведенческом уровне. Моделирование структурной модели требует наличию поведенческих моделей всех более низких веток иерархии, следовательно степень детализации аспектов модельного времени значений объектов данных и функциональности структурной модели зависит от степени детализации моделей компонент.

Модель производительности (Performance Model, UninterpretedModel) - данный тип моделей позволяет моделировать лишь временные аспекты

работы цифрового устройства (то есть скорость реакции на изменение входного сигнала, без вычисления значения исходного сигнала).

Модель интерфейса (Interface Model, bus functional model) -19

Page 20: Metodika Proektirovania PLIS v Pakete Active-HD

можно сравнить с "черным ящиком". Эта модель может содержать детализацию всех аспектов обмена информацией между объектом и внешней средой, включая функциональность, временные характеристики, значения данных и тому подобное. Такая модель не содержит информацию о внутренней структуре объекта.

Модель смешанного уровня, Гибридная модель (Mixed - LevelModel, Hybrid Model) - содержит компоненты, которые описаны на разных

уровнях абстракции или разными классами моделей.

Виртуальный прототип (Virtual Prototype).Виртуальным прототипом называют компьютерную имитационную модель конечного продукта (спроектированного устройства) или его компонентов. При этом от такой модели не требуется выполнения никаких специальных условий относительно ее характеристик. Термин "виртуальный прототип" помечает класс моделей, которые играют определенную роль в процессе проектирование, в частности:

иллюстрируют возможные варианты реализации проекта; демонстрируют концепцию проекта; дают возможность проверки проекта на соответствие требованиям и

адекватности поставленной задаче.

3.2 Маршрут проектирования ПЛИС в САПР Active-HDL

Вернемся к процессу проектирования, приведенному на рис 3.1. Как было сказано выше, на всех этапах процесса проектирования формируется ряд моделей разного уровня абстракции, которые отвечают разным аспектам функционирование цифровых устройств. При этом суть процесса многоэтапного проектирования заключается в переходе от моделей с более высоким уровнем абстракции, к моделям с низшим уровнем абстракции, то есть в постепенной детализации описания цифрового устройства на каждом из этапов.

Весь процесс проектирования разбит на 5 главных этапов.

1. На первом этапе формируется техническое задание на проектирование цифрового устройства, в частности, формируются интерфейсная, производительная и функциональная модели, с применением которых можно постоянно осуществлять проверку на соответствие техническому заданию моделей сформированных на следующих этапах проектирования. Так производительная модель определяет быстродействие проектируемого устройства, интерфейсная - способ его интеграции до высшего иерархического уровня, а функциональная модель - алгоритмпревращение информации в проектируемом устройстве.

2. На втором этапе формируется поведенческая модель. В Active-HDL под собственно поведенческой понимает модель, которая написана с применением всех имеющихся в языке VHDL конструкций и типов данных, например действительных чисел, файлов, динамической памяти и т.п.. Поведенческая модель, которая разрабатывается на этом этапе, должна полностью отвечать требованиям и ограничением, сформулированным на первом этапе. Именно это и проверяется при поведенческом моделировании.

20

Page 21: Metodika Proektirovania PLIS v Pakete Active-HD

3. После формирования окончательного вида поведенческой модели

разработчик переходит к Этапу 3 - созданию синтезной модели. Синтезная модель также относится к классу поведенческих, однако может быть написана лишь с помощью определенного подмножества конструкций языка VHDL, которые поддерживаются средствами синтеза логической структуры. На современном этапе развития средства синтеза (превращение VHDL-кода в схемы логических элементов) поддерживают не все имеются в VHDL языковые конструкции, в частности, не поддерживаются операции с вещественными числами. Переход от поведенческой модели к синтезированной характеризуется снижением уровня абстракции описанияцифрового устройства. Синтезная модель проходит проверку при функциональном моделировании.

4. На четвертом этапе (этапе реализации) осуществляется реализация, т.е.

переход от синтезной модели к модели уровня регистровых передач (Register Transfer Level Model - RTL - model). Такая модель включает лишь стандартные компоненты цифровых устройств, такие как регистры, счетчики, дешифраторы, триггеры и т.п. Ее поведение проверяется при временном моделировании.

5. Этап 5 представляет собой переход от модели к формированию битового потока, который загружается непосредственно в ПЛИС. После этого проводится окончательное тестирование уже аппаратно реализованного цифрового устройства. После чего, производиться решение о запуске серийного производства модели.

На всех этапах тестирования как генератор эталонных исходных значений цифрового устройства используется поведенческая модель, разработанная на втором этапе.

3.3 Обзор и принципы работы основных групп инструментов и редакторов САПР Active-HDL.

3.3.1 Обзор элементов и групп элементов среды Active-HDL

Выше был представлен и объяснен маршрут проектирования ПЛИС в системе Active-HDL. Естественно, это была лишь абстрактная схема. В действительности, для того, чтобы создать свой маршрут проектирования разработчик должен уметь владеть инструментами данной САПР. Система Active-HDL-это САПР нового поколения, она представляет большое количество групп инструментов и редакторов. Эти инструменты и редакторы позволяют пользователю разработать свой собственный маршрут проектирования, а так же и решать уникальным образом различные

21

Page 22: Metodika Proektirovania PLIS v Pakete Active-HD

промежуточные задачи, такие как: отладка VHDL кода, задание внешних воздействий, моделирование поведенческой модели, и т.д.

Естественно, что от разработчика, даже начинающего требуются хорошие знания об общей иерархии и структуре групп элементов, так же как и об их основных функциях, свойствах, и связи их между собой.

Поэтому вся эта глава будет посвящена исследованию этих групп элементов и вышеперечисленных пунктов.

Группа инструментов Control ToolsПоскольку пакет Active-HDL имеет большой количество инструментов и

редакторов, то необходимо выполнять их взаимодействие между собой. Так как основной функцией САПР является автоматизация процесса проектирования, то имеется и специальная группа редакторов и инструментов, основной задачей которой является координация работы других групп инструментов и редакторов. Также, необходимо осуществлять управление и файловой структурой проекта. Группа инструментов, которая несет в себе эти функции получила название Control Tools (Контрольные инструменты).

Группа инструментов Design Entry ToolsЭта группа инструментов проектирует первоначальную - поведенческую модель

цифрового устройства. Как было сказано выше, поведенческие модели могут быть созданы разными способами, в частности, с помощью специализированных языков описания аппаратного обеспечение, графов конечных автоматов и др. Группа инструментов Design Entry Tools (Инструменты разработки модели) поддерживает все современные способы создания моделей.

Ядро моделирования (Simulator Kernel)Ядро моделирования – это набор редакторов, мастеров и инструментов,

необходимых для проведения моделирования . Моделирование- важный этап в разработке ПЛИС, благодаря ему осуществляется проверка разработанной модели, которая производится на всех этапах тестирования. В эту группу входят редакторы ( инструменты) задания входных воздействий, редакторы контроля процесса моделирования, инструменты просмотра результатов моделирования и т.д.

Инструменты отладки/просмотра (Watch/Debugging Tools)Поскольку разработчик это человек, то сохраняется большая вероятность

ошибки, поэтому пакет Active-HDL уделяет большое внимание обнаружению и исправлению ошибок. Инструменты (редакторы) группы Debugging Tools осуществляют свою работу практически на всем этапе проектирования. Помимо этого, результаты моделирования выводятся, иногда, не в самой удобной для пользователя форме. Для лучшего анализа полученных при моделировании результатов, используется группа инструментов (редакторов) Watch Tools. Так как, эти две группы инструментов находятся в тесном взаимодействии (некоторые компоненты одной группы могут выполнять функции инструментов другой группы), то разумно их объединить в одну группу инструментов (редакторов).

22

Page 23: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.2 Иерархия групп инструментов на основании маршрута проектирования ПЛИС в САПР Active-HDL

Рис. 3.2 – иерархия инструментов Active-HDL, относительно процедуры проектирования.

После получения технического задания первоначальную настройку проекта производит группа инструментов Control Tools. (рис 3.2). После первоначальных настроек (создание нового проекта/ выбор уже имеющегося; создание рабочего пространства; и т.д.) она подключает к дальнейшей разработке группу Design Entry Tools.

23

Page 24: Metodika Proektirovania PLIS v Pakete Active-HD

Группа Design Entry Tools выбирает путь создания поведенческой модели и создает ее. Если код VHDL (или модель конечного автомата) будет скомпилирован успешно, то можно приступать к моделированию. В противном случае придется провести отладку, с помощью группы инструментов Debugging Tools – обнаружить и исправить ошибки.

После успешной компиляции подключается группа инструментов Simulator Kernel. Группа инструментов Simulator Kernel непосредственно будет моделировать поведенческую модель. Этот процесс разбит на несколько этапов, на каждом из которых разработчик имеет широкие возможности. Для получения дополнительных средств контроля за ходом моделирования, можно подключить группу инструментов Debugging Tools. Если моделирование дало предполагаемые результаты, то модель была создана правильно. Нужно отметить, что группа инструментов Simulator Kernel может осуществлять моделирование моделей всех уровней абстракции.

Важный факт: как это видно из рис 3.2, система Active-HDL не имеет встроенных инструментов (редакторов) для логического синтеза и реализации схемы. Для этого необходимы внешние средства. Поэтому этапы 2 и 3: «Логический синтез» и «Реализация» возможны только после определения группой инструментов Control Tools наличия внешних средств синтеза и реализации.

24

Page 25: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.3 Принципы и основы работы с основными группами инструментов системы Active-HDL

Рассмотрим принципы работы с перечисленными выше системными инструментами.

3.3.3.1 Группа инструментов Control ToolsПроцесс рассмотрения групп инструментов САПР мы начинаем с группы

инструментов Control Tools, которые являются системообразующими.

Рис. 3.3 – группа инструментов Control Tools

Процесс проектирования может казаться простым, когда проект имеет только один или несколько файлов, подлежащих дальнейшему проектированию. Однако, когда проект состоит из многих различных файлов, расположенных в различных папках, степень сложности такого проекта существенно возрастает. Разработчик, без помощи специальных программ вполне может не справиться с проектом высокой степени сложности. Это в конечном итоге сказывается на качестве конечного продукта, а так же на трудозатратах проекта. Поэтому, для того, чтобы облегчить работу разработчикам, у пакета Active-HDL есть специализированная группа инструментов, основными функциями которой, являются помощь в создании маршрута проектирования и непосредственное управление файловой структурой проекта. Эта специальная группа инструментов получила название Control Tools.

Группа Control Tools состоит из следующих редакторов:С помощью мастера Design Wizard, (Мастера Проекта) возможно создать

новые файлы, которые автоматически упорядочиваются, устраняя необходимость

25

Page 26: Metodika Proektirovania PLIS v Pakete Active-HD

тяжелой работы и беспорядок. В окне Design Browser (браузера Проекта) можно легко присоединить старые файлы и создать новые файлы или папки. Design Tools – это различные инструменты контекстного меню.

Console (консоль) является интерактивным экраном ввода – вывода, предназначенным для введения текстовых команд пакета Active-HDL и отображения на экран сообщений, сгенерированных инструментами Active-HDL Таким образом она является своеобразным хранилищем действий различных инструментов (например и вышеперечисленных мастеров). История выполненных команд и действии сохраняется, что дает возможность удобно контролировать ход проектирования. Design Flow Manager («Менеджер маршрута проектирования») показывает доступный для заданных установок маршрут проектирования. Он ограничивает наши действия тремя способами описания проекта (HDE, FSM, BDE) и последующим функциональным моделированием (functional simulation) Об этих способах проектирование будет подробно сказано в дальнейшем.

Все эти инструменты формируют Управляющую оболочку (Framework) системы проектирования Active-HDL 7.1

Рис. 3.4. Управляющая оболочка (Framework) системы проектирования Active-HDL

Как видно из рис 3.4 управляющая оболочка содержит множество контекстных подменю. Мы рассмотрим среди них Меню проекта (Design Menu), обладающее важными функциями.

Помимо группы инструментов, в данном блоке будут рассмотрены и библиотеки Active-HDL.

3.3.3.1.1 Design Wizard (Мастер проекта) Новый Мастер Проекта - инструмент, который помогает в создании «скелета»

нового проекта и добавления новых файлов к проекту.26

Page 27: Metodika Proektirovania PLIS v Pakete Active-HD

На стартовой панели Getting Started (рис. 3.5) вы можете выбрать из предложенного списка и открыть существующее рабочее пространство (Open existing workspace) или создать новое (Create new workspace). Мы начнем знакомство с создания нового рабочего пространства, а потому установим переключатель в положение Create new workspace.

Рис. 3.5 - Стартовая панель

Понятие «рабочее пространство» является относительно новым, к нему мы еще вернемся, а пока сделаем простое пояснение. Это еще одна надстройка над совокупностью обычных проектов, своего рода суперпроект или мультипроектная рабочая среда. Можно «держать под рукой» сразу несколько проектов и иметь быстрый доступ к их совокупному ресурсу. На второй панели New Workspace (рис. 3.6) необходимо напечатать имя рабочего пространства и указать место, где оно будет расположено. По умолчанию будет предложена папка my_designs, находящаяся в корне того логического диска, на котором установлена система.

Рис. 3.6.- Задаем имя рабочего пространства и его месторасположение на дискеНа третьей панели New Design Wizard (рис. 3.7) по умолчанию предлагается режим Create an Empty Design with Design Flow («Создать пустой проект с использованием менеджера маршрута проектирования»).

27

Page 28: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.7 - Выбор варианта создания проекта

Как видно из интерфейса окна, возможен импорт файлов из другой/сторонней среды, например Archive-CAD. Выбирая «импорт проекта из Archive-CAD» проект может быть целиком импортирован в среду Active-HDL для дополнительных модификаций.

После выбора режима Create an Empty Design with Design Flow , а затем выбора имени проекта, например Lesson_1 собственно и начинается активная работа по созданию проекта. Она выполняется в интегрированной среде проектирования Active-HDL 7.1 (рис. 3.8). В строке заголовка видно это название, а правее в круглых скобках высвечивается имя загруженного рабочего пространства и проекта: Lessons, Lesson_1. Далее следует название активной закладки — Design Flow Manager.

Рис. 3.8.- Управляющая оболочка (Framework) системы проектирования Active-HDL

28

Page 29: Metodika Proektirovania PLIS v Pakete Active-HD

Однако новый проект не означает абсолютно новых файлов. New Design Wizard позволяет добавлять уже существующие файлы к проекту. Окно New Design Wizard также позволяет конфигурировать инструменты синтеза и реализации, которые будут использоваться соответственно во время процессов синтеза и реализации проекта. (рис 4 ). В этом окне можно также определить язык HDL по умолчанию и конфигурацию Блок-схемы.

Рис 3.9-Окно Дополнительной информации.

3.3.3.1.2 Браузер проекта (Design Browser)

Окно браузера Проекта выводит на экран содержимое всего проекта в удобной для пользователя среде. Это - место, где возможно добавить или удалить любые исходные файлы. С одним взглядом на модель дерева иерархии можно проверить, какие файлы являются устаревшими, а какие содержат ошибки. Окно браузера проекта позволяет выбирать высокоуровневый проект модели. Все функциональные макро-файлы выполняются отсюда, вызывая простые команды контекстного меню.

Дважды щелкая по выбранным файлам, Браузер проекта выводит на экран свое содержание в соответствующем окне редактора. Во время процесса компиляции и процесса моделирования окно браузера Проекта выводит на экран все сигналы и сигнальные значения для выбранного объекта.

Окно браузера Проекта состоит из трех вкладок:

29

Page 30: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.3.1.2.1 Вкладка Файлов (Files)

Верхняя часть вкладки Files показывает файлы ресурсов текущего проекта. Каждый файл представлен отдельным значком. Форма значка зависит от типа файла. В случае исходных файлов HDL и файлов диаграммы состояний, цвет и вид значков привносит дополнительную информацию о состоянии файла:

Вкладка Files показывает модули проекта, содержащиеся в различных определенных исходных файлах. Имя модуля проекта, выбранного в настоящий момент для моделирования, выведено на экран полужирным. Нижняя часть вкладки Files выводит на экран модули проекта, содержавшиеся в значении по умолчанию рабочая библиотека.

Поле списка, расположенное на самой вершине вкладки, позволяет выбирать высокоуровневый модуль проекта из списка модулей проекта, доступных в списке значений, предоставляемых по умолчанию, рабочей библиотекой. Высокоуровневый проект выведен на экран полужирным. Как обычно, возможно также выбрать высокоуровневый проект другим путем, щелкая правой кнопкой по любому из исходных файлов.

Рис. 3.10 - Окно браузера Проекта

Присоединяемые типы файлов ресурсов:

30

Page 31: Metodika Proektirovania PLIS v Pakete Active-HD

VHDL Source Code (vhd;vhdl;vhq;tvhd;vho;vhm;vhi), configurations, and testbenches

Verilog Source Code (v;vei;veo;vo;vm;vmd;vlb;vlg) and testbenches C/C++ Source Code (cpp;c;h) · Verilog Value Change Dump (.vcd) · State Diagram (.asf) · Block Diagram (.bde) · BDE Symbol (.bds) · Waveform File (.awf) · List File (.lst) · Macro (.do) · SDF File (.sdf, .sdo) · EDIF Netlist (.edf, .edn, .edo) · Viewlogic Schematic (.1) · TCL Script (.tcl) · Active-CAD Test Vector (.asc) · Active-CAD Project (.pdf) · XNF Netlist (.xnf) · Basic Script (.bas) · Perl Script (.pl) · Drawing (.afc) · Bitmap (.bmp) · HTML Document (.htm) Design Management Overview · Text (.*) External file

Диаграмма состояний и файлы Блок-схемы выводятся на экран вместе с сгенерированным кодом. Контекстное меню, вызываемое нажатием правой кнопки мыши, внутри окна Files, позволяет произвести компиляцию всего проекта или только выбранных файлов. Оно также выполняет удаление файлов или из проекта или из диска. В случае, если файлы содержат макро-файлы, можно выполнить их внутри окна вкладки Files.

3.3.3.1.2.1 Вкладка Structure Tab

Вкладка Structure Tab разделена на две части. Верхняя часть показывает иерархическую структуру высокоуровневого модуля проекта.Нижняя часть выводит на экран объекты, определенные в пределах одной области проекта, выбранной в верхней части вкладки. Она разделена на несколько столбцов, которые показывают:

вид объекта;имя объекта;его состояние в текущий момент времени (Value).

31

Page 32: Metodika Proektirovania PLIS v Pakete Active-HD

Вид объекта (сигнал, переменный (постоянный) порт, файл, сеть, регистр, параметр), обозначен соответствующим значком, выведенным на экран рядом с именем объекта. Чтобы просмотреть объекты от определенной области проекта, необходимо выбрать соответствующее ответвление иерархии в верхней части вкладки Structure.

Рис. 3.11 - Структура иерархии проекта (VHDL)

Метки, выведенные на экран рядом со значками, извлечены из исходного кода. Вы можете также просмотреть исходный код объекта или процесса, щелкнув правой кнопкой, и выбрав команду Open из контекстного меню.

У окна Structure Tab есть такие особенности редактирования как перемещение имен файлов из этого окна и их последующее копирование в окна других менеджеров.

3.3.3.1.2.2 Вкладка Resource Tab

Вкладка Resource Tab состоит из трех папок:

Список - с файлами списка, сгенерированными во время моделирования Журнал - с файлами журнала Консоли, результатами моделирования,

результатами компиляции Waveforms - с файлами менеджера Waveform editor

Можно также добавить новые папки, содержащие различные типы файлов, щелкая правой кнопкой в окне Resources. Различные типы документов выведены на экран с различными формами значка.

32

Page 33: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.3.1.3 Workspace/Design Explorer (Проводник рабочего пространства/Проекта )

Окно Workspace/Design Explorer является средством для эффективного управления проектами, так, чтобы не беспокоится о физическом расположении файлов проекта на компьютере. Есть функции, которые позволяют создавать и удалять папки, создавать ярлыки существующих проектов, создавать новые проекты и копировать любые проекты в новую целевую папку.

Workspace/Design Explorer вызвается, выбором опции Open Workspace из меню File. По умолчанию все демонстрационные проекты сохранены в папке /My_Designs/Samples_61/ folder, создаваемой во время установки.

Рис. 3.12 - Окно Workspace/Design Explorer

Каждый проект/рабочее пространство представлено в окне Workspace/Design Explorer ярлыком. У проекта/рабочего пространства может быть несколько ярлыков. Проводник Workspace/Design Explorer позволяет группировать ярлыки в папки. Отметим, что эти папки не имеют никакого отношения к папкам файла, в которых сохранены проекты/рабочее пространство. Окно Workspace/Design Explorer состоит из двух панелей.

Левая панель - иерархическая структура папок ярлыка. Правая панель показывает содержание в настоящий момент выбранной папки. Строка состояния выводит на экран имя файла и путь к файлу описания проекта/рабочего пространства, выбранного в настоящий момент.

33

Page 34: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.3.1.4 Design MenuМеню The Design Menu проекта позволяет выполнять те же самые операции как

контекстное меню. Но помимо этого, есть уникальные команды, предусматривающие создание новых библиотек и настройку проекта. Возможно также добавить к открытым, в настоящий момент, документам другие , из папки design project.

Рис. 3.13 - Меню Проекта

В окне Design Settings можно установить дополнительные опции. Окно разделено на следующие вкладки:

General (Общий) - выбор верхнего уровня разрабатывают модуль для моделирования и конфигурации HDL блока/диаграммы состояний

VHDL/Verilog - установление рабочих параметров для компиляторов VHDL и Verilog ;

SDF - выводит на экран файлы со спецификациями синхронизации и устанавливает целевую область проекта

Simulation (Моделирование) - предоставляет определенные возможности для моделирования VHDL и Verilog, отключая VITAL незначительные сбои и предупреждения от средства чтения файлов SDF, а также предоставляет настройки управления памятью.

Trace/Debug (Трассировка/Отладка) - обеспечивает настройки для Режима отладки и Моделирования Сообщения;

34

Page 35: Metodika Proektirovania PLIS v Pakete Active-HD

Verilog PLI - обрабатывает библиотеки DLL для Приложений PLI;

EDIF - обрабатывает библиотеки, необходимые для компиляции и моделирования в текущем проекте ;

Code Coverage/Profiler (Кодовое пространство/Профилировщик кода) - позволяет определять опции Code Coverage и Profiler;

Рис. 3.14 - Окно Design Settings

Другой полезной опцией в подменю Design является опция Backup Revision (Резервная Версия). Часто необходимо сделать копию проекта в его текущем состоянии, особенно когда необходимо сделать в нем существенные изменения. Поэтому рекомендуется создавать файлы резервных копий для защиты содержимого проекта.

Сохранение резервных версий на различных этапах процесса разработки позволяет прослеживать изменения в проекте, разрабатывать несколько версий проекта, и т.д. Active- HDL позволяет Вам сохранять неограниченное число версий для каждого проекта. Каждая версия идентифицирована числом, автоматически присвоенным ей во время создания версии. Вы можете также добавить дополнительную метку и комментарии к каждому проекту.

Невозможно совмещать версии, создаваемые в Active- HDL для различных проектов. Когда необходимо восстановить одну из предыдущих версий, нужно использовать команду Restore Revision, которая автоматически заменяет текущий проект выбранной версией. Отметим главное, новая запущенная версия, удалит текущий проект. Поэтому рекомендуется, сохранять текущий проект , перед использованием команды Restore Revision.

35

Page 36: Metodika Proektirovania PLIS v Pakete Active-HD

Рис 3.15 - Окно Backup Revision

Опция Create Library из меню Design вызывает новое окно мастера New Library Wizard.

Мастер упрощает процесс создания библиотеки. Можно вставить файлы с кодом VHDL или диаграммами состояний к новой библиотеке или создать новую. Мастер помогает определить местоположение требуемых файлов и помогает разработчику на протяжении всего процесса проектирования.

36

Page 37: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.3.1.5 Менеджер библиотек (Library Manager)

Менеджер библиотек разработан для того, чтобы позволить управлять библиотеками Active-HDL. Возможны следующие операции на библиотеках и их содержимом:

Создание новых библиотек и настройка их рабочего режима. Присоединение, отсоединение и удаление библиотек. Редактирование логических имен библиотек. Уплотнение библиотек. Просмотр содержания библиотек. Просмотр исходных файлов определенных модулей библиотеки. Удаление определенных модулей библиотеки.

Общий вид окна Library Manager: представлен ниже

Рис. 3.16 - Окно Library Manager

Окно менеджера библиотек содержит две панели. Левая панель содержит список в настоящий момент присоединенных библиотек и их параметров. У этой панели есть четыре столбца:

Библиотека - выводит на экран логическое имя библиотеки;

Режим - выводит на экран рабочий режим библиотеки. Есть два режима: Чтение-запись (R/W) и Только-Чтение (R/O));

Комментарий - выводит на экран дополнительный комментарий, обеспечивающий краткое описание содержания библиотеки;

Каталог - выводит на экран индексный файл библиотеки с полным путем к нему;

Стандартные библиотеки присоединяются к списку во время установки. Когда создается новая библиотека, она также автоматически присоединяется к списку.

37

Page 38: Metodika Proektirovania PLIS v Pakete Active-HD

Рабочие значения (заданные по умолчанию) библиотеки окажутся в списке в тот момент, когда разработчик откроет соответствующие проекты.

Если файл был выбран в левой части окна , то он будет автоматически выделен и в правой панели . Правая панель , кроме этого , разделена на две части горизонтальной линией. Поэтому если выбрать пакет, то список объектов, определенных в нем, будет выведен на нижний экран. Правая панель содержит следующие столбцы:

Имя модуля - выводит на экран основные модули библиотеки, содержавшиеся в выбранной библиотеке. Напомним, что Библиотека была выбрана в левой панели окна;

Вторичное Имя Модуля - выводит на экран вторичные модули библиотеки, содержавшиеся в выбранной библиотеке. Единственные основные модули, у которых могут быть вторичные модули, являются объектами и пакетами. Для остающихся типов столбец повторяет имя, выведенное на экран в столбце Unit Name. Это логически оправдано, тем что, когда на такие модули ссылается код VHDL в смешанных проектах, у них, как предполагается, есть виртуальные вторичные модули с тем же самым именем;

Исходный Тип - выводит на экран тип исходного документа, содержащего описание определенного модуля библиотеки. Если основной модуль - объект VHDL, этот столбец выводит на экран тип исходного файла, описывающегоопределенную архитектуру, не объект непосредственно. В случае если это не модули VHDL, информация в столбце применяется непосредственно к основному модулю библиотеки. Доступные исходные типы: Исходный код (если модуль описан непосредственно в исходном коде VHDL или Verilog), Netlist (если модуль описан непосредственно EDIF netlist);

Выходной язык - указывает на язык исходного кода, от которого был успешно скомпилирован модуль библиотеки. Если исходный тип - или Блок-схема или Диаграмма состояний, используют язык, выведенный на экран здесь, то он является языком исходного кода, который был сгенерирован из файла схемы. Доступные выходные языки - VHDL, Verilog, и EDIF;

Символ - указывает, есть ли у основного модуля библиотеки символ блок-схемы в библиотеке. Эта информация применяется только к объектам VHDL, модулям Verilog, и ячейкам EDIF;

Данные моделирования - указывают, есть ли у модуля библиотеки данные моделирования или, нет. Библиотеки могут включать модули библиотеки, у которых нет никаких данных моделирования.. Если основной модуль

38

Page 39: Metodika Proektirovania PLIS v Pakete Active-HD

библиотеки - объект VHDL, информация в столбце применяется к своей архитектуре, а не к объекту непосредственно;

Стандартные и определяемые пользователем библиотеки обозначены универсальным значком. Специфичные пользовательские библиотеки обозначены их собственными уникальными значками.

3.3.3.1.6 Консоль (Console)Консоль является интерактивным экраном ввода – вывода, предназначенным

для введения текстовых команд пакета Active-HDL и отображения на экран сообщений, сгенерированных инструментами Active-HDL. Консоль включает несколько

вкладок, чтобы разделять сообщения, сгенерированными различными инструментами. Вкладка Console выводит на экран сообщения, сгенерированными различными инструментами. Эта вкладка также служит вводом для команд Active-HDL, которые позволяют выполнять различные операции в приложении, не используя меню GUI и другие группы (панели) инструментов.

Рис 3.17 - Основное окно консоли

Команды консолиБольшинство реализуемых команд Active-HDL вызвается с различными

параметрами, такими как имена файлов, имена сигналов, номера строки, и т.д. После ввода команды help <macro_command> в окне консоли автоматически выйдет окно справки Active-HDL со списком всех доступных команд.

3.3.3.1.7 Файлы с макрокомандами

Active-HDL позволяет создавать макро-файлы, которые содержат последовательности макрокоманд. Выполняя такой файл в консоли возможно немедленно выполнить моделирование, если для этого ранее были подготовлены все необходимые требования, такие как описание модели, тестовые векторы, и т.д. В качестве примера давайте просмотрим макро-файл , используемый для верификации проекта Счетчика, разработанного в среде Active-HDL. Верхняя часть файла восстанавливает проект в тихом режиме, загружает файлы описания счетчика COUNTER8.VHD и испытательного стенда TESTBENCH.VHD, и выбирает TESTBENCH_ARCH как главную архитектуру.

39

Page 40: Metodika Proektirovania PLIS v Pakete Active-HD

Более низкая часть файла инициализирует средство моделирования, добавляет сигналы в менеджер Waveform Viewer и выполняет моделирование. Как можно видеть, работа макро-файла довольно легко прослеживается, если у разработчика имеются знания соответствия макрокоманд и их функций.

Пример

Макро-файл FUNCTIONAL.DO , включаемый в проект счетчика:

# rebuild whole projectsavealltabsquiet onacom counter8.vhdacom testbench.vhdasim testbench TESTBENCH_ARCH# initialize simulationwavewave CLKwave RESETwave CEwave LOADwave DIRwave DINwave COUNTrun -allendsimquiet off

Функция выполнения программного обеспечения

Консоль позволяет выполнять внешние файлы, такие как системные команды, программные инструменты, и т.д. Возможно даже выполнить размещение и

выбрать инструменты для разрабатываемого проекта, не вызывая GUI соответствующего программного обеспечения. Это - хороший способ разработать проект, потому что он экономит время. Однако этот метод требует мастерства в использовании

программных инструментов, и команд , а поэтому у разработчика должно быть всестороннее знание программного обеспечения, которое Вы используете. Таким образом этот способ разработки вряд ли подойдет начинающим разработчикам.

40

Page 41: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.3.2 Группа инструментов Design Entry Tools

После выполнения первоначальных действий в среде Active-HDL, группа инструментов Control Tools подключает для дальнейшего проектирования группу инструментов Design Entry Tools.

На закладке Design Flow Manager изображен доступный для заданных установок маршрут проектирования. Он ограничивает наши действия тремя способами описания проекта (HDE, FSM, BDE) и последующим функциональным моделированием (functional simulation). Правда, перед моделированием потребуется еще установка некоторых опций (options). Как видно из рис. 3.18 эти три способа описания проекта, управляются соответственно тремя редакторами.

Рис. 3.18 – Группа инструментов Design Entry Tools

1. HDE (Hardware Description language Editor), текстовый редактор, предназначен для создания проекта в текстовом формате на языке VHDL, Verilog или SystemC;

2. BDE (Block Diagram Editor), схемный редактор, предназначен для непосредственного рисования схем;

3. FSM (Finite State Machine), редактор конечных автоматов, предназначен для описания проекта в виде диаграммы состояний конечного автомата.

41

Page 42: Metodika Proektirovania PLIS v Pakete Active-HD

Вышеперечисленные редакторы соответственно и образуют группу инструментов Design Entry Tools. Как видно из рис. 3.18 разработчик для создания поведенческой модели может выбирать из нескольких редакторов. Однако необходимым условием перед моделированием является компиляция. Компиляция производиться для VHDL кода описанной модели. Поэтому если был выбран редактор BDE , перед компиляцией необходимо преобразовать схему в автоматически генерируемый код VHDL, командой Generate HDL code. Доступна и обратная операция (т.е. создание схемы по HDL коду) выполняемая командой Code2Graphics. Если компиляция выполнена успешно, то можно перейти к моделированию, в противном случае необходимо провести отладку с помощью группы инструментов Watch/Debugging Tools.

Рассмотрим более подробно редакторы HDE, BDE и FSM.

3.3.3.2.1 HDE (Редактор HDL)

Редактор HDL является инструментом для того, чтобы создавать коды HDL, испытательные стенды, макросы, сценарии, и другие текстовые файлы. Пиктограмма HDE запуска текстового редактора HDL Editor в окне Design Flow Manager стоит первой слева. Значит, сначала нужно щелкнуть по этой кнопке, вызвав основной инструмент создания проекта. Заметим, что в ранних версиях пакета никаких других средств описания проекта пользователю и не предлагалось. Active-HDL предлагает несколько автоматизированных инструментов для создания кода VHDL/Verilog, таких как New Source File Wizard

Рис. 3.19 - Окно редактора HDE

3.3.3.2.1.1 New Source File Wizard

Active- HDL позволяет создавать файлы VHDL и Verilog, выбором команды Add New File из окна Design Browser. Окно, которое появляется, дает список команд:

42

Page 43: Metodika Proektirovania PLIS v Pakete Active-HD

Block Diagram (Блок-схема) State Diagram (Диаграмма состояний) VHDL Source Code (Исходный код VHDL) Verilog Source Code (Исходный код Verilog) Add Existing File (Добавьте Существующий Файл)

Рис. 3.20 - Окно добавления нового файла

Доступен список следующих мастеров: Block Diagram Wizard (Мастер Блок-схемы) State Diagram Wizard (Мастер Диаграммы состояний) VHDL Source Code Wizard (Мастер Исходного кода VHDL) Verilog Source Code Wizard (Мастер Исходного кода Verilog)

Рис. 3.21 - Окно добавления нового файла-вкладка Wizards

Мастер облегчает запись проекта, разбивая процесс на несколько шагов. Каждый шаг запрашивает некоторую определенную информацию о файле, который создается.

1. Должен ли создаваемый код быть добавлен к текущему проекту, или нужно создать новый проект;

43

Page 44: Metodika Proektirovania PLIS v Pakete Active-HD

2. Выбрать язык, который будет сгенерирован от блок-схемы или диаграммы состояний (только для BDE или файлов FSM);

3. Ввести имя файла, объект и архитектуру или имя модуля. Поля имен файлов обязательны;

4. Предоставить информацию о портах модуля.

Рис. 3.22 - Окно мастера New Source File Wizard

3.3.3.2.1.2 Инструменты редактора HDL Editor

На рис. 3.24 показаны основные кнопки панели инструментов HDE Tools (мы переместили ее на рабочую область редактора). В скобках рядом с иностранным названием пиктограммы указаны горячие клавиши для быстрого вызова соответствующей команды.

Рис. 3.23 - Команда Undock Window

Любой программист при написании программы заботится о том, чтобы созданный им продукт был удобен для восприятия. И неважно, кто его будет читать — сам создатель или другой пользователь. Удобочитаемость кода заметно повышается,

44

Page 45: Metodika Proektirovania PLIS v Pakete Active-HD

если он должным образом структурирован, форматирован и документирован (снабжен комментарием).

Под структурированием в пакете Active-HDL понимается процесс разбиения текста программы на блоки (группы, group), содержащие синтаксически законченные конструкции языка описания аппаратуры, и их цветовой формы. Редактор HDL Editor поддерживает иерархию описаний, когда один блок может быть вложен в другой.

Рис. 3.24 - Назначение кнопок панели инструментов HDE Tools

Перед структурированием полезно выполнить пробную компиляцию, чтобы убедиться, что написанный отрезок кода не содержит синтаксических ошибок. Есть также возможность автоматически структурировать весь документ, нажав на кнопку Generate Structure..Прежде всего, обратим внимание на две вещи: раскраску кода и разбиение его на группы (рис. 3.25).

45

Page 46: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.25 - Структурирование VHDL-кода разбивает его на группы (блоки) и раскрашивает их разными цветами и оттенками

Например, блок entity выделен сиреневым цветом и раскрыт на верхнем уровне, тогда как список портов port имеет более темный оттенок и, наоборот, свернут до одной (первой) строки. Пустой блок architecture тоже раскрыт и имеет светло-зеленую окраску. Заметим, что цвет группы и ее первоначальное состояние (раскрыта или свернута в строку) можно настраивать по своему желанию (команда Preferences из меню Tools).

Чтобы убрать все следы структурирования кода (разбиение на группы и их раскраску), достаточно нажать на кнопку Remove groups. В принципе можно отказаться от автоматического структурирования и выполнить эту процедуру вручную, манипулируя кнопками Create group ЕН и Remove groups EH. Именно таким способом создана группа - комментарий , показанная на рис. 3.25 (вверху). Здесь появляются дополнительные возможности: можно создавать группы из любого числа строк и даже нарушать границы синтаксически завершенных конструкций языка описания аппаратуры. Более того, ручное структурирование возможно и поверх автоматически структурированного текста.

Важный момент структурирование текста программы не включает в себя операции форматирования, то есть перемещения строк друг относительно друга, с целью выделить основные элементы синтаксических конструкций, отразить иерархию описания и повысить, таким образом, удобочитаемость кода.

46

Page 47: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.26 - Результат автоматического форматирования фрагмента VHDL-кода

Для этого в пакете Active-HDL существует другая процедура, называемая автоматическим форматированием текста. Она выполняется в редакторе HDL Editor нажатием на кнопку Autoformat text EH. Результат выполнения этой процедуры показан на рис. 3.26 -б. Возможно форматировать текст вручную, для этого предназначены кнопки П (Indent) и (Outdent), перемещающие выделенный фрагмент кода на одну позицию табуляции вправо или влево.

Рис. 3.27- Создание комментарий на фрагменте VHDL-кода

При отладке программных VHDL-моделей возникает необходимость в создании комментариев. Поэтому в редакторе HDL Editor имеется специальная кнопка Comment, позволяющая автоматизировать названную процедуру. Необходимо выделить фрагмент текста, который требуется закомментировать, и нажмите кнопку Comment. В начале каждой строки выделенного текста редактор автоматически поставит символы комментария (рис.3.27 -а). Чтобы снять комментарий, необходимо выделить желаемый фрагмент закомментированного кода и нажмите кнопку противоположного действия Uncomment ЕН (рис. 3.27 -б).

Стоит обратить внимание еще на одну кнопку инструментальной панели HDE Tools (рис. 3.24). Она называется Column selection ЕН и позволяет включить (а при повторном нажатии — выключить) режим выделения столбца. На рис. 3.28 показано, как с помощью этого инструмента созданы четыре строки комментария.

47

Page 48: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.28 - Выделение столбца с именами портов

Нажмем на кнопку Column selection ЕН, выделим столбец с именами входных и выходных портов D0, D1, A, Y (рис. 12) и скопируем его в буфер обмена. Переместим указатель мыши вправо и вставим копируемый столбец. Нажмем на кнопку Comment , превращая введенный столбец в комментарий. Этот способ намного оперативнее, описанного выше.

3.3.3.2.1.3 Language Assistant (Языковой помощник) Языковой помощник это помощник в ускорении разработки исходного кода

HDL. Он предоставляет шаблоны, которые являются готовыми сегментами кода. Есть несколько групп шаблонов:

Code Auto Complete -шаблоны ключевых слов HDL, или целые конструкции, вставляемые после ввода первых символов кода и нажатия клавиши Пробел;.

Language templates- шаблон с конструкциями языка Бэйсик.

Simulation templates- шаблон с демонстрационными процессами, полезными при создании Испытательных стендов, таких как синхронизация сигналов и т.д.

Synthesis templates- шаблон с ориентированными на синтез основными функциональными блоками, такими как мультиплексоры, триггеры, счетчики, и т.д.

Tutorial-Учебное руководство с четырьмя шаблонами, которые включают счетчик, декодер, испытательный стенд, и демонстрационную высокоуровневую

спецификацию. User templates-место в файловой структуре, которое хранит ,сохраненные

пользователем шаблоны.

48

Page 49: Metodika Proektirovania PLIS v Pakete Active-HD

Рис 3. 29 - Окно редактора Language Assistant

Возможно вставить выбранный шаблон в документ, отредактированный в окне Active-HDL, перетаскивая его имя в окно редактора HDE. Естественно, что вставленный шаблон (представляющий собой фрагмент кода) может потребовать редактирования для адаптации его к потребностям проекта.

Для задействования другого метода вставки шаблонов, пользователь должен щелкнуть правой кнопкой по шаблонной метке и выбрать команду Use из контекстного меню. Шаблон будет вставлен в редактор HDЕ на позицию курсора поэтому, необходимо заранее помещать курсор в позицию вставки. Также можно щелкнуть

по значку , расположенному на панели инструментов Language Assistant, чтобы вставить шаблон.

Рис. 3.30 -Окно вставки шаблона

Левая панель мастера Language Assistant представляет собой иерархический список шаблонов.

Список выведен на экран в древовидной форме. Шаблоны могут быть сгруппированы в папки, которые добавляются или удаляются пользователями. Контекстное меню доступно в левой панели. Опции его команд копируют функции кнопок. Правая панель позволяет предварительно просматривать содержание, в

49

Page 50: Metodika Proektirovania PLIS v Pakete Active-HD

настоящий момент выбранного, шаблона. Возможно, также, присвоить атрибут «только для чтения» шаблону, чтобы предотвратить случайное его изменение.

Color Preferences (Цветовые предпочтения).

Редактор HDE позволяет отличать ключевые слова, комментарии и константы от остальной части текста, выводя на экран каждый элемент в различном цвете. Цвет, выбранный для каждого определения ключевого слова, так же как и тип шрифта, может быть определен в окне Preferences | Environment | Appearance.

Этот инструмент крайне полезен, ведь за символом, на который наносят цветную маркировку, намного легче следить. Эта функция особенно полезна для тех пользователей, которые еще не достаточно хорошо ориентируются в языке HDL. Редактор HDE проверяет синтаксис кода в интерактивном режиме, так каждое ключевое слово изменяет свой цвет когда, оно введено правильно.

Рис. 3.31-Окно Preferences

Синтаксис файла HDE проверяется каждый раз, когда выполняется команда Compile.

Редактор HDE выведет на экран уведомление, если в файле произошла ошибка. Все сообщения об ошибках регистрируются в файле и немедленно выводятся на экран в окне компиляции.

Функции редактора HDE по форматированию избыточных символов кода улучшают вид кода. Значки для этих действий расположены в левой части окна:

- добавляет отступ в выбранный текст,

-удаляет отступ из выбранного текста,

-преобразовывает выбранный текст в комментарии HDE,50

Page 51: Metodika Proektirovania PLIS v Pakete Active-HD

-снимает комментарий с выбранного текста,

-генерирует группу для выбранного текста, которая в результате может быть расширена или свернута для того, чтобы улучшить вид кода. Таким образом создаваемая структура выведена на экран с цветовым фоном,

-удаляет конструкцию из выбранного текста,

- автоматически генерирует конструкцию для всего текста. Такие элементы кода как объявление портов объекта VHDL, или конструкции типа IF .. THEN будут автоматически свернуты. Определенные конструкции будут выведены на экран с различными цветами,

- автоматически форматирует выбранный код относительно добавления отступа,

- добавляет ссылку (в форме комментария) чтобы позволить компилировать файл, расположенный на диске или в Интернете. Добавляя ссылку к интернет-странице, содержащей подробную спецификацию модели, появиться прямой доступ к запрошенной информации. (Например информация о человеке, использующем проект),

- помещает именованную закладку в код, со специальным значком , что позволяет улучшить навигацию кода.

Размещение общих закладок и навигация между ними облегчены значками,

расположенными в верхней части окна редактора: Эти значки позволяют Вам помещать закладку, переходить к следующей, переходить к предыдущей и удалять закладку.

Подобным действию, наносящему цветную маркировку на ключевые слова HDL, возможно определить свои собственные цвета и для сгенерированных конструкций.

51

Page 52: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.32 -Редактор HDЕ, содержащий блоки.

Таким образом редактор HDE представляет собой не просто интерфейсное окно ввода кода . Редактор HDE также и ускоряет запись кода HDL, путем наличия следующих элементов:

Зарезервированные слова -возможно автоматически вставить ключевые слова только после ввода нескольких первых букв и нажатия клавиши Пробел ; или клавиши со стрелкой вправо. Ключевое слово будет автоматически вставлено.

Конструкции HDL – возможно автоматически вставить целую конструкцию VHDL или Verilog после ввода нескольких первых букв и нажатия клавиши Пробел. Шаблон будет автоматически вставлен.

Следующий рисунок показывает код шаблона для случая CASE:

Рис. 3.33 - Автоматическая вставка шаблона

3.3.3.2.2 Редактор FSM (редактор конечных автоматов).

52

Page 53: Metodika Proektirovania PLIS v Pakete Active-HD

Редактор FSM представляет пользователям возможность описать проект в виде объединения цифровых автоматов. Цифровой автомат — это концептуальное представление последовательностного устройства. Фактически любая цифровая схема с памятью может рассматриваться как конечный автомат или их объединение. Так как этот редактор отличается наглядностью, он становятся очень привлекателен большинству разработчиков.

Рис. 3. 34-Окно редактора FSM

Как было сказано выше редактор FSM позволяет представить цифровое устройство в виде конечных автоматов. Конкретнее, конечный автомат (FSM) представляет поведение процесса и его функциональность в ограниченном количестве состояний. Проект FSM содержит следующие атрибуты:

Список состояний; Список команд, которые могут быть приняты в каждом состоянии; Список действий, на выполнение каждой команды ;

Действия могут быть следующего вида: отправить команду другому компоненту (асинхронно и синхронно); выполнить часть кода (пользовательская подпрограмма); установить состояние.

Имеются определенные условия для каждого состояния, которые вызывают перечисленные действия. Условия остаются активными и повторяют действия всякий раз, когда компонент изменяет свое состояние, т.е. запускается или останавливается.

3.3.3.2.2.1 New Source File Wizard (Мастер нового исходного файла)

Начинающие разработчики могут выбрать New Source File Wizard, чтобы создать шаблон конечного автомата. Этот мастер помогает в процессе создания проекта. При использовании мастера предоставляется та же самая информация, как если бы пришлось вводить код в кодовом редакторе. Различие между файлом, создаваемым

53

Page 54: Metodika Proektirovania PLIS v Pakete Active-HD

Мастером и пустым файлом конечного автомата, который создается вызовом команды Add New File, в том, что сигнальные имена и объявленные порты автоматически вставлены в сгенерированный файл Мастера. При использовании команды Add New File, эти имена должны быть введены вручную.

3.3.3.2.2.2 State Machine Toolbars (Панель инструментов конечного автомата) Можете создать любой конечный автомат в редакторе FSM. Щелкая по

соответствующему значку на панели инструментов State Machine, Вы можете поместить любой из следующих элементов на схему конечного автомата:

стандартное и иерархическое состояние переход диаграмма сигнал или переменная входной порт выходной порт двунаправленный порт сохранение и выход ссылка постоянный, универсальный параметр схема или машинное объявление сброс или начальное состояние текст и графические элементы

Рис. 3.35- Окно State Machine Toolbars

Редактор FSM обеспечивает свободное редактирование. Можно скорректировать форму состояния или стрелки перехода, перетаскивая их в требуемом направлении. Если элемент не может быть помещен в определенную область, редактор не будет позволять оставлять его там. Например, невозможно поместить новую часть схемы в область конечного автомата.

Чтобы изменить свойства объекта, щелкните правой кнопкой и выберите опцию Properties из контекстного меню. Можно выбрать временные параметры для конечного автомата и определить, является ли машина асинхронной или синхронной, или должна работать по нарастающему или убывающему фронту. Есть опции управляющие декодированием конечного автомата, управляющие состояниями по умолчанию, условиями сброса, и и т.д.

54

Page 55: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.36-Окно Machine Properties

Одна из самых важных функций редактора FSM - возможность сгенерировать код HDL для схемы конечного автомата. Это можно выполнить, выбирая опцию Generate HDL Code из меню FSM или щелкая по значку Generate HDL code, расположенному на панели инструментов FSM. Можно просмотреть сгенерированный код, выбирая опцию View HDL Code из меню FSM. Кроме того, возможно добавить пункт библиотеки, тогда, когда это необходимо. Например, при выполнении математических операций

3.3.3.2.3 Редактор BDE (Редактор Блок-схем)

Редактор BDE является инструментом графического дизайна. Этот редактор позволяет создавать иерархические блок-схемы которые представляют собой альтернативу записи VHDL кода. Редактор поддерживает автоматическую генерацию кода из схемы наряду с усовершенствованными средствами, проверяющими проект (DRC). Это позволяет использовать все методы описания проекта (чистый код HDL, диаграммы состояний и блок-схемы).

55

Page 56: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.37-Окно редактора BDE

Редактор BDE, подобно типичным схемотехническим редакторам, позволяет размещать, поворачивать порты ввода-вывода, элементы, шины, и т.д., Панель инструментов, с основными командными кнопками, расположена в верхней части окна.

-переключатель к режиму редактирования для того, чтобы расположить объекты, и т.д.;

-создает пустой макро-символ и помещает его в проект.

- кнопки для рисования проводников и шин и их наименования соответственно. Эти кнопки позволяют создавать соединения между компонентами.

- кнопки для создания контактных площадок и разъемов, которые могут быть следующего типа: ввод, вывод, двунаправленный, и т.д.

- кнопки, используемые для того, чтобы ввести дополнительные инструкции или комментарии.

- символы, обозначающие «питание» ,«заземление».

- кнопки для глобального объявления сигналов и шин.

56

Page 57: Metodika Proektirovania PLIS v Pakete Active-HD

- открывает Symbols Toolbox (Панель Символов), содержащую доступные макросы. Каждый объект VHDL или модуль Verilog из библиотеки автоматически генерируют здесь символ.

Рис. 3.38 -Окно Symbols Toolbox

Можно поместить символ в схему, перетаскивая его в окно редактора или указав его местоположение.

-кнопки для того, чтобы поместить дополнительные элементы, такие как текст, рисунки, и графические файлы. Можно также отредактировать символ, помещенный в схему, выделив требуемый символ и выбрав команду Push из контекстного меню.

Функция Code2Graphics (Преобразование кода в графику)

57

Page 58: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.39 - Переключение между символом и его кодом

Как можно видеть в предыдущем изображении, щелкая правой кнопкой по выбранному символу, появляется доступ к нескольким различным командам. Возможно, например, повернуть или зеркально отразить символ, масштабировать его, и т.д. Как было упомянуто выше, каждому объекту VHDL (модуль Verilog) представлен автоматически создаваемый схемотехнический объект, который может быть помещен непосредственно в схему. Чтобы у созданного схемотехнического объекта сгенерировать позже его код , нужно выделить на схеме желаемый элемент и выбрать вышеупомянутую команду Push. При этом , можно выбрать между несколькими

различными методами описания архитектуры:

Иерархический схемотехнический лист, редактор BDEДиаграмма состояний конечного автомата, редактор FSM Код VHDL, Verilog, и т.д., редактор HDЕ

58

Page 59: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.40 -Определение архитектуры

59

Page 60: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.3.3 Группа инструментов Watch/Debugging Tools .

Отладка кода VHDL в Системе Active-HDL.

Процесс проверки проекта обычно требует большой утомительной работы так как, необходимым его условием является хорошее понимание поведения моделей. Кроме того, так как язык VHDL гарантирует то, что описание любой модели является не зависящим от производителя продукта, то и проверка проекта может занимать продолжительное время. Поскольку разработчик это человек, то сохраняется большая вероятность ошибки, поэтому пакет Active-HDL уделяет большое внимание обнаружению и исправлению ошибок. Существует несколько механизмов для отладки VHDL кода:

Syntax Checking (Проверка синтаксиса) – выполняется всегда с помощью команды Compile.

Code tracing (Трассировка кода) –VHDL код прослеживается «оператор-за-оператором» или производится трассировка выполняющихся процессов, подпрограмм и процедур.

Value verification (Проверка значения) - значения переменных, которые выведены на экран в дополнительных окнах Watch и List.

3.3.3.3.1 Syntax Checking (Проверка синтаксиса)

Active-HDL предоставляет интерактивный отладчик кода VHDL. После каждого выполнения команды Compile список ошибок выводится на экран Консоли. Каждая ошибка выводится на экран с дополнительной информацией:

имя исходного файла внутренний код ошибки номер строки и расположение номера столбца ошибки в коде краткое описание ошибки

Щелкнув дважды по любой из этих ошибок, курсор перенесет непосредственно к строке кода VHDL, в которой произошла ошибка. Кроме того, эта строка будет подчеркнута красной зигзагообразной линией, а слева строки будет гореть красный маркер . При удержании на строке курсора в течение секунды, будет вызвано окно с кратким описанием ошибки, такое же как и в Консоли.

60

Page 61: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3. 41- Окно после применения команды Compile

Команда Compile автоматически проверяет исходный код VHDL на соответствие с заранее установленными стандартами VHDL ‘03 LRM. Однако, есть опция для того, чтобы проверить соответствие кода с другими стандартами синтаксиса кода LRM.

По умолчанию компилятор останавливает синтаксис, после обнаружения 100-ой ошибки, однако, это значение можно также изменить на вкладке Compiler окна Preferences.

Окно Preferences также позволяет произвести настройку опций отладки . В окне вкладки Debug, можно отдать свое предпочтение трассировке кода. Document Type позволяет выбирать исходный документ из кода VHDL или Конечного автомата. Команда Bring active source window to top, вызывает окно исходного кода, который прошел отладку. Возможно определить способ, с помощью которого просматривается каждый компонент., т.е . выводить на экран Separate view (Отдельное представление для каждого компонента) или Single view (Единое представление для всех компонентов).

61

Page 62: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.42 - Окно Preferences.

Active-HDL позволяет проверить сгенерированный конечным автоматом код VHDL на ошибки. В том же самом окне можно выбрать одну из двух опций:

выполнить трассировку конечного автомата; выполнить трассировку кода VHDL , сгенерированного конечным

автоматом;

3.3.3.3.2 Code Tracing (Трассировка кода)Трассировка кода. Когда синтаксис кода безошибочен, можно начать верификацию поведенческой

модели. Active-HDL предоставляет редактор Waveform Editor, где все результаты представлены в форме диаграмм. Возможно быстро найти любые дефектные и нежелательные части проекта.

Active- HDL обеспечивает интерактивную графическую среду для разработки и проверки проекта. Когда это необходимо можно проследить весь исходный код VHDL «оператор-за-оператором».

Есть четыре функции, которые позволяют прослеживать код:

Trace into - выполняется единственный оператор VHDL. Если со звонком подпрограммы встречаются, убывания выполнения в тело подпрограммы.

Trace over - Проследите по - выполняет единственную команду VHDL. Если со звонком подпрограммы

встречаются, операторы, содержавшие в пределах тела подпрограммы, выполняются в единственном шаге.

Trace out - выполняет столько операторов VHDL, сколько необходимо для

62

Page 63: Metodika Proektirovania PLIS v Pakete Active-HD

выполнения подпрограммы. Если подпрограммы имеют вложения, то команда выполняет только внутренние вложения.

Trace over transition - выполняет столько операторов VHDL, сколько необходимо их для

выполнения перехода между состояниями.

Чтобы выполнить любую из этих команд, нужно выбрать соответствующие опции из меню Simulation или щелкнуть по значку Trace. Последняя опция Trace over transition доступна только при проверке конечных автоматов.

3.3.3.3.3 State Machine Code Debugging (Отладка кода конечных автоматов)

Как было сказано выше, опция Trace over Transition из меню Simulation выполняет проверку конечных автоматов.

Active-HDL предлагает графический редактор (редактор FSM) для создания и редактирования конечных автоматов. Кроме того, редактор FSM позволяет в интерактивном режиме прослеживать поведение конечного автомата, выделяя желтым цветом активное, в настоящий момент, состояние. Все команды Trace являются активными во время отладки проекта , как и все остальные инструменты, описанные в этом блоке. Поэтому, возможно проследить выполнение фактически любого оператора в коде VHDL , а также наблюдать его влияние на поведение всей модели.

Рис. 3. 43 - Окно редактора FSM

3.3.3.3.4 Breakpoints (Контрольные точки)

Другая полезная функция Active-HDL - возможность вставлять Breakpoints (контрольные точки) в код VHDL. Контрольные точки позволяют останавливать процесс верификации, когда выполняется некоторое требуемое условие (-условия). Все процессы приостанавливаются и значения сигналов выводятся на экран в окне Watch.

63

Page 64: Metodika Proektirovania PLIS v Pakete Active-HD

Редактор VHDL позволяет вставлять контрольные точки только в некоторые строки, например строки содержащие операторы, содержащие выражения присвоения, и т.д.

Рис. 3. 44 -Окно кода с Контрольными точками

Окно редактора Breakpoint Editor (Контрольной точки) состоит из двух вкладок. Первая вкладка редактора Breakpoint Editor состоит из трех столбцов для настройки Code breakpoints (контрольных точек кода). У первого столбца есть окно флажка для непосредственного включения контрольной точки, второй столбец указывает путь к исходному файлу, в котором находится контрольная точка, а третий столбец показывает номер строки в исходном файле, в которой находится контрольная точка.

Редактор Breakpoint Editor позволяет производить ручную настройку контрольных точек.

Вторая вкладка диалогового окна редактора, позволяет добавить сигналы, которые необходимо трассировать . Во второй вкладке также имеются три столбца, выводящие на экран: столбец Name (Имя) сигнала, Condition (Условие, при котором моделирование

должно прекратиться), и Value (Значение сигнала). На вкладке Condition есть три опции:

Event (Событие) - моделирование останавливается, когда выполнится сигнальное событие

Value (Значение) - моделирование останавливается, когда для указанного сигнала сгенерируется специальное значение или с помощью средства моделирования

Transaction (Транзакция) - моделирование останавливается, когда выполняется сигнальная транзакция.

Можно быстро перейти к расположению контрольной точки, нажимая кнопку Show code на вкладках Signal и Code breakpoint. Это - очень удобный метод определения местоположения контрольных точек в ситуациях многофайловых проектов.

64

Page 65: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.45 - Окно редактора Breakpoint Editor

3.3.3.3.5 Инструменты просмотра результатов моделирования.

Возможно использовать и дополнительные инструменты во время моделирования, которые помогут более полно протестировать модель. Кроме того, могут быть заданы некоторые особые условия, на которые должна быть протестирована модель. Иногда также , лучше искать определенные значения сигналов, не только в редакторе Waveform Editor, но и с помощью других инструментов.

3.3.3.3.5.1 List Window (Окно списка).

List Window –это окно , в котором все результаты выводятся в табличной форме. Окно используется только в качестве средства просмотра результатов моделирования. Из-за этого нельзя здесь определять стимуляторы. Содержание окна может быть сохранено как текстовый файл. Каждый сигнал представлен столбцом с соответствующим временем события. Окно может вывести на экран значения сигналов двумя способами:

Для всех циклов моделирования. (цикл выполняется за определенный шаг);

Только для последнего цикла моделирования . (за определенный шаг).

65

Page 66: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.46 - Окно List

3.3.3.3.5.2 Watch Window (Окно наблюдения). Чтобы найти последнее значение или изменение значения текущего сигнала,

можно использовать окно Watch . Окно Watch отображает значения выбранных сигналов (включая порты) и значения переменных.

Рис. 3.47- Окно Watch.

Окно разделено на четыре столбца, которые показывают:

names –имя;

types of the selected objects- типы выбранного объекта;

current value- текущее значение;

last value -предыдущее значение;

Все сигналы, просматриваемые в этом окне, могут быть перемещены сюда из окна браузера Design Browser . Возможно также переместить сюда имя сигнала из исходного кода VHDL.

66

Page 67: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.3.3.5.3 Processes Window (Окно процессов)

Окно Processes Window выводит список процессов в разработанной модели вместе с их

текущим статусом. Это окно доступно только тогда, когда запущено средство моделирования.

Рис. 3.48 - Окно Processes

Процессы выводятся на экран в трех столбцах, которые показывают метку процесса, иерархический путь и состояние каждого процесса. Каждый оператор, моделирующий последовательный процесс представлен в окне. Это операторы:

операторы процессов

операторы присваивания сигналов

операторы контроля

операторы вызова процедуры

Для процессов без меток, компилятор генерирует метки по умолчанию, которые показывают номер строки исходного файла, в которой локализован процесс (например line__25 (строка __ 25)).

Процесс, выведенный в окне Process, может быть в одном из следующих состояний:

Ready (Готовность)- указывает на то, что процесс будет выполнен в ходе текущего

цикла моделирования.

Wait (Ожидание)- означает, что процесс приостановлен и ждет возобновления.

Окно Processes может также выводить :

Все процессы в выбранной области разработанного проекта независимо от их состояния в текущем цикле моделирования;

67

Page 68: Metodika Proektirovania PLIS v Pakete Active-HD

Только активные процессы в выбранной области разработанного проекта, в пределах текущего цикла моделирования;

Кроме того, возможно выбрать и саму область проекта, процессы которой необходимо проследить.

3.3.3.3.5.4 Окно Call Stack (вызова стека).

Окно Call Stack - средство отладки, которое выводит на экран список подпрограмм (процедур и функций) и переменных, выполняемых и использующихся в настоящий момент. Термин процесс использован здесь для того, чтобы обозначить любой оператор, моделирующий последовательный процесс в разработанной модели. Это операторы

- оператор процесса, операторы параллельного присваивания сигналов, операторы параллельного контроля, и операторы параллельного вызова процедуры. Для каждой подпрограммы в окне предоставляется следующая информация:

Формальные параметры наряду с их фактическими значениями.

Переменные, константы и файлы, объявленные локально в телах подпрограммы наряду с их текущим значением.

Если в моделируемом проекте имеется более одного процесса, то можно использовать окно Processes, чтобы выбрать процесс подпрограммы, которого необходимо наблюдать. Окно Call Stack доступно только после выполнения моделирования.

Рис. 3.49 - Окно Call Stack

3.3.3.3.5.5 Окно Data Flow (Поток данных).

Окно Data Flow- это инструмент, обеспечивающий графическое представление входящих сигналов и процессов во время процесса моделирования Термин процесс использован здесь для того, чтобы обозначить любой оператор, моделирующий последовательный процесс в разработанной модели. Эти операторы - оператор процесса, операторы параллельного присваивания сигналов, операторы параллельного контроля, и операторы параллельного вызова процедуры.

Окно предлагает два разных представления:

68

Page 69: Metodika Proektirovania PLIS v Pakete Active-HD

с процессом в центре окна, с сигналом в центре окна.

Когда процесс выведен на экран в центре, он представлен как прямоугольник с входными сигналами на левой стороне и выходными сигналами справа.

Входные сигналы считанные процессом, и выходные сигналы - обновленные процессом.

Рис. 3.50-Окно Data Flow-1

Когда на экран выведен сигнал, то он представлен как вертикальная жирная линия с обеих сторон которой показаны процессы. Процессы левой стороны обновляют сигнал. Процессы правой стороны считывают сигнал. Можно переключаться между этими двумя представлениями, щелкая по элементам в окне Dataflow.

Рис. 3.51 -Окно Data Flow-2

Сигналы выводятся на экран с их именами и процессами. Для сигналов окно Dataflow также выводит на экран их текущее значение.

69

Page 70: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.3.4 Simulator Kernel (Моделирование)

Прежде чем начать моделирование схемы, необходимо определить сигналы на ее входах. Active-HDL поддерживает следующие методы задания входных сигналов для последующего моделирования:

1. Вручную задаваемые стимуляторы;

2. Файлы типа VHDL редактора Testbench (Испытательного стенда), созданные мастером Testbench Wizard;

3. Файлы типа VHDL редактора Testbench (Испытательного стенда ), созданные непосредственно разработчиком;

4. Команды моделирования введенные из консоли;

5. Файлы, содержащие макрокоманды моделирования;

6. Тестовые вектора импортированные из других сред (например из Active-CAD).

Все эти методы, обеспечивающие моделирование проекта, могут быть объединены в одном проекте. Возможно выбрать метод, который лучше всего удовлетворяет потребностям проекта и быть уверенным в рациональном соотношении между временем, необходимым для ввода входных воздействий и сложностью верификации проекта.

3.3.3.4.1 Stimulators (Стимуляторы).

Самый простой способ создать входные воздействия для моделирования это добавить требуемые сигналы к редактору Waveform Editor (редактор сигналов) и присвоить стимуляторы, которые доступны в подменю опции Stimulators. Существуют несколько типов стимуляторов, которые возможно выбрать разработчику. Поддерживаются следующие типы стимуляторов:

-Value stimulators (стимуляторы значений) позволяют присваивать значение выбранному сигналу. Значения могут быть приданы любым сигналам и векторам и могут быть применены в любое время , процесса моделирования. Средство моделирования выполняет проверку типа сигнала, чтобы проверить, доступно ли для выбранного типа сигнала указанное значение.

-Formula stimulators (стимуляторы формул) позволяют вводить формы сигналов, используя специальные формулы, которые могут описать асинхронные сигналы, определяя их время перехода и значение.

70

Page 71: Metodika Proektirovania PLIS v Pakete Active-HD

Например формула «0 0, 1 10» описывает форму сигнала, который включается со значением '0' во время =0 и изменяется на '1' после 10 модулей моделирования.

Hotkey stimulators (стимуляторы горячих клавиш) позволяют управлять значениями сигнала непосредственно с клавиатуры. Возможно выбрать любую клавишу на клавиатуре как стимулятор горячей клавиши и присвоить его любому требуемому сигналу. Нажатие этой горячей клавиши включит значение сигнала. Например, если присвоить 'R' как

горячей клавише сигнал “reset” (сброса) , тогда можно задать значение сигнала-сброс во время моделирования, нажатием клавиши R на клавиатуре.

Clock stimulators (Стимуляторы времени) разработаны для того, чтобы смоделировать временную форму сигнала. Графический редактор Clock stimulators позволяет определить тактовую частоту, рабочий цикл, и т.д.

Counter stimulators (Стимуляторы счетчиков), позволяют определить счетчики для сигналов векторного типа. Так же как возможно выбрать направление и период времени для изменений сигналов.

Predefined stimulators (Стимулятор предопределения) – временная форма сигнала с предопределенной частотой, рабочим циклом и формулами, создаваемая для часто моделируемых приложений.

Custom stimulators (Пользовательские стимуляторы) создаются, присвоением графических форм сигналов, выведенные на экран в редакторе Waveform Editor как входные воздействия моделирования. Эти формы сигналов выведены на экран в

редакторе Waveform Editor с помощью других видов стимуляторов.

Рис. 3.52 - Окно Stimulators

71

Page 72: Metodika Proektirovania PLIS v Pakete Active-HD

Преимущества Стимуляторов:

Самый быстрый и самый легкий метод задания значений сигналов;

Интерактивное присвоение стимуляторов позволяет мгновенный просматривать результаты средства моделирования;

Стимуляторы могут быть применены к любому сигналу и входному порту проекта;

Удобство в отладке низкоуровневых процессов и архитектур.

Недостатки:

o Испытательный стенд VHDL может только управлять сигналами только на уровне поведенческой модели;

o Стимуляторы сохраняются как файлы формы сигнала;

o Стимуляторов не достаточно для того, чтобы выполнить некоторые такие сложные процессы моделирования, как считывание данных файлов, и т.д.;

o Стимуляторы являются встроенным инструментом Active- HDL и не будут поддерживаться в других средствах моделирования VHDL;

3.3.3.4.2 Waveform Editor (Редактор формы сигнала).

Редактор Waveform Editor позволяет графически редактировать графическую форму любого сигнала с помощью различных инструментов, например это перетаскивание, копирование,

вставка и создания новых форм сигналов. Эти графические формы сигналов могут использоваться в качестве пользовательских стимуляторов, присваивая их значение требуемым сигналам.

Отредактированные графические формы сигналов могут также использоваться в качестве входных параметров моделирования в паре с Test Bench Wizard (мастер испытательных стендов, будет описан позже), который генерирует тестовую программу VHDL, основанную на отредактированных формах сигналов.

72

Page 73: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.53 - Демонстрационное выполнение моделирования

Сравнение результатов моделирования.

Редактор Waveform Editor также позволяет сравнить результаты моделирования. Сигналы, между значениями которых было обнаружено различие, выводятся на экран в окне редактора Waveform Editor красным цветом шрифта.

Значок показывающий сравнение сигналов, расположен в верхней части окна. После работы предыдущего моделирования, его результаты сохраняются в папке проекта. В случае несоответствия результатов выполнения моделирования , на экран выводиться соответствующее сообщение.

Рис.3.54 - Сравнение выполнений моделирования.

3.3.3.4.3 Simulation Macros (Макросы моделирования).

Макросы вводимые в консоль. Active-HDL предлагает языковые макрокоманды для ввода таких команд моделирования как присвоение значений сигналам, присвоение формул и выполнение шагов моделирования. Возможно также присвоить значение сигналу в любой момент процесса моделирования, вводя соответствующую макрокоманду в Консоль.

Можно также использовать макрокоманды, чтобы добавить вызванные сигналы к редактору Waveform Editor и т.д.

73

Page 74: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.55 -Окно Консоли

Файлы, содержащие Макросы. Макрокоманды моделирования могут быть выполнены из файла, экономя время

на ручной записи каждой команды в Консоль. Макросы моделирования не только могут задать входные сигналы, но они могут также выполнить и другие команды в среде Active-HDL. Это позволяет достичь полной автоматизации процесса верификации проекта, а так же комбинировать метод с другими методами моделирования. Например, можно написать сценарий, который будет выполнять несколько циклов моделирований, один за другим, используя несколько файлов Test Bench . Макро-сценарии могут выполнить и внешние программы, такие как программа синтеза, пакетные файлы, и т.д.

Преимущества Макрокоманд: Быстрая запись стимулятора, непосредственно с клавиатуры; Нет потребности использовать дополнительные редакторы; Позволяет автоматизировать весь процесс моделирования;

Недостатки o Собственный формат команд моделирования; o Требует хорошего знания языка макрокоманд.

Рис. 3.56 - Файл Макрокоманды

74

Page 75: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.3.4.4 VHDL testbench (Испытательный стенд VHDL).

VHDL testbench - программа VHDL, которая описывает входные значения моделирования на стандартном языке VHDL. Есть множество VHDL определенные функции и конструкции языка разработанные, непосредственно, для того, чтобы создать воздействия моделирования. Возможно считать данные моделирования из текстового файла, создать отдельные процессы, управляющие входными портами, и пр. Типичный способ создания VHDL testbench стенда заключается в создании

дополнительного файла VHDL для проектирования (реальной конструкции VHDL), который рассматривается в качестве компонента (Unit Under Test ) и присваивает определенные значения входным портам.

Рис. 3. 57 - Модель Testbench

Испытательный стенд VHDL может провести моделирование входных так и сравнение выходных данных. Например, можно создать программу VHDL, которая запишет выходные данные в текстовый файл и сравнит их с ссылочным файлом, в котором заданы требуемые для схемы выходные параметры. Эта методология верификации предоставляет самый оптимальный вариант ,так как разработчик сводит до минимума свое участие в процессе .

Испытательный стенд создаваемый мастером Test Bench Wizard.

Создание испытательных стендов является довольно утомительным процессом. Мастер Test Bench Wizard автоматизирует этот процесс, взяв на себя руководство процессом. Во-первых, необходимо чтобы Вы выбрали высокоуровневый объект проекта, который будет

протестирован. Затем, нужно ввести имя файла waveform с требуемыми значениями входных и выходных портов. После ответа на несколько дополнительных вопросов мастер Test Bench собирает необходимую информацию и создает шаблон для тестовой программы. Можно отредактировать сгенерированный мастером файл и добавить , если это необходимо , собственный сценарий тестирования и дополнительные вводы/выводы.

75

Page 76: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.58 - Мастер Test Bench Wizard

Испытательный стенд VHDL, созданный пользователем.

Испытательный стенд VHDL, который создает разработчик , будет обработан в проекте как один из файлов VHDL. Можно импортировать существующие файлы испытательного стенда или создать новые с нуля. Есть некоторые редакторы VHDL, предоставленные Active-HDL, которые включают в себя функции испытательного стенда. Редактор Language Assistant поддерживает моделирование некоторых конструкций VHDL.

Преимущества испытательных стендов:

Этот метод задания входных воздействий имеет широкие возможности при создании;

Файлы VHDL поддерживаются на любом средстве моделирования VHDL;

Испытательный стенд может произвести моделирование во всех стадиях проектирования.

Недостатки:

o Задание испытательных стендов (как конструкции VHDL) является трудоёмким процессом, особенно в ходе первоначального моделирования поведенческой модели.

o Задание испытательного стенда требует хорошего знания VHDL, и этот метод подходит в основном для опытных разработчиков.

76

Page 77: Metodika Proektirovania PLIS v Pakete Active-HD

3.3.3.4.5 Использование Стимуляторов.

Сигналы, которые используются для моделирования схемы, являются ключом к эффективному тестированию. Некоторые разработчики предпочитают задавать входные воздействия с помощью задания графической формы сигналов, другие предпочитают использовать тестовые вектора. Для оптимальной проверки проекта, вероятно, необходимо знать оба способа.

Инструменты Active-HDL на протяжении более 15 лет постоянно совершенствуются. Поэтому эта среда предлагает это предлагает широкий диапазон опций стимулирования, которые выдержали проверку временем и оказались необходимыми.

3.3.3.4.5.1 Доступные Стимуляторы.

Стимуляторы это специализированные сигналы, которые могут задать любое требуемое значение на входах модели. Используя стимуляторы можно легко и быстро задать входные воздействия, необходимые для полной проверки модели. Они позволяют в интерактивном режиме изменить любое значение сигнала, чтобы создать требуемые условия тестирования для модуля Unit Under Test (UUT). Эти изменения мгновенны и могут быть выполнены во время моделирования. Самый простой способ создать входные воздействия -это добавить требуемые порты или имена сигналов к редактору Waveform Editor а затем присвоить стимуляторы выбранным сигналам, используя опцию Stimulators. Есть несколько типов стимуляторов:

Value -Значение Formula -Формула Hotkey -Горячая клавиша Clock -ВременнойCounter -Счетчик Custom Пользовательский Predefined Предопределенный

77

Page 78: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.59 –Типы стимуляторов

Существует несколько типов вызова стимуляторов:

1. Override (Переопределение) - стимулятор определяет значение сигнала до следующей команды FORCE.

2. Deposit (Депозит) - стимулятор устанавливает значение сигнала, которое остается неизменным до последующего задействия драйвера (например, от процесса P1 или P2 () и связанной команды FORCE.

3. Drive ( Диск) - подключает виртуальный драйвер к сигналу, и этот драйвер вызывает значение, активное до следующей команды FORCE. Этот тип стимулятора используется только для разрешенных типов сигналов, таких как std_logic.

Рис. 3.60- Окно выбора типа вызова

3.3.3.4.5.2 Стимулятор Value (Значение). Стимуляторы Value позволяют присваивать постоянное значение выбранному

сигналу, (например, '1', ‘0’). Значения могут быть заданы любыми сигналами, векторами и присвоены любым типам портов (in, out, inout, buffered), и могут быть применены во время моделирования. Средство моделирования выполняет сначала проверку типа сигнала, чтобы проверить, подходит ли для выбранного типа сигнала значение. Значения для сигналов типа одномерных массивов могут быть определены или как символьные литералы или как числа с основанием 2, 8, 10 или 16.

78

Page 79: Metodika Proektirovania PLIS v Pakete Active-HD

Поле Stimulator окна редактора Waveform Editor выводит на экран соответствующие присвоения значений сигналам.

Рис. 3.61 -Стимулятор Value

3.3.3.4.5.3 Стимулятор Formula (Формулы).

Стимуляторы Formula определяет форму сигнала, используя в качестве выражения-формулу. Формулы могут описать асинхронные сигналы, определяя их время перехода и значения. Выражение формулы использует следующий синтаксис:

value time [,value time] [-r period] (время значения [оцените время] [-r период])

, где-r опция позволяет автоматически повторять введенную формулу после установленного периода времени. Единица измерения времени по умолчанию - ps (пикосекунда). Однако, можно выбрать любые единицы измерения из списка:

ps - пикосекундыns - наносекундыus - микросекундыms – миллисекунды

Примеры:

0 0, 1 10, 0 20 defines a logic "1" that starts at 10 (ps) and ends at 20 ps

0 0, 1 10, 0 20 определяет логическую «1», которая запускается после 10 (пс) и заканчивает работу после 20 пс,

1 0, 0 5 ns, -r 20 ns defines a pulse wave with period of 20 ns and 25% duty cycle

1 0, 0 5 нс,-r 20 нс определяет импульсную волну периода 20 нс и 25%-ого рабочего цикла

Если введенная формула корректна, то значение будет присвоено, и в поле Stimulator окна редактора Waveform Editor выведется слово "formula" .

Отметим , что единица измерения времени должна быть отделена пробелом от временного значения.

79

Page 80: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.62 - Стимулятор Формулы

3.3.3.4.5.4 Стимулятор Hotkey (Горячей клавиши).

Стимуляторы Hotkey позволяют управлять значениями сигнала непосредственно с клавиатуры. Стимулятор горячей клавиши определяет ключ, который будет использоваться, чтобы переключаться между значениями, доступными для данного сигнала.

Например, если присвоить горячую клавишу 'R' сигналу “reset” (сброса), можно будет переключить значение этого сигнала во время моделирования, нажимая клавишу R на клавиатуре.

Рис. 3.64 - Стимулятор Hotkey

Значения, доступные для сигнала, зависят от его типа. По умолчанию доступны значения '0' и '1'. Возможно, однако, добавить дополнительные значения для сигналов в поле Sequences окна Simulators/Hotkeys.

80

Page 81: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.65 - Доступные значения Hotkey

3.3.3.4.5.5 Стимулятор Clock (Времени).

Стимуляторы Clock предназначены для того, чтобы смоделировать временные формы сигналов. Графический редактор Clock позволяет определять тактовую частоту, рабочий цикл, начальное значение и задержку. Слово Clock будет выведено на экран в поле Stimulator, справа от имени синхросигнала.

Рис. 3.66 -Стимулятор Clock

3.3.3.4.5.6 Стимулятор Counter (Счетчика).

Другой тип стимулятора – стимулятор Counter, который задает значение сигналов после требуемых периодов времени. Таким образом, с его помощью можно моделировать различные виды задержек ,часто встречающихся в цифровых приборах. Можно выбрать один из доступных режимов счетчиков:

двоичный код;

Код Грея;

Код Джонсона.

Также необходимо определить начальное значение, в некоторых случаях шаг инкремента,

и период времени, после которого будет изменено значение. Также возможно изменить дисплей счетчика в окне редактора Waveform Editor и также изменить порядок битов.

81

Page 82: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.67 -Стимулятор Counter

3.3.3.4.5.7 Стимулятор Custom (Пользовательский).

Стимулятор Custom позволяет задавать ,графически, форму сигнала, выведенную на экран в окне редактора Waveform Editor как входное воздействие, для моделирования. Стимуляторы Custom могут использоваться только после того, как были созданы некоторые формы сигналов, с помощью других типов стимуляторов, например редактора Waveform editor, Стимулятора Hotkey, или Стимулятора Formula .

Стимуляторы Custom дают возможность создать очень сложные формы сигнала и использовать их так часто как требуется. Они комбинируют все преимущества стимуляторов Hotkey и Formula .

Поле Stimulator указывает на присвоение пользовательского стимулятора буквами “CS” (Пользовательский Стимулятор).

Рис. 3.68 -Стимулятор Custom

3.3.3.4.5.8 Стимулятор Predefined (Предопределенный).

Стимулятор Predefined задает временную форму сигнала с предопределенной частотой и рабочим циклом/формулами ,создаваемыми для частого использования.

82

Page 83: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.69 -Стимулятор Predefined

Есть восемь предопределенных временных интервалов, которые могут быть использованы для настройки требуемой частоты и времени рабочего цикла.

Также есть возможность создать любое число собственных формул и присвоить их любому сигналу или порту.

Рис. 3. 70 - Использование Стимулятора Predefined

Выводы

Один из ключевых решаемых вопросов в анализе проекта - использование графической формы сигналов и тестовых векторов. Форма сигнала дает лучшее представление о поведении отдельно выбранного сигнала в течение долгого времени. Тестовые вектора, с другой стороны, дают точное отношение между двумя любыми выбранными сигналами в любом выбранном экземпляре времени.

Так как Active-HDL позволяет совмещать в ходе моделирования вектора и формы сигналов, все разработчики будут в состоянии эффективно использовать Active-HDL.

Важно подчеркнуть преимущества использования стимуляторов-они позволяют в интерактивном режиме изменять значения сигналов в любом моменте времени, во время моделирования. После того, как моделирование произошло, они могут использоваться снова, так часто как это требуется, значительно экономя при этом,

83

Page 84: Metodika Proektirovania PLIS v Pakete Active-HD

время разработчика. Есть такие простые стимуляторы как Горячие клавиши, которые являются идеальными для задания простых входных воздействий, и сложные такие как Формула и Пользовательский, которые позволяют описывать сложные

и неправильные по форме сигналы (импульсные пакеты, переменные рабочие циклы, и т.д.) и подходят для проверки сложных проектов (FPGA, ASIC, и т.д.).

Другое преимущество использования стимуляторов состоит в гибкости объединения различных типов стимуляторов. Легче создать собственные образцы форм сигналов, используя графические инструменты и сохранить их, в целях будущего моделирования..

Рис. 3.71-Окно The Waveform Editor

3.3.3.4.6 VHDL Testbench (Испытательный стенд VHDL).

Испытательный стенд VHDL –это программа VHDL, которая описывает внешние воздействия на входах моделирования, используя стандартные процедуры языка VHDL. Таким образом, VHDL Testbench - верхний уровень иерархической модели, которая инициирует модуль Unit Under Test (UUT)-(тестируемый модуль) и управляет им с помощью ряда тестовых векторов, а затем сравнивает сгенерированные результаты с ожидаемыми ответами. Типичный испытательный стенд VHDL составлен из трех основных элементов:

1. Stimulus Generator (Генератор воздействия) - воздействует на UUT с

помощью генерации Test Vector (Тестовых векторов) которые определяются специальными условиями;

2. Unit Under Test (UUT)-(Тестовый модуль) представление прохождения моделью верификации;

3. Verifier (Верификатор)-выполняет автоматическую проверку и создает отчеты о любых ошибках встречавшихся во время выполненного моделирования. Он также сравнивает выходную информацию модели с ожидаемыми результатами.

Рис 3.72-Модель Испытательного стенда. 84

Page 85: Metodika Proektirovania PLIS v Pakete Active-HD

Для эффективной проверки и мгновенного сообщения об условиях отказа, Генератором воздействия и Верификатором используются текстовые файлы, которые хранят тестовые векторы и результаты моделирования. На этом основании можно отличить три конфигурации испытательного стенда.

3.3.3.4.6.1 Off-line Configuration (Офлайновая Конфигурация)

В этой конфигурации Генератор воздействия и Верификатор используют доступ к файлу, и считывают всю необходимую информацию (тестовые векторы, ожидаемые результаты) от ранее сохраненных файлов.

Генератор воздействия считывает все входные сигналы из файла и обеспечивает создание тестового вектора.

Верификатор с другой стороны сравнивает ответы UUT с ожидаемыми результатами и сообщает о любой ошибке. Конструкции VHDL позволяют регистрировать все ответы в файле в целях будущих проверок. Например, можно использовать тот же самый испытательный стенд (с теми же самыми файлами тестовых векторов), чтобы проконтролировать появление любых изменений в моделях на других стадиях проектирования (логическая модель, временная модель).

Рис 3. 73-Off-line Configuration Испытательного стенда.

3.3.3.4.6.2 On-line Configuration (Онлайновая Конфигурация).

Испытательные стенды также позволяют в интерактивном режиме проверять любые изменения модели на различных этапах разработки проекта. Генератор воздействия задает один и тот же Тестовый вектор для каждой тестируемой модели. Таким образом выходная информация со всех моделей генерируется одновременно и без любого

взаимодействия с пользователем, такого как обмен компонентами. Режим работы Верификатора намного более простой чем в офлайновой конфигурации, потому что здесь он только собирает информацию моделирования с выходов каждой

85

Page 86: Metodika Proektirovania PLIS v Pakete Active-HD

модели и сравнивает ее, обнаруживая любые различия и решает, продолжать моделирование или нет.

Рис. 3.74 On-line Configuration Испытательного стенда

3.3.3.4.6.3 Adaptive Configuration (Адаптивная Конфигурация). В отличие от он-лайновых и оф-лайновых конфигураций, адаптивная

конфигурация испытательного стенда требует хорошего знания возможностей и конструкций VHDL. Здесь, Генератор воздействия использует высокоуровневые методы абстракции, чтобы адаптировать тестовые вектора к изменяющимся условиям и ответам протестированной модели. В результате тестовые вектора сгенерированы с учетом обратной связи от UUT и Верификатора.

Например: эффективные модели тестирования, содержащие такие протоколы связи как UART или шина PCI.

Рис. 3.74 -Adaptive Configuration Испытательного стенда

3.3.3.4.7 Мастер VHDL Test Bench Wizard (Испытательного стенда VHDL).

Файлы Испытательного стенда, создаваемые с помощью Мастера Test Bench Wizard, совместимы со стандартным языком VHDL. Мастер позволяет создание испытательного стенда с уже существующими формами сигналов или создание

шаблонного файла, в который все значения сигналов будут вставлены позже. Иногда легче изменить форму сигнала в графическом редакторе чем описать

образец с помощью кода. Тем кто предпочитает второй вариант, Мастер Bench Wizard предоставляет быструю и надежную шаблонную среду разработки, экономя время и трудозатраты.

86

Page 87: Metodika Proektirovania PLIS v Pakete Active-HD

Можно вызвать мастер Test Bench Wizard, выбирая опцию Generate Test Bench из меню Tools. В поле Entity необходимо выбрать проект, для которого нужно сгенерировать файл испытательного стенда и щелкнуть по значку Next.

Рис.3.74- Test Bench Wizard -1 шаг

В следующем окне, нужно выбрать: либо сгенерировать Испытательный стенд из уже существующего файла waveform либо создать новый файл Испытательного стенда для последующего редактирования. В последнем случае нужно просто снять флажок напротив панели Тестовые векторы и щелкнуть по значку Next.

Рис.3.75- Test Bench Wizard -2 шаг

Следующее окно позволяет менять имя объекта испытательного стенда, архитектуру испытательного стенда и т.д.. Возможно также определить папку, куда будут помещены сгенерированные файлы.

87

Page 88: Metodika Proektirovania PLIS v Pakete Active-HD

Рис.3.76- Test Bench Wizard -3 шаг

Последнее окно показывает имена файлов, которые будут сгенерированы. Первый файл-файл испытательного стенда с тестовыми векторами. Второй- файл с дополнительной конфигурацией синхронизации, а последний - файл макроса моделирования, который автоматизирует весь процесс генерации формы сигнала, и выполняет файлы Испытательного стенда. Нажатием кнопки Finish, будут сгенерированы файлы Испытательного стенда.

Рис.3.77- Test Bench Wizard -4 шаг

В зависимости от выбранных опций мастер Test Bench Wizard или создаст файл испытательного стенда с процессами, управляющими входными сигналами или создаст шаблонный файл испытательного стенда, который позволит вручную вставить требуемые значения входных воздействий.

88

Page 89: Metodika Proektirovania PLIS v Pakete Active-HD

ЗаключениеСложно переоценить значение автоматизации проектирования для развития

науки, техники и народного хозяйства. Именно с автоматизацией проектирования связаны принципиальные возможности создания все более усложняющихся технических объектов, и более того, на сегодняшний день это становиться необходимым требованием, без которого создание электронных устройств по современной технологии становиться просто невозможным. Автоматизация проектирования - основной способ повышения производительности труда инженерно-технических работников, занятых проектированием. Это очень важно для предприятия, работающего в условиях жесткой конкуренции на рынке технических систем. Вот почему фундаментальная комплексная подготовка студентов технических специальностей по курсу САПР является столь необходимой.

Система проектирования Active-HDL является сегодня ведущей средой проектирования для создания проектов и их моделирования для всех семейств программируемых интегральных схем (ПЛИС), в том числе используемых для проектирования устройств связи, обеспечивая гибкость подхода и предоставляя развитые функции поддержки наиболее сложных современных проектов. Среда проектирования Active-HDL дает разработчикам независимость в использовании других средств проектирования из единого, полностью интегрированного окружения. Тесная интеграция всех приложений обеспечивает абсолютный контроль над проектом от спецификации на всем пути к его физической реализации. Active-HDL также имеет интерфейсы со всеми ведущими программными продуктами, предоставляя разработчикам свободу в использовании тех средств проектирования, которые наиболее полно отвечают требованиям каждого конкретного проекта.

В ходе экзаменационно й работы была разработана методика проектирования первоначальных поведенческих моделей, их последующее моделирование. Был разработан лабораторный практикум. Отдельная цель, была в закреплении знаний по языку описания цифровых устройств VHDL, использующимся практически во всех современных САПР. Его знание позволит молодым специалистам повысить свою конкурентоспособность на рынке труда и более уверенно себя чувствовать на производстве.

89

Page 90: Metodika Proektirovania PLIS v Pakete Active-HD

Список литературы

1. Цикл материалов о Active-HDL 7.1. http :// www . kit - e . ru / articles / circuit

2. Тренинги Active-HDL http://www.aldec.com/

3. Норенков И.П., Маничев В.Б. Основы теории и проектирования САПР.-М.:

Высшая шк., 1990. -335 с.

4. Ильин А.В. Автоматизация схемотехнического проектирования.-М.: Высшая

шк., 1987.-182 с.

5. Норенков И.П. Основы автоматического проектирования: Учеб. пособие для

вузов. -М.: изд-во МГТУ, 2000.-359 с.

6. Зотов В.Ю., «Компоненты и технологии» www . compitech . ru

7. Назаров Л.Н., Комарова Я.А. Основы программирования микропроцессоров.-

М.: Высшая шк., 2003.-825 с.

8. Тутевич В. Н. Телемеханика. -М.: Высшая шк., 1985.-424 с.

9. Норенков И.П. Основы автоматического проектирования: Учеб. пособие для

вузов. -М.: изд-во МГТУ, 2002.-389 с.

10.Б. С. Энциклопедия начинающего радиолюбителя.-М.: Патриот, 1992.-623 с.

11.Трейстер Р., Мейо Дж. 44 источника электропитания для любительских

электронных устройств: Пер. с англ. -М.: Энергоатомиздат, 1990.-288

90

Page 91: Metodika Proektirovania PLIS v Pakete Active-HD

Приложение

ЛАБОРАТОРНАЯ РАБОТА № 1

Изучение интегрированной среды автоматизированногопроектирования Active – HDL 7.1

Цель работы : ознакомиться с принципами автоматизированногопроектирование ПЛИС с помощью пакета Active – HDL 7.1. Изучить структуру

создания маршрута проектирования. Научиться работать со средствами управления проектом (Мастер проекта, Окно просмотра проекта). Научиться создавать элементарные объекты и их интерфейсы с помощью редакторов HDE и BDE. Получить начальные сведения о возможностях моделирования проекта.

1. Теоретическая частьОбщий вид экрана при работе из САПР Active - HDL приведено на рис.1.1.

Рис. 1.1 - Общий вид экрана САПР Active - HDL

На рис 1.1 показаны также основные элементы интерфейса САПР Active -HDL: Менеджер проекта, Редактор, Консоль.

Более подробно о группах редакторов, их функциях можно прочесть непосредственно в экзаменационной работе.

1.1 Триггер - это электрическая схема, имеющая два устойчивых состояния, которые устанавливаются при подаче соответствующей комбинации сигналов на управляющие входы триггера и сохраняющиеся в течение заданного времени после окончания действия этих сигналов. Триггер - логическое устройство способное

91

Page 92: Metodika Proektirovania PLIS v Pakete Active-HD

хранить 1 бит данных. Триггер является основным компонентом более сложных устройств, таких как: счетчики, сдвиговые регистры, и регистры памяти.

Общая структурная схема триггера:

Рис.1.2 – Структура управления триггера

Переключение элемента памяти в то или иное состояние осуществляется сигналами "S" (установка), "R"(сброс), поступающими с выхода схемы управления. Логическое значение сигналов "S", "R" зависит от комбинации сигналов на внешних управляющих входах X триггера и от состояния выхода элемента памяти, которое определяется значением сигнала "Q" поступающего с выхода элемента памяти по цепи ОС. Состояние триггера определяется значением сигнала "Q". Если переключение триггера происходит при поступлении синхроимпульса на специальный вход синхронизации "C" (Clok- времязадающий), то триггер называется синхронным. Триггеры могут синхронизироваться уровнем или фронтом синхроимпульса.

RS-триггер имеет два управляющих входа S и R выполняющие функции установки Q=1 при S=1 и R=0 и сброса в состояние Q=0 при S=0 и R=1 при S=R=0 триггер работает в режиме хранения при S=R=1 - запрещенная комбинация (установка и сброс одновременно) т. к. приводит к неопределенности состояния Q

Рис. 1.3 Таблица переходов RS-триггера

1.2 Задание диаграмм входных сигналов Существует большое количество способов задания внешних воздействий. Для

того что бы студент, начинающий выполнять цикл лабораторных работ уже умел задавать входные воздействия, мы покажем как зададать входные воздействия для схемы мультиплексора. Повторив аналогичные действия, не составит труда промоделировать, подобным образом, работу любой другой схемы. Например заданного RS-триггера.

Временные диаграммы внешних воздействий задаются в специальном окне редактора сигналов Waveform Editor, который вызывается щелчком по пиктограмме New Waveform на инструментальной панели Standard. Дословно Waveform

92

Page 93: Metodika Proektirovania PLIS v Pakete Active-HD

переводится как «форма волны», «сигнал». Отсюда и название — редактор сигналов, или сигнальный редактор.

При запуске редактор Waveform Editor открывает новую закладку поверх ранее нарисованной схемы, которая состоит из двух частей. Левая часть предназначена для ввода сигналов, правая — для показа временных диаграмм.

Щелкнем ПКМ в левой части окна и выберем в контекстном меню команду Add Signals. Она дублируется также на инструментальной панели иконкой . Откроется одноименная панель со списком всех доступных сигналов: D0, D1, A, Y, F1, F2, F3. С помощью клавиш Shift или Ctrl сформируем список сигналов, которые мы хотим наблюдать на экране монитора, например D0, D1, A и Y. Нажатием кнопки Add перенесем выбранные сигналы в окно редактора Waveform Editor (рис. 2) и закроем панель Add Signals (кнопка Close).

Рис. 1.4 Список, выводящийся на экран

Выделим один или несколько программируемых сигналов и щелчком на иконке Stimulators исполним одноименную команду Stimulators. С тем же успехом ее можно выполнить из контекстного меню.

Для входных сигналов D0, D1 и A зададим временные диаграммы. В пакете есть много различных способов выполнить такую работу. Подробно мы познакомимся с ними на втором уроке. А сейчас воспользуемся одним из самых простых стимуляторов типа Clock.

Откроется диалоговая панель Stimulators (рис. 3). В окне Signals выделим первый сигнал D0, в окне Type определим для него тип стимулятора Clock и в правом окне зададим частоту (Frequency) 10 МГц. Нажмем кнопку Apply и, не закрывая панель, перейдем к программированию второго сигнала D1.

Рис. 1.5 Программируем внешние воздействия D0, D1 и A

93

Page 94: Metodika Proektirovania PLIS v Pakete Active-HD

Для него зададим частоту вдвое меньше — 5 МГц. Наконец, для третьего входа A назначим частоту 1 МГц. Покончив с описанием входных сигналов, закроем панель Stimulators (кнопка Close).

Моделирование проекта

Выполним необязательную инициализацию схемы (команда Initialize Simulation из меню Simulation). Рядом с именами сигналов в столбце Value появятся начальные значения всех сигналов (рис. 4). Выходной сигнал Y получит значение U (Uninitialized — не инициализировано). Если сейчас вы переключитесь на закладку mux2_schema.bde, то увидите, что и на схеме появились те же самые значения сигналов.

Рис. 1.5 Выполняем начальную инициализацию схемы

Есть несколько способов запустить схему на моделирование (рис. 5). Проще всего выполнить команду Run For из меню Simulation. Она дублируется кнопкой и горячей клавишей F5. Имитатор, получив такую команду, продвинет моделирование на один шаг, величина которого задается в соседнем окне справа от кнопки .

Рис. 1.6 Кнопки управления процессом моделирования

По умолчанию шаг равен 100 ns, но его всегда можно поменять. Повторное исполнение этой команды продвинет время моделирования еще на один шаг и т. д. В паузе перед очередным шагом вы можете изменить не только его длительность, но и перепрограммировать параметры входных сигналов. Такое пошаговое моделирование весьма полезно при отладке схемы.

Если необходимо выполнить непрерывное моделирование на всем интересующем интервале модельного времени, то можно воспользоваться командой Run Until… из меню Simulation. Она дублируется кнопкой на инструментальной

94

Page 95: Metodika Proektirovania PLIS v Pakete Active-HD

панели (рис. 5). При этом откроется окно с одноименным названием (рис. 6), где и следует задать желаемое время, например 1.2us (1,2 мкс).

Рис. 1.8 Задаем финальное время моделирования

На инструментальной панели есть еще одна «весьма опасная» команда Run (Alt+F5). Она запускает моделирование на неопределенное время, пока не будут обработаны все планируемые события (transactions) в схеме.

Если хотя бы один входной сигнал описан как периодический (Clock), события на входах будут генерироваться бесконечно, и имитатор не остановится до тех пор, пока время моделирования не достигнет максимального значения TIME'HIGH.

Лучший выход из создавшейся ситуации — воспользоваться командой принудительного останова, щелкнув на иконке Break , или выполнить команду Restart . Возможно, по этой причине команда Run отсутствовала на инструментальной панели более ранних версий пакета.

Заметим, что управлять моделированием можно не только из графического интерфейса пользователя, но и из окна консоли (Console). Наберите в командной строке следующий текст: run 1200ns и нажмите Enter. Моделирование сразу продвинется на заданное время (рис. 7).

Рис. 1.7 Результаты моделирования мультиплексора mux2_schema

На временных диаграммах видно, что пока на селекторном входе A низкий уровень, на выход передается входной сигнал D0. Если A принимает значение '1' (момент времени 500 ns), на выходе появляется сигнал D1. Именно так и должен работать мультиплексор (коммутатор) на два входа. Сохраним результаты моделирования. С этой целью щелкнем ПКМ на названии закладки с временными диаграммами и исполним команду Save. Редактор предложит сохранить результаты в файле Waveform Editor 1.awf. Лучше отказаться от такого

95

Page 96: Metodika Proektirovania PLIS v Pakete Active-HD

предложения и ввести более информативное имя сигнального файла, например mux2_schema.awf. В среде Active-HDL 7.1 результаты моделирования можно представить не только в графической, но и в табличной форме. Вернитесь к началу моделирования (команда Restart) и выполните команду New List (иконка ). Откроется новая закладка list1, на которую надо поместить интересующие нас сигналы D0, D1, A и Y (команда Add Signals или кнопка ). Выполнив несколько шагов моделирования, вы увидите результаты в табличной форме (рис. 8).

Рис. 1.9. Табличная форма представлениярезультатов моделирования (фрагмент)

Просматривая различные закладки (схему, временные диаграммы, таблицу), можно обнаружить, что они синхронно заполняются данными по мере того, как продвигается моделирование в пошаговом режиме.

96

Page 97: Metodika Proektirovania PLIS v Pakete Active-HD

Техническое задание к лабораторной работе:

1. Ознакомьтесь с составом, интерфейсом и возможностями интегрированной среды Active - HDL с помощью выше представленной работы.

2. Изучить порядок действий и функциональные возможности МастераНового Проекта (New Design Wisard).6. Создать с помощью Мастера Нового Проекта (New Design Wisard)пустой проект.7. Изучить порядок действий и функциональные возможности редактора Design

Flow Manager. Изучить возможные варианты создания поведенческой модели. 8. Изучить структуру и принцип работы редакторов HDE (Hardware Description

Editor-текстовый редактор) и BDE (Block Diagram Editor-схемный редактор). 9. Создать модель RS –триггера с помощью редактора HDE.Для этого необходимо описать на VHDL простейший объект, который

представляет собой RS -тригер. Интерфейс этого объекта : 2 входных порта R и S и 2 исходных порта U и INV_U типа STD_LOGIC.

10. Скомпилировать файл. В случае успешной компиляции перейти к следующему шагу

11. Запустить моделирование модели. Сравнить результаты моделирования с данными таблицы возбуждения из теоретической части.

13. Создать модель RS –триггера с помощью редактора BDE, составленного из простейших логических элементов.

14. Графическое описание проекта (в нашем примере — схема) должно быть конвертировано в текстовое описание (в нашем примере — в формат языка VHDL).

Выполняется такая работа командой Generate HDL Code, которую можно активизировать из выпадающего меню Diagram.

15. Сравнить результаты: модель RS –триггера, созданную с помощью редактора HDE и автоматически сгенерированного VHDL-описания.

16. Скомпилировать файл. В случае успешной компиляции перейти к следующему шагу

97

Page 98: Metodika Proektirovania PLIS v Pakete Active-HD

17. Запустить моделирование модели. Сравнить результаты моделирования с данными таблицы возбуждения из теоретической части.

18. Сделать выводы.

Контрольные вопросы1. Состав и структура проекта в Active - HDL.2. Анализ возможностей Мастера Нового Проекта (New Design Wisard).3. Какие средства предоставляются в Active - HDL для создания

поведенческой модели?4. Какие возможности имеет Менеджер проекта (Design Browser)?5. Что такое интерфейс?6. Каким образом описываются объекты в VHDL?7. Какие способы заданий внешних воздействий существуют в САПР Active-

HDL?

Требования к отчету

1. Название и цель выполнения лабораторной работы;2. Описание средств Active - HDL для управления проектами;3. Описание структуры создания поведенческой модели;4. Состав и структура 2-ух проектов, сформированных в результате работы,

редакторами HDE и BDE;5. Результаты моделирования 2-ух проектов, сформированных в результате

работы, редакторами HDE и BDE ;6. Выводы по лабораторной работе.

98

Page 99: Metodika Proektirovania PLIS v Pakete Active-HD

Лабораторная Работа № 2ТЕМА: МОДЕЛИРОВАНИЕ ТРАНСПОРТНОЙ И ИНЕРЦИАЛЬНОЙ

ЗАДЕРЖЕК ВРЕМЕНИ

Цель лабораторной работы : Научиться описывать транспортную и инерциальную задержки времени с помощью Active-HDL, выяснить принципиальные отличия между ними

. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ:Задержки позволяют указывать промежуток модельного времени между

командой на изменение сигнала и фактическим изменением сигнала, то есть позволяют задавать время выполнения различных операций. Задержки задаются при помощи констант типа time.

Транспортная задержка сигналаТранспортная задержка сигнала является простой задержкой передачи

входного сигнала на точно определённое время. Она описывается в VHDL так: Y(выходной сигнал)<= transport Х(входной сигнал)after значение времени;При транспортной задержке длительность входного сигнала может быть как

меньше, так и больше задержки, но в любом случае выходной сигнал будет изменяться только через указанный промежуток времени задержки после начала изменения входного сигнала.

Инерциальная задержка сигналаИнерциальная задержка сигнала моделирует работу элементов схемы,

которые не пропускают короткие импульсы. То есть при инерциальной задержке выходной сигнал будет задерживаться на время этой задержки, но импульсы, длительность которых меньше инерциальной задержки будут игнорироваться. Описывать инерциальную задержку можно так:

Y(выходной сигнал)<= inertial X(входной сигнал) after значение времени;Если надо чтобы импульсы, минимальная длительность которых меньше

инерциальной задержки, что часто требуется в реальных условиях, пропускались то форма записи изменяется:

Y(выходной сигнал)<= reject длина импульса inertial X(входной сигнал) after значение времени;

В форме записи задержек тип задержки может явно не указываться, тогда по умолчанию выбирается более реальный - инерциальный тип задержки.

99

Page 100: Metodika Proektirovania PLIS v Pakete Active-HD

Техническое задание к лабораторной работе:

1. Ознакомиться с материалами приведенным в разделе 1 теоретическойчасти.2. Для своего варианта схемы, который определяется преподавателем, описать

объект (entity) и соответствующий интерфейс с помощью кода VHDL, используя редактор HDE (Текстовый редактор).

Рис 2.1 3. Описать схему кодом VHDL с учётом временных задержек всех ее

элементов (для логических элементов И и ИЛИ – 6 ns, для инвертора – 2 ns). 4. Промоделировать работу схемы для случаев: а) когда длительность входного сигнала больше чем инерциальная задержка логических элементов;

100

Page 101: Metodika Proektirovania PLIS v Pakete Active-HD

б) когда длительность входного сигнала меньше чем инерциальная задержка логических элементов.

5. Изменить структуру программы, чтобы пропускались только импульсы, длительность которых составляет 5 ns и больше.

6. Промоделировать работу схемы.7. Изменить структуру программы таким образом, чтобы входные сигналы

поступали с постоянной задержкой 15 ns. 8. Промоделировать работу схемы. 9. Сделать вывод о проделанной работе

Контрольные вопросы1. Что такое инерционная задержка, ее физическое содержание?2. Что такое транспортная задержка ее физическое содержание?

101

Page 102: Metodika Proektirovania PLIS v Pakete Active-HD

3. Как описываются инерционная и транспортная задержки в VHDL?4. Фильтрация импульсов заданной длительности средствами VHDL.

Требования к отчету1. Название и цель произведенной лабораторной работы;2. Определения транспортной и инерционной задержек, метод их

моделирования с помощью системы Active - HDL;3. Принципиальную схему соединения логических элементов для

моделирования;4. Описание схемы в VHDL - коде;5. Результаты моделирования для разной длительности входных влияний

(п.4), их сравнение;6. Привести текст кода для реализации пп. 5, 7 задания, и результаты

моделирования;7. Выводы по работе.8. Ответы на контрольные вопросы

Лабораторная Работа № 3ТЕМА: МОДЕЛИРОВАНИЕ РЕЖИМА ОЖИДАНИЯ В ЦИФРОВЫХ

УСТРОЙСТВАХ С ПОМОЩЬЮ ОПЕРАТОРА WAITЦель лабораторной работы: Получить практические навыки применения

оператора wait при моделировании разнообразных режимов ожидания в Active-HDL. Научиться использовать сравнение временных диаграмм.

102

Page 103: Metodika Proektirovania PLIS v Pakete Active-HD

Теоретические сведения: Многие электронные устройства имеют непрерывный цикл работы. Однако

устройства останавливают свою работу после завершения текущих задач и возобновляют её снова, как только возникает необходимое событие. Для описания такого свойства в VHDL используется оператор wait, который определяет необходимые условия возобновления (остановки) выполнения операций. Так как похожие функции выполняет список чувствительности, то process со списком чувствительности не может иметь оператора wait. После возобновления работы процесса выполняется оператор, следующий за оператором wait.

Существует несколько форм оператора wait, которые отличаются способом возобновления process:

оператор wait без параметров, который окончательно останавливает выполнение процесса. Однако он применяется редко и полезен, в основном, при создании испытательных стендов или для формирования задающих или побудительных влияний.

wait on список_чувствительности; - ожидание до тех пор, пока не изменится какой-нибудь из сигналов в списке чувствительности.

wait for const_типа_time; - ожидание на протяжении времени указанном в параметре оператора wait.

wait until булевское_выражение; - ожидание выполнения условия (значения истины – ‘1’), которое указано в параметре оператора.

Это дополнительный тип, комбинированный, который может состоять из двух или трёх разных форм оператора wait. Например:

wait on список_чувствительности until булевское_выражение;илиwait until булевское_выражение for const_типа_time;.

Техническое задание к лабораторной работе:

Создать базовый проект LabWait, текст которого приведён ниже. Промоделировать работу LabWait. Получить временные диаграммы для

сигналов CLK (задается как источник с синхронизирующим импульсом частотой 50 Мгц), Aout, Bout.

Сохранить результаты моделирования, как файл с именем Wform1, в текущем каталоге.

103

Page 104: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 3.1-фрагмент кодаС помощью wait for сформировать синхронизирующий импульс CLK

самостоятельно (предварительно исключив этот сигнал из интерфейса системы) в теле процесса Pr_CLK. Уровень этого сигнала должен изменяться с высокого на низкий через каждые 10 ns.

Выучить работу процесса Pr_A и переписать его с использованием оператора wait on.

Выучить работу процесса Pr_B и переписать его с использованием оператора wait until.

104

Page 105: Metodika Proektirovania PLIS v Pakete Active-HD

Промоделировать работу созданных с помощью оператора wait процессов, получить временную диаграмму.

Сравнить текущую временную диаграмму и базовую временную диаграмму Wform1. Войти в меню Waveform и выбрать пункт Compare Waveforms. В результате на экране появится окно "Open". Выбрать файл Wform1.awf и нажать кнопку "Open". В результате к текущей диаграмме будут добавлены временные зависимости, которые хранятся в Wform1.awf. Темно-синим цветом обозначены текущие временные зависимости (поз.1, рис Л3.2), красным – добавленные временные зависимости (поз.2, рис. Л3.2 ). Различия между сравниваемыми сигналами обозначаются жирной голубой линией (поз.3, рис Л3.2). Если базовая и текущая диаграммы совпадают, то можно перейти к следующему пункту выполнения работы.

Рис. 3.2-Окно сравнения результатов моделирования

Выйти из режима сравнения. Для этого необходимо выбрать в окне временных диаграмм любую линию различия сигналов (жирную голубую линию), и нажать правую кнопку мыши. В меню, которое появилось, выберите пункт "Remove Difference Marks".

Прибавить к последовательности операции процесса Pr_А выражение wait for 30 ns.

Промоделировать работу процесса, записать полученную временную диаграмму как файл Wform2.awf.

В выражении wait for, который был прибавлен в п.10, изменить время задержки на 20 ns.

Промоделировать работу процесса. Полученную временную диаграмму сравнить из Wform2.awf.

Подготовить отчет, по проделанной работе.

Контрольные вопросы1. Назовите два способа задания режима ожидания процессов в VHDL объясните

чем они отличаются.2. Допускается ли одновременное использование оператора wait и спискачувствительности?3. Какие три основных типа оператора wait вы знаете, их синтаксис?

105

Page 106: Metodika Proektirovania PLIS v Pakete Active-HD

4. Как формируется комбинированный тип оператора wait?5. Опишите порядок операций, для выполнения сравнения двух временных

диаграмм.

Требования к отчету

1. Название и цель проведенной лабораторной работы;2. Определение основных видов применения оператора wait;3. Привести вариант базового кода из файла LabWait и соответствующие

результаты моделирование (п.3);4. Привести варианты кода с применением оператора wait (пп. 5, 6, 7);5. Привести результаты сравнения (согласно п.9);6. Привести результаты моделирования (согласно п.14);7. Привести сделанные выводы по работе.

Лабораторная Работа № 4ТЕМА: РАЗРАБОТКА ПРОГРАММЫ И МОДЕЛИРОВАНИЕ

ПАРАЛЛЕЛЬНОГО И ПОСЛЕДОВАТЕЛЬНОГО РЕГИСТРОВЦель лабораторной работы: Усвоить принципы работы параллельного и

последовательного регистров. Научиться описывать синхронизированные процессы и использовать циклические операторы при описании поведения объектов при помощи VHDL.

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ:1. Циклы в языке VHDL Циклы применяются для описания фрагментов, которые повторяются.

Основным циклом для всех циклических конструкций в VHDL является бесконечный цикл.

Бесконечный цикл: Loop_метка: loop тело_цикла

106

Page 107: Metodika Proektirovania PLIS v Pakete Active-HD

end loop Loop_Label; Тут Loop_метка – метка цикла, может быть пропущена. С помощью меток

можно реализовывать вложенные циклы.Оператор Exit:Хотя бесконечные циклы применяются на практике, однако очень часто

возникает необходимость в циклах, которые заканчиваются при выполнении какого-то условия. Именно для этого и используется оператор exit.

exit loop_метка when булевское_выражение;Его самая простая форма имеет вид:exit;Эта команда прерывает работу текущего цикла и следующим выполняется

оператор после этого цикла.Оператор next:С помощью него можно перейти к следующей итерации, то есть на начало цикла

к оператору loop.next when булевское_выражение;

Цикл While:loop_метка: while булевское_выражение loopпослідовність_операторівend loop; Этот цикл выполняется пока булевское выражение имеет значение истины (true).Цикл з параметром (for):loop_метка: for параметр in диапазон loopтело_циклаend loop;В языке VHDL параметр цикла не нужно объявлять, он появляется и исчезает

вместе с циклом. Тип параметра определяется типом изменяемой величины. Если в программе уже присутствует идентификатор, совпадающий с параметром цикла, то в теле цикла такой идентификатор доступен не будет. В теле цикла параметр выступает как константа, его можно только читать, но нельзя изменять.

2. Описание с помощью языка VHDL работы параллельного ипоследовательного регистров.

Параллельный 8-разрядный регистр имеет:

8-разрядный вход DATA_IN (7 downto 0) типа STD_LOGIC_VECTORдля передачи данных;вход синхронизации CLK;вход разрешения на запись WE;вход разрешения считывания RE (типу STD_LOGIC).Кроме того, регистр имеет 8-розрядный выход DATA_OUT (7 downto0)для вывода данных (типа STD_LOGIC_VECTOR).Работа регистра должна совершаться таким образом:1) В состоянии сохранения байта на выходе регистра постоянно удерживается

высокий импеданс (“ZZZZZZZZ”). Это даёт возможность организовать работу

107

Page 108: Metodika Proektirovania PLIS v Pakete Active-HD

нескольких регистров на одну шину, так как, согласно таблице перекрывания сигналов, сигнал высокого импеданса имеет самый низкий приоритет.

2) Если WE = ’1’ и RE = ’0’, то совершается запись информации в регистр.3) Если WE = ’0’ и RE = ’1’, то на выход регистра подаётся значение байта,которое сохраняется в этом регистре.4) Все другие комбинации WE та RE рассматриваются как состояние сохранения

байта.5) Работа регистра должна быть синхронизирована по сигналу CLK.

Последовательный 8-розрядный регистр имеет:

один вход DATA_IN типу STD_LOGIC для ввода информации;вход синхронизации CLK;вход разрешения на запись WE;вход разрешения считывания RE (типу STD_LOGIC).Кроме того, регистр имеет 8-розрядный выход DATA_OUT (7 downto0)для параллельного вывода данных (типа STD_LOGIC_VECTOR).

Работа регистра должна совершаться таким образом:1) В состоянии сохранения байта на выходе регистра постоянно удерживается

высокий импеданс (“ZZZZZZZZ”).2) Если WE = ’1’ і RE = ’0’, то совершается запись информации в регистр,при этом сигнал DATA_IN поступает в DATA_OUT(0), значениеDATA_OUT(0) смещается в DATA_OUT(1) и так далее.3) Если WE = ’0’ і RE = ’1’, то на выход регистра подаётся значение байта,которое сохраняется в этом регистре.4) Все другие комбинации WE та RE рассматриваются как состояние сохранения

байта.5) Работа регистра должна быть синхронизирована по сигналу CLK.

Рекомендации по написанию программы.1. Для сохранения промежуточной информации целесообразно применять

переменныетипа STD_LOGIC_VECTOR (7 downto 0).2. Для обеспечения синхронизации в список чувствительности процессов

целесообразно помещать сигнал CLK.3. Сдвиг в регистре сдвига следует реализовывать с помощью цикла спараметром (for).4. Эффективнее является сдвиг от старшего (7-го) бита к младшему (1-ому).

108

Page 109: Metodika Proektirovania PLIS v Pakete Active-HD

Техническое задание к лабораторной работе:

1. Выучить все разделы теоретической части.2. Разработать VHDL -модель параллельного 8-разрядного регистра.3. Промоделировать работу параллельного регистра, разработанного впредыдущем пункте, в режимах записи информации, сохранения байта,

считывания информации.4. Проанализировать на основе полученных временных диаграмм соответствие

работы параллельного регистра заданному алгоритму. В случае соответствия перейти к шагу 5.

5. Разработать VHDL -модель 8-разрядного последовательного регистра.6. Промоделировать работу последовательного регистра, разработанного впредыдущем пункте, в режимах записи информации, сохранения байтано считывание информации.7. Проанализировать на основе полученных часовых диаграмм соответствиеработы регистра сдвига заданному алгоритму. В случае их соответствия, прейти

к шагу 8.8. Сделать выводы по проделанной работе.

109

Page 110: Metodika Proektirovania PLIS v Pakete Active-HD

Контрольные вопросы

Опишите работу параллельного регистра.Опишите работу последовательного регистра.Перечислите типы циклических операторов в VHDL.Каким образом в VHDL реализуется цикл с параметром?Каким образом в VHDL реализуются вложенные циклы?Сколько времени (модельн.) занимает цикл, в теле которого нет операторов

wait?

Требования к отчету

Название и цель выполнения лабораторной работы;Описание циклических конструкций, которые используются в VHDL;Тексты VHDL -программ, которые описывают поведение параллельного и

последовательного регистров;Временные диаграммыВыводы по работе.

110

Page 111: Metodika Proektirovania PLIS v Pakete Active-HD

ЛАБОРАТОРНАЯ РАБОТА № 5

ТЕМА: Проектирование сканеру клавиатуры с применением диаграмм конечных автоматов для описания объектов в САПР ACTIVE-HDL.

Цель лабораторной работы: Выучить принцип работы сканера клавиатуры. Получить навыки проектирования цифровых устройств с помощью конечных автоматов средствами ACTIVE-HDL.

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ:

Принцип действия сканера клавиатуры (СК)

Клавиатура большинства вычислительных устройств смонтирована ввиде прямоугольной матрицы (рис. Л7.1), в точках пересечения строк истолбцов которой располагаются кнопочные контакты. Сканирующее

устройство, которое разрабатывается, должно определять номер элемента матрицы, который отвечает нажатой клавише, и выдавать соответствующий ему двоичный код.

СК работает в двух главных режимах:

1. Режим ожидания :1.1 На все столбцы матрицы клавиатуры (МК), которые обозначены на рис. Л7.1(С0, С1, С2) подается логическая единица.1.2 Все строки МК, которые обозначены на рис. Л7.1. (R0, R1, R2) имеютнизкий уровень сигнала - логический нуль.1.3 Уровень сигналов R проверяется с каждым синхронизирующимимпульсом CLK и, если один из них изменит свое значение с "0" на"1", то это сигнализирует о нажатии одной из клавиш. При этом СКпереходит в следующий режим.

111

Page 112: Metodika Proektirovania PLIS v Pakete Active-HD

Рис. 5.1 - Функциональная схема сканера клавиатуры

2. Режим сканирования :2.1. На столбец С0 подается сигнал высокого уровня, а на все другиестолбцы - низкого уровня.2.2. Проверяется уровень сигналов R.2.3. Если уровень одного из R (например R1) изменится из "низкого" на"высокий", то это значит, что был замкнут контакт, которыйрасположен на пересечении столбца С0 и строки R1. То есть номерэлемента МК, которому отвечает нажатая клавиша, найден.2.4. Сканер передает эту информацию в декодер для формированиясоответствующего кода избранной цифры (или операции) и опять переходитк режиму ожидания;2.5. Если уровень всех строк R остается низким, то пп.2.1,2.2повторяются последовательно для всех столбцов C0 - С2 до тех пор,пока не будет выполненного условия 2.3.

Техническое задание к лабораторной работе:

112

Page 113: Metodika Proektirovania PLIS v Pakete Active-HD

1. Ознакомиться с возможностями редактора конечных автоматов (FSMEditor) в Active - HDL.2. Исходя из основного принципа работы сканера клавиатуры, определитьосновные состояния устройства и условия перехода от одного состояния к

другому (см. Пример). При этом количество клавиш на клавиатуре равняется 15 (0 . 9, '+''-' '/' '*', '=').

3. Определить интерфейс системы (см. Пример).4. Создать новую диаграмму конечных автоматов (менюFile\NewDesign\FSM Diagrame).5. С помощью New Design Wizard и New Source File Wizard создатьновый проект и макет диаграммы конечных автоматов.6. Составить диаграмму конечных автоматов.6.1. Используя кнопку рабочей панели FSM State Editor,создать в рабочей области необходимое количество кружков (поз.1, рис. Л7.2) в

соответствии с количеством возможных состояний СК (S0, S1.), которые были определены в п.2.

6.2. Используя кнопки рабочей панели FSM State Editor,отобразить с помощью стрелок связки между состояниями (поз.2,рис.Л7. 2);6.3. Поскольку как в режиме ожидания, так и в режиме сканированиянужно проверять или имеет хотя бы один из сигналов R значения "1",то будет удобно ввести локальный сигнал К(поз.3, рис.Л7. 2) с помощью кнопки

рабочей панели FSM State Editor.6.4. Определить свойства данного объекта (параметры, действия, условия)в соответствии с п.2. Для открытия соответствующего диалогового окна следует

навести курсор на условное обозначение нулевого состояния (S0),щелкнуть правой кнопкой мыши и выбрать пункт "Properties" излокального меню.6.5. Аналогичным способом определить свойства всех других элементовдиаграммы (состояний S1 . Sn (поз.4, рис. Л7.2), переходов (поз 5, 6, рис.Л7.2) и локального сигнала К).6.6. Прибавить источник диаграммы (поз. 7, рис. Л7.2). Для этого надощелкнуть левой кнопкой мыши за пределами полей страницы и выбратьиз локального меню пункт "Properties", определить синхронизирующий сигнал.7. Последовательным нажатиям кнопок сформировать и отобразить кодVHDL, соответственный созданной диаграмме конечных автоматов.8. Выучить соответствие графических объектов диаграммы и VHDL кода.9. Скомпилировать устройство и промоделировать его работу.10.Подготовить отчет по лабораторной работе.

113

Page 114: Metodika Proektirovania PLIS v Pakete Active-HD

Контрольные вопросы

1. Определение конечных автоматов.2. Каков порядок формирования нового макета диаграммы конечных

автоматов при использовании New Design Wizard и New Source File Wizard?

3. Какие основные этапы формирования диаграммы конечных автоматов?4. Каким образом формируется источник диаграммы и что в него входит?5. Как описываются элементы созданной диаграммы и их свойства в VHDL -

коде?6. Каким образом определяются действия и условия для состояний и

переходов между ними?7. Чем отличаются входное, стационарное и исходное действия состояния,

отличия в VHDL -коде?114

Page 115: Metodika Proektirovania PLIS v Pakete Active-HD

Требования к отчету

1. Название и цель лабораторной работы;2. Функциональную схему сканера клавиатуры для 15 кнопок и ее краткое

описание;

3. Основные состояния СК и условия перехода от одного состояния к другому (в соответствии с п.2);

4. Описание интерфейса системы;5. Разработанную диаграмму конечных автоматов;6. Соответствующий VHDL -код для разработанной диаграммы конечных

автоматов;7. Результаты моделирования в графическом и табличном виде и их анализ;8. Сделать выводы по работе.

115