Skip to content
This repository was archived by the owner on Nov 4, 2024. It is now read-only.

Commit 9dc9503

Browse files
authored
Merge pull request #52 from riscv-software-src/sail-parser-patch
Sail parser patch
2 parents 36cb0c7 + 668bc93 commit 9dc9503

File tree

6 files changed

+18
-5
lines changed

6 files changed

+18
-5
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
44

5+
6+
## [0.16.1] - 2022-10-20
7+
- Fix length of commitval to 32 bits if flen is 32 for f registers in sail parser.
8+
59
## [0.16.0] - 2022-09-28
610
- Refactored the instruction object class
711

riscv_isac/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44

55
__author__ = """InCore Semiconductors Pvt Ltd"""
66
__email__ = 'info@incoresemi.com'
7-
__version__ = '0.16.0'
7+
__version__ = '0.16.1'
8+

riscv_isac/coverage.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -883,7 +883,7 @@ def compute(trace_file, test_name, cgf, parser_name, decoder_name, detailed, xle
883883
parserclass = getattr(parserfile, parser_name)
884884
parser_pm.register(parserclass())
885885
parser = parser_pm.hook
886-
parser.setup(trace=trace_file,arch="rv"+str(xlen))
886+
parser.setup(trace=trace_file,arch=(xlen,flen))
887887

888888
decoder_pm = pluggy.PluginManager("decoder")
889889
decoder_pm.add_hookspecs(DecoderSpec)

riscv_isac/plugins/c_sail.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@
22
import riscv_isac.plugins as plugins
33
import riscv_isac.plugins. specification as spec
44
from riscv_isac.InstructionObject import instructionObject
5+
from riscv_isac.log import logger
56

67
class c_sail(spec.ParserSpec):
78

89
@plugins.parserHookImpl
910
def setup(self, trace, arch):
1011
self.trace = trace
1112
self.arch = arch
13+
if arch[1] == 32:
14+
logger.warn('FLEN is set to 32. Commit values in the log will be terminated to 32 bits \
15+
irrespective of their original size.')
1216

1317
instr_pattern_c_sail= re.compile(
1418
'\[\d*\]\s\[(.*?)\]:\s(?P<addr>[0-9xABCDEF]+)\s\((?P<instr>[0-9xABCDEF]+)\)\s*(?P<mnemonic>.*)')
@@ -34,7 +38,11 @@ def extractRegisterCommitVal(self, line):
3438
instr_pattern = self.instr_pattern_c_sail_regt_reg_val
3539
re_search = instr_pattern.search(line)
3640
if re_search is not None:
37-
return (re_search.group('regt'), re_search.group('reg'), re_search.group('val'))
41+
rtype = re_search.group('regt')
42+
cval = re_search.group('val')
43+
if rtype =='f' and self.arch[1] == 32:
44+
cval = cval[0:2]+cval[-8:]
45+
return (rtype, re_search.group('reg'), cval)
3846
else:
3947
return None
4048

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 0.16.0
2+
current_version = 0.16.1
33
commit = True
44
tag = True
55

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def read_requires():
2626

2727
setup(
2828
name='riscv_isac',
29-
version='0.16.0',
29+
version='0.16.1',
3030
description="RISC-V ISAC",
3131
long_description=readme + '\n\n',
3232
classifiers=[

0 commit comments

Comments
 (0)