Testbench-Automatisierung vs. Constrained Random Verification

Mit den funktionalen Verifikationsfähigkeiten von Questa und dem intelligenten Testbench-Automatisierungswerkzeug inFact können Ingenieurteams ihre Designs in kürzerer Zeit und mit weniger Ressourcen verifizieren als dies mit Constrained Random Verification (CRV) möglich wäre. Die folgenden Ausführungen vergleichen die beiden Methoden.

Mit den funktionalen Verifikationsfähigkeiten von Questa und dem intelligenten Testbench-Automatisierungswerkzeug inFact können Ingenieurteams ihre Designs in kürzerer Zeit und mit weniger Ressourcen verifizieren als dies mit Constrained Random Verification (CRV) möglich wäre. Die folgenden Ausführungen vergleichen die beiden Methoden.

Durch die gestiegene Komplexität der Designs wird deren Verifikation hinsichtlich Produktivität und Effektivität immer schwieriger. Nahezu alle Projektteams verwenden die Simulation als Schlüsselkomponente ihres gesamten Design-Verifikations-Prozesses. Die Verifikation durch Simulation erfordert jedoch eine Testbench zur Überprüfung des Designs. Das Generieren einer effizienten Testbench ist eine anspruchsvolle Ingenieuraufgabe, die für den Erfolg eines Projektes entscheidend ist.

Der Bedarf an effizienteren Testbenches hat in der EDA-Industrie zu beträchtlichen Investitionen in deren Erforschung und Entwicklung geführt. Das Hauptaugenmerk lag dabei auf der Verbesserung der Codierungssprachen, die die Entwickler zum Schreiben ihrer Testbench-Programme nutzen. Leider wurde das Verifikationsproblem immer größer, da die Designkomplexität weiter gestiegen ist. Deshalb besteht auch weiterhin zwingender Bedarf nach erheblicher Verbesserung der Testbench-Technologie, und dieser wird nun mit intelligenter Testbench-Automatisierung wirkungsvoll adressiert.

Hauptdarsteller sind dabei die funktionalen Verifikationsfähigkeiten des Programmwerkzeugs Questa und das „intelligente“ Testbench-Automatisierungswerkzeug inFact, die beide im Hause Mentor Graphics so miteinander „verzahnt“ wurden, dass Ingenieurteams ihre Designs nun in kürzerer Zeit und mit weniger Ressourcen verifizieren können als dies mit „Constrained Random Verification“-Lösungen (CRV) möglich wäre. inFact beschränkt die Testgenerierung nicht auf Random-Tests, sondern nutzt verschiedene Algorithmen, um für die Simulation intelligente Testsequenzen zu generieren.

I²C-Controller als Testobjekt

Während sich CRV-Lösungen auf die Generierung von Random-Tests und ein proprietäres Sprachenformat beschränken, kann man mit Hilfe der intelligenten Testbench-Automatisierung Testbench-Selbsttests, systematische Funktionstests und beschleunigte Random-Testsequenzen nach Bedarf miteinander kombinieren. Wie dies abläuft, lässt sich am besten an einem Beispiel erläutern: Ein Testteam will die inFact-Technologie unter Verwendung eines SoC-IP-Moduls validieren und verwendet dafür den in Bild 1 gezeigten I²C-Controller-Prüfling (Design Under Test – DUT), der hier mit jenen inFact-Intelligent-Verification-Components (iVC) dargestellt ist, welche die Schnittstellen des DUT ansteuern. Zu den DUT-Schnittstellen gehören:

  • APB-Busschnittstelle,
  • IRQ-Schnittstelle zum Prozessor,
  • DMA-Peripherie-Controller-Schnittstelle,
  • I²C-Busschnittstelle.