diff options
author | Tristan Gingold <tgingold@free.fr> | 2017-05-17 06:55:08 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2017-05-18 07:59:34 +0200 |
commit | b8655214d98075df0147015a0fab864b3f2abc86 (patch) | |
tree | 00d78f7ad6e63bc67e995087d3ec352c7c39620c /testsuite/gna/issue333/time_test.vhdl | |
parent | 2e52e07e6a18a89d06060f09f952d78d704d0c00 (diff) | |
download | ghdl-b8655214d98075df0147015a0fab864b3f2abc86.tar.gz ghdl-b8655214d98075df0147015a0fab864b3f2abc86.tar.bz2 ghdl-b8655214d98075df0147015a0fab864b3f2abc86.zip |
Testcase for #333
Close #333
Diffstat (limited to 'testsuite/gna/issue333/time_test.vhdl')
-rw-r--r-- | testsuite/gna/issue333/time_test.vhdl | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/testsuite/gna/issue333/time_test.vhdl b/testsuite/gna/issue333/time_test.vhdl new file mode 100644 index 000000000..2895f3ef0 --- /dev/null +++ b/testsuite/gna/issue333/time_test.vhdl @@ -0,0 +1,24 @@ +entity Time_test is +end Time_test; + +architecture Behavioral of Time_test is + +constant c_CLOCK_FREQUENCY : natural := 32000000; +constant c_SWITCH_ON_TIME_ms : time := 200 ms; +constant c_SWITCH_COUNT_CYCLES : integer := integer(real(c_CLOCK_FREQUENCY * + (c_SWITCH_ON_TIME_ms / 1 ms)) / 1000.0); + +begin +process is +begin + report " Switch ON time " & time'image(c_SWITCH_ON_TIME_ms) severity NOTE; + report " Switch count " & natural'image(c_SWITCH_COUNT_CYCLES) severity NOTE; + -- sanity checks on time constraints + report "Clock frequency = " & natural'image(c_CLOCK_FREQUENCY) & " Hz" severity NOTE; + report "Clock period = " & time'image( 1 sec / c_CLOCK_FREQUENCY) severity NOTE; + report "Switch period = " & time'image ( 1 sec / c_CLOCK_FREQUENCY * c_SWITCH_COUNT_CYCLES) severity NOTE; + Assert c_SWITCH_ON_TIME_ms = 1 sec / c_CLOCK_FREQUENCY * c_SWITCH_COUNT_CYCLES + report "Wrong Switch ON time = " & time'image ( 1 sec / c_CLOCK_FREQUENCY * c_SWITCH_COUNT_CYCLES) severity ERROR; + wait; +end process; +end Behavioral; |