Skip to content

Commit 0ec0df2

Browse files
committed
RFC #74: Add alternative from feedback, note about pyvcd
1 parent 44c495f commit 0ec0df2

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

text/0074-structured-vcd.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ We propose the following conventions:
9494
- The `vhdl_array` scope defines a group of signals belonging to an array (such as a signal with `ArrayLayout`)
9595
- The `vhdl_record` scope defines a structured group of signals (such as a signal with `StructLayout`)
9696

97-
> **NOTE**: (Implementation goes here)
97+
> **NOTE**: (Implementation details pending)
9898
> ...
9999
100100

@@ -189,7 +189,10 @@ $upscope $end
189189
- The choice of `scope vhdl_array` and `scope vhdl_record` are suggested due to known compatibility with Surfer and GTKWave.
190190
However, note that these are not part of the VCD specification (which is somewhat old and under-defined).
191191

192-
- One alternative would be to include support for a different waveform format that has better-defined support for variables with composite datatypes.
192+
### Alternatives
193+
194+
- Expose an environment variable (or a parameter in `write_vcd()`) allowing users to opt-in/opt-out of structured VCD output
195+
- Include support for a different waveform format that has better-defined support for variables with composite datatypes.
193196

194197
## Prior art
195198
[prior-art]: #prior-art
@@ -204,9 +207,13 @@ $upscope $end
204207
- Should we continue to include the "flattened" [pure bit-vector] representation of aggregate signals in the VCD?
205208
- Does this feature need to be gated/opt-in by default?
206209

210+
- The simulator currently depends on [westerndigitalcorporation/pyvcd](https://github.com/westerndigitalcorporation/pyvcd) when writing VCD files.
211+
However, `pyvcd` only emits scope types defined by the VCD specification (and does not include the `vhdl_record`/`vhdl_array` scopes).
212+
When implementing this RFC, should we continue relying on `pyvcd`, or does this warrant the addition of our own code in the simulator for writing VCD files?
213+
207214
## Future possibilities
208215
[future-possibilities]: #future-possibilities
209216

210217
Since this adds more overhead to VCD output, it's worth mentioning that VCD may be unsuitable for testing very large designs.
211-
This RFC may be a stepping stone to considering support for alternative waveform formats in the future.
218+
This RFC can also serve as a stepping stone for supporting alternative waveform formats in the future.
212219

0 commit comments

Comments
 (0)