ZYNQ_GPIO_MIO EMIO ;IOBUF

1,UG585GPIO部分:
DATA_RO 寄存器是读端口数值。
DATA 是数据输出寄存器。
DIRM,OEN分别是方向控制寄存器和输出使能寄存器。
MASK_DATA_LSW是每个BANK低16位的输出控制,包括掩码位和数据位。(和DATA功能有重叠)
2,VIVADO下配置GPIO注意分别注意MIO和EMIO的GPIO。
1.MIO的GPIO对应的BANK是BANK0,BANK1。其他功能使用剩余之后MIO可以做为GPIO.这时FIXIO有固定对应的引脚,不需要用户约束引脚。其实现仅仅依靠PS部分,即使用时PL可以不配置。共有32+22=54个,在SDK内的编号是0-53.
2.EMIO的GPIO对应的BANK2和BANK3,这些IO是不被复用的,并且可以接到FPGA的引脚,也可以连接外部的FPGA逻辑,是非常灵活的扩展,其实现依靠PS和PL系统完成。共有32+32=64个,在SDK内部的编号对应从54-117.
3,GPIO这个AXI的PL外设IP,在此虽然都叫做GPIO但是没有任何联系。GPIO_IP仅仅是一个最简单的AXI外设。而MIO和EMIO的GPIO是直接受PS控制,其中EMIO还受PL的控制。
[表 1] GPIO的序号对应关系
硬件 SDK统一编号 VIVADO EMIO编号
BANK0 [0…31] GPIO 0 - 31
BANK1 [0…21] GPIO 32 - 53
BANK2 [0…31] GPIO 54 - 85 EMIO_GPIO 0-31
BANK3 [0…31] GPIO 86 - 117 EMIO_GPIO 32-63

4,IOBUF的实现。FPGA内部没有三态(高阻态),三态只允许出现在引脚的PAD上。注意三态线路只允许引出到顶层。逻辑内部不允许有三态,如果有,工具会对应做一些等效改变。
module MY_IOBUF(input I,T,output O,inout IO);
assign O = IO ;
assign IO = ( T ) ? 'bZ : I ;
endmodule

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值