开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真

1.简述

最近购买了一块适合做原型验证FPGA板卡,板卡接口和外设比较丰富,十分适合跑一些小型的SOC工程,比如蜂鸟E203;板卡自带FPGA烧写器和软核CPU的JATG调试器,还有USB接口的UART,这样不用单独购买FPGA下载器、软核CPU调试器,USB串口模块;额外板卡有充足的按键、LED、数码管、拨动开关,以及几十个灵活的可配的管脚,带有2KB的SRAM(或者2GB DDR3),这可谓是接近完美的原型FPGA板卡;当然板卡还有USB、千兆以太网、HDMI常用的高速接口,想单纯的学习FPGA也是够用的;
这里只做移植一些说明,供购买该板卡的粉丝查看,因此详细介绍移植的过程了,详细请看:开源RISC-V处理器(蜂鸟E203)学习(四)移植蜂鸟Hbirdv2版本工程,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真;

开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第1张图片开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第2张图片

2.所需环境

  • 需要使用我分享的EDA虚拟机:IC_EDA_ALL虚拟机(丰富版):questasim、vivado、vcs、verdi、dc、pt、spyglass、icc2、synplify、INCISIVE、IC617、MMSIM、工艺库;
  • 工程下载:微信公众号:芯王国,后回复 E203V2 可以获得移植的完整工程;

3.工程放置

解压后严格放置在该目录下,这里不说其他方法,避免大家误操作;
开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第3张图片

4.仿真

直接进入到vsim目录下,这里体现V2版本的优势,不用修改仿真脚本,使用命令参数化选择仿真工具,使用以下命令进行vcs仿真;

make clean
make install
make compile SIM=vcs
make run_test SIM=vcs

开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第4张图片
使用以下命令,启动Verdi查看波形;

make wave SIM=vcs

开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第5张图片

5.FPGA综合

下图为FPGA移植的管脚分配表
开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第6张图片
注意 :有Sram和DDR两种板卡,这两个板子除了内存不一样板卡资源和FPGA型号一致;上面管脚分配是SRAM的,获取的移植工程也是SRAM的,如果你是DDR板子请修改FPGA时钟约束,管脚号如下,其他不用修改;
在这里插入图片描述

进入到fpga目录下,使用以下命令启动vivado,需要手动点击综合生成BIT文件

make install  FPGA_NAME=my_a100t
make setup    FPGA_NAME=my_a100t

开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第7张图片
综合后资源情况,A100T资源挺丰富的,E203资源占用不高,还有充足的资源可以做扩展开发;
开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第8张图片
需要将FPGA下载器设备连接到虚拟机,如图显示则以连接到虚拟机;插入usb时应该会有窗口提示选择吗,没有按如图去手动连接一下;具体的BIT和MCS文件的烧写操作可以看实验室手册,也可以网上搜索,操作不复杂;
开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第9张图片
烧写FPGA时,这个跳冒需要接外面两个引脚,因为FPGA JATG与CPU的JATG是分时复用的,后面烧写CPU程序时需要切换一下;

效果如图:
开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第10张图片

6.C程序编译与烧写

进入到hbird-sdk目录下运行以下命令构建环境(每次新入进行编译时都需要使用以下命令构建环境);

source setup.sh
echo $PATH
which riscv-nuclei-elf-gcc openocd make rm
make help

开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第11张图片
进入到 helloword目录,使用ilm模式编译;最后编译成功;

cd application/baremetal/helloworld/
make dasm SOC=hbirdv2 BOARD=ddr200t CORE=e203 DOWNLOAD=ilm

开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第12张图片
烧写前需要将这个跳冒接里面两个引脚;
开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第13张图片

make upload SOC=hbirdv2 BOARD=ddr200t CORE=e203 DOWNLOAD=ilm

开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第14张图片

插入串口的USB,和前面一样确保连入虚拟机,新开一个terminal,输入以下命令启动串口界面;

sudo screen /dev/ttyUSB1 115200

按下复位让程序重新跑一下,串口打印 Hello World信息,成功!
开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第15张图片

7.C仿真

不要清除上步的编译,进入到vsim目录下,打开Makefile,如图修改case,改为我们刚才编译的‘hello world’,保存退出后重新跑仿真;

g Makefile

开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第16张图片
仿真打印hello world

make clean
make install
make compile SIM=vcs
make run_test SIM=vcs

开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真_第17张图片
由于没有finish,所以需要Ctrl+c强制终止仿真;

8.总结

后续芯王国的开源项目基于该板卡进行,刚好需要购买FPGA学习的可以考虑一下,价格十分美丽,微信或者QQ私聊我发送购买链接;欢迎大家交流,不限与虚拟机,FPGA、IC领域均可!!!
马上要推出“CK_RISCV”开源项目,大家莫着急!!!
由于CSDN开始限制放置二维码,所以只有搜索 芯王国 关注我的公众号,公众号中有更多资源和干货,同时加入IC/FPGA,RISCV的交流群
我的gitee:传送门


你可能需要的

centos7 升级安装 vim8.2(gvim)
Vmware 虚拟机 释放文件删除后的磁盘,缩小虚拟机大小
搭建属于自己的数字IC EDA环境(番外):S家EDA工具 license失效,TCP端口占用问题

蜂鸟E203学习-专栏
搭建IC_EDA环境-专栏
RISC-V设计-专栏

你可能感兴趣的:(蜂鸟E203学习,fpga开发,risc-v,学习,A100T-FPGA,蜂鸟E203V2移植)