Domanda

Ho un filo che è di circa 4 livelli di profondità e davvero non vogliono la seccatura di dover propagare la gerarchia.C'è un modo per assegnare il filo utilizzando una sorta di riferimento?So che posso accedere al filo digitando:

cca.cpu0.cca3_cpu.nc1_cp_checkpoint 

ma

assign cca.cpu0.cca3_cpu.nc1_cp_checkpoint = checkpoint;

non funziona

Qualcuno sa di un modo per farlo?

È stato utile?

Soluzione

Dal momento che non si è mostrato il codice sufficienti per chiunque di riprodurre il problema, né hanno hai rivelato alcun dettaglio per quanto riguarda il vostro problema, tutto ciò che possiamo fare è indovinare.

La mia ipotesi è che nc1_cp_checkpoint è dichiarata come reg dentro l'istanza cca3_cpu. Non è possibile assegnare un valore a una reg utilizzando un compito continuo. Provare a utilizzare un incarico procedurale (all'interno di un blocco di initial o always), ad esempio:

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

Se questo non risolve il problema:

  1. Mostra più relativo codice
  2. Elaborate sul "non funziona". Mostra il tuo messaggio di errore, se presente.

Update: Un altro potenziale problema si pone se nc1_cp_checkpoint è un wire continuamente guidato all'interno dell'istanza cca3_cpu. In questo caso, il secondo assign potrebbe causare un conflitto, il che renderebbe l'ignoto valore di go (x). Potreste essere in grado di evitare che il problema utilizzando force e release.

Altri suggerimenti

Dal tuo tag, sembrano indicare che si sta utilizzando VCS.Sei sempre una:

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

Che indica che il tuo percorso non è corretto.

Cross-modulo i riferimenti di fare il lavoro, ma non può essere attivata se si sta vincolando il tuo design per synthesizable costrutti.Ricerca di "cross-modulo di riferimento", il VCS guida per l'utente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top