2017-07-20 3 views
2

Un RTL DUT chiffré instancie quelques instances d'un module non chiffré. J'ai une visibilité complète du module non crypté.Est-il possible d'accéder au signal dans une instance de module non cryptée à l'intérieur d'un module crypté?

Dans testbench, je souhaite surveiller un signal particulier dans le module non crypté et effectuer une vérification au moment de l'exécution. Il devrait être quelque chose comme:

// in top level tb 
assign wire_a = encrypted_DUT.<...>.non_encrypted_inst.wire_a; // but we don't know exact path 
// ... and then do some check on wire_a 

La ligne ci-dessus n'est pas possible parce que je ne sais jamais le chemin exact.

Existe-t-il un autre moyen? Ou est-ce possible?

+0

Une autre chose à faire est de 'bind' votre module de vérificateur dans le module non crypté. – toolic

Répondre

1

Si le cryptage est faible, placer $display("%m") dans le sous-module non crypté affichera le chemin en simulation.

Si cela ne fonctionne pas, il existe une solution de contournement. Au lieu d'avoir la sonde de niveau supérieur dans le sous-module, vous pouvez affecter le sous-module au signal de niveau supérieur.

// un-encrypted sub-module 
assign $root.top_tb.wire_a = wire_a; //Note: $root is SysteVerilog only 
//assign top_tb.wire_a = wire_a; //Universal but follows 'upwards name referencing' 

IEEE1364-2001 (Verilog) § 12,5 référence Tri par Nom croissant
IEEE1800-2012 (SysteVerilog) § 23,8 référence Tri par Nom croissant

+0

'$ display ("% m ")' n'affiche pas le chemin, mais le référencement ascendant fonctionne comme prévu. Je ne sais jamais il y a une telle chose. Il est bon de savoir que. Merci – AldoT

1

Ce n'est pas possible. Avoir de la visibilité sur les modules de bas niveau non cryptés est un trou de sécurité. Imaginez une netlist cryptée simple composée de cellules de bibliothèque non cryptées. Si vous avez une visibilité sur les chemins de toutes les cellules, vous pouvez facilement en déduire la netlist.

Le fournisseur du DUT chiffré doit ouvrir le RTL aux instances auxquelles il est prêt à autoriser l'accès.

+0

Hey Dave, je pense que les modules cryptés, offrent une visibilité sur les connexions de port. Pas la logique, mais seulement les ports. Ai-je raison? –