Skip to content
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

Support peek/poking FIRRTL circuits/circuits with non-Chisel IOs #2

Open
azidar opened this issue Nov 16, 2018 · 4 comments

Comments

@azidar
Copy link

@azidar azidar commented Nov 16, 2018

It would be great if the tester could peek/poke FIRRTL circuits. Also, it would be nice to use it to test IOs which a FIRRTL transform added, which doesn't have a Chisel equivalent.

I'd recommend looking at FIRRTL's CompleteTarget class hierarchy, and hopefully use them to represent signals. We should also probably have normal Chisel references be converted to these Targets.

Thoughts?

@edwardcwang

This comment has been minimized.

Copy link
Member

@edwardcwang edwardcwang commented Nov 16, 2018

This will also help a lot for re-using Chisel testers with post-synthesis/post-par netlists as well.

@ducky64

This comment has been minimized.

Copy link
Member

@ducky64 ducky64 commented Nov 16, 2018

I think that makes sense, though I do want to keep the chisel-level circuit interface API. So some kind of shim for a FIRRTL circuit would be needed to provide the interface definition for testers2. It could be manually written, or auto-generated.

For post-syn/post-par, testers2 already uses a name mapping table to translate the circuit interface data structures (Chisel hardware objects) to the handle needed by the underlying tester. If the IO structure is mostly the same this should also extend to post-syn/post-par, with potentially more top-level flow options needed to select what (eg particular Verilog files / simulator) to test?

@edwardcwang

This comment has been minimized.

Copy link
Member

@edwardcwang edwardcwang commented Nov 17, 2018

I think at the basic level just having a name mapping table from FIRRTL/Verilog to Chisel object will go a long way. The rest can be done in a modular/agile fashion.

@chick

This comment has been minimized.

Copy link
Contributor

@chick chick commented Nov 17, 2018

@azidar Treadle can peek and poke everything since it knows nothing about chisel. So would exposing the treadle api as a superset of common api (based on chisel2 and verilator simulation api) count.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.