Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000429.doc
Скачиваний:
23
Добавлен:
30.04.2022
Размер:
4.02 Mб
Скачать
        1. Модели использования fvp

Ниже приведены несколько моделей использования функциональных виртуальных проектных прототипов, созданных на основе SystemC.

        1. Создание встроенных программ

С помощью FVP прототипа и модели набора инструкций CPU (ISS), соединенной с SystemC моделями, программисты могут отлаживать программы со скоростью в десятки тысяч тактов в секунду. Они также могут провести дополнительно анализ тестового покрытия. Ассерты (Assertions) вставленные в аппаратную часть (HW), могут использоваться программистами, если они проводят смешанные SystemC/Verilog или VHDL симуляции с помощью FVP модели и соответствующих средств разработки (таких как платформа верификации Incisive компании Cadence, поддерживающая симуляцию на SystemC, HDL, или смешанную - SystemC-HDL).

        1. Функциональная верификация

FVP прототипы на уровне транзакций могут использоваться для представления системы на высоком уровне, с целью тестирования различных подсистем в контексте всего проекта перед тем, как закончить создание проекта на уровне RTL. Например, RTL версию контроллера прерываний можно протестировать до того, как будет готов RTL код всего проекта.

Так как FVP на уровне транзакций выполняется быстрее, чем эквивалентный RTL код, можно выполнить больше тестов и улучшить тестовое покрытие. FVP прототип является исполняемой спецификацией. Это объединяет проектную и системную команды.

FVP прототип может использоваться системной командой для выполнения анализа проекта на системном уровне. К такому анализу относится изучение загрузки шины, пропускной способности, размера кэша, иерархии памяти, числа процессоров, анализ алгоритмов арбитража и .т.д.

Конечный результат процесса создания кода, SW - скомпилированные SW приложения - могут выполняться на FVP, так как в прототип входит модель, симулирующая набор инструкций (ARM ISS) и взаимодействующая с остальными частями системы. В начале симуляции прикладное ПО загружается в память FVP, созданную на основе модели памяти на SystemC. Все запросы ARM на инструкции в ISS обслуживаются моделью памяти через SystemC интерфейс.

FVP прототип можно просматривать с помощью собственного окружения HDL-верификатора; данная методология поддерживает все типы HDL описаний структуры модели. Продвинутые средства верификации, такие как Cadence Incisive, поддерживают полный просмотр всех частей проекта, написанных на SystemC, VHDL и Verilog, в таких случаях как: смешанное проектирование (на нескольких языках) с SystemC и HDLs - которое становится более распространенным, так как позволяет, используя SystemC объединять проектирование «сверху-вниз» («top-down»), с проектированием «снизу-вверх» (с повторным использованием IP или старых HDL блоков) и с проектированием «с середины» («middle-out»), в котором могут использоваться либо SystemC либо HDLs на уровне RTL.

        1. Анализ fvp с помощью транзакций

Конечно, существуют также другие проблемы проектирования и верификации, которые могут быть проанализированы с помощью FVP прототипа на более низком уровне, нежели системный. Например, детальный анализ на уровне такта может использовать транзакционный интерфейс для наблюдения за транзакциями между блоками, использованием шины или другими вещами. Среда верификации Incisive компании Cadence позволяет разработчикам наблюдать за симуляцией на уровне транзакций: В этом примере транзакции показаны в верхнем левом окне, а детали отдельной транзакции - в верхнем правом. В нижнем окне анализируется весь набор собранных транзакций и результат отображается в терминах использования шины master/slave.

На уровне транзакций анализ проблем и проектных возможностей гораздо более эффективен, чем на уровне индивидуальных сигналов и выводов. Конечно, если необходимо пользовательский интерфейс позволяет проектировщикам получить низкоуровневые детали отдельных транзакций (уровня сигналов, битов и выводов). Абстракция на уровне транзакций улучшает не только эффективность системного моделирования, но и эффективность отладки.