2017-07-20 4 views
2

Eine verschlüsselte DUT RTL instanziiert einige Instanzen eines nicht verschlüsselten Moduls. Ich habe volle Sichtbarkeit des nicht verschlüsselten Moduls.Ist es möglich, auf ein Signal in einer unverschlüsselten Modulinstanz innerhalb eines verschlüsselten Moduls zuzugreifen?

In Testbench möchte ich bestimmte Signal in dem unverschlüsselten Modul überwachen und Laufzeit überprüfen. Es sollte so etwas wie sein:

// 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 

Die obige Zeile ist nicht möglich, weil ich nie den genauen Pfad kenne.

Gibt es einen anderen Weg? Oder ist es überhaupt möglich?

+0

Eine andere Sache, zu versuchen, zu 'bind' Ihr Prüfmodul in die nicht verschlüsseltes Modul. – toolic

Antwort

1

Wenn die Verschlüsselung schwach ist, zeigt die Platzierung $display("%m") im unverschlüsselten Untermodul den Pfad in der Simulation.

Wenn das nicht funktioniert, gibt es eine Problemumgehung. Anstatt das Top-Level-Probe in das Sub-Modul zu haben, können Sie das Sub-Modul dem Top-Level-Signal zuweisen.

// 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 Name aufsteigend Referenzierung
IEEE1800-2012 (SysteVerilog) § 23,8 Name aufsteigend Referenzierung

+0

'$ display ("% m ")' zeigt den Pfad nicht an, aber Aufwärtsreferenzierung funktioniert wie erwartet. Ich weiß nie, dass es so etwas gibt. Gut das zu wissen. Vielen Dank – AldoT

1

Es ist nicht möglich. Die Sichtbarkeit der unverschlüsselten untergeordneten Module ist eine Sicherheitslücke. Stellen Sie sich eine einfache verschlüsselte Netzliste vor, die aus unverschlüsselten Bibliothekszellen besteht. Wenn Sie Einblick in die Pfade aller Zellen haben, können Sie leicht die Netzliste ableiten.

Der Anbieter des verschlüsselten DUT müsste die RTL für die Instanzen öffnen, zu denen sie Zugriff gewähren möchten.

+0

Hey Dave, ich denke, die verschlüsselten Module bieten Sichtbarkeit für die Port-Verbindungen. Nicht die Logik, sondern nur Ports. Habe ich recht? –

Verwandte Themen