能否在顶层模块外将Xilinx BASYS3的7段数码管阳极端口始终置高?
可行:通过XDC约束自动置高数码管阳极端口
针对BASYS3(Artix-7)的数码管阳极端口,完全可以不用在代码里写assign an = 4'b1111;,直接通过XDC约束实现自动置高,以下是两种可靠方法:
内部上拉电阻配置
在你的.xdc文件中添加约束,让FPGA内部上拉电阻生效,未被代码驱动时端口自动拉至高电平:set_property PULLUP true [get_ports an[*]]这里的
an[*]是批量匹配4个阳极端口,如果你端口命名不同,改成对应名称即可。强制IO电平配置
如果需要更彻底地固定端口电平,也可以直接配置IO的默认状态:foreach port [get_ports an[*]] { set_property CONFIG.PULLUP true $port }Artix-7的IO支持这种上拉配置,刚好适配BASYS3的需求,无需修改任何代码逻辑。
注意事项
- 务必确认
an[*]对应的是BASYS3数码管阳极的实际FPGA引脚,可参考官方引脚手册核对。 - 后续如果需要在代码中驱动这些端口,代码逻辑会优先于约束配置,不会影响你之后扩展数码管功能。
内容的提问来源于stack exchange,提问作者Jon Forhan
相关产品推荐
相关产品推荐

