minor update
This commit is contained in:
@@ -33,6 +33,13 @@ extern int vx_upload_kernel_bytes(vx_device_h device, const void* content, size_
|
||||
while (offset < size) {
|
||||
auto chunk_size = std::min<size_t>(buffer_transfer_size, size - offset);
|
||||
std::memcpy(buf_ptr, (uint8_t*)content + offset, chunk_size);
|
||||
|
||||
/*printf("** Upload Kernel to 0x%0x: data=", kernel_base_addr + offset);
|
||||
for (int i = 0, n = ((chunk_size+7)/8); i < n; ++i) {
|
||||
printf("%08x", ((uint64_t*)((uint8_t*)content + offset))[n-1-i]);
|
||||
}
|
||||
printf("\n");*/
|
||||
|
||||
err = vx_copy_to_dev(buffer, kernel_base_addr + offset, chunk_size, 0);
|
||||
if (err != 0) {
|
||||
vx_buf_release(buffer);
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include "verilated.h"
|
||||
#include "verilated_stub.h"
|
||||
|
||||
#include "Vvortex_afu_shim.h"
|
||||
#include "Vvortex_afu_shim__Syms.h"
|
||||
#include "verilated.h"
|
||||
|
||||
#ifdef VCD_OUTPUT
|
||||
#include <verilated_vcd_c.h>
|
||||
@@ -17,7 +19,10 @@
|
||||
#include <list>
|
||||
#include <unordered_map>
|
||||
|
||||
#define CACHE_BLOCK_SIZE 64
|
||||
#undef MEM_BLOCK_SIZE
|
||||
#define MEM_BLOCK_SIZE (Vvortex_afu_shim::VL_BITS_avs_writedata / 8)
|
||||
|
||||
#define CACHE_BLOCK_SIZE 64
|
||||
|
||||
class opae_sim {
|
||||
public:
|
||||
|
||||
126
driver/opae/vlsim/verilated_stub.h
Normal file
126
driver/opae/vlsim/verilated_stub.h
Normal file
@@ -0,0 +1,126 @@
|
||||
#pragma once
|
||||
|
||||
#undef VL_ST_SIG8
|
||||
#define VL_ST_SIG8(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
CData name
|
||||
|
||||
#undef VL_ST_SIG16
|
||||
#define VL_ST_SIG16(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
SData name
|
||||
|
||||
#undef VL_ST_SIG64
|
||||
#define VL_ST_SIG64(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
QData name
|
||||
|
||||
#undef VL_ST_SIG
|
||||
#define VL_ST_SIG(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
IData name
|
||||
|
||||
#undef VL_ST_SIGW
|
||||
#define VL_ST_SIGW(name, msb, lsb, words) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
WData name[words]
|
||||
|
||||
#undef VL_SIG8
|
||||
#define VL_SIG8(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
CData name
|
||||
|
||||
#undef VL_SIG16
|
||||
#define VL_SIG16(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
SData name
|
||||
|
||||
#undef VL_SIG64
|
||||
#define VL_SIG64(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
QData name
|
||||
|
||||
#undef VL_SIG
|
||||
#define VL_SIG(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
IData name
|
||||
|
||||
#undef VL_SIGW
|
||||
#define VL_SIGW(name, msb, lsb, words) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
WData name[words]
|
||||
|
||||
#undef VL_IN8
|
||||
#define VL_IN8(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
CData name
|
||||
|
||||
#undef VL_IN16
|
||||
#define VL_IN16(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
SData name
|
||||
|
||||
#undef VL_IN64
|
||||
#define VL_IN64(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
QData name
|
||||
|
||||
#undef VL_IN
|
||||
#define VL_IN(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
IData name
|
||||
|
||||
#undef VL_INW
|
||||
#define VL_INW(name, msb, lsb, words) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
WData name[words]
|
||||
|
||||
#undef VL_INOUT8
|
||||
#define VL_INOUT8(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
CData name
|
||||
|
||||
#undef VL_INOUT16
|
||||
#define VL_INOUT16(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
SData name
|
||||
|
||||
#undef VL_INOUT64
|
||||
#define VL_INOUT64(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
QData name
|
||||
|
||||
#undef VL_INOUT
|
||||
#define VL_INOUT(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
IData name
|
||||
|
||||
#undef VL_INOUTW
|
||||
#define VL_INOUTW(name, msb, lsb, words) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
WData name[words]
|
||||
|
||||
#undef VL_OUT8
|
||||
#define VL_OUT8(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
CData name
|
||||
|
||||
#undef VL_OUT16
|
||||
#define VL_OUT16(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
SData name
|
||||
|
||||
#undef VL_OUT64
|
||||
#define VL_OUT64(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
QData name
|
||||
|
||||
#undef VL_OUT
|
||||
#define VL_OUT(name, msb, lsb) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
IData name
|
||||
|
||||
#undef VL_OUTW
|
||||
#define VL_OUTW(name, msb, lsb, words) \
|
||||
enum { VL_MSB_##name = msb, VL_LSB_##name = lsb, VL_BITS_##name = (msb - lsb + 1) }; \
|
||||
WData name[words]
|
||||
Reference in New Issue
Block a user