-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[RFC] [VTA] [TSIM] Enabling Cycle-Accurate Hardware Simulation for VTA #3009 #3010
Conversation
Do we need to commit the Verilog code? isn't it generated? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See additional reviews in the comment
High-level structural comments, given that dpi part(verilog shell and c file) of the codebase is compiled with the verilator. We should consider a distinct folder structure. Here is one possible recommendation. cc @jroesch @tmoreau89
|
@jroesch @tmoreau89 please help to review this PR |
Ok I have addressed most of the issues, except for EDIT: I fixed this by creating a type for dpi-arguments and lint-off that. This is easier to modify in the future. |
@tmoreau89 can you review again and https://docs.tvm.ai/contribute/code_review.html#approve-and-request-changes-explicitly? |
In order not to confuse adopters of TSIM, who would like to use TSIM to simulate any hardware instead of VTA itself, can we have a guide that is not part of the Once VTA can be simulated by TSIM we can merge it back. |
I've approved the changes @vegaluisjose @tqchen. There seems to be an issue with the pr-merge CI; perhaps the branch should be re-based? |
@tmoreau89 the ci is now green |
Thanks @vegaluisjose and all the reviewers ! This is a great start for us to develop, evaluate and integrate chisel3 based implement of VTA. |
…apache#3009 (apache#3010) * merge files * move verilator to the right place * change name to tsim * add default rule to be build and run * add README for tsim * Update README.md * add some structural feedback * change name of VTASim to VTADPISim * more renaming * update comment * add license * fix indentation * add switch for vta-tsim * add more licenses * update readme * address some of the new feedback * add some feedback from cpplint * add one more whitespace * pass pointer so linter is happy * pass pointer so linter is happy * README moved to vta documentation * create types for dpi functions, so they can be handle easily * fix pointer style * add feedback from docs * parametrize width data and pointers * fix comments * fix comment * add comment to class * add missing parameters * move README back to tsim example * add feedback * add more comments and remove un-necessary argument in finish * update comments * fix cpplint * fix doc
…apache#3009 (apache#3010) * merge files * move verilator to the right place * change name to tsim * add default rule to be build and run * add README for tsim * Update README.md * add some structural feedback * change name of VTASim to VTADPISim * more renaming * update comment * add license * fix indentation * add switch for vta-tsim * add more licenses * update readme * address some of the new feedback * add some feedback from cpplint * add one more whitespace * pass pointer so linter is happy * pass pointer so linter is happy * README moved to vta documentation * create types for dpi functions, so they can be handle easily * fix pointer style * add feedback from docs * parametrize width data and pointers * fix comments * fix comment * add comment to class * add missing parameters * move README back to tsim example * add feedback * add more comments and remove un-necessary argument in finish * update comments * fix cpplint * fix doc
Great discussion, learned a lot. Thanks, |
…apache#3009 (apache#3010) * merge files * move verilator to the right place * change name to tsim * add default rule to be build and run * add README for tsim * Update README.md * add some structural feedback * change name of VTASim to VTADPISim * more renaming * update comment * add license * fix indentation * add switch for vta-tsim * add more licenses * update readme * address some of the new feedback * add some feedback from cpplint * add one more whitespace * pass pointer so linter is happy * pass pointer so linter is happy * README moved to vta documentation * create types for dpi functions, so they can be handle easily * fix pointer style * add feedback from docs * parametrize width data and pointers * fix comments * fix comment * add comment to class * add missing parameters * move README back to tsim example * add feedback * add more comments and remove un-necessary argument in finish * update comments * fix cpplint * fix doc
Hi, I download the example at https://github.com/apache/tvm-vta/tree/main/apps/tsim_example, and install Verilator(4.216 2021-12-05 version) on Ubuntu18.04. when i make it(run_verilog), i got the fllowing error, how should i do? |
I think the DPI interface changed (the verilog files here), and the example (chisel) has to be update it to take into account that. |
use https://github.com/apache/tvm-vta/tree/87ce9acfae550d1a487746e9d06c2e250076e54c/apps/tsim_example was OK. but when run "python3 tests/python/verilog_accel.py", it reported: libhw.so: undefined symbol : VTASimDPI why? |
The implementation of VTASimDPI does not seems to be loaded, perhaps a path issue in CMAKE files. |
RFC in #3009