2016-04-04 6 views
2

beschäftigen, wenn eine digitale Architektur Prüfung geschrieben in VHDL und streben 100% Code Abdeckung, ich weiß nicht wirklich, wie mit generic Eingänge zu behandeln.Wie whith VHDL Generika in Code-Coverage-

In meinem Fall habe ich eine einzige Komponente mit generisches Verhalten, die zweimal instanziiert wird. Die Instanz hat unterschiedliche ('0' und '1') Werte für dieses generische Element, das anders sein soll und nicht sein kann. Aus diesem Grund kann meine Codeabdeckung nicht 100% sein (der generische Wert ist immer '1' für eine Instanz und '0' für die andere).

Ich weiß, ich könnte beschließen, Überprüfungen von der Berichterstattung auszuschließen, aber ich bin mir nicht sicher, ob dies der beste Weg ist. Was gilt in diesem Fall als Best Practice?

Antwort

3

Das Code Coverage Tool ist wahrscheinlich (und sollte es sein), die Abdeckung aus mehreren Simulationsläufen zu kombinieren.

Sie machen also 2 getrennte Simulationsläufe mit generischen wie '0' und '1', kombinieren Sie die Abdeckung von diesen, und die kombinierte Abdeckung sollte dann 100% sein.

+0

Ich stimme dem zu, aber das Problem ist, dass diese generische nicht beide Werte für jede Instanz nehmen soll, so dass zwei separate Simulationen in diesem Fall nicht viel Sinn machen würde. Außerdem bin ich kein Fan davon, die Simulationszeit zu verdoppeln, wenn das vermieden werden kann. (Sorry für die späte Reaktion) – DylanM

+0

OK, also was Sie gerne eine Simulation mit 2 Instanzen haben würde, die jeweils 0 und 1 als generischen Wert haben. Das sollten Sie auch der Abdeckung mitteilen, um die Abdeckung für die 2 Instanzen zu kombinieren, so dass alles, was in einer Instanz abgedeckt wird, auch als Abdeckung in der anderen und umgekehrt gezählt wird. Dabei sollte man mit einer Simulation arbeiten können. –