Язык AHDL

       

Язык AHDL

Введение

Как пользоваться языком AHDL
Вставка шаблонов AHDL
Создание текстового выходного файла
Использование чисел
Использование констант и оценочных функций
Комбинаторная логика
Реализация булевых выражений и уравнений
Именование булевых операторов и компараторов
Объявление узлов
Определение шин

Реализация условной логики
Оператор If Then
Оператор Case
Оператор If Then против оператора Case
Создание дешифраторов
Использование для переменных значений по умолчанию
Реализация логики с активными низкими уровнями
Реализация двунаправленных выводов

Реализация тристабильных шин
Последовательностная логика
Объявление регистров
Объявление регистровых выходов
Создание счетчиков
Конечные автоматы
Реализация конечных автоматов
Установка сигналов Clock, Reset Enable
Присваивание состояний
Конечные автоматы с синхронными выходами

Конечные автоматы с асинхронными выходами
Выход из некорректных состояний
Реализация иерархических проектов
Использование непараметрических функций
Использование параметрических функций
Использование заказных мега и макро функций
Импорт и экспорт конечных автоматов

Реализация LCELL SOFT примитивов
Реализация RAM ROM
Использование итеративно-генерируемой логики
Использование условно-генерируемой логики
Использование оператора Assert
Зарезервированные слова
Зарезервированные идентификаторы
Символы
Строковые и символьные имена

Шины
Диапазоны и поддиапазоны шин
Числа в AHDL
Арифметические выражения
Встроенные оценочные функции
Булевы выражения
Логические операторы
Булевы операторы, использующие NOT
Булевы операторы, использующие AND, NAND, OR, NOR, XOR, и XNOR
Арифметические операторы в булевых выражения

Компараторы
Приоритеты булевых операторов и компараторов
Мегафункции/LPM
Макрофункции
Примитивы
Порты

Структура проекта
Обзор
Оператор Title
Оператор Parameters
Оператор Include
Оператор Constant
Оператор Define

Оператор Function Prototype
Оператор Options
Оператор Assert
Раздел Subdesign
Раздел Variable
Описание объектов
Описание узлов

Объявление конечных автоматов
Объявления псевдоимен конечных автоматов
Раздел Logic
Булевские выражения
Управляющие булевские выражения
Оператор Defaults

Оператор If Generate
Оператор For Generate
Подставляемая ссылка для реализации логической функции (In-Line Logic Function Reference)
Оператор Truth Table
Контекстно-зависимая помощь

Аппаратное обеспечение персонального компьютера

Несмотря на широкое распространение новых операционных систем, таких как Microsoft Windows 95, Microsoft Windows NT и IBM OS/2 Warp, а также новых технологий программирования, ориентированных на Internet и средства высокого уровня, до сих пор остается актуальным создание программ, работающих с аппаратурой компьютера через порты, прерывания и функции драйверов. Многие разработчики занимаются созданием драйверов для нестандартной аппаратуры, и поэтому нуждаются в описании регистров периферийных устройств и методик работы с этими устройствами на уровне регистров и прерываний.
Перечисленные выше вопросы были рассмотрены нами во 2 томе «Библиотеки системного программиста» с названием «Аппаратное обеспечение IBM PC”, который был издан в 1992 году. С тех пор аппаратура персонального компьютера претерпела определенные изменения, не говоря уже о возникновении и широком распространении новых периферийных устройств. Поэтому мы решили переиздать упомянутый том «Библиотеки системного программиста», обновив и дополнив его новой информацией.

Определение конфигурации компьютера
Регистры часов реального времени
Чтение данных из устройства
Определить положение курсора при отпускании клавиши
Порт 08h
Программирование сопроцессора
Сохранить состояние драйвера
Установка таймера с сигнализацией
Аппаратные хитрости использования PIC-контроллеров
Два устройства для кулера
Как починить кнопку. Мануал по ремонту джойстика

Содержание раздела