Attribution des fils profonds dans un ensemble de modules imbriqués
-
24-09-2019 - |
Question
J'ai un fil qui est profond d'environ 4 niveaux et je ne veux vraiment pas les tracas d'avoir à propager la hiérarchie. Est-il possible d'assigner le fil en utilisant une sorte de référencement? Je sais que je peux accéder au fil en tapant:
cca.cpu0.cca3_cpu.nc1_cp_checkpoint
assign cca.cpu0.cca3_cpu.nc1_cp_checkpoint = checkpoint;
ne fonctionne pas
Quelqu'un sait de toute façon de le faire?
La solution
Puisque vous ne l'avez pas montré un code suffisant pour quiconque de reproduire votre problème, ni avez-vous révélé des détails concernant votre problème, tout ce que nous pouvons faire est de deviner.
Je pense que nc1_cp_checkpoint
est déclarée comme reg
dans votre instance de cca3_cpu
. Vous ne pouvez pas attribuer une valeur à une reg
en utilisant une affectation continue. Essayez d'utiliser une affectation de procédure (à l'intérieur d'un bloc de initial
ou always
), par exemple:
initial begin
cca.cpu0.cca3_cpu.nc1_cp_checkpoint = checkpoint;
end
Si cela ne résout pas votre problème:
- Afficher plus correspondant code
- Détaillez « ne fonctionne pas ». Montrez votre message d'erreur, le cas échéant.
Mise à jour: Un autre problème potentiel se pose si nc1_cp_checkpoint
est une wire
-entraînée en continu à l'intérieur de votre instance cca3_cpu
. Dans ce cas, votre deuxième assign
pourrait provoquer un conflit, ce qui rendrait la valeur inconnue aller (x
). Vous pourriez être en mesure d'éviter ce problème en utilisant force
et release
.
Autres conseils
De votre balise, vous semblez indiquer que vous utilisez VCS. Obtenez-vous un:
Error-[XMRE] Cross-module reference resolution error
Cross module resolution failed, token BLAH'.
Originating module 'foo'. "foo.v", 666:
Cela indique que votre chemin est incorrect.
références croisées modules fonctionnent, mais ils ne peuvent pas être activés si vous limitant votre conception des constructions synthétisables. Recherchez dans le guide de l'utilisateur VCS « référence croisée du module ».