Файл: Ландау И.Я. Применение ЦВМ для проектирования ЦВМ.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.06.2024

Просмотров: 63

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

нацией между программами решения отдельных задач проектирования, т. е. архив является скелетом АС'П, связывающим эти программы в единую систему. Блоксхема такой системы показана на рис. 1-4. В этой систе­ ме машина используется главным образом для решения задач конструкторского проектирования; разработка конструкции, элементной базы и основные работы логи­ ческого проектирования выполняются человеком.

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

Объем данной книги не позволяет подробно рассмот­ реть алгоритмы и программы решения всех задач проек­ тирования ЦВМ; это привело к различной детальности изложения отдельных вопросов: моделирование на ЦВМ работы логических схем рассмотрено значительно под­ робнее, чем задачи автоматизации конструкторского проектирования. Это сделано потому, что алгоритмы и и программы решения задач конструкторского проекти­ рования не универсальны; они (в отличие от моделиро­ вания) сильно зависят от конструктивно-элементной базы проектируемого устройства. Большое разнообразие конструкций ЦВМ породило большое количество раз­ личных алгоритмов решения этих задач; попытка изложения всех алгоритмов превратила бы книгу в обзор, причем сложность таких задач, как, например, проекти­ рование печатного монтажа, все равно не позволила бы детально рассмотреть соответствующие программы. Бо­

лее подробные

описания программ конструкторского

проектирования

можно найти в цитированной литера­

туре.

 

Г л а в а в т о р а я

 

ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ

2-1. МОДЕЛИРОВАНИЕ РАБОТЫ ЦИФРОВЫХ УСТРОЙСТВ

При рассмотрении выполняемых в процессе проекти­ рования ЦВМ работ мы говорили, что разработчики со­ временных ЦВМ практически не имеют возможности строить предварительно макет машины; нельзя также слишком затягивать доводку первых образцов. Следова­ тельно, логика машины должна быть безошибочна. Но сделать это на бумаге почти невозможно, ибо человеку

20


свойственно ошибаться. Для устранения ошибок разра­ ботчиков используется моделирование работы логиче­ ских схем на ЦВМ. С помощью моделирования можно контролировать правильность схем, сравнивать различ­ ные варианты структурных решений устройства, отраба­ тывать систему команд, составлять тесты. Таким обра­ зом, моделирование является универсальным инструмен­ том разработчика на этапе логического проектирования. В данной главе мы рассмотрим применение моделирова­ ния для решения различных задач логического проекти­ рования и существующие методы построения моделиру­ ющих программ.

Изложим вначале основные -принципы моделирова­ ния работы цифровых устройств. Логическая схема лю­ бого узла ЦВМ состоит из запоминающих элементов (триггеров), комбинационных схем (осуществляющих преобразование информации) и, в некоторых случаях, элементов задержки (линии задержки). Таким образом, логическую схему можно описать системой булевых урав­ нений

Ri = fi(Ai, Аг, ■• ■, Ak, Ri, Rz, ■■., Rn) (£= 1, 2 , . . . , n),

(2-'l)

где Ri — значение выходного сигнала i-го элемента

схе­

мы1, Aj — значение входного сигнала схемы и f i — логи­ ческая функция, реализуемая г-м элементом.

Линию задержки (ЛЗ) можно рассматривать как /г-мер- ный двоичный вектор L/ = {pi, l2, ..., /"}, где (3* — зна­

чение входного, а 1п— выходного сигналов ЛЗ в момент

г

задержки, а /' ,

времени £; определяет длительность

I2, .... /”- 1 — значения входных сигналов

линии задержки

в моменты t — 1,£ — 2,...,£— ( п — 1) соответственно. Зная состояние каждого элемента схемы (т. е. значе­

ние его выходного сигнала) в некоторый момент време­ ни и значения входных сигналов, можно вычислить но­ вое состояние любого элемента; определив таким обра­ зом новое состояние каждого элемента, получим новое состояние схемы.. Повторяя расчет до тех пор, пока ‘со­ стояние каждого элемента не перестанет изменяться, получим новое устойчивое состояние схемы, отвечающее заданным значениям входных сигналов (если оно су­

1 Для удобства изложения в дальнейшем R { будем -использовать для обозначения не только выходного сигнала элемента i, но и этого элемента

21


ществует). Этот итерационный процесс и есть модели­ рование работы логической схемы: зная начальное со­ стояние схемы и последовательность значений входных сигналов (временную диаграмму входа), можно опреде­ лить состояние схемы в любой момент времени, решая систему уравнений (2-1) вновь после каждого измене­ ния значений входных сигналов. При этом выходные сигналы линий задержки обычно рассматриваются как подмножество множества входных сигналов схемы.

Уравнения (2-1) не учитывают времени срабатыва­ ния элементов и задержки распространения сигналов, тогда как в реальных схемах все элементы имеют ко­ нечные (и притом разные) времена срабатывания. Та­ ким образом, состояние элемента Ri в момент t равно значению fi(Au А2, ..., Ak, Ru R2y ..., Rn) в момент t—т, где т —-время срабатывания элемента. Учесть все ха­ рактеристики реальных элементов при моделировании практически невозможно, ибо это привело бы к слиш­ ком большим затратам машинного времени и чрезвы­ чайно усложнило описание схемы. Более того, этого и не следует делать, поскольку работа устройства не дол­ жна нарушаться при замене элементов, т. е. при из­ менении (в некоторых пределах) времен срабатывания элементов.

Можно показать, что результаты моделирования совпадают с результатами работы реальной схемы, если в ней выполняются некоторые условия. Для удобства дальнейшего изложения введем понятия такта схемы и ранга1 элемента.

Назовем входные сигналы схемы и выхочиые сигна­ лы линий задержки элементами ранга 0. Будем гово­ рить, что элемент имеет ранг п > 0, если он не является элементом ранга ниже п, а его состояние определяется выходными сигналами элементов ранга ниже п. Назо­ вем схему ранжируемой, если каждый ее элемент имеет ранг.

Тактом схемы Тс будем называть время установле­ ния самой длинной цепочки последовательно соединен­ ных элементов:

Гс= тах (7’), Т2, ..., Тр),*

* Вводимое здесь понятие ранга относится к порядку -срабаты­ вания элементов в логической е>-°мо. F.ro не следует путать с поня­ тием конструктивного ранга (гл, I, з 4),

22

i1

 

 

 

 

Г-де T j = £

Ti — время срабатывания элемента

Ri, г И

l=r

 

 

элементов

в цепоч­

s — наименьший и наибольший ранги

ке /.

Значения входных сигналов схемы не дол­

Условие 1.

жны меняться

внутри

такта схемы.

Иными словами,

должно быть

Т с ^ Т ,

где Т — наибольшая общая мера

длительности входных сигналов и линий задержки.

Условие 2.

Внутри любого такта схемы значения всех

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

Смысл условия 1 очевиден: входные сигналы не долны изменяться, пока схема не установится — в. против­ ном случае состояние некоторых элементов может ока­ заться неопределенным. В синхронных схемах выпол­ нение этого условия обеспечивается синхронизацией от тактового генератора, в асинхронных для этого необхо­ димо предпринимать специальные меры. Смысл условия

2будет выяснен ниже.

Вописанном выше методе моделирования для вы­ числения новых состояний элементов на каждой итера­ ции используется формула

Я'+1= М Л ,.4 , A ,

/?')(/ = 1,2 п ) ,

( 2- 2)

где t — номер итерации. Таким образом, каждая итера­ ция отвечает срабатыванию очередной группы элемен­ тов, т. е. соответствует времени т в реальной схеме. Если в схеме выполняется условие 1, то счет по формуле (2-2) полностью соответствует процессу установления схемы, и если схема не содержит генераторов, итерации всегда сходятся.

Однако этот метод требует много машинного време­ ни, поскольку число итераций равно числу 'последова­ тельно соединенных элементов в самой длинной цепоч­ ке. Для ускорения счета можно воспользоваться мето-

23


дом Зейделя:

(2-3)

при вычислении нового состояния элемента Ri на каж­ дой итерации используются уже вычисленные на этой итерации состояния элементов R it R2, .... Ri-1 . Нетрудно

видеть, что количество итераций тут может оказаться гораздо меньше, чем в методе простой итерации; если

Рис. 2-1.

схема ранжируема и формулы (2-3) расположены в по­ рядке возрастания рангов элементов, то установившееся состояние схемы будет получено в одну итерацию.

При использовании метода Зейделя уже нет столь простого соответствия между работой модели и процес­ сом установления в , реальной схеме, как при простой итерации, однако это не страшно, поскольку при моде­ лировании обычно интересны только установившиеся состояния схемы, а не сам процесс установления. Хуже то, что результаты моделирования могут зависеть от по­ рядка нумерации формул (2-3) (будем называть его в дальнейшем порядком обхода схемы); то, что это весь­ ма существенно, видно уже на примере простейшей схе­ мы (рис. 2-1), состоящей из триггера Ri и комбинацион­ ной схемы Ri. Схема рис. 2-1 описывается следующими уравнениями:

А =

А V (А Л А);

(2-4)

R2 =

А2 / \ А3.

 

24

Пусть начальное состояние схемы будет R i = l ,

R2=0 ,

и значения входных сигналов Л( = 0, А2= А 3 = 1.

Легко

убедиться, что при счете методом простой итерации по­ лучим новое состояние схемы Ri = 0, R2= \ , тогда как при счете методом Зейделя новое состояние Ri будет зависеть от порядка обхода. При указанном в (2-4) порядке обхода получим новое состояние /?i = 0, а при порядке обхода R2, R 1 получим R i = \ .

Можно показать, что результаты моделирования по методу Зейделя совпадают с результатами работы ре­ альной схемы, если в ней выполняется условие 2. Ин­ туитивно это ясно: поскольку логические операции монотонны, то порядок изменения значений входных сигна­ лов любого элемента несуществен, если все они меняют­ ся в одном направлении. Однако строгое доказательст­ во этого утверждения довольно громоздко (с ним мож­ но ознакомиться в [Л. 2]); там же показано, что схема, в которой выполняется условие 2, свободна от риска и критических гонок*.

Заметим, что изображенная на рис. 2-1 схема непра­ вильно спроектирована — в ней возможны критические гонки и состояние соответствующей реальной схемы бу­ дет зависеть от фронтов сигналов А\, Аъ А3, R2 и времен срабатывания элементов Ri и R2. Поскольку в реальной схеме времена срабатывания элементов точно неизвест­ ны (и могут меняться во время эксплуатации — от заме­ ны элементов, их старения и т. д.), для обеспечения на­ дежности желательно выполнение условия 2. Провер­ ка этого может быть произведена при моделировании схемы.

Мы не доказали здесь сходимости итерационного процесса и единственности получаемого при моделиро­

вании

решения. Кроме

того, мы

не рассматривали не-1

1 Гонками называется ситуация, возникающая в многотактной

схеме,

когда одновременно

изменяются

состояния двух или более

ее элементов. Из-за различия времен срабатывания и задержек рас­ пространения сигналов одни элементы могут сработать раньше других. Элемент, сработавший первым, может изменить входные сигналы еще не сработавшего запоминающего элемента, что может привести к нарушению работы схемы. В этом случае гонки назы­ ваются критическими. Проблема риска возникает в том случае, когда среди входных сигналов запоминающего элемента R имеются неко­ торая переменная X и ее отрицание X. При изменении ее значения X и X могут (из-за различия времени срабатывания элементов) какоето время иметь одинаковые значения, что в свою очередь может вызвать неверное срабатывание R.

25