开发者学堂课程【高校精品课-南京航空航天大学-数字集成电路设计技术: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’