param( [Parameter(Mandatory=$true)] [string]$module ) $module = $module.TrimStart('.', '/', '\').TrimEnd('/', '\') iverilog -o ".\$module\$module.vvp" ".\$module\${module}_tb.v" if ($LASTEXITCODE -ne 0) { exit 1 } vvp ".\$module\$module.vvp" if ($LASTEXITCODE -ne 0) { exit 1 } gtkwave ".\$module\$module.vcd"