Victor Varshavsky and Vyacheslav Marakhovsky
Обсуждается задача организации временного поведения цифровых систем. Эта задача связана, в основном, с обеспечением интерфейса между физическим (естественным) и логическим (искусственным) временем. Наиболее общий метод связи по интерфейсу базируется на системных часах, которые удаляют физическое время из поведения модели. Ряд алгоритмов, которые могут быть легко сформулированы в логическом времени, представляет большую трудность в случае асинхронности. Предлагаемая методология проекта GALA (Globally Asynchronous – Locally Arbitrary) базируется на декомпозиции системы в уровень процессоров и уровень синхронизации. Синхроуровень действует как распределенные асинхронные часы, производящие локальные синхросигналы для процессорного уровня, который является, в основном, синхронным прототипом. Синхроуровень, как и любая асинхронная схема, взаимодействует с внешними устройствами, включая процессорный уровень, с помощью квитирования. Каждое локальное устройство производит сигнал подтверждения и посылает его на синхроуровень. Проектировщик может использовать широкий набор методов релизации этого сигнала (Locally Arbitrary) – от самосинхронной разработки до встроенной параллельной задержки. Для различных дисциплин синхронизации прототипа предложены соответствующие реализации синхроуровня. Методология GALA иллюстрируется несколькими примерами разработки, такими как счетчик с постоянным временем срабатывания, канал FIFO «один-два-один», безарбитражная архитектура процессора с противотоком.