Выполнил: Желнин С.В. Научный руководитель: Фельдман В.М.
Увеличение сложности микропроцессоров ведет к тому, что: усложняется составление спецификаций устройств и интерфейсов между ними скорость выявления логических ошибок в RTL-описаниях снижается(достигает нескольких часов и даже дней) остаются необнаруженные ошибки при выпуске микропроцессора 1. Написание технического задания 2. Составление эскизного проекта и детальной спецификации 3. Проектирование на языке описания аппаратуры(RTL- моделирование) 5. Синтез и физический дизайн 4. Верификация RTL-модели
2. Преимущества использования SystemC SystemC – стандартизованная библиотека С++( IEEE ), используемая для описания аппаратуры и верификации RTL- моделей цифровых устройств Преимущества над Verilog/SystemVerilog Повышенная скорость разработки моделей цифровых устройств Высокая скорость моделирования SystemC- описаний Преимущества над C/C++ Возможность совместного моделирования описаний на SystemC и Verilog Синтаксис, схожий с Verilog Иерархическая декомпозиция описываемой системы на модули Структурное соединение между модулями с использованием портов Моделирование одновременных процессов на основе событий и списков планирования Типы данных, пригодные для описания цифровой логики
Разработать принципы использования языка SystemC для проектирования микропроцессоров в ЗАО «МЦСТ» Выполнить экспериментальную реализацию вычислительных устройств процессорного ядра «МЦСТ- 4R» с использованием SystemC Исследовать эффективность от их внедрения Составить руководство по использованию языка SystemC для разработчиков аппаратуры
Уровень архитектур (используется в ЗАО «МЦСТ») Уровень транзакций Уровень регистровых передач (используется в ЗАО «МЦСТ») Безотносительная ко времени(untimed) Все процессы выполняются за нулевое время Безотносительная ко времени(untimed) Все процессы выполняются за нулевое время Относительная ко времени(timed) Все процессы выполняются за конечное время Относительная ко времени(timed) Все процессы выполняются за конечное время Уровня регистровых передач(RTL) Детальное описание. Использование синхросигнала Уровня регистровых передач(RTL) Детальное описание. Использование синхросигнала Уровни абстракции модели интерфейсов Безотносительная ко времени(untimed) Передача данных за нулевое время Безотносительная ко времени(untimed) Передача данных за нулевое время Уровня транзакций (Bus Cycle Accurate) Использование синхросигнала. Передача данных как транзакция Уровня транзакций (Bus Cycle Accurate) Использование синхросигнала. Передача данных как транзакция Уровня портов(Pin Cycle Accurate) Использование синхросигнала. Детальное описание портов Уровня портов(Pin Cycle Accurate) Использование синхросигнала. Детальное описание портов Поведен- ческая модель Уровни абстракции модели функциональных блоков Степень детали- зации Менее детализи- ровано Более детализи- ровано Интервал между уровнями абстракций, используемых в проектах ЗАО «МЦСТ», осложняет верификации RTL-моделей
5. Преимущества верификации по принципу эталонной модели Повышенная избирательность тестирования Возможность тестирования Verilog- моделей отдельных устройств в совокупности с SystemC-моделью всего микропроцессора Ускорение моделирования Замена Verilog-моделей тех частей микропроцессора, которые не подвергаются тестированию, аналогами на SystemC Ранняя верификация Возможность начать тестирование Verilog-моделей устройств еще до того, как будет готова Verilog- модель всего микропроцессора SystemC- описание других устройств Эталонная SystemC-модель устройства Верифицируемая Verilog-модель устройства Сравнение выходных сигналов SystemC- описание других устройств SystemC-модель всего микропроцессора
Составление эскизного проекта, детальной спецификации Разработка и уточнение SystemC-модели Верификация RTL-модели Верификация SystemC-модели Разработка и уточнение RTL- модели Разработка программных тестов и симулятора системы команд Физический синтез RTL- модели + Параллельная реализация одной спецификации двумя командами специалистов на языках SystemC и Verilog => повышенная вероятность обнаружения ошибок - Затруднено изменение исходной спецификации эталонная модель
Составление эскизного проекта, детальной спецификации Разработка и уточнение SystemC-модели Верификация RTL-модели Верификация SystemC-модели Разработка и уточнение RTL- модели Разработка программных тестов и симулятора системы команд Физический синтез RTL- модели + Более ранняя оценка пригодности алгоритмов, заложенных в спецификации - Необходимо задерживать начало работ по проектированию на RTL Оба метода являются универсальными, и для разных проектов могут быть применены разные методы эталонная модель
1.Устройство управления: Дешифратор команд и устройство управления ресурсами Регистровый файл и устройство управления регистровыми окнами Устройство прерываний и управления специальными регистрами 2.Целочисленный канал: Целочисленное арифметико- логическое устройство Целочисленное устройство умножения Целочисленное устройство деления Структурная схема процессорного ядра «МЦСТ-4R»
Скорость разработки SystemC-модели в 3 раза выше скорости разработки на языке Verilog Сравнение скорости моделирования SystemC- описаний и Verilog- описаний: SystemC ModelSim: в 8-11 раз выше Verilog OSCI SystemC: в 12 – 13 раз выше Verilog
Реализованы 2 дополнительных модуля: ALU wrapper(модуль адаптации входных сигналов для ALU c языка SystemC на Verilog) и модуль сравнения выходных сигналов Тестирование началось до того, как был готов целочисленный канал на языке Verilog Выявлено 6 ошибок в Verilog- описании
1. Подготовительная фаза (Elaboration): Создание иерархии приложения, подключение портов. 2. Фаза моделирования (Simulation): Модель вычислений основана на модели событий Модель вычислений полностью совпадает с моделью вычислений Verilog Отличается синтаксис регистрации событий по сравнению с Verilog
Определены принципы использования языка SystemC для проектирования микропроцессоров в ЗАО «МЦСТ» Выполнена экспериментальная реализация вычислительных устройств процессорного ядра системы на кристалле «МЦСТ- 4R» с использованием SystemC Проведена верификация устройств по принципу эталонной модели и исправлены логические ошибки в Verilog-описаниях Экспериментальные результаты показали эффективность использования SystemC Составлено руководство по использованию языка SystemC для разработчиков аппаратуры