This is a two-digits timer, which can count from 00 to 99 in seconds. The time to stop counting is given through 8 input switches (ui_in) as two BCD numbers (which can be from 00 to 99). This number is loaded into an internal register when input Load is '1'. Then when input Start is '1' the counting begins. The timer stops when it reaches the specified count number and then output Time_Out will become '1'. Seconds (either Ones or Tens) is displayed on 7-Seg display depending on uio_in[3].
After reset, when Start and Load inputs are activated the counter should increase by one every second with a 10MHz input clock. Experiment by changing the inputs to count different number of seconds
# | Input | Output | Bidirectional |
---|---|---|---|
0 | Timeout (in Seconds) bits 7 to 0 | segment a | Load bit 0 (uio_in[0]) |
1 | segment b | Start bit 1 (uio_in[1]) | |
2 | segment c | Tens or Ones select bit 3 (uio_in[3]) | |
3 | segment d | Time_Out uio_out[7] | |
4 | segment e | ||
5 | segment f | ||
6 | segment g | ||
7 | dot |