Предисловие |
Список условных сокращений |
ЧАСТЬ 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРОЕКТИРОВАНИЯ ЛОГИЧЕСКИХ СХЕМ |
1. | Булева алгебра. Булевы функции |
2. | Логические формулы и схемы |
3. | Равенство формул и функций |
4. | Функциональная полнота |
5. | Минимизация булевых функций |
6. | Оптимизация многоуровневых представлений булевых функций. Синтез каскадных схем |
7. | Синтез схем на основе факторизации и декомпозиции |
8. | Моделирование логических схем |
9. | Анализ логических схем |
10. | Верификация логических схем |
11. | Типовые комбинационные схемы. ПЛМ и ПЗУ |
12. | Триггеры. Синтез автоматов |
13. | Типовые схемы с памятью |
14. | Обнаружение неисправностей логических схем |
ЧАСТЬ 2. ПРОЕКТИРОВАНИЕ ЛОГИЧЕСКИХ СХЕМ C ИСПОЛЬЗОВАНИЕМ ЯЗЫКА VHDL |
15. | Язык VHDL |
16. | VHDL-модели логических элементов |
17. | VHDL-модели булевых функций |
18. | Структурные описания логических схем |
19. | Функционально-структурные описания логических схем |
20. | Описание регулярных схем |
21. | Алгоритмические описания |
22. | VHDL-модели типовых комбинационных схем, ПЛМ и ПЗУ |
23. | VHDL-модели схем с памятью |
24. | Нахождение задержек комбинационных схем |
25. | RTL-описания схем |
26. | Автоматизированный синтез логических схем. VHDL-пакеты |
27. | Тестирование и верификация VHDL-моделей |
28. | Ответы, указания, решения |
29. | Приложение |
Литература |
Применение булевой алгебры поставило проектирование логических
(цифровых) схем на прочную теоретическую основу. С появлением
электронной вычислительной техники формальные методы
проектирования были алгоритмизированы и доведены до программ.
Сначала были созданы программы, обеспечивающие решение наиболее
трудоемких оптимизационных логико-комбинаторных задач. Затем
появились экспериментальные и промышленные системы
автоматизированного проектирования (САПР) цифровой аппаратуры и
цифровых интегральных схем. Изучение огромного по объему
материала по проектированию в университетах и вузах потребовало
целого ряда учебных курсов и дисциплин. В отдельных курсах стали
изучаться булева алгебра, цифровые автоматы, схемотехника
логических элементов, проектирование с использованием САПР
и т. д. В преподавании наметился разрыв между теоретическими и
практическими курсами по автоматизированному проектированию. Тем
не менее, работая с современными САПР цифровой аппаратуры и
цифровых интегральных схем, важно уметь применять знания из
теоретических курсов; с другой стороны, изучение теоретических
основ желательно вести с учетом подготовки специалистов к работе
с промышленными САПР.
Предлагаемый сборник задач, вопросов и упражнений по
проектированию логических схем ориентирован на ликвидацию
разрыва между теоретическими и практическими учебными курсами.
Выбраны основные задачи, которые связывают теоретические и
практические аспекты проектирования, -- это задачи анализа,
синтеза, моделирования и верификации логических схем. В первой,
теоретической, части центральное место занимает задача
логического синтеза, предлагаются задачи по нахождению и
оптимизации различных форм представления булевых функций и
автоматов. Вопросы и задачи по представлению функций, схем,
алгоритмов даются также и во второй части сборника, посвященной
использованию языка VHDL для описания проектов цифровых схем.
Язык VHDL, наряду с языком Verilog, является основным языком
описания проектируемых цифровых схем и систем. Это мощный
современный язык проектирования. Практически все промышленные
САПР цифровых интегральных схем имеют в своем составе средства
работы с VHDL-проектами. Эффективность проектирования
предполагает знание языка VHDL, поэтому наряду с задачами по
разработке VHDL-спецификаций во второй части сборника
предлагаются вопросы и упражнения непосредственно по языку VHDL.
Заметим, что языку VHDL полностью посвящен русскоязычный
интернет-сайт (www.bsuir.by/vhdl/), содержащий много
методических материалов, в том числе список интернет-ресурсов по
VHDL.
Большинство задач, в которых требуется описать структуру или
поведение проектируемой логической схемы, не привязано к языку
VHDL, создание спецификаций может быть выполнено и на языке
Verilog.
Для удобства сборник имеет сквозную нумерацию разделов.
Нумерация задач, рисунков, таблиц и формул привязывается к
номеру раздела. Задачи повышенной трудности помечены символом
"*". Перед некоторыми из разделов даются необходимые сведения,
касающиеся используемой в задачах терминологии. В качестве
однотипных (имеющих одинаковую постановку и различные исходные
данные) выбраны базовые задачи, которые могут быть использованы
для проверочных и самостоятельных работ. В книгах из
приведенного списка литературы можно найти все теоретические
сведения, требующиеся для решения задач.
В ответах содержатся примеры решений, указания, методические
рекомендации, ссылки на литературу.
Автор выражает благодарность рецензентам В. П. Супруну и
А. А. Иванюку за полезные замечания, способствовавшие улучшению
содержания книги, а также О. В. Клачко за помощь в подготовке
иллюстраций.
Бибило Петр Николаевич
Доктор технических наук, профессор. Его основные научные работы относятся к теории дискретных устройств и автоматизации проектирования дискретных устройств и цифровых сверхбольших интегральных схем (СБИС), применению методов искусственного интеллекта в системах автоматизированного проектирования (САПР). Считает, что успешное развитие микроэлектроники связано с разработкой и внедрением в практику проектирования новых архитектур САПР, использующих экспертные знания о маршрутах и объектах проектирования. Руководствуется тем, что разработка отечественных САПР должна вестись с учетом их интеграции с зарубежными САПР. Уделяет большое внимание подготовке студентов и специалистов-разработчиков, читает курсы лекций в Белорусском государственном университете информатики и радиоэлектроники, является инициатором создания русскоязычного Интернет-сайта по языку VHDL.