前言:通过一个SoC项目实例,了解SoC的架构,初探数字系统设计流程;花最短的时间,走最少的弯路,学最多的IC验证技术知识。
一、SoC架构图:核心功能和设计目标
SoC是基于通用处理器这样的思路进行设计的,与PC设计思路一样。即通用处理器是由 CORE + MEM 两部分组成,修改软件来实现不同的功能,电脑还是同一个电脑,硬件组成还都是一样的。
SoC架构图四大组成部分:
- 1、核 CORE
- 2、存储 MEM
- 3、外设 IO
- 4、总线 BUS
SoC总的架构图如下:
1.1、SoC - 核 CORE
对于核来讲,现在主流的核有三类:
1、CISC(Complex Instruction Set Computer - 复杂指令集计算机)
- x86为代表,公司有AMD和INTEL,PC和Server用这类核比较多。
2、RISC(Reduced Instruction Set Computing - 精简指令集计算机)
- ARM为代表,手机芯片、嵌入式系统等用这类核比较多。
- ARM-M系列:低端,常用在微控制场景,如MCU
- ARM-R系列:中端,常用在实时场景,如医疗器械,路由交换机
- ARM-A系列:高端,常用在高端应用场景,如手机芯片
3、RISC-V(开源)
- 基于ARM和x86之间,可以进行灵活的切换和组装
- 暂没有成熟的商用体系,没有生态支撑
架构图为SoC系统的核,此处使用的是ARM 公司的Cortex-M3/M4内核。
同时,I-Code表示指令代码,D-Code表示数据代码。JTAG用来调试芯片,下载调试程序使用。
注:
I-Code
、D-Code
即I-Cache
、D-Cache
,这个可选的,并不是每个SoC都会用到,需要根据实际芯片的规模和需求!
1.2、SoC - 存储 MEM
架构图,中间部分为SoC系统的存储,此处包含PFlash和SRAM两种。
PFlash(硬盘)中的数据掉电不丢失
- 如果PFlash不够用,可以外扩Flash,如
NFC(Nand Flash Controller)
SRAM(内存)中的数据掉电丢
- SRAM是静态随机存储器(Static Random Acess Memory),与之相对的还有一种是动态随机存储器(Dynamic Random Acess Memory)。DRAM需要不断的刷新才能保持住数据,SRAM是不需要刷新的!
- DRAM的密度很高,所以当存储数据容量很大的时候组出来的Memory面积就会小一些!SRAM通常用在小的SoC中!
- 如果S