7
7
8
8
from ..directive .string import string_hdl
9
9
10
+
10
11
# From https://github.com/tfcollins/vger/blob/main/vger/hdl_reg_map.py
11
12
def parse_hdl_regmap (reg : str , ctime : float , prefix : str ) -> Tuple [Dict , List [str ]]:
12
13
regmap = {
13
14
'subregmap' : {},
14
- 'owners' :[],
15
+ 'owners' : [],
15
16
'ctime' : ctime
16
17
}
17
18
warning = []
@@ -31,7 +32,7 @@ def parse_hdl_regmap(reg: str, ctime: float, prefix: str) -> Tuple[Dict, List[st
31
32
32
33
title = str (data [tit + 1 ].strip ())
33
34
title_tool = str (data [tit + 2 ].strip ())
34
- data = data [tit + 2 :]
35
+ data = data [tit + 2 :]
35
36
36
37
if 'ENDTITLE' in [title_tool , title ]:
37
38
warning .append (f"Malformed title fields at file { prefix } /regmap/adi_regmap_{ reg } .txt, skipped!" )
@@ -58,11 +59,12 @@ def parse_hdl_regmap(reg: str, ctime: float, prefix: str) -> Tuple[Dict, List[st
58
59
reg_desc = " " .join (reg_desc )
59
60
60
61
with contextlib .suppress (ValueError ):
61
- if tet := data .index ("TITLE" ):
62
+ tet = data .index ("TITLE" ) if "TITLE" in data else - 1
63
+ if tet != - 1 :
62
64
if regi > tet :
63
65
# into next regmap
64
66
break
65
- data = data [regi + 1 :]
67
+ data = data [regi + 1 :]
66
68
67
69
# Get fields
68
70
fields = []
@@ -74,7 +76,8 @@ def parse_hdl_regmap(reg: str, ctime: float, prefix: str) -> Tuple[Dict, List[st
74
76
break
75
77
76
78
with contextlib .suppress (ValueError ):
77
- if rege := data .index ("REG" ):
79
+ rege = data .index ("REG" ) if "REG" in data else - 1
80
+ if rege != - 1 :
78
81
if fi > rege :
79
82
# into next register
80
83
break
0 commit comments