clock with stopwatch using vhdl on spartan 3e?

Discussion in 'The Projects Forum' started by foxawy, May 8, 2012.

  1. foxawy

    Thread Starter New Member

    Dec 10, 2011
    hi , i have this project using Xilinix spartan 3e kit , but i have a very limited knowlege of VHDL (just the basics) so anybody can point me in the right direction and any help of where to start is appreciated .

    The project is to implement a “clock with stopwatch” using VHDL with the following specifications:
    - The user should be able to reset the system by an external reset switch such that the clock restarts from 00:00:00 am and the stopwatch resets to 00:00:00.
    - The user should be able to pause the “stopwatch” at any given time then resume from where it stopped.
    - The “stopwatch” can be reset independently from the clock.
    - All the outputs of the system [both the clock and the stopwatch] should be displayed on the FPGA LCD

    thanks !!
  2. WBahn


    Mar 31, 2012
    Don't try to tackle this all at once. Break it up into tiny pieces and get each piece working separately. Sit down and sketch out a block diagram of different pieces/parts of your design and jot down some notes of what each block needs to do and what information each block needs in order to do its task. The implement and test the blocks one at a time. Don't be afraid to play around with things that aren't needed in the final design in the process.

    For instance, you need to be able to recognize buttons being pushed. So get code working that turns on and off an LED each time a button is pushed. If you haven't already, you'll discover the joys of switch debouncing in the process. You might be thinking, "But I don't need any LEDs in this project." You might well be correct. The LEDs are merely a simple way in which to see if your button code is working properly.

    Then get code that does nothing more than displays a static message, such as "Hello", on the LCD.

    Then get code that takes the value stored in a register and displays it on the LCD.

    Then get code that simply counts up at a rate of one count per second and display that on the screen.

    Then get it so that your button can reset the counting.

    Then get it so that another button can pause/restart the counting.

    And so on and so forth.