intel / rohd

The Rapid Open Hardware Development (ROHD) framework is a framework for describing and verifying hardware in the Dart programming language.
https://intel.github.io/rohd-website
BSD 3-Clause "New" or "Revised" License
374 stars 67 forks source link

Wave dumping with `LogicArray`s and `LogicStructure`s #384

Closed mkorbel1 closed 11 months ago

mkorbel1 commented 1 year ago

Motivation

375 introduced LogicArrays and LogicStructures, but did not test or consider the WaveDumper. There are likely some modifications necessary, and definitely some tests required.

Desired solution

Write tests for the WaveDumper considering different scenarios of LogicArray and LogicStructure and implement necessary upgrades to make everything work right.

Alternatives considered

No response

Additional details

No response

mjayasim9 commented 1 year ago

Will work on this!

mjayasim9 commented 11 months ago

The example below shows the VCD file generated for a test with LogicArray

c765d2cf-850f-47d7-ac12-548e854c4af1

8d10fac7-0c87-4507-a1e7-6068e1208e88

VCD currently does not support LogicArray representation (https://github.com/verilator/verilator/issues/3167) and therefore, we can close this issue for now. An alternate solution would be to split the bus by arrays, however, that would create numerous waves and it would be hard to view them unless there is a search option in the Wave Viewer.

mkorbel1 commented 11 months ago

Thanks for looking into all this @mjayasim9! Yes, we can close this for now since VCD doesn't seem to have any nice support for arrays anyways.