• Stars
    star
    1,799
  • Rank 25,823 (Top 0.6 %)
  • Language Verilog
  • License
    MIT License
  • Created about 5 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

IC design and development should be faster,simpler and more reliable

wujian100_open

wujian100_open is a MCU base SoC. We can simulate by EDA tools and emulate by FPGA. Also we can develop the IPs and software in this platform. We wish more and more developers building the open MCU ecosystem with T-Head. IC design and development should be faster simpler and more reliable
Directory Structure
|--Project                //open source project work directory  
  |--riscv_toolchain      //tool chain install directory download from t-head.cn
  |--wujian100_open       //wujian100_open project get from github
    |--case               //test case example for simulation
    |--doc                //wujian100_open user guide
    |--fpga               //FPGA script
    |--lib                //compile script for simulation
    |--regress            //regression result
    |--sdk                //software design kit
    |--soc                //Soc RTL source code
    |--tb                 //test bench
    |--tools              //simulation script and setup file
    |--workdir            //simulation directory
    |--LICENSE
    |--README.md

Get Started

1. prepare a project work directory just like 'Project'
2. cd Project
3. git clone https://github.com/T-head-Semi/wujian100_open.git or git clone [email protected]:T-head-Semi/wujian100_open.git

Download C/C++ Compiler

1. prepare a tool chain install directory named 'riscv_toolchain'  // use the c shell command like 'mkdir riscv_toolchain'
2. download the tool chain from the url https://occ.t-head.cn/community/download?id=3913221581316624384
3. install the tool chain to the riscv_toolchain dirctory

Get open source EDA tools

centos7/rhel7:  sudo yum install iverilog verilator gtkwave
ubuntu/debian:  sudo apt-get install iverilog verilator gtkwave

Get ready for simulation

1. cd wujian100_open/tools
2. vim setup.csh then add the vcs path and license
3. source setup.csh         //if not success you can touch a new file named setup.csh and copy the content to the new file. then source the new file
4. cd wujian100_open/workdir
5. if you want to use iverilog as simulation tool please execute the command '../tools/run_case -sim_tool iverilog ../case/timer/timer_test.c' or if you want to use vcs as simulation tool please execute the command '../tools/run_case -sim_tool vcs ../case/timer/timer_test.c'

Get ready for FPGA bit generation

1. make sure you have the synplify and license
2. cd wujian100_open/fpga/synplify
3. execute the synplify and load the wujian100_open_200t_3b.prj file
4. input the command 'sdc2fdc' in synplify
5. start the synplify
6. after synplify generated the netlist we will use vivado for P&R and generated the bit file
7. make sure you have the vivado and licese
8. cd wujian100_open/fpga/vivado
9. run tcl use file 'wujian100_open_200t_3b_prj.tcl'
10. program the bit file to the fpga board
11. enjoy the application development

How to get the debug tool

download from the url https://occ.t-head.cn/community/download?id=616215132330000384 

How to get the IDE for development

download from the url https://occ.t-head.cn/community/download?id=575997419775328256  

How to use the sdk

wujian100_open SDK is wujian100_open software development kit, the software follows the CSI interface specification. Through the SDK users can quickly wujian100_open test and evaluation. At the same time users can refer to the SDK integration of various commonly used components and sample procedures for application development quickly form a product solution.

SDK directory structure:
|--sdk
 |--csi_core 	//CSI-Core related interface definition, and interface implementation on
                //E902.
 |--csi_dirver  //CSI-Driver related interface definition, and peripheral Driver
                //implementation.
 |--csi_kernel  //CSI-Kernel related interface definition, and Rhino, FreeRTOSv8.2.3
                //ucos-iii and other real-time operating system docking example code
 |--libs        //Store common library implementations
 |--projicet	//Store a variety of reference examples including benchmark test
                //program, driver example program, rtos example program. The relevant
                //project documents are also included.
 |--utilites	//Store project config files.
 |--VERSION
1. Download and install the CDK
2. Open a project using CDK, for example open the hello project:
  projects/examples/hello_world/CDK/wj100-open-hello_world.cdkproj
3. Build the project:
Click "project" on the toolbar,and select "build all". After successful compilation, you will see the following:
Build target ' wujian100_open-hello_world BuildSet '
----------Building project:[ wujian100_open-hello_world - BuildSet ]----------
make[1]: Entering directory 'D:/release/Wujian100_open-V1.0.0/Wujian100_open-V1.0.0/projects/examples/hello_world/CDK'
make[1]: Leaving directory 'D:/release/Wujian100_open-V1.0.0/Wujian100_open-V1.0.0/projects/examples/hello_world/CDK'
make[1]: Entering directory 'D:/release/Wujian100_open-V1.0.0/Wujian100_open-V1.0.0/projects/examples/hello_world/CDK'
linking...
size of target:
   text	   data	    bss	    dec	    hex	filename
  22680	   1628	   6660	  30968	   78f8	D:/release/Wujian100_open-V1.0.0/Wujian100_open-V1.0.0/projects/examples/hello_world/CDK/Obj/wujian100_open-hello_world.elf
checksum value of target:  0xE2B2C769 (491,388)
make[1]: Leaving directory 'D:/release/Wujian100_open-V1.0.0/Wujian100_open-V1.0.0/projects/examples/hello_world/CDK'
Executing Post Build commands ...
Done
====0 errors, 0 warnings, total time : 20s263ms====
4. Run the project:
Click "Debug" on the toolbar,and select "Start/Stop Debugger".

Dicussion

If you want to discuss about the wujian100_open project. You can scan the DingDing QR code below:

Wujian100

Reference and Thanks

The program model of GPIO refer to the DesignWare of Synopsys 
The program model of Timer refer to the DesignWare of Synopsys 
The program model of WDT refer to the DesignWare of Synopsys 

More Repositories

1

openc910

OpenXuantie - OpenC910 Core
Verilog
1,045
star
2

riscv-aosp

Patches & Script for AOSP to run on Xuantie RISC-V CPU
462
star
3

openc906

OpenXuantie - OpenC906 Core
Verilog
284
star
4

opene902

OpenXuantie - OpenE902 Core
Verilog
123
star
5

opene906

OpenXuantie - OpenE906 Core
Verilog
120
star
6

csi-nn2

An optimized neural network operator library for chips base on Xuantie CPU.
C
74
star
7

riscv-matrix-extension-spec

A matrix extension proposal for AI applications under RISC-V architecture
TeX
63
star
8

open-yoc

"Yun", aka cloud, On Chip (YoC) is based on AliOS Things for Xuantie RISC-V CPU with components optimized for bluetooth, WiFi, voice, vision applications and etc.
C
40
star
9

xuantie-yocto

Yocto project for Xuantie RISC-V CPU
C
37
star
10

linux

Linux kernel source tree
C
37
star
11

buildroot

Buildroot customized for Xuantie™ RISC-V CPU
Roff
37
star
12

open_source_ISP

C++
37
star
13

thead-extension-spec

T-head vendor extension Instruction Set spec
Makefile
27
star
14

opensbi

C
14
star
15

binutils-gdb

Binutils/GDB for Xuantie RISC-V CPU, a collection of binary tools.
9
star
16

newlib

Newlib for Xuantie RISC-V CPU, a lightweight C library for embedded systems.
C
8
star
17

hgai-open

hgai-open
8
star
18

riscv-art

C++
8
star
19

u-boot

C
8
star
20

glibc

GNU project's implementation of the standard C library(with Xuantie RISC-V CPU support).
C
7
star
21

riscv-bionic

Objective-C
5
star
22

zero_stage_boot

C
4
star
23

xuantie-secure-system-image-release

C
2
star
24

npu-ax3386-kernel

C
2
star
25

fota

C
1
star
26

d1_adbd

C
1
star
27

baremetal-drivers

C
1
star
28

vi-kernel

C
1
star
29

xtensa_dsp

C
1
star
30

vpu-vc8000e-kernel

C
1
star
31

csi_hal

C
1
star
32

light-images-proprietary

C
1
star
33

gpu_bxm_4_64-kernel

C++
1
star