0

У меня есть вложенный интерфейс, что-то вроде псевдо примераКак передать сигналы из вложенного интерфейса в системный verilog?

interface a(); 
logic a; 
endinterface: a 

interface B(); 
    logic b; 
    a A(); 
    alias b = A.a; // THIS throws an error 
endinterface: b 

Я хочу писать утверждения о interface a из interface B

Но это не позволяет мне alias сигнал. Каковы другие альтернативы?

Любые предложения?

+0

Я бы просто использовал A.a для утверждений. Если вам не нравится этот синтаксис, вы можете назначить его b – noobuntu

ответ

1

Переменные и иерархические ссылки не могут использоваться в операциях alias.

Ваши альтернативы:

  • Использование assign b = A.a; вместо alias
  • Просто используйте A.a в вашем утверждении
  • Объявить b используя let конструкцию let b = A.a;

Я предлагаю использовать let заявление ,

+0

Hi Dave для случая 'assign', мы должны знать направление в случае, если мы используем второй интерфейс для нашего TB. – justrajdeep

+0

Не могли бы вы рассказать мне, почему вы предпочитаете 'let' использовать' A.a'? – justrajdeep

+0

Да, для 'assign' вам нужно знать направление. Вы сказали, что пишете утверждения, так что это не проблема, пока вы не представите больше функциональности. –

Смежные вопросы