Giter Site home page Giter Site logo

Comments (7)

olofk avatar olofk commented on June 5, 2024

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.

olofk avatar olofk commented on June 5, 2024

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.

nikhill-agnisys avatar nikhill-agnisys commented on June 5, 2024

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.

agrobman avatar agrobman commented on June 5, 2024

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.

aprnath avatar aprnath commented on June 5, 2024

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

agrobman avatar agrobman commented on June 5, 2024

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.

nikhill-agnisys avatar nikhill-agnisys commented on June 5, 2024

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.

image

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.