Активное направление входного порта при моделировании с использованием PLI
Я пытаюсь выяснить, используется ли входной порт в качестве входного или выходного порта во время моделирования из моего C-кода на основе PLI. Как это можно сделать?
1 ответ
Решение
Прежде чем идти по этому пути, обратите внимание, что большинство инструментов имеют возможность предоставлять вам эту информацию с помощью файлов Extended VCD или в других форматах, обычно связанных с инструментами оценки мощности.
Для этого в VPI требуются обширные знания процедур VPI §38 и диаграмм объектной модели VPI §36 в LRM 1800-2012. Я могу дать вам общее представление о том, что необходимо сделать:
- Для каждого
inout
порт- Зарегистрировать
cbValueChange
обратный вызов с использованиемvpi_register_cb
- Создайте список драйверов, используя схему
- Классифицируйте каждый драйвер как находящийся вне модуля (HiConn) или внутри (локальный или LoConn)
- Зарегистрировать
- Процедура обратного вызова должна сканировать список драйверов для порта, который изменил значение
- Если активный драйвер находится за пределами модуля, порт находится в режиме ввода.
- Если активный драйвер находится внутри модуля, порт находится в режиме вывода.