УДК 621.382
Пилипушко Е.М.
перевод структурного проекта цифровой системы на различные уровни
гсиг оазоаботчики цифровых систем (ЦС) сталкиваются с ситуацией, когда В эпоху р к количество информации анализируемой и обрабатываемой в
необходимо ограничива времени. Сегодня одна СБИС может содержать сотни тысяч каждый конкретный момен ^ ^ важн0 правильно выбрать уровень представления
логических вентилей, поэ шению этой проблемы является работа на соответствующем
подобной системы. Юиочо п^доставляет полную информацию, но избавляет разработчика уровне абстракции, которы ^страктное представление может относиться к одной из двух от необязательных детале . область, в которой компонент описывается как
областей 11]: структурная о*
элементов более примитивного уровня; поведенческая область совокупность взаимосвяза описание компонента по зависимостям вход/выход при
область, предусматривают»! описа
помоши некоторой процедуры.^ типичных уровней абстракции для ЦС: уровень процессоров-Можно представить _ шкр0схемный уровень (НС), регистровый, вентильный, памяти-коммутаторов ( ’ архия абстракций имеет форму усеченной пирамиды, где на
схемный и кремниевыи. а в памяти.КОММугаторов, а в основании кремниевый уровень, вершине уровень процессор увеличение степени детализации, т.е. количество
Расширение пирамиды кни У ^ ПрИ ПредсТавлении СБИС-системы на этом уровне,
деталей, которое должно о ра^ ии ^екта цифровой системы - это декомпозиция или Структурная Форма пность взаимосвязанных “примитивов”, определенных для разбиение проекта на сов рМИруются с использованием примитивов следующего более выбранного уровня, которые дель . эт0 базовая примитивная модель, функционирование
низкого уровня. Поведе"^™0ь процедурой.
которой определено со с дфбой САПР, в основном, начинается с ввода функциональной
Разработка проекта и представляет собой восходящее проектирование, так как
схемы в графическом Реда> нижних уровней иерархии, а затем поэтапно разрабатывается вначале вводятся компоне вЫС0КИХ уровнях иерархии. При таком подходе необходимо
структурная схема на ° вого матричного кристалла на схемном или вентильном уровне в
подготовить библиотеку Затем, используя ее компоненты, создать элементы
выбранном графическом ре;
полной модели, которая представляет собой модель с учетом регистрового УР°»“ *иВописывается следующей системой уравнений:
межэлементных связей и р(У>и)=0, г=Ч,(У,и), (1)
ы внутренних, выходных и входных фазовых переменных элемента, где У^ии-векторь ^ ^овням иерарХИИ) размерность вектора V и порядок
При переходе к становятся чрезмерно большими, поэтому разработанные элементы системы уравненриедс^ить в виде макромодели, в которой исключены вектора внутренних
фазовых переменных: ф(г,и)=0. (2)
ель на более высоких уровнях иерархии используется как элемент Эта макромод цесс созданИя структурой схемы в САПР производится вручную, структуры. Весь эт V _оекта, так как при переходе к более высокому уровню иерархии Назовем его све^ТК°хемы сокращается. В среде РЯОШСТ-САО разработан язык описания число компонентов с позволяет авхоматизировать процесс свертки [2]. Для этого необходимо схем (ЯОС), которь СТруКтуры проекта на ЯОС для любого верхнего уровня иерархии, создать файл описан^ компоненты библиотеки, и с помощью транслятора перевести его в используя °™*же”“Ь автоматической прорисовки в графическом редакторе [3]. Это позволяет командный файл дл пооекта ЦС на любом из верхних уровней иерархии, начиная с
создать структурную схему у
вентильного.
Известия ТРТУ
Тематический выпуск
Однако, при разработке больших проектов, ошибки выявляются уже на самом высоком уровне иерархии, когда создана вся структурная схема или ее блоки. И здесь возникает проблема возврата на более низкие уровни сбойных компонентов или проекта в целом. Но в структурной схеме примитив - это черный ящик с заложенными в нем функциями, а ошибка происходит в каком-то из его компонентов, недоступном на данном уровне описания. Поэтому, чтобы выявить ошибку специалисту приходится вручную заменять данный структурный примитив его функциональной схемой более низкого уровня. И в этом случае, чем выше уровень иерархии исходного примитива (разворачиваемого) и ниже искомого (сбойного), тем больше рутинной ручной работы, связанной с большой затратой времени и с риском внесения ошибок, число которых прямо пропорционально числу логических вентилей (на вентильном уровне их может быть сотни тысяч). Процесс возврата на более низшие уровни иерархии структурного описания назовем разверткой проекта, так как при этом возрастает число элементов в структурной схеме. Его можно представить как переход от макромодели (2) к полной модели (I).
Для этого предлагается автоматическая развертка проекта ЦС в среде РЯСНЕСТ-САО, реализованная программой Макеосв. Она позволяет специалисту, имеющему поведенческое описание примитивов для вентильного уровня и структурное или поведенческое описание более высоких уровней разрабатываемого проекта, выполнить автоматический перевод любого компонента проекта или системы в целом на один уровень вниз вплоть до вентильного.
При запуске программы ей необходимо указать четыре параметра, из которых три последних могут отсутствовать. Например,
C:\PROJECT\Makeocs.exe 1АСН1.ос8 1АСН_ОиТ.осз N=2 ГЧОРМЬ где 1АСН1.ося - имя исходного файла со структурным описанием ЦС,
1АСН_ОиТ.осв - имя получаемого файла с описанием ЦС после свертки на N уровней вниз,
N - число уровней иерархии, для свертки проекта,
МОРМЬ - указывает, что элементы на вентильном уровне не переводятся в
поведенческое описание на языке РМЬ.
После запуска программы, начинается поиск всех необходимых структурных описаний примитивов данного уровня иерархии сначала в текущем файле на языке ЯОС, затем по текущему диску в библиотеке элементов базового матричного кристалла. При этом программа выдает полный список обработанных элементов. Если описание примитива не найдено, то он остается без изменения, а программа сообщает о его отсутствии. Если имя выходного файла отсутствует, то получается файл с именем ОиТРиТ.осв. При отсутствие параметра N свертка происходит только на 1 уровень иерархии вниз. После работы программы проектировщик имеет новый файл описания ЦС на языке ЯОС на более низком уровне иерархии и полный отчет о свернутых примитивах. Если параметр Ж)РМЬ отсутствует, то производится перевод структурного описания на вентильном уровне на описание в виде систем булевых функций.
Таким образом, предложенный метод свертки позволяет автоматизировать ввод проекта ЦС на любом верхнем уровне иерархии, вплоть до вентильного, исключая межэлементные связи в блоках системы и уменьшая объем одновременно обрабатываемой информации. В свою очередь, разработанный метод развертки позволяет перевести проект отлаживаемой ЦС на более низкий уровень иерархии, сохраняя всю структуру и функциональные особенности элементов, и получить спецификацию проекта или любого блока. На последнем этапе своей работы развертка структурного проекта позволяет получить его поведенческое описание в виде системы булевых функций.
Литература
1. Дж.Р.Армстронг Моделирование цифровых систем на языке УНШ
2. Вишняков Ю.М. Инструментарий разработчика СБИС- М- М: МиР>,992г-
радиотехнический институт, Таганрог, 1993г. Монография. Таганрогский
3. Пилипушко Е.М. Технологические особенности проектирования
использованием РЯО,1ЕСТ-САО. Таганрог: ТРТУ “Сбппнт, ™ Цифровых устройств с
1995г. аучиых трудов молодых ученых”,
УДК 53.072.11
Попов Д.И.
Метод поблочного высокоуровневого синтеза цифровых систем
Рассмотрим метод построения структурного представления iwdmon на основании алгоритмического описания. Под алгоритмическим систем или БИС
будем понимать описание модели работы цифрового устройств 0Писанием в Дальнейшем стандартных конструкций: а с использованием шести
1. Множество {Х|, Х2,... Хк} операций и операторов по nDeofin»™
2. Последовательность действий. BEGIN А, В\ END ванию данных;
3. Условие с двумя вариантами действий IF <условие> THEN A ELSE В\
4. Условие с одним вариантом действий IF <условие> THEN А;
5. Цикл с предусловием WHILE <условие> DO А;
6. Цикл с постусловием REPEAT A UNTIL <условие> ;
Блоки А и В могут в свою очередь состоять из таких же станл В дополнение к стандартным конструкциям можно ввести *™ртных конструкций.
1. Выбор варианта двс Дополнительные:
CASE <выражение> OF
1: А/\ 2: А?; п: А„;
OTHERWISE: А;
ENDCASE
2. Безусловный переход GOTO <метка>
Нетрудно видеть, что описанные конструкции ЯВЛЯЮТСЯ VHW аналоги в любом алгоритмическом языке программирования в у ивеРсальными и имеют зрения можно говорить об универсальности алгоритмическогОК°ГО Уровпя‘ С этой точки системы на основании стандартных конструкций. ° Г1Редсташ,ения цифровой
После того как с помощью таких конструкций составлена алг необходимо осуществить операцию выделения условных °Ритмическая модель БИС алгоритмической модели. Под условным состоянием будем п УпРавляк)Щих состояний результате наступления которого необходимо производить какие00”^3^ Такое состояние, в данными. Управляющее состояние соответствует каждому бло ° ПРовеРки наД входными преобразованию данных. В управляющем состоянии при пос °Пе^аци<' №1И операторов по должен вырабатываться сигнал для инициализации необходимых ^°®нии структурной модели пример. Действий. Приведем простой
WHILE ЕоО DO
IF R=1 THEN BEGIN x=min(x+l,16); z=0; END