Лингвистическое обеспечение сапр
ЛЕКЦИЯ 3
3.1. Лингвистическое обеспечение сапр
Лингвистическое обеспечение (ЛО) представляет собой совокупность языков, используемых в процессе разработки и эксплуатации САПР для обмена информацией между человеком и машиной. Состав ЛО приведен на рис. 3.1.
Рис. 3.1. Состав лингвистического обеспечения САПР
3.1.1. Языки программирования
Рекомендуемые материалы
Условная классификация языков программирования показана на рис. 3.2.
Рис. 3.2. Классификация языков программирования
3.1.2. Языки проектирования
Условная классификация языков проектирования показана на рис. 3.3.
Рис. 3.3. Классификация языков проектирования
Выходные языки – для представления в удобном виде в соответствии со стандартом.
Промежуточные языки – для адаптации САПР к новым составным частям ЛО.
Языки сопровождения – для корректировки в ходе проектирования.
Языки проектирования определяют такие понятия, как:
– тип объекта;
– связи объекта;
– параметры объекта.
Для этих целей служат входные языки САПР, состоящие:
1) из описательных языков структурного типа, включающих в себя:
a) описание объекта, например:
– тип элемента;
– тип модели элемента;
– параметры модели элемента;
– топологические связи элементов;
б) описание задачи, например:
– тип параметров;
– граничные условия;
– критерий оптимизации;
– тип алгоритма;
в) описание директив, например:
– последовательное выполнение;
– тип директивы;
2) моделирующих языков, предназначенных для реализации алгоритма моделирования пользователем из стандартных процедур;
3) диалоговых языков, предназначенных для создания пользовательского интерфейса, например:
– меню;
– подсказки;
– команды пользователя;
– анкеты (бланки).
3.1.3. Пример описания топологических связей элементов
Топология связей зависит от такого свойства элемента, как направленность. Например, резистор – это ненаправленный элемент. Логический элемент, наоборот, является направленным элементом, следовательно, важен порядок описания выводов.
номера узлов схемы номера элементов
Рис. 3.4. Пример электрических схем с различной топологией:
схема с ненаправленными связями (слева), схема с направленными связями (справа)
Схема с ненаправленными связями может быть описана таблицей типа «элемент–узел» или «узел–элемент».
Таблица 3.1
Таблица «Элемент–узел» для схемы с ненаправленными связями
№ элемента | № узла |
1 | 1, 2 |
2 | 2, 3 |
3 | 2, 4 |
4 | 3, 4 |
Таблица 3.2
Таблица «Узел–элемент» для схемы с ненаправленными связями
№ узла | № элемента |
1 | 1 |
2 | 1, 2, 3 |
3 | 2, 4 |
4 | 3, 4 |
Схема с направленными связями может быть описана таблицей типа «элемент-узел» или «узел-элемент», или «элемент-элемент».
Таблица 3.3
Таблица «Элемент–узел» для схемы с направленными связями
№ элемента | № узла, подключенного ко входу элемента | № узла, подключенного к выходу элемента |
1 | 1 | 2 |
2 | 2, 5 | 3 |
3 | 4 | 5 |
4 | 1, 3 | 4 |
Таблица 3.4
Таблица «Узел–элемент» для схемы с направленными связями
№ элемента | № элемента, подключенного входом к узлу | № элемента, подключенного выходом к узлу |
1 | 1, 4 | – |
2 | 2 | 1 |
3 | 4 | 2 |
4 | 3 | 4 |
5 | 2 | 3 |
Таблица 3.5
Таблица «Элемент–элемент» для схемы с направленными связями
№ элемента | Элемент, подключенный выходом ко входу | Элемент, подключенный выходом к выходу | Элемент, подключенный входом ко входу | Элемент со входом, подключенный к выходу |
1 | – | – | 4 | 2 |
2 | 1, 3 | – | – | 4 |
3 | 4 | – | – | 2 |
4 | 2 | – | 1 | 3 |
3.2. Информационное обеспечение
Структура информационного обеспечения САПР показана на рис. 3.5. Информационное обеспечение (ИО) определяет типовые сведения, используемые в САПР, а также способы их хранения и обработки. Типовые сведения хранятся в базах данных (БД), представляющих собой совокупность массивов данных с возможностью быстрого поиска и доступа.
Системы управления базами данных (СУБД) – совокупность языкового и программных средств поиска и доступа, не зависимых от прикладных программ, совместно с БД образуют банк данных.
Рис. 3.5. Структура информационного обеспечения САПР
3.3. Организация баз данных
Способы организация БД включают в себя способы размещения и способы структурирования данных. Некоторая простейшая единица данных называется записью. Различают две формы записи: логическая и физическая. Логическая запись обозначается символами. Физическая запись представляет собой информацию, размещенную на носителе (материализованная форма логической записи).
Например: R10 – резистор с номиналом 10 Ом. В данном случае три символа R, 1, 0 записываются в двоичном коде, например по 4 байта на каждый. Эти байты на носителе и есть физические записи логической записи R10. Далее под записью будем понимать логическую форму. Обычно запись содержит ключ – вспомогательную информацию, позволяющую отличать записи друг от друга. Различают ключи порядка, определяющие место записи, и смысловые ключи, позволяющие выделить данную запись из других. Например, в записи 2R10 символ R – смысловой ключ (резистор), символ 2 – ключ порядка, символы 10 – числовые данные (номинал).
3.3.1. Способы размещения данных
Различают несколько способов размещения данных: последовательное, прямое, библиотечное, индексно-последовательное.
Последовательное размещение данных
При последовательном размещении данных записи располагаются друг за другом. Достоинство: удобство записи данных, компактность. Недостаток: долго искать при произвольном поиске.
Рис. 3.6. Пример последовательного размещения данных:
А – адрес следующей записи
Прямое размещение данных
При прямом размещении данных в записи имеется ключ, который определяет адрес ячейки, содержащей запись (данные). Например, в записи «2R » ключ «2» – это номер ячейки, где хранятся данные о номинале резистора R. Достоинство: самая высокая скорость. Недостаток: требуется большой объем памяти.
Рис. 3.7. Пример прямого размещения данных:
k – номер ключа в произвольном порядке от 1 до n
Библиотечное размещение данных
Библиотечное размещение данных, при котором все записи разбиты на группы (разделы), является вариантом прямого размещения. Разделы имеют свое имя, а также адреса начала и конца и образуют каталог библиотеки. Записи внутри раздела размещаются любым способом. Библиотечная организация хранения данных обеспечивает достаточно быстрый и удобный поиск по каталогу.
Рис. 3.8. Пример библиотечного размещения данных
Индексно-последовательное размещение данных
Индексно-последовательное размещение данных применяется для ускорения последовательной записи данных.
Рис. 3.9. Пример индексно-последовательного размещения данных
Индексы образуют иерархическую структуру дерева, где верхние индексы образуют более крупные структуры, а нижние более мелкие. Ключ порядка записи (индекс уровня) определяет последовательность их расположения. Направление размещения идет от верхнего к нижнему уровню. Путем сравнения номера порядка с индексами в направлении сверху вниз определяется минимальный диапазон искомых адресов и в них производится искомый поиск. Например, требуется найти запись с ключом порядка A77. Для этого на первом этапе производится сравнение с индексами уровня 3, что определяет диапазон записей А51 ÷ А100. На следующем этапе производится сравнение с индексами уровня 2, что определяет диапазон записей А76 ÷ А100. Сравнение с индексами уровня 1 определяет еще более узкий диапазон записей А76 ÷ А90, в котором и производится последовательный поиск. Таким образом, при поиске значительно сокращается число последовательно просматриваемых записей.
3.3.2. Способы структурирования данных
Под способом структурирования понимается способ формирования конфигураций по заданному признаку из ранее размещенных данных. Различают следующие способы структурирования данных.
Ассоциативное структурирование, при котором выделяют (конфигурируют) данные по указанному общему свойству (например, выделяют резисторы из совокупности элементов схемы).
Последовательное структурирование, при котором устанавливают связь между предыдущей и последующей частью данных в виде цепочки или связанного списка (например, в конце каждой физической записи есть указание на место начала следующей).
Иерархическое структурирование, при котором устанавливают связи сверху вниз между разными уровнями по значимости. В свою очередь, иерархические структуры могут иметь вид древовидный (вход всегда один) или сетевой (входов может быть несколько, что обеспечивает более разнообразный характер связей).
Рис. 3.10. Пример древовидной (слева) и сетевой (справа) структуры
Реляционное структурирование, основанное на выделении смысловых групп с использованием алгебры отношений (реляционное исчисление) между данными по принципу «больше», «равно», «эквивалентно» и т.д. Данные задаются в виде таблиц, реляционные операции над которыми порождают новые таблицы.
3.3.3. Системы управления базами данных (СУБД)
Под СУБД понимают автономную систему, не входящую в операционную систему (ОС) и включающую в себя три группы программ:
1) обработки и организации вводимых данных;
2) создания и редактирования файлов;
3) поиска данных в файлах.
СУБД позволяет обслуживать несколько систем САПР. Например, при проектировании печатных плат одну и ту же базу данных (БД) используют программы для разработки электрических схем и для трассировки печатных плат.
Различают системные и прикладные базы данных.
В прикладной базе данных собственно база данных находится внутри прикладных программ САПР в виде библиотек, которые проще организовывать и использовать.
Системные базы данных более сложны в организации, но обеспечивают независимость прикладных программ друг от друга, гарантируют защиту от ошибок и упрощают разработку прикладного программного обеспечения, поскольку не требуется создания библиотек.
Рис. 3.11. Пример организации системной базы данных
Рис. 3.12. Пример организации прикладной базы данных
3.4. Программное обеспечение САПР
Программное обеспечение (ПО) САПР состоит из системного и прикладного ПО.
Рис. 3.13. Структура программного обеспечения САПР
3.4.1. Системное ПО
Системное ПО (операционная система – ОС) включает:
1) обрабатывающие программы, например:
– трансляторы;
– загрузчики;
– библиотека стандартных программ;
– редактор связей;
– программы обслуживания системы (утилиты).
2) управляющие программы, например:
– программы управления задачами (находятся в ОЗУ и выполняют распределение ресурсов, в частности, переключение выполнения программ в мультипрограммном режиме: супервизор, диспетчер, монитор);
– программы управления заданиями (интерпретация директив: ввод, трансляция, вывод и т.п.);
– программы управление данными (поиск, хранение, загрузка, обработка файлов).
Основные функции обрабатывающих программ ОС
Исходная программа на языке программирования (исходные модули) с помощью транслятора переводится на язык, приближенный к машинному (объектные модули).
Редактор связей устанавливает связи между данными в объектных модулях и создает загрузочный или абсолютный модуль, который может выполняться ЭВМ (перевод на машинный язык).
Программы сортировки и слияния подготавливают данные, сортируя и объединяя их с различных носителей.
Утилиты (вспомогательные программы) перемещают данные с одного носителя на другой, обеспечивают печать данных, каталогов, разметку дисков и т.д.
Основные функции управляющих программ ОС
Загрузчик – подготавливает оперативную память ЭВМ, выделяя в ней необходимые разделы и вводя ядро ОС (системные программы), и инициализирует выполнение системных программ.
Управление заданиями (планировщик или супервизор заданий) – осуществляет контроль правильности задания управляющих операторов на языке управления и контроль прохождения заданий (приоритетное, последовательное и т.п.).
Управление задачами (супервизор работ) – производит обработку всех видов прерываний (выявление причин и выполнение соответствующих действий), например, управление таймером, управление устройствами ввода-вывода, памятью и др.
Управление данными – производит ввод-вывод данных, контроль и анализ ошибок при вводе-выводе, переразмещение данных между оперативным запоминающим устройством (ОЗУ) и внешними носителями и др.
3.4.2. Прикладное ПО
Прикладное ПО для САПР строится на основе принципа модульности и иерархичности, а также единства, представления графической, текстовой информации и входного языка. Различают уровни в прикладном ПО, имеющие между собой иерархические или последовательные (без возврата наверх) связи.
Рис. 3.14. Уровни прикладного ПО
Прикладное ПО ориентировано на пользователя – непрограммиста. Обычно это целый пакет прикладных программ. Значительная часть существующих пакетов прикладных программ ориентирована на автоматизированное проектирование печатных плат, цифровых и аналоговых интегральных схем, операционных усилителей, средств СВЧ и антенных устройств с использованием персональных компьютеров (ПК).
Базовой для ПК IBM РС стала операционная система MS DOS, которая является стандартом для 16- и 32-разрядных ПК. Система имеет развитый язык, возможность организации многоуровневых каталогов, работ с файлами и устройствами путем подключения специальных управляющих программ – драйверов, имеются трансляторы и практически все наиболее употребляемые языки высокого уровня. Операционная система Windows для IBM РС относится к так называемым программам-оболочкам, позволяющим наиболее удобным образом управлять ПК.
Контрольные вопросы к лекции
1. Что представляет собой лингвистическое обеспечение САПР?
2. Какова классификация языков программирования?
3. Какова классификация языков проектирования?
4. Приведите примеры описания топологических связей между радиоэлементами.
5. Что включает в себя информационное обеспечение САПР?
6. Назовите способы размещения данных.
В лекции "4. Структура ИС" также много полезной информации.
7. Назовите способы структурирования данных.
8. Что включает в себя банк данных?
9. Какова структура программного обеспечения САПР?
10. Назовите основные функции системного программного обеспечения.
11. Назовите основные функции управляющих и обрабатывающих программ операционной системы.
12. Каков основной принцип построения прикладного программного обеспечения для САПР?