
A 16-bit Fibonacci sequence generator with a Binary-to-BCD converter and a multiplexed 5-digit 7-segment display driver.
This design calculates the Fibonacci sequence up to 16 bits (max value 46,368 before overflow). The process is divided into four main stages:
n = n-1 + n-2) whenever an external pulse is detected.gfedcba pattern for the display.The design includes a synchronizer and edge detector on the manual step input to ensure stable operation even with mechanical buttons.
clk pin. This ensures a flicker-free multiplexing frequency of 200Hz per digit.rst_n to initialize the sequence to 0.ui_in[0] pin to calculate and display the next Fibonacci number.uo_out[6:0] will show the segments (active high).uo_out[7] (Ready Flag) will blink low during the 17ms conversion time.uio_out[4:0] will scan through the 5 digit enables.To fully interact with this design, you will need the following component:
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | advance | seg_a | digit_en_0 |
| 1 | seg_b | digit_en_1 | |
| 2 | seg_c | digit_en_2 | |
| 3 | seg_d | digit_en_3 | |
| 4 | seg_e | digit_en_4 | |
| 5 | seg_f | digit_en_5 | |
| 6 | seg_g | none | |
| 7 | bcd_ready | none |