-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Extended VCD (EVCD) support #55
Conversation
In README.md: remove old arguments; add new arguments; add evcd
Some other detailed discussions see gtkwave/gtkwave#148 |
This PR partially resolves #13 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't been able to run the code to test it out, but assuming there are no bugs it looks mostly good.
fix: remove additional comments fix: add comments for each functions fix: add -o in example in README.md fix: give up `:=` operator as it's since Python 3.8 fix: evcd2vcd example in README.md
It seems that there is still a small bug when I use another example evcd file to test. Reviewing it. |
fix: reformat function comments feat: add a new evcd example generated by ModelSim fix: evcd2vcd allows multiple nested scopes/upscopes
Function comments reformatted |
Extended VCD is standardized by 1800-2017 IEEE Standard for SystemVerilog--Unified Hardware Design, Specification, and Verification Language. The EVCD2VCD converter referred to
gtkwave
's implementation. However,gtkwave
's implementation has some defects. For example, it cannot properly handle line feeds between one declaration. This issue has been resolved in this implementation. Besides,vcd_ids
are stored in adict
in a simple and pythonic way rather than Jim Plank's Red Black tree (JRB). Currently,vcdid_hash
andvcdid_unhash
are adopted fromgtkwave
's implementation, but they may not be necessary, because they are originally designed to fit inJval
data structure for more than 8-bit char or unsigned char array. Note that the function only provides basic syntax checking for EVCD file. A full and complete syntax checking is beyond Sootty's work.