NIC400生成Flow全解析(八)Micro Architechture

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

在这里插入图片描述


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

在这里插入图片描述


大致界面如下:

在这里插入图片描述

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

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

1.Micro Architechture窗口

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

在这里插入图片描述


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

  • Zoom in:视图放大
  • Zoom out:视图放小
  • Zoom fix:最佳视图
  • Creat 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 Architechture美观

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

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

在这里插入图片描述

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

在这里插入图片描述


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

由于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之间以”黄色虚线“连接。此时只是一种虚拟的映射关系,无实际的连接关系。

在这里插入图片描述

Read more

SpringBoot源码解析(十):应用上下文AnnotationConfigServletWebServerApplicationContext构造方法

SpringBoot源码解析(十):应用上下文AnnotationConfigServletWebServerApplicationContext构造方法

SpringBoot源码系列文章 SpringBoot源码解析(一):SpringApplication构造方法 SpringBoot源码解析(二):引导上下文DefaultBootstrapContext SpringBoot源码解析(三):启动开始阶段 SpringBoot源码解析(四):解析应用参数args SpringBoot源码解析(五):准备应用环境 SpringBoot源码解析(六):打印Banner SpringBoot源码解析(七):应用上下文结构体系 SpringBoot源码解析(八):Bean工厂接口体系 SpringBoot源码解析(九):Bean定义接口体系 SpringBoot源码解析(十):应用上下文AnnotationConfigServletWebServerApplicationContext构造方法 目录 * 前言 * 源码入口 * 一、初始化注解Bean定义读取器 * 1、BeanDefinitionRegistry(Bean定义注册接口) * 2、获取环境对象Environment * 3、注

Gemini 无损去水印神器:基于数学算法的纯前端解决方案

Gemini 无损去水印神器:基于数学算法的纯前端解决方案

🎯 Gemini 无损去水印神器:基于数学算法的纯前端解决方案 🔗 项目地址:gemini-watermark-remover 🌐 在线体验:banana.ovo.re ⭐ 如果觉得有用,请给项目点个 Star! 📖 引言 随着 Google Gemini AI 图像生成功能的普及,越来越多的用户开始使用它来创作各种精美的图片。然而,Gemini 生成的图片右下角都会带有一个半透明的水印 Logo,这在某些场景下可能会影响图片的使用效果。 今天给大家推荐一个开源项目 gemini-watermark-remover,它能够完美无损地移除 Gemini 图片上的可见水印,而且完全在浏览器端运行,无需上传图片到服务器,充分保护用户隐私! ✨ 核心特性 🔒 100% 客户端处理,隐私至上 * 无需后端服务器:所有图片处理都在浏览器本地完成 * 零数据上传:图片永远不会离开你的设备 * 即开即用:打开网页即可使用,无需注册登录 🎯 数学精确,非 AI 模型 * 基于反向 Alpha 混合算法(

Linux下libwebkit2gtk-4.1-0安装实战案例(从零实现)

Linux下 libwebkit2gtk-4.1-0 安装实战:从零搞定GTK 4应用的Web渲染引擎 你是否在开发一个基于 GTK 4 的桌面程序时,突然发现 webkit_web_view_new() 编译报错? 或者运行时提示“找不到 libwebkit2gtk-4.1.so.0 ”? 别急——这不是你的代码写错了,而是系统里缺了那个关键的 Web 渲染库: libwebkit2gtk-4.1-0 。 这玩意儿看起来只是个动态链接库,但它其实是现代 Linux 桌面应用中嵌入网页内容的“心脏”。无论是 OAuth 登录窗口、帮助文档展示,还是像 Epiphany 浏览器那样的完整 Web 客户端,都离不开它。 但问题来了:为什么这个包这么难装? 因为它依赖复杂、版本敏感、发行版支持参差不齐。Ubuntu