Назад  |  Содержание  |  Вперед


3 ОПИСАНИЕ ПРОГРАММНОГО ПРОДУКТА


3.1 База данных программы
3.2 Алгоритм моделирования исправных МОП-схем
3.3 Назначение основных модулей программы
3.4 Работа с файлами
3.4.1 Структура входных файлов данных
3.4.2 Структура выходных файлов данных

3.1 База данных программы

В БД программы хранится описание текущей МОП-схемы.

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

Таблица 3.1 - Основные структуры данных
Имя Тип Назначение
N Целое Количество транзисторов.
num_nodes Целое Количество узлов схемы.
num_entr Целое Количество входных воздействий.
Tr Массив целых Номера транзисторов
Pr - / - / - Параметры, характеризующие геометрию транзисторов (соотношение ширины и длины канала).
Q1 - / - / - Элемент Q2[k] представляет собой номер узла, который является затвором транзистора, соединяющего узлы с номерами Q1[k] и Q3[k].
Q2 - / - / -
Q3 - / - / -
T1 Битовый массив Вектор (T1[k],T2[k]) используется для кодирования типа k-го транзистора. Коды для n-МОП (p-МОП) транзисторов будут (1,1) ((1,0)), а нагрузочный транзистор обозначим через (0,0) или (0,1).
T2 - / - / -
X - / - / - Поле значений сигналов в узлах схемы.
Xold - / - / - Значение X на предыдущей итерации.
S0 - / - / - Поля значений сигналов силы и состояния в узлах схемы, номера узлов которых содержит массив Q1.
S1 - / - / -
R - / - / - Поле значений сигналов состояния затворов транзисторов, номера узлов которых содержит массив Q2.
H - / - / - Поле значений сигналов силы и состояния в узлах схемы, соответствующих массиву Q3.
G - / - / -
F - / - / - Рабочее поле значений преобразованных сигналов.

Все массивы (как целые так и битовые), используемые для приведенных выше структур данных, являются динамическими, и их максимальный размер ограничен только объемом свободной памяти.

Поля X, S0, S1, F, (H,G) состоят из 7 компонент (битовых плоскостей), а поле R - из 3 компонент.

Дополнительные структуры данных, используемые в программе, приведены в табл. 3.2.

Таблица 3.2 - Дополнительные структуры данных
Имя Тип Назначение
FNameMop Строка Имя файла с описанием МОП-схемы на переключательном уровне.
FNameEntr - / - / - Имя файла, содержащего значения входных сигналов.
FNameBegState - / - / - Имя файла, содержащего исходные состояния узлов схемы.
bIns Логическое Тип моделирования: c добавлением нагрузочных транзисторов (bIns =1) для моделирования задержек в работе схемы или без добавления (bIns =0).
bExtOut - / - / - Форма файла отчета: расширенный (bExtOut=1), полный (bExtOut=0), минимальный (bMinOut=1).
bMinOut - / - / -
bAllXOut - / - / - Вывод в файл отчета значений добавленных узлов.
bBegState - / - / - Моделирование с предварительной установкой исходных состояний узлов схемы и без учета входных сигналов.

3.2 Алгоритм моделирования исправных МОП-схем

При введенных в предыдущем разделе обозначениях алгоритм моделирования исправных МОП-схем можно записать в следующем виде:

  1. Если есть входные воздействия, занести их в X, иначе выход. (Обычно входные полюса устройства получают значения D0, D1, а значения внутренних узлов в начале моделировадая - СХ).
  2. Занести значения из X в поле S0 согласно массиву Q1.
  3. Занести значения из X в поля R, (H, G) согласно массивам Q2 и Q3 соответственно.
  4. Вычислить значения F согласно уравнениям из главы 2.
  5. Определить в цикле для каждого узла ero новое значение путем выбора максимального из передаваемых значений множества соседей (вычисленных в поле F) и своего предыдущего значения согласно решетке Хассе [3,4] (рис. 2.1) и занести это значение в S1 и X.
  6. Если S0 равно S1, то записать решение X и перейти к п. 1.
  7. Поменять местами S0 и S1 (программно реализуется взаимной заменой соответствующих адресных указателей) и перейти к п. 3.

3.3 Назначение основных модулей программы

Рисунок 3.1 - Схема взаимодействия основных модулей программы

Рисунок 3.1 - Схема взаимодействия основных модулей программы

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

3.4 Работа с файлами

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

Результаты моделирования записываются в файл отчета, имя которого соответствует имени файла с описанием схемы, но с добавлением расширения ".out". Файл отчета может быть расширенным, полным или минимальным.

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

В приложении В приведены примеры входных и выходных файлов данных для переключательной модели RS-триггера (рис. 3.2).

Рисунок 3.2 - а) Вентильная модель RS-триггера, б) Реализация RS-триггера на МОП-транзисторах

Рисунок 3.2 - а) Вентильная модель RS-триггера, б) Реализация RS-триггера на МОП-транзисторах

3.4.1 Структура входных файлов данных

Структура файла с описанием МОП-схемы:

Q1[1]  Q2[1] Q3[1]   Tr[1]  Pr[1]  T1[1]  T2[1]
Q1[2]  Q2[2] Q3[2]   Tr[2]  Pr[2]  T1[2]  T2[2]
.  .  .  .
Q1[N]  Q2[N] Q3[N]   Tr[N]  Pr[N]  T1[N]  T2[N]

Структура файла с входными сигналами:

num_entr
HG11  HG12 .  .  . HG1num_entr
HG21  HG22 .  .  . HG2num_entr
.  .  .  .
HGM1  HGM2 .  .  . HGMnum_entr
  (здесь М - количество входных наборов сигналов;
    HО (D, W, SC, C),  GО (0, 1, X, Z)).

Структура файла с исходными состояниями узлов схемы:

HG1  HG2  .  .  .  HGnum_nodes

3.4.2 Структура выходных файлов данных

Структура файла отчета (расширенного):

========
 Вход 1
========
-------------------------------------------------------
X  : HGx1   HGx2   .  .  .  HGxnum_nodes
S0 : HGs01  HGs02  .  .  .  HGs0num_nodes
R  : G1     G2     .  .  .  Gnum_nodes
HG : HGhg1  HGhg2  .  .  .  HGhgnum_nodes
F  : HGf1   HGf2   .  .  .  HGfnum_nodes

-------------------------------------------------------
X  : HGx1   HGx2   .  .  .  HGxnum_nodes
S0 : HGs01  HGs02  .  .  .  HGs0num_nodes
R  : G1     G2     .  .  .  Gnum_nodes
HG : HGhg1  HGhg2  .  .  .  HGhgnum_nodes
F  : HGf1   HGf2   .  .  .  HGfnum_nodes
 . . . .

Количество итераций: x

========
 Вход 2
========
 . . . .

Структура файла отчета (полного):

Вход 1
--------

X  : HGx1   HGx2   .  .  .  HGxnum_nodes
X  : HGx1   HGx2   .  .  .  HGxnum_nodes
. . . .

Количество итераций: x

========
 Вход 2
========
 . . . .

Структура файла отчета (минимального):

Вход 1
--------

X  : HGx1   HGx2   .  .  .  HGxnum_nodes

Количество итераций: x

========
 Вход 2
========
 . . . .


Назад  |  Содержание  |  Вперед

© Терещук Д.С., 2001