《基于“矿板”低成本学习FPGA》逆向扫描插座所有IO引脚映射
一.
前言
前面分享了淘到的
xc7k325t
的板子作为开发板使用,板子通过
4
个松下的
120P
板对板插座引出了
IO
,本篇分享下如何去找到引出的
IO
的引脚映射。
二.
电源确认
拿到板子首先第一步,肯定是先确认如何供电,然后供电看是否能工作。这个板子卖家送了一个供电底板和电源所以直接上电即可。
假设没有这个底板,自己如何去确认电源引脚呢,就看
PCI-E
的
PIN
,电源
PIN
会占用多个引脚,如下图所示。
另外
PCIE
的插座也是标准的,直接搜索也可找到对应的说明
可以参考
https://pinoutguide.com/Slots/pci_express_pinout.shtml
三.
JTAG
确认
确认供电之后,首先要找到的是
JTAG
引脚,找到了
JTAG
引脚就可以下载程序,后面就好办了。
所以先查找板子上是否有预留排针孔,测试点的位置,重点找那种
2xn
的,因为
JTAG
一般是
2x5
,或者
2x10
,也可能有些省引脚
2x4
或者单排
5
个引脚,至少需要
TMS
,
TCK
,
TDO
,
TDI
四个信号,另外加
VREF
和
GND
,
6
个引脚。
另外
JTAG
一般也会位于板子的边缘,不会放置在板子中心区域,所以有这些线索就好找了,
找了一下板子,看到如下位置,看到有
2x4
的测试点,猜测就是它了。
先确认
GND
和
VCC
,万用表就可以搞定,确认了上图右边这
4
个
P
的下面两个
P
就是
GND
和
VCC
,上面两个是
NC(
怎么确认是
NC
的呢,万用表测对地电阻即可,
NC
一般是
M
欧级别,而信号则一般有上下拉电阻
K
欧级
)
。
那么确认了右边
4
个引脚,左边就是
4
个信号了,
这四个引脚可能是随意的,并不一定会按照顺序排放,所以简答粗暴直接遍历
16
次,看能不能使用
JTAG
连接即可,做种的到从上往下对应如下
TDO
TDI
TMS
TCK
这里顺便分享下
JTAG
连接操作步骤,给新手参考
打开
vivado
,
Open Hardware Manager
Open Target -> AutoConnect
识别到芯片型号
双击
XADC
可以查看内部的
ADC
默认显示温度,还可以添加其他信号
右键点击芯片型号
Program Device...
可以下载
bit
文件,
Add Configuration Memory Device
用于配置
SPI FLASH
存储进行固化
(
见前一篇公众号文章
)
。
确认可
JTAG
连接,到了这一步就可以松口气了,大概率不会翻车了,基本确认
FPGA
是好的。
JTAG
能连上就可以编写程序,任意发挥,为所欲为,想干啥就干啥了,确认引脚只是时间问题了。
四.
IO
扫描程序
JTAG
能连上了,那么接下来就是确认插座对应的引脚对应关系,这里有
4
个松下
120P
板对板插座,看起来是所有引脚都引出开来了。这简直就是一块开发板了,所以淘到的这块板子性价比非常高,可玩性很高。
确认引脚关系,我们很自然的就能想到,不管三七二十一,先对所有可能的引脚控制输出,然后用示波器测量哪个引脚有对应的信号即可。
首先查看文档
UG475
找到我们对应的芯片
xc7k325t
,如下位置有个链接可以直接跳转到一个
txt
格式的引脚文件
有所有
900
个
P
的描述
只看
I/O Type
为
HR
和
HP
的
Y20 IO_0_12 NA 12 NA NA HR NA
Y23 IO_L1P_T0_12 0 12 NA NA HR NA
Y24 IO_L1N_T0_12 0 12 NA NA HR NA
Y21 IO_L2P_T0_12 0 12 NA NA HR NA
AA21 IO_L2N_T0_12 0 12 NA NA HR NA
AB22 IO_L3P_T0_DQS_12 0 12 NA NA HR NA
AB23 IO_L3N_T0_DQS_12 0 12 NA NA HR NA
AA22 IO_L4P_T0_12 0 12 NA NA HR NA
AA23 IO_L4N_T0_12 0 12 NA NA HR NA
AC20 IO_L5P_T0_12 0 12 NA NA HR NA
AC21 IO_L5N_T0_12 0 12 NA NA HR NA
AA20 IO_L6P_T0_12 0 12 NA NA HR NA
AB20 IO_L6N_T0_VREF_12 0 12 NA NA HR NA
AB24 IO_L7P_T1_12 1 12 NA NA HR NA
AC25 IO_L7N_T1_12 1 12 NA NA HR NA
AC22 IO_L8P_T1_12 1 12 NA NA HR NA
AD22 IO_L8N_T1_12 1 12 NA NA HR NA
AC24 IO_L9P_T1_DQS_12 1 12 NA NA HR NA
AD24 IO_L9N_T1_DQS_12 1 12 NA NA HR NA
AD21 IO_L10P_T1_12 1 12 NA NA HR NA
AE21 IO_L10N_T1_12 1 12 NA NA HR NA
AE23 IO_L11P_T1_SRCC_12 1 12 NA NA HR NA
AF23 IO_L11N_T1_SRCC_12 1 12 NA NA HR NA
AD23 IO_L12P_T1_MRCC_12 1 12 NA NA HR NA
AE24 IO_L12N_T1_MRCC_12 1 12 NA NA HR NA
AF22 IO_L13P_T2_MRCC_12 2 12 NA NA HR NA
AG23 IO_L13N_T2_MRCC_12 2 12 NA NA HR NA
AG24 IO_L14P_T2_SRCC_12 2 12 NA NA HR NA
AH24 IO_L14N_T2_SRCC_12 2 12 NA NA HR NA
AJ24 IO_L15P_T2_DQS_12 2 12 NA NA HR NA
AK25 IO_L15N_T2_DQS_12 2 12 NA NA HR NA
AE25 IO_L16P_T2_12 2 12 NA NA HR NA
AF25 IO_L16N_T2_12 2 12 NA NA HR NA
AK23 IO_L17P_T2_12 2 12 NA NA HR NA
AK24 IO_L17N_T2_12 2 12 NA NA HR NA
AG25 IO_L18P_T2_12 2 12 NA NA HR NA
AH25 IO_L18N_T2_12 2 12 NA NA HR NA
AF20 IO_L19P_T3_12 3 12 NA NA HR NA
AF21 IO_L19N_T3_VREF_12 3 12 NA NA HR NA
AG22 IO_L20P_T3_12 3 12 NA NA HR NA
AH22 IO_L20N_T3_12 3 12 NA NA HR NA
AJ22 IO_L21P_T3_DQS_12 3 12 NA NA HR NA
AJ23 IO_L21N_T3_DQS_12 3 12 NA NA HR NA
AG20 IO_L22P_T3_12 3 12 NA NA HR NA
AH20 IO_L22N_T3_12 3 12 NA NA HR NA
AH21 IO_L23P_T3_12 3 12 NA NA HR NA
AJ21 IO_L23N_T3_12 3 12 NA NA HR NA
AK20 IO_L24P_T3_12 3 12 NA NA HR NA
AK21 IO_L24N_T3_12 3 12 NA NA HR NA
AE20 IO_25_12 NA 12 NA NA HR NA
Y25 IO_0_13 NA 13 NA NA HR NA
Y26 IO_L1P_T0_13 0 13 NA NA HR NA
AA26 IO_L1N_T0_13 0 13 NA NA HR NA
W27 IO_L2P_T0_13 0 13 NA NA HR NA
W28 IO_L2N_T0_13 0 13 NA NA HR NA
Y28 IO_L3P_T0_DQS_13 0 13 NA NA HR NA
AA28 IO_L3N_T0_DQS_13 0 13 NA NA HR NA
W29 IO_L4P_T0_13 0 13 NA NA HR NA
Y29 IO_L4N_T0_13 0 13 NA NA HR NA
AA27 IO_L5P_T0_13 0 13 NA NA HR NA
AB28 IO_L5N_T0_13 0 13 NA NA HR NA
AA25 IO_L6P_T0_13 0 13 NA NA HR NA
AB25 IO_L6N_T0_VREF_13 0 13 NA NA HR NA
AC29 IO_L7P_T1_13 1 13 NA NA HR NA
AC30 IO_L7N_T1_13 1 13 NA NA HR NA
Y30 IO_L8P_T1_13 1 13 NA NA HR NA
AA30 IO_L8N_T1_13 1 13 NA NA HR NA
AD29 IO_L9P_T1_DQS_13 1 13 NA NA HR NA
AE29 IO_L9N_T1_DQS_13 1 13 NA NA HR NA
AB29 IO_L10P_T1_13 1 13 NA NA HR NA
AB30 IO_L10N_T1_13 1 13 NA NA HR NA
AD27 IO_L11P_T1_SRCC_13 1 13 NA NA HR NA
AD28 IO_L11N_T1_SRCC_13 1 13 NA NA HR NA
AB27 IO_L12P_T1_MRCC_13 1 13 NA NA HR NA
AC27 IO_L12N_T1_MRCC_13 1 13 NA NA HR NA
AG29 IO_L13P_T2_MRCC_13 2 13 NA NA HR NA
AH29 IO_L13N_T2_MRCC_13 2 13 NA NA HR NA
AE28 IO_L14P_T2_SRCC_13 2 13 NA NA HR NA
AF28 IO_L14N_T2_SRCC_13 2 13 NA NA HR NA
AK29 IO_L15P_T2_DQS_13 2 13 NA NA HR NA
AK30 IO_L15N_T2_DQS_13 2 13 NA NA HR NA
AE30 IO_L16P_T2_13 2 13 NA NA HR NA
AF30 IO_L16N_T2_13 2 13 NA NA HR NA
AJ28 IO_L17P_T2_13 2 13 NA NA HR NA
AJ29 IO_L17N_T2_13 2 13 NA NA HR NA
AG30 IO_L18P_T2_13 2 13 NA NA HR NA
AH30 IO_L18N_T2_13 2 13 NA NA HR NA
AC26 IO_L19P_T3_13 3 13 NA NA HR NA
AD26 IO_L19N_T3_VREF_13 3 13 NA NA HR NA
AJ27 IO_L20P_T3_13 3 13 NA NA HR NA
AK28 IO_L20N_T3_13 3 13 NA NA HR NA
AG27 IO_L21P_T3_DQS_13 3 13 NA NA HR NA
AG28 IO_L21N_T3_DQS_13 3 13 NA NA HR NA
AH26 IO_L22P_T3_13 3 13 NA NA HR NA
AH27 IO_L22N_T3_13 3 13 NA NA HR NA
AF26 IO_L23P_T3_13 3 13 NA NA HR NA
AF27 IO_L23N_T3_13 3 13 NA NA HR NA
AJ26 IO_L24P_T3_13 3 13 NA NA HR NA
AK26 IO_L24N_T3_13 3 13 NA NA HR NA
AE26 IO_25_13 NA 13 NA NA HR NA
R19 IO_0_14 NA 14 NA NA HR NA
P24 IO_L1P_T0_D00_MOSI_14 0 14 NA NA HR NA
R25 IO_L1N_T0_D01_DIN_14 0 14 NA NA HR NA
R20 IO_L2P_T0_D02_14 0 14 NA NA HR NA
R21 IO_L2N_T0_D03_14 0 14 NA NA HR NA
R23 IO_L3P_T0_DQS_PUDC_B_14 0 14 NA NA HR NA
R24 IO_L3N_T0_DQS_EMCCLK_14 0 14 NA NA HR NA
T20 IO_L4P_T0_D04_14 0 14 NA NA HR NA
T21 IO_L4N_T0_D05_14 0 14 NA NA HR NA
T22 IO_L5P_T0_D06_14 0 14 NA NA HR NA
T23 IO_L5N_T0_D07_14 0 14 NA NA HR NA
U19 IO_L6P_T0_FCS_B_14 0 14 NA NA HR NA
U20 IO_L6N_T0_D08_VREF_14 0 14 NA NA HR NA
P29 IO_L7P_T1_D09_14 1 14 NA NA HR NA
R29 IO_L7N_T1_D10_14 1 14 NA NA HR NA
P27 IO_L8P_T1_D11_14 1 14 NA NA HR NA
P28 IO_L8N_T1_D12_14 1 14 NA NA HR NA
R30 IO_L9P_T1_DQS_14 1 14 NA NA HR NA
T30 IO_L9N_T1_DQS_D13_14 1 14 NA NA HR NA
P26 IO_L10P_T1_D14_14 1 14 NA NA HR NA
R26 IO_L10N_T1_D15_14 1 14 NA NA HR NA
R28 IO_L11P_T1_SRCC_14 1 14 NA NA HR NA
T28 IO_L11N_T1_SRCC_14 1 14 NA NA HR NA
T26 IO_L12P_T1_MRCC_14 1 14 NA NA HR NA
T27 IO_L12N_T1_MRCC_14 1 14 NA NA HR NA
U27 IO_L13P_T2_MRCC_14 2 14 NA NA HR NA
U28 IO_L13N_T2_MRCC_14 2 14 NA NA HR NA
T25 IO_L14P_T2_SRCC_14 2 14 NA NA HR NA
U25 IO_L14N_T2_SRCC_14 2 14 NA NA HR NA
U29 IO_L15P_T2_DQS_RDWR_B_14 2 14 NA NA HR NA
U30 IO_L15N_T2_DQS_DOUT_CSO_B_14 2 14 NA NA HR NA
V26 IO_L16P_T2_CSI_B_14 2 14 NA NA HR NA
V27 IO_L16N_T2_A15_D31_14 2 14 NA NA HR NA
V29 IO_L17P_T2_A14_D30_14 2 14 NA NA HR NA
V30 IO_L17N_T2_A13_D29_14 2 14 NA NA HR NA
V25 IO_L18P_T2_A12_D28_14 2 14 NA NA HR NA
W26 IO_L18N_T2_A11_D27_14 2 14 NA NA HR NA
V19 IO_L19P_T3_A10_D26_14 3 14 NA NA HR NA
V20 IO_L19N_T3_A09_D25_VREF_14 3 14 NA NA HR NA
W23 IO_L20P_T3_A08_D24_14 3 14 NA NA HR NA
W24 IO_L20N_T3_A07_D23_14 3 14 NA NA HR NA
U22 IO_L21P_T3_DQS_14 3 14 NA NA HR NA
U23 IO_L21N_T3_DQS_A06_D22_14 3 14 NA NA HR NA
V21 IO_L22P_T3_A05_D21_14 3 14 NA NA HR NA
V22 IO_L22N_T3_A04_D20_14 3 14 NA NA HR NA
U24 IO_L23P_T3_A03_D19_14 3 14 NA NA HR NA
V24 IO_L23N_T3_A02_D18_14 3 14 NA NA HR NA
W21 IO_L24P_T3_A01_D17_14 3 14 NA NA HR NA
W22 IO_L24N_T3_A00_D16_14 3 14 NA NA HR NA
W19 IO_25_14 NA 14 NA NA HR NA
M19 IO_0_15 NA 15 NA NA HR NA
J23 IO_L1P_T0_AD0P_15 0 15 NA NA HR NA
J24 IO_L1N_T0_AD0N_15 0 15 NA NA HR NA
L22 IO_L2P_T0_AD8P_15 0 15 NA NA HR NA
L23 IO_L2N_T0_AD8N_15 0 15 NA NA HR NA
K23 IO_L3P_T0_DQS_AD1P_15 0 15 NA NA HR NA
K24 IO_L3N_T0_DQS_AD1N_15 0 15 NA NA HR NA
L21 IO_L4P_T0_AD9P_15 0 15 NA NA HR NA
K21 IO_L4N_T0_AD9N_15 0 15 NA NA HR NA
J21 IO_L5P_T0_AD2P_15 0 15 NA NA HR NA
J22 IO_L5N_T0_AD2N_15 0 15 NA NA HR NA
M20 IO_L6P_T0_15 0 15 NA NA HR NA
L20 IO_L6N_T0_VREF_15 0 15 NA NA HR NA
J29 IO_L7P_T1_AD10P_15 1 15 NA NA HR NA
H29 IO_L7N_T1_AD10N_15 1 15 NA NA HR NA
J27 IO_L8P_T1_AD3P_15 1 15 NA NA HR NA
J28 IO_L8N_T1_AD3N_15 1 15 NA NA HR NA
L30 IO_L9P_T1_DQS_AD11P_15 1 15 NA NA HR NA
K30 IO_L9N_T1_DQS_AD11N_15 1 15 NA NA HR NA
K26 IO_L10P_T1_AD4P_15 1 15 NA NA HR NA
J26 IO_L10N_T1_AD4N_15 1 15 NA NA HR NA
L26 IO_L11P_T1_SRCC_AD12P_15 1 15 NA NA HR NA
L27 IO_L11N_T1_SRCC_AD12N_15 1 15 NA NA HR NA
L25 IO_L12P_T1_MRCC_AD5P_15 1 15 NA NA HR NA
K25 IO_L12N_T1_MRCC_AD5N_15 1 15 NA NA HR NA
K28 IO_L13P_T2_MRCC_15 2 15 NA NA HR NA
K29 IO_L13N_T2_MRCC_15 2 15 NA NA HR NA
M28 IO_L14P_T2_SRCC_15 2 15 NA NA HR NA
L28 IO_L14N_T2_SRCC_15 2 15 NA NA HR NA
M29 IO_L15P_T2_DQS_15 2 15 NA NA HR NA
M30 IO_L15N_T2_DQS_ADV_B_15 2 15 NA NA HR NA
N27 IO_L16P_T2_A28_15 2 15 NA NA HR NA
M27 IO_L16N_T2_A27_15 2 15 NA NA HR NA
N29 IO_L17P_T2_A26_15 2 15 NA NA HR NA
N30 IO_L17N_T2_A25_15 2 15 NA NA HR NA
N25 IO_L18P_T2_A24_15 2 15 NA NA HR NA
N26 IO_L18N_T2_A23_15 2 15 NA NA HR NA
N19 IO_L19P_T3_A22_15 3 15 NA NA HR NA
N20 IO_L19N_T3_A21_VREF_15 3 15 NA NA HR NA
N21 IO_L20P_T3_A20_15 3 15 NA NA HR NA
N22 IO_L20N_T3_A19_15 3 15 NA NA HR NA
P23 IO_L21P_T3_DQS_15 3 15 NA NA HR NA
N24 IO_L21N_T3_DQS_A18_15 3 15 NA NA HR NA
P21 IO_L22P_T3_A17_15 3 15 NA NA HR NA
P22 IO_L22N_T3_A16_15 3 15 NA NA HR NA
M24 IO_L23P_T3_FOE_B_15 3 15 NA NA HR NA
M25 IO_L23N_T3_FWE_B_15 3 15 NA NA HR NA
M22 IO_L24P_T3_RS1_15 3 15 NA NA HR NA
M23 IO_L24N_T3_RS0_15 3 15 NA NA HR NA
P19 IO_25_15 NA 15 NA NA HR NA
F23 IO_0_16 NA 16 NA NA HR NA
B23 IO_L1P_T0_16 0 16 NA NA HR NA
A23 IO_L1N_T0_16 0 16 NA NA HR NA
E23 IO_L2P_T0_16 0 16 NA NA HR NA
D23 IO_L2N_T0_16 0 16 NA NA HR NA
F25 IO_L3P_T0_DQS_16 0 16 NA NA HR NA
E25 IO_L3N_T0_DQS_16 0 16 NA NA HR NA
E24 IO_L4P_T0_16 0 16 NA NA HR NA
D24 IO_L4N_T0_16 0 16 NA NA HR NA
F26 IO_L5P_T0_16 0 16 NA NA HR NA
E26 IO_L5N_T0_16 0 16 NA NA HR NA
G23 IO_L6P_T0_16 0 16 NA NA HR NA
G24 IO_L6N_T0_VREF_16 0 16 NA NA HR NA
B27 IO_L7P_T1_16 1 16 NA NA HR NA
A27 IO_L7N_T1_16 1 16 NA NA HR NA
C24 IO_L8P_T1_16 1 16 NA NA HR NA
B24 IO_L8N_T1_16 1 16 NA NA HR NA
B28 IO_L9P_T1_DQS_16 1 16 NA NA HR NA
A28 IO_L9N_T1_DQS_16 1 16 NA NA HR NA
A25 IO_L10P_T1_16 1 16 NA NA HR NA
A26 IO_L10N_T1_16 1 16 NA NA HR NA
D26 IO_L11P_T1_SRCC_16 1 16 NA NA HR NA
C26 IO_L11N_T1_SRCC_16 1 16 NA NA HR NA
C25 IO_L12P_T1_MRCC_16 1 16 NA NA HR NA
B25 IO_L12N_T1_MRCC_16 1 16 NA NA HR NA
D27 IO_L13P_T2_MRCC_16 2 16 NA NA HR NA
C27 IO_L13N_T2_MRCC_16 2 16 NA NA HR NA
E28 IO_L14P_T2_SRCC_16 2 16 NA NA HR NA
D28 IO_L14N_T2_SRCC_16 2 16 NA NA HR NA
C29 IO_L15P_T2_DQS_16 2 16 NA NA HR NA
B29 IO_L15N_T2_DQS_16 2 16 NA NA HR NA
D29 IO_L16P_T2_16 2 16 NA NA HR NA
C30 IO_L16N_T2_16 2 16 NA NA HR NA
B30 IO_L17P_T2_16 2 16 NA NA HR NA
A30 IO_L17N_T2_16 2 16 NA NA HR NA
E29 IO_L18P_T2_16 2 16 NA NA HR NA
E30 IO_L18N_T2_16 2 16 NA NA HR NA
H24 IO_L19P_T3_16 3 16 NA NA HR NA
H25 IO_L19N_T3_VREF_16 3 16 NA NA HR NA
G28 IO_L20P_T3_16 3 16 NA NA HR NA
F28 IO_L20N_T3_16 3 16 NA NA HR NA
G27 IO_L21P_T3_DQS_16 3 16 NA NA HR NA
F27 IO_L21N_T3_DQS_16 3 16 NA NA HR NA
G29 IO_L22P_T3_16 3 16 NA NA HR NA
F30 IO_L22N_T3_16 3 16 NA NA HR NA
H26 IO_L23P_T3_16 3 16 NA NA HR NA
H27 IO_L23N_T3_16 3 16 NA NA HR NA
H30 IO_L24P_T3_16 3 16 NA NA HR NA
G30 IO_L24N_T3_16 3 16 NA NA HR NA
G25 IO_25_16 NA 16 NA NA HR NA
G19 IO_0_17 NA 17 NA NA HR NA
K18 IO_L1P_T0_17 0 17 NA NA HR NA
J18 IO_L1N_T0_17 0 17 NA NA HR NA
H20 IO_L2P_T0_17 0 17 NA NA HR NA
G20 IO_L2N_T0_17 0 17 NA NA HR NA
J17 IO_L3P_T0_DQS_17 0 17 NA NA HR NA
H17 IO_L3N_T0_DQS_17 0 17 NA NA HR NA
J19 IO_L4P_T0_17 0 17 NA NA HR NA
H19 IO_L4N_T0_17 0 17 NA NA HR NA
L17 IO_L5P_T0_17 0 17 NA NA HR NA
L18 IO_L5N_T0_17 0 17 NA NA HR NA
K19 IO_L6P_T0_17 0 17 NA NA HR NA
K20 IO_L6N_T0_VREF_17 0 17 NA NA HR NA
H21 IO_L7P_T1_17 1 17 NA NA HR NA
H22 IO_L7N_T1_17 1 17 NA NA HR NA
D21 IO_L8P_T1_17 1 17 NA NA HR NA
C21 IO_L8N_T1_17 1 17 NA NA HR NA
G22 IO_L9P_T1_DQS_17 1 17 NA NA HR NA
F22 IO_L9N_T1_DQS_17 1 17 NA NA HR NA
D22 IO_L10P_T1_17 1 17 NA NA HR NA
C22 IO_L10N_T1_17 1 17 NA NA HR NA
F21 IO_L11P_T1_SRCC_17 1 17 NA NA HR NA
E21 IO_L11N_T1_SRCC_17 1 17 NA NA HR NA
F20 IO_L12P_T1_MRCC_17 1 17 NA NA HR NA
E20 IO_L12N_T1_MRCC_17 1 17 NA NA HR NA
D17 IO_L13P_T2_MRCC_17 2 17 NA NA HR NA
D18 IO_L13N_T2_MRCC_17 2 17 NA NA HR NA
E19 IO_L14P_T2_SRCC_17 2 17 NA NA HR NA
D19 IO_L14N_T2_SRCC_17 2 17 NA NA HR NA
D16 IO_L15P_T2_DQS_17 2 17 NA NA HR NA
C16 IO_L15N_T2_DQS_17 2 17 NA NA HR NA
G18 IO_L16P_T2_17 2 17 NA NA HR NA
F18 IO_L16N_T2_17 2 17 NA NA HR NA
C17 IO_L17P_T2_17 2 17 NA NA HR NA
B17 IO_L17N_T2_17 2 17 NA NA HR NA
G17 IO_L18P_T2_17 2 17 NA NA HR NA
F17 IO_L18N_T2_17 2 17 NA NA HR NA
C20 IO_L19P_T3_17 3 17 NA NA HR NA
B20 IO_L19N_T3_VREF_17 3 17 NA NA HR NA
A16 IO_L20P_T3_17 3 17 NA NA HR NA
A17 IO_L20N_T3_17 3 17 NA NA HR NA
A20 IO_L21P_T3_DQS_17 3 17 NA NA HR NA
A21 IO_L21N_T3_DQS_17 3 17 NA NA HR NA
B18 IO_L22P_T3_17 3 17 NA NA HR NA
A18 IO_L22N_T3_17 3 17 NA NA HR NA
B22 IO_L23P_T3_17 3 17 NA NA HR NA
A22 IO_L23N_T3_17 3 17 NA NA HR NA
C19 IO_L24P_T3_17 3 17 NA NA HR NA
B19 IO_L24N_T3_17 3 17 NA NA HR NA
E18 IO_25_17 NA 17 NA NA HR NA
G12 IO_0_18 NA 18 NA NA HR NA
L16 IO_L1P_T0_18 0 18 NA NA HR NA
K16 IO_L1N_T0_18 0 18 NA NA HR NA
L15 IO_L2P_T0_18 0 18 NA NA HR NA
K15 IO_L2N_T0_18 0 18 NA NA HR NA
L12 IO_L3P_T0_DQS_18 0 18 NA NA HR NA
L13 IO_L3N_T0_DQS_18 0 18 NA NA HR NA
K13 IO_L4P_T0_18 0 18 NA NA HR NA
J13 IO_L4N_T0_18 0 18 NA NA HR NA
K14 IO_L5P_T0_18 0 18 NA NA HR NA
J14 IO_L5N_T0_18 0 18 NA NA HR NA
L11 IO_L6P_T0_18 0 18 NA NA HR NA
K11 IO_L6N_T0_VREF_18 0 18 NA NA HR NA
H15 IO_L7P_T1_18 1 18 NA NA HR NA
G15 IO_L7N_T1_18 1 18 NA NA HR NA
J11 IO_L8P_T1_18 1 18 NA NA HR NA
J12 IO_L8N_T1_18 1 18 NA NA HR NA
J16 IO_L9P_T1_DQS_18 1 18 NA NA HR NA
H16 IO_L9N_T1_DQS_18 1 18 NA NA HR NA
H11 IO_L10P_T1_18 1 18 NA NA HR NA
H12 IO_L10N_T1_18 1 18 NA NA HR NA
H14 IO_L11P_T1_SRCC_18 1 18 NA NA HR NA
G14 IO_L11N_T1_SRCC_18 1 18 NA NA HR NA
G13 IO_L12P_T1_MRCC_18 1 18 NA NA HR NA
F13 IO_L12N_T1_MRCC_18 1 18 NA NA HR NA
D12 IO_L13P_T2_MRCC_18 2 18 NA NA HR NA
D13 IO_L13N_T2_MRCC_18 2 18 NA NA HR NA
F12 IO_L14P_T2_SRCC_18 2 18 NA NA HR NA
E13 IO_L14N_T2_SRCC_18 2 18 NA NA HR NA
C12 IO_L15P_T2_DQS_18 2 18 NA NA HR NA
B12 IO_L15N_T2_DQS_18 2 18 NA NA HR NA
F11 IO_L16P_T2_18 2 18 NA NA HR NA
E11 IO_L16N_T2_18 2 18 NA NA HR NA
A11 IO_L17P_T2_18 2 18 NA NA HR NA
A12 IO_L17N_T2_18 2 18 NA NA HR NA
D11 IO_L18P_T2_18 2 18 NA NA HR NA
C11 IO_L18N_T2_18 2 18 NA NA HR NA
F15 IO_L19P_T3_18 3 18 NA NA HR NA
E16 IO_L19N_T3_VREF_18 3 18 NA NA HR NA
E14 IO_L20P_T3_18 3 18 NA NA HR NA
E15 IO_L20N_T3_18 3 18 NA NA HR NA
D14 IO_L21P_T3_DQS_18 3 18 NA NA HR NA
C14 IO_L21N_T3_DQS_18 3 18 NA NA HR NA
B13 IO_L22P_T3_18 3 18 NA NA HR NA
A13 IO_L22N_T3_18 3 18 NA NA HR NA
C15 IO_L23P_T3_18 3 18 NA NA HR NA
B15 IO_L23N_T3_18 3 18 NA NA HR NA
B14 IO_L24P_T3_18 3 18 NA NA HR NA
A15 IO_L24N_T3_18 3 18 NA NA HR NA
F16 IO_25_18 NA 18 NA NA HR NA
Y14 IO_0_VRN_32 NA 32 0 NA HP NA
AK16 IO_L1P_T0_32 0 32 0 NA HP NA
AK15 IO_L1N_T0_32 0 32 0 NA HP NA
AG15 IO_L2P_T0_32 0 32 0 NA HP NA
AH15 IO_L2N_T0_32 0 32 0 NA HP NA
AH16 IO_L3P_T0_DQS_32 0 32 0 NA HP NA
AJ16 IO_L3N_T0_DQS_32 0 32 0 NA HP NA
AF15 IO_L4P_T0_32 0 32 0 NA HP NA
AG14 IO_L4N_T0_32 0 32 0 NA HP NA
AH17 IO_L5P_T0_32 0 32 0 NA HP NA
AJ17 IO_L5N_T0_32 0 32 0 NA HP NA
AE16 IO_L6P_T0_32 0 32 0 NA HP NA
AF16 IO_L6N_T0_VREF_32 0 32 0 NA HP NA
AJ19 IO_L7P_T1_32 1 32 0 NA HP NA
AK19 IO_L7N_T1_32 1 32 0 NA HP NA
AG19 IO_L8P_T1_32 1 32 0 NA HP NA
AH19 IO_L8N_T1_32 1 32 0 NA HP NA
AJ18 IO_L9P_T1_DQS_32 1 32 0 NA HP NA
AK18 IO_L9N_T1_DQS_32 1 32 0 NA HP NA
AD19 IO_L10P_T1_32 1 32 0 NA HP NA
AE19 IO_L10N_T1_32 1 32 0 NA HP NA
AF18 IO_L11P_T1_SRCC_32 1 32 0 NA HP NA
AG18 IO_L11N_T1_SRCC_32 1 32 0 NA HP NA
AF17 IO_L12P_T1_MRCC_32 1 32 0 NA HP NA
AG17 IO_L12N_T1_MRCC_32 1 32 0 NA HP NA
AD18 IO_L13P_T2_MRCC_32 2 32 0 NA HP NA
AE18 IO_L13N_T2_MRCC_32 2 32 0 NA HP NA
AD17 IO_L14P_T2_SRCC_32 2 32 0 NA HP NA
AD16 IO_L14N_T2_SRCC_32 2 32 0 NA HP NA
Y19 IO_L15P_T2_DQS_32 2 32 0 NA HP NA
Y18 IO_L15N_T2_DQS_32 2 32 0 NA HP NA
AA18 IO_L16P_T2_32 2 32 0 NA HP NA
AB18 IO_L16N_T2_32 2 32 0 NA HP NA
AB19 IO_L17P_T2_32 2 32 0 NA HP NA
AC19 IO_L17N_T2_32 2 32 0 NA HP NA
AB17 IO_L18P_T2_32 2 32 0 NA HP NA
AC17 IO_L18N_T2_32 2 32 0 NA HP NA
AE15 IO_L19P_T3_32 3 32 0 NA HP NA
AE14 IO_L19N_T3_VREF_32 3 32 0 NA HP NA
AA15 IO_L20P_T3_32 3 32 0 NA HP NA
AB15 IO_L20N_T3_32 3 32 0 NA HP NA
AC16 IO_L21P_T3_DQS_32 3 32 0 NA HP NA
AC15 IO_L21N_T3_DQS_32 3 32 0 NA HP NA
AC14 IO_L22P_T3_32 3 32 0 NA HP NA
AD14 IO_L22N_T3_32 3 32 0 NA HP NA
AA17 IO_L23P_T3_32 3 32 0 NA HP NA
AA16 IO_L23N_T3_32 3 32 0 NA HP NA
Y16 IO_L24P_T3_32 3 32 0 NA HP NA
Y15 IO_L24N_T3_32 3 32 0 NA HP NA
AB14 IO_25_VRP_32 NA 32 0 NA HP NA
Y13 IO_0_VRN_33 NA 33 0 NA HP NA
AA12 IO_L1P_T0_33 0 33 0 NA HP NA
AB12 IO_L1N_T0_33 0 33 0 NA HP NA
AA8 IO_L2P_T0_33 0 33 0 NA HP NA
AB8 IO_L2N_T0_33 0 33 0 NA HP NA
AB9 IO_L3P_T0_DQS_33 0 33 0 NA HP NA
AC9 IO_L3N_T0_DQS_33 0 33 0 NA HP NA
Y11 IO_L4P_T0_33 0 33 0 NA HP NA
Y10 IO_L4N_T0_33 0 33 0 NA HP NA
AA11 IO_L5P_T0_33 0 33 0 NA HP NA
AA10 IO_L5N_T0_33 0 33 0 NA HP NA
AA13 IO_L6P_T0_33 0 33 0 NA HP NA
AB13 IO_L6N_T0_VREF_33 0 33 0 NA HP NA
AB10 IO_L7P_T1_33 1 33 0 NA HP NA
AC10 IO_L7N_T1_33 1 33 0 NA HP NA
AD8 IO_L8P_T1_33 1 33 0 NA HP NA
AE8 IO_L8N_T1_33 1 33 0 NA HP NA
AC12 IO_L9P_T1_DQS_33 1 33 0 NA HP NA
AC11 IO_L9N_T1_DQS_33 1 33 0 NA HP NA
AD9 IO_L10P_T1_33 1 33 0 NA HP NA
AE9 IO_L10N_T1_33 1 33 0 NA HP NA
AE11 IO_L11P_T1_SRCC_33 1 33 0 NA HP NA
AF11 IO_L11N_T1_SRCC_33 1 33 0 NA HP NA
AD12 IO_L12P_T1_MRCC_33 1 33 0 NA HP NA
AD11 IO_L12N_T1_MRCC_33 1 33 0 NA HP NA
AG10 IO_L13P_T2_MRCC_33 2 33 0 NA HP NA
AH10 IO_L13N_T2_MRCC_33 2 33 0 NA HP NA
AE10 IO_L14P_T2_SRCC_33 2 33 0 NA HP NA
AF10 IO_L14N_T2_SRCC_33 2 33 0 NA HP NA
AJ9 IO_L15P_T2_DQS_33 2 33 0 NA HP NA
AK9 IO_L15N_T2_DQS_33 2 33 0 NA HP NA
AG9 IO_L16P_T2_33 2 33 0 NA HP NA
AH9 IO_L16N_T2_33 2 33 0 NA HP NA
AK11 IO_L17P_T2_33 2 33 0 NA HP NA
AK10 IO_L17N_T2_33 2 33 0 NA HP NA
AH11 IO_L18P_T2_33 2 33 0 NA HP NA
AJ11 IO_L18N_T2_33 2 33 0 NA HP NA
AE13 IO_L19P_T3_33 3 33 0 NA HP NA
AF13 IO_L19N_T3_VREF_33 3 33 0 NA HP NA
AK14 IO_L20P_T3_33 3 33 0 NA HP NA
AK13 IO_L20N_T3_33 3 33 0 NA HP NA
AH14 IO_L21P_T3_DQS_33 3 33 0 NA HP NA
AJ14 IO_L21N_T3_DQS_33 3 33 0 NA HP NA
AJ13 IO_L22P_T3_33 3 33 0 NA HP NA
AJ12 IO_L22N_T3_33 3 33 0 NA HP NA
AF12 IO_L23P_T3_33 3 33 0 NA HP NA
AG12 IO_L23N_T3_33 3 33 0 NA HP NA
AG13 IO_L24P_T3_33 3 33 0 NA HP NA
AH12 IO_L24N_T3_33 3 33 0 NA HP NA
AD13 IO_25_VRP_33 NA 33 0 NA HP NA
AC6 IO_0_VRN_34 NA 34 0 NA HP NA
AD4 IO_L1P_T0_34 0 34 0 NA HP NA
AD3 IO_L1N_T0_34 0 34 0 NA HP NA
AC2 IO_L2P_T0_34 0 34 0 NA HP NA
AC1 IO_L2N_T0_34 0 34 0 NA HP NA
AD2 IO_L3P_T0_DQS_34 0 34 0 NA HP NA
AD1 IO_L3N_T0_DQS_34 0 34 0 NA HP NA
AC5 IO_L4P_T0_34 0 34 0 NA HP NA
AC4 IO_L4N_T0_34 0 34 0 NA HP NA
AD6 IO_L5P_T0_34 0 34 0 NA HP NA
AE6 IO_L5N_T0_34 0 34 0 NA HP NA
AC7 IO_L6P_T0_34 0 34 0 NA HP NA
AD7 IO_L6N_T0_VREF_34 0 34 0 NA HP NA
AF3 IO_L7P_T1_34 1 34 0 NA HP NA
AF2 IO_L7N_T1_34 1 34 0 NA HP NA
AE1 IO_L8P_T1_34 1 34 0 NA HP NA
AF1 IO_L8N_T1_34 1 34 0 NA HP NA
AG4 IO_L9P_T1_DQS_34 1 34 0 NA HP NA
AG3 IO_L9N_T1_DQS_34 1 34 0 NA HP NA
AE4 IO_L10P_T1_34 1 34 0 NA HP NA
AE3 IO_L10N_T1_34 1 34 0 NA HP NA
AE5 IO_L11P_T1_SRCC_34 1 34 0 NA HP NA
AF5 IO_L11N_T1_SRCC_34 1 34 0 NA HP NA
AF6 IO_L12P_T1_MRCC_34 1 34 0 NA HP NA
AG5 IO_L12N_T1_MRCC_34 1 34 0 NA HP NA
AH4 IO_L13P_T2_MRCC_34 2 34 0 NA HP NA
AJ4 IO_L13N_T2_MRCC_34 2 34 0 NA HP NA
AH6 IO_L14P_T2_SRCC_34 2 34 0 NA HP NA
AH5 IO_L14N_T2_SRCC_34 2 34 0 NA HP NA
AG2 IO_L15P_T2_DQS_34 2 34 0 NA HP NA
AH1 IO_L15N_T2_DQS_34 2 34 0 NA HP NA
AH2 IO_L16P_T2_34 2 34 0 NA HP NA
AJ2 IO_L16N_T2_34 2 34 0 NA HP NA
AJ1 IO_L17P_T2_34 2 34 0 NA HP NA
AK1 IO_L17N_T2_34 2 34 0 NA HP NA
AJ3 IO_L18P_T2_34 2 34 0 NA HP NA
AK3 IO_L18N_T2_34 2 34 0 NA HP NA
AF8 IO_L19P_T3_34 3 34 0 NA HP NA
AG8 IO_L19N_T3_VREF_34 3 34 0 NA HP NA
AF7 IO_L20P_T3_34 3 34 0 NA HP NA
AG7 IO_L20N_T3_34 3 34 0 NA HP NA
AH7 IO_L21P_T3_DQS_34 3 34 0 NA HP NA
AJ7 IO_L21N_T3_DQS_34 3 34 0 NA HP NA
AJ6 IO_L22P_T3_34 3 34 0 NA HP NA
AK6 IO_L22N_T3_34 3 34 0 NA HP NA
AJ8 IO_L23P_T3_34 3 34 0 NA HP NA
AK8 IO_L23N_T3_34 3 34 0 NA HP NA
AK5 IO_L24P_T3_34 3 34 0 NA HP NA
AK4 IO_L24N_T3_34 3 34 0 NA HP NA
AB7 IO_25_VRP_34 NA 34 0 NA HP NA
UG471
有
I/O Type
的介绍
现在开始我们就可以编写测试程序了,工程创建过程参考前面的文章分享的
LED
工程。
如果每次操作一个
IO
然后确认一个
IO
那么效率太低,我们可以次操作多个
IO
,即一个
IO
间隔
1mS
反转一次,一个
IO
间隔
2ms
翻转一次,
.....
那么示波器看到对应的波形就知道是哪个引脚,一次可以操作确认
n
个
IO
。
另外还有个思路就是,比如这里确认的
G22
,
H22
,
PAD
上相邻的一般引出到插座也是相邻的。
以下是一次测试两个引脚的例子,实际可以一次测试更多个引脚。
以下代码
out[1:0] <= timer[17:16];
第一个引脚
2^16
次个时钟翻转一次,
50M
时钟对应
64*1024/50=1310uS
翻转一次,第二个引脚则是
2
倍时间翻转一次
2620uS
。
源文件如下
module led
(
input sys_clk, //system clock 50MHZ on board
output reg[1:0] out //out
);
wire sys_clk;
reg [31:0] timer;
//==============================
//timer count
//==============================
always @(posedge sys_clk)
begin
timer <= timer + 1'b1; //timer counter = timer counter + 1
end
always @(posedge sys_clk)
begin
out[1:0] <= timer[17:16];
end
endmodule
约束文件如下
set_property PACKAGE_PIN G22
set_property PACKAGE_PIN H22
set_property PACKAGE_PIN D27
set_property IOSTANDARD LVCMOS18
set_property IOSTANDARD LVCMOS18
set_property IOSTANDARD LVCMOS18
create_clock -period 20.000 -name sys_clk -waveform {0.000 10.000} -add
示波器测到
J1
的
4
和
6号Pin
波形如下,可知对应的正是
G22
和
H22
,分别是
1320uS
和
2640uS
翻转一次。
SPI FLASH
引脚
板载了一个
SPI FLASH
作为启动,
UG470
中可以看到配置模式及其引脚的介绍
可以看到
SPI
具体对应的是哪一个引脚
五.
总结
以上总结了淘到一块板子,如何去玩转的一般过程,一般就是先确认供电,
JTAG
仿真器连接,然后扫描引脚
IO
对应关系,最后就是根据所需自行设计扩展板,玩起来了。
以上
IO
扫描,一行代码就可以搞定,用计数器的
bit0
是
1
个单位翻转一次,
bitn
就是
2^n
次翻转一次,所以计数器的
bitn
直接输出到
outn
即可。
下一篇我们就分享,画一块简单的扩展版,用于我们移植
RISC-V
进行串口,仿真器链接。