update README
This commit is contained in:
parent
232b026f62
commit
557f385336
43
README.md
43
README.md
|
@ -3,10 +3,8 @@ Copyright - Yehowshua Immanuel
|
|||
# A High performance, VCD Parser written in Rust
|
||||
|
||||
## Current Features
|
||||
- pretty fast
|
||||
- pretty fast, parses 3.04 GB VCD file in ~62s on M1 Macbook Air.
|
||||
|
||||
## Planned Features
|
||||
- rapid log2n scrubbing through a signal's timeline
|
||||
|
||||
# Current Limitations
|
||||
Unable to handle VCD files that have signals with more than
|
||||
|
@ -14,8 +12,8 @@ Unable to handle VCD files that have signals with more than
|
|||
|
||||
## Running
|
||||
|
||||
Make sure you have a test vcd file to get you started. You can grab
|
||||
a large VCD file from
|
||||
This repository comes with several smaller VCD files emitted from
|
||||
various EDA tools. If you want a larger VCD file, grab one from
|
||||
[here](https://drive.google.com/file/d/1pfm2qo2l8fGTHHJ8TLrg1vSGaV_TUbp2/view?usp=sharing).
|
||||
|
||||
The first build of the program may take some time.
|
||||
|
@ -25,27 +23,26 @@ The first build of the program may take some time.
|
|||
You can run all the tests with ``cargo test``
|
||||
|
||||
# TODO
|
||||
- [ ] make a custon date parser for possibly up to 18 different versions(that
|
||||
is, for each possible tool).
|
||||
- [ ] Fix warning especially usage and restriction warnings once I'm
|
||||
able to successfully parse all sample VCDs.
|
||||
- [ ] Change error messages to line and filenames. Go through all calls to ``format!``
|
||||
whilst also keep performance in mind.
|
||||
- [ ] Create compressed fungible numeric enums with good heuristic support.
|
||||
|
||||
## Features
|
||||
- [ ] handle signals with x or z as string
|
||||
- the one bit parsers may also need to handle string
|
||||
- move parse_orphaned_vars to scopes.rs
|
||||
- [ ] Print out git commit or release number.
|
||||
- [ ] Should be able to load waveform whilst viewing it live.
|
||||
- could be quite challenging to implement for various reasons
|
||||
- [ ] Take a look at GTKWave parser to compare efficiency.
|
||||
- [ ] re-order all signal timelines as binary balanced trees with respect to timestamps
|
||||
- support multithreaded re-ordering
|
||||
|
||||
## Repairs
|
||||
- [ ] make a custom date parser for possibly up to 18 different versions(that is, for each possible tool).
|
||||
- [ ] Consolidate error messages and add cursors throughout.
|
||||
- [ ] Consider what to do with don't care values
|
||||
will probably just convert them to strings for now.
|
||||
- [ ] Include line and possible column numbers
|
||||
- [ ] Take a look at GTKWave parser to compare effificiency.
|
||||
- [ ] Fix warnings especially usage and restriction warnings once I'm
|
||||
able to successfully parse all sample VCDs.
|
||||
|
||||
## Code Consistency
|
||||
- [ ] Change error messages to line and filenames. Go through all calls to ``format!`` whilst also keeping performance in mind.
|
||||
|
||||
## Marketing
|
||||
- [ ] Send survey to community channel.
|
||||
|
||||
# Questions to Answer
|
||||
- [ ] Is it safe to assume that we may treat any values before the first
|
||||
non-zero timestamp as having occured on `#0`?
|
||||
|
||||
# Probably No Longer Needed
|
||||
- [ ] Should insert nodes in BFS order
|
Loading…
Reference in a new issue