автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Программная имитация многопроцессорных схем, входящих в состав цифровых устройств
Оглавление автор диссертации — кандидата технических наук Иванов, Андрей Геннадьевич
Введение.
Глава 1. Состояние вопроса и постановка задачи.
1. Введение.
2. Требования к имитатору.
3. Существующие подходы.
3.1. Программный комплекс для процессора «Самсон».
3.2. Разработки ассоциации «Эльбрус МЦСТ».
3.3. Программный комплекс «Моделирование микропроцессорной среды».
3.4. Система Fusion/V CSi.
3.5. Пакет инструментальных комплексов сквозного совместного проектирования программного и аппаратного обеспечения встроенных мультипроцессорных систем
3.6. Система POLIS.
3.7. Разработки фирмы Mentor Graphics.
4. Выбор среды разработки.
4.1. Выбор операционной системы.
4.2. Выбор языков программирования.
5. Выводы по главе 1.
Глава 2. Математическое описание моделируемой схемы.
1. Состояние моделируемой схемы.
1.1. Модельное время, время симуляции.
1.2. Объекты как компоненты состояния.
1.3. Состояние схемы, сохранение состояния.
1.4. Последовательность состояний, обратная трассировка.
1.5. Некоторые моделируемые устройства.
1.6. Инициализация модели.
2. Моделирование работы.
2.1. Моделирование взаимодействия схем.
3. Выводы по главе 2.
Глава 3. Практическая реализация программного имитатора.
1. Общая структура имитатора.
2. Реализация взаимодействия устройств.
3. Файл описания схемы.
4. Реализация некоторых моделируемых устройств.
4.1. Объект «память».
4.2. Объект «шина».
4.3. Объект «Контроллер DMA».
4.4. Объект «Таймер».
4.5. Объекты, моделирующие процессоры.
5. Процедура Ticker.
6. Оптимизация имитатора.
7. Двойственный интерфейс объектов.
8. Оптимизация моделирования состояний простоя.
9. Отладочные механизмы.
10. Специальные объекты-шпионы.
11. Отладочный монитор.
12. Ассемблер и отладочная информация.
13. Внедрение Тикль-скриптов в исходный код.
14. Собираемая статистическая информация.
15. Выводы по главе 3.
Глава 4. Задачи и проблемы, возникшие при использовании имитатора, их решения.
1. Моделирование окружения схемы.
2. Интеграция имитатора с другим программным обеспечением.
3. Использование сетевого драйвера Linux.
4. Проблема запуска нескольких схем.
Введение 2002 год, диссертация по информатике, вычислительной технике и управлению, Иванов, Андрей Геннадьевич
Необходимость оперативной разработки программного обеспечения возникла с первых дней существования ЭВМ. В наши дни это одна из важнейших задач, стоящая перед разработчиками цифровых устройств.
Впервые идея компьютера была предложена Чарльзом Бэбиджем (Charles Babage) в середине девятнадцатого века, однако, его механическая «аналитическая машина» так и не была реализована из-за несовершенства технологий точной механики того времени.
В середине сороковых годов двадцатого века были созданы первые ламповые вычислительные устройства. Одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании. Это была скорее научно-исследовательская работа в области вычислительной техники, а не практическое использование компьютеров.
С середины пятидесятых годов появилась полупроводниковая технология, позволившая увеличить количество логических элементов в единице объема. Быстродействие, мощность и отказоустойчивость компьютеров возросли, стало возможным их использование для решения задач, имеющих важное практическое значение.
В шестидесятые годы был сделан переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам, стал открытым путь к появлению следующего поколения компьютеров. Большие функциональные возможности интегральных схем сделали возможным реализацию на практике сложных компьютерных архитектур, таких, например, как IBM/360.
Как и сейчас, методика разработки микросхем в те времена подразделялась на те же самые этапы: концептуальная проработка, проектирование логических элементов и интегральных схем, аттестация, разработка компоновочной схемы и маски, изготовление кремниевой подложки (технологический процесс), отладка и тестирование [1-4].
Разработка логических элементов и интегральных схем изначально велась на уровне логических элементов. Затем пришло проектирование на уровне транзисторов, обеспечивающее максимальную эффективность их применения при минимальных размерах интегральных схем. Повторяющиеся функции присваивались отдельным ячейкам, но оптимизация ячеек все же проходила на уровне транзисторов.
В 1974 году была создана стационарная система моделирования схем под названием SPULS, которая стала чуть ли не единственным инструментальным средством разработки.
В 1970-х годах, когда просчитывались схемы микропроцессоров 8085 и 8086, размеры интегральных схем, с которыми справлялись ЭВМ того времени, были столь малы, что моделирование схем целиком (или всех путей в них) было невозможно. Схема разбивалась на составные части из 5-20 транзисторов и эти части по отдельности обсчитывались. Затем, основываясь лишь на интуитивном понимании подсистемы в целом, инженеры вручную собирали вместе полученные результаты,.
Ограничения на размеры схем накладывали и такие вычислительные ресурсы, как, например, память. Немаловажную роль играли и регулярные выходы ЭВМ из строя, что случалось примерно каждые 15 минут. Сбой в работе ЭВМ приводил к потере результатов всего цикла.
Не существовало и никаких компьютерных средств для удаления паразитных емкостей из топологии кристалла, поэтому точность обсчета тактовых частот в огромной степени зависела от способности инженера-проектировщика интуитивно рассчитывать расстояния и маршрутизацию связей между элементами интегральной схемы. Логические схемы чипов 8085 и 8086, как и других микропроцессоров и контроллеров того времени, по большей части состояли из простейших п-канальных элементов логики, загружаемых в обедненном режиме.
Создание макетов до завершения обсчета всех параметров изделия было чрезвычайно сложным делом, а серийно выпускаемые компоненты не могли воспроизвести всех функций новой микросхемы. Основная ценность макетирования заключалась, главным образом, в возможности отладки уже реализованных проектов, проверки функциональных качеств устройства, готового к воплощению в кремнии, и изучения факторов, которые трудно учесть на этапе моделирования.
Макетирование являлось рациональным способом до тех пор, пока количество транзисторов в устройстве не превышало нескольких десятков тысяч. В дальнейшем же макеты стали чересчур крупногабаритными и сложными, чтобы справляться с быстродействием реальной кремниевой продукции
В наши дни макетирование переродилось в эмуляцию, широко используемую для проверки работоспособности чипов, насчитывающих миллионы транзисторов. Разница заключается в том, что функции чипа реализуются программным эмулятором, а не имитируются с помощью дискретных логических элементов, запаянных или прикрепленных проводами к макету.
В те времена не существовало никаких компьютерных средств проверки проектных норм или контроля за размещением логических элементов и монтажных соединений. Физическую компоновку выполняли высококвалифицированные специалисты по проектированию масок, которые вычерчивали карандашами линии на огромных листах лавсановой пленки с нанесенной на нее миллиметровой сеткой
По мере роста мощности и сложности ЭВМ, подобные подходы к проектированию и разработке цифровых устройств становились неприемлемыми. В настоящее время, когда на одном кристалле содержатся миллионы и миллиарды логических элементов, принципиальные схемы связи между логическими элементами отражают лишь разводку внутри кристалла, но не могут быть использованы для функционального проектирования. Стало невозможно проектировать столь сложные устройства на уровне принципиальных схем. Требовался новый подход к решению этой задачи.
Разработчики аппаратного обеспечения перешли к использованию языков описания технических средств (Hardware Description Languages). Эти языки позволяют описывать различные цифровые устройства.
Цифровыми устройствами являются: электронные часы, микропроцессор, настольный компьютер и многое другое.
Языки описания технических средств - Hardware Description Languages I/ (HDL) позволяют разработчикам создавать иерархические структуры, реализовывать разнообразные функции, выполнять сложные арифметические операции и логику сравнения. Несколько строк кода языка описания технических средств могут заменить много строк логических формул или целый конечный автомат. Язык позволяет также локализовать ошибки, осуществлять верификацию временных задержек.
Существует множество комплексов для разработки цифровых устройств на базе различных языков описания технических средств (например, [5, 6]), позволяющие проводить проектирование, верификацию и синтез аппаратных архитектур. Подобные комплексы включают в себя как базы данных разнообразных элементов схем, так и широкий набор прикладных программных средств.
В настоящее время широкое распространение получили языки VHDL и Verilog [7, 8].
VHDL — язык описания технических средств сверхскоростных интегральных схем, одной из важных особенностей которого является возможность работы с произвольными типами данных. Это позволяет разработчику вначале создавать абстрактное описание функций, а затем, по мере разработки проекта, осуществлять его детализацию. Так, язык УНБЬ дает возможность разработчику, начав с технического задания, архитектуры системы, описать ее на всех этапах - от общей концепции до интегральных схем. Проект такой системы представляется группой устройств, соединяемых друг с другом при помощи шин и трактов передачи сигналов. Затем, на подсистемном уровне, язык УНБЬ позволяет описывать операции, алгоритмы, команды, выполняемые логические преобразования. На следующем этапе, благодаря рассматриваемому языку, осуществляется разработка регистров и интегральных схем.
Создаваемый объект представляется конечным автоматом, и полученная модель описывается на языке УНБЬ. Она включает разбиение логического преобразователя автомата на компоненты, определение их функций, включая процессы контроля ошибок, определения величин задержек. Входы и выходы объекта становятся портами УЬЮЬ. Язык УНЕ)Ь предоставляет удобный интерфейс пользователя, методологию ведения процесса разработки с возможностью анализа по принципу "что - если". Для выполнения работ создаются специальные Базы Данных (БД).
В комплексы разработки, использующие язык УНОЬ, различные производители включают широкий набор прикладных программ, обеспечивающий:
• моделирование и отладку;
• средства разбиения объектов на компоненты;
• синтез, анализ;
• проведение расчетов;
• исследование поведения создаваемого объекта;
• статистический анализ функционирования;
• качественные оценки конфликтных ситуаций при обращении к ресурсам;
• определение перечня команд;
• разработка временных диаграмм функционирования;
• средства отладки и тестирования.
Программные комплексы создаются на основе компилятора VHDL непосредственно, без промежуточной трансляции и использования других языков. Параллельная обработка данных позволяет с большой скоростью выполнять сложные прикладные процессы. С этой целью используются параллельные компиляторы. Они разбивают программное обеспечение, подготовленное на языке VHDL, на секции и определяют, какие из них могут выполняться одновременно. Благодаря этому, значительно сокращается время компиляции.
Язык VHDL стал универсальным языком моделирования и разработки, обеспечивающим анализ синтезируемого объекта, управление получаемыми параметрами и характеристиками. Он определяется стандартом ITU-T.
Verilog предоставляет разработчику широкий спектр уровней абстрагирования для описания цифровых устройств. В то же время имеется богатый набор вспомогательных программных средств, помогающих в разработке. Разработчик описывает аппаратные средства (например, микропроцессор) через поведения отдельных элементов; он может оперировать такими понятиями, как биты и байты, переменные и операции над ними, логические и арифметические выражения. При этом детали аппаратной реализации откладываются на дальнейшие этапы. Можно провести аналогию с программированием на языке высокого уровня -программист избавляется от необходимости рутинного программирования на ассемблере. Он может сосредоточиться на функциональной стороне продукта, оставляя проблемы перевода в машинные коды компилятору.
С помощью специальных программных пакетов описание архитектуры как бы компилируется до уровня логических элементов и связей между ними. После этого функционирование всего устройства может быть программно промоделировано. Для этих целей используются специальные программы-имитаторы. Эти программы моделируют функционирование и взаимодействие логических элементов, позволяя изучать работу устройства и находить возможные ошибки.
Такой абстрактный подход позволяет разработчику перебирать различные варианты архитектур и испытывать их с помощью этапа имитации, находя узкие места данной реализации и исправляя их. При этом не требуется физического создания устройства.
Специальные программные пакеты позволяют провести дальнейшее преобразование, как бы скомпилировать еще раз, до уровня масок для сверхбольших интегральных схем (СБИС). На основе этой информации конечное устройство может быть изготовлено на заводе через несколько недель.
В то же самое время Уеп1о§ позволяет проектировать и на низших уровнях - на уровне защелок и на уровне транзисторов.
Описав устройство на языке описания архитектуры, используя программу-имитатор, разработчик имеет возможность протестировать и отладить проектируемое устройство, исправить возможные ошибки и изучить производительность данной реализации. И только после этого устройство будет физически создано на заводе.
Несмотря на множество положительных сторон данного подхода, использование языка описания архитектуры не позволяет решить все стоящие перед разработчиками задачи. Одной из них является своевременное создание программной поддержки для разрабатываемых устройств, особенно в тех случаях, когда устройство может быть выпущено на рынок только с готовым встроенным программным обеспечением. Например, различные компьютерные адаптеры, сетевые устройства, большинство бытовых приборов, радиотелефоны содержат в себе один или несколько процессоров, которые исполняют прошитую на заводе-изготовителе программу. Очевидно, что выпуск на рынок какого-либо устройства, например, сотового радиотелефона, может быть осуществлен только тогда, когда необходимое программное обеспечение будет создано, отлажено и записано в это устройство.
В наше время динамического развития рынка высоких технологий и в условиях жесткой конкуренции на нем фирмы-изготовители вынуждены максимально сокращать время между началом разработки продукта и его выпуском на рынок, чтобы он не потерял свою актуальность.
Одним из путей сокращения времени создания продукта является одновременная разработка аппаратной и программной составляющих. Для этого требуются средства, позволяющие отлаживать и тестировать программную часть в условиях отсутствия целевой аппаратуры.
Очевидным решением выглядит использование упомянутого имитатора. Однако, имитатор, используемый разработчиками аппаратной части для моделирования проектируемого устройства, не может быть использован по ряду причин.
Во-первых, он не приспособлен для отладки программных продуктов, а изучать работу программы на уровне логических сигналов трудоемко. Это требует больших затрат времени и очень высокой квалификации персонала как в области программирования, так и в области проектирования цифровых устройств.
Во-вторых, скорость работы таких имитаторов на много порядков ниже, чем у реального устройства. Это связано с тем, что в них моделируется взаимодействие логических элементов, количество которых может достигать миллионов и миллиардов. Столь низкая скорость приводит к тому, что моделирование нескольких итераций программы на таком имитаторе может занять дни и недели, а для полноценного тестирования требуются сотни и тысячи итераций.
Еще одним направлением развития цифровых устройств является создание многопроцессорных вычислительных систем на микропроцессорах. Стимулом к развитию многопроцессорных архитектур послужили появление и быстрый рост возможностей микропроцессоров, а также принципиальная ограниченность возможности повышения эффективности вычислительных систем только за счет совершенствования элементной базы.
Такие достоинства микропроцессоров, как высокая надежность, низкая стоимость, малые габариты, масса, малая потребляемая мощность, возможность использования в качестве встроенных программируемых блоков управления в любом оборудовании [9,10], быстро породили идеи о создании высокопроизводительных вычислительных систем на базе микропроцессоров.
Эти системы крайне полезны, поскольку позволяют существенно снизить сложность, громоздкость и стоимость оборудования. В этих системах предполагалось достичь высокой эффективности за счет использования большого числа параллельно работающих микропроцессоров. Первые проекты таких универсальных вычислителей не оправдали возлагавшихся на них надежд, и дальнейшее их развитие пошло по пути специализации [11, 12]. Специализированные системы быстро нашли применение в области автоматизации обработки и управления сложными техническими объектами [13, 14] . Появилось большое количество проектов и экспериментальных разработок высокопроизводительных вычислительных систем с сотнями и даже тысячами процессоров [15, 16,17, 18].
Несмотря на большую потребность в таких системах при автоматизации научных экспериментов, управлении сложными техническими объектами, в экспериментах с параллельными алгоритмами и программами, их развитие и практическое освоение идет медленно, в основном, эмпирически, путем проб и ошибок, через построение макетов, опытных образцов и т.п. Построение образца, пусть даже опытного, — процесс длительный и дорогостоящий. Он включает в себя разработку и создание не только аппаратуры, но и значительной части, причем весьма сложной, программного обеспечения. Так, например, разработка и создание 64-процессорного прототипа системы Cosmic cube [17] заняла семь лет и потребовала более двух миллионов долларов [19].
Итак, возникает задача создания имитатора, позволяющего моделировать проектируемое цифровое устройство. К этому имитатору предъявляется ряд требований. Так, скорость моделирования должна позволять проводить полноценную отладку и тестирование устройства. Поскольку имитатор будет использоваться для отладки программ, он должен быть полнофункциональным отладчиком. Также имитатор должен быть легко конфигурируем, что позволит оперативно вносить изменения в разрабатываемую архитектуру.
Еще одним требованием является возможность оперативного внесения изменений в архитектуру устройства. Это позволит перебирать различные варианты архитектур и оценивать их производительность.
Также имитатор должен иметь возможность моделирования многопроцессорных схем, позволяя отлаживать межпроцессорное взаимодействие.
В то же время от обсуждаемого имитатора не требуется моделирования на таком низком уровне, как уровень вентилей или транзисторов. Напротив, требуется лишь функциональное моделирование, нет смысла дублировать возможности HLD-имитатора по низкоуровневой отладке аппаратного обеспечения.
Итак, основными задачами данного диссертационного исследования являются:
• исследование методов имитации аппаратного обеспечения в целях верификации и отладки программных средств на стадии разработки аппаратной составляющей
• разработка алгоритмов функционирования высокопроизводительных имитаторов, не требующих наличия специальной аппаратуры
• выработка принципов для практического создания подобных программных имитаторов
Научная новизна работы заключается в следующем:
• В диссертационной работе разработан объектный подход к моделированию комплексных схем, позволяющий сочетать гибкость конфигурации, корректность и эффективность моделирования.
• Разработана математическая модель имитатора моделей, состоящих из набора экземпляров некоторых устройств
• Разработан алгоритм работы подобных имитаторов
• Разработан подход к созданию класса программ—имитаторов, позволяющих вести отладку и тестирование программ, предназначенных для работы на процессорах в составе комплексных схем, в тех случаях, когда разработка аппаратной части еще не завершена.
• Спроектирован и реализован многофункциональный программный комплекс для моделирования класса комплексных схем, используемых при создании специализированных высокоскоростных сетевых устройств.
Практическая ценность работы заключается в разработке программных средств, позволяющих вести отладку программного обеспечения для схем, находящихся в стадии проектирования. Созданный комплекс решает задачу отладки и тестирования программного обеспечения для проектируемого оборудования.
Работа была использована при разработке программного обеспечения сетевого устройства, проведенной в ООО «Октет». Результаты диссертационного исследования позволили завершить процесс разработки программных прошивок до того момента, когда устройства было изготовлено на заводе. После физического создания устройства прогон созданного программного обеспечения не выявил ошибок, что говорит о высокой степени адекватности модели.
По теме диссертационного исследования опубликовано две печатных работы.
Работа состоит из введения, четырех глав и приложения.
Во введении обосновывается актуальность темы диссертации, рассматривается проблема разработки программного обеспечения на стадии проектирования соответствующей аппаратной составляющей устройства. Кратко характеризуются достижения в области проектирования, тестирования и моделирования аппаратных устройств; дается обзор работы по главам.
В первой главе дается постановка задачи, определяется круг решаемых задач, и приводятся требования к конечному продукту. Приводится обзор литературы. Особое внимание уделено практическим разработкам в исследуемой области, как завершенным, так и находящимся на стадии исследования.
Во второй главе рассматривается процесс моделирования схемы, изучается математическая модель, как отдельных устройств, так и целой схемы, исследуются возникающие проблемы и их возможные решения. В частности, рассматривается взаимодействие нескольких схем, работающих на разных имитаторах, изучаются вопросы их взаимодействия и синхронизации.
15
В третьей главе дается описание разработанного программного комплекса. Рассматриваются технические детали реализации, описываются принципы работы имитатора, взаимодействия устройств и настройка имитатора на моделирование конкретных схем. В этой главе также описаны некоторые решения, позволившие увеличить скорость работы программного комплекса.
В четвертой главе рассматриваются проблемы и трудности, возникшие при использовании имитатора, раскрываются их решения.
В приложении приведены исходные тексты нескольких модулей имитатора.
Заключение диссертация на тему "Программная имитация многопроцессорных схем, входящих в состав цифровых устройств"
Общие выводы по работе
Основными результатами данной диссертационной работы являются:
• Проведение исследования существующих подходов к имитации аппаратных средств в целях верификации программного обеспечения. Также исследованы разработки по вопросам кодизайна (co-design), т.е. разработки программно-аппаратных комплексов встроенных контроллеров (embedded controllers) как единой модели. Особое внимание уделено практическим разработкам в исследуемой области.
• Создание математической модели имитатора комплексных схем, состоящих из множества экземпляров некоторых устройств, работающих с разными тактовыми частотами.
• Разработка алгоритмов и подходов к созданию класса программных расширяемых и масштабируемых имитаторов для комплексных схем. Особое внимание было уделено вопросам масштабируемости схемы и возможности внедрения новых устройств.
• Практическая реализация подобного имитатора на языках Си и Тикль.
Работа была использована при разработке программного обеспечения сетевого устройства, проведенной в ООО «Октет». Результаты диссертационного исследования позволили завершить процесс разработки встраиваемого программного обеспечения (firmware) до того момента, когда устройства было изготовлено на заводе. После физического создания устройства многократные тестовые запуски созданного программного обеспечения не выявили ошибок, что говорит о высокой степени адекватности модели.
Библиография Иванов, Андрей Геннадьевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
1. Эндрю Волк, Питер Штолль, Пол Метрович. Как разрабатывались первые микросхемы Intel. // http://www.intel.ru/intel/museumyhistory/history.htm
2. D.Garlan, D.E.Perry. IEEE Transactions on Software Engineering. Vol. 21, No.4, 1995, pp.269-274.
3. S.R. McCammon. Applied Software Engineering: A Real-Time Simulator Case History. IEEE Transactions on Software Engineering. Vol. SE-1, No.4, 1975,pp.377-383.
4. Noyce, R. и Hoff, Т., "A History of Microprocessor Development at Intel," IEEE Micro, том 1, № 1, февраль 1981 г., стр. 8-11 и 13-21.5. http://www.megratec.ru/catalog/6. http://www.mentor.com/
5. IEEE, IEEE Standard VHDL Language Reference Manual, IEEE Standard 1076-1987, Mar. 1987.
6. Смелянский P.JI. Применение микропроцессоров в архитектуре вычислительных систем.// Обмен опытом в радиопромышленности.М.Радио и связь, 1981.
7. Killmon P. Computer teckl challenge of the 90-th. Computer des., V.24 1986., N.17.
8. Прангишвили И.В. Микропроцессоры и локальные сети микро-ЭВМ в распределенных системах управления. ,Энергоатомиздат, 1987, 271с.
9. McKenzi L.M., McLeod A.M. A multiple microprocessor system for CPUboard calculation. Computer journal,V.30 1987., N.2.
10. Головкин В.А. Параллельные вычислительные системы. М., Наука, 1979, 498с.
11. Asbury R., Frison G., Roth Т. Concurrent computer ideal for inherently parallel problems. Computer Des., V.24 1985., N.ll.
12. Seitz C.L. Cosmic Cube. Com. ACM. V.28 1986.,N.1.
13. Haynes L.S., Lau R.L., Siewiorek D.P., Mozell D.W. A survey of highly parallel computing. Computer Jour., 1982,pp.9-23.
14. Fridman D. Federal goverment programm in parallel computer architecture. Computer V.26,N6,1987.
15. Иванов А.Г. Оптимизация архитектуры ЭВМ // Труды XXXI научной конференции факультета ПМ-ПУ "Процессы управления и устойчивость".-СПб: ООП НИИ Химии СПбГУ, 2000. с. 313-317.
16. Компьютерные сети. Принципы, технологии, протоколы / В.Г. Олифер, Н.А. Олифер. СПб: Питер, 2001.
17. Иванов А.Г. Имитация процессоров в составе сложных схем // Труды XXXII научной конференции студентов и аспирантов факультета ПМ-ПУ "Процессы управления и устойчивость",- СПб: ООП НИИ Химии СПбГУ, 2001. с. 246-251.
18. Ассоциация "Эльбрус МЦСТ ". Моделирующий комплекс Sparc-совместимого микропроцессора // http://www.elbrus.ru/mcst/proect/modpr.htm
19. Любаев Д.В., Якименко В.И. Программный комплекс "МОДЕЛИРОВАНИЕ МИКРОПРОЦЕССОРНОЙ СРЕДЫ" // http://mcsmodelling.narod.ru25. http://www.electrade.ru/index.sema?a=pages&id=59
20. Dolinsky М. High-level design of embedded hardware-software systems. Advances in Engineering Software. Vol. 31.№ 3. March, 2000. UK. Oxford. ELSEVIER.
21. Dolinsky M.S. Integrated Environment IEESD-2000 for embedded system development. Automatic Control and Computer Sciences. Allerton Press. New York. 1999. Vol. 33. № 3. P. 24-32.
22. Dolinsky M.S., Ziselman I.M., Fedortsov A.O. In-circuit emulators of microprocessors and microcontrollers. Automatic Control and Computer Sciences. Allerton Press. New York. 1999. Vol. 33. № 1. P. 53-56.
23. Dolinsky M.S., Ziselman I.M., Harrasov A.A. Computer-Aided design of microprogrammed devices. Automatic Control and Computer Sciences. Allerton Press. New York. 1997. Vol. 31. № 5. P. 59-63.
24. Marco Sgroi, Luciano Lavagno, Alberto Sangiovanni-Vincentelli. Formal Models for Embedded System Design. IEEE Design & Test of Computers, 17, 2, 14-27, June, 2000
25. M. Lajolo, L. Lavagno, M. Rebaudengo, M. Sonza Reorda, M. Violante. Evaluating System Dependability in a Co-Design Framework. In Proceedings of the IEEE DATE 2000, pp. 586-590, Paris, France, March 27-30, 2000.
26. M. Lajolo, A. Raghunathan, S. Dey, L. Lavagno. Efficient Power Estimation Techniques for System-on-Chip Design. In Proceedings of the IEEE DATE 2000, pp. 27-34, Paris, France, March 27-30, 2000.
27. Bassam Tabbara, Abdallah Tabbara, Alberto Sangiovanni-Vincentelli. Task Response Time Optimization Using Cost-Based Operation Motion. In Proceedings of the 8th IEEE International Workshop on Hardware/Software Codesign, S.Diego, CA, USA, May 2000.
28. J. da Silva Jr., M. Sgroi, F. De Bernardinis, S.F Li, A. Sangiovanni-Vincentelli and J. Rabaey Wireless Protocols Design: Challenges and Opportunities. In Proceedings of the 8th IEEE International Workshop on Hardware/Software Co, CA, USA, May 2000.
29. M. Lajolo, L. Lavagno, M. Rebaudengo, M. Sonza Reorda, M. Violante. Automatic Test Bench Generation for Simulation-based Validation. In Proceedings of the 8th IEEE International Workshop on Hardware/Software Codesign, S.Diego, CA, USA, May 2000.
30. M. Lajolo, L. Lavagno, M. Rebaudengo, M. Sonza Reorda, M. Violante. System-level Test Bench Generation in a Co-design Framework. In Proceedings of the IEEE European Test Workshop 2000, Cascais, Portugal, May 23-26, 2000.
31. Harry Hsieh, Felice Balarin, Luciano Lavagno, Alberto Sangiovanni-Vincentelli Efficient Methods for Embedded System Design Space Exploration. In Proceedings of Design Automation Conference, June 2000
32. A. Ferrari and A. Sangiovanni-Vincentelli. System design: traditional concepts and new paradigms. In Proceedings of 1999 International Conference on Computer
33. Design: VLSI in Computer and Processors. ICCD'99, Austin, TX, USA, 10-13 Oct 1999.
34. M. Sgroi, L. Lavagno, Y. Watanabe and A. Sangiovanni-Vincentelli. Synthesis of Embedded Software Using Free-Choice Petri Nets. In Proceedings of Design Automation Conference, DAC '99, June 1999.
35. M. Sgroi, L. Lavagno, Y. Watanabe and A. Sangiovanni-Vincentelli. Quasi-Static Scheduling of Embedded Software Using Equal Conflict Nets. In Proceedings of International Conference on Application and Theory of Petri Nets, ICATPN '99, June 1999.
36. M. Sgroi, L. Lavagno, Y. Watanabe and A. Sangiovanni-Vincentelli. Quasi-Static Scheduling of Embedded Software Using Equal Conflict Nets. In Proceedings of International Conference on Application and Theory of Petri Nets, ICATPN '99, June 1999.
37. L.P. Carloni, K.L. McMillan and A. Sangiovanni-Vincentelli. Latency Insensitive Protocols. In Proceedings of the 11-th International Conference on Computer Aided Verification. CAV'99, Trento, Italy, July 1999.
38. Lisa Guerra, Joachin Fitzner, Dipankar Talukdar, Chris Schlager, Bassam Tabbara, Vojin Zivojnovic. Cycle and Phase Accurate DSP Modeling and Integration for HW/SW Co-Verification. DAC, June 1999.
39. Bassam Tabbara, Enrica Filippi, Luciano Lavagno, Marco Sgroi, Alberto Sangiovanni-Vincentelli. Fast Hardware-Software Co-simulation Using VHDL Models. Design Automation and Test in Europe (DATE), March 1999.
40. M. Lajolo, L. Lavagno, C. Passerone and A. Sangiovanni-Vincentelli. A Parameter-based Mapping Scheme for Behavior/Architecture Co-Design. In IEEE Workshop on Design, Test and Applications (WDTA'99), pp. 37-40, Dubrovnik, Croatia, June 14-16, 1999.
41. Антимиров B.M., Воронков A.A., Дегтярев А.И., Захарьящев М.В., Проценко B.C. Математическая логика в программировании. Обзор // Математическая логика в программировании / Под ред. М.В. Захарьящева и Ю.И. Янова. М.: Мир. 1991 - С.ЗЗ 1-407
42. Буч Г. Объектно-ориентированное проектирование с примерами применения
43. Jacobson I., Christerson М., Jonsson Р., Ё Overgaard G. Object-Oriented Software Engineering. A Use Case Driven Approach. New York: ACM Press, 1994. - 528 p.
44. KAPPA-PC Version 2.4. System Description and Data Sheet / IntelliCorp. -Mountain View, USA, 1997.63. http://www.intellicorp.com/kappa-pc /
45. Шлеер С., Мелло С. Объектно-ориентированный анализ: моделирование мира в состояниях. Киев: Диалектика, 1993 - 204 с.
-
Похожие работы
- Исследование и разработка системы числового программного управления для высокопроизводительного бездефектного равномерно-регулируемого пластичного микрошлифования оптических поверхностей
- Алгоритмы теоретико-множественного анализа сложных вычислительных систем на базе нейропроцессоров
- Математическое и программное обеспечение средств верификации программ микроконтроллерных устройств
- Математическое моделирование диспетчеров задач в многопроцессорных вычислительных системах на основе стохастических сетей массового обслуживания
- Методы и программно-аппаратные средства параллельных структурно-процедурных вычислений
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность