Libero Soc联合Soft Console开发学习记录(一)创建项目

Libero Soc联合Soft Console开发学习记录(一)创建项目

一、背景

1.1 初衷

研发所需要的芯片为Microsemi公司Smartfusion 2家族的M2S系列芯片,其具备FPGA逻辑模块与Cortex-M3内核,可以运行uCOSIII或FreeRTOS操作系统,不过多赘述。同种功能的芯片,国内使用Xilinx公司ZYNQ系列芯片较多,且网上资源较多。关于Libero Soc开发,资源较少,仅作记录分享,也希望各位大佬能批评指正。

1.2 开发环境

电脑系统:Win11
逻辑开发:Libero Soc v12.0
逻辑仿真:Modelsim ME 10.5c
Arm开发:SoftConsole v4.0
所用芯片:M2S010
开发板:DigiKey M2S010-MKR-KIT

关于开发环境所用软件均可在Microsemi官方网站下载,且站内已经有许多教程贴,不再赘述。

1.3 注意事项

  1. Libero Soc版本选择:Libero Soc每个版本适配不同系列的芯片,新增或移除某些型号详情需要查看各个版本的发布说明
  2. Libero Soc License申请:免费License支持的芯片受限,例如M2S系列仅支持至M2S025(最新为M2S150),自行购买或者破解。 站内帖已说明各个License支持的型号,请参阅查看。
  3. Soft Console版本选择截止2024.8.14日,最新版本仅支持RISC-V架构内核,不支持Arm核,选择时需要注意,贴主最终选择v4.0,可稳定运行;部分资料有选择使用v5.0,本人未经尝试。

二、Libero Soc新建工程

  1. 新建工程,Project->New Project
    右侧为已经打开运行的工程
  2. 输入文件名、路径、选择开发语言,可选VHDL
    在这里插入图片描述
  3. 选择芯片型号
  4. 选择引脚电压,此处由于开发板部分LED高电压为2.5V ,故选择2.5V,可选常规3.3v
  5. 选择是否使用内核,贴主需要使用内核,故选择MSS based design,创建子系统,后续将生成图形化界面。创建后也可不使用
    在这里插入图片描述
  6. 可直接Finish,后续约束也可在项目内添加
  • 选择Create a system builder based design后如下,可根据需求逐步设置时钟、外设等,创建完成后也可重新配置
    在这里插入图片描述
    在这里插入图片描述
  • Create a MSS based design 后将生成默认的框架,根据需求删减外设(前者是创建时根据需求精简过的)
    在这里插入图片描述
    双击绿色方框,打开配置界面,至此两者配置方式一致
    在这里插入图片描述

三、MSS配置

在这里插入图片描述
对于最简单的例子UART + GPIO,配置如下:

  • MSS_CCC 内核时钟,使用50MHz,PLL锁定
    在这里插入图片描述
  • 复位控制器,选择是否配置复位信号
    在这里插入图片描述
  • UART
    在这里插入图片描述
  • GPIO,将4个引脚设置为输出模式
    在这里插入图片描述
    配置结果:
    在这里插入图片描述
    在这里插入图片描述
    更新后如下图:
    在这里插入图片描述
    调用IP核引入时钟/复位等:
    在这里插入图片描述
    引入时钟IP核:

    分配时钟:
    在这里插入图片描述
    在这里插入图片描述
    引入复位IP核:
    在这里插入图片描述
    至此,基本框架已经形成,接线即可:
    在这里插入图片描述
    已有的引脚可以rename,右击,在弹出框内再度右击;
    在这里插入图片描述
    至此基本框架已经完成;