Skip to content
IC design and development should be faster,simpler and more reliable
Verilog C Makefile C++ Assembly Perl Other
Branch: master
Clone or download

Latest commit

Latest commit c3e5722 Nov 20, 2019

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
case initial commit Oct 19, 2019
doc initial commit Oct 19, 2019
fpga initial commit Oct 19, 2019
lib Update Makefile Nov 1, 2019
regress/regress_result initial commit Oct 20, 2019
sdk repair gpio init error Nov 17, 2019
soc commit for add iverilog and gtkwave Oct 26, 2019
tb fix(iverilog): remove static from tb (#22) Nov 3, 2019
tools Update Srec2vmem.py Nov 11, 2019
workdir initial commit Oct 20, 2019
LICENSE Initial commit Oct 19, 2019
README.md fixed as DiangDiang QR code Nov 19, 2019

README.md

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 git@github.com: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://www.t-head.cn/product/mcu-platform?spm=a2ouz.12987052.0.0.167548abiiSAQs
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://www.t-head.cn/product/mcu-platform?spm=a2ouz.12987052.0.0.167548abiiSAQs 

How to get the IDE for development

download from the url https://www.t-head.cn/product/mcu-platform?spm=a2ouz.12987052.0.0.167548abiiSAQs  

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:

barcode.jpg

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 
You can’t perform that action at this time.