blob: 4a8aab422c6fa4373b87442dd2a7f8fa6434d6f7 [file] [log] [blame] [view]
# BrqRV EB1 RISC-V Core 1.0 from MERL
This repository contains the brqrv eb1 Core design RTL. Brqrv Eb1 Is A Machine-Mode (M-Mode) Only, 32-Bit Cpu Small Core Which Supports Risc-Vs Integer (I), Compressed Instruction (C), Multiplication And Division (M), And Instruction-Fetch Fence, And Csr Extensions. The Core Contains A 4-Stage, Scalar, In-Order Pipeline
## Block Diagram
![](docs/BrqRV_EB1.png)
## Directory Structure
├── verlog # User verilog Directory
│   ├── rtl # RTL
│   ├── dv # Design Verification
│   ├── gl # Gate Level Netlis
# The BrqRV_EB1 Source Code is avaialable here
├── verlog # User verilog Directory
│   ├── rtl # RTL
| ├── user_project_wrapper.v # User Project Wrapper source file
| ├── user_proj_example.v # User Project Example source file
| ├── Brqrv_EB1 # BrqRV_EB1 folder
| ├── Brqrv_EB1.v # BrqRV_EB1 source file
| ├── sky130_sram_1kbyte_1rw1r_32x256_8.v # 1KB sram
# The Design Verification Testbench is available here
├── verlog # User verilog Directory
│   ├── dv # Design Verification
│   ├── BrqRV_EB1 # Design Test Directory
│   ├── hex # Hex files folder
│   ├── asm # Assmebly files folder
# The synthesized netlist is present here:
├── verlog # User verilog Directory
│   ├── gl # Gate Level Netlis
│   ├── user_project_wrapper.v # User Project Wrapper Netlist
│   ├── user_proj_example.v # User Project Example Netlist
# The hardened macros are placed here:
├── def # def Directory
│   ├── user_project_wrapper.def # User Project Wrapper def file
├── lef # lef Directory
│   ├── user_project_wrapper.lef # User Project Wrapper lef file
│   ├── user_proj_example.lef # User Project Example lef file
├── gds # gds Directory
│   ├── user_project_wrapper.gdz.gz # User Project Wrapper gds
│   ├── user_proj_example.gdz.gz # User Project Example gds
### Testing of Design
Go to verilog/dv/BrqRV_EB1/ directory
1. Set the GCC_PATH environment variable.
2. Set the PDK_PATH environment variable.
3. Copy the given program hex file into uart.hex.
4. run the make commad for RTL simulation
5. run the SIM=GL make command for netlist simulation
Note: Dont forget to add 0x00000FFF instruction in the end of the uart.hex to stop the uart transmission if you are using your own codes.