最近在学习E203,用的是Hummingbird Evaluation Kit的板子芯片型号xc7a100t.
首先进行v1版本的移植,将github上的板子改成了100T,之后按步骤完成移植和hello world程序运行,成功了。
紧接着进行hbirdv2的移植,在v2版本中将gpioA相关的约束屏蔽,然后在顶层system.v文件中屏蔽掉gpioA部分的代码,将板子型号改成xc7a100t,没有其他改动,生成了mcs文件烧写进板子里,然后进行hello world程序的运行步骤,
最后串口却打印不出信息,请问大家是哪里的步骤出了问题?
万分感谢大家的指教!
我的处理方式是:
1. 首先将FPGA改成100t
2.然后将蜂鸟板的fpga hbirdkit目录拷贝到v2的fpga目录中,修改nuclei-master.xdc.
将里面的qspi_*改成qspi0_*加入了一行 set_property KEEPER true [get_ports mcu_TMS]
将所有的gpio[改成gpioA[
------
修改脚本prologue_setup.tcl,将create_project e200.... 改成create_project e203...
上述修改忽略了蜂鸟板上没有的gpioB,编译时会失败,修改了init.tcl还是init_setup.tcl (?忘了?)
加入下面三行以便Vivado不严格要求所有的管脚都有实际对应
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]
set_property SEVERITY {Warning} [get_drc_checks RTSTAT-1]
set_property SEVERITY {Warning} [get_drc_checks UCIO-1]
成功编译出mcs,写入蜂鸟板,但是运行程序控制红绿蓝三个LED灯的时候却发现没有任何反应。
按道理来说gpioA与第一版中的gpio是同一个地址,管脚,应该是正确的啊,怎么运行起来没有任何反应呢? 换成v1的mcs是正确的。
你用的是什么板子呢?我看你好像是直接把V1版本FPGA里面的文件复制到V2版本里进行修改?
我的处理方式是:
1. 首先将FPGA改成100t
2.然后将蜂鸟板的fpga hbirdkit目录拷贝到v2的fpga目录中,修改nuclei-master.xdc.
将里面的qspi_*改成qspi0_*加入了一行 set_property KEEPER true [get_ports mcu_TMS]
将所有的gpio[改成gpioA[
------
修改脚本prologue_setup.tcl,将create_project e200.... 改成create_project e203...
上述修改忽略了蜂鸟板上没有的gpioB,编译时会失败,修改了init.tcl还是init_setup.tcl (?忘了?)
加入下面三行以便Vivado不严格要求所有的管脚都有实际对应
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]
set_property SEVERITY {Warning} [get_drc_checks RTSTAT-1]
set_property SEVERITY {Warning} [get_drc_checks UCIO-1]
成功编译出mcs,写入蜂鸟板,但是运行程序控制红绿蓝三个LED灯的时候却发现没有任何反应。
按道理来说gpioA与第一版中的gpio是同一个地址,管脚,应该是正确的啊,怎么运行起来没有任何反应呢? 换成v1的mcs是正确的。
看了下,引脚约束没啥问题。建议可以从以下几个方面调试看看 1. 如果有示波器或者逻辑分析仪,可以捕获下UART的波形看看,GPIOA的16、17 2. 不改RTL,把GPIOB随便约束到Hummingbird Evaluation Kit这个板子的空余引脚上 原理上串口不输出跟GPIOB没关系,但是不知道你改了system.v是否有其他问题,vivado综合布线是否报错了没注意的?
vivado的综合布线没有报错,我试试不改RTL的方法重新走一遍流程看看。 谢谢您!

看了下,引脚约束没啥问题。建议可以从以下几个方面调试看看 1. 如果有示波器或者逻辑分析仪,可以捕获下UART的波形看看,GPIOA的16、17 2. 不改RTL,把GPIOB随便约束到Hummingbird Evaluation Kit这个板子的空余引脚上 原理上串口不输出跟GPIOB没关系,但是不知道你改了system.v是否有其他问题,vivado综合布线是否报错了没注意的?
按照您说的,我把gpioB屏蔽,然后将gpioA换成Hummingbird Evaluation Kit这个板子所有的GPIO端口号 还是没有打印出串口信息
那麻烦把你改后的约束文件,关于GPIOA的那一部分截个图发出来看看吧
因为打印串口的实现是在GPIOA中,GPIOA pin16 和 pin17,可以在约束文件中看看
按照您说的,我把gpioB屏蔽,然后将gpioA换成Hummingbird Evaluation Kit这个板子所有的GPIO端口号 还是没有打印出串口信息