summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2023-01-12 00:46:49 +0800
committerruki <[email protected]>2023-01-13 20:50:56 +0800
commit195b23ef65bb65db80d8ba321162636f0357f2f7 (patch)
tree6065cf2a2d36086cd0c3198a5daa01d16be909ea
parent2dc422359767bf0bf325e1f0b7bf05ea9de9334c (diff)
improve path
-rw-r--r--tests/projects/embed/iverilog/hello/src/main.v3
-rw-r--r--xmake/rules/iverilog/xmake.lua23
2 files changed, 13 insertions, 13 deletions
diff --git a/tests/projects/embed/iverilog/hello/src/main.v b/tests/projects/embed/iverilog/hello/src/main.v
index be0b56105..05e777eee 100644
--- a/tests/projects/embed/iverilog/hello/src/main.v
+++ b/tests/projects/embed/iverilog/hello/src/main.v
@@ -1,6 +1,5 @@
module main();
- initial
- begin
+ initial begin
$display("hello world!");
$finish ;
end
diff --git a/xmake/rules/iverilog/xmake.lua b/xmake/rules/iverilog/xmake.lua
index c12e0169b..5e19469e1 100644
--- a/xmake/rules/iverilog/xmake.lua
+++ b/xmake/rules/iverilog/xmake.lua
@@ -23,7 +23,7 @@ rule("iverilog.wave")
on_load(function (target)
target:set("kind", "binary")
if not target:get("extension") then
- target:set("extension", ".lxt")
+ target:set("extension", ".vcd")
end
end)
@@ -32,18 +32,20 @@ rule("iverilog.wave")
local iverilog = assert(toolchain:config("iverilog"), "iverilog not found!")
-- compile wave file
- local wavefile = target:targetfile() .. ".wave"
- local argv = {"-o", wavefile}
+ local targetfile = target:targetfile()
+ local targetdir = path.directory(targetfile)
+ local vvpfile = path.join(targetdir, path.basename(targetfile) .. ".vvp")
+ local argv = {"-o", vvpfile}
local sourcefiles = sourcebatch.sourcefiles
for _, sourcefile in ipairs(sourcefiles) do
batchcmds:show_progress(opt.progress, "${color.build.object}compiling.iverilog %s", path.filename(sourcefile))
table.insert(argv, path(sourcefile))
batchcmds:add_depfiles(sourcefile)
end
- batchcmds:mkdir(path.directory(wavefile))
+ batchcmds:mkdir(targetdir)
batchcmds:vrunv(iverilog, argv)
- batchcmds:set_depmtime(os.mtime(wavefile))
- batchcmds:set_depcache(target:dependfile(wavefile))
+ batchcmds:set_depmtime(os.mtime(vvpfile))
+ batchcmds:set_depcache(target:dependfile(vvpfile))
end)
on_linkcmd(function (target, batchcmds, opt)
@@ -52,12 +54,11 @@ rule("iverilog.wave")
-- generate wave.lxt
local targetfile = target:targetfile()
- local wavefile = targetfile .. ".wave"
+ local targetdir = path.directory(targetfile)
+ local vvpfile = path.join(targetdir, path.basename(targetfile) .. ".vvp")
batchcmds:show_progress(opt.progress, "${color.build.target}linking.iverilog %s", path.filename(targetfile))
- batchcmds:mkdir(path.directory(targetfile))
- batchcmds:vrunv(vvp, {"-n", wavefile, "-lxt2"})
- batchcmds:cp(wavefile .. ".vcd", targetfile)
- batchcmds:add_depfiles(wavefile)
+ batchcmds:vrunv(vvp, {"-n", vvpfile, "-lxt2"})
+ batchcmds:add_depfiles(vvpfile)
batchcmds:set_depmtime(os.mtime(targetfile))
batchcmds:set_depcache(target:dependfile(targetfile))
end)