* add support to event counters in VTA
* fix comment
* fix event-counter interface parameter
* no longer needed
* add sim back
* add docs to event counters
* fix docs
* add more details about event counting
* make dpi-module docs more accurate
* add initial support to cycle counter to accelerator
* remove prints from c
* add event counter support to chisel tsim example
* make it more readable
* use a config class
* update driver
* add individual Makefile to chisel
* add rule for installing vta package
* add makefile for verilog backend
* update drivers
* update
* rename
* update README
* put default sim back
* set counter to zero
* add documentation and check for extension
* add env variable for verilator include
* fix typo
* this will test if path exist otherwise it won't buid
* check if verilator path and binary is set properly
* add ?
* remove export
* no longer needed
* [Bugfix] [VTA] VTA DRAM Have A Logic Issue May Cause GEMM Output Wrong.
Symptom:
after change “LOG_BLOCK_IN” and “LOG_BLOCK_OUT” from vta_config.json
into 7, run vta "Simple Matrix Multiply" in "simulator", the vta
calculate result for GEMM is wrong.
Sometime VTA crash with error “Check failed: phy_addr != 0 (0 vs. 0) :
trying to get address that is nullptr”
Analysis:
Simulator hardcode kPageSize into 1<<12 and physical address calculate
based on this size, when doing “insn->dram_base” calculation , because
GetElemBytes(dst_memory_type) larger than page size, different physcial
address may get same dram_base, than caused logic issue and finally
trigger GEMM out put is wrong.
Solution:
add logic to check if PAGE SIZE larger then "GetElemBytes" return value.
* address review comments.
* [Bugfix][VTA] PkgConfig cause crash in PYNQ board due to link library
not exist.
Symptom:
When run vta_get_started.py with pynq board, host crash and
complain "cannot find -lsds_lib" and "cannot find -l:libdma.so"
Reproduce:
At pynq board, delete the ./build/vta_config.json, then run rpc
server.
In host machine run vta_get_started.py, issue would reproduce.
Analysis:
This issue caused by 'PkgConfig' function still using pynq2.1
library which not exist in pynq2.4 anymore, when a "reconfig_runtime"
logic of rpc_server.py get triggered , the compile would failed due to
link library not exist.
Solution:
change the link library to libcma.so.
* [Document Change][VTA] Change pynq version from 2.3 into 2.4.
Issue:
pynq 2.3 image not available anymore from pynq download page and pynq
2.4 is the current latest image which available in the said website, after
verification, currently VTA work good with pynq 2.4 image, hence update
related document from pynq 2.3 to 2.4.
Issue:
Once change LOG_BLOCK_IN or LOG_BLOCK_OUT into > 4 value, when run vta
“Simple Matrix Multiply” or load vta, vta would crash at vta_conv2d.py.
Analysis:
This issue caused by resnet18 logic of vta_conv2d.py which have
in_filter minmum size that is 16. > 4 value would cause such in_filter
check failed then make xfer_size be empty and find_schedules function
return a empty list finally cause crash.
Solution:
add the empty list check.
Issue:
One of existing illegal dependency check's condition always true,
the correct logic actually should be such check for store and load.
Solution:
Fix the said logic issue.
* 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
* assign default port to 9091 as the documented
* bug fix in printing RuntimeError and add an additional search path
* pretty print rebuild runtime args
* PRC => RPC
* replace vta_config.json file path
`build/vta_config.json` => `vta/config/vta_config.json`
* undo the change in adding lib_search path
* search vta_config.py file in vta/config
* avoid exposing driver function calls, and use predefined `VTAMemGetPhyAddr` instead.
* rename `tests/hardware/pynq` => `metal_test`
* set config path back to `build` dir
* bug fix for new drivers in new PYNQ image v2.1
* updating instructions for resnet inference
* updated the instructions for starting the RPC server
* deriving host/port from env for unit tests
* removing programming out of end to end example for now
* updating TOPI library to use gemm tensor intrinsic
* bug fix, autoschedule in TOPI conv lib
* removing the deprecated GEVM intrinsic
* refactoring, fixed lint test
* fix for integer division bug
* python3 bug fix for non matching types due to float division
* comment
* Hardware generation fixes/sweep, auto scheduling for VTA conv2d
* Hardware generation fixes/sweep, auto scheduling for VTA conv2d
* derive hw spec from config file
* up to date hardware spec