Активное направление входного порта при моделировании с использованием PLI

Я пытаюсь выяснить, используется ли входной порт в качестве входного или выходного порта во время моделирования из моего C-кода на основе PLI. Как это можно сделать?

1 ответ

Решение

Прежде чем идти по этому пути, обратите внимание, что большинство инструментов имеют возможность предоставлять вам эту информацию с помощью файлов Extended VCD или в других форматах, обычно связанных с инструментами оценки мощности.

Для этого в VPI требуются обширные знания процедур VPI §38 и диаграмм объектной модели VPI §36 в LRM 1800-2012. Я могу дать вам общее представление о том, что необходимо сделать:

  • Для каждого inout порт
    • Зарегистрировать cbValueChange обратный вызов с использованием vpi_register_cb
    • Создайте список драйверов, используя схему
    • Классифицируйте каждый драйвер как находящийся вне модуля (HiConn) или внутри (локальный или LoConn)
  • Процедура обратного вызова должна сканировать список драйверов для порта, который изменил значение
    • Если активный драйвер находится за пределами модуля, порт находится в режиме ввода.
    • Если активный драйвер находится внутри модуля, порт находится в режиме вывода.
Другие вопросы по тегам