Closed huangping6686 closed 3 years ago
您好! 这一现象出现的原因是没有生成面向 FPGA 的 verilog 代码, 而是面向仿真环境的 verilog.
请检查生成 verilog 时使用的参数. 以仅生成面向 pynq FPGA 的 verilog 为例, 应使用的命令是:
make verilog BOARD=pynq
您可以参考项目根目录下的 Readme 来使用正确的命令生成 verilog / vivado project.
NutShell的顶层接口定义在NutShell.scala, 您可以参考这一文件来获取更多细节.
感谢您的迅速答复; 用 make verilog BOARD=pynq, 已经解决了问题; 祝好!
您好! 能否提供正确的TopMain.v文件,供参考? 我使用0.6.3的mill创建了TopMain.v文件, 在fpga目录下, 使用pynq板卡, 创建vivado工程时,得到错误: ########## Vivado ERROR LOG ######## WARNING: [BD 5-232] No interface pins matched 'get_bd_intf_pins NutShell_0/io_mem' ERROR: [BD 5-106] Arguments to the connect_bd_intf_net command cannot be empty. ERROR: [Common 17-39] 'connect_bd_intf_net' failed due to earlier errors.
"connect_bd_intf_net -intf_net NutShell_0_io_mem [get_bd_intf_pins io_mem] [get_bd_intf_pins NutShell_0/io_mem]" (procedure "create_hier_cell_rv_system" line 84) invoked from within "create_hier_cell_rv_system [current_bd_instance .] rv_system" (procedure "create_root_design" line 61) invoked from within "create_root_design """ (file "board/pynq/bd/standalone.tcl" line 1359)
"source ${tcl_file}" (procedure "add_bd" line 2) invoked from within "add_bd ${bd_dir}/standalone.tcl" invoked from within "if {${standalone} == "true"} { add_bd ${bd_dir}/standalone.tcl make_wrapper -files [get_files *system_top.bd] -top add_files -norecurse -fileset..." (file "board/pynq/../common.tcl" line 55)
"source ${script_dir}/../common.tcl" (file "board/pynq/mk.tcl" line 17)
原因是iomem* 接口不被识别为 BD的AXI interface;
可以通过修改TopMain.v, 添加vivado AXI interface的描述, workaround这个问题, 但是 io_mmio_req_bits_cmd信号不是AXI标准信号, 该如何修改?
还请指导一下!
感谢 Ping
谢谢! Ping