Булах Дмитрий Александрович
к.т.н., доцент кафедры ПКИМС

Программные средства САПР

Курс "Программные средства САПР" читается студентам 3 курса института ИнЭл, обучающиимся по профилю "Автоматизация проектирования изделий наноэлектроники" (группы ЭН-34, ЭН-35), в пятом (осеннем) семестре.

План курса:

  • 8 лекций;
  • 8 лабораторных работ.

Самостоятельная работа к лекциям не предусмотрена

Изучение дисцины "Программные средства САПР" заканчивается экзаменом.


КРАТКАЯ АННОТАЦИЯ

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

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

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

Материалы к лекциям

Лекция Рассматриваемые вопросы Презентация PDF

Лекция 1

Основы построения программ с графическим интерфейсом пользователя

Основные отличия между консольными программами и программаи, имеющими графический интерфейс пользователя на примере ОС Windows. Функция WinMain, создание окна, оконные процедуры, обработка сообщений.


Лекция 2

Этапы сборки ПО

Этапы получения исполняемого модуля: препроцессинг, компиляция, линковка.


Лекция 3

Схемотехнический этап проектирования

Схемотехнический этап проектирования.


Лекция 4

Логический этап проектирования

Логический этап проектирования. Посроение цифровых схем. Виды моделирования.


Лекция 5

Логический этап проектирования

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


Лекция 6

Програмные средства САПР на топологическом и компонентносм этапах

Топологический этап проектирования. Топология основных компонентов.


Лекция 7

Програмные средства САПР на топологическом и компонентносм этапах

Проектирование с использованием стандартных ячеек. Форматы LEF, DEF. Алгоритмы многотерминальной трассировки, многослойной трассировки. Элморовская задержка.


Лекция 8

Программные средства для проектировщика

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


Тематика лабораторных работ

Все лабораторные работы выполняются в лабораториях ВЦ МИЭТ в ОС Windows 7, используется интегрированная среда разработки Microsoft Visual Studio 2017.

Лабораторная работа Рассматриваемые вопросы Материалы

Лабораторная работа №1

Волновой алгоритм

Реализация волнового алгоритма в консольном приложении.

Задание повышенной сложности для ЭН-35:

  • Задание сдано

Задание повышенной сложности для ЭН-34:

  • Задание сдано


Задания для
ЭН-35


Задания для
ЭН-34

Лабораторная работа №2

Основы Windows API

Создание окна. Основы обработки сообщений. Базовые средства API для вывода графики. Основные диалоги. Работа с мышью. Таймеры.

Сделал для вас мануал:
Создание проекта WinAPI в MS Visual Studio 2017


Каркас приложения

Лабораторная работа №3

WinAPI. Тема "Топология"

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

  • Задание сдано

Задание повышенной сложности для ЭН-34:

  • Задание не сдано


Задания для
ЭН-35


Задания для
ЭН-34

Лабораторная работа №4

WinAPI. Тема "Постпроцессор"

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

Входные файлы для группы ЭН-35 можно скачать тут

Задания повышенной сложности для ЭН-35:

  • Задание не сдано

Входные файлы для группы ЭН-34 можно скачать тут

Задания повышенной сложности для ЭН-34:

  • Задание не сдано


Задания для
ЭН-35


Задания для
ЭН-34

Лабораторная работа №5

Основы OpenGL

Основы работы с библиотекой OpenGL. 2D и 3D приложения. Основные примитивы. Пользовательский ввод. Работа с клавиатурой и мышью.

Если у вас не установлена библиотека glut, взять её вы можете по этой ссылке


Каркас 2D-приложения



Каркас 3D-приложения

Лабораторная работа №6

OpenGL. Тема "Поверхность"

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

Задание повышенной сложности для ЭН-35:

  • Задание сдано

Задание повышенной сложности для ЭН-34:

  • Задание не сдано

Комплект входных данных для ЭН-35 можно скачать тут

Комплект входных данных для ЭН-34 можно скачать тут



Задания для
ЭН-35


Задания для
ЭН-34

Лабораторная работа №7

OpenGL Тема "3D сетка"

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

Задание повышенной сложности для ЭН-35:

  • Задание сдано

Задание повышенной сложности для ЭН-34:

  • Задание не сдано

Комплект входных данных для ЭН-35 можно скачать тут

Комплект входных данных для ЭН-34 можно скачать тут



Задания для ЭН-35


Задания для ЭН-34

Лабораторная работа №8

Визуализация волнового алгоритма

Дополнение программного кода волнового алгоритма кодом визуализации результатов его работы с использованием OpenGL



Задания для ЭН-34


Задания для ЭН-35

Ваши преподаватели

Лектор

Дмитрий Булах
Булах Дмитрий Александрович

к.т.н., доцент кафедры ПКИМС

УспеваемостьОбновлено
30 декабря 2023


Итоговая аттестация

Вопросы появятся ближе к зачёту

Рекомендуемая литература

Клик по обложке - переход к файлообменнику

...
Н. А. Литвиненко
Технология программирования на C++. Win32 API-приложения.

...
Фень Юань
Программирование графики для Windows.

...
М. Ву,
Т. Девис,
Дж. Нейдер,
Д. Шрайнер
OpenGL. Руководство по программированию.