1 / 21

VHDL Stopwatch with Split

VHDL Stopwatch with Split. A presentation by Scott Conaton and Colin Dolcetti. Project Objectives. Build and implement a fully functional stopwatch using VHDL programming techniques developed in class. Demonstrate the use of the stopwatch to the class as a whole. Design.

isra
Download Presentation

VHDL Stopwatch with Split

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VHDL Stopwatch with Split A presentation by Scott Conaton and Colin Dolcetti

  2. Project Objectives • Build and implement a fully functional stopwatch using VHDL programming techniques developed in class. • Demonstrate the use of the stopwatch to the class as a whole.

  3. Design • We developed several new modules to utilize in the main program • Time_Gen: a time value generator, which outputs the time elapsed since the input, clkin has been set to 1. • BTNx: toggles the value of its output whenever it recieves a clock pulse.

  4. Time_gen • This module consists of four modified counters, tenscnt, onescnt, tenthcnt, and hunscnt. • The output of each of these counters is its corresponding time digit. • The counters each receive the clock pulse and delay it the appropriate time

  5. clk Time_gen onescnt tenthcnt hunscnt tenscnt clr clr clr clr clkin clkin clkin clkin q4 q3 q2 q1

  6. Main Program • The main program takes the time value output by time_gen and sends it to the data registers T and N. • The display register, DI, loads the value in N into the display module, which then outputs the time value to the 7-segment displays

  7. FinalMain clkin Time_gen BTN? clk1 Q BTN(1) debounce clr tload T clk clk clr T BTN(2) debounce clr tload N clk clk2 N diload BTN? clr DI tload clk N2 display clk A(3:0) AtoG(6:0)

  8. dig4(3:0) dig3(3:0) dig2(3:0) dig1(3:0) clk4 anode dig3 dig2 dig4 dig1 osc_4k "1111" dig7seg display A(4:1) AtoG(6:0)

  9. Main Program Controls • When either button is pressed, its value is sent through a debounce to reduce it to a short clock pulse. • The pulse then travels through the BTNx module which, if BTN(1) is pressed, toggles the clkin signal, and if BTN(2) is pressed, toggles the diload signal.

  10. Effect of clkin and diload • Clkin and diload are initially set to 0 and 1 which stops time_gen, and allows the value in N to be loaded into DI and displayed. • When clkin goes to 1, time_gen begins to count and the current value is output to the displays. • When diload goes to 0, DI no longer loads any new values from N.

  11. Effects (Cont.) • At this point N still updates from time_gen every pulse, but only the last value in DI is displayed, until BTN(2) is pressed again, resetting diload to 1. • This is how we created the split effect.

  12. Demonstration of Stopwatch • We will now demonstrated the final implementation of our stopwatch program • Please hold your questions until the demo has finished.

More Related