AGRV2K 应用指南
l AGRV2KL100 Pin-Out
Finger No.Pin nameFinger No.Pin nameFinger No.Pin nameFinger No.Pin name
1IO/PIN_126IO/PIN_2651IO/PIN_5176TCK
2IO/PIN_227GND52IO/PIN_5277IO/PIN_77
3IO/PIN_328VDD3353IO/PIN_5378IO/PIN_78
4IO/PIN_429IO/PIN_2954IO/PIN_5479IO/PIN_79
5IO/PIN_530IO/PIN_3055IO/PIN_5580IO/PIN_80
6VDD3331IO/PIN_3156IO/PIN_5681IO/PIN_81
7IO_GB/PIN_732IO/PIN_3257IO/PIN_5782IO/PIN_82
8NC33IO/PIN_3358IO/PIN_5883IO/PIN_83
9NC34IO/PIN_3459IO/PIN_5984IO/PIN_84
10GND35IO/PIN_3560IO/PIN_6085IO/PIN_85
11VDD3336IO/PIN_3661IO/PIN_6186IO/PIN_86
12NC37IO/PIN_3762IO/PIN_6287IO/PIN_87
13NC38IO/PIN_3863IO/PIN_6388IO/PIN_88
14NRST39IO/PIN_3964IO/PIN_6489IO/PIN_89
15IO_GB/PIN_1540IO/PIN_4065IO/PIN_6590IO/PIN_90
16IO/PIN_1641IO/PIN_4166IO/PIN_6691IO/PIN_91
17IO/PIN_1742IO/PIN_4267IO/PIN_6792IO/PIN_92
18IO/PIN_1843IO/PIN_4368IO/PIN_6893IO/PIN_93
19NC44IO/PIN_4469IO/PIN_6994GND
20GND45IO/PIN_4570IO/PIN_7095IO/PIN_95
21VDDA3346IO/PIN_4671IO/PIN_7196IO/PIN_96
22VDDA3347IO/PIN_4772TMS97IO/PIN_97
23IO/PIN_2348IO/PIN_4873NC98IO/PIN_98
24IO/PIN_2449NC74GND99GND
25IO/PIN_2550VDD3375VDD33100VDD33
可用 IO 总数:76 个。
l AGRV2KL64 Pin-Out
Finger No.Pin nameFinger No.Pin nameFinger No.Pin nameFinger No.Pin name
1VDD3317IO/PIN_1733IO/PIN_3349TCK
2IO_GB/PIN_218GND34IO/PIN_3450IO/PIN_50
3NC19VDD3335IO/PIN_3551IO/PIN_51
4NC20IO/PIN_2036IO/PIN_3652IO/PIN_52
5NC21IO/PIN_2137IO/PIN_3753IO/PIN_53
6NC22IO/PIN_2238IO/PIN_3854IO/PIN_54
7NRST23IO/PIN_2339IO/PIN_3955IO/PIN_55
8IO_GB/PIN_824IO/PIN_2440IO/PIN_4056IO/PIN_56
9IO/PIN_925IO/PIN_2541IO/PIN_4157IO/PIN_57
10IO/PIN_1026IO/PIN_2642IO/PIN_4258IO/PIN_58
11IO/PIN_1127IO/PIN_2743IO/PIN_4359IO/PIN_59
12GND28IO/PIN_2844IO/PIN_4460GND
13VDDA3329IO/PIN_2945IO/PIN_4561IO/PIN_61
14IO/PIN_1430IO/PIN_3046TMS62IO/PIN_62
15IO/PIN_1531IO/PIN_3147IO/PIN_4763GND
16IO/PIN_1632VDD3348VDD3364VDD33
可用 IO 总数:47 个。
l AGRV2KL48 Pin-Out
Finger NoPin nameFinger NoPin name
1VDD3325IO/PIN_25
2IO_GB/PIN_226IO/PIN_26
3NC27IO/PIN_27
4NC28IO/PIN_28
5NC29IO/PIN_29
6NC30IO/PIN_30
7NRST31IO/PIN_31
8GND32IO/PIN_32
9VDD3333IO/PIN_33
10IO/PIN_1034TMS
11IO/PIN_1135IO/PIN_35
12IO/PIN_1236VDD33
13IO/PIN_1337TCK
14IO/PIN_1438IO/PIN_38
15IO/PIN_1539IO/PIN_39
16IO/PIN_1640IO/PIN_40
17IO/PIN_1741IO/PIN_41
18IO/PIN_1842IO/PIN_42
19IO/PIN_1943IO/PIN_43
20IO/PIN_2044GND
21IO/PIN_2145IO/PIN_45
22IO/PIN_2246IO/PIN_46
23GND47GND
24VDD3348VDD33
可用 IO 总数:32 个。
l AGRV2KQ32 Pin-Out
Finger NoPin nameFinger NoPin name
1IO_GB/PIN_117GND
2IO/PIN_218IO/PIN_18
3IO/PIN_319IO/PIN_19
4NRST20IO/PIN_20
5IO/PIN_521IO/PIN_21
6VDDA3322IO/PIN_22
7IO/PIN_723IO/PIN_23
8IO/PIN_824JTMS
9IO/PIN_925JTCK
10IO/PIN_1026IO/PIN_26
11IO/PIN_1127IO/PIN_27
12IO/PIN_1228IO/PIN_28
13IO/PIN_1329IO/PIN_29
14IO/PIN_1430GND
15IO/PIN_1531IO/PIN_31
16VDD3332VDD33
可用 IO 总数:24 个。
l AGRV2K 封装图
AGRV2KL100 :LQFP-100 封装

AGRV2KL64 :LQFP-64 封装

AGRV2KL48 :LQFP-48 封装

AGRV2KQ32 :QFN-32 封装

l 电源与配置电路
AGRV2K 需 3.3V Vcc 供电,通过 Compact-JTAG 两线(TCK/TMS)方式进行烧写,使用 J-LINK下载器或 AGM Blaster 专用下载器(CMSIS-DAP 模式),请参考下图:

NC 为悬空脚,请勿接任何电源或信号。
NRST 为软复位管脚,低有效,可用于外部控制复位。由于 NRST 有内部上拉,如不需要外部控制,也可以作为 NC 悬空,上电后会自动复位。
AGRV2K 的 3.3V 建议单独一路供电,需采用磁珠与 PCB 上其它 3.3V 供电进行隔离,以确保器件的稳定供电。
l 软件开发流程
1.)软件安装:
解压缩或执行安装文件,安装 Supra 软件。安装目录不能有中文或空格。执行文件为 bin 目录中的 Supra.exe。
运行 Supra,选择菜单 File -> Import license,选择 license 目录中的 licence.txt 文件并导入。
2.)新建项目:
新建一工程目录。打开 Supra ,在该目录中新建 project,设置项目目录和名称。
进入 Tools -> Migrate:

Target Directory 默认为新建的工程目录,Migrate from directory 不填,输入设计名称(这里范例名称为 led),Device 选 AGRV2K 系列型号。选择 ve 文件(管脚分配文件)。IP 文件不用填。
选择对应开发 Mode:Native 选项(AGM 自有 EDA 综合工具),Synplicity 选项(第三方综合工具,例如 Synplify ,Mentor 等),Compatible 选项(兼容 Altera Quartus II 的综合工具)。下面主要介绍 Supra 基于 Quartus II 综合的设计流程,其它工具设计流程类似。
Mode 选择 Compatible,点 next , 自动产生一个以 led 命名的 Quartus II 项目(qpf 文件),以及空的设计文件(v ,qsf ,sdc 等)。
ve 文件为 IO 管脚位置设置,可通过任意文本编辑器自行编辑产生。管脚名称请参考前面的管脚说明表格(PIN_1 ,PIN_2 格式),全局时钟信号或 PLL 输入时钟要选 IO_GB 管脚。
ve 文件格式如下(管脚设计名称+空格+封装管脚名称,#为注释符):

3.)项目设计:
工程目录中,用 Quartus II 打开 led.qpf 项目文件,工程已设置好,不要修改型号。默认为EP4CE75,如果 Quartus II 没有这个器件,需要先安装 Cyclone IV 系列器件库。
空的项目中加入你的设计文件.v,或添加其它类型设计文件,Quartus 支持的都可以使用。无需设置管脚位置。
设计完成后,Quartus II 中选择菜单中 Tools -> Tcl Scripts…,窗口中选 af_quartus.tcl,点击 Run进行编译,编译综合后产生所需网表文件(simulation/modelsim/led.vo)。
4.)项目编译:
Supra 里继续执行 Next ,开始进行编译。编译选项,默认即可。

编译成功后即可得到最终烧写文件,led.bin。
如未改变工程路径,修改设计代码后,Quartus 里只需执行正常的编译(Start Compilation)流程,可以不再执行 Migrate 和运行 af_quartus.tcl 文件的步骤。然后在 Supra 中打开 Tools -> Compile ,完成编译即可。
Win10/11 OS 下,正常编译最后一步会利用 Python 功能产生 led_batch.bin。这是用于离线烧录的芯片完整 bin 文件。如果 WIN7 或以下 OS,最后这步会出错,应已产生 led.bin,可以先忽略。在 supra 中可正常烧录的。
5. )芯片烧写:
Supra 软件中选 Tools –> Program ,下载线选 JLINK 或 CMSIS-DAP。速度默认即可。可以先点击 Query device ID,查看是否检测到器件,正确 ID 为:40200001
选择编程文件 led.bin,点击 program 开始烧写文件。如没有出现错误信息,显示“done with code 0 ”,即烧写成功,程序开始运行。

勾选下面的 Full Chip erase before program,可以在烧录前擦除芯片程序,并写入默认设置启动项。
勾选 Lock after program ,则芯片烧录后打开加密锁功能,无法读取出内部程序数据。另外,可以选择 Erase 功能,进行程序的擦除。
l 安装下载器驱动
AGRV2K 的下载器仅支持 JLINK 或 AGM DAP-LINK。
WIN 下JLINK 需安装驱动。运行 supra 目录中提供的 zadig-2.8.exe 文件,点击菜单 Options – List all devices,选择下面的 Jlink。有的版本 Jlink 会显示为 BULK …等,驱动显示为已安装的原 Jlink驱动。

点击 Replace Driver 按键,把 Jlink 原驱动替换为 WinUSB 版本。

安装成功后,Jlink 驱动显示 WinUSB。

WIN10 及以上 OS ,DAP-LINK 免安装驱动。WIN7 中同样需要按上述流程给 DAP-LINK 安装驱动。
l 内部 IP 的使用
1.)PLL
AGRV2K 器件支持 1 个 PLL。若需用到 PLL,可以直接在 Quartus II 工程中添加 MegaWizard IP (ALTPLL),即可直接转换。不用在 Supra 中添加 IP。
PLL 输入时钟要选 IO_GB 管脚。如果用了别的 IO 输入,可以通过 ALTCLKCTRL IP 进入全局时钟网络,即可出到 PLL 的时钟输入。
注意:如果 PLL 输出时钟要直接输出到管脚,Supra 编译可能会出错。
因为 Quartus II 编译不会把输出放到全局时钟网络,可能自动分配到了 PLLOUT 专用管脚, AGRV2K 没有这种管脚。
这里可以在 Quartus II 工程里把这个输出管脚随意分配个普通 io 位置,比如 PIN_A3,PIN_A4等。这样 Quartus II 编译出的网表文件就可以了,Supra 可以编译通过。当然,管脚位置最终还是按照 ve 文件分配的。
PLL 时钟输出到内部逻辑可以不用以上设置。
2.)RAM
AGRV2K 器件支持 4 个 M9K Block(1K Byte),共 4K Byte 空间。可直接在 Quartus II 工程的MegaWizard 中添加各种 Memory IP。不要超过 4 个 M9K。
3.)内部晶振
AGRV2K 器件内部有一 8MHz 晶振,可作为逻辑设计的时钟输入,也可接入 PLL ,并支持精度自校准。
设计中使用这个晶振的时钟输入,需要在 ve 文件中指定时钟输入管脚位置为 PIN_OSC,如:
clk PIN_OSC
并在项目的设置文件,如 led.asf 中加入语句:
set_config -loc 18 0 0 CFG_RCOSC_EN 1’b1
工程编译完成后,烧录界面,Program 需选择“Full chip erase before program”。
Program 后显示的信息中包含“Info : Oscillator calibrated with value xx ”即表示内部晶振已打开并校准,可以正常使用。
某些 JLINK 下载器时钟精度较差,利用JLINK 校准后,时钟输出频率会偏差较大。建议用 AGM Blaster。

l IO 特性设置
在工程的设置文件(*.asf,默认为空的文本文件)中加入相关语句,可以设置如下 IO 特性。这里 xxx 为代码中 IO 的名称。
1.)上拉电阻:
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to xxx
2. )下拉电阻:
set_instance_assignment -name CFG_KEEP -to xxx 2’b01 -extension
3. )驱动电流:
set_instance_assignment -name CURRENT_STRENGTH -to xxx 8MA默认是 8MA,可以设置范围 2-30mA,偶数值。
注意:上边一行添加完后,务必在后边添加回车换行(保证这行不是文件最后一行)。
l 外部时钟输入
全局管脚 IO_GB 只能接入有源晶振,进入系统时钟网络,及接入 PLL。

Supra 2025 之后版本,支持 AGRV2K CPLD 使用无源晶体作为系统时钟输入,和 AG32 MCU 一样接入 OSC_IN 和 OSC_OUT 管脚。
AGRV2KL100L64L48Q32
OSC_INPIN_12PIN_5PIN_5PIN_2/IO
OSC_OUTPIN_13PIN_6PIN_6PIN_3/IO
VE 管脚文件设为 PIN_HSE,如:

下载 bin 文件时,选中“Enable HSE clock”即可。

l 订货信息
AGRV2K 为 AGM 软件中的型号,实际是 AG32 MCU 系列芯片中的逻辑部分。所以芯片封装丝印为 AG32 MCU 的 AG32VF 系列型号。订货时只需参考 MCU 型号的对应封装,即可作为AGRV2K 系列 CPLD 使用。
