Hallo allerseits,
ich bin auf der Suche nach einem Programm, dass mir eine Waveform (z.B.
VCD) automatisch auf bestimmte Eigenschaften prüft. Mir ist bewusst,
dass sowas für Simulationen mit VHDL und Verilog durch den assert Befehl
möglich ist. Jetzt stammt aber meine Waveform z.B. von einem Logic
Analyser. Da wird es dann schon schwieriger, wenn man auch noch
Toleranzen zulassen möchte.
Ich stelle mir das so vor: Man füttert in das Programm ein VCD + ein
Testscript mit Regeln (am liebsten imperativ oder auch deklerativ) und
das Programm untersucht dann die Waveform auf Verletzungen der Regeln.
Als einfaches Beispiel könnte man in meiner Wunschsprache den duty cycle
einer PWM wie folgt untersuchen:
1 | rule:
|
2 | seek clk rising
|
3 | repeat until end:
|
4 | t1 = current_time()
|
5 | seek clk falling
|
6 | t2 = current_time()
|
7 | seek clk rising
|
8 | t3 = current_time()
|
9 | assert_tolerance(5%) t2-t1 == t3-t2
|
Kennt jemand etwas vergleichbares? Insbesondere für die seek Operation
ist mir kein Equivalent in VHDL oder Verilog bekannt.
Grüße
Alex