lowRISC / lowRISC/mocha

Improve cva6 tracer

Open
#231 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
SystemVerilog
Stars
38
Forks
21
Avg merge
2d 23h
Merged PRs (30d)
14

Description

Log the instructions with the same level of detials of ibex.

Time	Cycle	PC	Insn	Decoded instruction	Register and memory contents
             18	         5	00100080	001000b7	lui	x1,0x100	  x1=0x00100000
             22	         7	00100084	08808067	jalr	x0,136(x1)	  x1:0x00100000  x0=0x00000000
             30	        11	00100088	30405073	csrrwi	x0,mie,0	  x0=0x00000000
             36	        14	0010008c	34405073	csrrwi	x0,mip,0	  x0=0x00000000
             38	        15	00100090	00000297	auipc	x5,0x0	  x5=0x00100090+0x000000000
             42	        17	00100094	20828293	addi	x5,x5,520	  x5:0x00100090  x5=0x00100298
             46	        19	00100098	30529073	csrrw	x0,mtvec,x5	  x5:0x00100298  x0=0x00000000
             50	        21	0010009c	00000093	addi	x1,x0,0	  x0:0x00000000  x1=0x00000000
  ...
            134	        63	001000f0	00000c93	addi	x25,x0,0	  x0:0x00000000 x25=0x00000000
            138	        65	001000f4	00000d13	addi	x26,x0,0	  x0:0x00000000 x26=0x00000000
            142	        67	001000f8	00000d93	addi	x27,x0,0	  x0:0x00000000 x27=0x00000000
            146	        69	001000fc	00000e13	addi	x28,x0,0	  x0:0x00000000 x28=0x00000000
            150	        71	00100100	00000e93	addi	x29,x0,0	  x0:0x00000000 x29=0x00000000
            154	        73	00100104	00000f13	addi	x30,x0,0	  x0:0x00000000 x30=0x00000000
            158	        75	00100108	00000f93	addi	x31,x0,0	  x0:0x00000000 x31=0x00000000
            162	        77	0010010c	fff00197	auipc	x3,0xfff00	  x3=0x0000010c+0x000000000
            166	        79	00100110	6f418193	addi	x3,x3,1780	  x3:0x0000010c  x3=0x00000800
            170	        81	00100114	f14023f3	csrrs	x7,mhartid,x0	  x0:0x00000000  x7=0x00000000
            174	        83	00100118	000002b7	lui	x5,0x0	  x5=0x00000000
            178	        85	0010011c	00028293	addi	x5,x5,0	  x5:0x00000000  x5=0x00000000
            182	        87	00100120	0072f463	bgeu	x5,x7,100128	  x5:0x00000000  x7:0x00000000
            190	        91	00100128	000012b7	lui	x5,0x1	  x5=0x00001000
            194	        93	0010012c	00028293	addi	x5,x5,0	  x5:0x00001000  x5=0x00001000
            202	        97	00100130	025382b3	mul	x5,x7,x5	  x7:0x00000000  x5:0x00001000  x5=0x00000000
            204	        98	00100134	00020317	auipc	x6,0x20	  x6=0x00120134+0x000000000
            206	        99	00100138	ecc30313	addi	x6,x6,-308	  x6:0x00120134  x6=0x00120000
            210	       101	0010013c	40530333	sub	x6,x6,x5	  x6:0x00120000  x5:0x00000000  x6=0x00120000
            214	       103	00100140	ff037113	andi	x2,x6,-16	  x6:0x00120000  x2=0x00120000
            218	       105	00100144	00010433	add	x8,x2,x0	  x2:0x00120000  x0:0x00000000  x8=0x00120000
            222	       107	00100148	ff010113	addi	x2,x2,-16	  x2:0x00120000  x2=0x0011fff0
            226	       109	0010014c	00a12023	sw	x10,0(x2)	  x2:0x0011fff0 x10:0x00000000 PA:0x0011fff0 store:0x000000000

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the CVA6 tracer and the existing Ibex tracer, then compare how each formats instruction logs. Use the example in this issue as the target output, including instruction details, register and memory contents, and timing fields; done means the CVA6 trace provides the same level of detail.

Written by the indexing model from the issue text.

Assessment

Domain
observability
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.