文章
  • 文章
搜索
首页 >> 技术文档 >>官方资料 >>CPLD文档 >> AGRV2KLxx使用入门(6月更新)
详细内容

AGRV2KLxx使用入门(6月更新)

AGRV2KLxx使用入门

一、 环境搭建

在开始FPGA代码编程之前,必须熟悉Vscode下的PlatformIO的开发环境。对AGM定义的VE文件的格式要有一定的了解。AGMMCUpin功能定义,除了晶体、复位、电源、地、模拟(包括ADC, DAC, CMP),其它所有的数字IO都可以通过VE文件来任意定义。

1. VE文件格式

image.png

说明:

VE文件格式为每个引脚一行,每行由Function pinDevice pin组。芯片内部具体有哪些信号线可以参见《AGRV2K_逻辑设置.pdf》。

外部晶体建议使用4~16MHz之间。AGMMCU不建议使用内部晶体,内部晶体偏差较大。\

2. ini文件格式

该文件的大部分内容解释参见《AGM在VSCode下的使用入门.pdf》。下面只介绍与FPGA相关部分。

image.png

如上图所示:

0322a8cc-95bb-4304-9cfe-5f9070b44937.png

ip_name是用户自定义的逻辑块名称。Logic_dir是在工程当前目录下创建的一个目录,存放所有FPGA的相关代码。

       df1ebd68-7f96-469e-a045-79dcd7da2909.png

    board_logic.device是内部FPGA的型号,这里需要注意如果是100pin的,使用AGRV2KL100

    board_logic.ve 是使用的VE文件的绝对位置。不清楚如何使用相对目录,暂时只能用绝对位置这里使用了agrv2k_103_64.ve,后面的64表示64pin。因为100pin与64pin的定义是不同,需要加以区别。

       以上确认无误后,需要在PlatformIO下对工程进行编译,在Terminal下运行:

       pio run -e dev -v

       image.png

      编译成功后,点击PlatformIO左上角的Project Task下面的dev ->Custom ->Prepare Logic。

       image.png


注意: Prepare Logic生产的文件属性是只读,最好修改一下文件属性。

Prepare成功后(如上图所示),会生成一个Logic_dir的目录,该目录下会有一个Quartus下的FPGA的工程agrv2k_103_64.qpf,工程名字就是VE的文件名。该工程下主要有3个文件:

agrv2k_103_64.v 这是根据VE自动生成的,主要是芯片对外用到的pin功能,对应芯片的顶层模块。这个文件用户不要修改。

alta_sim.v 这个文件提供芯片的系统功能

用户定义的模块文件,这里是analog_ip.v

        image.png

此时系统自动生成的用户模块只是一个接口,没有任何功能,如上图所示。此时,你可以使用例程提供的ahb2apb.V analog_ip.v替换进来。

至此整个工程建立完毕。

        注意: AGRV2KLxx ALTERA 里没有对应的芯片,采用Cyclone IV

                   EP4CE75F23C8来模拟,因此Quartus里需要安装Cyclone IV的器件库。

    另外,注意Top-Level entity的选择:

     Assignments -> Settings, top level 改成top


           image.png

如果出现模块无法加载的情况,可能是hierarchy变了,Assignments -> Design Partitions Window,把所有partition都删掉,再重新跑一下tcl一下。

二、 编译

第一步:

运行Quartus的tools->TCL Scripts,如下图所示。


       image.png

运行成功后,就可以看到系统占用的资源。

      image.png

这里面不用去管device 型号,借用了一下cyclone IV的一个型号而已。

后期如果工程不换目录的话,tcl执行一次就行了。之后如果管脚以及使用的IP没有改变的话,可以直接编译,不需要执行TCL改设计在原Quartus工程里编译,然后supra也编译(tools-compile)一下,就行了。

这里最好在Quartus下也compile一下。

第二步:打开Supra软件,注意版本是否为最新。

运行过setup.py的话,在AgRV_pio的目录下有Supra的快捷键。

运行Supra,在File -> Project -> Open Project

       image.png

工程就在Logic_dir目录下。

打开工程后,运行Tools -> Compile

image.png

编译成功后,如下图:


image.png


编译成功后在Logic_dir目录下会产生可供烧录的bin文件。

image.png


具体用户可以参见《MANUAL_Supra_6.2.pdf》。


三、 参考代码

参考Quartus的Hierarchy,这样便于理解代码。

image.png

Mcu访问FPGA的逻辑模块是通过AHB-APB总线来访问的,地址范围为0x6000_0000~0x7FFF_FFFF。具体这些地址如何来划分,是由FPGA代码决定的。参考例程里没有对高端地址(高16位)进行区分,只用了低16来区分ADCDAC, CMP。地址分别如下:

#define ADC0 ((ADC_TypeDef *) 0x60000000)

#define ADC1 ((ADC_TypeDef *) 0x60001000)

#define ADC2 ((ADC_TypeDef *) 0x60002000)

#define DAC0 ((DAC_TypeDef *) 0x60003000)

#define DAC1 ((DAC_TypeDef *) 0x60004000)

#define CMP0 ((CMP_TypeDef *) 0x60005000)

也就是说用bit12~bit15来定义不同设备的地址空间。


四、 程序下载

AGRV2K(CPLD)烧写须知


  芯片烧写: 

        Supra 软件中选 Tools –> Program,下载线选 JLINK。速度默认即可。 

   可以先点击 Query device ID,查看是否检测到器件,正确 ID 为:40200001 选择编程文件 led.bin,点击 program 开始烧写文件。如没有出现错误信息弹出,显示“done with code 0”,即烧写成功,程序开始运行。

烧写文件,XXX.bin

   1677768813382047.png



需要获取更多的资料和支持可以联系我们

提供“芯片测样-发送资料-技术支持-批量采购”

联系方式: 姚工 13661545024(VX同号)

(加的时候备注下公司名和个人名字)

在线商城:agm-micro.taobao.com

公司网站:www.agm-micro.com

资料网站: www.tcx-micro.com

在线商城.png






关于我们

品牌中心

产品中心

新闻动态

咨询热线:13661545024(全国技术销售热线)

上海天晨芯科技有限公司

销售邮箱:sales@chipmorn.com

技术邮箱:jun.yao@chipmorn.com

公司地址:上海浦东新区东方路1365号5号楼

seo seo