Skip to content

Commit b097a89

Browse files
author
Oron Port
committed
add iverilog simulation support
1 parent 44e6970 commit b097a89

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

lib/src/main/scala/dfhdl/tools/toolsCore/IcarusVerilog.scala

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,12 @@ import java.io.File.separatorChar
1313
import dfhdl.compiler.stages.verilog.VerilogDialect
1414

1515
object IcarusVerilog extends VerilogLinter, VerilogSimulator:
16+
override val simRunsLint: Boolean = true
1617
val toolName: String = "Icarus Verilog"
1718
protected def binExec: String = "iverilog"
19+
override protected def simRunExec: String =
20+
val osName: String = sys.props("os.name").toLowerCase
21+
if (osName.contains("windows")) "vvp.exe" else "vvp"
1822
protected def versionCmd: String = "-V"
1923
protected def extractVersion(cmdRetStr: String): Option[String] =
2024
val versionPattern = """Icarus Verilog version\s+(\d+\.\d+)""".r
@@ -67,4 +71,15 @@ object IcarusVerilog extends VerilogLinter, VerilogSimulator:
6771
false
6872
)
6973
)
74+
75+
override protected def simulateCmdPostLangFlags(using
76+
CompilerOptions,
77+
SimulatorOptions,
78+
MemberGetSet
79+
): String = constructCommand(
80+
topName
81+
)
82+
83+
override protected def simulateCmdLanguageFlag(dialect: VerilogDialect): String =
84+
""
7085
end IcarusVerilog

0 commit comments

Comments
 (0)