跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++算法

NIC400 生成流程解析(八)微架构配置与互联设计

NIC400 生成流程中 Micro Architecture 的配置方法。内容包括打开 Micro Architecture 界面的步骤,主要窗口元素介绍,以及左侧功能键的使用说明。详细阐述了如何自定义微架构,包括优化 BusMatrix 结构、连接不同组件(Switch、DMA、CPU 等)以实现特定访问路径,并通过 Group 功能将相关组件互联。最终目标是消除黄色虚线,确保所有互联关系具备实际电路访问能力。

DotNetGuy发布于 2026/4/6更新于 2026/9/1279 浏览

当所有配置完成后,就可以生成 Micro Architecture 了。在 Micro Architecture 中也会进行一系列配置,比如微架构、timing closure、buffering 等配置。

生成 Micro Architecture 的方法如下:

图片

生成时需要解决掉所有报错问题后,即可打开 Micro Architecture。打开方式如下:

图片

大致界面如下:

图片

其中主要包含了如下元素:

  • Micro Architecture 窗口
  • Parameter/Timing Closure/Buffering 窗口
  • Overlays 窗口

1. Micro Architecture 窗口

该窗口主要是设定需要的互联微架构,AMBA Designer 生成 NIC-400 时需要手动定义,Socrates 生成 NIC-400 时会根据工具内部算法生成一个微架构。生成后也可以根据自己的需求进行调整。图中的各种标志如下所示:

图片

Micro Architecture 的左边有一排按键,11 个按键的含义从上到下依次为:

  • Zoom in:视图放大
  • Zoom out:视图放小
  • Zoom fix:最佳视图
  • Create Group:创建 Group。比如想在两个接口之间,或一个 BusMatrix 和一个 ASIB 或 AMIB 之间连接,则可以选中目标后点击 Group
  • Connect:连接不同的组件。
  • Delete:删除组件。
  • Create IB:创建 IB,在不同的 BusMatrix 之间连接时通常会自动创建
  • Create GPV:创建 GPV
  • Create Default slave:创建 Default slave
  • Optimize Switch:优化 BusMatrix 结构,丢弃不存在的 Path
  • Layout:重新排列视图,使 Micro Architecture 美观

我们可以自定义微架构,比如想让 CPU 访问 SRAM 和 FLASH 的延时尽可能小,就可以使 CPU 和 FLASH,SRAM 之间只经过一级 BusMatrix。自定流程如下:

分别选中 2 个 switch 执行 Optimize Switch 优化不必要的结构,最后点击 Layout 则可呈现比较规则的 Micro Architecture。

图片

同理,cpu 也要访问其他如 timer,uart 的外设,因此按"Ctrl"先选中 switch5 再选中 switch4,然后点击"Connect":

图片

直到 Micro Architecture 上没有黄色虚线,才表示所有的互联关系都有了实际的电路访问。

由于 dma 也需要访问 flash 和 sram,因此这里让 switch4 和 switch5 之间连接,也就是说,如果 DMA 想访问 flash 的话,需要先经过 switch5,再经过 switch4。按"Ctrl"先选中 switch4 再选中 switch5,然后点击"Connect":

图片

按"Ctrl"选中 dma、mcu_mstr、APB Group(uart+timer)、ahb_sub、mcu_slv,然后点击"Group",让其通过 1 个 Bus Matrix 互联。

图片

按"Ctrl"选中 cpu、flash、sramc,然后点击"Group",让其通过 1 个 Bus Matrix 互联。

图片

删除所有生成好的组件,ASIB 和 AMIB 之间以"黄色虚线"连接。此时只是一种虚拟的映射关系,无实际的连接关系。

图片

目录

  1. 1. Micro Architecture 窗口

更多推荐文章

查看全部
  • Windows 10/11环境下USB-Blaster驱动安装详解
  • 大模型人才年薪百万引关注,行业需求旺盛
  • QClaw 接入微信:AI 正从“会聊天”进化为“会干活”
  • 今日必读:8 篇大模型前沿论文解读
  • 基于 .NET 8 Web API 的 RabbitMQ 消息队列应用
  • AR 健身教练应用实践:基于 Rokid CXR-M SDK 的落地方案
  • C++离线语音识别(ASR)性能优化实战:从算法选型到工程落地
  • LLM 大模型技术:入门、应用场景与行业机遇分析
  • LangChain PyPDFLoader 实战与 PDF 图片提取解析
  • 免费 Trae 编辑器体验:i18n 任务排队与 AI 编程工具思考
  • Windows 部署 OpenClaw 接入飞书机器人配置指南
  • C++ 红黑树详解与实现
  • 基于 DeepSeek API 实现贪吃蛇游戏开发实战
  • Java 解析磁力链 (Magnet URI) 完整指南
  • Python 数据分析实战:分类分析与决策树实现
  • MCP 协议实现 Figma 设计稿自动转换为前端代码
  • AR 健身教练“形随心动”:基于 Rokid CXR-M SDK 的实践落地
  • Happy Coder:Claude Code 移动端与 Web 客户端
  • 基于 AI 的智能算力分配与云原生基础设施实践
  • Linux 进程间通信进阶:消息队列与信号量详解

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online