Go to file
Colin 1f1ed068a0 Update 325T 2024-11-08 01:27:22 +08:00
Cores-SweRV Reset Readme. 2023-01-04 22:40:08 +08:00
Cores-SweRV-EL2@e8224a4211 Update Cores-EL2 and Quasar. 2022-03-27 09:55:41 +00:00
Flow Delete rvdff by fpga. 2022-05-23 15:37:09 +00:00
IO325T Update 325T 2024-11-08 01:27:22 +08:00
Miner420T@21ffe6f37a Add Miner420T submodule 2022-03-22 23:14:02 +00:00
Quasar@5721e092bb Update Cores-EL2 and Quasar. 2022-03-27 09:55:41 +00:00
VexRiscv start to add ecp5 support,current donet support jlink 2022-02-28 03:34:59 +00:00
fpga Refine Readme of install openocd. 2022-02-28 03:33:08 +00:00
jtag add jtag to ESP32 2022-02-02 03:40:41 +00:00
opene906 Refine opene906 gdb sample. 2022-02-25 12:24:03 +00:00
uriscv Add program hex support in uriscv. 2023-01-07 16:15:54 +08:00
xilinx Update xilinx Readme. 2022-03-11 05:08:19 +00:00
.gitignore Update .gitignore. 2022-03-22 23:24:30 +00:00
.gitmodules Add Miner420T submodule 2022-03-22 23:14:02 +00:00
Readme.md Update 325T 2024-11-08 01:27:22 +08:00
Vivado+IP.lic Update 325T 2024-11-08 01:27:22 +08:00

Readme.md

Weekend group

helloworld

This a demo for llvm build and sim with verilator.

jtag

This is a demo of jtag simulation by openocd running on verilator.

install verilator

sudo apt install verilator

install openocd

git clone https://github.com/riscv/riscv-openocd.git
cd riscv-openocd
./bootstrap
./configure --prefix=$RISCV --enable-remote-bitbang --enable-jtag_vpi --enable-ftdi --enable-jlink
make
sudo make install

may be install sv2v

https://github.com/zachjs/sv2v

install ninja

sudo apt-get install -y ninja-build

Gen quasar core

git clone https://github.com/Lampro-Mellon/Quasar.git
cd tools
vim configs/quasar.config # to config the core
make clean
make conf
make sbt_
# Quasar/generated_rtl/quasar_wrapper.sv

install Bit-Vector

wget https://cpan.metacpan.org/authors/id/S/ST/STBEY/Bit-Vector-7.4.tar.gz
tar -xvf
cd 
perl Makefile.PL
make 
sudo make install

build and install riscv tools

# build 64bit
sudo make clean
./configure --prefix=/opt/riscv 
sudo make -j12

# build 64bit and 32bit
sudo make clean
./configure --prefix=/opt/riscv --with-arch=rv32gc --with-abi=ilp32d --enable-multilib
sudo make -j12
  • Opetion2 :
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev libusb-1.0-0-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev device-tree-compiler pkg-config libexpat-dev libfl-dev
git clone https://github.com/chipsalliance/rocket-tools.git
git submodule update --init --recursive
# riscv-isa-sim and openocd may be checkout to main branch to avoid compile error
sudo su
export RISCV=/opt/riscv
export MAKEFLAGS="-j12"
./build-rv32ima.sh

install xilinx

  1. 下载vivado安装文件
  2. 下载vivado lisence
  3. 解压vivado的安装文件sudo执行xsetup开始安装
  4. 安装vivado之后安装 Hardware Server
  5. 通过执行安装路径的bin目录的vivado来启动
  6. 安装Xilinx Platform Cable USB II 下载器驱动
    1. cd /tools/Xilinx/Vivado/2021.2/data/xicom/cable_drivers/lin64/install_script/install_drivers
    2. sudo ./install_drivers
    3. lsusb 检查安装的usb设备
    4. 重新拔插后显示 Bus 005 Device 011: ID 03fd:0008 Xilinx, Inc. Platform Cable USB II

tips

  • jtag的reset引脚要设置正确 jtag_trst_n 低电平复位
  • 仿真的时候jtag的tclk不能太快要低于soc的clk
  • SweRV启动/复位后程序从reset_vec(0x80000000)开始遇到错误code=0就会跳到mtvec(中断向量表)指示的地址
  • 物理仿真的时候 adapter speed 不能太快
  • data段放到0x200太小GDB调试RISCV至少要4K的程序空间
  • soc的ram和rom直接接到了lsu和ifu和DCCM/ICCM无关
  • program.hex 用于 $readmemh 必须以空行结束

Todo

  • gdb怎么复位soc
  • gdb没有把程序加载到memifu还是用老代码
  • mem分bank后怎么加载用于仿真=>for循环分别加载
  • Quasar升级scala版本发现openocd运行不正常