Pregunta

Tengo un cable que se trata de 4 niveles de profundidad y yo realmente no quiero la molestia de tener que propagarla arriba en la jerarquía. ¿Hay alguna manera de asignar el alambre utilizando algún tipo de referencia? Sé que puedo acceder al alambre escribiendo:

cca.cpu0.cca3_cpu.nc1_cp_checkpoint 

y

assign cca.cpu0.cca3_cpu.nc1_cp_checkpoint = checkpoint;

Por qué no funciona

Alguien sabe de alguna manera de hacerlo?

¿Fue útil?

Solución

Ya que no han mostrado código suficiente para que cualquiera pueda reproducir su problema, ni habéis revelado ninguna información respecto a su problema, lo único que podemos hacer es adivinar.

Mi conjetura es que nc1_cp_checkpoint está declarada como una reg dentro de su instancia cca3_cpu. No se puede asignar un valor a una reg utilizando una asignación continua. Trate de usar una asignación de procedimiento (dentro de un bloque de initial o always), por ejemplo:

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

Si esto no resuelve su problema:

  1. Mostrar más relevante código
  2. Elaborar en "no funciona". Mostrar su mensaje de error, si lo hay.

Actualización: Otro posible problema surge si nc1_cp_checkpoint es un wire impulsado continuamente dentro de su instancia cca3_cpu. En ese caso, su segundo assign podría causar contención, lo que haría que el valor desconocido Go (x). Usted puede ser capaz de evitar ese problema usando force y release.

Otros consejos

A partir de su etiqueta, que parece estar indicando que está utilizando VCS. ¿Usted está consiguiendo un:

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

Esto indicaría que el camino no es correcta.

Referencias cruzadas a los módulos funcionan, pero no se pueden activar si está limitando su diseño para construcciones sintetizables. Mirar hacia arriba "de referencia módulo de cruz" en la guía del usuario de VCS.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top