diff options
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; |