aboutsummaryrefslogtreecommitdiffstats
path: root/src/grt/grt-vcd.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-10-19 05:12:20 +0200
committerTristan Gingold <tgingold@free.fr>2018-10-21 08:03:38 +0200
commit1803f976121985c6e8e7506c9b959e8d2b5f718c (patch)
treec590acb9a797c28b01adc40cf5b00b5b017c799c /src/grt/grt-vcd.adb
parentf910e02797a83d0c5748768d20359a3d95569cc7 (diff)
downloadghdl-1803f976121985c6e8e7506c9b959e8d2b5f718c.tar.gz
ghdl-1803f976121985c6e8e7506c9b959e8d2b5f718c.tar.bz2
ghdl-1803f976121985c6e8e7506c9b959e8d2b5f718c.zip
Pass time-resolution to grt.
Use time-resolution for Put_Time. Use time-resolution for --stop-time (Parse_Time). Use time-resolution as VpiTimePrecision and for vcd. TODO: ghw (but needs to update ghwlib and gtkwave) Fix #672
Diffstat (limited to 'src/grt/grt-vcd.adb')
-rw-r--r--src/grt/grt-vcd.adb16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/grt/grt-vcd.adb b/src/grt/grt-vcd.adb
index 9050a26a4..b058dcdaf 100644
--- a/src/grt/grt-vcd.adb
+++ b/src/grt/grt-vcd.adb
@@ -53,6 +53,7 @@ with Grt.Vstrings;
with Grt.Wave_Opt; use Grt.Wave_Opt;
with Grt.Wave_Opt.Design; use Grt.Wave_Opt.Design;
with Grt.Fcvt;
+with Grt.Options;
pragma Elaborate_All (Grt.Table);
package body Grt.Vcd is
@@ -241,7 +242,20 @@ package body Grt.Vcd is
Vcd_Putline (" GHDL v0");
Vcd_Put_End;
Vcd_Putline ("$timescale");
- Vcd_Putline (" 1 fs");
+ case Options.Time_Resolution_Scale is
+ when 5 =>
+ Vcd_Putline (" 1 fs");
+ when 4 =>
+ Vcd_Putline (" 1 ps");
+ when 3 =>
+ Vcd_Putline (" 1 ns");
+ when 2 =>
+ Vcd_Putline (" 1 us");
+ when 1 =>
+ Vcd_Putline (" 1 ms");
+ when 0 =>
+ Vcd_Putline (" 1 sec");
+ end case;
Vcd_Put_End;
end Vcd_Init;