Readme update
diff --git a/README.md b/README.md
index ae4ea1c..eb1352d 100644
--- a/README.md
+++ b/README.md
@@ -71,6 +71,8 @@
* 6 Channel ADC (in Progress)
* 6 x PWM
* 3 x Timer (16 Bit), 1us/1ms/1second resolution
+ * 2 x ws281x driver
+ * 16 Hardware Semaphore
* Pin Compatbible to arduino uno
* Wishbone compatible design
* Written in System Verilog
@@ -374,180 +376,6 @@
-# SOC Register Map
-##### Register Map: Wishbone HOST
-
-| Offset | Name | Description |
-| ------ | --------- | ------------- |
-| 0x00 | GLBL_CTRL | [RW] Global Wishbone Access Control Register |
-| 0x04 | BANK_CTRL | [RW] Bank Selection, MSB 8 bit Address |
-| 0x08 | CLK_SKEW_CTRL1| [RW] Clock Skew Control2 |
-| 0x0c | CLK_SKEW_CTRL2 | [RW] Clock Skew Control2 |
-
-##### Register: GLBL_CTRL
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:24 | Resevered | Unsused |
-| 23:20 | RTC_CLK_CTRL | RTC Clock Div Selection |
-| 19:16 | CPU_CLK_CTRL | CPU Clock Div Selection |
-| 15:12 | SDARM_CLK_CTRL| SDRAM Clock Div Selection |
-| 10:8 | WB_CLK_CTRL | Core Wishbone Clock Div Selection |
-| 7 | UART_I2C_SEL | 0 - UART , 1 - I2C Master IO Selection |
-| 5 | I2C_RST | I2C Reset Control |
-| 4 | UART_RST | UART Reset Control |
-| 3 | SDRAM_RST | SDRAM Reset Control |
-| 2 | SPI_RST | SPI Reset Control |
-| 1 | CPU_RST | CPU Reset Control |
-| 0 | WB_RST | Wishbone Core Reset Control |
-
-##### Register: BANK_CTRL
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:24 | Resevered | Unsused |
-| 7:0 | BANK_SEL | Holds the upper 8 bit address core Wishbone Address |
-
-##### Register: CLK_SKEW_CTRL1
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:28 | Resevered | Unsused |
-| 27:24 | CLK_SKEW_WB | WishBone Core Clk Skew Control |
-| 23:20 | CLK_SKEW_GLBL | Glbal Register Clk Skew Control |
-| 19:16 | CLK_SKEW_SDRAM| SDRAM Clk Skew Control |
-| 15:12 | CLK_SKEW_SPI | SPI Clk Skew Control |
-| 11:8 | CLK_SKEW_UART | UART/I2C Clk Skew Control |
-| 7:4 | CLK_SKEW_RISC | RISC Clk Skew Control |
-| 3:0 | CLK_SKEW_WI | Wishbone Clk Skew Control |
-
-##### Register Map: SPI MASTER
-
-| Offset | Name | Description |
-| ------ | --------- | ------------- |
-| 0x00 | GLBL_CTRL | [RW] Global SPI Access Control Register |
-| 0x04 | DMEM_CTRL1 | [RW] Direct SPI Memory Access Control Register1 |
-| 0x08 | DMEM_CTRL2 | [RW] Direct SPI Memory Access Control Register2 |
-| 0x0c | IMEM_CTRL1 | [RW] Indirect SPI Memory Access Control Register1 |
-| 0x10 | IMEM_CTRL2 | [RW] Indirect SPI Memory Access Control Register2 |
-| 0x14 | IMEM_ADDR | [RW] Indirect SPI Memory Address |
-| 0x18 | IMEM_WDATA | [W] Indirect SPI Memory Write Data |
-| 0x1c | IMEM_RDATA | [R] Indirect SPI Memory Read Data |
-| 0x20 | SPI_STATUS | [R] SPI Debug Status |
-
-##### Register: GLBL_CTRL
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:16 | Resevered | Unsused |
-| 15:8 | SPI_CLK_DIV | SPI Clock Div Rato Selection |
-| 7:4 | Reserved | Unused |
-| 3:2 | CS_LATE | CS DE_ASSERTION CONTROL |
-| 1:0 | CS_EARLY | CS ASSERTION CONTROL |
-
-##### Register: DMEM_CTRL1
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:9 | Resevered | Unsused |
-| 8 | FSM_RST | Direct Mem State Machine Reset |
-| 7:6 | SPI_SWITCH | Phase at which SPI Mode need to switch |
-| 5:4 | SPI_MODE | SPI Mode, 0 - Single, 1 - Dual, 2 - Quad, 3 - QDDR |
-| 3:0 | CS_SELECT | CHIP SELECT |
-
-##### Register: DMEM_CTRL2
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:24 | DATA_CNT | Total Data Byte Count |
-| 23:22 | DUMMY_CNT | Total Dummy Byte Count |
-| 21:20 | ADDR_CNT | Total Address Byte Count |
-| 19:16 | SPI_SEQ | SPI Access Sequence |
-| 15:8 | MODE_REG | Mode Register Value |
-| 7:0 | CMD_REG | Command Register Value |
-
-##### Register: IMEM_CTRL1
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:9 | Resevered | Unsused |
-| 8 | FSM_RST | InDirect Mem State Machine Reset |
-| 7:6 | SPI_SWITCH | Phase at which SPI Mode need to switch |
-| 5:4 | SPI_MODE | SPI Mode, 0 - Single, 1 - Dual, 2 - Quad, 3 - QDDR |
-| 3:0 | CS_SELECT | CHIP SELECT |
-
-##### Register: IMEM_CTRL2
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:24 | DATA_CNT | Total Data Byte Count |
-| 23:22 | DUMMY_CNT | Total Dummy Byte Count |
-| 21:20 | ADDR_CNT | Total Address Byte Count |
-| 19:16 | SPI_SEQ | SPI Access Sequence |
-| 15:8 | MODE_REG | Mode Register Value |
-| 7:0 | CMD_REG | Command Register Value |
-
-##### Register: IMEM_ADDR
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:0 | ADDR | Indirect Memory Address |
-
-##### Register: IMEM_WDATA
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:0 | WDATA | Indirect Memory Write Data |
-
-##### Register: IMEM_RDATA
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:0 | RDATA | Indirect Memory Read Data |
-
-##### Register: SPI_STATUS
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:0 | DEBUG | SPI Debug Status |
-
-
-##### Register Map: Global Register
-
-| Offset | Name | Description |
-| ------ | --------- | ------------- |
-| 0x00 | SOFT_REG0 | [RW] Software Register0 |
-| 0x04 | RISC_FUSE | [RW] Risc Fuse Value |
-| 0x08 | SOFT_REG2 | [RW] Software Register2 |
-| 0x0c | INTR_CTRL | [RW] Interrupt Control |
-| 0x10 | SDRAM_CTRL1 | [RW] Indirect SPI Memory Access Control Register2 |
-| 0x14 | SDRAM_CTRL2 | [RW] Indirect SPI Memory Address |
-| 0x18 | SOFT_REG6 | [RW] Software Register6 |
-| 0x1C | SOFT_REG7 | [RW] Software Register7 |
-| 0x20 | SOFT_REG8 | [RW] Software Register8 |
-| 0x24 | SOFT_REG9 | [RW] Software Register9 |
-| 0x28 | SOFT_REG10 | [RW] Software Register10 |
-| 0x2C | SOFT_REG11 | [RW] Software Register11 |
-| 0x30 | SOFT_REG12 | [RW] Software Register12 |
-| 0x34 | SOFT_REG13 | [RW] Software Register13 |
-| 0x38 | SOFT_REG14 | [RW] Software Register14 |
-| 0x3C | SOFT_REG15 | [RW] Software Register15 |
-
-##### Register: RISC_FUSE
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:0 | RISC_FUSE | RISC Core Fuse Value |
-
-##### Register: INTR_CTRL
-
-| Bits | Name | Description |
-| ---- | ---- | -------------- |
-| 31:20 | Reserved | Unused |
-| 19:17 | USER_IRQ | User Interrupt generation toward riscv |
-| 16 | SOFT_IRQ | Software Interrupt generation toward riscv |
-| 15:0 | EXT_IRQ | External Interrupt generation toward riscv |
-
@@ -623,25 +451,47 @@
The simulation package includes the following tests:
-* **risc_boot** - Complete caravel User Risc core boot
-* **wb_port** - Complete caravel User Wishbone validation
-* **uart_master** - complete caravel user uart master test
-* **user_risc_boot** - Standalone User Risc core boot
-* **user_sspi** - Standalone SSPI test
-* **user_qspi** - Standalone Quad SPI test
-* **user_spi** - Standalone SPI test
-* **user_i2c** - Standalone I2C test
-* **user_usb** - Standalone USB Host test
-* **user_risc_boot** - Standalone Risc Boot test
-* **user_uart** - Standalone Risc with UART-0 Test
-* **user_uart1** - Standalone Risc with UART-1 Test
-* **user_gpio** - Standalone GPIO Test
-* **user_pwm** - Standalone pwm Test
-* **user_timer** - Standalone timer Test
-* **user_uart_master** - Standalone uart master test
-* **riscv_regress** - Standalone riscv compliance and regression test suite
+## Standalone Riscduino SOC Specific Test case
+* **1.user_basic** - Basic test case to validate strap and clocks
+* **2.user_uart** - Standalone Risc with UART-0 Test
+* **3.user_uart1** - Standalone Risc with UART-1 Test
+* **4.user_risc_boot** - Standalone User Risc core boot
+* **4.risc_boot** - Complete caravel User Risc core boot
+* **5.user_qspi** - Standalone Quad SPI test
+* **6.user_sspi** - Standalone SSPI test
+* **7.user_i2c** - Standalone I2C test
+* **8.user_usb** - Standalone USB Host test
+* **9.user_gpio** - Standalone GPIO Test
+* **10.user_aes** - AES computation through Riscv core
+* **11.user_spi_isp** - Device boot with SPI as ISP
+* **12.user_timer** - Standalone timer Test
+* **13.user_uart_master** - Standalone uart master test
+* **14.user_sram_exec** - Riscv Boot with code running in SRAM
+* **15.user_cache_bypass** - Riscv Boot without icache and dcache
+* **16.user_pwm** -Standalone pwm Test
+* **17.user_sema** -Standalone validation of hardware Semaphore function
+* **18.riscv_regress** - Standalone riscv compliance and regression test suite
+## Caravel+RISCDUINO Integrated Specific Test case
+* **1.wb_port** - Complete caravel User Wishbone validation
+* **2.uart_master** - complete caravel user uart master test
+* **3.risc_boot** - Complete caravel User Risc core boot
+## Arduino Based Test Case
+* **1.arduino_arrays** - Validation of Array function
+* **2.arduino_digital_port_control** - Validation for AD5206 digital potentiometer through SPI
+* **3.arduino_i2c_scaner** - I2C port scanner
+* **4.arduino_risc_boot** - Riscv Basic Boot
+* **5.arduino_timer_intr** - Timer Interrupt handling
+* **6.arduino_ascii_table** - Ascii Table Display
+* **7.arduino_gpio_intr** - GPIO Interrupt generation
+* **8.arduino_i2c_wr_rd** - I2C Write and Read access
+* **9.arduino_string** - Validation of String function
+* **10.arduino_ws281x** - Validation of ws281x serial protocol
+* **11.arduino_character_analysis** - uart Input Character analysis
+* **12.arduino_hello_world** - Basic hello world display
+* **13.arduino_multi_serial** - Validation of Two Serail port
+* **14.arduino_switchCase2** - Validation of switch case
# Running Simulation