СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №9/2014

ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 71 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2014 симуляции измеряется в сотнях MIPS, что очень близко к скорости обработ- ки в реальном времени. При работе в режиме представления виртуальные прототипы задействуют уровень синхронизации, учитываю- щий время исполнения транзакций. Здесь каждая транзакция представля- ет фазу передачи данных с помощью конкретного протокола шины, приме- няемой в модели (например, фазы адре- сации и данных для записи или чтения по шине AHB). Однако следует учиты- вать, что такая повышенная точность в режиме представления существен- но замедляет симуляцию виртуально- го прототипа по сравнению с функ- циональным режимом. Система VVP позволяет переключаться между дву- мя доступными режимами синхрони- зации непосредственно во время рабо- ты прототипа. Функциональный режим является вполне достаточным для верификации и отладки большей части программно- го обеспечения верхнего уровня, тако- го как операционная система и уров- ни приложений. Для анализа мощно- сти и производительности аппаратного обеспечения под программным управ- лением и для низкоуровневого про- граммного кода (такого как различные драйверы и программы реального вре- мени) требуется работа виртуального прототипа в режиме представления. Под программами реального време- ни понимаются те, для которых время исполнения программного кода зави- сит от задержек аппаратного обеспече- ния или от того, как данные разнесены по фазам синхронизации. В ИЗУАЛЬНОЕ ПРЕДСТАВЛЕНИЕ АППАРАТУРЫ Интегрированная среда разработ- ки Sourcery CodeBench IDE также обе- спечивает визуальное представление и управление аппаратными объекта- ми разрабатываемой платформы. Эти объекты включают все периферий- ные регистры и локальные перемен- ные, которые декларированы при соз- дании компонента модели TLM. Для распознавания объектов исполь- зуются их иерархические пути, а свя- занные с ними величины представлены в отдельных ветках дерева, доступного в окне просмотра регистров Sourcery CodeBench Register. Все значения объ- ектов являются редактируемыми; в про- цессе отладки можно добавлять новые значения. В ЗАИМОСВЯЗАННАЯ ОТЛАДКА ПРОГРАММ И АППАРАТУРЫ Пользователи могут выполнять вза- имосвязанную отладку аппаратной и программной частей, устанавливая точки прерывания в аппаратном обе- спечении, чтобы остановить его симу- ляцию при условии достижения точ- ки останова. Позже симуляция может быть возобновлена, поскольку про- граммный отладчик останавливается после завершения обработки инструк- ции, которая и привела к останову. Это обеспечивает проверку состояния про- граммы в данной точке и переход к сле- дующим программным инструкциям с одновременным просмотром состо- яния аппаратных объектов, которые изменяются в зависимости от выпол- нения той или иной программной инструкции. У ПРАВЛЕНИЕ СИМУЛЯЦИЕЙ АППАРАТУРЫ Для управления симуляцией аппара- туры имеется набор команд, доступных из консоли Sourcery CodeBench. С помо- щью этих команд пользователь может: ● выполнить перезапуск ядра ЦП, обра- батывающего программный код, или произвести перезапуск всех узлов платформы, включая ядра процес- сора; ● установить точку прерывания, кото- рая остановит симуляцию по завер- шении обработки инструкции, полу- чившей доступ к аппаратному объек- ту (регистру или переменной). Точка прерывания подобна триггеру, сраба- тывающему на чтение, запись или на оба типа доступа; ● запросить местонахождение точки прерывания и получить к нему иерар- хический путь; ● удалить точку прерывания; ● загрузить готовый файл в формате ELF в память текущего ядра ЦП; ● управлять режимом запуска плат- формы; ● отображать режимфункционирова- ния, который установлен для плат- формы в данный момент; ● отключить обработку DMI (Direct Memory Interface), что (в функцио- нальном режиме) позволит быстрее отслеживать транзакции через шинную архитектуру платформы и при желании отображать их на встроенном осциллографе Vista Waveform; ● отображать, установлена ли платфор- ма в режим DMI; ● отображать текущее время симуля- ции кода SystemC; ● отображать информацию о процес- се симуляции; ● прерывать процесс симуляции с дополнительно заданным кодом выхода. Дополнительно система VVP позво- ляет управлять трассировкой ядер ЦП с помощью предустановленных вызо- вов (callbacks) по значащим событи- ям (например, когда ядро перешло в режим ожидания). Это полезно для дополнительной отладки и анализа, задаваемого пользователем. Также для управления симуляцией обеспе- чивается доступ по API с поддерж- кой полухостинга и других полез- ных задач. В системе VVP можно манипулиро- вать файлами посредством запросов встроенной операционной системы, загруженной на виртуальный прото- тип. Это позволяет разрабатывать, выполнять сборку и отлаживать про- граммные пакеты на хост-машине, затем получать к ним доступ с кон- соли целевой ОС без необходимо- сти повторной симуляции и переза- пуска ОС на виртуальном прототипе. Например, файлы могут копироваться с файловой системы хост-компьютера в целевую локальную папку на прото- типе (или наоборот) с использовани- ем команды cp , вызываемой из встро- енной ОС Linux. Ещё раз коротко перечислим ключе- вые возможности системы, предостав- ляемые для совместной отладки аппа- ратуры и программ, а также для управ- ления симуляцией: ● управление симуляцией с использо- ванием интегрированной среды раз- работки Sourcery CodeBench IDE; ● выбор и переключение между двумя доступными режимами синхрониза- ции (функциональным и режимом представления) может осуществлять- ся непосредственно во время работы прототипа; ● визуальное отображение и управле- ние виртуальной аппаратурой из сре- ды Sourcery CodeBench IDE; ● остановка симуляции в точках пре- рывания, устанавливаемых в аппа- ратном или программном обеспе- чении; ● манипуляции с файлами для встро- енных операционных систем; ● управление симуляцией из команд- ной строки с использованием набо- ра специальных команд.

RkJQdWJsaXNoZXIy MTQ4NjUy