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

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

Курс "Программные средства САПР" читается студентам 3 курса факультета ЭКТ в первом (осеннем) семестре, группам ЭКТ-33, ЭКТ-38 (кафедра ПКИМС).

План курса:

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

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

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


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

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

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

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

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

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

Лекция 1

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

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


Лекция 2

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

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


Лекция 3

Аппаратные средства САПР

Основные вопросы использования аппаратных средств в САПР.


Лекция 4

Лингвистические средства САПР

Языки, используемые в САПР как для разработки ПО, так и для проектирования.


Лекция 5

ПО на этапе схемотехнического проектирования

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


Лекция 6

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

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


Лекция 7

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

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


Лекция 8

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

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


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

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

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

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

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

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

  • ЭКТ-38 - задание сдано
  • ЭКТ-33 - задание сдано

Не предусмотрены

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

Основы Windows API

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


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


Не предусмотрены

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

WinAPI. Тема "Схематик"

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

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

  • Задание 1 - сдано
  • Задание 2 - сдано
  • Задание 3 - сдано

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

  • Задание 1 - сдано
  • Задание 2 - сдано
  • Задание 3 - сдано

Задания для ЭКТ-38
Задания для ЭКТ-33

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

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

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

Входные файлы можно скачать тут

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

  • Задание 1 - не сдано
  • Задание 2 - не сдано

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

  • Задание 1 - сдано
  • Задание 2 - не сдано

Задания для ЭКТ-38

Задания для ЭКТ-33

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

Основы OpenGL

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

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

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

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


Не предусмотрены

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

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

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

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

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

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

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

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

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


Задания для ЭКТ-38

Задания для ЭКТ-33

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

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

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

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

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


Задания для ЭКТ-38

Задания для ЭКТ-33

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

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

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


Задания для ЭКТ-38

Задания для ЭКТ-33

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

Лектор

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

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

Помогают на лабораторных работах

...
Жестков Сергей Геннадьевич
магистрант каф. ПКИМС

группа ПКИМС-24
...
Жестков Сергей Геннадьевич
магистрант каф. ПКИМС

группа ПКИМС-14
...
Кожаева Татьяна Дмитриевна
магистрантка каф. ПКИМСгруппа ПКИМС-14
...
Поздняков Виктор Александрович
магистрант каф. ПКИМС

группа ПКИМС-24
Жестков Сергей Геннадьевич
студент каф. ПКИМС

группа ЭКТ-42
Кожаева Татьяна Дмитриевна
студентка каф. ПКИМСгруппа ЭКТ-42
Лапин Александр Владимирович
аспирант кафедры ПКИМС
Лапин Александр Владимирович
аспирант кафедры ПКИМС

20 ноября 2018Успеваемость

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

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

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

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

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

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