| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -123,15 +123,22 @@ begin
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                raddr := unsigned(r.nia(BTC_ADDR_BITS + 1 downto 2)) +
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                         to_unsigned(2, BTC_ADDR_BITS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                if advance_nia = '1' then
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    btc_rd_data <= btc_memory(to_integer(raddr));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    btc_rd_valid <= btc_valids(to_integer(raddr));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						    if is_X(raddr) then
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							btc_rd_data <= (others => 'X');
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							btc_rd_valid <= 'X';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						    else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							btc_rd_data <= btc_memory(to_integer(raddr));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							btc_rd_valid <= btc_valids(to_integer(raddr));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						    end if;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                end if;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                if btc_wr = '1' then
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						    assert not is_X(btc_wr_addr) report "Writing to unknown address" severity FAILURE;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    btc_memory(to_integer(unsigned(btc_wr_addr))) <= btc_wr_data;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                end if;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                if inval_btc = '1' or rst = '1' then
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    btc_valids <= (others => '0');
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                elsif btc_wr = '1' then
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						    assert not is_X(btc_wr_addr) report "Writing to unknown address" severity FAILURE;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    btc_valids(to_integer(unsigned(btc_wr_addr))) <= '1';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                end if;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            end if;
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |