diff --git a/db/SCOMP.db_info b/db/SCOMP.db_info index fc55551..f096091 100644 --- a/db/SCOMP.db_info +++ b/db/SCOMP.db_info @@ -1,3 +1,3 @@ Quartus_Version = Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition Version_Index = 503488000 -Creation_Time = Mon Apr 12 06:25:43 2021 +Creation_Time = Wed Apr 14 15:21:25 2021 diff --git a/display.vhd b/display.vhd index b1ecdb3..002de57 100644 --- a/display.vhd +++ b/display.vhd @@ -27,6 +27,7 @@ END Display; ARCHITECTURE a OF Display IS SIGNAL Counter : integer; + SIGNAL Tracker : integer; TYPE state_type is (zero, one, two, three, four, five, six, seven, eight, nine, ten); SIGNAL state : state_type; @@ -48,7 +49,8 @@ ARCHITECTURE a OF Display IS LED6 <= '0'; LED7 <= '0'; LED8 <= '0'; - LED9 <= '0'; + LED9 <= '0'; + Tracker <= 0; ELSIF RISING_EDGE(CLK) THEN @@ -57,7 +59,18 @@ ARCHITECTURE a OF Display IS WHEN zero => IF Counter < 540 THEN state <= zero; + Tracker <= Tracker + 1; + IF Tracker < 5000 THEN + LED0 <= '1'; + ELSE IF Tracker < 10000 THEN + LED0<='0'; + END IF; + END IF; + IF Tracker > 10000 THEN + Tracker <= 0; + END IF; ELSE + Tracker <= 0; state <= one; LED0<='1'; END IF; @@ -66,9 +79,19 @@ ARCHITECTURE a OF Display IS IF Counter < 540 THEN state <= zero; LED0<='0'; - ELSE IF Counter < 1080 THEN - state <= one; + + Tracker <= Tracker + 1; + IF Tracker < 5000 THEN + LED1 <= '1'; + ELSE IF Tracker < 10000 THEN + LED1<='0'; + END IF; + END IF; + IF Tracker > 10000 THEN + Tracker <= 0; + END IF; ELSE + Tracker <= 0; state <= two; LED1<='1'; END IF; @@ -78,9 +101,19 @@ ARCHITECTURE a OF Display IS IF Counter < 1080 THEN state <= one; LED1<='0'; - ELSE IF Counter < 1620 THEN - state <= two; + + Tracker <= Tracker + 1; + IF Tracker < 5000 THEN + LED2<= '1'; + ELSE IF Tracker < 10000 THEN + LED2<='0'; + END IF; + END IF; + IF Tracker > 10000 THEN + Tracker <= 0; + END IF; ELSE + Tracker<= 0; state <= three; LED2<='1'; END IF; @@ -90,9 +123,19 @@ ARCHITECTURE a OF Display IS IF Counter < 1620 THEN state <= two; LED2<='0'; - ELSE IF Counter < 2160 THEN - state <= three; + + Tracker <= Tracker + 1; + IF Tracker < 5000 THEN + LED3 <= '1'; + ELSE IF Tracker < 10000 THEN + LED3<='0'; + END IF; + END IF; + IF Tracker > 10000 THEN + Tracker <= 0; + END IF; ELSE + Tracker <= 0; state <= four; LED3<='1'; END IF; @@ -102,9 +145,19 @@ ARCHITECTURE a OF Display IS IF Counter < 2160 THEN state <= three; LED3<='0'; - ELSE IF Counter < 2700 THEN - state <= four; + + Tracker <= Tracker + 1; + IF Tracker < 5000 THEN + LED4 <= '1'; + ELSE IF Tracker < 10000 THEN + LED4<='0'; + END IF; + END IF; + IF Tracker > 10000 THEN + Tracker <= 0; + END IF; ELSE + Tracker <= 0; state <= five; LED4<='1'; END IF; @@ -114,9 +167,19 @@ ARCHITECTURE a OF Display IS IF Counter < 2700 THEN state <= four; LED4<='0'; - ELSE IF Counter < 3240 THEN - state <= five; + + Tracker <= Tracker + 1; + IF Tracker < 5000 THEN + LED5 <= '1'; + ELSE IF Tracker < 10000 THEN + LED5<='0'; + END IF; + END IF; + IF Tracker > 10000 THEN + Tracker <= 0; + END IF; ELSE + Tracker <= 0; state <= six; LED5<='1'; END IF; @@ -126,9 +189,19 @@ ARCHITECTURE a OF Display IS IF Counter < 3240 THEN state <= five; LED5<='0'; - ELSE IF Counter < 3780 THEN - state <= six; + + Tracker <= Tracker + 1; + IF Tracker < 5000 THEN + LED6 <= '1'; + ELSE IF Tracker < 10000 THEN + LED6<='0'; + END IF; + END IF; + IF Tracker > 10000 THEN + Tracker <= 0; + END IF; ELSE + Tracker <= 0; state <= seven; LED6<='1'; END IF; @@ -138,9 +211,19 @@ ARCHITECTURE a OF Display IS IF Counter < 3780 THEN state <= six; LED6<='0'; - ELSE IF Counter < 4320 THEN - state <= seven; + + Tracker <= Tracker + 1; + IF Tracker < 5000 THEN + LED7 <= '1'; + ELSE IF Tracker < 10000 THEN + LED7<='0'; + END IF; + END IF; + IF Tracker > 10000 THEN + Tracker <= 0; + END IF; ELSE + Tracker <= 0; state <= eight; LED7<='1'; END IF; @@ -150,9 +233,19 @@ ARCHITECTURE a OF Display IS IF Counter < 4320 THEN state <= seven; LED7<='0'; - ELSE IF Counter < 4860 THEN - state <= eight; + + Tracker <= Tracker + 1; + IF Tracker < 5000 THEN + LED8 <= '1'; + ELSE IF Tracker < 10000 THEN + LED8<='0'; + END IF; + END IF; + IF Tracker > 10000 THEN + Tracker <= 0; + END IF; ELSE + Tracker <= 0; state <= nine; LED8<='1'; END IF; @@ -162,9 +255,19 @@ ARCHITECTURE a OF Display IS IF Counter < 5400 THEN state <= eight; LED8<='0'; - ELSE IF Counter < 5940 THEN - state <= nine; + + Tracker <= Tracker + 1; + IF Tracker < 5000 THEN + LED9 <= '1'; + ELSE IF Tracker < 10000 THEN + LED9<='0'; + END IF; + END IF; + IF Tracker > 10000 THEN + Tracker <= 0; + END IF; ELSE + Tracker <= 0; state <= ten; LED9<='1'; END IF; @@ -175,6 +278,16 @@ ARCHITECTURE a OF Display IS state <= nine; LED9<='0'; ELSE + Tracker <= Tracker + 1; + IF Tracker < 5000 THEN + LED9 <= '0'; + ELSE IF Tracker < 10000 THEN + LED9<='0'; + END IF; + END IF; + IF Tracker > 10000 THEN + Tracker <= 1; + END IF; state <= ten; END IF; WHEN OTHERs =>