Comments (8)
looks like your memory has only 32 bytes - normally most of the tests need much more than that. Also DemoTB uses all 4GB 32 bit address space to place code and data - from address 0 to address 0xffffffff. TB external slaves are made around "sparse memory model", implemented as associative arrays.
from cores-veer-eh1.
firstlt i have declare it like reg [31:0] mem [4095:0] but after getting error and lots of search i have convert it to the same format as the memory is define in ahb_sif.sv file. But still the error remains
from cores-veer-eh1.
how is the memory declared in your TB?
if it's as in your original post, then it is defines 32 bytes memory storage, not sufficient to hold any program.
(with max address of 31)
the memory in DemoTB slaves is defined as associative array:
bit[7:0] mem[bit[31:0]] ;
where index is 32 bit vector.
even if you will define your memory as reg[7:0] mem [1<<16-1:0]
(64KB), program.hex, built with current makefile will cause the same error, since some addresses, used in these programs are higher than 64KB.
BTW, in earlier versions of this DB we had slave memories, used static fix size memory arrays ( see earlier git branches),
which similar to RTL memories implementations( and could be synthesized into FPGA), but it placed limitation on the test program address space and made test program compilation more complicated.
You can play with test linker files, CPU memory map defines and objcopy program options to build HEX files, suitable to your TB memories sizes/widths or write ELF loader as a DPI function for verilog.
But usage of associative arrays made test build process much simpler and more natural .
from cores-veer-eh1.
What if i declare the memory as u mention reg [7:0] mem [1<<16-1:0] but instead of 16 i use 32? Will it be a possible solution. As playing with Makefile is not suitable for me as i am not musch familiar with these makefiles.
from cores-veer-eh1.
Your server will need > 8GB memory to simulate this...
from cores-veer-eh1.
Oh ok. So can u provide any solution with respect to this solution u provided or any guide from where i can learn.
//
You can play with test linker files, CPU memory map defines and objcopy program options to build HEX files, suitable to your TB memories sizes/widths or write ELF loader as a DPI function for verilog.
//
from cores-veer-eh1.
gnu.org - gnu tools portal (binutils documentation - linker, objcopy, gcc , etc)
..objcopy -h
google.com (how to ...)
from cores-veer-eh1.
ok thanks
from cores-veer-eh1.
Related Issues (20)
- fpga_optimize cannot be set to 0 in swerv_config HOT 1
- openocd timeout occurs when trying to load elf file using command 'load_image'. HOT 7
- Try running multi thread program on swerv EH1 core HOT 2
- CoreMark test score HOT 2
- Unable to replicate performance improvement achieved by using different target values HOT 1
- Usage scenarios of different DFFs
- GHR refresh HOT 1
- Fusesoc's sim target is deprecated HOT 10
- Question about pipeline FF enable signals
- facing issues when C code size goes beyond 8KB HOT 1
- Coremark for new extension
- Repo renaming HOT 2
- Blocking Loads/DMA disable
- OpenOCD download to ICCM/DCCM failed. HOT 1
- The new feature of verilator stops building procession HOT 2
- coremark/dhrystone testing can't get 4.9 CM/MHz with rtl simulation or in FPGA
- Not generate waveform when using vcs to test Hello World. HOT 2
- Instruction after pmpaddr0 csr write was not executed HOT 7
- Timing violations with Vivado HOT 4
- slip in dec_decode_ctrl
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cores-veer-eh1.