作者:Hello,Panda
大家早上好。
昨天有朋友私信我,如何复用Crosslink-NX的特殊功能引脚如PROGRAMN、DONE、INITN诸如这些。熊猫君在这里简单介绍下:
以LIFCL-33U-8CTG104C为例,我们建立一个简单的指示灯LED周期闪烁的工程,通过DONE引脚输出。
首先,我们按照硬件原理图,将LED驱动信号通过引脚G2输出,编写好约束文件如下:
编写好pdc引脚约束文件如下:
ldc_set_sysconfig {MCCLK_FREQ=14.1 BOOTMODE=SINGLE
MASTER_SPI_PORT=SERIAL DONE_PORT=DISABLE
JTAG_PORT=ENABLE INITN_PORT=ENABLE
PROGRAMN_PORT=ENABLE WAKE_UP=ENABLE_DONE_SYNC}
ldc_set_location -site {G2} [get_ports o_work_led]
编译生成bit文件并下载到Flash以后重新上电,发现LED灯不亮。
这个时候我们就需要修改FPGA内部的Feature Row特殊功能寄存器将这些特殊功能引脚配置为普通IO,打开Programer,选择Non Volatile Configuration Memory选项的Update Feature Row操作,如下图所示:
点击下载按钮,可以读出如下图所示的寄存器配置界面,咱们是要服用DONE引脚,因此,需要将DONE_Disable寄存器位修改为1关闭DONE特殊引脚功能,点击“Program”将其更新写入到FPGA即可。
再次上电,就可以看到通过DONE引脚驱动的LED周期闪烁。其它特殊功能引脚的处理类似。
LIFCL-33U通过DONE特殊功能引脚驱动LED闪烁样例