省流:AGRV2K=AG32VF407=RV32IMACF+2K LUT=16.8块钱
相信对国产FPGA的同学应该都听说过AG1280吧,作为淘宝可以随便买的最便宜FPGA,AG1280以7块出头的价格(甚至不是批量价)能够换到1280个LUT的资源,性价比还是很不错的。
最近,AGM又推出了新的产品,这次是AGRV2K,号称是RISC-V+FPGA的组合。那么实际效果如何呢?不要走开,下面会持续更新相关内容。
最后来张AGRV2K板子镇楼(是的,因为芯片引脚兼容STM32F407V,所以直接到嘉立创打了个STM32F407V的空板焊上就能用!)
离线
某天在逛淘宝时,发现AGM店里上了个有趣的芯片:AGRV2K100(CPLD) AGM FPGA CPLD替代Altera EP1270 内嵌MCU,遂买来玩玩。接下来就发生了意想不到的一些事情:
我在早上下了一单,结果晚上到家的时候就发现快递躺着家门口了,这也太效率了。后面了解到他们一天会发两次货,并且刚好有本地仓库,所以当天就收到了,而板子都还没准备好。
收到货的时候,发现并没有收到想要的AGRV2K,反而收到了AG32VF407。后来才知道,原来AGRV32和AG32VF407是同一颗芯片,估计厂家没有重新打标,直接就推了。
发现卖家“发错”之后立刻联系卖家,结果卖家在晚上直接就打电话过来了,详细解释了丝印的问题。后面我也确认过,这两个确实是同款芯片。
来点当时刚刚收到的芯片:
离线
跟着玩,不知道这点逻辑门能否构建一个简单的cpu
离线
看起来不错的样子,但开发环境是啥?难道用altea的IDE?还是用它自己的IDE?
环境友好不?需要注册码不?
综合稳定不?
下载器用啥?可以兼容么?
AGRV2K100这个内置的MCU是啥?没找到介绍呢?
国产的FPGA资料不是很开放,楼主先玩,玩好了带大家一起玩。
离线
在官网上看这个407介绍,只看到它是个MCU,没说有多少个LE啊?
离线
刚在官网下载一个软件【Supra】,却不知道如何使用,好像软件也太简单了点吧?
离线
在网上了解了一下,
原来这个AGM是要用Altera的quartus软件进行设计,再用它自己的一个工具进行转换。怪不得这么神秘呢。
https://blog.csdn.net/ModernTalking/article/details/126986620?spm=1001.2014.3001.5501
最近编辑记录 fxyc87 (2023-03-16 14:41:57)
离线
这个RISC-V+FPGA应该很好玩,做产品就不推荐了,容易被一棵树吊死。
离线
他这个开发,看过文档
流程的用ALTERA那个QUATER软件综合,出网表,然后再用自己的这个SUPRA软件来做最后的处理
现在XILINX的价格下来了,A9双核+28K的ARTIX架构的现在卖19块钱,注意这个可是ARTIX架构,一般人够用了
离线
我反而对AG1280感兴趣了。
离线
他这个开发,看过文档
流程的用ALTERA那个QUATER软件综合,出网表,然后再用自己的这个SUPRA软件来做最后的处理
现在XILINX的价格下来了,A9双核+28K的ARTIX架构的现在卖19块钱,注意这个可是ARTIX架构,一般人够用了
啥型号只要19块 是人民币么 一般人能拿到么
离线
现在XILINX的价格下来了,A9双核+28K的ARTIX架构的现在卖19块钱,注意这个可是ARTIX架构,一般人够用了
你那是二手吧,全新Zynq咋会这么便宜。
离线
他这个开发,看过文档
流程的用ALTERA那个QUATER软件综合,出网表,然后再用自己的这个SUPRA软件来做最后的处理
现在XILINX的价格下来了,A9双核+28K的ARTIX架构的现在卖19块钱,注意这个可是ARTIX架构,一般人够用了
7Z020?
离线
睡前发一下老板今天(昨天?)刚给的资料,信息量还是比较大的,特别是网盘部分,需要花点时间慢慢啃。
AG1KLPQ48.rar
AG32VF407.rar
AGRV2K.rar
离线
感觉可以做个音箱,FPGA负责多DMIC不知资源够不
离线
如果对AGRV2K的工作原理感兴趣,可以打开AgRV_pio\platforms\AgRV\builder\main.py文件,里面详细记录了各个工具的使用方式。
离线
关注一下进度,也买了这个板子,但还不会玩
离线
板子还没到 +1,先看了下 SDK,奇妙(
文档里写过的就不说了,试了下流程,编译了 AgRV_pio\platforms\AgRV\examples\custom_ip,这个例子把 FPGA 里的 M9K 挂在了 alta_rv32 的 AHB 上
PIO 打开工程后:
1. PIO 里,Project tasks - dev- Custom - Prepare IP,会在 .\logic 下生成 Quartus 和 Supra 工程;这里 custom_ip.v 是 SDK 给出的,但如果是自己写的话它会根据ve自动生成一个模板 custom_ip_tmpl.v
2. Quartus 里 Compile Design 一下,生成 .\logic\simulation\modelsim\custom_ip.vo
3. Supra 打开 .\logic 下的工程,Tools - Compile, Run 一下,生成 FPGA 部分(不带 alta_rv32)的网表 .\logic\custom_ip\custom_ip.vx
4. PIO 中,Project tasks - dev- Custom - Update Logic,先 gen_vlog,根据你写的引脚分配 .\top.ve 和刚刚 Supra 生成的 .\logic\custom_ip\,生成整个芯片的 top 到 .\.pio\logic\top.vx,然后再由 gen_logic.tcl 布局布线生成码流
5. 生成的时序报告在.\.pio\logic\logic_db\setup*.rpt.gz 和 hold*.rpt.gz 一共四个文件,布局布线后的网表生成到 .\.pio\logic\top_routed.vx,实际烧写到 Flash 最后 100k 处的 bin 是 .\.pio\logic\top.bin (99,944 Bytes)
6. 板子还没到,没法烧写,不过大概执行的内容是在 AgRV_pio\platforms\AgRV\builder\main.py 中与 logic_actions 有关的部分吧(
至于引脚,alta_rv32 貌似只能按照 “AGRV2K 逻辑设置” 文档中的 Function pin 列表来复用,但是这个表的每一行应该是都能通过包一层 FPGA 引出到任意的 PIN(?);USB D+D-则是固定的;
关于引脚分配的更多注意事项,建议直接在 AgRV_pio\packages\framework-agrv_sdk\etc\gen_vlog 中搜索 ErrorOut (雾)
顺便可以看下综合结果,里面集成的 FPGA 有这些资源(其中 BRAM 是 M9K):
Total Logics : 97/2112 ( 4%)
Total LUTs : 97/2112 ( 4%)
Total Registers : 73/2112 ( 3%)
Total Block Rams : 4/ 4 (100%)
Total PLLs : 1/ 1 (100%)
Total Pins : 12/ 128 ( 9%)
Global Signals : 3/ 5 ( 60%)
只是试了下流程,上面提到的不一定准确,如果有误还请指出
离线
@libc0607
他们家的fpga就是这么用的,哈哈哈看起来还行2k逻辑做点简单的外设刚刚好
离线
在更新到Supra之后,看起来支持CMSIS-DAP了,这样一来可以搓一个带下崽器的最小系统,好评。
离线
@vmao
应该是zynq7010吧,7010是28k,7020有85k,20左右应该还是拆机的价,也许是EBAZ2045之类的矿板上的,据说之前才20一张,现在涨60了,按性价比来说还是比较好的选择。
离线
在更新到Supra之后,看起来支持CMSIS-DAP了,这样一来可以搓一个带下崽器的最小系统,好评。
https://whycan.com/files/members/1510/AGRV32-Supra.png
验证了一下,确实是支持的,而且OpenOCD的版本很新(版本信息是Open On-Chip Debugger 0.11.0+dev-02429-g3c36bfc (2023-02-06-17:01)),可以无bug支持CMSIS-DAP V2.1。
离线
这个资料大家可能有用(CPLD和MCU交互的案例),共享给各位
可以参考下ADC,DAC以及比较器,通过AHB总线挂在一起
离线
尝试测了一下CoreMark,分数还不错,基本上和STM32F407在一个等级,248MHz(数据手册中最高频率)能到630,384MHz(最高可运行频率)到了976以上,不知道这个分数是否意味着AG32VF407/AGRV2K的Flash有cache或者零等待执行。
CoreMark的工程可以在这里下载:CoreMark.zip,可以通过修改coremark.ve文件中的SYSCLK来调整时钟频率。
离线
这个串口工具是啥?
离线
这个串口工具是啥?
MobaXterm
离线
@libc0607
老哥可以分享一个custom ip能运行的工程吗,我用的example下的工程编译一直有问题,不知道问题出在哪,不修改他的参数的情况下 只能综合出一个custom ip的项目,然后update的时候会显示io爆了,如果改一个pio.ini下的logic_ip = true参数之后,能正常综合出一个带rv32的top项目,但是综合出来的le占用是0,项目好像有问题,方便留个联系方式交流一下吗
离线
@ThinkerMaker
问题应该是解决了 ,奇奇怪怪的 好像是quartus版本问题,我换了版本之后就没事了,之前ag1k我用没问题啊
离线
比较好奇2k逻辑资源可以怎样充分利用起来,做出有趣的东西:)
离线
楼主又更新吗?:)
离线
兄弟们,我想用它实现这样一个功能,CPLD部分读取高速ADC的输出,然后直接存在mcu部分的sram里面,不知道应该怎么实现。custom_ip例程是把CPLD的bram挂在AHB上,MCU能直接访问。但跟我想要的还是有点差距呀
离线
楼主好像没有更新了, 看到好久了
离线
兄弟们,我想用它实现这样一个功能,CPLD部分读取高速ADC的输出,然后直接存在mcu部分的sram里面,不知道应该怎么实现。custom_ip例程是把CPLD的bram挂在AHB上,MCU能直接访问。但跟我想要的还是有点差距呀
需要知道 AHB matrix 有没有 master 端口给 FPGA/CPLD 用。如果有则需要实现一个 AHB master,然后通过 AHB master 将数据通过 burst 写入 SRAM 里面。
ADC 的带宽/响应时间要求不高的话,接口加 FIFO 一般能满足要求。
离线
兄弟们,我想用它实现这样一个功能,CPLD部分读取高速ADC的输出,然后直接存在mcu部分的sram里面,不知道应该怎么实现。custom_ip例程是把CPLD的bram挂在AHB上,MCU能直接访问。但跟我想要的还是有点差距呀
FPGA 部分可以做 AHB Master,看 ram2ahb.v
custom_ip 例程中,验证数据分两部分,后半部分就是 FPGA 作 AHB master,收到 GPIO 上升沿后主动把 BRAM 内容写到 read_buf,这个 read_buf 就是在 MCU 的 SRAM
看文档说 FPGA 的 AHB master 可以访问所有地址,不过我没试。。仅供参考
离线
这个型号的RTC似乎有问题,具体表现为RTC功能正常,但主电源掉电时备用电池的电流过大,实测采用CR1220(全新时空载电压约3.2V)时其电流超过100uA。由于此现象在手头所有的2片AG32VF407VG与自制的最小系统板、某市售STM32F407核心板;1片AG32VF103CC与某2种不同的市售STM32F103c8核心板上均成功复现,且实测出厂状态(无程序)与写入官方例程(不论是否开启RTC)后均能稳定的观察到此现象,因此怀疑是芯片本身存在硬件bug。已尝试咨询其tb客服,但截至目前(2023/06/05)未得到有效答复。
最近编辑记录 Robo_V1 (2023-06-05 23:44:15)
离线
@Robo_V1
经客服确认,该现象就是AGRV2K本身的硬件问题所致,不过RTC本身的功能是正常的。
最近编辑记录 Robo_V1 (2023-06-07 23:10:26)
离线
@Robo_V1
经客服确认,该现象就是AGRV2K本身的硬件问题所致,不过RTC本身的功能是正常的。
所以RTC不能接电池,不然一会就废是吧,不过问题不大,如果只是用来做时钟就没事
离线
@metro
请问是必须用JTAG接口吗?SWD应该不支持吧?
离线
@metro
请问是必须用JTAG接口吗?SWD应该不支持吧?
同时支持SWD和JTAG接口
最近编辑记录 cheng1986 (2023-06-14 09:13:22)
离线
有点好奇这个片子FPGA可不可以抓信号,问了厂家,答复说可以抓,但是并没有详细的资料说明。
离线
同时支持SWD和JTAG接口
感谢回复,,试了下,SWD 确实可以,,
研究了下,,通过下图猜测,,ARM 的 CoreSight 架构本身就支持通过 SWD 调试 JTAG 设备。。只需要实现 SWJ-DP、DAP bus、JTAG-AP 即可。。
不过 RISC-V 厂商似乎大多数都没使用这种方案,,猜测也许是因为这种用法涉及到 ARM 的专利。。
离线
datasheet上有提到说,support SDIO/Ethernet。 但从没看到有关SDIO的资料啊。到底有没有SDIO接口呢?
离线
datasheet上有提到说,support SDIO/Ethernet。 但从没看到有关SDIO的资料啊。到底有没有SDIO接口呢?
问过了,,没有 SDIO,,想用的话用 verilog 自己写一个
离线
那要写好多东西啊...我看了他的几个模拟功能,原来默认是没有连接到CPU上的,也需要自己写代码连到AHB上面。
离线
这个芯片有没有具体的教程!!!
离线
@Robo_V1
您好,关于之前反馈给我们的RTC使用电池会出现掉电问题,目前最新版本的已经全部修复,感谢支持呀~
离线
@Robo_V1
您好,关于之前反馈给我们的RTC使用电池会出现掉电问题,目前最新版本的已经全部修复,感谢支持呀~
这。。。软件修复 还是硬件更新啊?
离线
@Robo_V1
您好,关于之前反馈给我们的RTC使用电池会出现掉电问题,目前最新版本的已经全部修复,感谢支持呀~
这不是说硬件问题吗?还能修复?同问详细方案和影响啊。
离线
AGMMicro 说:@Robo_V1
您好,关于之前反馈给我们的RTC使用电池会出现掉电问题,目前最新版本的已经全部修复,感谢支持呀~
这。。。软件修复 还是硬件更新啊?
最新批次版本,在硬件方面修复了~
离线
@metro
亮点可能是RISCV硬核+FPGA。
离线
ADC和DAC的速率能到多少?是直连MCU还是可以通过FPGA给数据?
离线
离线
在更新到Supra之后,看起来支持CMSIS-DAP了,这样一来可以搓一个带下崽器的最小系统,好评。
https://whycan.com/files/members/1510/AGRV32-Supra.png
FPGA部分也可以不用JTAG直接用CMSIS-DAP下载?
离线
happysoul 说:AGMMicro 说:@Robo_V1
您好,关于之前反馈给我们的RTC使用电池会出现掉电问题,目前最新版本的已经全部修复,感谢支持呀~
这。。。软件修复 还是硬件更新啊?
最新批次版本,在硬件方面修复了~
资料能否在github放一份?或者别的网盘放一下,百度盘下载限速100kB/s太恶心了。
已经下载下来,把灯点亮了,这个基于platformio的IDE还不错,非常有想法的芯片。
最近编辑记录 echo (2024-02-21 18:48:13)
离线
happysoul 说:AGMMicro 说:@Robo_V1
您好,关于之前反馈给我们的RTC使用电池会出现掉电问题,目前最新版本的已经全部修复,感谢支持呀~
这。。。软件修复 还是硬件更新啊?
最新批次版本,在硬件方面修复了~
实测AG32VF303CCT6,实测FLASH_GetUniqueID()函数读取不到128位的UID,同样依赖FLASH_FlexRead()函数的另外几个API也有问题。
离线
我这边已经评估完了。
总体来讲,这个AGRV2K是个相当偏门的芯片,和STC的32位8051或者迪文的T5L芯片有些类似,可玩性很高,不过做产品就不太推荐了,除非完全适合你的应用场景,就像迪文T5L来做HMI一样,否则还是推荐用专门的MCU芯片。
如果你需要FPGA,这个AGRV2K也不是首选,还是选ALTERA的正经FPGA芯片,然后用AGM的P2P兼容芯片来替代,这样项目风险更低,开发成本也更低。
离线
这个性能很局限吧,fpga规模小点了吧
离线
这个可以做信号处理吗?比如一阶二阶高通/低通滤波?
离线
硬件修复我估计就是ic内部加了二极管,vrtc只进不漏。当然系统上vrtc最好还是外部串联一个电阻限流一下
最近编辑记录 aquasnake (2024-03-08 19:53:14)
离线
@echo
2K LUT的产品估计就是对标lattice MACH XO2.
说的没错,这种融合cpld+mcu的单片机系统适合优化已有的方案custdown,但是如果新项目设计方案选用这种风险较大,CPLD+MCU改动风险小,项目移植性高,过度耦合/集成到单片系统(SOAC,system on a chip)调试和采购都会带来风险增加。因为很难找到类似的别的供应商的产品,一旦设计进去,容易被上游芯片商吊死
离线
这个芯片看起来性价比确实不错都集成在一个芯片内方便开发
离线
@metro
频率高了势必会不稳定
离线
@metro
频率高了势必会不稳定
X86的CPU跑数GHz岂不是要天天死机?
离线
最近有点想拿这玩意做个软件无线电的,但是官网啥资料都找不到,包括他说的那个cpld编程手册
离线
了解AG32:
1. AG32开发最新文档汇总
网盘:
https://pan.baidu.com/s/1wcBnqnray7bu4IURDIoDDQ?pwd=1205
2. 先阅读网盘下:《AG32用户入门指引.pdf》
准备工作:
1. 搭建mcu开发环境:《AG32开发环境搭建.pdf》
---搭建起来整个开发环境;
2. 第一次使用开发板:《AG32开发板使用入门.pdf》
---点亮led灯,串口输出数据;
3. 熟悉mcu开发环境:《AG32在VSCODE下的使用入门.pdf》
---熟悉mcu的 配置、编写、编译、烧录、仿真、生产;
开发:
1. mcu编程的进阶:《AG32驱动的使用.pdf》
---mcu中各驱动的样例及说明;
2. cpld+mcu的联合编程:
流程介绍:《AG32下fpga和cpld的使用入门.pdf》
cpld和mcu的交互详解:《AG32中cpld的基础.pdf》
进阶:
请参考该网盘下其他文档。
离线