Read me updated and rebased the caravel
diff --git a/.gitmodules b/.gitmodules
index c73b442..4798126 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
-[submodule "caravel-lite"]
+[submodule "caravel"]
 	path = caravel
-	url = https://github.com/efabless/caravel-lite
+	url = https://github.com/efabless/caravel-lite.git
diff --git a/README.md b/README.md
index 3706438..18251d9 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,158 @@
-# Caravel User Project
-
-[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![UPRJ_CI](https://github.com/efabless/caravel_project_example/actions/workflows/user_project_ci.yml/badge.svg)](https://github.com/efabless/caravel_project_example/actions/workflows/user_project_ci.yml) [![Caravel Build](https://github.com/efabless/caravel_project_example/actions/workflows/caravel_build.yml/badge.svg)](https://github.com/efabless/caravel_project_example/actions/workflows/caravel_build.yml)
-
-| :exclamation: Important Note            |
-|-----------------------------------------|
-
-## Please fill in your project documentation in this README.md file 
+```
+  MBIST Controller
 
 
-Refer to [README](docs/source/index.rst) for this sample project documentation. 
+Permission to use, copy, modify, and/or distribute this soc for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOC IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOC INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOC.
+```
+
+# Table of contents
+- [Overview](#overview)
+- [MBIST Controller Block Diagram](#mbist-controller-block-diagram)
+- [Key Feature](#key-features)
+- [Prerequisites](#prerequisites)
+- [Tests preparation](#tests-preparation)
+    - [Running Simuation](#running-simulation)
+- [Tool sets](#tool-sets)
+- [Documentation](#documentation)
+
+
+# Overview
+
+MBIST is a self-testing and repair mechanism which tests the memories through an effective set of algorithms to detect possibly all the faults that could be present inside a typical memory cell whether it is stuck-at (SAF), transition delay faults (TDF), coupling (CF) or neighborhood pattern sensitive faults (NPSF).
+.  This project uses only open source tool set for simulation,synthesis and backend tools.  The SOC flow follow the openlane methodology and SOC environment is compatible with efabless/carvel methodology.
+
+# Riscduino Block Diagram
+
+<table>
+  <tr>
+    <td  align="center"><img src="./docs/source/_static/mbist_controller_block_diagram.png" ></td>
+  </tr>
+
+</table>
+
+
+# Key features
+```
+    * Open sourced under Apache-2.0 License (see LICENSE file) - unrestricted commercial use allowed.
+    * Mbist controller with memory repair supported
+    * Currently only Row Redudency is supported
+    * 2KB SRAM for data memory
+    * Wishbone compatible design
+    * Written in System Verilog
+    * Open-source tool set
+       * simulation - iverilog
+       * synthesis  - yosys
+       * backend/sta - openlane tool set
+    * Verification suite provided.
+```
+
+
+# Prerequisites
+   - Docker (ensure docker daemon is running) -- tested with version 19.03.12, but any recent version should suffice.
+## Step-1: Docker in ubuntu 20.04 version
+```bash
+   sudo apt update
+   sudo apt-get install apt-transport-https curl rtificates -agent software-properties-common
+   curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
+   sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
+   sudo apt update
+   apt-cache policy docker-ce
+   sudo apt install docker-ce
+
+   #Add User Name to docker
+   sudo usermod -aG docker <your user name>
+   # Reboot the system to enable the docker setup
+```
+##  Step-2: Update the Submodule, To to project area
+```bash
+   git submodule init
+   git submodule update
+```
+## Step-3: clone Openlane scripts under workarea
+```bash
+   git clone https://github.com/The-OpenROAD-Project/OpenLane.git
+```
+
+## Step-4: add Environment setting
+```bash
+    export CARAVEL_ROOT=<Carvel Installed Path>
+    export OPENLANE_ROOT=<OpenLane Installed Path>
+    export OPENLANE_IMAGE_NAME=efabless/openlane:latest
+    export PDK_ROOT=<PDK Installed PATH>
+    export PDK_PATH=<PDK Install Path>/sky130A
+```
+## Step-5: To install the PDK
+```bash
+   source ~/.bashrc
+   cd OpenLane
+   make pdk
+```
+
+# Tests preparation
+
+The simulation package includes the following tests:
+
+
+
+
+# Running Simulation
+
+
+# Tool Sets
+
+Mbist Controller flow uses Openlane tool sets.
+
+1. **Synthesis**
+    1. `yosys` - Performs RTL synthesis
+    2. `abc` - Performs technology mapping
+    3. `OpenSTA` - Pefroms static timing analysis on the resulting netlist to generate timing reports
+2. **Floorplan and PDN**
+    1. `init_fp` - Defines the core area for the macro as well as the rows (used for placement) and the tracks (used for routing)
+    2. `ioplacer` - Places the macro input and output ports
+    3. `pdn` - Generates the power distribution network
+    4. `tapcell` - Inserts welltap and decap cells in the floorplan
+3. **Placement**
+    1. `RePLace` - Performs global placement
+    2. `Resizer` - Performs optional optimizations on the design
+    3. `OpenPhySyn` - Performs timing optimizations on the design
+    4. `OpenDP` - Perfroms detailed placement to legalize the globally placed components
+4. **CTS**
+    1. `TritonCTS` - Synthesizes the clock distribution network (the clock tree)
+5. **Routing**
+    1. `FastRoute` - Performs global routing to generate a guide file for the detailed router
+    2. `CU-GR` - Another option for performing global routing.
+    3. `TritonRoute` - Performs detailed routing
+    4. `SPEF-Extractor` - Performs SPEF extraction
+6. **GDSII Generation**
+    1. `Magic` - Streams out the final GDSII layout file from the routed def
+    2. `Klayout` - Streams out the final GDSII layout file from the routed def as a back-up
+7. **Checks**
+    1. `Magic` - Performs DRC Checks & Antenna Checks
+    2. `Klayout` - Performs DRC Checks
+    3. `Netgen` - Performs LVS Checks
+    4. `CVC` - Performs Circuit Validity Checks
+
+
+
+
+
+## Contacts
+
+Report an issue: <https://github.com/dineshannayya/mbist_ctrl/issues>
+
+# Documentation
+
+
+
+
+