Часть 9: ИНСТРУМЕНТЫ


plug

9-7: Генерация PLA

plug




Введение в PLA

Генерация PLA - это процесс, в результате которого, через логическое суммирование элементов, объединяется набор входных сигналов для формирования набора выходных сигналов. Например, может быть два вывода: f и g, которые определены следующим образом:

f = (a and b and (not c)) or ((not b) and (not a))

g = (a and c) or ((not a) and (not c))

Это логическая сумма (or) элементов (and), а входные условия могут быть отрицанием (not). Генераторы PLA требуют информацию в форме двух отдельных таблиц: таблицы AND и таблицы OR. Таблица AND расширена, поскольку вход не один (3 в данном случае), а таблица OR расширена, поскольку не один выход (2 в данном случае). Высота таблицы определяется по количеству "элементов - product terms," которое соответствует количеству промежуточных результатов, требуемых для определения логики (4 в данном случае). Таблица AND для уравнений, показанных выше:

a  

b  

c   

1

1

0

a and b and (not c)

0

0

X

(not b) and (not a)

1

X

1

(a and c)

0

X

0

(not a) and (not c)

Заметьте, что "1" там, где входной сигнал в положительной форме, а "0", где есть инверсия, и "X", где состояние входа не определено. Таблица OR для выше приведенных уравнений комбинирует четыре элемента для двух выходов следующим образом:

f  

g   

1

0

f: a and b and (not c)

1

0

f: (not b) and (not a)

0

1

g: (a and c)

0

1

g: (not a) and (not c)

В Electric PLA генератор состоит из двух разных генераторов: MOS генератора и CMOS генератора. Оба используют отдельные таблицы для спецификации того, какое ответвление в программном массиве установлено. Оба элемента в спецификации иерархического массива сделаны таблицами AND, таблицами OR,  драйверами и всеми необходимыми соединениями питания и общего провода.

Генератор nMOS PLA

Генератор nMOS производит схему в технологии "nmos". Генератор PLA - запускается субкомандой Make nMOS PLA команды PLA Generator меню Tools. Вам будет предложено задать имя файла, описывающего PLA.

Ниже есть простой файл, определяющий вышеприведенную логику, как nMOS PLA (этот файл может быть найден в субдиректории PLA директории examples). Заметьте, что после точки с запятой могут добавляться  комментарии. Количество входов, выходов и элементов должно предоставляться так, чтобы массив значений между "begin" и "end" мог правильно анализироваться. Другие параметры - дополнительные. Это ширина питающего и земляного соединения (по умолчанию 4 лямбда); будут ли использоваться краевые контакты или внутренние (по умолчанию используются краевые контакты); будут ли выходы на той же стороне, что и входы (по умолчанию они на противоположных сторонах); какие контакты помещаются на дугах в PLA (по умолчанию это nonrigid fixed-angle); и имя для вновь созданного PLA фасета (по умолчанию это "nmosXXX" где "XXX" размер PLA).

set inputs = 3                  ; sum of input and output is
set outputs = 2                 ;   number of columns
set pterms = 4                  ; 4 product terms (number of rows)
set vddwidth = 6                ; 6 lambda-wide supply rails
set groundwidth = 6
set buttingcontact = off        ; use buried contacts instead
set samesideoutput = on         ; outputs on same side as inputs
set flexible = on               ; use nonrigid arcs
set fixedangle = on             ; use fixed-angle arcs
set name = Sample               ; name to use for top-level facet
begin ;  Input     Output
    ;   1  2  3     1  2
        1  1  0     1  0    ; product term 1
        0  0  X     1  0    ; product term 2
        1  X  1     0  1    ; product term 3
        0  X  0     0  1    ; product term 4
end

Генератор CMOS PLA

Генератор CMOS PLA несколько более гибкий, чем версия nMOS, поскольку он читает библиотеку поддержки фасет и использует при производстве массива. Это означает, что он может поддерживать любые технологии (хотя библиотека, установленная с Electric, предназначена только для MOSIS CMOS технологии). Тем, кто намерен создать свою собственную библиотеку в другой технологии, следует иметь в виду, что она должна содержать фасеты "decoder_inv1", "io-inv-4", "nmos_one", "pmos_one" и "pullups". Посмотрите библиотеку  "pla_mocmos" (в директории lib), чтобы получить больше информации.

Генератор CMOS PLA запускается субкомандой Make MOSIS CMOS PLA команды PLA Generator меню Tools. Вам будет предложено два файла: файл таблицы AND и файл таблицы OR. Эти файлы много проще по формату, чем входной файл nMOS PLA. Они имеют только два числа на первой строке, определяющие размер массива, и значения массива на последующих строках. Оба файла AND и OR похожи. Файл примера можно найти в PLA поддиректории директории examples. Вот файл AND для вышеприведенной логики:

    4    3
    1    1    0
    0    0    X
    1    X    1
    0    X    0

Prev

Предыдущий

   

Contents

Содержание

   

Следующий

Next