Симуляция проектов SystemC
Установка точек останова и пошаговое исполнение в окне Source

        Также как и в HDL файлах, вы можете устанавливать точки останова и пошагово исполнять файлы SystemC в окне Source. В случае с SystemC, ModelSim использует С отладку, основанную на интерфейсе открытого кода gdb отладчика. Обратитесь к главе "Отладка С" в руководстве пользователя за подробной информацией.

        1. Прежде чем устанавливать точку останова, вы должны запретить средство Auto Lib Step Out, разрешённое по умолчанию. Если вы пошагово исполняете стандартный заголовочный файл C++ или SystemC (/include/systemc), то средство Auto Lib Step Out автоматически переводит ModelSim на выход.
        а. Выберите Tools > C Debug > Allow lib step в основном меню.

        2. Установка точек останова.
        а. Дважды кликните на test_ringbuf в окне Structure для открытия исходного файла.
        б. В окне Source:
        Verilog: перейдите к линии 150 в test_ringbuf.h.
        VHDL: перейдите к линии 155 в test_ringbuf.h.
        в. Кликните в столбце номера строки рядом с красным номером строки (рис. 6-8):
        Verilog: bool var_dataerror_newval = actual.read()...
        VHDL: sc_logic var_dataerror_newval = acutal.read ...

        Внимание! ModelSim распознаёт содержание в файле кода SystemC и автоматически запускает С отладку. Это может добавить небольшую задержку, поскольку открывается С отладчик, прежде чем устанавливается точка останова.
        После того, как отладчик запущен, ModelSim размещает красные шары рядом с номером строки (рис. 6-8).

        3. Запуск и пошаговое исполнение кода
        а. Введите run 500 в VSIM> запрос команды.
        Когда симуляция достигнет точки останова, она остановится, выделив линию синей стрелкой в окне Source (рис. 6-9), и выдаст сообщение в окне Transcript:
        # C breakpoint c.1
        # test_ringbuf::compare_data (this=0x27c4d08) at test_ringbuf.h:151

        б. Кликните на иконку Step на панели инструментов.
        Этим симуляция шагнёт к следующему оператору. Поскольку следующий оператор – это вызов функции, ModelSim шагнёт в фукнцию, расположенную в отдельном файле sc_signal.h (рис. 6-10).

        в. Кликните на иконку Continue Run на панели инструментов.
        Точка останова в test_ringbuf.h снова будет достигнута.

<< Назад     Оглавление     Далее >>
Хостинг от uCoz