diff --git a/README.md b/README.md
index 6dbffa9..74c5c11 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,61 @@
-# UETRV-ecore
-Here is the toplevel block diagram of ECORE.
+## UETRV-ECore  
+UETRV-ECore is a RISC-V based SoC integrating 3-stage pipelined core with multiple peripherals for embedded applications. Currently, the core implements RV32I ISA based on User-level ISA Version 2.0 and Privileged Architecture Version 1.11 supporting machine mode only. The core does not have any structural hazards, while data hazards are resolved using forwarding and stalling. Following is the status of current implementation:
 
-![alt text](docs/ecore.png)
+- Machine level interrupts has been added, including the support for vectored interrupts.
+- External interrupts are supported using bits 16 and above of MIP & MIE CSRs as provisioned by Privileged Architecture Version 1.11. 
+- Data hazards are resolved using forwarding, while Load-Use hazard leads to one cycle stall. 
+- Memory and peripherals are integrated through Wishbone Interconnect.
+- The SoC has on-chip pre-initialized boot memory with a simple boot loader. 
+- The system boots from external flash using SPI interface.
+- Three motor control modules, capable of controlling dc-servo motors with encoder feedback, have been integrated for coordinated multi-axis motion control.  
 
+### SoC Block Diagram
+<img src="docs/soc.png" alt="soc" width="700"/>
+
+### SoC Memory Map
+The memory map of SOC is shown in the following table
+| Base Address        |    Description            |   Attributes    |
+|:-------------------:|:-------------------------:|:---------------:|
+| 0x0000_0000         |      Instruction Memory   |      R-X-W      |
+| 0x0000_1000         |      Data Memory          |      R-W        |
+| 0x0000_2000         |      UART                 |      R-W        |
+| 0x0000_3000         |      SPI                  |      R-W        |
+| 0x0000_4000         |      Motor Control 1      |      R-W        |
+| 0x0000_5000         |      Motor Control 2      |      R-W        |
+| 0x0000_6000         |      Motor Control 3      |      R-W        |
+| 0x0000_7000         |      Boot Memory          |      R-X        |
+
+- `R: Read access`
+- `W: Write access`
+- `X: Execute access`
+
+The pictorial representation of memory map is in the following picture.
+
+<img src="docs/mem_map.png" alt="mem_map" width="600"/>
+
+The `linker.ld` file has the memory defination as follows.
+```
+MEMORY
+{ 
+  FLASH_INST (rx) : ORIGIN = 0x00000000, LENGTH = 2K
+  FLASH_BOOT (rx) : ORIGIN = 0x00007000, LENGTH = 1K
+  RAM       (rwx) : ORIGIN = 0x00001000, LENGTH = 2K
+}
+```
+### Generating Verilog
+Different building blocks for the SoC are integrated using the top module `'./src/main/scala/soc_tile.scala'`. To generate the Verilog, Scala Build Tool (sbt) and its dependencies needs to be installed. The verilog code can be generated by executing the following command:
+
+`> sbt run`
+ 
+The output verilog file `'./soc_tile.v'` has been generated using sbt 1.3.13.
+
+### Building the Application Executable
+Out of reset, the _Boot Memory_ is invoked by the core and the processor starts executing the instructions that are hard coded into the _Boot memory_. As a result of this execution, the Application program is loaded from the external _SPI FLASH Memory_ into the _Instruction Memory_. This phenomenon is demonstrated using the following diagram.
+
+ <img src="docs/boot.png" alt="boot" width="700"/>
+
+### Project Demo (Simulation and FPGA)
+The project demo includes an FPGA based implementation to control a DC motor with encoder feedback. The demo project illustrating the motor control configuration is available in separate repo alongwith the Chisel source code for the SoC implementation. 
+
+### The Bootloader and Flash Programming
+The bootloader and external SPI falsh memory programming (using TI's Tiva embedded board) are available in a separate repo.
