进行MCU+CPLD联合编程开发前,开发者需具备对应的基础技术能力,保障开发流程顺畅推进。需熟练掌握MCU常规开发使用方法,具备一定的Verilog语言CPLD编程基础,同时了解AHB总线基本原理,满足联合开发的技术门槛。

一、开发前置说明
AG32芯片内置2K逻辑门资源,针对芯片功能开发,分为三种使用模式,开发者可根据业务需求选择对应方案:
1. 纯MCU模式:仅启用芯片MCU功能,无需参考本文档,直接开展常规MCU开发即可;
2. 纯CPLD模式:仅调用芯片CPLD逻辑资源,具体操作可查阅《纯粹CPLD编程》专属文档;
3. MCU+CPLD联合模式:需严格遵循本文档完整流程,完成联合配置、开发、编译与烧录全流程操作。
二、核心基础认知
2.1 独立性与连通性
MCU与CPLD两大模块相互独立,拥有独立的编译、下载流程,互不干扰;同时模块间可通过自定义信号实现数据互通、功能联动。芯片完成联合开发后,需分别烧录MCU、CPLD对应的两个bin文件,方可正常运行完整功能。
2.2 VE文件核心作用
VE文件是MCU、CPLD与外部引脚,以及MCU与CPLD模块之间信号互联的核心配置载体。所有引脚绑定、跨模块信号关联关系,均通过VE文件统一配置,是实现联合编程的核心桥梁。
2.3 联合工程生成规则
MCU+CPLD联合开发场景下,CPLD工程必须通过VSCode的「prepare LOGIC」命令自动生成标准化框架工程,禁止通过Supra工具手动创建,避免工程适配异常、编译报错等问题。
2.4 默认逻辑与自定义逻辑
默认Logic:纯MCU开发模式下,系统会自动生成默认Logic逻辑,用户无自定义逻辑配置需求,该过程对开发者完全透明、无感知。
自定义Logic:MCU与CPLD联合开发模式下,需手动在VE文件中完成引脚、跨模块信号关联配置,再通过「prepare LOGIC」生成CPLD框架工程,开展自定义逻辑开发。
三、配套软件开发环境
联合编程需搭配两款专属工具软件,各司其职,缺一不可,具体安装与用途要求如下:
1. Supra工具:已集成在SDK安装目录下(tool-agrv_logic/bin/),无需额外安装,核心用途是编译工程、生成最终可烧录的logic.bin文件;
2. Quartus II软件:需安装完整Full版本,推荐稳定版本v13.0.1,主要用于编写Verilog逻辑代码,完成工程综合、转换,并导出vo格式文件。
四、CPLD联合开发整体流程
完整MCU+CPLD联合开发流程分为四大核心步骤,按顺序依次执行即可完成标准化开发:
第一步:在VE配置文件中,完成所有引脚、跨模块信号关联配置;
第二步:通过VSCode命令生成CPLD空框架工程,编写自定义Verilog逻辑代码;
第三步:使用Quartus II完成工程转换、代码综合,导出对应vo文件;
第四步:通过Supra工具编译工程,生成最终可用的logic.bin固件文件。
五、VE文件引脚与信号配置规范
VE文件配置是联合开发的核心环节,分为三种配置场景,每种场景对应固定格式,配置完成后执行「prepare LOGIC」命令,系统将自动生成CPLD顶层模块的输入、输出接口。具体配置规范如下:
5.1 MCU与外部引脚关联配置
用于绑定MCU外设功能与芯片外部引脚,格式简洁无方向配置。
配置格式:MCU功能名称 + 空格 + 引脚ID
配置示例:GPIO4_3 PIN_32
5.2 CPLD与外部引脚关联配置
用于绑定CPLD逻辑信号与芯片外部引脚,需明确引脚输入/输出方向。
配置格式:CPLD信号名称 + 空格 + 引脚ID:信号方向
配置示例:LED_D3 PIN_32:OUTPUT
用于实现MCU与CPLD模块内部信号互通,搭建跨模块数据链路。
配置示例:GPIO4_1 iocvt_chn
1. 普通GPIO信号:完成关联配置后,系统会自动生成_in(输入)、_out_data(输出数据)、_out_en(输出使能)三组配套信号;
3. 所有信号输入、输出方向,均以CPLD模块端为参照标准,配置时需严格区分方向,避免功能异常。

扫码加微信直接与工作人员沟通