The samples of the data input pin are shifted into a shift register first. After that the 2 most significant bits of the shift register are used to detect the current signal state (high, low) and the edge events (rising edge, falling edge). There are 4 different states/events displayed on the 7 segment display.
state/event | segments on |
---|---|
high | a |
low | d |
rising edge | e and f |
falling edge | b and c |
The edge events duration is extended by counters, so the events can actually be seen by the human eye.
You can test by using the dip switch connected to io_in[2] as data input. I plan to connect a wire to the pin on the PCB by PMOD connector or custom soldering to be able to have a "measurement probe". ;-)
no external HW required
# | Input | Output |
---|---|---|
0 | clock | segment a |
1 | reset | segment b |
2 | data input | segment c |
3 | segment d | |
4 | segment e | |
5 | segment f | |
6 | segment g | |
7 | dot |