Математика | ||||
Владимир Борисович Стешенко. :79 EDA. Практика автоматизированного проектирования радиоэлектронных устройств. — М.: Издатель Молгачева С.В., Издательство «Нолидж», 2002. — 768 с„ ил. | ||||
Содержание Предисловие автора.........................................................................................................15 Введение: EDA - что, где и почему................................................................................19 Глава 1. Средства и приемы функционального моделирования радиоэлектронных систем...............................................................................23 1.1. Общие сведения.........,..................................................................................23 1.2. Пример обоснования структуры и параметров цифровых фильтров.....26 1.3. Построение и моделирование демодуляторов ЧМн-сигнала в пакете Simulink программы Matlab........................................................................41 1.4. Программа анализа динамических свойств систем System View компании Elanix...........................................................................................48 1.5. Программа моделирования систем и анализа данных Lab View фирмы National Instruments.........................................................................64 Глава 2. Программируемые логические интегральные схемы: элементная база и системы проектирования.............................................104 2.1. Обзор архитектур программируемых логических интегральных схем.....104 2.2. Выбор ПЛИС для реализации проекта....................................................127 2.3. Программирование и реконфигурирование в системе...........................132 2.4. Конфигурационные ПЗУ и режимы загрузки..........................................136 2.5. Система проектирования MAX PLUS II..................................................137 2.5.1 Процедура разработки проекта.......................................................143 2.5.2. Редакторы MAX PLUS II.................................................................159 2.5.3 Процесс компиляции........................................................................171 2.5.4. Верификация проекта......................................................................178 2.6. Программное обеспечение проектирования на ПЛИС фирмы Xilinx .182 2.7. Средства визуальной разработки цифровых автоматов.........................189 Ч а • Языки описания аппаратуры: синтаксис и особенности применения.... 199 3.1. Общие сведения..........................................................................................199 3.2. Язык описания аппаратуры AHDL...........................................................200 3.2.1. Общие сведения........................................... ч«п 3.2.2.1. Использование чисел................;.........................................20] 3.2.2.2. Использование констант....................................................203 3.2.3. Комбинационная логика..................................................................204 3.2.3.1. Реализация булевых выражений и уравнений.................204 3.2.3.2. Объявление NODE (узел)...................................................205 3.2.3.3. Определение групп.............................................................205 3.2.3.4. Реализация условной логики.............................................206 , 3.2.3.4.1. Логика оператора IF......................................206 3.2.3.4.2. Логика оператора CASE................................207 3.2.3.4.3. Сравнение операторов IF и CASE................207 3.2.3.5. Описание дешифраторов..................................,..,.............208 3.2.3.6. Использование для переменных значений по умолчанию....................................................................210 3.2.3.7. Реализация логики с активным низким уровнем............212 3.2.3.8. Реализация двунаправленных выводов............................213 3.2.4. Последовательностная логика в AHDL.........................................214 3.2.4.1. Объявление регистров........................................................214 3.2.4.2. Объявление регистровых выходов....................................215 3.2.4.3. Создание описаний счетчиков...........................................216 3.2.5. Цифровые автоматы с памятью (state mashine) в AHDL..............217 3.2.5.1. Примеры реализация цифровых автоматов (state machine) в AHDL.....................................................217 3.2.5.2. Установка сигналов Clock, Reset и Enable........................218 3.2.5.3. Задание выходных значений для состояний....................21" 1 о 1Q 3.2.5.4. Задание переходов между состояниями...........................Z1 f\ i о ' 3.2.5.5. Присвоение битов и значений в цифровом автомате......^ 920 3.2.5.6. Цифровые автоматы с синхронными выходами..............^ ^ 3.2.5.7. Цифровые автоматы с асинхронными выходами ~ 3.2.5.8. Восстановление после неправильных состояний..: 3.2.6. Реализация иерархического проекта.............................................. 3.2.6.1. Использование макрофункций системы , Altera MAX+PLUS II.........................................................2" 3.2.6.2. Создание и применение пользовательских , макрофункций ...................................................................22 3.2.6.3. Определение пользовательской макрофункции...............^ 3.2.7. Управление синтезом........................................................................230 3.2.7.1. Реализация примитивов LCELL и SOFT..........................230 3.2.7.2. Значения констант по умолчанию.....................................231 3.2.8. Элементы языка AHDL...................................................................232 3.2.8.1. Зарезервированные ключевые слова.................................232 3.2.8.2. Символы.........................!........................................232 3.2.8.3. Имена в кавычках и без кавычек.......................................234 3.2.8.4. Группы.................................................................................235 3.2.8.4.1. Формат записи групп.....................................235 3.2.8.4.2. Диапазон и поддиапазон групп....................235 3.2.8.5. Числа в языке AHDL..........................................................236 3.2.8.6. Булевы выражения..............................................................236 3.2.8.7. Логические операторы.......................................................237 3.2.8.8. Выражения с оператором NOT..........................................237 / 3.2.8.9. Выражения с операторами AND, NAND, OR, NOR, XOR и XNOR...........................238 3.2.8.10. Арифметические операторы............................................238 3.2.8.11. Компараторы (Операторы сравнения)............................239 3.2.8.12. Приоритеты в булевых уравнениях................................240 3.2.8.13. Примитивы........................................................................240 3.2.8.14. Порты.................................................................................249 3.2.8.14.1. Порты текущего файла................................249 3.2.8.14.2. Порты экземпляров компонента.................250 3.3. Язык описания аппаратуры VHDL...........................................................252 3.3.1.Общие сведения................................................................................252 3.3.2. Средства объявления объектов entity и их архитектур architecture........................................................................................253 3.3.3. Алфавит языка..................................................................................254 3.3.3.1.Комментарии...........................'.............................................255 3.3.3.2.Числа.....................................................................................255 3.3.3.3. Символы..............................................................................255 3.3.3.4. Строки..................................................................................255 3.3.4. Типы данных....................................................................................256 3.3.4.1. Простые типы .....................................................................256 3.3.4.2. Сложные типы................................... 3.3.4.4. Строки, битовые строки и агрегаты ............................ . ..... 2б4 3.3.4.5. Подтипы ................................................................................ 265 3.3.5. Операторы VHDL ....................................................... .....Г. .............. 267 3.3.5.1. Основы синтаксиса ............................................................. 26] 3.3.5.2. Объекты ............................................................................... 267 3.3.5.3. Атрибуты ............................................................................. 268 3.3.5.4. Компоненты ......................................................................... 268 3.3.5.5. Выражения ................................................................ .-. ........ 269 3.3.6. Интерфейс и тело объекта ............... ." ............................................... 270 3.3.7. Описание простого объекта ............................................................ 273 3.3.7.1. Поведенческое описание архитектуры ................... . ......... 274 3.3.7.2. Потоковое описание ........................................................... 274 3.3.7.3.. Структурное описание архитектуры ................. ............... 275 3.3.8. Описание конфигурации ................................................................. 277 3.3.9. Векторные сигналы и регулярные структуры ............................... 278 3.3.10. Задержки сигналов и параметры настройки ............................... 279 3.3.1 1. Атрибуты сигналов и контроль запрещенных ситуаций ............ 280 3.3.12. Алфавит моделирования и пакеты .......................... . .................... 282 3.3.13. Задание монтажного "или" и общей шины ................................. 284 3.4. Язык описания аппартуры Verilog ............................................................ 28з 3.4.1. Общие сведения ............................................................................... 23э 3.4.2. Операторы ......................................................................................... 28 3.4.3. Числа в Verilog ............. .... ................................ .... ............................ 28? 3.4.3.1. Целые числа (Integers) ................................................. %- ...... ^ 3.4.3.2. Неопределенное и высокоимпедансное состояния (X and Z values) ................................................ 3.4.3.4. Отрицательные числа (Negative numbers) ........................ 2 28$ 3.4.3.5. Символ подчеркивания (Underscore) ................................ 3.4.3.6. Действительные числа (Real) ................... • ........................ 3.4.3.7. Строки (Strings) ........................... . ....................... . ............... 2 ' 3.4.4.Цепи в Verilog (Nets) 3.4.5. Регистры (Registers) 3.4.6. Векторы (Vectors) 3.4.7. Массивы (Arrays) ..................... 3.4.8. Регистровые файлы (Memories 3.4.10. Арифметические операторы (Arithmetic operators)....................292 3.4.11. Логические операторы (Logical Operators)..............'....................293 3.4.12. Операторы отношения (Relational Operators)..............................293 3.4.13. Операторы эквивалентности (Equality).......................................294 3.4.14. Поразрядные операторы (Bitwise Operators)...............................295 3.4.15.Операторы приведения (Reduction Operator)...............................295 3.4.16.0ператоры сдвига (Shift Operator)................................................296 3.4.17. Конкатенация (объединение,Сопса1епа!юп)...............................296 3.4.18. Повторение (Replication)...............................................................297 3.4.19. Системные директивы (System Tasks).........................................297 3.4.20. Контроль процесса моделирования (Monitoring a Simulation).....299 3.4.21. Окончание моделирования (Ending a simulation)........................299 3.4.22. Проектирование комбинационных схем: пример проектирования мультиплексора 4 в 1........................................300 3.4.22.1. Реализация на уровне логических вентилей (Gate Level Implementation).............................................300 3.4.22.2. Реализация мультиплексора с помощью логических операторов (Logic Statement Implementation)................301 3.4.22.3. Реализация с помощью оператора выбора (Case Statement Implementation)......................................302 3.4.22.4. Реализация с использованием _____.„ч„„ ^ использованием условного оператора (Conditional Operator Implementation)............................303 3.4.22.5. Тестовый модуль (The Stimulus Module)........................304 3.4.24. Модули проекта (Design Blocks Modules) 3 л 1< гт------ '- __._,., „lv,vi»j IVIUUUICS^ ...................................306 3.4.25. Порты (Ports)..................................................................................308 3.4.26. Правила соединения (Connection Rules)......................................308 3.4.27. Базовые блоки (Basic Blocks)........................................................309 3.4.28. Инициализация (Initial Block).......................................................309 3.4.29. Конструкция always (Always Block).............................................310 3.4.30. Пример проектирования последовательностного устройства: двоичный счетчик....................................................310 3.4.30.1. Поведенческая модель (Behavioural Model)...................313 3.4.31. Временной контроль (Timing Control).........................................314 3.4.31.1. Задержки (Delay)...............................................................314 3.4.31.2. Событийный контроль (Event-Based control).................315 3.4.31.3. Защелкивание (Triggers)...................... ""' П1.16. Объявление по умолчанию...................................................................670 П1.17. Синтаксис условного оператора IF......................................................670 П1.18. Синтаксис встроенных (in-line) ссылок на макрофункцию или примитив........................................................................................670 П1.19. Синтаксис объявления таблицы истинности......................................670 П1.20. Синтаксис порта....................................................................................671 П1.21. Синтаксис группы..................................................................................671 П1.22. Синтаксические группы и списки.....................,................................672 риложение 2, Синтаксис языка Verilog..................................................................675 П2.1. Список операторов Verilog.....................................................................675 П2.2. Приоритет операторов......................................................................'......676 П2.3. Ключевые слова (Keywords)...................................................................676 П2.4.Директивы компилятора..........................................................................677 П2.5. Типы цепей (Net Types)...........................................................................677 Гриложение 3. Синтезируемое подмножество VHDL..............................................678 П3.1. Общие сведения.......................................................................................678 П3.2. Переопределенные типы (redefined types)............................................678 ПЗ.З. Методика верификации синтезируемого описания (Verification methodology).......................................................................678 ПЗ .3.1. Верификация комбинационных устройств (Combinational verification)...........................................................679 ПЗ.3.2. Верификация последовательностных устройств (Sequential verification).................................................................680 ГО.4. Моделирование элементов аппаратуры (Modeling hardware elements)...............................................................680 ПЗ .4.1. Синхронные последовательностные схемы (Edge-sensitive sequential logic).................:................................680 ПЗ.4.1.1. Типы тактового сигнала (Clock signal type)..................68 ля! ПЗ.4.1.2. Определение фронта тактового сигнала........................°° ^о| ПЗ.4.1.3. Передний фронт............,..................................................° ГО.4.1.4. Задний фронт....................................................................б8' /я" ПЗ.4.2. Описание синхронных последовательностных устройств....... /•о ПЗ.4.2.1. Использование оператора IF....................................•...... , Т~П /1 О Л ТТ 'j_ О У' IT Могтлттж.-хлийинр b-nHm-ivKTTHH wait................................... ПЗ.4.5. Логика с третьим состоянием и моделирование шин (Three-state and bus modeling).................................................................................686 ПЗ.4.6. Описание комбинационных логических схем (Modeling combinational logic).............................................................................686 П3.5. Диррективы компилятора (псевдокомментарии, ПЗ.5.1. Атрибуты компилятора (Attributes).............................................686 686 ПЗ.5.1.1. Атрибут компилятора ENUM_ENCODING...................687 ПЗ.5.2. Метакомментарии (Metacomments).............................................687 П3.6. Синтаксис синтезируемого подмножества VHDL.............:.. .._____...............................687 ПЗ.6.1. Описание интерфейса (Entity declarations).................................687 ПЗ.6.2. Заголовок интерфейса (Entity header).........................................688 ПЗ.6.3. Настраиваемые типы (Generics)..................................................688 ПЗ.6.4. Порты (Ports).................................................................................688 ПЗ.6.5. Описание .интерфейсной части (Entity declarative part).............689 ПЗ.6.6.Описание операторов интерфейса (Entity statement part)..........689 ПЗ.6.7. Архитектурные тела (Architecture bodies)..................................690 ПЗ.6.8. Объявление архитектуры (Architecture declarative part)............690 Т-г^» f ™ г- _____„^^,ч*(лч w ра ПЗ.6.9. Операторы архитектуры (Architecture statement part)................691 ПЗ.6.10. Объявление конфигурации (Configuration declaration)........... ПЗ.6.11. Конфигурация.блока (Block configuration)...............................692 691 ._____... ...............................W2 - - — ф -" " " j ПЗ.6.12. Конфигурация компонента (Component configuration).............692 ПЗ.6.13. Объявление подпрограмм (Subprogram declarations)...............693 Формальные параметры (Formal parameters)...........................693 ПЗ.6.14. Тело подпрограммы (Subprogram bodies).................................693 , . .«,-......™,.................................6УЗ ПЗ.6.15. Перегрузка подпрограмм (Subprogram overloading)................694 ПЗ.6.16. Разрешающие функции (Resolution functk ПЗ.6.17. Объявление пакета (Package declarations), m A i о т— ч----г-.-ь'»"" «vwiuai ПЗ.6.16. Разрешающие функции (Resolution functions).........................694 ПЗ.6.17. Объявление пакета (Package declarations).................................695 ГО.6.18. Тело пакета (Package bodies). тт^ s- -• л — ____„,......................................................696 П3.6.19. Скалярные типы (Scalar types)...................................................696 ПЗ.6.20. Перечислимые типы (Enumeration types)..................................697 ПЗ.6.21. Предопределенные перечислимые типы (Predefined enumeration types)....................................................697 ПЗ.6.22. Целочисленные типы (Integer types).........................................697 ПЗ.6.23. Физические типы (Physical types)..............................................698 ПЗ.6.24. Типы с плавающей точкой (Floating ooint tvr>«»cA Предисловие автора Всякий образованный человек, умеющий читать и писать, в конце концов должен решить для себя: так что же все-таки делать — читать или писать? Постулат Кнышева Хороший учитель может научить других даже тому, чего сам не умеет. Тадеуш Котарбиньский Идея написания этой книги появилась после выхода в прошлом году двух моих книг [1,2] и циклов статей в журналах [27,28]. Получив довольно большое число откликов читателей (СПАСИБО ВСЕМ!!!), я пришел к выводу о необходимости написания книги, посвященной практическим методам и приемам применения САПР в процессе проектирования радиоэлектронной аппаратуры. К этому моменту у меня сложились определенные взгляды на существующее положение вещей в электронном САПР, которыми и хотелось бы поделиться с читателями. Как и в прошлой книге [1], изложение ведется от процесса проектирования. Я уверен, что такой подход является правильным как с методической, так и с производственной точки зрения. В книге затронут достаточно широкий круг вопросов и рассмотрено значительное число средств САПР для решения тех или иных задач. Тем не менее, автор понимает, что учесть все невозможно, и заранее приносит извинения за возможные ошибки. В этой связи, следует вспомнить старую форму, характерную для американской научно-технической литературы: «В этой книге предпринята попытка научить читателя приемам конструирования электронных устройств на основе примеров и данных, которые, на наш взгляд, являются точными. Однако примеры, данные и прочую информацию, предназначенную для обучения, не следует использовать в практических приложениях без самостоятельного тестирования и проверки. Тестирование и проверка особенно важны в тех случаях, когда неправильное функционирование может привести к несчастному случаю или повреждению имущества. В связи с этим мы не даем никаких гарантий, прямых или косвенных, на предмет того, что примеры, данные и прочая информация в этой книге, не содержат ошибок, отвечают требованиям промышленных стандартов и требованиям конкретных практических приложений. Автор и издатель не несут ответственности за коммерческий исход и непригодность для какой - либо практической цели, даже в том случае, если автор дал совет по практическому использованию и описал пример практического использования в Цена: 300руб. |
||||