ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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