Repository Analysis

OpenXiangShan/XiangShan

Open-source high-performance RISC-V processor

27.3 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of OpenXiangShan/XiangShan, a Scala project with 7,143 GitHub stars. SynthScan v2.0 examined 162,080 lines of code across 656 source files, recording 890 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 27.3 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

27.3
Adjusted Score
27.3
Raw Score
100%
Time Factor
2026-07-14
Last Push
7.1K
Stars
Scala
Language
162.1K
Lines of Code
656
Files
890
Pattern Hits
2026-07-14
Scan Date
0.45
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 291HIGH 2MEDIUM 16LOW 581

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 890 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hallucination Indicators291 hits · 3775 pts
SeverityFileLineSnippetContext
CRITICALsrc/test/scala/xiangshan/frontend/FrontendTrigger.scala36 m.io.frontendTrigger.tUpdate.valid.poke(true.B)CODE
CRITICALsrc/test/scala/xiangshan/frontend/FrontendTrigger.scala37 m.io.frontendTrigger.tUpdate.bits.addr.poke(1.U)CODE
CRITICALsrc/test/scala/xiangshan/frontend/FrontendTrigger.scala38 m.io.frontendTrigger.tUpdate.bits.tdata.matchType.poke(3.U)CODE
CRITICALsrc/test/scala/xiangshan/frontend/FrontendTrigger.scala39 m.io.frontendTrigger.tUpdate.bits.tdata.tdata2.poke("h1234_567f".U)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala74 m.io.in.vtype.illegal.poke(ill)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala75 m.io.in.vtype.vta.poke(vta)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala76 m.io.in.vtype.vma.poke(vma)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala77 m.io.in.vtype.vsew.poke(vsew)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala78 m.io.in.vtype.vlmul.poke(vlmul)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala81 m.io.in.oldVt.illegal.poke(ill)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala82 m.io.in.oldVt.vta.poke(vta)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala83 m.io.in.oldVt.vma.poke(vma)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala84 m.io.in.oldVt.vsew.poke(vsew)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala85 m.io.in.oldVt.vlmul.poke(vlmul)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala95 m.io.out.vconfig.vtype.illegal.expect(testVill.B, message)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala96 m.io.out.vconfig.vtype.vta.expect(testVta.B, message)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala97 m.io.out.vconfig.vtype.vma.expect(testVma.B, message)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala98 m.io.out.vconfig.vtype.vsew.expect(testVsew, message)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala99 m.io.out.vconfig.vtype.vlmul.expect(testVlmul, message)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala100 m.io.out.vconfig.vl.expect(testVl.U, message)CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala102 println(s"illegal: ${m.io.out.vconfig.vtype.illegal.peek().litValue}")CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala103 println(s"vta: ${m.io.out.vconfig.vtype.vta.peek().litToBoolean} ")CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala104 println(s"vma: ${m.io.out.vconfig.vtype.vma.peek().litToBoolean} ")CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala105 println(s"vsew: ${m.io.out.vconfig.vtype.vsew.peek().litValue} ")CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala106 println(s"vlmul: ${m.io.out.vconfig.vtype.vlmul.peek().litValue} ")CODE
CRITICAL…c/test/scala/xiangshan/backend/fu/VsetModuleMain.scala107 println(s"vl: ${m.io.out.vconfig.vl.peek().litValue} ")CODE
CRITICALsrc/test/scala/xiangshan/backend/fu/VsetTop.scala51 vsetRiWi.io.in.bits.data.src(0) := io.in.avlCODE
CRITICALsrc/test/scala/xiangshan/backend/fu/VsetTop.scala52 vsetRiWi.io.in.bits.data.src(1) := vtypeStruct.asUIntCODE
CRITICALsrc/test/scala/xiangshan/backend/fu/VsetTop.scala59 vsetRiWvf.io.in.bits.data.src(0) := io.in.avlCODE
CRITICALsrc/test/scala/xiangshan/backend/fu/VsetTop.scala60 vsetRiWvf.io.in.bits.data.src(1) := vtypeStruct.asUIntCODE
CRITICALsrc/test/scala/xiangshan/backend/fu/VsetTop.scala69 vsetRvfWvf.io.in.bits.data.src(0) := vconfig.asUIntCODE
CRITICALsrc/test/scala/xiangshan/backend/fu/VsetTop.scala70 vsetRvfWvf.io.in.bits.data.src(1) := Mux(VSETOpType.isVsetvl(io.in.func), vtypeStruct.asUInt, vtypeStruct.asUInt(7, 0)CODE
CRITICALsrc/test/scala/xiangshan/backend/fu/VsetTop.scala99 io.debug.src0(0) := vsetRiWi.io.in.bits.data.src(0)CODE
CRITICALsrc/test/scala/xiangshan/backend/fu/VsetTop.scala100 io.debug.src0(1) := vsetRiWi.io.in.bits.data.src(1)CODE
CRITICALsrc/test/scala/xiangshan/backend/fu/VsetTop.scala103 io.debug.src1(0) := vsetRiWvf.io.in.bits.data.src(0)CODE
CRITICALsrc/test/scala/xiangshan/backend/fu/VsetTop.scala104 io.debug.src1(1) := vsetRiWvf.io.in.bits.data.src(1)CODE
CRITICALsrc/test/scala/xiangshan/backend/fu/VsetTop.scala107 io.debug.src2(0) := vsetRvfWvf.io.in.bits.data.src(0)CODE
CRITICALsrc/test/scala/xiangshan/backend/fu/VsetTop.scala108 io.debug.src2(1) := vsetRvfWvf.io.in.bits.data.src(1)CODE
CRITICALsrc/main/scala/top/Top.scala325 chi_llcBridge_opt.get.module.io.chi.connect(memLogger.io.down)CODE
CRITICALsrc/main/scala/top/Top.scala384 val dmResetReqVec = misc.module.debug_module_io.resetCtrl.hartResetReq.getOrElse(0.U.asTypeOf(Vec(core_with_l2.mapCODE
CRITICALsrc/main/scala/top/XSNoCTop.scala136 core_with_l2.clintIntNode.get.out.head._1(0)CODE
CRITICALsrc/main/scala/top/XSNoCTop.scala138 core_with_l2.timer.get.intnode.out.head._1(0)CODE
CRITICALsrc/main/scala/top/XSNoCTop.scala142 core_with_l2.clintIntNode.get.out.head._1(1)CODE
CRITICALsrc/main/scala/top/XSNoCTop.scala144 core_with_l2.timer.get.intnode.out.head._1(1)CODE
CRITICALsrc/main/scala/xiangshan/XSDts.scala75 val outer = memBlock.inner.dcache.clientNode.edges.out.flatMap(_.manager.managers)CODE
CRITICALsrc/main/scala/xiangshan/XSDts.scala104 memBlock.inner.clint_int_sink.edges.in.flatMap(_.source.sources) ++CODE
CRITICALsrc/main/scala/xiangshan/XSDts.scala105 memBlock.inner.plic_int_sink.edges.in.flatMap(_.source.sources) ++CODE
CRITICALsrc/main/scala/xiangshan/XSDts.scala106 memBlock.inner.debug_int_sink.edges.in.flatMap(_.source.sources) ++CODE
CRITICALsrc/main/scala/xiangshan/XSDts.scala107 memBlock.inner.nmi_int_sink.edges.in.flatMap(_.source.sources)CODE
CRITICAL…/main/scala/xiangshan/cache/dcache/meta/TagArray.scala84 tag_array.io.w.req.bits.apply(CODE
CRITICAL…/main/scala/xiangshan/cache/dcache/meta/TagArray.scala94 tag_array.io.r.req.bits.apply(setIdx = io.read.bits.idx)CODE
CRITICAL…cala/xiangshan/cache/dcache/meta/LegacyMetaArray.scala81 tag_array.io.w.req.bits.apply(CODE
CRITICAL…cala/xiangshan/cache/dcache/meta/LegacyMetaArray.scala89 tag_array.io.r.req.bits.apply(setIdx = io.read.bits.idx)CODE
CRITICAL…cala/xiangshan/cache/dcache/meta/LegacyMetaArray.scala91 val ecc_errors = tag_array.io.r.resp.data.zipWithIndex.map({ case (d, w) =>CODE
CRITICAL…/xiangshan/cache/dcache/data/DuplicatedDataArray.scala127 ecc_array.io.w.req.bits.apply(CODE
CRITICAL…/xiangshan/cache/dcache/data/DuplicatedDataArray.scala135 ecc_array.io.r.req.bits.apply(setIdx = raddr)CODE
CRITICAL…cala/xiangshan/cache/dcache/data/BankedDataArray.scala127 data_sram.io.w.req.bits.apply(CODE
CRITICAL…cala/xiangshan/cache/dcache/data/BankedDataArray.scala133 data_sram.io.r.req.bits.apply(setIdx = io.r.addr)CODE
CRITICAL…cala/xiangshan/cache/dcache/data/BankedDataArray.scala200 data_bank.io.w.req.bits.apply(CODE
CRITICAL…cala/xiangshan/cache/dcache/data/BankedDataArray.scala207 data_bank.io.r.req.bits.apply(setIdx = io.r.addr)CODE
231 more matches not shown…
Over-Commented Block274 hits · 274 pts
SeverityFileLineSnippetContext
LOWscripts/pdb-run.py1#***************************************************************************************COMMENT
LOWscripts/xiangshan.py1#***************************************************************************************COMMENT
LOWscripts/xiangshan.py461 # "rv64uzvfh-p-vfcvtrxuf.bin",COMMENT
LOWscripts/xiangshan.py481 # "rv64uzvfh-p-vfncvtxf.bin",COMMENT
LOWscripts/xiangshan.py501 # "rv64uzvfh-p-vfwadd.bin",COMMENT
LOWscripts/statistics.py1#***************************************************************************************COMMENT
LOWscripts/constantHelper.py21# "init": 11COMMENT
LOWscripts/constantHelper.py41# {"successfully_forward_mshr": {"policy" :"max", "baseline" :0} },COMMENT
LOWscripts/xspdb/xspdb.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/__init__.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/cli_parser.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_flash.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_dasm.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_instr.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/util.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_break.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_wave.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_asm.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_com.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/__init__.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_elf.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_difftest.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_mrw.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_info.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_files.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_regs.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_fork_backup.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_trap.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_batch.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_tools.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/xscmd/cmd_dut.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/server.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/backend.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/config.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/summary_view.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/completion.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/asm_view.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/layout.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/constants.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/__init__.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/widgets.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/log_view.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/stream_render.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/textual_app.py1#***************************************************************************************COMMENT
LOWscripts/xspdb/ui/io_capture.py1#***************************************************************************************COMMENT
LOW.github/workflows/emu.yml241 - name: Simple Test - CoreMark 1 iterationCOMMENT
LOWdebug/cputest.sh1#!/bin/bashCOMMENT
LOWdebug/sc_stat.sh1#!/bin/bashCOMMENT
LOWdebug/env.sh1#***************************************************************************************COMMENT
LOWdebug/perf_sbuffer.sh1#!/bin/bashCOMMENT
LOW…xiangshan/frontend/bpu/SignedSaturateCounterTest.scala1// Copyright (c) 2024-2026 Beijing Institute of Open Source Chip (BOSC)COMMENT
LOW…scala/xiangshan/frontend/bpu/SaturateCounterTest.scala1// Copyright (c) 2024-2026 Beijing Institute of Open Source Chip (BOSC)COMMENT
LOWsrc/main/scala/xiangshan/package.scala101 object VstuType {COMMENT
LOWsrc/main/scala/xiangshan/package.scala641 def uvsetrd_vlmax_i = "b1000_0001".UCOMMENT
LOW…/main/scala/xiangshan/cache/dcache/DCacheWrapper.scala61) extends L1CacheParameters {COMMENT
LOW…/main/scala/xiangshan/cache/dcache/DCacheWrapper.scala201COMMENT
LOW…/main/scala/xiangshan/cache/dcache/DCacheWrapper.scala1581 //----------------------------------------COMMENT
LOW…/main/scala/xiangshan/cache/dcache/DCacheWrapper.scala1701 // ld_access.zip(ldu).foreach {COMMENT
LOW…iangshan/cache/dcache/mainpipe/AtomicsReplayUnit.scala141// io.pipe_req.bits.dump()COMMENT
LOW…cala/xiangshan/cache/dcache/data/BankedDataArray.scala501 val error_bank1 = io.pseudo_error.bits(bank_addr(1))COMMENT
214 more matches not shown…
Excessive Try-Catch Wrapping159 hits · 176 pts
SeverityFileLineSnippetContext
MEDIUMscripts/parser.py274 print("Error: cannot find submodules of {} or the module itself".format(submodule))CODE
LOWscripts/xspdb/xspdb.py336 except Exception:CODE
LOWscripts/xspdb/xspdb.py490 except Exception as e:CODE
LOWscripts/xspdb/xspdb.py558 except Exception:CODE
LOWscripts/xspdb/xspdb.py564 except Exception:CODE
LOWscripts/xspdb/xspdb.py593 except Exception as e:CODE
LOWscripts/xspdb/xspdb.py619 except Exception as e:CODE
LOWscripts/xspdb/xspdb.py651 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_dasm.py143 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_dasm.py166 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_dasm.py187 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_dasm.py212 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_dasm.py231 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_instr.py111 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_instr.py233 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_instr.py313 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_instr.py337 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_instr.py341 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_instr.py379 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_instr.py409 except Exception as e:CODE
LOWscripts/xspdb/xscmd/util.py67 except Exception:CODE
LOWscripts/xspdb/xscmd/util.py77 except Exception:CODE
LOWscripts/xspdb/xscmd/cmd_break.py177 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_break.py225 except Exception:CODE
LOWscripts/xspdb/xscmd/cmd_break.py253 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_break.py376 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_break.py385 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_asm.py166 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py315 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py384 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py421 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py453 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py481 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_mrw.py110 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_mrw.py183 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_mrw.py213 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_mrw.py242 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_mrw.py271 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_mrw.py301 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_mrw.py353 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_info.py356 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_files.py150 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_files.py174 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_files.py210 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_files.py233 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_files.py252 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_regs.py82 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_regs.py100 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_regs.py114 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_regs.py132 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py199 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py219 except Exception:CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py224 except Exception:CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py236 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py248 except Exception:CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py269 except Exception:CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py288 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_batch.py108 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_tools.py60 except Exception as e:CODE
LOWscripts/xspdb/xscmd/cmd_tools.py75 except Exception as e:CODE
99 more matches not shown…
Hyper-Verbose Identifiers55 hits · 57 pts
SeverityFileLineSnippetContext
LOWscripts/rolling.py541def add_common_perf_selection_args(parser: argparse.ArgumentParser) -> None:STRING
LOWscripts/parser.py303 def dump_negedge_modules_to_file(self, name, output_dir, with_submodule=True, try_prefix=None):CODE
LOWscripts/parser.py342def check_data_module_template(collection):CODE
LOWscripts/parser.py675def replace_mbist_scan_controller(out_dir):CODE
LOWscripts/xiangshan.py545 def __get_ci_crosspage_fetch_test(self, name=None):CODE
LOWscripts/xiangshan.py621 def __get_ci_workloads_instr_trace(self, name):CODE
LOWscripts/sram_size_collect.py7def extract_info_from_verilog(file_path):CODE
LOWscripts/perfcct.py110 def check_should_commit_last_line(pos = None):CODE
LOWscripts/xspdb/xspdb.py379 def api_update_pmem_base_and_first_inst_addr(self, a, b):CODE
LOWscripts/xspdb/xspdb.py412 def api_batch_append_tail_one_cmd(self, cmd):CODE
LOWscripts/xspdb/xscmd/cmd_flash.py77 def api_check_if_xspdb_init_bin_loaded(self):CODE
LOWscripts/xspdb/xscmd/cmd_flash.py88 def api_set_flash_data_values(self, base_offset, reg_index, reg_map, kdata, kname):CODE
LOWscripts/xspdb/xscmd/cmd_dasm.py33 def api_merge_asm_list_overlap_append(self, a, b):CODE
LOWscripts/xspdb/xscmd/cmd_instr.py359 def complete_xparse_instr_file(self, text, line, begidx, endidx):CODE
LOWscripts/xspdb/xscmd/cmd_instr.py382 def complete_xload_instr_file(self, text, line, begidx, endidx):CODE
LOWscripts/xspdb/xscmd/cmd_elf.py110 def api_update_local_elf_symbol_dict(self):CODE
LOWscripts/xspdb/xscmd/cmd_elf.py127 def api_echo_pc_symbol_block_change(self, current_pc, last_block_addr, last_pc):CODE
LOWscripts/xspdb/xscmd/cmd_elf.py161 def api_turn_on_pc_symbol_block_change(self, value = True):CODE
LOWscripts/xspdb/xscmd/cmd_elf.py170 def do_xtrace_pc_symbol_block_change(self, arg):CODE
LOWscripts/xspdb/xscmd/cmd_elf.py185 def complete_xtrace_pc_symbol_block_change(self, text, line, begidx, endidx):CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py104 def api_is_difftest_diff_exit(self, show_log=False):CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py136 def complete_xload_difftest_ref_so(self, text, line, begidx, endidx):CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py185 def api_istep_update_commit_pc(self):CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py205 def api_break_is_instruction_commit(self):CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py210 def api_break_is_watch_commit_pc(self):CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py215 def api_get_istep_last_commit_pc(self):CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py320 def api_difftest_get_instance(self, instance=0):CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py341 def complete_xdifftest_turn_on(self, text, line, begidx, endidx):CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py344 def do_xdifftest_turn_on_with_ref(self, arg):CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py360 def complete_xdifftest_turn_on_with_ref(self, text, line, begidx, endidx):CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py465 def do_xdifftest_pmem_base_first_instr_address(self, arg):CODE
LOWscripts/xspdb/xscmd/cmd_mrw.py306 def api_get_current_call_stack(self, max_depth=10):CODE
LOWscripts/xspdb/xscmd/cmd_info.py39 def api_increase_info_force_address(self, deta):CODE
LOWscripts/xspdb/xscmd/cmd_info.py50 def api_get_last_info_mid_address(self):CODE
LOWscripts/xspdb/xscmd/cmd_info.py60 def api_set_info_force_mid_address(self, val):CODE
LOWscripts/xspdb/xscmd/cmd_info.py71 def api_get_info_force_mid_address(self):CODE
LOWscripts/xspdb/xscmd/cmd_info.py95 def api_info_get_last_commit_pc(self):CODE
LOWscripts/xspdb/xscmd/cmd_info.py107 def do_xset_dasm_info_force_mid_address(self, arg):CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py94 def _fork_backup_cleanup_child(self):CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py175 def _fork_backup_on_break_any(self):CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py182 def _fork_backup_make_wave_path(self):CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py241 def _fork_backup_run_until_target(self):CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py279 def _fork_backup_child_post_fork_init(self):CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py294 def _fork_backup_redirect_stdio(self):CODE
LOWscripts/xspdb/xscmd/cmd_trap.py177 def complete_xgood_trap_disable(self, text, line, begidx, endidx):CODE
LOWscripts/xspdb/xscmd/cmd_batch.py79 def api_batch_get_default_break_cb(self):CODE
LOWscripts/xspdb/xscmd/cmd_batch.py85 def api_batch_get_default_break_cb(self):CODE
LOWscripts/xspdb/ui/textual_app.py715 def _handle_panel_scroll_keys(self, event) -> bool:STRING
LOWsrc/main/scala/xiangshan/package.scala194 def getAndPerform[R](idx: Int)(f: T => R, default: R={}): R = {CODE
LOWsrc/main/scala/xiangshan/cache/CacheInstruction.scala167 def cacheop_csr_is_being_write(csr_name: String): Bool = {CODE
LOWsrc/main/scala/xiangshan/cache/CacheInstruction.scala172 def update_cache_req_when_write(csr_name: String, req_field: Data) = {CODE
LOW…/scala/xiangshan/cache/dcache/mainpipe/MissQueue.scala831 def before_req_sent_can_merge(new_req: MissReqWoStoreData): Bool = {CODE
LOW…/scala/xiangshan/cache/dcache/mainpipe/MissQueue.scala840 def before_data_refill_can_merge(new_req: MissReqWoStoreData): Bool = {CODE
LOW…/scala/xiangshan/cache/dcache/mainpipe/MissQueue.scala855 def before_req_sent_merge_iskeyword(signals: MatchSignals, new_req: MissReqWoStoreData): Bool = {CODE
LOW…/scala/xiangshan/mem/sbuffer/StorePrefetchBursts.scala59 def cache_block_addr_difference(req_addr: UInt, last_addr: UInt): UInt = {CODE
Deep Nesting52 hits · 50 pts
SeverityFileLineSnippetContext
LOWscripts/rolling.py308CODE
LOWscripts/rolling.py482CODE
LOWscripts/rolling.py668CODE
LOWscripts/parser.py383CODE
LOWscripts/parser.py593CODE
LOWscripts/parser.py59CODE
LOWscripts/parser.py166CODE
LOWscripts/parser.py202CODE
LOWscripts/parser.py241CODE
LOWscripts/parser.py464CODE
LOWscripts/xiangshan.py696CODE
LOWscripts/xiangshan.py702CODE
LOWscripts/statistics.py31CODE
LOWscripts/perfcct.py101CODE
LOWscripts/perfcct.py31CODE
LOWscripts/constantHelper.py196CODE
LOWscripts/constantHelper.py255CODE
LOWscripts/top-down/utils.py13CODE
LOWscripts/top-down/utils.py89CODE
LOWscripts/top-down/draw.py10CODE
LOWscripts/top-down/draw.py92CODE
LOWscripts/xspdb/xspdb.py541CODE
LOWscripts/xspdb/xscmd/cmd_flash.py88CODE
LOWscripts/xspdb/xscmd/cmd_instr.py25CODE
LOWscripts/xspdb/xscmd/cmd_instr.py115CODE
LOWscripts/xspdb/xscmd/cmd_instr.py163CODE
LOWscripts/xspdb/xscmd/cmd_instr.py247CODE
LOWscripts/xspdb/xscmd/util.py292CODE
LOWscripts/xspdb/xscmd/cmd_break.py463CODE
LOWscripts/xspdb/xscmd/cmd_asm.py28CODE
LOWscripts/xspdb/xscmd/cmd_elf.py31CODE
LOWscripts/xspdb/xscmd/cmd_difftest.py223CODE
LOWscripts/xspdb/xscmd/cmd_info.py225CODE
LOWscripts/xspdb/xscmd/cmd_files.py120CODE
LOWscripts/xspdb/xscmd/cmd_fork_backup.py94CODE
LOWscripts/xspdb/xscmd/cmd_trap.py79CODE
LOWscripts/xspdb/xscmd/cmd_tools.py23CODE
LOWscripts/xspdb/xscmd/cmd_dut.py41CODE
LOWscripts/xspdb/xscmd/cmd_dut.py50CODE
LOWscripts/xspdb/ui/server.py351CODE
LOWscripts/xspdb/ui/server.py218CODE
LOWscripts/xspdb/ui/server.py269CODE
LOWscripts/xspdb/ui/completion.py157CODE
LOWscripts/xspdb/ui/layout.py30CODE
LOWscripts/xspdb/ui/log_view.py86CODE
LOWscripts/xspdb/ui/stream_render.py44CODE
LOWscripts/xspdb/ui/textual_app.py240CODE
LOWscripts/xspdb/ui/textual_app.py336CODE
LOWscripts/xspdb/ui/textual_app.py621CODE
LOWscripts/xspdb/ui/textual_app.py715CODE
LOW.github/workflows/nightly_perf_diff.py14CODE
LOW.github/workflows/nightly_perf_diff.py37CODE
Unused Imports31 hits · 31 pts
SeverityFileLineSnippetContext
LOWscripts/xiangshan.py21CODE
LOWscripts/xiangshan.py30CODE
LOWscripts/constantHelper.py8CODE
LOWscripts/cache/l2DB_helper.py2CODE
LOWscripts/xspdb/xspdb.py27CODE
LOWscripts/xspdb/xspdb.py30CODE
LOWscripts/xspdb/xspdb.py30CODE
LOWscripts/xspdb/xspdb.py30CODE
LOWscripts/xspdb/xspdb.py30CODE
LOWscripts/xspdb/__init__.py18CODE
LOWscripts/xspdb/__init__.py19CODE
LOWscripts/xspdb/cli_parser.py18CODE
LOWscripts/xspdb/xscmd/cmd_dasm.py18CODE
LOWscripts/xspdb/xscmd/__init__.py18CODE
LOWscripts/xspdb/xscmd/__init__.py18CODE
LOWscripts/xspdb/xscmd/__init__.py18CODE
LOWscripts/xspdb/xscmd/__init__.py18CODE
LOWscripts/xspdb/xscmd/__init__.py18CODE
LOWscripts/xspdb/xscmd/__init__.py18CODE
LOWscripts/xspdb/xscmd/__init__.py18CODE
LOWscripts/xspdb/xscmd/__init__.py18CODE
LOWscripts/xspdb/xscmd/__init__.py19CODE
LOWscripts/xspdb/xscmd/__init__.py19CODE
LOWscripts/xspdb/xscmd/__init__.py19CODE
LOWscripts/xspdb/xscmd/cmd_batch.py20CODE
LOWscripts/xspdb/xscmd/cmd_batch.py20CODE
LOWscripts/xspdb/xscmd/cmd_batch.py20CODE
LOWscripts/xspdb/xscmd/cmd_batch.py20CODE
LOWscripts/xspdb/ui/__init__.py19CODE
LOWscripts/xspdb/ui/textual_app.py29CODE
LOWdebug/local_ci.py7CODE
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMscripts/sram_size_collect.py6# Define a function to extract information from a given Verilog fileCOMMENT
MEDIUMscripts/sram_size_collect.py26# Create an argument parserCOMMENT
MEDIUMscripts/sram_size_collect.py55# Define the order for printing the informationCOMMENT
Modern Structural Boilerplate7 hits · 6 pts
SeverityFileLineSnippetContext
LOWscripts/xspdb/ui/config.py56 def set_theme(self, name: str) -> None:CODE
LOWscripts/xspdb/ui/asm_view.py67 def set_offset(self, value: int) -> None:CODE
LOWscripts/xspdb/ui/__init__.py21__all__ = ["enter_tui"]CODE
LOWscripts/xspdb/ui/widgets.py197 def _set_manual_selection(self, start, end) -> None:CODE
LOWscripts/xspdb/ui/log_view.py60 def set_min_level(self, level: str) -> None:CODE
LOWscripts/xspdb/ui/textual_app.py534 def _update_drag(self, screen_x: int, screen_y: int) -> None:STRING
LOWscripts/xspdb/ui/textual_app.py621 def _update_hint_for_value(self, value: str) -> None:STRING
Verbosity Indicators3 hits · 6 pts
SeverityFileLineSnippetContext
LOW…c/main/scala/xiangshan/mem/lsqueue/NewStoreQueue.scala415 // Step 1: Virtual Address Match (high bits only)COMMENT
LOW…c/main/scala/xiangshan/mem/lsqueue/NewStoreQueue.scala426 // Step 2: Byte Overlap CheckCOMMENT
LOW…c/main/scala/xiangshan/mem/lsqueue/NewStoreQueue.scala430 // Step 3: Select Youngest Valid StoreCOMMENT
Structural Annotation Overuse3 hits · 6 pts
SeverityFileLineSnippetContext
LOW…c/main/scala/xiangshan/mem/lsqueue/NewStoreQueue.scala415 // Step 1: Virtual Address Match (high bits only)COMMENT
LOW…c/main/scala/xiangshan/mem/lsqueue/NewStoreQueue.scala426 // Step 2: Byte Overlap CheckCOMMENT
LOW…c/main/scala/xiangshan/mem/lsqueue/NewStoreQueue.scala430 // Step 3: Select Youngest Valid StoreCOMMENT
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHscripts/xspdb/xscmd/cmd_asm.py131Assemble RISC-V assembly code and return a dict mapping section start addresses to bytes (little-endian). Uses rSTRING
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH.github/ISSUE_TEMPLATE/1-bug_report.yaml142 If this report is generated by AI, please provide the model / framework information.CODE
Redundant / Tautological Comments3 hits · 4 pts
SeverityFileLineSnippetContext
LOWscripts/xspdb/xspdb.py304 # Check if the waveform is onCOMMENT
LOWscripts/xspdb/xscmd/cmd_asm.py43 # Check if gcc and objdump are availableCOMMENT
LOW.github/workflows/emu.yml258 # Check if docker image can be builtCOMMENT
TODO Padding3 hits · 4 pts
SeverityFileLineSnippetContext
LOWsrc/main/scala/xiangshan/cache/mmu/L2TLB.scala1205 io.tlb(i).resp.bits.s1.af := DontCare // TODO: implement itCODE
LOWsrc/main/scala/xiangshan/backend/fu/Fence.scala77 } // TODO:implement remaining mfence functionality, not yet finished!!!CODE
LOWsrc/main/scala/xiangshan/mem/lsqueue/LoadQueue.scala328 // TODO: implement it!COMMENT
Decorative Section Separators1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMscripts/top-down/top_down.py152 # =========================================================================COMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/emu-performance.yml2# For more comprehensive performance regression, use Performance Regression TriggerCOMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWdebug/local_ci.py112 # Usage:COMMENT
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/main/scala/xiangshan/backend/Bundles.scala37 * Don't forget to connect the remaining ports!COMMENT