Comments (7)
Is there any reason why you are using the bitbang bridge instead of jtag_vpi, which is the supported solution in SweRVolf?
from cores-veer-eh1.
Oh, sorry. I thought this was the SweRVolf repo, not the SweRV repo. Anyway, SweRVolf, the reference platform for SweRV support this out of the box if that is of any help
from cores-veer-eh1.
There is no specific reason, it is just I am not using verilator but xcelium, and I find it a little easy to link 'bitbang' and 'SimJTAG.v' DPI files with it.
from cores-veer-eh1.
based on what I see in your logs - openocd could not connect/access Swerv JTAG controller -
(it tries to read JTAG ID register , but gets all 0s from it. Normally it would find Manufacturer ID as of WDC ).
from cores-veer-eh1.
@agrobman, jtag_id is an input. It should be tied off to the value you expect for your implementation.
The logs do indicate that the debugger is able to connect and gather some information (MISA etc).
Maybe your timeout is not long enough if the model is running slower. The logs show first abstractcs as 0x1002 - which indicates busy, and the 2nd one shows 0x1102, which indicates cmderr with busy as the error code...
from cores-veer-eh1.
What is your design memory map? what do you have at address 0x0? Do you have ICCM/DCCM and what address is set for PIC? what are the base addresses you set for ICCM/DCCM and PIC?
Based on the attached openocd trace the CPU was instructed to execute memory write abstract command to address 0x0, which was timed out.
if you run simulation, you should see the CPU System Bus (SB) write transaction started (AWVALID, WVALID from the CPU - check, that you get corresponded *READY are asserted too, then what you get BVALID from SB slave) - all in case if address 0x0 is not base address of ICCM/DCCM or PIC.
BTW, in the provided TB SB is tied off - any abstract command to the core external memory will time out. If you are trying to load your code to external memory, you'll need a sort of crossbar to route SB transactions to IFU bus slave memory. (does not exist in this testbench) to be able load code by debugger to that memory.
If your design configuration does have ICCM, you may consider to compile your test to ICCM addresses. In that case CPU will load your code to the ICCM. but if your CPU reset vector does not point to ICCM you'll need set up PC to the start address of your test before running it. Or you may configure your CPU to have ICCM starting from address 0x0 ..
from cores-veer-eh1.
Hello everyone,
It was really helpful to have your inputs, thank you all for the wonderful contributions. After spending some additional time in target simulation I was able to find why my abstract commands were failing. My SB was indeed tied of, causing debug state to remain as 'SB_CMD_RESP' for rest of the simulation.
Adding crossbar to route the transactions worked for me. Thanks for the suggestion @agrobman
Also, thanks @olofk for pointing me to the reference SwerRVolf repository, I tried it out and it really supports it out of the box. I am able to fix my issue now.
from cores-veer-eh1.
Related Issues (20)
- fpga_optimize cannot be set to 0 in swerv_config HOT 1
- 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
- Has the maintenance of this repository been stopped?
- 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.