Назначение проводов глубоко в вложенном наборе модулей

StackOverflow https://stackoverflow.com/questions/2173880

Вопрос

У меня есть провод, который глубоко составляет около 4 уровней, и я действительно не хочу, чтобы хлопотать необходимость распространять ее иерархии. Есть ли способ назначить провод, используя какую-то ссылку? Я знаю, что могу получить доступ к проволоке, набрав:

cca.cpu0.cca3_cpu.nc1_cp_checkpoint 

но

assign cca.cpu0.cca3_cpu.nc1_cp_checkpoint = checkpoint;

не работает

Кто-нибудь знает какого-либо способа сделать это?

Это было полезно?

Решение

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

Я думаю, что nc1_cp_checkpoint объявлен как reg Внутри вашего cca3_cpu пример. Вы не можете назначить значение reg используя постоянное назначение. Попробуйте использовать процессуальное задание (внутри initial или always Блок), например:

initial begin
    cca.cpu0.cca3_cpu.nc1_cp_checkpoint = checkpoint;
end

Если это не решит вашу проблему:

  1. Показать больше актуальны код
  2. Разработать «не работает». Покажите свое сообщение об ошибке, если есть.

Обновление: еще одна потенциальная проблема возникает, если nc1_cp_checkpoint это постоянно wire Внутри вашего cca3_cpu пример. В этом случае ваша вторая assign может вызвать утверждение, которое сделало бы стоимость неизвестной (x). Вы можете избежать этого вопроса, используя force а также release.

Другие советы

Из вашего метка вы, кажется, указываете, что вы используете VCS. Вы получаете:

Error-[XMRE] Cross-module reference resolution error
Cross module resolution failed, token BLAH'. 
Originating module 'foo'. "foo.v", 666: 

Это будет указывать, что ваш путь не является правильным.

Ссылки с перекрестными модулями работают, но они не могут быть включены, если вы ограничиваете свой дизайн на синтезируемые конструкции. Посмотрите вверх «Перекрестный модуль» в руководстве пользователя VCS.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top