Wujian SoC 平台_开发流程|学习笔记

简介: 快速学习 Wujian SoC 平台_开发流程

开发者学堂课程【高校精品课-南京航空航天大学-数字集成电路设计技术:Wujian SoC 平台_开发流程】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/14/detail/15885


Wujian SoC 平台_开发流程

 

内容介绍

一、 预先准备

二、 下载 C/C++Compiler

三、 准备开源 EDA 工具

四、 进行代码仿真

五、 如何制作 FPGA bit 文件

六、 调试环境

七、 SDK 介绍

八、 SDK 目录结构

九、 SDK 调试过程

 

一、 预先准备

1. 首先准备一个项目工作目录,如‘Project’

2. 进入 Project 目录

3. 从 github 获取平台代码:

git clone https://github.com/T-head-Semi/wujian100_open.git

git clone git@github.com:T-head-Semi/wujian100_open.git


二、 下载 C/C++Compiler

1. 准备工具链安装目录

‘riscv_toolchain'//使用 c shell 命令,如‘mkdir riscv_toolchain’

2. 从下载页面下载工具链

3. 解压工具链到 riscv_toolchain 目录下

 

三、 准备开源 EDA 工具

centos7/rhel7: sudo yum iverilog verilator gtwave

ubuntu/debian:sudo apt-get iverilog verilator gtkwave

 

四、 进行代码仿真

1. 进入 wujian100_open/tools 目录下

2. 打开 setup.csh 文件,如果有 vcs 的 license,请设置 vcs 相关的路径和 license

3. 执行 source setup.csh 命令设置环境变量

4. 环境变量设置完成后,进入 wujian100_open/workdir 目录开始仿真

5. 目前环境中支持 iverilog 和 vcs 两种工具仿真。

以 timer 测试 case 为例:

如果想要使用 iverilog 进行仿真,则在 workdir 目录下执行命令‘../tools/run case- sim_tool iverilog../case/timer/timer test.c',如果想要使用 vcs 进行仿真,则在 workdir 目录下执行命令‘../tools/run _case -sim_tool vcs../case/timer/timer test.c’

6. 等待仿真结束,仿真结束会打印“TestPass”表明本次仿真测试通过

 

五、 如何制作 FPGA bit 文件

1. 首先确保环境中有 synplify 和 vivado 工具的 license

2. 进入 wujian100_open/fpga/synplify 目

3. 打开 synplify 工具,同时加载 wujian100_open_200t_3b.prj 文件导入项目工程

4. 在 synplify console 窗口输入命令‘sdc2fdc’,将 sdc 文件转换生成 fdc 文件

5. 点击 RUN 开始 synplify 综合,等待网表生成

6. 在  synplify 生成网表完成后,打开 vivado 工具,开始 P&R 和 bit 文件生成

7. 进入 wujian100_open/fpga/vivado 目录

8. 在 vivodo 工具中导入'wujian100_open_200t_3b_prj.tcl'文件执行 run tcl,等待 bit 文件生成

9. 在 bit 文件生成后, 将 bit 文件下载到 FPGA 开发板上

10. 开始在 FPGA 上进行调试和软件应用开发

 

六、 调试环境

1. 调试工具:DebugServer 和 CSkyDebugServer-V5.8.6

2. 如何获取 IDE 开发工具 CDK:cdk-windows-V1.18.10-20191018

 

七、 SDK 介绍

wujian100_open SDK 是 wujian100_open 的软件开发工具包,软件遵循 CSI 接口规范。通过该 SDK 用户可以快速对 wujian100_open 进行测试与评估,同时用户可以参考 SDK 中集成的各种常用组件以及示例程序进行应用开发,快速形成产品方案。

 

八、 SDK 目录结构

1. |--csi_core //基于 E902定义了 CPU 及与 CPU 紧耦合外设的标准接口规范以及实现

2. l--csi dirver //定义外围设备驱动的标准接口规范,以及相关外围接口的实现

3. l--csi_kernel//定义了实时操作系统标准接口规范,以及 Rhino、FreeRTOSv8.2.3、uCos-III 等实时操作系统的对接示例代码。

4. |--libs //存放通用的库实现

5. |--projects//存放各种参考示例,包括 benchmark 测试程序、驱动示例程序、rtos 示例程序等。同时包括了相关的工程项目文

件。

1. |--utilites//存放项目配置文件


九、 SDK 调试过程

1. 下载和安装 CDK 工具

2. 使用 CDK 工具打开项目工程,如打开 hello world 项目工程:projects/examples/hello_world/CDK/wj100-open-hello_world.cdkproj

3. 编译工程

在工具栏窗口点击‘project’,选择‘build all’

4. 开始调试:

在工具栏窗口点击‘Debug',选择‘Start/Stop Debugger’

相关文章
|
6月前
|
开发工具 C++ 异构计算
Xilinx ZYNQ的应用开发介绍
Xilinx的ZYNQ系列是首款可扩展处理平台,以其高性能和计算能力适用于高端嵌入式应用如视频监控和汽车辅助系统。ZYNQ结合了双ARM Cortex-A9 MPCore处理器系统与28nm FPGA技术,提供高度灵活性和配置选项。开发环境包括Xilinx Platform Studio、ARM工具链及第三方软件,支持C/C++和系统C综合。ZYNQ由处理系统(PS)和可编程逻辑(PL)组成,PS是ARM SOC,PL是FPGA。开发工具推荐使用Vivado,Zynq 7000 XC7Z100作为旗舰型号提供丰富的资源。
88 0
|
存储 测试技术 开发工具
Wujian SoC 平台_介绍|学习笔记
快速学习 Wujian SoC 平台_介绍
274 0
Wujian SoC 平台_介绍|学习笔记
|
芯片 SoC
OpenHarmony 标准系统HDF框架之I2C驱动开发
OpenHarmony 标准系统HDF框架之I2C驱动开发
347 0
OpenHarmony 标准系统HDF框架之I2C驱动开发
|
编解码 人工智能 Linux
OpenHarmony 标准系统 HDF 框架音视频驱动开发
OpenHarmony 标准系统 HDF 框架音视频驱动开发
633 0
OpenHarmony 标准系统 HDF 框架音视频驱动开发
|
存储 Ubuntu Unix
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍
944 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍
|
存储 Ubuntu Linux
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)驱动程序基石(下)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)驱动程序基石
226 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)驱动程序基石(下)
|
Linux 调度 开发工具
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)驱动程序基石(上)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)驱动程序基石
252 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)驱动程序基石(上)
|
Linux 程序员 调度
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)驱动程序基石(中)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)驱动程序基石
224 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)驱动程序基石(中)
|
存储 Linux 芯片
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十九)I2C应用编程(中)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十九)I2C应用编程
250 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十九)I2C应用编程(中)
|
传感器 Ubuntu Linux
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十九)I2C应用编程(下)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十九)I2C应用编程
422 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十九)I2C应用编程(下)