AG32 mcu+cpld 联合编程(概念及流程)

在使用mcu+cpld联合编程之前,请确认已经熟练掌握mcu的使用方法,并且对cpld编程(verilog语言)有一定的基础。

另外,对AHB总线也需要有一定的了解。

这个章节分为两部分:

第一部分,展示联合编程中各种概念和操作流程;

第二部分,从具体案例出发,由浅到深来描述各种常用的编程技巧。

.

以下描述为第一部分(概念和流程)。如要查看实例讲解,请参考第二部分

.

一、前述

在AG32芯片(所有型号)中,都有内嵌2K的逻辑门,可供fpga/cpld来使用。

也就是说,使用AG32的芯片时,有三种选择:

  1. 只使用mcu部分;
  2. 只使用cpld部分;
  3. 同时使用mcu和cpld(即:mcu和cpld联合编程);

如果:

用于1(仅用做mcu),不必关注此文档。

用于2(仅用做cpld),硬件设计和操作流程,请跳转到"纯粹cpld编程",也不必关注此文档。

用于3(mcu和cpld联合编程):请按照该文档的描述,先完整走一个流程。

.

二、基础了解

  1. AG32整颗芯片包含两部分:mcu和cpld。

这两部分是相互独立的(各自编译、各自下载),但又可以相互连通起来(信号连通)。

芯片要把这两部分的bin都烧录进去,才能运行起来。

  1. mcu和cpld到外部Pin脚的连通,是通过VE文件来配置的。

跟ST芯片每个Gpio对应某个固定Pin脚不同,在AG32中,所有的Gpio/大部分的外设,对外引脚并不是定死的。而是需要在VE文件中指定对应。

VE中,除了配置Gpio到Pin的关联,还可以配置mcu到cpld之间的信号关联。

  1. Mcu+cpld联合编程时,cpld工程是由vscode的"prepare LOGIC"命令自动生成的。

注意:联合编程时,cpld工程不能手工通过supra建立。

cpld的对外接口,也是依托于vscode工程来的,不再是孤立的。

cpld中的top module的信号输入,是关联到mcu工程的(由VE配置出来)。

  1. cpld在联合编程中的定位:

整颗芯片运行时,需要两个bin:mcu的bin和cpld的bin。

如果芯片中只使用mcu不使用cpld:

此时,VE文件里只配置mcu用到的Pin脚即可。

这种情况下,vscode工程中点"upload LOGIC"时,会自动生成默认logic(该logic中"用户逻辑"为空而已),并编译出bin并烧录。

整个过程中,logic部分对开发者来说是无感的。

如果芯片中同时使用mcu和cpld:

那么要把工程配置成"自定义logic"。

此时VE文件里需要配置用到的mcu和pin之间、mcu和cpld之间、cpld和pin之间,三种情况下的信号关联。

这种情况下,VSCode下点"prepare LOGIC"按钮,会为开发者生成cpld的框架工程。**开发者需要在这个框架下完成cpld逻辑的编写。**这个编写调试中,开发者持有主动权。等全部开发完成,并编译出bin,烧录就又回到VSCode去烧录。

这个过程,除了logic需要用户自己编写编译外,从更外层的视角看,整个流程还是跟"默认Logic"是相同的。

.

三、安装软件

mcu需要使用到的VSCode前边已经安装过了。

fpga/cpld需要使用Supra和Altera Quartus II两个软件来编程。

其中:

Supra.exe软件在安装完SDK后,已经在SDK路径下了,可直接使用(无需额外安装Supra)。

(注:如果在SDK路径下没有找到Supra.exe,可进入安装路径\AgRV_pio\packages\tool-agrv_logic\bin\去找到。同时建议手工新建一个快捷方式到SDK路径下以方便后续使用)

Altera Quartus II软件需要用户自行安装,安装后再安装对应的器件库。

(注意:Quartus不能使用Lite版本,需要使用Full版本。最好使用版本:Quartus II 64-Bit Version 13.0.1 Build 232 06/12/2013 SJ Full Version)

在这两个软件中,

Quartus工具用来编写vlog代码并导出vo文件,Supra工具使用vo文件来生成最终的bin。

相关推荐
猫猫的小茶馆13 分钟前
【ARM】ARM的介绍
c语言·开发语言·arm开发·stm32·单片机·嵌入式硬件·物联网
猫猫的小茶馆14 分钟前
【PCB工艺】数模电及射频电路基础
驱动开发·stm32·单片机·嵌入式硬件·mcu·物联网·pcb工艺
点灯小铭19 分钟前
基于单片机的智能药物盒设计与实现
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
梓德原1 小时前
【基础】详细分析带隙型稳压电路的工作原理
单片机·嵌入式硬件·物联网
国科安芯2 小时前
航天医疗领域AS32S601芯片的性能分析与适配性探讨
大数据·网络·人工智能·单片机·嵌入式硬件·fpga开发·性能优化
小李做物联网2 小时前
【物联网毕业设计】60.1基于单片机物联网嵌入式项目程序开发之图像厨房监测系统
stm32·单片机·嵌入式硬件·物联网
BD_Marathon3 小时前
【JavaWeb】VsCode中快速生成HTML5模板
ide·vscode·html5
贝塔实验室3 小时前
新手如何使用Altium Designer创建第一张原理图(三)
arm开发·单片机·嵌入式硬件·fpga开发·射频工程·基带工程·嵌入式实时数据库
@good_good_study4 小时前
STM32 ADC多通道采样实验
stm32·单片机·嵌入式硬件
Darken034 小时前
什么是“位带”?;在STM32单片机中有什么作用?
stm32·单片机·嵌入式硬件