РРТ - МЦСТ

advertisement
Выполнил:
Желнин С.В.
Научный руководитель: Фельдман В.М.
1. Написание
технического
задания
Увеличение сложности
микропроцессоров ведет к тому,
что:
2. Составление
эскизного проекта и
детальной
спецификации
 усложняется составление
спецификаций устройств и
интерфейсов между ними
 скорость выявления логических
3. Проектирование
на языке описания
аппаратуры(RTLмоделирование)
4. Верификация
RTL-модели
ошибок в RTL-описаниях
снижается(достигает нескольких
часов и даже дней)
 остаются необнаруженные
5. Синтез и
физический дизайн
ошибки при выпуске
микропроцессора
SystemC – стандартизованная библиотека С++(IEEE 1666-2005),
используемая для описания аппаратуры и верификации RTLмоделей цифровых устройств
Преимущества над
Verilog/SystemVerilog
 Повышенная скорость
разработки моделей
цифровых устройств
 Высокая скорость
моделирования SystemCописаний






Преимущества над C/C++
Возможность совместного моделирования
описаний на SystemC и Verilog
Синтаксис, схожий с Verilog
Иерархическая декомпозиция
описываемой системы на модули
Структурное соединение между модулями с
использованием портов
Моделирование одновременных процессов
на основе событий и списков планирования
Типы данных, пригодные для описания
цифровой логики




Разработать принципы использования языка SystemC для
проектирования микропроцессоров в ЗАО «МЦСТ»
Выполнить экспериментальную реализацию
вычислительных устройств процессорного ядра «МЦСТ4R» с использованием SystemC
Исследовать эффективность от их внедрения
Составить руководство по использованию языка SystemC
для разработчиков аппаратуры
Уровни абстракции модели
функциональных блоков
Безотносительная ко
времени(untimed)
Все процессы
выполняются за
нулевое время
Относительная ко
времени(timed)
Все процессы
выполняются за
конечное время
Уровня регистровых
передач(RTL)
Детальное описание.
Использование
синхросигнала
Уровни абстракции
модели интерфейсов
Уровень
архитектур
(используется
в ЗАО «МЦСТ»)
Уровень
транзакций
Поведенческая
Уровеньмодель
регистровых
передач
(используется
в ЗАО «МЦСТ»)
Безотносительная ко
времени(untimed)
Передача данных за
нулевое время
Уровня транзакций
(Bus Cycle Accurate)
Использование
синхросигнала.
Передача данных как
транзакция
Уровня портов(Pin Cycle
Accurate)
Использование
синхросигнала.
Детальное описание
портов
Менее
детализировано
Степень
детализации
Более
детализировано
Интервал между уровнями абстракций, используемых в проектах ЗАО «МЦСТ»,
осложняет верификации RTL-моделей
 Повышенная избирательность
SystemC-модель всего
микропроцессора
SystemCописание других
устройств
Эталонная
SystemC-модель
устройства
SystemCописание других
устройств
Верифицируемая
Verilog-модель
устройства
Сравнение
выходных
сигналов
тестирования
Возможность тестирования Verilogмоделей отдельных устройств в
совокупности с SystemC-моделью
всего микропроцессора
 Ускорение моделирования
Замена Verilog-моделей тех частей
микропроцессора , которые не
подвергаются тестированию,
аналогами на SystemC
 Ранняя верификация
Возможность начать тестирование
Verilog-моделей устройств еще до
того, как будет готова Verilogмодель всего микропроцессора
Составление
эскизного проекта,
детальной
спецификации
Разработка
программных тестов и
симулятора системы
команд
Верификация
SystemC-модели
Разработка и
уточнение
SystemC-модели
эталонная
модель
+ Параллельная реализация одной
Верификация
RTL-модели
спецификации двумя командами
специалистов на языках SystemC и Verilog =>
повышенная вероятность обнаружения
ошибок
- Затруднено изменение исходной спецификации
Разработка и
уточнение RTLмодели
Физический
синтез RTLмодели
Составление
эскизного проекта,
детальной
спецификации
Разработка
программных тестов и
симулятора системы
команд
+ Более ранняя оценка пригодности
алгоритмов, заложенных
в спецификации
- Необходимо задерживать начало
работ по проектированию на RTL
Верификация
SystemC-модели
Разработка и
уточнение
SystemC-модели
эталонная
модель
Верификация
RTL-модели
Оба метода являются универсальными,
и для разных проектов могут быть применены
разные методы
Разработка и
уточнение RTLмодели
Физический
синтез RTLмодели
1.Устройство управления:
 Дешифратор команд и
устройство
управления ресурсами
 Регистровый файл и
устройство управления
регистровыми окнами
 Устройство прерываний и
управления специальными
регистрами
2.Целочисленный канал:
 Целочисленное арифметикологическое устройство
 Целочисленное устройство
умножения
 Целочисленное устройство
деления
Структурная схема
процессорного ядра «МЦСТ-4R»
Test-bench
back-end
Time analyzer
SPARC v9 Instruction
Set simulator library
Tests
CU
IU0
IU1
RF
тестируемая
модель устройств
Test-bench
front-end
Скорость моделирования описаний
Количество инструкций/с
12000,00
Verilog: моделирование
Verilog-описания с
использованием САПР
ModelSim
10000,00
8000,00
SC Modelsim:
моделирование SystemCописания с использованием
САПР ModelSim
6000,00
4000,00
2000,00
0,00
1
2
3
4
Номер случайного теста
5
SC OSCI: моделирование
SystemC-описания с
использованием
стандартной библиотеки
SystemC(OSCI)
Сравнение скорости
моделирования SystemCописаний и Verilogописаний:
 SystemC ModelSim: в 8-11
раз выше Verilog
 OSCI SystemC: в 12 – 13
раз выше Verilog
Время выполнения тестов
30.00
Время выполнения, с.
Скорость разработки
SystemC-модели в 3 раза
выше скорости разработки
на языке Verilog
25.00
20.00
15.00
10.00
5.00
0.00
0
Verilog
5000
10000
15000
Количество инструкций
SC Modelsim
20000
SC OSCI
 Реализованы 2
дополнительных модуля: ALU
wrapper(модуль адаптации
входных сигналов для ALU c
языка SystemC на Verilog) и
модуль сравнения выходных
сигналов
 Тестирование началось до
SystemC-модель всего
целочисленного канала
SystemC-описание
других устройств
ALU wrapper
SystemC-ALU
Verilog-ALU
SystemC-описание
других устройств
Модуль сравнения
выходных
сигналов
того, как был готов
целочисленный канал на языке
Verilog
 Выявлено 6 ошибок в Verilog-
описании
SystemC описание
Написано конечным
пользователем
Дополнительные библиотеки, не входящие в стандарт SystemC
Ядро
Модули
Порты
Процессы
Интерфейсы
Каналы
События
Предопределённые
каналы
Сигнал, синхросигнал,
FIFO-Очередь, mutex,
семафор
Утилиты
Типы данных
Отчеты, отладочная
информация
4-хзначная логика
Битовые вектора
Целочисленные типы
и др.
Язык программирования С++
1.
Подготовительная фаза (Elaboration):

Создание иерархии приложения, подключение портов.
2.
Фаза моделирования (Simulation):


Модель вычислений основана на модели событий
Модель вычислений полностью совпадает с моделью
вычислений Verilog
Отличается синтаксис регистрации событий по
сравнению с Verilog


Определены принципы использования языка SystemC для
проектирования микропроцессоров в ЗАО «МЦСТ»

Выполнена экспериментальная реализация вычислительных
устройств процессорного ядра системы на кристалле «МЦСТ4R» с использованием SystemC

Проведена верификация устройств по принципу эталонной
модели и исправлены логические ошибки в Verilog-описаниях

Экспериментальные результаты показали эффективность
использования SystemC

Составлено руководство по использованию языка SystemC
для разработчиков аппаратуры
Download