[VTA] Generate a new bitstream for other targets and clk-frequency

Hi all,

Recently, I’m helping my mentor research open source DL accelerators, and our short-term goal is to implement these accelerators on our own FPGA platform. Vta attracted me so much for its complete software tool chain and customizable architecture. I’m very glade to join you, it’s realy a special attempt for me.

I have successful run resnet-18 in my PYNQ-v2 by following VTA Installation Guide and vta tutorials. Now I’m working on generate an optimal bitstream for other FPGA with more resources. Some problems are bothering me:

1.Where can I find the configuration information:“HW_FREQ” and “HW_CLK_TARGET” that mentioned in “VTA Intallation Guide—HLS-based Custom VTA Bitstream Compilation for Pynq”. I tried to search the key-words in the whole “TVM” project but find nothing. Then I find object self.fpga_freq and self.fpga_per in in pkg_config.py file, but it seems noting changed between new bitstream generated with “142MHz” and “6ns” and old bitstream.

2.I notice vta architecture have some “knobs” which provide users to adjust VTA in GEMM hardware intrinsic shape, numbers of parallel arithmetic units in the tensor ALU, BRAM distribution bwteen on-chip memories… Are these “knobs” those listed in the vta_config.json file? What is their correspondence? If not, where can I config them?

I’ll be very appreciate if someone being able to get me through these problem. Thanks a lot.

I recommend to you read tvm/3rdparty/vta-hw/include/vta/hw_spec.h might be help you… almost all parameters in there.

Thank you!

I have found these parameters. It may takes me some time to understand the corresponding physical meaning and setting rules.

But I still can’t find the two configuration information mentioned in the first question.Have you ever modified them?

I believe those parameters have been changed.

Unfortunately the tutorial hasn’t been updated to reflect this as of now.

1 Like