diff --git a/vta/config/vta_config.json b/vta/config/vta_config.json index 8a7bcc01af62b..27a2289b2b8b7 100644 --- a/vta/config/vta_config.json +++ b/vta/config/vta_config.json @@ -1,5 +1,5 @@ { - "TARGET" : "pynq", + "TARGET" : "sim", "HW_VER" : "0.0.2", "HW_FREQ" : 100, "HW_CLK_TARGET" : 7, diff --git a/vta/src/sim/sim_driver.cc b/vta/src/sim/sim_driver.cc index 8123d73c0fb58..58d322a07c8ad 100644 --- a/vta/src/sim/sim_driver.cc +++ b/vta/src/sim/sim_driver.cc @@ -483,6 +483,11 @@ class Device { return std::min(x, y); }); } + case VTA_ALU_OPCODE_MUL: { + return RunALULoop(op, [](int32_t x, int32_t y) { + return x * y; + }); + } case VTA_ALU_OPCODE_SHR: { return RunALULoop(op, [](int32_t x, int32_t y) { if (y >= 0) { diff --git a/vta/tests/python/integration/test_benchmark_topi_conv2d.py b/vta/tests/python/integration/test_benchmark_topi_conv2d.py index 5b7ceb7404e60..91ac6b5f6f264 100644 --- a/vta/tests/python/integration/test_benchmark_topi_conv2d.py +++ b/vta/tests/python/integration/test_benchmark_topi_conv2d.py @@ -202,6 +202,7 @@ def run_vta_conv2d(env, remote, key, batch_size, wl, profile=True): res = topi.add(res, bias) res = topi.multiply(res, coeff) res = my_clip(res, 0, (1 << env.OUT_WIDTH-1)-1) + res = topi.cast(res, "int8") # Handle quantized outputs (less than 8 bits) # o_pack_factor = 1 << (3 - env.LOG_OUT_WIDTH)