Comments (5)
I notice that the first PC that is reported is 0x00100000, but your code starts at _start
, which has address 0x0010054
. And the reported instruction contents are 0x464c457f
, which don't match anything in the objdump.
Is the problem just that you've started at the wrong address?
from ibex.
0x464c457f, which don't match anything in the objdump.
0x464c457f is the ELF magic number, could the file have been loaded 'raw'?
Also shouldn't the code be at 0010xxxx but the disassembly seems to be 0001xxxx?
from ibex.
now the first instruction is at the address of 0x00100000
in objdump:
00100000 <_start>:
100000: 21600093 li ra,534
100004: 33a00113 li sp,826
100008: c7300193 li gp,-909
10000c: 8ad00213 li tp,-1875
100010: 10200293 li t0,258
100014: 6f200313 li t1,1778
100018: b9f00393 li t2,-1121
10001c: b2100413 li s0,-1247
100020: 1f500493 li s1,501
100024: 7e600513 li a0,2022
100028: 69100593 li a1,1681
10002c: f1d00613 li a2,-227
100030: a1500693 li a3,-1515
100034: a7f00713 li a4,-1409
100038: e3d00793 li a5,-451
instructions are still reported illegal but at a different address again:
Simulation running, end by pressing CTRL-c.
Tracing enabled.
Writing simulation traces to sim.fst
17: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
97: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
177: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
257: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
337: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
417: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
497: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
577: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
657: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
737: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
817: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
Actually the first illegal instruction is always reported at a different address if I run a different binary, although the start address of these binaries are all the same at 0x00100000
from ibex.
I'd suggest taking a look at the simulation trace that's coming out. Notice that the cycle counter in the first column is now going up by 80 each line (instead of just one). My guess is that Ibex thinks it's running 79 valid instructions in the gaps...
from ibex.
Related Issues (20)
- Ask a question related to Ibex
- [dv] Improve instruction trace around faulting instructions
- Ask a question related to Ibex HOT 2
- Strange performance counters after following Simple System guide HOT 1
- How can I run ibex RTL simulation with VCS on Ubuntu
- RISCV-DV not running on RHEL 8. Python files throwing pydantic package error HOT 2
- Running ibex-core dv env in questa HOT 15
- Issue with Questa
- The testcase files HOT 2
- Using different toolchain to build simulation
- How to interpret the output signals from the VCD file in GTKWave after simulating the IBEX core HOT 1
- Is it possible to use newer versions of Verilator and FuseSOC HOT 9
- How to run the regression test suite for Ibex design verification?
- Cosim mismatch in some tests with PMP enabled using QuestaSim HOT 5
- Cosim verification seed and randomization dependency. HOT 1
- edn_pkg does not exist HOT 1
- Upgrade Verilator dependency
- docs/readthedocs.org:ibex-core CI step keeps failing HOT 1
- Upgrade verilator HOT 1
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 ibex.