SYNAPTICADcolon TECHNICAL PAPERS
 

Jump to English Version

Von Donna Mitchell, erschienen in ElektronikPraxis, Februar 2002

Testbench grafisch generieren

Die grafische Code-Generierung von SynaptiCAD ermöglicht die sprachenunabhängige Testbench-Entwicklung, um geeignete Testbenches schnell, klarund präzise zu beschreiben.

Das Entwickeln von Testbenches in einer Sprache wie VHDL oder SystemC zum Stimulieren von HDL-Designs und Überprüfen der Ausgangssignale ist eine der zeitaufwändigsten Aufgaben in der heutigen digitalen Schaltungsentwicklung. Dies liegt daran, dass Testbenches typischerweise ein viel größeres System als das vom Entwickler entworfene modellieren. Des weiteren werden Testbenches in der Regel unter Benutzung von Verhaltenskonstrukten modelliert und der Code ist anfällig gegen Race-Conditions, die zu unerwartetem Laufzeitverhalten führen. Grafische Code-Generierung bietet eine sprachunabhängige Lösung zur Testbench- Entwicklung, die es Ingenieuren erlaubt, Testbenches schnell und in einer klaren und präzisen Art und Weise zu beschreiben.

Die grafische Testbench-Erzeugung ist das automatische Gererieren von Quellcode. Das Programmpaket TestBencher Pro von SynaptiCAD hat eine intuitiv zu bedienende Grafikoberfläche, mit der sich auch komplexe Bustransaktionen und Schnittstellenbeschreibungen modellieren lassen. Pipelining, Split-Phase- Transaktionen, Datenstrukturen und Speicher sowie Sequenzerkennung sind modellierbar. Das Tool verwendet Timing-Diagramme, um Bus-Transactor-Quellcode in der vom Anwender bevorzugten Sprache zu generieren.

Grafikdarstellung erleichtert die Zusammenarbeit

Aus den grafisch dargestellten Timing-Diagrammen produziert die Software wahlweise Testbenches in VHDL, Verilog, SystemC, OpenVera oder e. Mittels Diagrammen kann der Ingenieur auf hoher Abstraktionsebene arbeiten und Low-Level-Coding-Probleme dem Werkzeug überlassen. Testbench-Code ist trotz modularer Programmiertechnik häufig schwer zu verstehen, weil in einer Testbench eine hohe Zahl parallel ablaufender Vorgänge vorhanden sein kann. Timing-Diagramme ermöglichen eine weitaus klarere, knappere und leichter verständliche Beschreibung der Signalaktivitäten und Interaktionen zwischen Prozessen. Die grafische Darstellung in solchen Diagrammen erleichtert die Zusammenarbeit mehrerer Designer an einer Testbench.

Grafik: Ein Timingdiagramm, das den Testbenchcode für einen AMBA pipelined Bus Master generiert.

Autor

Donna Mitchell ist Vice President für Strategisches Marketing bei SynaptiCAD Inc. Sie erlangte ihren Bachelors- und Masters-Degree in Electrical Engineering an der Virginia Tech Universität. Mitchell ist eine der zwei Gründer von SynaptiCAD Inc.



Graphical Test Bench Generation

by Donna Mitchell, Appeared in ElektronikPraxis, February 2002

Developing test benches to stimulate HDL designs and check their output is one of the most time consuming tasks in modern digital design. This is because test benches typically model a much larger system than the one that the user is designing. Also, test benches are generally modeled using behavioral constructs and the code is prone to race conditions that lead to unexpected run time behavior. Graphical code generation offers a language independent solution to test bench development that enables engineers to quickly describe test benches in a manner that is clear and precise.

Graphical test bench generation is the process of automatically creating test bench source code from an interface description based on graphical timing diagrams. SynaptiCAD has developed TestBencher Pro, a simple and intuitive graphical test bench generator that can be used to model very advanced bus transactions and interface descriptions. Pipelining, split-phase transactions, data structures and memories, and sequence recognition can all be modeled. TestBencher uses timing diagrams to generate bus transactor source code in the user's preferred verification language: VHDL, Verilog, SystemC, OpenVera, or "e". By using timing diagrams, the engineer can work at a high level of abstraction, leaving the tool to deal with low level coding issues like race conditions.

Test bench code is often difficult to understand even when written using modular programming techniques because of the large amount of parallel activity occurring in the test bench. Timing diagrams allow a much clearer and concise description of the interaction of parallel processes and signal activity. A graphical representation also facilitates the collaboration of many engineers on a single test bench by removing the need to interpret source code. Any engineer familiar with the design specifications is able to look at a given timing diagram and have an immediate understanding of what the transactor does, dramatically simplifying test bench maintenance.

Figure: A timing diagram that generates the test bench code for an AMBA pipelined bus master driven by queue data structure

Author

Donna Mitchell is Vice President of Strategic Marketing at SynaptiCAD Inc. She received her BS and MS degrees in electrical engineering from Virginia Tech. Mitchell is one of the two founders of SynaptiCAD Inc.

Back to Technical Papers page