Update README.md
diff --git a/verilog/dv/README.md b/verilog/dv/README.md
index 08a16c8..92a2442 100644
--- a/verilog/dv/README.md
+++ b/verilog/dv/README.md
@@ -20,11 +20,7 @@
* [Quick Start](./README.md#quick-start)
* [Simulation Environment Setup](./README.md#simulation-environment-setup)
* [Docker](./README.md#1-docker)
- * [Local installation (linux)](./README.md#2-local-installation-linux)
* [Running Simulation](./README.md#running-simulation)
- * [Docker](./README.md#docker)
- * [Local](./README.md#local)
- * [Both](./README.md#both)
* [User Project Example DV](./README.md#user-project-example-dv)
* [IO Ports Test](./README.md#io-ports-test)
* [Logic Analyzer Test 1](./README.md#logic-analyzer-test-1)
@@ -32,15 +28,25 @@
* [MPRJ Stimulus](./README.md#mprj_stimulus)
* [Wishbone Test](./README.md#wishbone-test)
-# Quick start
+# Quick Launch for Designers
+
+## Dependencies
+
+* Docker
+
+Download and install Docker for your operating system
+- [Linux](https://hub.docker.com/search?q=&type=edition&offering=community&operating_system=linux&utm_source=docker&utm_medium=webreferral&utm_campaign=dd-smartbutton&utm_location=header) || [Windows](https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=dd-smartbutton&utm_location=header) || [Mac with Intel Chip](https://desktop.docker.com/mac/main/amd64/Docker.dmg?utm_source=docker&utm_medium=webreferral&utm_campaign=dd-smartbutton&utm_location=header) || [Mac with Apple Chip](https://desktop.docker.com/mac/main/arm64/Docker.dmg?utm_source=docker&utm_medium=webreferral&utm_campaign=dd-smartbutton&utm_location=header)
+
+## Running the simulation
+
+Assuming you already went throught the [quick start](https://github.com/efabless/caravel_user_project/blob/main/docs/source/roundtrip.rst) for setting up your environemnt
````
make install_mcw
make simenv
-export SIM=RTL
+SIM=RTL make verify-<dv-test>
# OR
-export SIM=GL
-make verify-<dv-test>
+SIM=GL make verify-<dv-test>
````
# Simulation Environment Setup
@@ -48,110 +54,60 @@
There are two options for setting up the simulation environment:
* Pulling a pre-built docker image
-* Installing the dependecies locally
+* Installing the dependecies locally. Instructions to setting up the environment locally can be found [here](https://github.com/efabless/caravel_user_project/verilog/dv/local-install.md)
-## 1. Docker
+## Docker
There is an available docker setup with the needed tools at [efabless/dockerized-verification-setup](https://github.com/efabless/dockerized-verification-setup)
Run the following to pull the image:
```
-docker pull efabless/dv_setup:latest
-```
-
-## 2. Local Installation (Linux)
-
-You will need to fullfil these dependecies:
-
-* Icarus Verilog (10.2+)
-* RV32I Toolchain
-
-Using apt, you can install Icarus Verilog:
-
-```bash
-sudo apt-get install iverilog
-```
-
-Next, you will need to build the RV32I toolchain. Firstly, export the installation path for the RV32I toolchain,
-
-```bash
-export GCC_PATH=<gcc-installation-path>
-```
-
-Then, run the following:
-
-```bash
-# packages needed:
-sudo apt-get install autoconf automake autotools-dev curl libmpc-dev \
- libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo \
- gperf libtool patchutils bc zlib1g-dev git libexpat1-dev
-
-sudo mkdir $GCC_PATH
-sudo chown $USER $GCC_PATH
-
-git clone https://github.com/riscv/riscv-gnu-toolchain riscv-gnu-toolchain-rv32i
-cd riscv-gnu-toolchain-rv32i
-git checkout 411d134
-git submodule update --init --recursive
-
-mkdir build; cd build
-../configure --with-arch=rv32i --prefix=$GCC_PATH
-make -j$(nproc)
+docker pull efabless/dv:latest
```
# Running Simulation
-## Docker
-
First, you will need to export a number of environment variables:
```bash
export PDK_PATH=<pdk-location/sky130A>
export CARAVEL_ROOT=<caravel_root>
-export UPRJ_ROOT=<user_project_root>
+export TARGET_PATH=<caravel_user_project>
```
Then, run the following command to start the docker container :
```
-docker run -it -v $CARAVEL_ROOT:$CARAVEL_ROOT -v $PDK_PATH:$PDK_PATH -v $UPRJ_ROOT:$UPRJ_ROOT -e CARAVEL_ROOT=$CARAVEL_ROOT -e PDK_PATH=$PDK_PATH -e UPRJ_ROOT=$UPRJ_ROOT -u $(id -u $USER):$(id -g $USER) efabless/dv_setup:latest
+docker run -it -v ${TARGET_PATH}:${TARGET_PATH} -v ${PDK_ROOT}:${PDK_ROOT} \
+ -v ${CARAVEL_ROOT}:${CARAVEL_ROOT} \
+ -e TARGET_PATH=${TARGET_PATH} -e PDK_ROOT=${PDK_ROOT} \
+ -e CARAVEL_ROOT=${CARAVEL_ROOT} \
+ -e TOOLS=/foss/tools/riscv-gnu-toolchain-rv32i/411d134 \
+ -e DESIGNS=$(TARGET_PATH) \
+ -e CORE_VERILOG_PATH=$(TARGET_PATH)/mgmt_core_wrapper/verilog \
+ -e MCW_ROOT=$(MCW_ROOT) \
+ efabless/dv:latest
```
Then, navigate to the directory where the DV tests reside :
```bash
-cd $UPRJ_ROOT/verilog/dv/
+cd $TARGET_PATH/verilog/dv/
```
-Then, follow the instructions at [Both](#both) to run RTL/GL simulation.
-
-## Local
-
-You will need to export these environment variables:
-
-```bash
-export GCC_PATH=<gcc-installation-path>
-export PDK_PATH=<pdk-location/sky130A>
-```
-
-Then, follow the instruction at [Both](#both) to run RTL/GL simulation.
-
-## Both
-
To run any simulation, you need to be on the top level or caravel_user_project.
To run RTL simulation for one of the DV tests,
```bash
-make verify-<dv-test>
+SIM=RTL make verify-<dv-test>
```
To run gate level simulation for one of the DV tests,
```bash
-export SIM=GL
-make verify-<dv-test>
+SIM=GL make verify-<dv-test>
```
# User Project Example DV