title: How to make a key generated, 7 segment display, output persist after the key is released? [VHDL]
body: <p>I'm trying to read input from the keypad and I want the number entered by the user to persist on a 7 segment display until another key is pressed. </p>
  
  <p>Currently, the 7 segment display output disappears when the key is released. How can I make the 7 segment display output persist?  </p>
  
  <p>This is my entire code : </p>
  
  <pre><code>ARCHITECTURE Behavioral OF keypad IS 
  
  SIGNAL  t1, t2, t3, t4: STD_LOGIC_VECTOR (1 TO 4) := "1111";
  SIGNAL curr : STD_LOGIC_VECTOR(1 TO 4) := "0111";
  BEGIN 
  proc_1: PROCESS
  BEGIN
  
  WAIT UNTIL rising_edge(clk);
  
          IF curr &lt;= "0111" THEN  t1&lt;= row ;
  
          curr &lt;= "1011";
  
          ELSIF curr &lt;= "1011" THEN t2&lt;= row ;
  
          curr &lt;= "1101";
  
          ELSIF curr &lt;= "1101" THEN t3&lt;= row ;
  
          curr &lt;= "1110";
  
          ELSIF curr &lt;= "1110" THEN t4&lt;= row ;
  
          curr &lt;= "0111";
  
          ELSE 
           curr &lt;= "0111";
      END IF ;
  END PROCESS ;
      proc_2: PROCESS (t1, t2, t3, t4)
      BEGIN
      hit &lt;= '1';
      IF t1(1) = '0' THEN sevenseg &lt;= "1001111" ; --1
      ELSIF t1(2) = '0' THEN sevenseg &lt;= "1001100" ;  --4
      ELSIF t1(3) = '0' THEN sevenseg &lt;= "0001111" ;  --7
      ELSIF t1(4) = '0' THEN sevenseg &lt;= "1111111" ;  --*
      ELSIF t2(1) = '0' THEN sevenseg &lt;= "0010010" ;  --2
      ELSIF t2(2) = '0' THEN sevenseg &lt;="0100100" ;   --5
      ELSIF t2(3) = '0' THEN sevenseg &lt;= "0000000" ; --8
      ELSIF t2(4) = '0' THEN sevenseg &lt;= "0000001" ; --0
      ELSIF t3(1) = '0' THEN sevenseg &lt;= "0000110" ;  --3
      ELSIF t3(2) = '0' THEN sevenseg &lt;= "0100000" ;  --6
      ELSIF t3(3) = '0' THEN sevenseg &lt;= "0000100" ;  --9
      ELSIF t3(4) = '0' THEN sevenseg &lt;= "1111111" ;  --#
      ELSIF t4(1) = '0' THEN sevenseg &lt;= "0001000" ;  --A
      ELSIF t4(2) = '0' THEN sevenseg &lt;= "1111111" ;  --B
      ELSIF t4(3) = '0' THEN sevenseg &lt;= "0110001" ;  --C
      ELSIF t4(4) = '0' THEN sevenseg &lt;= "1111111" ;  --D
      ELSE 
          hit &lt;= '0'; 
      END IF;
      END PROCESS;
      col &lt;= curr ;       
  END Behavioral ;
  </code></pre>