ZYNQ IO通过system_i 与system_wrapper引出,配置方式的区别
本帖最后由 KevinLin 于 2021-5-21 10:07 编辑老师好,最近测试ps-pl通过bram实现小批量数据传输(工程CH19_PS_PL_BRAM)编译遇到个报错: Driverless Nets: Net u_system_wrapper/AXI_GPIO_BTN_tri_i_2, and u_system_wrapper/AXI_GPIO_LED_tri_i_1 are undriven.
我的测试在原PS-PL BRAM数据传输课程上修改,使用了axi_gpio的2个通道,通道1(GPIO) bit2位作为2个按键输入,第bit作为PS→PL的触发引脚;通道2(GPIO2) bit作为工作指示灯,bit用作PL→PS中断触发IO。修改的工程IO通过system_wrapper引出(官方教程通过system_i引出),system_top做了申明inout AXI_GPIO_BTN_tri_io,
inout AXI_GPIO_LED_tri_io,
做了定义
wire AXI_GPIO_BTN_tri_io_2;
wire AXI_GPIO_LED_tri_io_1;
u_system_wrapper例化做了处理:
.AXI_GPIO_BTN_tri_io({AXI_GPIO_BTN_tri_io_2,AXI_GPIO_BTN_tri_io}),
.AXI_GPIO_LED_tri_io({AXI_GPIO_LED_tri_io_1,AXI_GPIO_LED_tri_io}),
与教程唯一的区别就是通过system_wrapper引出,请问可能是什么原因引起的呢,看到教程上通过system_i引出,定义是这样的:
wire GPIO_tri_i_0;
wire GPIO_tri_i_1;
wire GPIO_tri_o_0;
wire GPIO_tri_o_1;
例化:
.GPIO_tri_i({GPIO_tri_i_1,GPIO_tri_i_0}),
.GPIO_tri_o({GPIO_tri_o_1,GPIO_tri_o_0}),
.GPIO_tri_t(),
通过system_i引出与system_wrapper引出在定义和配置上有什么区别么,请帮忙指教一下,非常感谢。
你需要了解下IOBUF源语的使用,通过源语实现三态控制
IOBUF IOBUF_inst (
.O(O), // 1-bit output: Buffer output方向是外部引脚IO 输入到FPGA内部逻辑
.I(I), // 1-bit input: Buffer input方向是FPGA内部逻辑输出到外部引脚IO
.IO(IO), // 1-bit inout: Buffer inout (connect directly to top-level port) 外部引脚IO
.T(T) // 1-bit input: 3-state enable input 定义输入还是输入,当T=0 IO是三态的可以用于输入,当T=1 是输出
);
uisrc 发表于 2021-5-22 08:38
你需要了解下IOBUF源语的使用,通过源语实现三态控制
IOBUF IOBUF_inst (
.O(O), // 1-bit ou ...
明白,谢谢。
页:
[1]