Supra软件升级:AGRV2K CPLD已不需要Quartus流程,可直接在supra内部用Native方式

Supra软件开发流程

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 文件为预先产生的 PLL、 RAM 等 IP,没有可以不用填。

选择对应开发Mode:Native 选项(AGM Supra 综合工具), Synplicity 选项(第三方综合工具,例如 Synplify, Mentor 等), Compatible 选项(兼容 Altera Quartus II 的综合工具)。

下面主要介绍 Native mode 的设计流程,这个流程仅支持 Verilog 语言的设计输入。如使用Compatible 设计方式,可参考 3.0 版本 Manual 文档。Mode 默认选择 Native,点 next,进入下一步。

    其中的 ve 文件为 IO 管脚位置设置,可通过任意文本编辑器自行编辑产生。管脚名称请参考前面的管脚说明表格(PIN_1, PIN_2 格式),全局时钟信号或 PLL 输入时钟要选 IO_GB 管脚。ve 文件格式如下(管脚设计名称+空格+封装管脚名称,#为注释符):

       clk         PIN_7      # 输入时钟,IO_GB

rst         PIN_15
       led[0]    PIN_16
       led[1]    PIN_17

       ……

 

3. 项目设计:

这一步为加入项目的设计文件,包括用到的所有Verilog(*.v)文件,可添加多个文件。

    点击 Next,会进行综合并产生网表文件.vqm,没有出错则继续 Next 下一步。

4. 项目编译:

Supra 里继续执行 Next,开始进行编译。编译选项,默认即可。如果只是重复编译,也可以在Tools->Compile菜单里直接打开这个编译界面。

    编译成功后即可得到最终烧写文件,led.bin。

Win10/11 OS 下,编译最后一步会利用Python 功能产生 led_batch.bin。这是用于离线烧录的芯片完整 bin 文件。

如果 WIN7 或以下 OS,最后这步会出错,如已产生 led.bin,可以先忽略。在 supra 中可正常烧录的。

6. 芯片烧写:
Supra软件中选Tools–>Program,AGRV2K仅支持JLINK或CMSIS-DAP,选择正确的Cable。速度默认即可。

可以先点击Query device ID,查看是否检测到器件,正确ID为:40200001

选择编程文件 led.bin,点击 program 开始烧写文件。如没有出现错误信息,显示“done with code 0”,即烧写成功,程序开始运行。

    勾选下面的Full Chip erase before program,可以在烧录前擦除芯片程序,并写入默认设置启动项

    勾选Lock after program,则芯片烧录后打开加密锁功能,无法读取出内部程序数据。另外,可以选择Erase功能,进行程序的擦除。






驱动安装下载器

    AGRV2K的下载器仅支持JLINKAGM DAP-LINK

WIN下JLINK需安装驱动。运行supra目录中提供的zadig-2.8.exe文件,点击菜单Options - Listall devices,选择下面的Jlink。有的版本 Jlink 会显示为BULK…等,驱动显示为已安装的原 Jlink驱动。

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

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

    WIN10及以上OS,DAP-LINK免安装驱动。WIN7 中同样需要按上述流程给 DAP-LINK 安装驱动。





内部 IP 的使用

1. PLL

AGRV2K器件支持1个PLL。在Supra中添加IP(Tools -> Create IP -> Create PLL)。

PLL输入时钟管脚要选IO_GB管脚,即全局时钟管脚。否则编译会出错,无法布线到PLL输入信号。

PLL IP名称可以自定义,Type要用PLLVE,Feedback Mode 这里可忽略。然后根据设计需要选择补偿模式,输入输出时钟的特性要求。

点击 Generate 按钮,即可产生 ip 文件。

    Verilog文件中调用IP,可参考下面代码。一般只需用到clkinresetnclkoutlock,注意clkfb和clkfbout需直连,其它信号按如下代码默认设置即可。

2. RAM

AGRV2K器件支持4个M9K Block(1K Byte),共4K Byte空间。同样在Supra里Create Memory IP。Type选择BRAM9K,总共不要超过4K Byte的容量。可根据需要选择单口,双口等属性。

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校准后,时钟输出频率会偏差较大。建议用AGMDAP-LINK






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,偶数值。

注意:上边一行添加完后,务必在后边添加回车换行(保证这行不是文件最后一行)。








 

如需了解具体产品请发邮件:

sales@agm-micro.com

直接扫码加工作人员微信咨询。

<

MCU驱动使用
« 上一篇 2024年11月17日
AGM MCU产品选型一览
下一篇 » 2024年11月17日