udb 0.1.9 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. checksums.yaml +4 -4
  2. data/.data/cfgs/example_rv64_with_overlay.yaml +20 -20
  3. data/.data/cfgs/mc100-32-full-example.yaml +1 -0
  4. data/.data/cfgs/profile/README.adoc +10 -0
  5. data/.data/cfgs/profile/RVA20S64.yaml +26 -6
  6. data/.data/cfgs/profile/RVA20U64.yaml +18 -4
  7. data/.data/cfgs/profile/RVA22S64.yaml +27 -7
  8. data/.data/cfgs/profile/RVA22U64.yaml +18 -4
  9. data/.data/cfgs/profile/RVA23S64.yaml +61 -7
  10. data/.data/cfgs/profile/RVA23U64.yaml +36 -4
  11. data/.data/cfgs/profile/RVB23S64.yaml +27 -7
  12. data/.data/cfgs/profile/RVB23U64.yaml +18 -4
  13. data/.data/cfgs/profile/RVI20U32.yaml +10 -4
  14. data/.data/cfgs/profile/RVI20U64.yaml +10 -4
  15. data/.data/cfgs/qc_iu.yaml +8 -1
  16. data/.data/cfgs/rv32-riscv-tests.yaml +6 -2
  17. data/.data/cfgs/rv32-vector.yaml +6 -2
  18. data/.data/cfgs/rv64-riscv-tests.yaml +6 -2
  19. data/.data/cfgs/rv64-vector.yaml +6 -2
  20. data/.data/spec/custom/isa/qc_iu/csr/Smrnmi/mnepc.yaml +17 -0
  21. data/.data/spec/custom/isa/qc_iu/csr/Xqccmi/qc.itba.yaml +45 -0
  22. data/.data/spec/custom/isa/qc_iu/csr/Xqccmi/qc.itdec.yaml +39 -0
  23. data/.data/spec/custom/isa/qc_iu/csr/jvt.yaml +11 -0
  24. data/.data/spec/custom/isa/qc_iu/csr/mepc.yaml +16 -0
  25. data/.data/spec/custom/isa/qc_iu/ext/Xqccmi.yaml +290 -0
  26. data/.data/spec/custom/isa/qc_iu/ext/Xqccmt.yaml +127 -0
  27. data/.data/spec/custom/isa/qc_iu/inst/Xqccmi/qc.cm.ilut.yaml +136 -0
  28. data/.data/spec/custom/isa/qc_iu/inst/Xqccmt/qc.cm.jalt.yaml +84 -0
  29. data/.data/spec/custom/isa/qc_iu/inst/Xqccmt/qc.cm.jt.yaml +60 -0
  30. data/.data/spec/custom/isa/qc_iu/isa/globals.isa +134 -0
  31. data/.data/spec/schemas/config_schema.json +220 -27
  32. data/.data/spec/schemas/csr_schema.json +0 -6
  33. data/.data/spec/schemas/ext_schema.json +80 -24
  34. data/.data/spec/schemas/inst_schema.json +0 -3
  35. data/.data/spec/schemas/mmr_schema.json +3 -3
  36. data/.data/spec/schemas/profile_release_schema.json +1 -1
  37. data/.data/spec/schemas/profile_schema.json +0 -3
  38. data/.data/spec/schemas/register_file_schema.json +8 -3
  39. data/.data/spec/schemas/schema_defs.json +13 -27
  40. data/.data/spec/std/isa/csr/H/henvcfg.yaml +25 -0
  41. data/.data/spec/std/isa/csr/I/pmpaddr0.yaml +6 -4
  42. data/.data/spec/std/isa/csr/I/pmpaddr1.yaml +6 -4
  43. data/.data/spec/std/isa/csr/I/pmpaddr10.yaml +6 -4
  44. data/.data/spec/std/isa/csr/I/pmpaddr11.yaml +6 -4
  45. data/.data/spec/std/isa/csr/I/pmpaddr12.yaml +6 -4
  46. data/.data/spec/std/isa/csr/I/pmpaddr13.yaml +6 -4
  47. data/.data/spec/std/isa/csr/I/pmpaddr14.yaml +6 -4
  48. data/.data/spec/std/isa/csr/I/pmpaddr15.yaml +6 -4
  49. data/.data/spec/std/isa/csr/I/pmpaddr16.yaml +6 -4
  50. data/.data/spec/std/isa/csr/I/pmpaddr17.yaml +6 -4
  51. data/.data/spec/std/isa/csr/I/pmpaddr18.yaml +6 -4
  52. data/.data/spec/std/isa/csr/I/pmpaddr19.yaml +6 -4
  53. data/.data/spec/std/isa/csr/I/pmpaddr2.yaml +6 -4
  54. data/.data/spec/std/isa/csr/I/pmpaddr20.yaml +6 -4
  55. data/.data/spec/std/isa/csr/I/pmpaddr21.yaml +6 -4
  56. data/.data/spec/std/isa/csr/I/pmpaddr22.yaml +6 -4
  57. data/.data/spec/std/isa/csr/I/pmpaddr23.yaml +6 -4
  58. data/.data/spec/std/isa/csr/I/pmpaddr24.yaml +6 -4
  59. data/.data/spec/std/isa/csr/I/pmpaddr25.yaml +6 -4
  60. data/.data/spec/std/isa/csr/I/pmpaddr26.yaml +6 -4
  61. data/.data/spec/std/isa/csr/I/pmpaddr27.yaml +6 -4
  62. data/.data/spec/std/isa/csr/I/pmpaddr28.yaml +6 -4
  63. data/.data/spec/std/isa/csr/I/pmpaddr29.yaml +6 -4
  64. data/.data/spec/std/isa/csr/I/pmpaddr3.yaml +6 -4
  65. data/.data/spec/std/isa/csr/I/pmpaddr30.yaml +6 -4
  66. data/.data/spec/std/isa/csr/I/pmpaddr31.yaml +6 -4
  67. data/.data/spec/std/isa/csr/I/pmpaddr32.yaml +6 -4
  68. data/.data/spec/std/isa/csr/I/pmpaddr33.yaml +6 -4
  69. data/.data/spec/std/isa/csr/I/pmpaddr34.yaml +6 -4
  70. data/.data/spec/std/isa/csr/I/pmpaddr35.yaml +6 -4
  71. data/.data/spec/std/isa/csr/I/pmpaddr36.yaml +6 -4
  72. data/.data/spec/std/isa/csr/I/pmpaddr37.yaml +6 -4
  73. data/.data/spec/std/isa/csr/I/pmpaddr38.yaml +6 -4
  74. data/.data/spec/std/isa/csr/I/pmpaddr39.yaml +6 -4
  75. data/.data/spec/std/isa/csr/I/pmpaddr4.yaml +6 -4
  76. data/.data/spec/std/isa/csr/I/pmpaddr40.yaml +6 -4
  77. data/.data/spec/std/isa/csr/I/pmpaddr41.yaml +6 -4
  78. data/.data/spec/std/isa/csr/I/pmpaddr42.yaml +6 -4
  79. data/.data/spec/std/isa/csr/I/pmpaddr43.yaml +6 -4
  80. data/.data/spec/std/isa/csr/I/pmpaddr44.yaml +6 -4
  81. data/.data/spec/std/isa/csr/I/pmpaddr45.yaml +6 -4
  82. data/.data/spec/std/isa/csr/I/pmpaddr46.yaml +6 -4
  83. data/.data/spec/std/isa/csr/I/pmpaddr47.yaml +6 -4
  84. data/.data/spec/std/isa/csr/I/pmpaddr48.yaml +6 -4
  85. data/.data/spec/std/isa/csr/I/pmpaddr49.yaml +6 -4
  86. data/.data/spec/std/isa/csr/I/pmpaddr5.yaml +6 -4
  87. data/.data/spec/std/isa/csr/I/pmpaddr50.yaml +6 -4
  88. data/.data/spec/std/isa/csr/I/pmpaddr51.yaml +6 -4
  89. data/.data/spec/std/isa/csr/I/pmpaddr52.yaml +6 -4
  90. data/.data/spec/std/isa/csr/I/pmpaddr53.yaml +6 -4
  91. data/.data/spec/std/isa/csr/I/pmpaddr54.yaml +6 -4
  92. data/.data/spec/std/isa/csr/I/pmpaddr55.yaml +6 -4
  93. data/.data/spec/std/isa/csr/I/pmpaddr56.yaml +6 -4
  94. data/.data/spec/std/isa/csr/I/pmpaddr57.yaml +6 -4
  95. data/.data/spec/std/isa/csr/I/pmpaddr58.yaml +6 -4
  96. data/.data/spec/std/isa/csr/I/pmpaddr59.yaml +6 -4
  97. data/.data/spec/std/isa/csr/I/pmpaddr6.yaml +6 -4
  98. data/.data/spec/std/isa/csr/I/pmpaddr60.yaml +6 -4
  99. data/.data/spec/std/isa/csr/I/pmpaddr61.yaml +6 -4
  100. data/.data/spec/std/isa/csr/I/pmpaddr62.yaml +6 -4
  101. data/.data/spec/std/isa/csr/I/pmpaddr63.yaml +6 -4
  102. data/.data/spec/std/isa/csr/I/pmpaddr7.yaml +6 -4
  103. data/.data/spec/std/isa/csr/I/pmpaddr8.yaml +6 -4
  104. data/.data/spec/std/isa/csr/I/pmpaddr9.yaml +6 -4
  105. data/.data/spec/std/isa/csr/I/pmpaddrN.layout +6 -4
  106. data/.data/spec/std/isa/csr/I/pmpcfg0.yaml +128 -152
  107. data/.data/spec/std/isa/csr/I/pmpcfg1.yaml +64 -76
  108. data/.data/spec/std/isa/csr/I/pmpcfg10.yaml +128 -152
  109. data/.data/spec/std/isa/csr/I/pmpcfg11.yaml +64 -76
  110. data/.data/spec/std/isa/csr/I/pmpcfg12.yaml +128 -152
  111. data/.data/spec/std/isa/csr/I/pmpcfg13.yaml +64 -76
  112. data/.data/spec/std/isa/csr/I/pmpcfg14.yaml +128 -152
  113. data/.data/spec/std/isa/csr/I/pmpcfg15.yaml +64 -76
  114. data/.data/spec/std/isa/csr/I/pmpcfg2.yaml +128 -152
  115. data/.data/spec/std/isa/csr/I/pmpcfg3.yaml +64 -76
  116. data/.data/spec/std/isa/csr/I/pmpcfg4.yaml +128 -152
  117. data/.data/spec/std/isa/csr/I/pmpcfg5.yaml +64 -76
  118. data/.data/spec/std/isa/csr/I/pmpcfg6.yaml +128 -152
  119. data/.data/spec/std/isa/csr/I/pmpcfg7.yaml +64 -76
  120. data/.data/spec/std/isa/csr/I/pmpcfg8.yaml +128 -152
  121. data/.data/spec/std/isa/csr/I/pmpcfg9.yaml +64 -76
  122. data/.data/spec/std/isa/csr/I/pmpcfgN.layout +16 -19
  123. data/.data/spec/std/isa/csr/Zicntr/mcountinhibit.layout +6 -2
  124. data/.data/spec/std/isa/csr/Zicntr/mcountinhibit.yaml +6 -2
  125. data/.data/spec/std/isa/csr/hstatus.yaml +16 -0
  126. data/.data/spec/std/isa/csr/jvt.yaml +1 -0
  127. data/.data/spec/std/isa/csr/mcycleh.yaml +1 -1
  128. data/.data/spec/std/isa/csr/menvcfg.yaml +20 -0
  129. data/.data/spec/std/isa/csr/misa.yaml +0 -12
  130. data/.data/spec/std/isa/csr/mstatus.yaml +46 -6
  131. data/.data/spec/std/isa/csr/mstatush.yaml +17 -15
  132. data/.data/spec/std/isa/csr/senvcfg.yaml +42 -0
  133. data/.data/spec/std/isa/csr/sstatus.yaml +12 -0
  134. data/.data/spec/std/isa/csr/vsstatus.yaml +24 -0
  135. data/.data/spec/std/isa/ext/A.yaml +5 -7
  136. data/.data/spec/std/isa/ext/S.yaml +12 -0
  137. data/.data/spec/std/isa/ext/Smpmpmt.yaml +52 -0
  138. data/.data/spec/std/isa/ext/Sv32.yaml +7 -19
  139. data/.data/spec/std/isa/ext/Sv39.yaml +7 -19
  140. data/.data/spec/std/isa/ext/Sv48.yaml +4 -20
  141. data/.data/spec/std/isa/ext/Sv57.yaml +4 -20
  142. data/.data/spec/std/isa/ext/Svukte.yaml +71 -0
  143. data/.data/spec/std/isa/ext/Zawrs.yaml +1 -1
  144. data/.data/spec/std/isa/ext/Zihpm.yaml +0 -12
  145. data/.data/spec/std/isa/inst/B/andn.yaml +10 -12
  146. data/.data/spec/std/isa/inst/B/clmul.yaml +9 -11
  147. data/.data/spec/std/isa/inst/B/clmulh.yaml +9 -11
  148. data/.data/spec/std/isa/inst/B/orn.yaml +9 -11
  149. data/.data/spec/std/isa/inst/B/rev8.yaml +1 -1
  150. data/.data/spec/std/isa/inst/B/rol.yaml +9 -11
  151. data/.data/spec/std/isa/inst/B/rolw.yaml +9 -11
  152. data/.data/spec/std/isa/inst/B/ror.yaml +9 -11
  153. data/.data/spec/std/isa/inst/B/rorw.yaml +9 -11
  154. data/.data/spec/std/isa/inst/B/xnor.yaml +9 -11
  155. data/.data/spec/std/isa/inst/C/c.addi.yaml +1 -0
  156. data/.data/spec/std/isa/inst/C/c.addi16sp.yaml +1 -0
  157. data/.data/spec/std/isa/inst/C/c.addiw.yaml +1 -0
  158. data/.data/spec/std/isa/inst/C/c.andi.yaml +1 -0
  159. data/.data/spec/std/isa/inst/C/c.ldsp.yaml +4 -4
  160. data/.data/spec/std/isa/inst/C/c.li.yaml +1 -0
  161. data/.data/spec/std/isa/inst/C/c.lui.yaml +1 -0
  162. data/.data/spec/std/isa/inst/C/c.mv.yaml +1 -1
  163. data/.data/spec/std/isa/inst/C/c.sdsp.yaml +1 -1
  164. data/.data/spec/std/isa/inst/D/fsgnj.d.yaml +3 -0
  165. data/.data/spec/std/isa/inst/D/fsgnjn.d.yaml +3 -0
  166. data/.data/spec/std/isa/inst/D/fsgnjx.d.yaml +3 -0
  167. data/.data/spec/std/isa/inst/F/fadd.s.yaml +5 -5
  168. data/.data/spec/std/isa/inst/F/fclass.s.yaml +2 -2
  169. data/.data/spec/std/isa/inst/F/fcvt.l.s.yaml +1 -1
  170. data/.data/spec/std/isa/inst/F/fcvt.lu.s.yaml +1 -1
  171. data/.data/spec/std/isa/inst/F/fcvt.s.l.yaml +1 -1
  172. data/.data/spec/std/isa/inst/F/fcvt.s.lu.yaml +1 -1
  173. data/.data/spec/std/isa/inst/F/fcvt.s.w.yaml +1 -1
  174. data/.data/spec/std/isa/inst/F/fcvt.s.wu.yaml +1 -1
  175. data/.data/spec/std/isa/inst/F/fcvt.w.s.yaml +1 -1
  176. data/.data/spec/std/isa/inst/F/fcvt.wu.s.yaml +1 -1
  177. data/.data/spec/std/isa/inst/F/fdiv.s.yaml +1 -1
  178. data/.data/spec/std/isa/inst/F/feq.s.yaml +2 -2
  179. data/.data/spec/std/isa/inst/F/fle.s.yaml +2 -2
  180. data/.data/spec/std/isa/inst/F/fleq.s.yaml +2 -2
  181. data/.data/spec/std/isa/inst/F/flt.s.yaml +2 -2
  182. data/.data/spec/std/isa/inst/F/fltq.s.yaml +2 -2
  183. data/.data/spec/std/isa/inst/F/flw.yaml +2 -2
  184. data/.data/spec/std/isa/inst/F/fmadd.s.yaml +1 -1
  185. data/.data/spec/std/isa/inst/F/fmax.s.yaml +6 -6
  186. data/.data/spec/std/isa/inst/F/fmin.s.yaml +6 -6
  187. data/.data/spec/std/isa/inst/F/fmsub.s.yaml +1 -1
  188. data/.data/spec/std/isa/inst/F/fmul.s.yaml +1 -1
  189. data/.data/spec/std/isa/inst/F/fmv.w.x.yaml +2 -2
  190. data/.data/spec/std/isa/inst/F/fmv.x.w.yaml +1 -1
  191. data/.data/spec/std/isa/inst/F/fnmadd.s.yaml +2 -2
  192. data/.data/spec/std/isa/inst/F/fnmsub.s.yaml +1 -1
  193. data/.data/spec/std/isa/inst/F/fsgnj.s.yaml +4 -4
  194. data/.data/spec/std/isa/inst/F/fsgnjn.s.yaml +3 -3
  195. data/.data/spec/std/isa/inst/F/fsgnjx.s.yaml +4 -4
  196. data/.data/spec/std/isa/inst/F/fsqrt.s.yaml +1 -1
  197. data/.data/spec/std/isa/inst/F/fsub.s.yaml +1 -1
  198. data/.data/spec/std/isa/inst/F/fsw.yaml +1 -1
  199. data/.data/spec/std/isa/inst/I/addi.yaml +2 -1
  200. data/.data/spec/std/isa/inst/I/addiw.yaml +2 -1
  201. data/.data/spec/std/isa/inst/I/andi.yaml +2 -1
  202. data/.data/spec/std/isa/inst/I/auipc.yaml +1 -0
  203. data/.data/spec/std/isa/inst/I/beq.yaml +1 -1
  204. data/.data/spec/std/isa/inst/I/bge.yaml +4 -2
  205. data/.data/spec/std/isa/inst/I/bgeu.yaml +3 -0
  206. data/.data/spec/std/isa/inst/I/blt.yaml +4 -2
  207. data/.data/spec/std/isa/inst/I/bltu.yaml +3 -0
  208. data/.data/spec/std/isa/inst/I/bne.yaml +1 -1
  209. data/.data/spec/std/isa/inst/I/lb.yaml +1 -0
  210. data/.data/spec/std/isa/inst/I/lbu.yaml +1 -0
  211. data/.data/spec/std/isa/inst/I/ld.yaml +2 -0
  212. data/.data/spec/std/isa/inst/I/lh.yaml +1 -0
  213. data/.data/spec/std/isa/inst/I/lhu.yaml +1 -0
  214. data/.data/spec/std/isa/inst/I/lui.yaml +1 -0
  215. data/.data/spec/std/isa/inst/I/lw.yaml +1 -0
  216. data/.data/spec/std/isa/inst/I/lwu.yaml +1 -0
  217. data/.data/spec/std/isa/inst/I/ori.yaml +1 -0
  218. data/.data/spec/std/isa/inst/I/sb.yaml +1 -0
  219. data/.data/spec/std/isa/inst/I/sd.yaml +1 -0
  220. data/.data/spec/std/isa/inst/I/sh.yaml +1 -0
  221. data/.data/spec/std/isa/inst/I/slt.yaml +2 -2
  222. data/.data/spec/std/isa/inst/I/slti.yaml +1 -0
  223. data/.data/spec/std/isa/inst/I/sltiu.yaml +2 -1
  224. data/.data/spec/std/isa/inst/I/sltu.yaml +1 -1
  225. data/.data/spec/std/isa/inst/I/sub.yaml +1 -1
  226. data/.data/spec/std/isa/inst/I/subw.yaml +1 -1
  227. data/.data/spec/std/isa/inst/I/sw.yaml +1 -0
  228. data/.data/spec/std/isa/inst/I/xori.yaml +2 -1
  229. data/.data/spec/std/isa/inst/M/mul.yaml +0 -19
  230. data/.data/spec/std/isa/inst/Q/fsgnj.q.yaml +1 -1
  231. data/.data/spec/std/isa/inst/S/sret.yaml +3 -1
  232. data/.data/spec/std/isa/inst/V/vadc.vim.yaml +1 -0
  233. data/.data/spec/std/isa/inst/V/vadd.vi.yaml +1 -0
  234. data/.data/spec/std/isa/inst/V/vadd.vv.yaml +1 -5
  235. data/.data/spec/std/isa/inst/V/vand.vi.yaml +1 -0
  236. data/.data/spec/std/isa/inst/V/vfsgnjn.vv.yaml +3 -0
  237. data/.data/spec/std/isa/inst/V/vfsgnjx.vv.yaml +3 -0
  238. data/.data/spec/std/isa/inst/V/vl1re8.v.yaml +3 -0
  239. data/.data/spec/std/isa/inst/V/vl2re8.v.yaml +3 -0
  240. data/.data/spec/std/isa/inst/V/vl4re8.v.yaml +3 -0
  241. data/.data/spec/std/isa/inst/V/vl8re8.v.yaml +3 -0
  242. data/.data/spec/std/isa/inst/V/vle8.v.yaml +4 -8
  243. data/.data/spec/std/isa/inst/V/vmadc.vi.yaml +1 -0
  244. data/.data/spec/std/isa/inst/V/vmadc.vim.yaml +1 -0
  245. data/.data/spec/std/isa/inst/V/vmand.mm.yaml +3 -0
  246. data/.data/spec/std/isa/inst/V/vmerge.vim.yaml +1 -0
  247. data/.data/spec/std/isa/inst/V/vmfle.vv.yaml +3 -0
  248. data/.data/spec/std/isa/inst/V/vmflt.vv.yaml +3 -0
  249. data/.data/spec/std/isa/inst/V/vmnand.mm.yaml +3 -0
  250. data/.data/spec/std/isa/inst/V/vmseq.vi.yaml +1 -0
  251. data/.data/spec/std/isa/inst/V/vmsgt.vi.yaml +4 -0
  252. data/.data/spec/std/isa/inst/V/vmsgtu.vi.yaml +4 -0
  253. data/.data/spec/std/isa/inst/V/vmsle.vi.yaml +4 -0
  254. data/.data/spec/std/isa/inst/V/vmsle.vv.yaml +3 -0
  255. data/.data/spec/std/isa/inst/V/vmsleu.vi.yaml +4 -0
  256. data/.data/spec/std/isa/inst/V/vmsleu.vv.yaml +3 -0
  257. data/.data/spec/std/isa/inst/V/vmslt.vv.yaml +3 -0
  258. data/.data/spec/std/isa/inst/V/vmsltu.vv.yaml +3 -0
  259. data/.data/spec/std/isa/inst/V/vmsne.vi.yaml +1 -0
  260. data/.data/spec/std/isa/inst/V/vmv.v.i.yaml +2 -13
  261. data/.data/spec/std/isa/inst/V/vmv.x.s.yaml +1 -1
  262. data/.data/spec/std/isa/inst/V/vmxnor.mm.yaml +3 -0
  263. data/.data/spec/std/isa/inst/V/vmxor.mm.yaml +3 -0
  264. data/.data/spec/std/isa/inst/V/vnsrl.wx.yaml +3 -0
  265. data/.data/spec/std/isa/inst/V/vor.vi.yaml +1 -0
  266. data/.data/spec/std/isa/inst/V/vrsub.vi.yaml +1 -0
  267. data/.data/spec/std/isa/inst/V/vrsub.vx.yaml +3 -0
  268. data/.data/spec/std/isa/inst/V/vsadd.vi.yaml +1 -0
  269. data/.data/spec/std/isa/inst/V/vsaddu.vi.yaml +1 -0
  270. data/.data/spec/std/isa/inst/V/vse8.v.yaml +4 -4
  271. data/.data/spec/std/isa/inst/V/vwadd.vx.yaml +3 -0
  272. data/.data/spec/std/isa/inst/V/vwaddu.vx.yaml +3 -0
  273. data/.data/spec/std/isa/inst/V/vxor.vi.yaml +4 -0
  274. data/.data/spec/std/isa/inst/Zalasr/lSIZE.AQRL.layout +40 -5
  275. data/.data/spec/std/isa/inst/Zalasr/lb.aq.yaml +17 -1
  276. data/.data/spec/std/isa/inst/Zalasr/lb.aqrl.yaml +17 -1
  277. data/.data/spec/std/isa/inst/Zalasr/ld.aq.yaml +17 -1
  278. data/.data/spec/std/isa/inst/Zalasr/ld.aqrl.yaml +17 -1
  279. data/.data/spec/std/isa/inst/Zalasr/lh.aq.yaml +17 -1
  280. data/.data/spec/std/isa/inst/Zalasr/lh.aqrl.yaml +17 -1
  281. data/.data/spec/std/isa/inst/Zalasr/lw.aq.yaml +17 -1
  282. data/.data/spec/std/isa/inst/Zalasr/lw.aqrl.yaml +17 -1
  283. data/.data/spec/std/isa/inst/Zalasr/sSIZE.AQRL.layout +46 -5
  284. data/.data/spec/std/isa/inst/Zalasr/sb.aqrl.yaml +16 -1
  285. data/.data/spec/std/isa/inst/Zalasr/sb.rl.yaml +16 -1
  286. data/.data/spec/std/isa/inst/Zalasr/sd.aqrl.yaml +16 -1
  287. data/.data/spec/std/isa/inst/Zalasr/sd.rl.yaml +16 -1
  288. data/.data/spec/std/isa/inst/Zalasr/sh.aqrl.yaml +16 -1
  289. data/.data/spec/std/isa/inst/Zalasr/sh.rl.yaml +16 -1
  290. data/.data/spec/std/isa/inst/Zalasr/sw.aqrl.yaml +16 -1
  291. data/.data/spec/std/isa/inst/Zalasr/sw.rl.yaml +16 -1
  292. data/.data/spec/std/isa/inst/Zawrs/wrs.nto.yaml +4 -2
  293. data/.data/spec/std/isa/inst/Zba/add.uw.yaml +9 -11
  294. data/.data/spec/std/isa/inst/Zbb/orc.b.yaml +1 -1
  295. data/.data/spec/std/isa/inst/Zbkb/brev8.yaml +3 -3
  296. data/.data/spec/std/isa/inst/Zbkb/packw.yaml +1 -1
  297. data/.data/spec/std/isa/inst/Zbkb/unzip.yaml +2 -2
  298. data/.data/spec/std/isa/inst/Zbkb/zip.yaml +2 -2
  299. data/.data/spec/std/isa/inst/Zbkx/xperm4.yaml +2 -2
  300. data/.data/spec/std/isa/inst/Zbkx/xperm8.yaml +2 -2
  301. data/.data/spec/std/isa/inst/Zcd/c.fld.yaml +1 -1
  302. data/.data/spec/std/isa/inst/Zcd/c.fldsp.yaml +1 -1
  303. data/.data/spec/std/isa/inst/Zcd/c.fsdsp.yaml +1 -1
  304. data/.data/spec/std/isa/inst/Zcf/c.flwsp.yaml +1 -1
  305. data/.data/spec/std/isa/inst/Zcf/c.fswsp.yaml +1 -1
  306. data/.data/spec/std/isa/inst/Zcmp/cm.pop.yaml +1 -1
  307. data/.data/spec/std/isa/inst/Zcmp/cm.popret.yaml +1 -1
  308. data/.data/spec/std/isa/inst/Zcmp/cm.popretz.yaml +1 -1
  309. data/.data/spec/std/isa/inst/Zcmp/cm.push.yaml +2 -3
  310. data/.data/spec/std/isa/inst/Zfa/fround.s.yaml +1 -1
  311. data/.data/spec/std/isa/inst/Zfh/fcvt.h.s.yaml +6 -6
  312. data/.data/spec/std/isa/inst/Zfh/fcvt.s.h.yaml +5 -5
  313. data/.data/spec/std/isa/inst/Zfh/flh.yaml +1 -1
  314. data/.data/spec/std/isa/inst/Zfh/fmv.h.x.yaml +1 -1
  315. data/.data/spec/std/isa/inst/Zfh/fmv.x.h.yaml +1 -1
  316. data/.data/spec/std/isa/inst/Zfh/fsh.yaml +1 -1
  317. data/.data/spec/std/isa/inst/Zicbop/prefetch.i.yaml +2 -0
  318. data/.data/spec/std/isa/inst/Zicbop/prefetch.r.yaml +2 -0
  319. data/.data/spec/std/isa/inst/Zicbop/prefetch.w.yaml +2 -0
  320. data/.data/spec/std/isa/inst/Zicsr/csrrc.yaml +1 -1
  321. data/.data/spec/std/isa/inst/Zicsr/csrrci.yaml +1 -1
  322. data/.data/spec/std/isa/inst/Zicsr/csrrs.yaml +2 -2
  323. data/.data/spec/std/isa/inst/Zicsr/csrrsi.yaml +1 -1
  324. data/.data/spec/std/isa/inst/Zicsr/csrrw.yaml +1 -1
  325. data/.data/spec/std/isa/inst/Zicsr/csrrwi.yaml +1 -1
  326. data/.data/spec/std/isa/inst/Zks/sm3p0.yaml +1 -1
  327. data/.data/spec/std/isa/inst/Zks/sm3p1.yaml +1 -1
  328. data/.data/spec/std/isa/inst/Zks/sm4ed.yaml +1 -1
  329. data/.data/spec/std/isa/inst/Zks/sm4ks.yaml +1 -1
  330. data/.data/spec/std/isa/isa/builtin_functions.idl +18 -0
  331. data/.data/spec/std/isa/isa/fp.idl +1 -5
  332. data/.data/spec/std/isa/isa/globals.isa +72 -21
  333. data/.data/spec/std/isa/isa/interrupts.idl +1 -0
  334. data/.data/spec/std/isa/isa/vec.idl +1 -2
  335. data/.data/spec/std/isa/manual_version/isa/20240411/isa_20240411.yaml +5 -5
  336. data/.data/spec/std/isa/param/COUNTINHIBIT_EN.yaml +8 -2
  337. data/.data/spec/std/isa/param/HSTATEEN_CONTEXT_TYPE.yaml +1 -0
  338. data/.data/spec/std/isa/param/JVT_BASE_MASK.yaml +1 -1
  339. data/.data/spec/std/isa/param/MCOUNTINHIBIT_IMPLEMENTED.yaml +25 -0
  340. data/.data/spec/std/isa/param/MSTATEEN_CONTEXT_TYPE.yaml +1 -0
  341. data/.data/spec/std/isa/param/MTVEC_BASE_ALIGNMENT_DIRECT.yaml +1 -0
  342. data/.data/spec/std/isa/param/MTVEC_BASE_ALIGNMENT_VECTORED.yaml +1 -0
  343. data/.data/spec/std/isa/param/MTVEC_MODES.yaml +10 -3
  344. data/.data/spec/std/isa/param/NUM_PMP_ENTRIES.yaml +11 -22
  345. data/.data/spec/std/isa/param/NUM_USABLE_PMP_ENTRIES.yaml +35 -0
  346. data/.data/spec/std/isa/param/PMP_NA4_SUPPORTED.yaml +23 -0
  347. data/.data/spec/std/isa/param/PMP_NAPOT_SUPPORTED.yaml +19 -0
  348. data/.data/spec/std/isa/param/{MSTATUS_TVM_IMPLEMENTED.yaml → PMP_TOR_SUPPORTED.yaml} +6 -6
  349. data/.data/spec/std/isa/param/PRECISE_SYNCHRONOUS_EXCEPTIONS.yaml +1 -0
  350. data/.data/spec/std/isa/param/TRAP_ON_EBREAK.yaml +1 -0
  351. data/.data/spec/std/isa/param/TRAP_ON_ECALL_FROM_M.yaml +1 -0
  352. data/.data/spec/std/isa/param/TRAP_ON_SFENCE_VMA_WHEN_SATP_MODE_IS_READ_ONLY.yaml +1 -0
  353. data/.data/spec/std/isa/param/VLEN.yaml +2 -0
  354. data/.data/spec/std/isa/param/ZAWRS_NTO_IS_NOP.yaml +19 -0
  355. data/.data/spec/std/isa/profile/RVA20S64.yaml +11 -4
  356. data/.data/spec/std/isa/profile/RVA20U64.yaml +14 -5
  357. data/.data/spec/std/isa/profile/RVA22S64.yaml +14 -3
  358. data/.data/spec/std/isa/profile/RVA22U64.yaml +8 -1
  359. data/.data/spec/std/isa/profile/RVA23S64.yaml +13 -0
  360. data/.data/spec/std/isa/profile/RVA23U64.yaml +15 -1
  361. data/.data/spec/std/isa/profile/RVB23S64.yaml +15 -3
  362. data/.data/spec/std/isa/profile/RVB23U64.yaml +8 -1
  363. data/.data/spec/std/isa/profile/RVI20U32.yaml +8 -1
  364. data/.data/spec/std/isa/profile/RVI20U64.yaml +7 -0
  365. data/.data/spec/std/isa/register_file/F.yaml +3 -2
  366. data/.data/spec/std/isa/register_file/V.yaml +2 -2
  367. data/.data/spec/std/isa/register_file/X.yaml +2 -1
  368. data/lib/udb/ESPRESSO_VERSION +1 -1
  369. data/lib/udb/architecture.rb +4 -25
  370. data/lib/udb/cfg_arch.rb +171 -59
  371. data/lib/udb/cli.rb +10 -1
  372. data/lib/udb/condition.rb +38 -37
  373. data/lib/udb/config.rb +86 -8
  374. data/lib/udb/doc_link.rb +3 -4
  375. data/lib/udb/logic.rb +29 -56
  376. data/lib/udb/obj/csr.rb +23 -5
  377. data/lib/udb/obj/csr_field.rb +36 -21
  378. data/lib/udb/obj/database_obj.rb +2 -5
  379. data/lib/udb/obj/extension.rb +0 -3
  380. data/lib/udb/obj/instruction.rb +2 -5
  381. data/lib/udb/obj/non_isa_specification.rb +22 -100
  382. data/lib/udb/obj/portfolio.rb +75 -20
  383. data/lib/udb/obj/profile.rb +0 -4
  384. data/lib/udb/obj/register_file.rb +63 -2
  385. data/lib/udb/portfolio_design.rb +3 -6
  386. data/lib/udb/resolver.rb +84 -23
  387. data/lib/udb/version.rb +1 -1
  388. data/lib/udb/version_spec.rb +8 -0
  389. data/lib/udb/z3.rb +25 -2
  390. data/lib/udb.rb +0 -3
  391. metadata +30 -38
  392. data/.data/cfgs/profile/RVA23M64.yaml +0 -159
  393. data/.data/cfgs/profile/RVB23M64.yaml +0 -149
  394. data/.data/spec/schemas/proc_cert_class_schema.json +0 -35
  395. data/.data/spec/schemas/proc_cert_model_schema.json +0 -336
  396. data/.data/spec/std/isa/proc_cert_class/AC.yaml +0 -13
  397. data/.data/spec/std/isa/proc_cert_class/MC.yaml +0 -13
  398. data/.data/spec/std/isa/proc_cert_class/RVI.yaml +0 -16
  399. data/.data/spec/std/isa/proc_cert_model/AC100.yaml +0 -72
  400. data/.data/spec/std/isa/proc_cert_model/AC200.yaml +0 -58
  401. data/.data/spec/std/isa/proc_cert_model/MC100-32.yaml +0 -155
  402. data/.data/spec/std/isa/proc_cert_model/MC100-64.yaml +0 -21
  403. data/.data/spec/std/isa/proc_cert_model/MC200-32.yaml +0 -60
  404. data/.data/spec/std/isa/proc_cert_model/MC200-64.yaml +0 -21
  405. data/.data/spec/std/isa/proc_cert_model/MC300-32.yaml +0 -40
  406. data/.data/spec/std/isa/proc_cert_model/MC300-64.yaml +0 -21
  407. data/.data/spec/std/isa/proc_cert_model/RVI20-32.yaml +0 -39
  408. data/.data/spec/std/isa/proc_cert_model/RVI20-64.yaml +0 -19
  409. data/.data/spec/std/isa/profile/RVA23M64.yaml +0 -24
  410. data/.data/spec/std/isa/profile/RVB23M64.yaml +0 -86
  411. data/lib/udb/cert_normative_rule.rb +0 -41
  412. data/lib/udb/obj/certifiable_obj.rb +0 -21
  413. data/lib/udb/obj/certificate.rb +0 -230
  414. data/lib/udb/proc_cert_design.rb +0 -77
data/lib/udb/z3.rb CHANGED
@@ -23,6 +23,29 @@ Udb::Z3Loader.ensure_z3_loaded
23
23
 
24
24
  require "z3"
25
25
 
26
+ # Patch Z3::AST#ast_kind to use a constant hash instead of allocating a new one on every call
27
+ module Z3
28
+ class AST
29
+ extend T::Sig
30
+
31
+ AST_KIND_LOOKUP = T.let({
32
+ 0 => :numeral,
33
+ 1 => :app,
34
+ 2 => :var,
35
+ 3 => :quantifier,
36
+ 4 => :sort,
37
+ 5 => :func_decl,
38
+ 1000 => :unknown,
39
+ }.freeze, T::Hash[Integer, Symbol])
40
+
41
+ sig { returns(Symbol).checked(:never) }
42
+ def ast_kind
43
+ kind_id = LowLevel.get_ast_kind(self)
44
+ AST_KIND_LOOKUP[kind_id] or raise Z3::Exception, "Unknown AST kind #{kind_id}"
45
+ end
46
+ end
47
+ end
48
+
26
49
  module Z3
27
50
  # Extension to the Z3::Solver class to add tracked assertions
28
51
  class Solver
@@ -1102,8 +1125,8 @@ module Udb
1102
1125
  @solver = T.let(Z3::Solver.new, Z3::Solver)
1103
1126
 
1104
1127
  # Stacks for incremental solving with push/pop
1105
- @ext_vers = T.let([{}], T::Array[T::Hash[String, Z3ExtensionVersion]])
1106
- @ext_reqs = T.let([{}], T::Array[T::Hash[String, Z3ExtensionRequirement]])
1128
+ @ext_vers = T.let([{}], T::Array[T::Hash[Integer, Z3ExtensionVersion]])
1129
+ @ext_reqs = T.let([{}], T::Array[T::Hash[Integer, Z3ExtensionRequirement]])
1107
1130
  @param_terms = T.let([{}], T::Array[T::Hash[String, Z3ParameterTerm]])
1108
1131
 
1109
1132
  # Extension version component terms (shared across versions of same extension)
data/lib/udb.rb CHANGED
@@ -6,14 +6,11 @@
6
6
 
7
7
  module Udb; end
8
8
 
9
- require_relative "udb/cert_normative_rule"
10
9
  require_relative "udb/doc_link"
11
10
  require_relative "udb/condition"
12
11
  require_relative "udb/schema"
13
12
  require_relative "udb/version"
14
13
 
15
- require_relative "udb/obj/certifiable_obj"
16
- require_relative "udb/obj/certificate"
17
14
  require_relative "udb/obj/csr_field"
18
15
  require_relative "udb/obj/csr"
19
16
  require_relative "udb/obj/database_obj"
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: udb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derek Hower
8
8
  - James Ball
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2026-04-11 00:00:00.000000000 Z
11
+ date: 2026-07-18 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activesupport
@@ -71,16 +70,16 @@ dependencies:
71
70
  name: idlc
72
71
  requirement: !ruby/object:Gem::Requirement
73
72
  requirements:
74
- - - ">="
73
+ - - '='
75
74
  - !ruby/object:Gem::Version
76
- version: '0'
75
+ version: 0.1.5
77
76
  type: :runtime
78
77
  prerelease: false
79
78
  version_requirements: !ruby/object:Gem::Requirement
80
79
  requirements:
81
- - - ">="
80
+ - - '='
82
81
  - !ruby/object:Gem::Version
83
- version: '0'
82
+ version: 0.1.5
84
83
  - !ruby/object:Gem::Dependency
85
84
  name: json_schemer
86
85
  requirement: !ruby/object:Gem::Requirement
@@ -253,16 +252,16 @@ dependencies:
253
252
  name: udb_helpers
254
253
  requirement: !ruby/object:Gem::Requirement
255
254
  requirements:
256
- - - ">="
255
+ - - '='
257
256
  - !ruby/object:Gem::Version
258
- version: '0'
257
+ version: 0.1.3
259
258
  type: :runtime
260
259
  prerelease: false
261
260
  version_requirements: !ruby/object:Gem::Requirement
262
261
  requirements:
263
- - - ">="
262
+ - - '='
264
263
  - !ruby/object:Gem::Version
265
- version: '0'
264
+ version: 0.1.3
266
265
  - !ruby/object:Gem::Dependency
267
266
  name: z3
268
267
  requirement: !ruby/object:Gem::Requirement
@@ -450,14 +449,13 @@ files:
450
449
  - ".data/cfgs/mc100-32-full-example.yaml"
451
450
  - ".data/cfgs/memmap.json"
452
451
  - ".data/cfgs/prm_demo_rv32.yaml"
452
+ - ".data/cfgs/profile/README.adoc"
453
453
  - ".data/cfgs/profile/RVA20S64.yaml"
454
454
  - ".data/cfgs/profile/RVA20U64.yaml"
455
455
  - ".data/cfgs/profile/RVA22S64.yaml"
456
456
  - ".data/cfgs/profile/RVA22U64.yaml"
457
- - ".data/cfgs/profile/RVA23M64.yaml"
458
457
  - ".data/cfgs/profile/RVA23S64.yaml"
459
458
  - ".data/cfgs/profile/RVA23U64.yaml"
460
- - ".data/cfgs/profile/RVB23M64.yaml"
461
459
  - ".data/cfgs/profile/RVB23S64.yaml"
462
460
  - ".data/cfgs/profile/RVB23U64.yaml"
463
461
  - ".data/cfgs/profile/RVI20U32.yaml"
@@ -473,6 +471,9 @@ files:
473
471
  - ".data/spec/custom/isa/example/csr/marchid.yaml"
474
472
  - ".data/spec/custom/isa/example/csr/mcustom0.yaml"
475
473
  - ".data/spec/custom/isa/example/ext/Xcustom.yaml"
474
+ - ".data/spec/custom/isa/qc_iu/csr/Smrnmi/mnepc.yaml"
475
+ - ".data/spec/custom/isa/qc_iu/csr/Xqccmi/qc.itba.yaml"
476
+ - ".data/spec/custom/isa/qc_iu/csr/Xqccmi/qc.itdec.yaml"
476
477
  - ".data/spec/custom/isa/qc_iu/csr/Xqci/gen_mcliciX.rb"
477
478
  - ".data/spec/custom/isa/qc_iu/csr/Xqci/qc.mcause.yaml"
478
479
  - ".data/spec/custom/isa/qc_iu/csr/Xqci/qc.mclicie0.yaml"
@@ -536,12 +537,16 @@ files:
536
537
  - ".data/spec/custom/isa/qc_iu/csr/Xqci/qc.mwpstartaddr1.yaml"
537
538
  - ".data/spec/custom/isa/qc_iu/csr/Xqci/qc.mwpstartaddr2.yaml"
538
539
  - ".data/spec/custom/isa/qc_iu/csr/Xqci/qc.mwpstartaddr3.yaml"
540
+ - ".data/spec/custom/isa/qc_iu/csr/jvt.yaml"
541
+ - ".data/spec/custom/isa/qc_iu/csr/mepc.yaml"
539
542
  - ".data/spec/custom/isa/qc_iu/exception_code/ExecWatchpoint.yaml"
540
543
  - ".data/spec/custom/isa/qc_iu/exception_code/IllegalStackPointer.yaml"
541
544
  - ".data/spec/custom/isa/qc_iu/exception_code/ReadWatchpoint.yaml"
542
545
  - ".data/spec/custom/isa/qc_iu/exception_code/SpOutOfRange.yaml"
543
546
  - ".data/spec/custom/isa/qc_iu/exception_code/WriteWatchpoint.yaml"
547
+ - ".data/spec/custom/isa/qc_iu/ext/Xqccmi.yaml"
544
548
  - ".data/spec/custom/isa/qc_iu/ext/Xqccmp.yaml"
549
+ - ".data/spec/custom/isa/qc_iu/ext/Xqccmt.yaml"
545
550
  - ".data/spec/custom/isa/qc_iu/ext/Xqci.yaml"
546
551
  - ".data/spec/custom/isa/qc_iu/ext/Xqcia.yaml"
547
552
  - ".data/spec/custom/isa/qc_iu/ext/Xqciac.yaml"
@@ -566,6 +571,7 @@ files:
566
571
  - ".data/spec/custom/isa/qc_iu/inst/C/c.srli.yaml"
567
572
  - ".data/spec/custom/isa/qc_iu/inst/I/slti.yaml"
568
573
  - ".data/spec/custom/isa/qc_iu/inst/I/sltiu.yaml"
574
+ - ".data/spec/custom/isa/qc_iu/inst/Xqccmi/qc.cm.ilut.yaml"
569
575
  - ".data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.mva01s.yaml"
570
576
  - ".data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.mvsa01.yaml"
571
577
  - ".data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.pop.yaml"
@@ -573,6 +579,8 @@ files:
573
579
  - ".data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.popretz.yaml"
574
580
  - ".data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.push.yaml"
575
581
  - ".data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.pushfp.yaml"
582
+ - ".data/spec/custom/isa/qc_iu/inst/Xqccmt/qc.cm.jalt.yaml"
583
+ - ".data/spec/custom/isa/qc_iu/inst/Xqccmt/qc.cm.jt.yaml"
576
584
  - ".data/spec/custom/isa/qc_iu/inst/Xqci/qc.addsat.yaml"
577
585
  - ".data/spec/custom/isa/qc_iu/inst/Xqci/qc.addusat.yaml"
578
586
  - ".data/spec/custom/isa/qc_iu/inst/Xqci/qc.beqi.yaml"
@@ -752,8 +760,6 @@ files:
752
760
  - ".data/spec/schemas/non_isa_schema.json"
753
761
  - ".data/spec/schemas/param_schema.json"
754
762
  - ".data/spec/schemas/prm_schema.json"
755
- - ".data/spec/schemas/proc_cert_class_schema.json"
756
- - ".data/spec/schemas/proc_cert_model_schema.json"
757
763
  - ".data/spec/schemas/profile_family_schema.json"
758
764
  - ".data/spec/schemas/profile_release_schema.json"
759
765
  - ".data/spec/schemas/profile_schema.json"
@@ -1221,6 +1227,7 @@ files:
1221
1227
  - ".data/spec/std/isa/ext/Smepmp.yaml"
1222
1228
  - ".data/spec/std/isa/ext/Smmpm.yaml"
1223
1229
  - ".data/spec/std/isa/ext/Smnpm.yaml"
1230
+ - ".data/spec/std/isa/ext/Smpmpmt.yaml"
1224
1231
  - ".data/spec/std/isa/ext/Smrnmi.yaml"
1225
1232
  - ".data/spec/std/isa/ext/Smstateen.yaml"
1226
1233
  - ".data/spec/std/isa/ext/Ssaia.yaml"
@@ -1255,6 +1262,7 @@ files:
1255
1262
  - ".data/spec/std/isa/ext/Svnapot.yaml"
1256
1263
  - ".data/spec/std/isa/ext/Svpbmt.yaml"
1257
1264
  - ".data/spec/std/isa/ext/Svrsw60t59b.yaml"
1265
+ - ".data/spec/std/isa/ext/Svukte.yaml"
1258
1266
  - ".data/spec/std/isa/ext/Svvptc.yaml"
1259
1267
  - ".data/spec/std/isa/ext/U.yaml"
1260
1268
  - ".data/spec/std/isa/ext/V.yaml"
@@ -2798,6 +2806,7 @@ files:
2798
2806
  - ".data/spec/std/isa/param/MCID_WIDTH.yaml"
2799
2807
  - ".data/spec/std/isa/param/MCONTEXT_AVAILABLE.yaml"
2800
2808
  - ".data/spec/std/isa/param/MCOUNTENABLE_EN.yaml"
2809
+ - ".data/spec/std/isa/param/MCOUNTINHIBIT_IMPLEMENTED.yaml"
2801
2810
  - ".data/spec/std/isa/param/MCTRCTL_CORSWAPINH_IMPLEMENTED.yaml"
2802
2811
  - ".data/spec/std/isa/param/MCTRCTL_CUSTOM_IMPLEMENTED.yaml"
2803
2812
  - ".data/spec/std/isa/param/MCTRCTL_DIRCALLINH_IMPLEMENTED.yaml"
@@ -2829,7 +2838,6 @@ files:
2829
2838
  - ".data/spec/std/isa/param/MSTATEEN_IMSIC_TYPE.yaml"
2830
2839
  - ".data/spec/std/isa/param/MSTATEEN_JVT_TYPE.yaml"
2831
2840
  - ".data/spec/std/isa/param/MSTATUS_FS_LEGAL_VALUES.yaml"
2832
- - ".data/spec/std/isa/param/MSTATUS_TVM_IMPLEMENTED.yaml"
2833
2841
  - ".data/spec/std/isa/param/MSTATUS_VS_LEGAL_VALUES.yaml"
2834
2842
  - ".data/spec/std/isa/param/MTVAL_WIDTH.yaml"
2835
2843
  - ".data/spec/std/isa/param/MTVEC_ACCESS.yaml"
@@ -2852,10 +2860,14 @@ files:
2852
2860
  - ".data/spec/std/isa/param/M_MODE_ENDIANNESS.yaml"
2853
2861
  - ".data/spec/std/isa/param/NUM_EXTERNAL_GUEST_INTERRUPTS.yaml"
2854
2862
  - ".data/spec/std/isa/param/NUM_PMP_ENTRIES.yaml"
2863
+ - ".data/spec/std/isa/param/NUM_USABLE_PMP_ENTRIES.yaml"
2855
2864
  - ".data/spec/std/isa/param/PHYS_ADDR_WIDTH.yaml"
2856
2865
  - ".data/spec/std/isa/param/PMA_GRANULARITY.yaml"
2857
2866
  - ".data/spec/std/isa/param/PMLEN.yaml"
2858
2867
  - ".data/spec/std/isa/param/PMP_GRANULARITY.yaml"
2868
+ - ".data/spec/std/isa/param/PMP_NA4_SUPPORTED.yaml"
2869
+ - ".data/spec/std/isa/param/PMP_NAPOT_SUPPORTED.yaml"
2870
+ - ".data/spec/std/isa/param/PMP_TOR_SUPPORTED.yaml"
2859
2871
  - ".data/spec/std/isa/param/PRECISE_SYNCHRONOUS_EXCEPTIONS.yaml"
2860
2872
  - ".data/spec/std/isa/param/RCID_WIDTH.yaml"
2861
2873
  - ".data/spec/std/isa/param/REPORT_CAUSE_IN_MTVAL_ON_LANDING_PAD_SOFTWARE_CHECK.yaml"
@@ -2979,27 +2991,13 @@ files:
2979
2991
  - ".data/spec/std/isa/param/VS_MODE_ENDIANNESS.yaml"
2980
2992
  - ".data/spec/std/isa/param/VUXLEN.yaml"
2981
2993
  - ".data/spec/std/isa/param/VU_MODE_ENDIANNESS.yaml"
2982
- - ".data/spec/std/isa/proc_cert_class/AC.yaml"
2983
- - ".data/spec/std/isa/proc_cert_class/MC.yaml"
2984
- - ".data/spec/std/isa/proc_cert_class/RVI.yaml"
2985
- - ".data/spec/std/isa/proc_cert_model/AC100.yaml"
2986
- - ".data/spec/std/isa/proc_cert_model/AC200.yaml"
2987
- - ".data/spec/std/isa/proc_cert_model/MC100-32.yaml"
2988
- - ".data/spec/std/isa/proc_cert_model/MC100-64.yaml"
2989
- - ".data/spec/std/isa/proc_cert_model/MC200-32.yaml"
2990
- - ".data/spec/std/isa/proc_cert_model/MC200-64.yaml"
2991
- - ".data/spec/std/isa/proc_cert_model/MC300-32.yaml"
2992
- - ".data/spec/std/isa/proc_cert_model/MC300-64.yaml"
2993
- - ".data/spec/std/isa/proc_cert_model/RVI20-32.yaml"
2994
- - ".data/spec/std/isa/proc_cert_model/RVI20-64.yaml"
2994
+ - ".data/spec/std/isa/param/ZAWRS_NTO_IS_NOP.yaml"
2995
2995
  - ".data/spec/std/isa/profile/RVA20S64.yaml"
2996
2996
  - ".data/spec/std/isa/profile/RVA20U64.yaml"
2997
2997
  - ".data/spec/std/isa/profile/RVA22S64.yaml"
2998
2998
  - ".data/spec/std/isa/profile/RVA22U64.yaml"
2999
- - ".data/spec/std/isa/profile/RVA23M64.yaml"
3000
2999
  - ".data/spec/std/isa/profile/RVA23S64.yaml"
3001
3000
  - ".data/spec/std/isa/profile/RVA23U64.yaml"
3002
- - ".data/spec/std/isa/profile/RVB23M64.yaml"
3003
3001
  - ".data/spec/std/isa/profile/RVB23S64.yaml"
3004
3002
  - ".data/spec/std/isa/profile/RVB23U64.yaml"
3005
3003
  - ".data/spec/std/isa/profile/RVI20U32.yaml"
@@ -3026,7 +3024,6 @@ files:
3026
3024
  - lib/udb/MUST_VERSION
3027
3025
  - lib/udb/Z3_VERSION
3028
3026
  - lib/udb/architecture.rb
3029
- - lib/udb/cert_normative_rule.rb
3030
3027
  - lib/udb/cfg_arch.rb
3031
3028
  - lib/udb/cli.rb
3032
3029
  - lib/udb/condition.rb
@@ -3041,8 +3038,6 @@ files:
3041
3038
  - lib/udb/idl/condition_to_udb.rb
3042
3039
  - lib/udb/log.rb
3043
3040
  - lib/udb/logic.rb
3044
- - lib/udb/obj/certifiable_obj.rb
3045
- - lib/udb/obj/certificate.rb
3046
3041
  - lib/udb/obj/csr.rb
3047
3042
  - lib/udb/obj/csr_field.rb
3048
3043
  - lib/udb/obj/database_obj.rb
@@ -3062,7 +3057,6 @@ files:
3062
3057
  - lib/udb/portfolio_design.rb
3063
3058
  - lib/udb/presence.rb
3064
3059
  - lib/udb/prm_generator.rb
3065
- - lib/udb/proc_cert_design.rb
3066
3060
  - lib/udb/resolver.rb
3067
3061
  - lib/udb/schema.rb
3068
3062
  - lib/udb/version.rb
@@ -3079,7 +3073,6 @@ metadata:
3079
3073
  homepage_uri: https://github.com/riscv/riscv-unified-db
3080
3074
  mailing_list_uri: https://lists.riscv.org/g/tech-unifieddb
3081
3075
  bug_tracker_uri: https://github.com/riscv/riscv-unified-db/issues
3082
- post_install_message:
3083
3076
  rdoc_options: []
3084
3077
  require_paths:
3085
3078
  - lib
@@ -3094,8 +3087,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
3094
3087
  - !ruby/object:Gem::Version
3095
3088
  version: '0'
3096
3089
  requirements: []
3097
- rubygems_version: 3.4.19
3098
- signing_key:
3090
+ rubygems_version: 3.6.9
3099
3091
  specification_version: 4
3100
3092
  summary: Interface to the RISC-V Unified Database
3101
3093
  test_files: []
@@ -1,159 +0,0 @@
1
- # SPDX-License-Identifier: CC0-1.0
2
-
3
- # AUTO-GENERATED FILE. DO NOT EDIT
4
- # To regenerate, run `./do gen:cfg` in the UDB root directory
5
- # The data comes from the UDB profile definitions in spec/std/isa/profile/
6
-
7
- ---
8
- "$schema": config_schema.json#
9
- kind: architecture configuration
10
- type: partially configured
11
- name: RVA23M64
12
- description:
13
- params:
14
- MXLEN: 64
15
- mandatory_extensions:
16
- - name: A
17
- version: "~> 2.1"
18
- - name: B
19
- version: "~> 1.0.0"
20
- - name: C
21
- version: "~> 2.0"
22
- - name: D
23
- version: "~> 2.2"
24
- - name: F
25
- version: "~> 2.2"
26
- - name: I
27
- version: "~> 2.1"
28
- - name: M
29
- version: "~> 2.0"
30
- - name: S
31
- version: "~> 1.13"
32
- - name: Sha
33
- version: "~> 1.0"
34
- - name: Sm
35
- version: "~> 1.13"
36
- - name: Ssccptr
37
- version: "~> 1.0"
38
- - name: Sscofpmf
39
- version: "~> 1.0"
40
- - name: Sscounterenw
41
- version: "~> 1.0"
42
- - name: Ssnpm
43
- version: "~> 1.0"
44
- - name: Sstc
45
- version: "~> 1.0"
46
- - name: Sstvala
47
- version: "~> 1.0"
48
- - name: Sstvecd
49
- version: "~> 1.0"
50
- - name: Ssu64xl
51
- version: "~> 1.0"
52
- - name: Supm
53
- version: "~> 1.0"
54
- - name: Sv39
55
- version: "~> 1.0"
56
- - name: Svade
57
- version: "~> 1.0"
58
- - name: Svbare
59
- version: "~> 1.0"
60
- - name: Svinval
61
- version: "~> 1.0"
62
- - name: Svnapot
63
- version: "~> 1.0"
64
- - name: Svpbmt
65
- version: "~> 1.0"
66
- - name: U
67
- version: "~> 1.0"
68
- - name: V
69
- version: "~> 1.0"
70
- - name: Za128rs
71
- version: "~> 1.0"
72
- - name: Za64rs
73
- version: "~> 1.0"
74
- - name: Zawrs
75
- version: "~> 1.0"
76
- - name: Zba
77
- version: "~> 1.0"
78
- - name: Zbb
79
- version: "~> 1.0"
80
- - name: Zbs
81
- version: "~> 1.0"
82
- - name: Zcb
83
- version: "~> 1.0"
84
- - name: Zcmop
85
- version: "~> 1.0"
86
- - name: Zfa
87
- version: "~> 1.0"
88
- - name: Zfhmin
89
- version: "~> 1.0"
90
- - name: Zic64b
91
- version: "= 1.0"
92
- - name: Zicbom
93
- version: "~> 1.0"
94
- - name: Zicbop
95
- version: "~> 1.0"
96
- - name: Zicboz
97
- version: "~> 1.0"
98
- - name: Ziccamoa
99
- version: "~> 1.0"
100
- - name: Ziccif
101
- version: "~> 1.0"
102
- - name: Zicclsm
103
- version: "~> 1.0"
104
- - name: Ziccrse
105
- version: "~> 1.0"
106
- - name: Zicntr
107
- version: "~> 2.0"
108
- - name: Zicond
109
- version: "~> 1.0"
110
- - name: Zicsr
111
- version: "~> 2.0"
112
- - name: Zifencei
113
- version: "~> 1.0"
114
- - name: Zihintntl
115
- version: "~> 1.0"
116
- - name: Zihintpause
117
- version: "~> 2.0"
118
- - name: Zihpm
119
- version: "~> 2.0"
120
- - name: Zimop
121
- version: "~> 1.0"
122
- - name: Zkt
123
- version: "~> 1.0"
124
- - name: Zvbb
125
- version: "~> 1.0"
126
- - name: Zvfhmin
127
- version: "~> 1.0"
128
- - name: Zvkt
129
- version: "~> 1.0"
130
- non_mandatory_extensions:
131
- - name: Sdtrig
132
- version: "~> 1.0"
133
- - name: Sspm
134
- version: "~> 1.0"
135
- - name: Ssstrict
136
- version: "~> 1.0"
137
- - name: Sv48
138
- version: "~> 1.13"
139
- - name: Sv57
140
- version: "~> 1.13"
141
- - name: Svadu
142
- version: "~> 1.0"
143
- - name: Svvptc
144
- version: "~> 1.0"
145
- - name: Zca
146
- version: "~> 1.0"
147
- - name: Zcd
148
- version: "~> 1.0"
149
- - name: Zcf
150
- version: "~> 1.0"
151
- - name: Zfh
152
- version: "~> 1.0"
153
- - name: Zkn
154
- version: "~> 1.0"
155
- - name: Zkr
156
- version: "~> 1.0"
157
- - name: Zks
158
- version: "~> 1.0"
159
- additional_extensions: true
@@ -1,149 +0,0 @@
1
- # SPDX-License-Identifier: CC0-1.0
2
-
3
- # AUTO-GENERATED FILE. DO NOT EDIT
4
- # To regenerate, run `./do gen:cfg` in the UDB root directory
5
- # The data comes from the UDB profile definitions in spec/std/isa/profile/
6
-
7
- ---
8
- "$schema": config_schema.json#
9
- kind: architecture configuration
10
- type: partially configured
11
- name: RVB23M64
12
- description:
13
- params:
14
- MXLEN: 64
15
- mandatory_extensions:
16
- - name: A
17
- version: "~> 2.1"
18
- - name: B
19
- version: "~> 1.0.0"
20
- - name: C
21
- version: "~> 2.0"
22
- - name: D
23
- version: "~> 2.2"
24
- - name: F
25
- version: "~> 2.2"
26
- - name: I
27
- version: "~> 2.1"
28
- - name: M
29
- version: "~> 2.0"
30
- - name: S
31
- version: "~> 1.13"
32
- - name: Sm
33
- version: "~> 1.13"
34
- - name: Ssccptr
35
- version: "~> 1.0"
36
- - name: Sscofpmf
37
- version: "~> 1.0"
38
- - name: Sscounterenw
39
- version: "~> 1.0"
40
- - name: Sstc
41
- version: "~> 1.0"
42
- - name: Sstvala
43
- version: "~> 1.0"
44
- - name: Sstvecd
45
- version: "~> 1.0"
46
- - name: Ssu64xl
47
- version: "~> 1.0"
48
- - name: Sv39
49
- version: "~> 1.0"
50
- - name: Svade
51
- version: "~> 1.0"
52
- - name: Svbare
53
- version: "~> 1.0"
54
- - name: Svinval
55
- version: "~> 1.0"
56
- - name: Svnapot
57
- version: "~> 1.0"
58
- - name: Svpbmt
59
- version: "~> 1.0"
60
- - name: U
61
- version: "~> 1.0"
62
- - name: Za128rs
63
- version: "~> 1.0"
64
- - name: Za64rs
65
- version: "~> 1.0"
66
- - name: Zawrs
67
- version: "~> 1.0"
68
- - name: Zba
69
- version: "~> 1.0"
70
- - name: Zbb
71
- version: "~> 1.0"
72
- - name: Zbs
73
- version: "~> 1.0"
74
- - name: Zcb
75
- version: "~> 1.0"
76
- - name: Zcmop
77
- version: "~> 1.0"
78
- - name: Zfa
79
- version: "~> 1.0"
80
- - name: Zic64b
81
- version: "= 1.0"
82
- - name: Zicbom
83
- version: "~> 1.0"
84
- - name: Zicbop
85
- version: "~> 1.0"
86
- - name: Zicboz
87
- version: "~> 1.0"
88
- - name: Ziccamoa
89
- version: "~> 1.0"
90
- - name: Ziccif
91
- version: "~> 1.0"
92
- - name: Zicclsm
93
- version: "~> 1.0"
94
- - name: Ziccrse
95
- version: "~> 1.0"
96
- - name: Zicntr
97
- version: "~> 2.0"
98
- - name: Zicond
99
- version: "~> 1.0"
100
- - name: Zicsr
101
- version: "~> 2.0"
102
- - name: Zifencei
103
- version: "~> 1.0"
104
- - name: Zihintntl
105
- version: "~> 1.0"
106
- - name: Zihintpause
107
- version: "~> 2.0"
108
- - name: Zihpm
109
- version: "~> 2.0"
110
- - name: Zimop
111
- version: "~> 1.0"
112
- - name: Zkt
113
- version: "~> 1.0"
114
- non_mandatory_extensions:
115
- - name: Sdtrig
116
- version: "~> 1.0"
117
- - name: Sha
118
- version: "~> 1.0"
119
- - name: Ssnpm
120
- version: "~> 1.0"
121
- - name: Sspm
122
- version: "~> 1.0"
123
- - name: Ssstrict
124
- version: "~> 1.0"
125
- - name: Sv48
126
- version: "~> 1.13"
127
- - name: Sv57
128
- version: "~> 1.13"
129
- - name: Svadu
130
- version: "~> 1.0"
131
- - name: Svvptc
132
- version: "~> 1.0"
133
- - name: Zca
134
- version: "~> 1.0"
135
- - name: Zcd
136
- version: "~> 1.0"
137
- - name: Zcf
138
- version: "~> 1.0"
139
- - name: Zfh
140
- version: "~> 1.0"
141
- - name: Zfhmin
142
- version: "~> 1.0"
143
- - name: Zkn
144
- version: "~> 1.0"
145
- - name: Zkr
146
- version: "~> 1.0"
147
- - name: Zks
148
- version: "~> 1.0"
149
- additional_extensions: true
@@ -1,35 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "v0.1",
4
- "type": "object",
5
- "required": ["$schema", "kind", "name", "long_name", "introduction"],
6
- "additionalProperties": false,
7
- "properties": {
8
- "$schema": {
9
- "const": "proc_cert_class_schema.json#"
10
- },
11
- "kind": {
12
- "const": "processor certificate class"
13
- },
14
- "name": {
15
- "type": "string",
16
- "pattern": "^[A-Z][a-zA-Z0-9_]*$",
17
- "description": "The short name of the class, used as a database key"
18
- },
19
- "long_name": {
20
- "type": "string",
21
- "description": "Descriptive name of the class"
22
- },
23
- "processor_kind": {
24
- "enum": ["Generic Unprivileged", "Microcontroller", "Apps Processor"],
25
- "description": "What kind of class is this?"
26
- },
27
- "introduction": {
28
- "type": "string",
29
- "description": "Asciidoc text containing the introduction prose for the class"
30
- },
31
- "$source": {
32
- "$ref": "schema_defs.json#/$defs/$source"
33
- }
34
- }
35
- }