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

Fix Flattening In Symbol Table #619

Open
David-Durst opened this issue Sep 18, 2018 · 0 comments
Open

Fix Flattening In Symbol Table #619

David-Durst opened this issue Sep 18, 2018 · 0 comments
Assignees

Comments

@David-Durst
Copy link
Collaborator

As seen in phanrahan/magma#287, there are issues in viewing the values of nested ports in the Magma simulator that is based on the CoreIR simulator. The simulator crashes as it can't find the correct values in the symbol table. For example, https://github.com/David-Durst/aetherling/blob/ed4a632ef935dc79fe991677300a8e092ed9df4b/tests/test_native_2d_line_buffer.py#L371 requires using the wrong parent scope (scope instead of the properly nested test1_scope). If that line is written as:

test2_scope = Scope(instance=LineBufferDef._instances[0]._instances[0], parent=test1_scope)

the simulator fails immediately. (NOTE: if you want to reproduce this, you must checkout the exact Aetherling commit that I linked to. I have since removed these nested accesses as they don't work)

Fixing this symbol table issue would significantly improve the development process in magma. Currently, because I can't access nested wires, I need to send these wires to the top level of a circuit in order to view them while debugging. This is quite difficult to do when creating deeply nested, dynamically generated circuits. Using the debugger with the symbol table is much faster.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants