Skip to content

Commit

Permalink
Add support for module parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
alexforencich committed Oct 18, 2020
1 parent 2bb3d5d commit f7ef60f
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions cocotb_test/simulator.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ def __init__(
vhdl_sources=None,
includes=None,
defines=None,
parameters=None,
compile_args=None,
simulation_args=None,
extra_args=None,
Expand Down Expand Up @@ -104,6 +105,11 @@ def __init__(

self.defines = defines

if parameters is None:
parameters = {}

self.parameters = parameters

if compile_args is None:
compile_args = []

Expand Down Expand Up @@ -206,6 +212,9 @@ def get_include_commands(self, includes):
def get_define_commands(self, defines):
raise NotImplementedError()

def get_parameter_commands(self, parameters):
raise NotImplementedError()

def get_abs_paths(self, paths):
paths_abs = []
for path in paths:
Expand Down Expand Up @@ -298,12 +307,21 @@ def get_define_commands(self, defines):

return defines_cmd

def get_parameter_commands(self, parameters):
parameters_cmd = []
for name, value in parameters.items():
parameters_cmd.append("-P")
parameters_cmd.append(self.toplevel + "." + name + "=" + str(value))

return parameters_cmd

def compile_command(self):

cmd_compile = (
["iverilog", "-o", self.sim_file, "-D", "COCOTB_SIM=1", "-s", self.toplevel, "-g2012"]
+ self.get_define_commands(self.defines)
+ self.get_include_commands(self.includes)
+ self.get_parameter_commands(self.parameters)
+ self.compile_args
+ self.verilog_sources
)
Expand Down Expand Up @@ -739,6 +757,13 @@ def get_define_commands(self, defines):

return defines_cmd

def get_parameter_commands(self, parameters):
parameters_cmd = []
for name, value in parameters.items():
parameters_cmd.append("-G" + name + "=" + str(value))

return parameters_cmd

def build_command(self):

cmd = []
Expand Down Expand Up @@ -774,6 +799,7 @@ def build_command(self):
+ self.compile_args
+ self.get_define_commands(self.defines)
+ self.get_include_commands(self.includes)
+ self.get_parameter_commands(self.parameters)
+ [verilator_cpp]
+ self.verilog_sources
)
Expand Down

0 comments on commit f7ef60f

Please sign in to comment.