![]() |
|
![]() |
![]() ![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
"HI" project HI.zip (62.857 Kb) This project is a simple circuit for the MAX 7000 (which requires no logic) that causes it to display "HI." on its 7-segment display. This illustrates pin assignments, the use of the 7-segment display, and procedures for entering, compiling and programming design files in Quartus. |
|
![]() |
Turn off MAX's 7-segment display 7seg_off.zip (67.716 Kb) Similar to the previous example, this project includes pinouts to turn off all 16 of the LED elements on the MAX's 2-digit 7-segment display. This helps to save power in designs that are not using the display. You can use the pin assignments here as a starting point for creating designs that manipulate the 7-segment display more extensively. |
|
![]() |
Decoder-Based 1-Digit Decimal 7-segment Display Driver dec_7seg_driver.zip (116.183 Kb) The Quartus folder in this ZIP file gives an example of how to use a decoder plus OR gates to implement an arbitrary Boolean function, in this case a binary-coded decimal digit decoder and 7-segment display driver, similar to what you designed for lab 2. Note that this design reduces design time considerably compared to what you did for lab 2, since we did not need to write K-maps, and the designer does not need to hand-wire separate product-term generators for each output bit. The AND gates inside the decoder, since they take 4 literals each, will generally be larger than the ones in your K-map design, but the added hardware complexity from this is somewhat offset by the fact that the minterm generators are shared among all the output generators that use them, which tends to reduce complexity in comparison with a design that generates product terms separately for each output bit. |
|
![]() |
Counter with pushbutton debouncer debouncer.zip (482.607 Kb) This simple sequential circuit (with pin assignments for the FLEX10K) includes a 7-bit counter that displays its output (when in the range 0-99) on the 7-segment display. The counter increments by 1 each time the left FLEX pushbutton (FLEX_PB1) is pressed. But, the point of the example is really the pushbutton debouncer, which consists of a D flip-flop clocked at 1 kHz. The 1 kHz clock is generated from the 25.175 MHz board clock by a frequency divider consisting of a modulo counter. Without the debouncer, you'd often see the count increment by more than one when the pushbutton is pressed. If you still see some bouncing with this design, try downscaling the sampling frequency to about 100 Hz. |