first version of a vcd parser
This commit is contained in:
1 parent
c4aecbd6c9
commit
3cb1b2bc86
1 file changed
+27
@@ -0,0 +1,27 @@
|
||||
import numpy as np
|
||||
from PIL import Image
|
||||
from kyupy import vcd
|
||||
|
||||
def var_filter(var):
|
||||
#print(var.scope.path)
|
||||
return var.scope.path.endswith('picorv32_core')
|
||||
|
||||
def step_filter(time, values, var_map):
|
||||
#print(time)
|
||||
return time is not None and time > 1000000000 and (time % 10000) == 0 and time <= 1600000000
|
||||
#(time % 100000) == 0
|
||||
|
||||
_palette = np.full(8, 128, dtype=np.uint8)
|
||||
_palette[0] = 0 # black
|
||||
_palette[3] = 255 # white
|
||||
|
||||
def to_image(data: np.ndarray, path: str):
|
||||
pixels = _palette[data]
|
||||
Image.fromarray(pixels, mode='L').save(path)
|
||||
|
||||
def main():
|
||||
vcddata = vcd.load('tests/testbench.vcd', var_filter=var_filter, step_filter=step_filter)
|
||||
to_image(vcddata.data, 'out.png')
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in new issue
Block a user