I made a simple clock application in DE0. It shows hours, minutes and seconds. I use counters for each. They are operating with 50MHz clock. I use a 1 Hz pulse generator. It creates a single pulse every 1 second. Binary counter output is converted to BCD by sing add-to-6 method. I used a readily available code from internet. Displaying BCD data in 7 segment displays is a simple work. In DE0, all of the pins of 4 digit 7 segment leds are connected to the separate pins of the fpga i.e 4x7=28 pins are used for 7 segment leds, so there is no need to do time multiplexing.
Some pictures:
Some pictures:
This video shows the operation of the clock. It also serves as a user-guide.
Program codes can be downloaded from here.