From 9656779d48b2e5d20a4390d892329ff8c5773f3f Mon Sep 17 00:00:00 2001 From: Blaise Tine Date: Sun, 14 Nov 2021 04:45:06 -0500 Subject: [PATCH] minor update --- driver/common/opae.cpp | 10 +++++----- driver/rtlsim/vortex.cpp | 8 ++++---- driver/simx/vortex.cpp | 12 ++++++------ hw/rtl/VX_config.vh | 8 ++++++-- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/driver/common/opae.cpp b/driver/common/opae.cpp index de6e0fbb..aa4bf933 100755 --- a/driver/common/opae.cpp +++ b/driver/common/opae.cpp @@ -67,7 +67,7 @@ typedef struct vx_buffer_ { size_t size; } vx_buffer_t; -inline size_t align_size(size_t size, size_t alignment) { +inline size_t aligned_size(size_t size, size_t alignment) { assert(0 == (alignment & (alignment - 1))); return (size + alignment - 1) & ~(alignment - 1); } @@ -288,7 +288,7 @@ extern int vx_alloc_dev_mem(vx_device_h hdevice, size_t size, size_t* dev_maddr) vx_device_t *device = ((vx_device_t*)hdevice); size_t dev_mem_size = LOCAL_MEM_SIZE; - size_t asize = align_size(size, CACHE_BLOCK_SIZE); + size_t asize = aligned_size(size, CACHE_BLOCK_SIZE); if (device->mem_allocation + asize > dev_mem_size) return -1; @@ -313,7 +313,7 @@ extern int vx_alloc_shared_mem(vx_device_h hdevice, size_t size, vx_buffer_h* hb vx_device_t *device = ((vx_device_t*)hdevice); - size_t asize = align_size(size, CACHE_BLOCK_SIZE); + size_t asize = aligned_size(size, CACHE_BLOCK_SIZE); res = fpgaPrepareBuffer(device->fpga, asize, &host_ptr, &wsid, 0); if (FPGA_OK != res) { @@ -439,7 +439,7 @@ extern int vx_copy_to_dev(vx_buffer_h hbuffer, size_t dev_maddr, size_t size, si vx_device_t *device = ((vx_device_t*)buffer->hdevice); size_t dev_mem_size = LOCAL_MEM_SIZE; - size_t asize = align_size(size, CACHE_BLOCK_SIZE); + size_t asize = aligned_size(size, CACHE_BLOCK_SIZE); // check alignment if (!is_aligned(dev_maddr, CACHE_BLOCK_SIZE)) @@ -480,7 +480,7 @@ extern int vx_copy_from_dev(vx_buffer_h hbuffer, size_t dev_maddr, size_t size, vx_device_t *device = ((vx_device_t*)buffer->hdevice); size_t dev_mem_size = LOCAL_MEM_SIZE; - size_t asize = align_size(size, CACHE_BLOCK_SIZE); + size_t asize = aligned_size(size, CACHE_BLOCK_SIZE); // check alignment if (!is_aligned(dev_maddr, CACHE_BLOCK_SIZE)) diff --git a/driver/rtlsim/vortex.cpp b/driver/rtlsim/vortex.cpp index 64fcd72e..cfed5a97 100644 --- a/driver/rtlsim/vortex.cpp +++ b/driver/rtlsim/vortex.cpp @@ -22,7 +22,7 @@ public: vx_buffer(size_t size, vx_device* device) : size_(size) , device_(device) { - auto aligned_asize = align_size(size, CACHE_BLOCK_SIZE); + auto aligned_asize = aligned_size(size, CACHE_BLOCK_SIZE); data_ = malloc(aligned_asize); } @@ -66,7 +66,7 @@ public: int alloc_local_mem(size_t size, size_t* dev_maddr) { auto dev_mem_size = LOCAL_MEM_SIZE; - size_t asize = align_size(size, CACHE_BLOCK_SIZE); + size_t asize = aligned_size(size, CACHE_BLOCK_SIZE); if (mem_allocation_ + asize > dev_mem_size) return -1; *dev_maddr = mem_allocation_; @@ -75,7 +75,7 @@ public: } int upload(const void* src, size_t dest_addr, size_t size, size_t src_offset) { - size_t asize = align_size(size, CACHE_BLOCK_SIZE); + size_t asize = aligned_size(size, CACHE_BLOCK_SIZE); if (dest_addr + asize > ram_.size()) return -1; @@ -93,7 +93,7 @@ public: } int download(void* dest, size_t src_addr, size_t size, size_t dest_offset) { - size_t asize = align_size(size, CACHE_BLOCK_SIZE); + size_t asize = aligned_size(size, CACHE_BLOCK_SIZE); if (src_addr + asize > ram_.size()) return -1; diff --git a/driver/simx/vortex.cpp b/driver/simx/vortex.cpp index 5ad4242b..5c31cb87 100644 --- a/driver/simx/vortex.cpp +++ b/driver/simx/vortex.cpp @@ -25,7 +25,7 @@ public: vx_buffer(size_t size, vx_device* device) : size_(size) , device_(device) { - auto aligned_asize = align_size(size, CACHE_BLOCK_SIZE); + auto aligned_asize = aligned_size(size, CACHE_BLOCK_SIZE); data_ = malloc(aligned_asize); } @@ -70,7 +70,7 @@ public: mem_allocation_ = ALLOC_BASE_ADDR; mmu_.attach(ram_, 0, 0xffffffff); for (int i = 0; i < arch_.num_cores(); ++i) { - cores_[i] = std::make_shared(arch_, decoder_, mmu_, i); + cores_.at(i) = std::make_shared(arch_, decoder_, mmu_, i); } } @@ -84,7 +84,7 @@ public: int alloc_local_mem(size_t size, size_t* dev_maddr) { auto dev_mem_size = LOCAL_MEM_SIZE; - auto asize = align_size(size, CACHE_BLOCK_SIZE); + auto asize = aligned_size(size, CACHE_BLOCK_SIZE); if (mem_allocation_ + asize > dev_mem_size) return -1; *dev_maddr = mem_allocation_; @@ -93,7 +93,7 @@ public: } int upload(const void* src, size_t dest_addr, size_t size, size_t src_offset) { - auto asize = align_size(size, CACHE_BLOCK_SIZE); + auto asize = aligned_size(size, CACHE_BLOCK_SIZE); if (dest_addr + asize > ram_.size()) return -1; @@ -108,7 +108,7 @@ public: } int download(void* dest, size_t src_addr, size_t size, size_t dest_offset) { - size_t asize = align_size(size, CACHE_BLOCK_SIZE); + size_t asize = aligned_size(size, CACHE_BLOCK_SIZE); if (src_addr + asize > ram_.size()) return -1; @@ -126,7 +126,7 @@ public: mutex_.lock(); for (int i = 0; i < arch_.num_cores(); ++i) { - cores_[i]->clear(); + cores_.at(i)->clear(); } is_running_ = true; mutex_.unlock(); diff --git a/hw/rtl/VX_config.vh b/hw/rtl/VX_config.vh index b52a1ab2..de58d9ee 100644 --- a/hw/rtl/VX_config.vh +++ b/hw/rtl/VX_config.vh @@ -1,6 +1,10 @@ `ifndef VX_CONFIG `define VX_CONFIG +`ifndef XLEN +`define XLEN 32 +`endif + `ifndef NUM_CLUSTERS `define NUM_CLUSTERS 1 `endif @@ -373,7 +377,7 @@ // Number of banks `ifndef L2_NUM_BANKS -`define L2_NUM_BANKS `MIN(`NUM_CORES, 4) +`define L2_NUM_BANKS ((`NUM_CORES < 4) ? `NUM_CORES : 4) `endif // Number of ports per bank @@ -415,7 +419,7 @@ // Number of banks `ifndef L3_NUM_BANKS -`define L3_NUM_BANKS `MIN(`NUM_CLUSTERS, 4) +`define L3_NUM_BANKS ((`NUM_CLUSTERS < 4) ? `NUM_CORES : 4) `endif // Number of ports per bank