完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
亲爱的Xilinx社区,
在EMIO GPIO(宽度)中,我已经启用并配置了重新定制ip,宽度为4 我需要3个gpio引脚作为输出,一个引脚作为输入,你能不能让我知道如何配置一个GPIO引脚作为输入4.你能不能提供一些vhdl代码片段或者无论如何都可以在 “重新定制IP”, 要么 有人可以告诉我这是否可以在vivado中完成? 由于我正在使用Linux BSP或是否可以将GPIO中的一个配置为设备树中的输入方向,请您提供相同的示例? 请尽早做好 提前谢谢了 |
|
相关推荐
2个回答
|
|
在Vivado Design Suite中,双向意味着存在输入,输出和三态信号,它们可以连接到IOBUF原语,以便您可以选择GPIO的目标方向。
在模块设计中,您可以从PS7 IP配置窗口启用EMIO GPIO,该窗口在PS7模块上启用一组EMIO GPIO端口(可能名为GPIO_0)。 然后,您可以右键单击该GPIO_0端口(所有导线组合在一起)并选择“Make External”为其创建外部端口并自动将导线连接到外部端口。 我喜欢将我的EMIO GPIO端口命名为“emio_user”,因为我通常将它们连接到用户演示板的LED,DIP开关和按钮。 而已! 检查此AR https://www.xilinx.com/support/answers/51786.html 当您为块设计创建包装器时,Vivado会自动获取GPIO_I,GPIO_O和GPIO_T信号并尝试将它们打包成IOBUF原语,如下所示: emio_user_tri_iobuf_8:组件IOBUF端口映射(I => emio_user_tri_o_8(8),IO => emio_user_tri_io(8),O => emio_user_tri_i_8(8),T => emio_user_tri_t_8(8)); 现在您需要做的就是确保您具有这些外部网络的匹配约束,并且您具有双向端口。 谢谢和RegardsBalkrishan ----------------------------------------------- ---------------------------------------------请将帖子标记为 一个答案“接受为解决方案”,以防它有助于解决您的查询。如果一个帖子引导到解决方案,请给予赞誉。 |
|
|
|
嗨,
对于类似于MIO的EMIO,替代方法如下所述 访问PS EMIO有两种方法,一种是在linux启动后使用通过sysfs来控制方向,值。 或者,也可以在PS GPIO寄存器上使用devemem命令来执行相同操作。 非linux的另一种方法是配置GPIO的寄存器级别,可以通过使用mwr / mrd命令对SD-XSDB中的相应寄存器进行存储器读/写来完成。 示例:将MIO引脚10配置为输出1.将方向设置为输出:将0x0000_0400写入gpio.DIRM_0寄存器。 2.设置输出使能:将0x0000_0400写入gpio.OEN_0寄存器。 注:仅当GPIO引脚配置为输出时,输出使能才有意义。 对于配置为输出的GPIO引脚,有两个选项可用于编程所需的值。 选项1:使用gpio.DATA_0寄存器读取,修改和更新GPIO引脚。 示例:使用DATA_0寄存器设置GPIO输出引脚10。 1.读取gpio.DATA_0寄存器:将gpio.DATA_0寄存器读取到reg_val变量。 2.修改值:设置reg_val [10] = 1。 3.将更新值写入输出引脚:将reg_val写入gpio.DATA_0寄存器。 选项2:使用MASK_DATA_x_MSW / LSW寄存器更新一个或多个GPIO引脚。 示例:使用MASK_DATA_0_MSW寄存器将输出引脚20,25和30设置为1。 1.为引脚20,25和30生成掩码值:为了驱动引脚20,25和30,0xBDEF是gpio.MASK_DATA_0_MSW [MASK_0_MSW]的掩码值。 2.生成引脚20,25,30的数据值:要在引脚20,25和30上驱动1,0x4210是gpio.MASK_DATA_0_MSW [DATA_0_MSW]的数据值。 3.将掩码和数据写入MASK_DATA_x_MSW寄存器:将0xBDEF_4210写入gpio.MASK_DATA_0_MSW寄存器。 问候 普利文 -------------------------------------------------- -----------------------不要忘记回答,kudo,并接受为解决方案.------------- -------------------------------------------------- ---------- |
|
|
|
只有小组成员才能发言,加入小组>>
2424 浏览 7 评论
2825 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2294 浏览 9 评论
3374 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2465 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1207浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
590浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
452浏览 1评论
2006浏览 0评论
731浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 20:14 , Processed in 1.329839 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号