minor update

This commit is contained in:
Blaise Tine
2021-04-27 05:52:01 -04:00
parent 64848788a1
commit 2216a3059d
3 changed files with 140 additions and 2 deletions

View File

@@ -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);

View File

@@ -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:

View 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]