电子电气架构 --- SOC设计流程及其集成开发环境

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧!
旧人不知我近况,新人不知我过往,近况不该旧人知,过往不与新人讲。纵你阅人何其多,再无一人恰似我。

时间不知不觉中,来到新的一年。2025开始新的忙碌。成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。

在这里插入图片描述

片上系统(SOC——SystemOnaChip)是指在单芯片上集成微电子应用产品所需的全部功能系统,其是以超深亚微米(VDSMVery Deep Subnicron)工艺和知识产权(IP——Intellectual Property)核复用(Reuse)技术为支撑。

SOC技术是当前大规模集成电路(VLSI)的发展趋势,也是世纪集成电路技术的主流,其为集成电路产业和集成电路应用技术提供了前所未有的广阔市场和难得的发展机遇。SOC为微电子应用产品研究、开发和生产提供了新型的优秀的技术方法和工具,也是解决电子产品开发中的及时上市(TTM——Time to Market)的主要技术与方法。

片上系统(SOC)引入导致嵌入式系统的设计方法变革

就目前现状而言,若以嵌入式系统所采用的核心器件——处理器进行划分,嵌入式系统可以分为三种类型:

-> 基于微控制器(MCU)的嵌入式系统;

-> 基于信号处理器(DSP)的嵌入式系统;

-> 基于微处理器(MPU)的嵌入式系统。

其中基于MCU的嵌入式系统是一种低端嵌入式系统,这种系统共同的特点是系统运行速度低、数据处理能力弱和存储空间有限(K级),因此只适合于低端的电子产品;基于DSP的嵌入式系统是中低端嵌入式系统,这种系统共同特点是系统运行速度较高、数据处理能力强,但是存储空间也是有限的(K级M级);基于MPU的嵌入式系统通常可以分为两种类型:基于CISC架构微处理器的嵌入式系统和基于RISC架构微处理器的嵌入式系统。

其中,CISC架构微处理器通常是由x体系结构进行嵌入应用扩展而获得一种类型的嵌入式处理器;RISC架构嵌入式微处理器可以分为三大体系结构:arm体系结构、PowerPC体系结构和MIPS体系结构。基于这三大体系结构的嵌入式处理器品种繁多,功能也各异。但基于此类处理器的

嵌入式系统共同特点是运行速度高、数据处理能力强、存储空间足够大(G级),因此是一种高端的嵌入式系统。

无论是低端、中端或高端嵌入式系统,其经典的设计方法仍然是一种板级电子系统设计方法:首先,根据嵌入式系统的设计要求,并且按一定的设计规则,把整个嵌入系统划分成具有特定功能的若干个功能模块,如处理器模块、信号采集模块、执行机构控制模块等;然后,根据系统模块划分的结果,选择现成已商品化的模块或自行研制各功能模块;最后,把这些模块组合成一个完整的嵌入式系统。随着集成电路技术的发展和嵌入式系统小型化和微型化等方面要求,板级电子系统设计已经开始出现如下几个方面的变化:

(1)嵌入式系统的核心器件——处理器(包括MCUDSP和MPU等)已经开始向单芯片系统方向发展。例如经典8051系列微控制器已经从原来只有简单的并行I/O和串行接口(UART)发展到具有并行I/O、多UART接口、红外线传输、A/D转换器、D/A转换器、模拟比较器、可编程模拟信号放大器、滤波器、PWM等的可编程片上系统(SOPC)型MCU芯片,即只需要极其少量的外围器件就可以完成一个具有特定功能的嵌入式系统的设计工作;

(2)嵌入式系统的核心器件——处理器(包括MCUDSP和MPU等)已经开始向平台级芯片方向发展,目前所推出的高档嵌入式处理器,无论是基于arm体系结构、PowerPC体系结构还是基于MIPS体系结构的高档嵌入式处理器,在单芯片上不仅具有各种功能的外围接口,而且通常内置有RISC协处理器(例如RISC微控制器数字信号处理器等),同时还具有测试和自开发接口,因此完全可以把其认为是一种硬件平台级芯片,这样使得嵌入式系统设计与开发重点由板级系统设计转到芯片级系统设计;

(3)嵌入式系统的核心器件——处理器(包括MCUDSP和MPU等)已经向高处理速度方向发展,从而使板级电子系统的PCB设计难度增加,设计重点不仅是PCB版图设计,更重要的是电磁兼容性和系统可靠性设计。由此可见,由于嵌入式系统的核心部件——处理器向片上系统(SOC)发展板级设计工作量逐渐减少,未来的嵌入系统的发展的重点将从板级电子系统设计转到芯片级电子系统设计上(即转移到片上系统设计上)。因此,基于片上系统(SOC)设计方法必将成为未来嵌入式系统的发展主流;

对于一般的嵌入式系统设计者来讲,尤其是国内的嵌人式系统设计者来讲,基于片上系统(SOC)的设计方法还是主要停留在板级电子系统设计方法层次,即利用已经推出的商用SOC芯片进行板级电子系统设计。这主要是由于设计工具资金集成电路工艺等方面的限制所致,但是由于近年来多晶圆(MPW)项目和CPLD/FPGA技术的发展,尤其是可编程片上系统(SOPC——SystemonaProgrammablechip)芯片的出现使得一般的系统设计者进入芯片级电子系统设计成为可能。自从1999年出现第一个可编程片上系统(SOPC)器件以来,已经有众多可编程器件供应商推出了具有自己特色的可编程器件,最为典型的是世界上两大可编程器件供应商——Xilinx公司和Altera公司在FPGA/CPLD基础推出的系列可编程片上系统器件。其中Xilinx公司先后推出的可编程片上系统器件有Virtex系列VirtexE系列、VirtexII系列、VirtexPro系列、Spaxtan系列、SpartanII系列等;Altera公司先后推出的可编程片上系统器件有APEX系统、APEX II系列、Mercury系列、Excalibur系列、Stratix系列、Cyclone系列等。每个系列器件都有多种产品,以适用于不同的应用要求。因此,对于国内一般的系统设计者来讲,基于可编程片上系统(SOPC)器件的嵌入式系统设计将是进入芯片级电子系统设计的敲门砖。

那么,从板级电子系统设计到芯片级电子系统设计转变将导致哪些方面的变化?主要表现在如下几个方面:

-> (1)在设计描述工具方面,传统的板级电子系统设计主要采用电路原理图和元器件外形封装图作为设计描述语言工具而现在的芯片级电子系统设计主要采用文本方式的硬件描述语言(HDL——Hardware Description Language)作为设计描述语言工具

-> (2)在设计流程方面板极电子系统设计主要经历电子系统原理图设计与仿真、印刷电路板(PCB)设计与仿真分板(包括信号完整性分析、电磁兼容性分析等)等二个阶段,而芯片级电子系统设计通常需要经历系统级设计与仿真、算法级设计与仿真、寄存器传输级(RTL)设计与仿真、逻辑综合与验证、版图设计综合与验证等个阶段;

-> (3)在软硬件协同设计方面,板级电子系统设计所采用的方法是先进行硬件系统设计后再进行软件系统设计的方法,难以实现软硬同步设计或协同设计,而芯片级电子系统设计可以比较容易实现软硬件同时设计或协同设计;

-> (4)在设计实现方面,板级电子系统设计主要基于具有特定功能的集成电路器件,而芯片级电子系统设计主要是基于具有特定功能的电路模块——知识产权核(IP核)。因此,板级电子系统设计与芯片级电子系统设计无论是在设计方法上还是在设计工具方面都发生了较大的变化。

随着现代信息技术的发展,电子产品生命周期越来越短,特别是电子工业技术不断发展,基于深亚微米和超深亚微米的超大规模集成电路技术的片上系统(SOC)芯片需求日益扩大,传统的板级电子系统设计方法已不能适应产业界对电子产品需求。因此,基于知识产权(IP)核复用的芯片级电子系统设计方法将成为嵌入式系统设计的主流方式。基于可编程片上系统(SoPC)的设计流程基于可编程片上系统(SOPC)的芯片级电子系统设计主要有两大支撑点:可编程片上系统器件所能提供的片上资源和可复用IP核库所能提供的IP核资源。

其中可编程片上系统器件所能提供的片上资源是由集成电路工艺技术发展决定的,对于系统设计者来讲,应根据设计要求尽量选择合适的器件;可复用TP核库所能提供的IP核资源需要通过系统设计者自行建设。在基于SOC的电子系统设计中,针对各类专门技术、专门应用、专门工具、专门生产工艺、专门产品的IP资源库的建设和共享已形成一种规范,贯穿在系统设计的全过程。图1为典型的基于IP核库的片上系统(SOC)设计流程:

在这里插入图片描述

从图可以看出,在基于可编程上系统(SOPC)的嵌入式系统设计流程中,除了需要强有力的EDA设计工具支持外,离开充分的资源库的支持,可以说是寸步难行,并且必将失去竞争力。从总体上讲,各个层次的IP库和EDA工具是芯片级电子系统设计者必备的两翼,可选的IP核库资源是一种设计者能力的表征。图2为芯片级电子系统设计中自顶向下设计方法的流程中所依赖的库支持说明。

在这里插入图片描述

在片上系统(SOC)设计流程中的软硬件协同设计

在片上系统(SOC)的设计流程中,除了依赖强有力的IP核库和先进的EDA(电子设计自动化)工具支持外,与传统专用集成电路(ASIC)设计流程最显著的区别在于——软硬件协同设计。图3展示了软硬件协同设计的一般流程,凸显了这一设计方法上的创新与突破。

在软硬件协同设计的过程中,传统的硬件描述语言(如VHDL、Verilog HDL)和软件设计语言(如C/C++)已难以满足这一新兴设计方法的需求。为此,必须引入新的系统级描述语言,以更好地支持软硬件协同设计。

基于可编程片上系统(SOPC)的集成设计环境

片上系统(SOC)设计所需的EDA工具,从硬件设计角度来看,在设计流程的前端与ASIC设计并无太大差异。然而,从整个芯片设计的宏观视角出发,这两种类型的芯片设计存在显著区别。这是因为,在SOC设计中,通常包含微处理器,所设计的系统级芯片必须与设备驱动程序、操作系统或嵌入式实时操作系统进行接口,同时还需要应用程序来完成数字计算、信号处理变换、控制决策等复杂功能。

因此,在设计的前期阶段,需要进行软硬件协同设计,以明确哪些功能应由硬件实现,哪些功能应由软件实现,并进行合理的功能划分。在设计的中后期,则需进行软硬件协同验证,即将软硬件设计置于一个虚拟的集成环境中进行仿真验证,以确保硬件性能达到设计目标,软件功能满足设计要求。

基于可编程片上系统(SOPC)的芯片级电子系统集成设计环境

根据可编程片上系统(SOPC)的设计流程和软硬件协同设计的一般流程,本文提出了基于可编程片上系统(SOPC)的芯片级电子系统的集成设计环境(如图所示)。此集成环境是一种典型的软硬协同设计集成环境(或平台),由两个不同层次、不同功能的EDA集成设计环境组成。

第一层次的EDA集成设计环境是SOC系统级集成设计环境,主要用于完成嵌入式系统的系统级设计。首先,需要根据客户的需求进行系统的功能定义和性能评估,以确定系统规格。其次,根据已确定的系统规格,运用系统级描述语言(如C/C++或System C等)进行系统设计描述与设计验证,以确保所定义的系统规格在功能上可以实现。再次,在验证了系统规格的功能可行性后,需要进行系统软硬件功能划分,以明确哪些功能由软件系统实现,哪些功能由硬件系统实现,哪些功能需要软硬件协同完成。对于既可通过软件系统实现也可通过硬件系统实现的功能,还需进行性能与成本的评估。最后,对于已确定的硬件系统功能,还需进行芯片与PCB(印刷电路板)功能的划分,以明确哪些功能可在芯片上实现,哪些功能只能在PCB上实现。

在这里插入图片描述

第二层次的EDA集成设计环境:SOC硬件与软件系统集成设计

第二层次的EDA集成设计环境,即SOC(系统级芯片)硬件系统集成设计环境和SOC软件系统集成设计环境,主要用于完成嵌入式系统的软硬件系统设计。在系统级设计的功能划分基础上,SOC的硬件系统设计和软件系统设计并行进行。

在硬件系统设计中,通常经历多个设计阶段:首先是行为描述与验证,包括硬件系统的系统级、算法级、寄存器传输级的行为描述与仿真验证;接着是逻辑综合与验证,以及可测性设计综合与逻辑生成;然后是器件适配与仿真验证,最后是器件物理编程与物理验证,以及版图生成与验证。其中,前几个设计阶段是基于SOPC(可编程片上系统)的硬件系统设计流程。

在软件系统设计中,也经历了一系列阶段:软件系统编辑、软件系统编译、软件系统仿真调试,以及软件系统编程等。

在软硬件系统设计过程中,为了确保系统的性能价格比达到最优,需要不断进行软硬件协同设计。通常在硬件系统行为描述与仿真之后,就可以将所设计的硬件系统与软件系统置于虚拟器件的软硬件协同仿真验证环境中,以验证硬件系统集成的系统所能达到的功能、性能、成本等,从而使得所实现的芯片级电子系统的性能价格比达到最优。

基于可编程片上系统(SOPC)的嵌入式系统集成设计环境是一个相当复杂的集成EDA开发环境。常见的可编程片上系统集成化EDA开发套件,如Altera公司的Quartus II系列EDA工具套件和Xilinx公司的ISE.x系列EDA工具套件,虽然储存集成化程度较高,但也难以达到理想中的集成化程度。因此,系统设计者需要根据现有的商用化EDA工具来构建这样的集成设计环境。有理由相信,在不久的将来,将会推出类似的集成EDA工具环境,而片上系统(SOC)正是嵌入式系统的发展方向。

在这里插入图片描述

嵌入式系统的核心:微处理器与SOC的发展

嵌入式系统的核心部件是微处理器。随着集成电路技术的发展以及电子产品及时面市的要求,微处理器(包括微控制器、数字信号处理器、嵌入式处理器)正向着单芯片系统方向发展。这使得基于片上系统(SOC)的电子系统成为嵌入式系统的发展方向和主流。

目前,国内的基于片上系统(SOC)的嵌入式系统设计大都停留在板级电子系统设计水平。然而,随着可编程片上系统(SOPC)器件的应用和发展,相信在今后的若干年内,基于SOC的嵌入式系统设计会逐渐过渡到芯片级电子系统的设计水平。由于芯片级电子系统设计方法与板级电子系统设计方法有着本质的区别,因此,对于系统设计者来说,了解与掌握芯片级电子系统的设计流程以及集成设计环境是至关重要的。

为此,本文以图示方式直观地给出了基于可编程片上系统(SOPC)的芯片级电子系统设计流程和集成设计环境,全面展示了芯片级电子系统所涉及到的问题。通常,需要采用System C(或其他类似语言)才能完成软硬件协同设计。这种设计通常是从一个给定的系统任务开始的,通过有效地分析系统任务和所需要的资源,采用一系列的变换方法,并且遵循特定的准则,自动生成符合系统功能要求和实现代价约束的硬件和软件框架。

这种全新的软硬件协同设计思想需要解决许多问题,包括系统级建模、系统级描述语言、软硬件划分、性能评估、协调综合、协同仿真以及协同验证等。

在这里插入图片描述

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/900030.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图扑 HT 电缆厂 3D 可视化管控系统深度解析

在当今数字化浪潮席卷制造业的大背景下,图扑软件(Hightopo)凭借其自主研发的强大技术,为电缆厂打造了一套先进的 3D 可视化管控系统。该系统基于 HT for Web 技术,为电缆厂的数字化转型提供了有力支撑。 HT 技术核心架…

【数据结构】邻接矩阵完全指南:原理、实现与稠密图优化技巧​

邻接矩阵 导读一、图的存储结构1.1 分类 二、邻接矩阵法2.1 邻接矩阵2.2 邻接矩阵存储网 三、邻接矩阵的存储结构四、算法评价4.1 时间复杂度4.2 空间复杂度 五、邻接矩阵的特点5.1 特点1解析5.2 特点2解析5.3 特点3解析5.4 特点4解析5.5 特点5解析5.6 特点6解析 结语 导读 大…

Docker Registry 清理镜像最佳实践

文章目录 registry-clean1. 简介2. 功能3. 安装 docker4. 配置 docker5. 配置域名解析6. 部署 registry7. Registry API 管理8. 批量清理镜像9. 其他10. 参考registry-clean 1. 简介 registry-clean 是一个强大而高效的解决方案,旨在简化您的 Docker 镜像仓库管理。通过 reg…

UART双向通信实现(序列机)

前言 UART(通用异步收发传输器)是一种串行通信协议,用于在电子设备之间进行数据传输。RS232是UART协议的一种常见实现标准,广泛应用于计算机和外围设备之间的通信。它定义了串行数据的传输格式和电气特性,以确…

机器学习算法分类全景解析:从理论到工业实践(2025新版)

一、机器学习核心定义与分类框架 1.1 机器学习核心范式 机器学习本质是通过经验E在特定任务T上提升性能P的算法系统(Mitchell定义)。其核心能力体现在: 数据驱动决策:通过数据自动发现模式,而非显式编程&#xff08…

perf‌命令详解

‌perf 命令详解‌ perf 是 Linux 系统中最强大的 ‌性能分析工具‌,基于内核的 perf_events 子系统实现,支持硬件性能计数器(PMC)、软件事件跟踪等功能,用于定位 CPU、内存、I/O 等性能瓶颈。以下是其核心用法与实战…

【大模型基础_毛玉仁】6.4 生成增强

目录 6.4 生成增强6.4.1 何时增强1)外部观测法2)内部观测法 6.4.2 何处增强6.4.3 多次增强6.4.4 降本增效1)去除冗余文本2)复用计算结果 6.4 生成增强 检索器得到相关信息后,将其传递给大语言模型以期增强模型的生成能…

Leetcode 合集 -- 排列问题 | 递归

题目1 子集2 思路 代码 题目2 全排列2 思路 代码 题目3 排列总和 思路 代码 题目4 排列总和2 思路 代码

vue-office 支持预览多种文件(docx、excel、pdf、pptx)预览的vue组件库

官网地址:https://github.com/501351981/vue-office 支持多种文件(docx、excel、pdf、pptx)预览的vue组件库,支持vue2/3。也支持非Vue框架的预览。 1.在线预览word文件(以及本地上传预览) 1.1:下载组件库 npm inst…

【trino】trino配置证书https tls/ssl访问

trini版本470 一、官方文档 doc 在Security/TLS and HTTPS、Security/PEM files和Security/JKS files下 openssl文档 二、配置trino 2.1 创建server.cnf文件 [ req ] distinguished_name req_distinguished_name req_extensions v3_req[ req_distinguished_name ] coun…

ZCC8702,LED驱动芯片的“六边形战士”可替代SY8707

在LED照明的璀璨舞台上,驱动芯片犹如幕后英雄,默默掌控着灯光的闪耀与变幻。ZCC8702作为一款集大成的LED驱动芯片,凭借其卓越的性能、广泛的应用范围和出色的稳定性,成为了这个领域中当之无愧的“六边形战士”。今天,就…

Vue 数据传递流程图指南

今天,我们探讨一下 Vue 中的组件传值问题。这不仅是我们在日常开发中经常遇到的核心问题,也是面试过程中经常被问到的重要知识点。无论你是初学者还是有一定经验的开发者,掌握这些传值方式都将帮助你更高效地构建和维护 Vue 应用 目录 1. 父…

Git Restore 命令详解与实用示例

文章目录 Git Restore 命令详解与实用示例1. 恢复工作区文件到最后一次提交的状态基本命令示例恢复所有更改 2. 恢复某个文件到特定提交的状态基本命令示例 3. 恢复暂存区的文件基本命令示例恢复所有暂存的文件 git restore 的常见选项git restore 与 git checkout 比较总结 Gi…

AI 防口误指南_LLM 输出安全实践

在数字化转型的浪潮中,大语言模型(以下统称LLM)已成为企业技术栈中不可或缺的智能组件,这种强大的AI技术同时也带来了前所未有的安全挑战。它输出的内容如同双面刃,一面闪耀着效率与创新的光芒,另一面却隐藏着"幻觉"与不…

程序化广告行业(55/89):DMP与DSP对接及数据统计原理剖析

程序化广告行业(55/89):DMP与DSP对接及数据统计原理剖析 大家好呀!在数字化营销的大趋势下,程序化广告已经成为众多企业实现精准营销的关键手段。上一篇博客我们一起学习了程序化广告中的人群标签和Look Alike原理等知…

运维之 Centos7 防火墙(CentOS 7 Firewall for Operations and Maintenance)

运维之 Centos7 防火墙 1.介绍 Linux CentOS 7 防火墙/端口设置: 基础概念: 防火墙是一种网络安全设备,用于监控和控制网络流量,以保护计算机系统免受未经授权的访问和恶意攻击。Linux CentOS 7操作系统自带了一个名为iptables的…

第十五届蓝桥杯大赛软件赛省赛Python 大学 C 组题目试做(下)【本期题目:砍柴,回文字符串】

okk,大伙,这一期我们就把C组的题目刷完。 本期题目:砍柴,回文字符串 文章目录 砍柴题目思路分析举个栗子思路总结 代码 回文字符串题目思路分析代码 感谢大伙观看,别忘了三连支持一下大家也可以关注一下我的其它专栏&a…

Design Compiler:库特征分析(ALIB)

相关阅读 Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482 简介 在使用Design Compiler时,可以对目标逻辑库进行特征分析,并创建一个称为ALIB的伪库(可以被认为是缓存)&…

MySQL索引原理:从B+树手绘到EXPLAIN

最近在学后端,学到了这里做个记录 一、为什么索引像书的目录? 类比:500页的技术书籍 vs 10页的目录缺点:全表扫描就像逐页翻找内容优点:索引将查询速度从O(n)提升到O(log n) 二、B树手绘课堂 1. 结构解剖&#xff0…

全连接RNN反向传播梯度计算

全连接RNN反向传播梯度计算 RNN数学表达式BPTT(随时间的反向传播算法)参数关系网络图L对V的梯度L对U的梯度L对W和b的梯度 RNN数学表达式 BPTT(随时间的反向传播算法) 参数关系网络图 L对V的梯度 L对U的梯度 L对W和b的梯度