summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSumanto Kar2025-05-30 18:51:44 +0530
committerGitHub2025-05-30 18:51:44 +0530
commitde13d725c1ffd3e0754b22c0070c0a8be8b829e3 (patch)
tree55b805b0ddc12b17f48211bb36ba04280c580ae5
parent14fe57b50273e1991ecbff070a980206ab1a1db7 (diff)
parent76b3d415476c5c07c58dba74af8c328405746c00 (diff)
downloadeSim-de13d725c1ffd3e0754b22c0070c0a8be8b829e3.tar.gz
eSim-de13d725c1ffd3e0754b22c0070c0a8be8b829e3.tar.bz2
eSim-de13d725c1ffd3e0754b22c0070c0a8be8b829e3.zip
Merge pull request #344 from VaradhaCodes/fix-one-line-portsHEADmaster
Fix: Handle single-line port declarations in Verilog modules (Closes #270)
-rwxr-xr-xsrc/maker/ModelGeneration.py8
1 files changed, 7 insertions, 1 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] + "* " + \