diff options
Diffstat (limited to 'src/maker')
-rwxr-xr-x | src/maker/ModelGeneration.py | 8 | ||||
-rwxr-xr-x | src/maker/NgVeri.py | 23 |
2 files changed, 22 insertions, 9 deletions
diff --git a/src/maker/ModelGeneration.py b/src/maker/ModelGeneration.py index 7dce1de7..f6afd5c0 100755 --- a/src/maker/ModelGeneration.py +++ b/src/maker/ModelGeneration.py @@ -167,6 +167,12 @@ class ModelGeneration(QtWidgets.QWidget): code = code.replace("wire", " ") code = code.replace("reg", " ") + + header_re = re.compile(r'module\s+\w+\s*\((.*?)\)\s*;', re.S) + def _split_ports(match): + # add a newline after every comma that is inside the header + return match.group(0).replace(',', ',\n') + code = header_re.sub(_split_ports, code) vlog_ex = vlog.VerilogExtractor() vlog_mods = vlog_ex.extract_objects_from_source(code) f = open(self.modelpath + "connection_info.txt", 'w') @@ -718,7 +724,7 @@ and set the load for input ports */ int foo_''' + self.fname.split('.')[0] + '''(int init,int count) { int argc=1; - char* argv[]={"fullverbose"}; + const char* argv[]={"fullverbose"}; Verilated::commandArgs(argc, argv); static VerilatedContext* contextp = new VerilatedContext; static V''' + self.fname.split('.')[0] + "* " + \ diff --git a/src/maker/NgVeri.py b/src/maker/NgVeri.py index c5756e7d..1678248f 100755 --- a/src/maker/NgVeri.py +++ b/src/maker/NgVeri.py @@ -338,14 +338,21 @@ class NgVeri(QtWidgets.QWidget): QtWidgets.QMessageBox.Cancel) if ret == QtWidgets.QMessageBox.Ok: - file = open(init_path + "library/tlv/lint_off.txt", 'r') - data = file.readlines() - file.close() - - data.remove(text + "\n") - file = open(init_path + "library/tlv/lint_off.txt", 'w') - for item in data: - file.write(item) + try: + file_path = os.path.join(init_path, "library/tlv/lint_off.txt") + with open(file_path, 'r') as file: + data = file.readlines() + data = [line for line in data if line.strip() != text] + with open(file_path, 'w') as file: + file.writelines(data) + + except Exception as e: + QtWidgets.QMessageBox.warning( + None, + "Warning", + f"Could not remove lint_off entry '{text}'", + QtWidgets.QMessageBox.Ok + ) def add_lint_off(self): ''' |