Initial commit
This commit is contained in:
		| @@ -0,0 +1,29 @@ | ||||
| ARCHITECTURE Spartan2 OF blockRAM IS | ||||
|  | ||||
|   subtype register_type is std_ulogic_vector(dataBitNb-1 downto 0); | ||||
|   type memory_type is array (0 to 2**addressBitNb-1) of register_type; | ||||
|  | ||||
|   signal memoryArray : memory_type; | ||||
|  | ||||
| BEGIN | ||||
|  | ||||
|   portA: process(clock) | ||||
|   begin | ||||
|     if rising_edge(clock) then | ||||
|       if (en = '1') then | ||||
|         if (write = '1') then | ||||
|           memoryArray(to_integer(addr)) <= dataIn; | ||||
|         end if; | ||||
|         if reset = '1' then | ||||
|           dataOut <= (others => '0'); | ||||
|         elsif (write = '1') then | ||||
|           dataOut <= dataIn; | ||||
|         else | ||||
|           dataOut <= memoryArray(to_integer(addr)); | ||||
|         end if; | ||||
|       end if; | ||||
|     end if; | ||||
|   end process portA; | ||||
|  | ||||
| END ARCHITECTURE Spartan2; | ||||
|  | ||||
		Reference in New Issue
	
	Block a user