1151|4

55

帖子

0

TA的资源

一粒金砂(中级)

【国产Tang Primer 25K测评】基于高云GOWINFPGA开发平台移植RISC-V软核E203 [复制链接]

本帖最后由 学学学学学学学 于 2023-12-17 22:55 编辑
  1. 本来想要自己写个IIC驱动的,但这周末偷懒了,emmm下星期有缘再来,废话不多说,这次主要介绍下简单移植开源的RIAC-V软核蜂鸟E203。
  2. 先贴下一个B站上UP主的视频,我主要是借鉴人家的流程学习的:【RISC-V】手把手教你使用蜂鸟E203-v2(Altera及国产FPGA篇)_哔哩哔哩_bilibili
  3. 下面介绍一下移植E203在Tang-25K板上的要点:
    1. 首先是手动添加所有的E203的Verilog文件,由于GOWIM似乎没有自动识别外部导入文件夹并简单分类的功能?(也可能是我没找到)反正要手动操作好多次,导入文件之后还要设置顶层文件,有需要可参考下列操作:
      image.png   image.png  
    2. 还要注意电路中复位的引脚要改变,根据原理图的不同而改变。原本的代码中是按键按下去低电平复位,但是25K电路是高电平复位,所以需要取反一下。
      image.png  
      image.png  
    3. 下面是添加IP核设置PLL锁相环的操作,尤其要注意为PLL添加复位引脚和锁定引脚,还有更改时钟容忍度才能设置成8M388Hz
      image.png   image.png  
    4. 更改IOBUF原语,改用为高云的IOBUF原语,推荐用一些专用的编辑软件直接一键搜索替换/
      image.png  
    5. 更改完之后直接编译就会发现,emmm25K的资源不够多,LUT不够多,所以需要进一步更改,主要是减小由LUT资源构成RAM核,以及尽量减少所用到的外设,更改的方式在这位UP主的视频里已经详细说明了(【RISC-V】手把手教你使用蜂鸟E203-v2(Altera及国产FPGA篇)_哔哩哔哩_bilibili),主要更改的文件是config.v和e203_subsys_perips.v文件,把不用的统统注释或者更改数值。另外UP主的视频中把协处理器的接口注释掉了,但是我个人觉得最好是保留。
      image.png  
    6. 然后就是绑定引脚,这里绑定引脚没什么特殊需求,按键绑按键,时钟绑时钟,普通IO就随便找个没用的口绑定,但是需要特别注意的引脚和网络,时钟clk和JTAG的TCK引脚,因为时钟路径太多了,导致时序报告并不好,TCK还尤其需要特殊在引脚绑定文件中添加一个语句,通常类似如下:
      image.png   

      image.png  
      这两个分别是vivado和PDS上绑定的语句,高云应该也有类似的语句,但是因为我这里用不到JTAG,所以就没特殊绑定。
    7. 最后,我还会贴上自己的代码,有需要的朋友可以看看,如果要下载下来自己用的还还需要注意更改一些路径。如下:|
      我下载e203软核的编译文件hex的方法不是通过JTAG口,而是根据Nucleo编译软件生成的.Verilog文件,删除去不必要的一些信息后,然后通过$readmemh语句,对软核的Ram进行初始化,只要一下载bit流文件,就会自动启动软件。
      image.png   image.png  
       
    8. 最后的最后还有额外的额外关于NUcleo设置的一些注意:还是依照那位UP的视频,那位UP主很贴心的准备了Nucleo的包,只需要从github上安装下来就能启用,如果要自己去蜂鸟官方下载软件的话,也可以选择自己新建工程或者导入工程;riscv-nuclei-elf-objcopy -O verilog "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.verilog";sed -i 's/@800/@000/g' "${BuildArtifactFileBaseName}.verilog"; sed -i 's/@00002FB8/@00002000/g' "${BuildArtifactFileBaseName}.verilog";
      image.png     image.png  
      image.png   image.png image.png     image.png
        
      添加如下:riscv-nuclei-elf-objcopy -O verilog "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.verilog";sed -i 's/@800/@000/g' "${BuildArtifactFileBaseName}.verilog"; sed -i 's/@00002FB8/@00002000/g' "${BuildArtifactFileBaseName}.verilog";
      image.png  
    9. 最后的最后,附张图证明一下移植成功了,做了一个串口打印的例程,可以看到ch340模块提示灯在闪烁。
      然后是新鲜出炉的Gitee链接:mrhaungsir/基于国产高云GOWIN或紫光同创PDS移植开源RIC-V软核蜂鸟E203 (gitee.com)
      9d1d6d7331c9f8dfae2e14a05d12584.jpg  

最新回复

请问下po主,“我下载e203软核的编译文件hex的方法不是通过JTAG口,而是根据Nucleo编译软件生成的.Verilog文件,删除去不必要的一些信息后”,这里是怎么把.verilog文件转成txt的,删除去不必要的信息是那些信息呢。有类似这方面的资料吗     详情 回复 发表于 2024-8-16 21:32

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

大佬你给的代码是否有配置好jtag呢,我测试了很久都无法用openocd连接到riscv,希望能够得到大佬指教

点评

我忘记了,你看看引脚约束文件里有没有对jtag的引脚约束,TCK还需要在时钟约束里设置,建议去b站搜索教程”手把手移植蜂鸟e203“或者去蜂鸟的网站看。另外需要蜂鸟专用的调试器,蜂鸟还有自己专用的编译软  详情 回复 发表于 2024-4-1 16:02

回复

55

帖子

0

TA的资源

一粒金砂(中级)

忆此生 发表于 2024-3-10 14:54 大佬你给的代码是否有配置好jtag呢,我测试了很久都无法用openocd连接到riscv,希望能够得到大佬指教

我忘记了,你看看引脚约束文件里有没有对jtag的引脚约束,TCK还需要在时钟约束里设置,建议去b站搜索教程”手把手移植蜂鸟e203“或者去蜂鸟的网站看。另外需要蜂鸟专用的调试器,蜂鸟还有自己专用的编译软件


回复

2

帖子

0

TA的资源

一粒金砂(初级)

本帖最后由 卑微小徐 于 2024-8-17 20:54 编辑


回复

2

帖子

0

TA的资源

一粒金砂(初级)

请问下po主,“我下载e203软核的编译文件hex的方法不是通过JTAG口,而是根据Nucleo编译软件生成的.Verilog文件,删除去不必要的一些信息后”,这里是怎么把.verilog文件转成txt的,删除去不必要的信息是那些信息呢。有类似这方面的资料吗

 


回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表