17
Выполнил: Желнин С.В. Научный руководитель: Фельдман В.М.

Методология проектирования микропроцессоров с использованием SystemC

  • Upload
    guri

  • View
    70

  • Download
    0

Embed Size (px)

DESCRIPTION

Выполнил : Желнин С.В . Научный руководитель: Фельдман В. М. Методология проектирования микропроцессоров с использованием SystemC. 1. Описание проблемы. 1. Написание технического задания. 2. Составление эскизного проекта и детальной спецификации. - PowerPoint PPT Presentation

Citation preview

Page 1: Методология проектирования микропроцессоров с использованием  SystemC

Выполнил: Желнин С.В.Научный руководитель: Фельдман

В.М.

Page 2: Методология проектирования микропроцессоров с использованием  SystemC

Увеличение сложности микропроцессоров ведет к тому, что: усложняется составление спецификаций устройств и интерфейсов между ними скорость выявления логических ошибок в RTL-описаниях снижается(достигает нескольких часов и даже дней) остаются необнаруженные ошибки при выпуске микропроцессора

1. Написание технического

задания

1. Написание технического

задания

2. Составление эскизного проекта и детальной

спецификации

2. Составление эскизного проекта и детальной

спецификации

3. Проектирование

на языке описания

аппаратуры(RTL-моделирование)

3. Проектирование

на языке описания

аппаратуры(RTL-моделирование)

5. Синтез и физический

дизайн

5. Синтез и физический

дизайн

4. Верификация RTL-модели

4. Верификация RTL-модели

Page 3: Методология проектирования микропроцессоров с использованием  SystemC

SystemC – стандартизованная библиотека С++(IEEE 1666-2005),используемая для описания аппаратуры и верификации RTL-моделей цифровых устройств

Преимущества над Verilog/SystemVerilo

g Повышенная скорость

разработки моделей цифровых устройств

Высокая скорость моделирования SystemC-описаний

Преимущества над C/C++ Возможность совместного

моделирования описаний на SystemC и Verilog

Синтаксис, схожий с Verilog Иерархическая декомпозиция

описываемой системы на модули Структурное соединение между

модулями с использованием портов Моделирование одновременных

процессов на основе событий и списков планирования

Типы данных, пригодные для описания цифровой логики

Page 4: Методология проектирования микропроцессоров с использованием  SystemC

Разработать принципы использования языка SystemC для проектирования микропроцессоров в ЗАО «МЦСТ»

Выполнить экспериментальную реализацию вычислительных устройств процессорного ядра «МЦСТ-4R» с использованием SystemC

Исследовать эффективность от их внедрения Составить руководство по использованию

языка SystemC для разработчиков аппаратуры

Page 5: Методология проектирования микропроцессоров с использованием  SystemC

Уровеньархитектур

(используется в ЗАО «МЦСТ»)

Уровеньтранзакций

Уровень регистровыхпередач

(используется в ЗАО «МЦСТ»)

Безотносительная ко

времени(untimed)Все процессы выполняются за нулевое время

Безотносительная ко

времени(untimed)Все процессы выполняются за нулевое время

Относительная ко времени(timed)

Все процессы выполняются за конечное время

Относительная ко времени(timed)

Все процессы выполняются за конечное время

Уровня регистровых передач(RTL)

Детальное описание. Использование синхросигнала

Уровня регистровых передач(RTL)

Детальное описание. Использование синхросигнала

Уровни абстракции модели

интерфейсов

Безотносительная ко

времени(untimed)Передача данных за нулевое время

Безотносительная ко

времени(untimed)Передача данных за нулевое время

Уровня транзакций(Bus Cycle Accurate)Использование синхросигнала. Передача данных как транзакция

Уровня транзакций(Bus Cycle Accurate)Использование синхросигнала. Передача данных как транзакция

Уровня портов(Pin Cycle Accurate)

Использование синхросигнала. Детальное описание портов

Уровня портов(Pin Cycle Accurate)

Использование синхросигнала. Детальное описание портов

Поведен-ческаямодель

Уровни абстракции модели

функциональных блоков

Степень детали-зации

Менее детализи-

ровано

Болеедетализи-

ровано

Интервал между уровнями абстракций, используемых в проектах ЗАО «МЦСТ»,осложняет верификации RTL-моделей

Page 6: Методология проектирования микропроцессоров с использованием  SystemC

Повышенная избирательность тестирования Возможность тестирования Verilog-моделей отдельных устройств в совокупности с SystemC-моделью всего микропроцессора

Ускорение моделирования Замена Verilog-моделей тех частей микропроцессора , которые не подвергаются тестированию, аналогами на SystemC

Ранняя верификация Возможность начать тестирование Verilog-моделей устройств еще до того, как будет готова Verilog-модель всего микропроцессора

SystemC-описание

других устройств

Эталонная SystemC-модель

устройства

Верифицируемая Verilog-

модель устройства

Сравнение выходных сигналов

SystemC-описание

других устройств

SystemC-модель всегомикропроцессора

Page 7: Методология проектирования микропроцессоров с использованием  SystemC

Составление эскизного проекта,

детальной спецификации

Составление эскизного проекта,

детальной спецификации

Разработка и уточнение SystemC-модели

Разработка и уточнение SystemC-модели

Верификация RTL-

модели

Верификация RTL-

модели

Верификация SystemC-модели

Верификация SystemC-модели Разработка и

уточнение RTL-модели

Разработка и уточнение RTL-модели

Разработка программных

тестов и симулятора

системы команд

Разработка программных

тестов и симулятора

системы команд

Физический синтез RTL-

модели

Физический синтез RTL-

модели

+ Параллельная реализация одной спецификации двумя командами специалистов на языках SystemC и Verilog => повышенная вероятность обнаружения ошибок

- Затруднено изменение исходной спецификации

эталонная модель

Page 8: Методология проектирования микропроцессоров с использованием  SystemC

Составление эскизного проекта,

детальной спецификации

Составление эскизного проекта,

детальной спецификации

Разработка и уточнение SystemC-модели

Разработка и уточнение SystemC-модели

Верификация RTL-модели

Верификация RTL-модели

Верификация SystemC-модели

Верификация SystemC-модели

Разработка и уточнение RTL-модели

Разработка и уточнение RTL-модели

Разработка программных

тестов и симулятора системы

команд

Разработка программных

тестов и симулятора системы

команд

Физический синтез RTL-

модели

Физический синтез RTL-

модели

+ Более ранняя оценка пригодностиалгоритмов, заложенных в спецификации

- Необходимо задерживать начало работ по проектированию на RTL

Оба метода являются универсальными, и для разных проектов могут быть примененыразные методы

эталонная модель

Page 9: Методология проектирования микропроцессоров с использованием  SystemC

1.Устройство управления: Дешифратор команд и

устройство управления ресурсами Регистровый файл и устройство управления

регистровыми окнами Устройство прерываний и

управления специальными регистрами

2.Целочисленный канал: Целочисленное арифметико-

логическое устройство Целочисленное устройство

умножения Целочисленное устройство

деления

Структурная схема процессорного ядра «МЦСТ-4R»

Page 10: Методология проектирования микропроцессоров с использованием  SystemC

RF

IU0 IU1

CU

Test-bench front-end

Test-bench back-end

Time analyzerSPARC v9 Instruction Set simulator library

Tests

тестируемаямодель устройств

Page 11: Методология проектирования микропроцессоров с использованием  SystemC

0,00

2000,00

4000,00

6000,00

8000,00

10000,00

12000,00

1 2 3 4 5

Количест

во и

нст

рукц

ий

Номер случайного теста

Скорость моделирования описанийVerilog: моделирование Verilog-описания с использованием САПР ModelSim

SC Modelsim: моделирование SystemC-описания с использованием САПР ModelSim

SC OSCI: моделирование SystemC-описания с использованием стандартной библиотеки SystemC(OSCI)

Page 12: Методология проектирования микропроцессоров с использованием  SystemC

Скорость разработки SystemC-модели в 3 раза выше скорости разработки на языке Verilog

Сравнение скорости моделирования SystemC-описаний и Verilog-описаний: SystemC ModelSim: в 8-11 раз выше Verilog OSCI SystemC: в 12 – 13 раз выше Verilog

Page 13: Методология проектирования микропроцессоров с использованием  SystemC

SystemC-ALU Verilog-ALU

SystemC-описание других устройств

SystemC-описание других устройств

Модуль сравнения выходных сигналов

SystemC-модель всего целочисленного канала

ALU wrapper

Реализованы 2 дополнительных модуля: ALU wrapper(модуль адаптации входных сигналов для ALU c языка SystemC на Verilog) и модуль сравнения выходных сигналов

Тестирование началось до того, как был готов целочисленный канал на языке Verilog

Выявлено 6 ошибок в Verilog-описании

Page 14: Методология проектирования микропроцессоров с использованием  SystemC

Язык программирования С++

Ядро Типы данныхПредопределённые

каналыУтилиты

МодулиПорты

ПроцессыИнтерфейсы

КаналыСобытия

Сигнал, синхросигнал, FIFO-Очередь, mutex,

семафор

Отчеты, отладочная информация

4-хзначная логикаБитовые вектора

Целочисленные типыи др.

Дополнительные библиотеки, не входящие в стандарт SystemC

SystemC описание

Написано конечным пользователем

Page 15: Методология проектирования микропроцессоров с использованием  SystemC

1. Подготовительная фаза (Elaboration):

Создание иерархии приложения, подключение портов.

2. Фаза моделирования (Simulation): Модель вычислений основана на модели

событий Модель вычислений полностью совпадает с

моделью вычислений Verilog Отличается синтаксис регистрации событий по

сравнению с Verilog

Page 16: Методология проектирования микропроцессоров с использованием  SystemC

Определены принципы использования языка SystemC для проектирования микропроцессоров в ЗАО «МЦСТ»

Выполнена экспериментальная реализация вычислительных устройств процессорного ядра системы на кристалле «МЦСТ-4R» с использованием SystemC

Проведена верификация устройств по принципу эталонной модели и исправлены логические ошибки в Verilog-описаниях

Экспериментальные результаты показали эффективность использования SystemC

Составлено руководство по использованию языка SystemC для разработчиков аппаратуры

Page 17: Методология проектирования микропроцессоров с использованием  SystemC