|  |  | @ -103,7 +103,6 @@ begin | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | process is | 
			
		
	
		
			
				
					|  |  |  | variable v_start   : std_logic; | 
			
		
	
		
			
				
					|  |  |  | variable v_key     : std_logic_vector(0 to 127); | 
			
		
	
		
			
				
					|  |  |  | variable v_nonce   : std_logic_vector(0 to C_NONCE_WIDTH-1); | 
			
		
	
		
			
				
					|  |  |  | variable v_datain  : std_logic_vector(0 to 127); | 
			
		
	
	
		
			
				
					|  |  | @ -114,23 +113,19 @@ begin | 
			
		
	
		
			
				
					|  |  |  | wait until s_reset = '1' and rising_edge(s_clk); | 
			
		
	
		
			
				
					|  |  |  | -- ENCRYPTION TESTs | 
			
		
	
		
			
				
					|  |  |  | report "Test CTR-AES encryption"; | 
			
		
	
		
			
				
					|  |  |  | s_start <= '1'; | 
			
		
	
		
			
				
					|  |  |  | v_nonce := v_random.RandSlv(s_nonce'length); | 
			
		
	
		
			
				
					|  |  |  | v_key   := v_random.RandSlv(128); | 
			
		
	
		
			
				
					|  |  |  | for i in 0 to 31 loop | 
			
		
	
		
			
				
					|  |  |  | if (i = 0) then | 
			
		
	
		
			
				
					|  |  |  | v_start := '1'; | 
			
		
	
		
			
				
					|  |  |  | v_nonce := v_random.RandSlv(s_nonce'length); | 
			
		
	
		
			
				
					|  |  |  | else | 
			
		
	
		
			
				
					|  |  |  | v_start := '0'; | 
			
		
	
		
			
				
					|  |  |  | end if; | 
			
		
	
		
			
				
					|  |  |  | v_key     := v_random.RandSlv(128); | 
			
		
	
		
			
				
					|  |  |  | v_datain  := v_random.RandSlv(128); | 
			
		
	
		
			
				
					|  |  |  | s_key     <= v_key; | 
			
		
	
		
			
				
					|  |  |  | s_validin <= '1'; | 
			
		
	
		
			
				
					|  |  |  | s_start   <= v_start; | 
			
		
	
		
			
				
					|  |  |  | s_key     <= v_key; | 
			
		
	
		
			
				
					|  |  |  | s_nonce   <= v_nonce; | 
			
		
	
		
			
				
					|  |  |  | s_datain  <= v_datain; | 
			
		
	
		
			
				
					|  |  |  | cryptData(swap(v_datain), swap(v_key), swap(v_nonce & 32x"0"), i = 0, i = 31, v_dataout, v_datain'length/8); | 
			
		
	
		
			
				
					|  |  |  | wait until s_acceptin = '1' and rising_edge(s_clk); | 
			
		
	
		
			
				
					|  |  |  | s_validin <= '0'; | 
			
		
	
		
			
				
					|  |  |  | s_start   <= '0'; | 
			
		
	
		
			
				
					|  |  |  | wait until s_validout = '1' and rising_edge(s_clk); | 
			
		
	
		
			
				
					|  |  |  | s_acceptout <= '1'; | 
			
		
	
		
			
				
					|  |  |  | assert s_dataout = swap(v_dataout) | 
			
		
	
	
		
			
				
					|  |  | @ -141,6 +136,7 @@ begin | 
			
		
	
		
			
				
					|  |  |  | end loop; | 
			
		
	
		
			
				
					|  |  |  | -- Watchdog | 
			
		
	
		
			
				
					|  |  |  | wait for 100 ns; | 
			
		
	
		
			
				
					|  |  |  | report "Simulation finished without errors"; | 
			
		
	
		
			
				
					|  |  |  | finish(0); | 
			
		
	
		
			
				
					|  |  |  | end process; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
	
		
			
				
					|  |  | 
 |