天天看點

Windows-下學習阿裡平頭哥-RISC-V-晶片開發平台-wujian100

前言

上個月,在第六屆網際網路大會上,阿裡的平頭哥,對,就是那個人狠話不多的公司!他們宣布開源了 wujian100 這個晶片設計平台。搭載基于 RISC-V 架構的玄鐵 902 處理器。 基礎硬體代碼和配套軟體代碼釋出在了 GitHub 上了,使用的是 MIT 許可證。大家也都可以去下載下傳學習。 GitHub 連結:

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

搭建仿真環境

安裝 Linux 環境

我們要去學習 wujian100 這個代碼,首先要去搭建一下運作仿真的環境。跑無劍這個仿真是需要 Linux 環境的,是以我就安裝了 WSL( Windows subsystem of Linux),我這裡呢安裝了 Ubuntu 18.04 的版本。要安裝 WSL ,首先要去 控制台->程式->啟用或關閉 Windows 功能 勾選開啟 适用于 Linux 的 Windows 子系統 這個選項,這樣你就可以去微軟應用商店正常安裝 Linux 子系統了。

安裝好子系統之後,我們直接進入到子系統下面進行操作就可以了。

建立目錄 Clone 官方代碼

首先我們按照官方在 GitHub 上的教程建立一個項目目錄,然後進入到目錄, clone 官方釋出的代碼。

$ mkdir test_prj
$ cd test_prj
$ git clone https://github.com/T-head-Semi/wujian100_open.git           

安裝 RISC-V 工具鍊

接下來,建立工具鍊目錄,去官方給定的位址下載下傳編譯代碼需要的 risc-v 工具鍊,解開壓縮包,找到 riscv64-elf-x86_64-20190731.tar.gz 這個工具鍊,拷貝到工具鍊目錄,解壓安裝工具鍊即可。

$ mkdir riscv_toolchain
$ cd riscv_toolchain
# 下面這條指令不一定跟我一樣,工具鍊下載下傳後的具體路徑根據你自己的系統确定
$ cp /mnt/d/download/T-Head\ Tools\ package/T-Head\ RISC-V\ Toolchain-V1.2.2/riscv64-elf-x86_64-20190731.tar.gz ./  

$ tar -zxvf riscv64-elf-x86_64-20190731.tar.gz           

安裝仿真工具

仿真工具可以選擇官方推薦的 VCS 仿真,但是我這裡呢使用 iverilog 進行仿真, gtkwave 來檢視波形檔案,verilator 是編輯軟體。然後由于我這邊安裝的 ubuntu18.04 預設沒有安裝 make 工具,是以也一起安裝了。

$ sudo apt install iverilog gtkwave verilator 
$ sudo apt install make           

注:有些同學可能是 Ubuntu 16.04 版本,直接通過 apt 指令安裝 iverilog 會自動安裝一個版本較低的,低版本運作這個仿真是有問題的,這時建議同學自己手動編譯安裝 10.0 以上版本的 iverilog 。

編輯 setup 腳本,配置環境變量

工具安裝完成之後,編輯 setup 腳本并通過執行它,來設定 EDA 環境變量。 由于原本的腳本是 csh 在 bash 環境下有一些不相容的地方,是以我這裡做了一些修改,修改内容如下:

setup.sh 腳本内容

#Copyright (c) 2019 Alibaba Group Holding Limited
#
#Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:


#set VCS path
#setenv VCS_HOME 
#set path=($VCS_HOME/linux/bin $path)

#set VCS license
#setenv SNPSLMD_LICENSE_FILE 

#set iverilog path
export iverilog_path=(/usr/bin)
export gtkwave_path=(/usr/bin)
export path=($iverilog_path:$path)
export path=($gtkwave_path:$path)


#set tools path
export TOOL_PATH='../../riscv_toolchain'

export wujian100_open_PATH='`pwd | perl -pe "s/wujian100_open.*/wujian100_open\//"`'
           
$ cd ../wujian100_open/tools 
$ vim setup.sh
$ chmod +x setup.sh
$ source setup.sh           

運作仿真

接下來,進入到 workdir 目錄下運作仿真,然後通過 gtkwave 打開仿真波形。

$ cd ../workdir
$ ../tools/run_case -sim_tool iverilog ../case/timer/timer_test.c
           

當你看到 Hello Friend! 就表明你的仿真就跑起來了。

VCD info: dumpfile test.vcd opened for output.
        ******START TO LOAD PROGRAM******

Hello Friend!

timer test successfully
***************************************

*              Test Pass              *

***************************************

Step4 (Run simulation) is finished           

用 gtkwave 打開 workdir 目錄下的 test.vcd 波形檔案,檢視仿真波形,(打開波形檔案需要圖形化界面,我這裡還安裝了 VcXsrv,具體安裝方法請自行搜尋一下)波形圖如下

$ gtkwave test.vcd
           
Windows-下學習阿裡平頭哥-RISC-V-晶片開發平台-wujian100

好了,到這裡你的仿真就跑起來了,然後接下來就是進行綜合生成 bit 流檔案了,下一篇文章在來更新 vivado 綜合的步驟。

首次發表于個人部落格:Windows-下學習阿裡平頭哥-RISC-V-晶片開發平台-wujian100.html 視訊教程:【RISC-V學習】我是怎麼拿到平頭哥半導體的開發闆的

文章來源:晶片開放社群

文章連結:

https://occ.t-head.cn/community/post/detail?spm=a2cl5.14300636.0.0.1b87180flWxVN5&id=651025121967865856

繼續閱讀