【芯片SoC设计概念】

0 Introduction

0.1 Concept

在芯片设计概念当中,有几个名词概念,先理解清楚;

  1. FPGA VS ASIC: FPGA芯片就是可编程芯片,可以进行在线编程等,在不考虑其他因素情况下,肯定是FPGA非常的好用;但是结合商业市场考虑,FPGA的资源更多的是属于浪费,成本太大;相反:做成ASIC后就是量体裁衣,专用开发,成本大大降下来;因此除了少数几家做通用芯片FPGA外,现在市场都是做ASIC芯片设计;还有另一方面,有的芯片比如通信芯片,门资源等使用巨大,所有FPGA也是无法盛下的;
    2.SoC VS ASIC: 这里面ASIC芯片相比上面是更狭义的概念;

1 SoC关注点

SoC更关注软硬件协同设计:
确定哪些部分需要硬化加速;

SoC架构设计:
* 处理器的选择:通用处理器-CPU,数字信号处理器-DSP;大小核设计,多核和众核设计;
* 存储器的选择
* 外设的选择
* 总线的选择:多个设备时–涉及仲裁;传输类型:fixed,Burst…
* 软件架构的设计
SoC架构设计关键任务:将设计划分为一系列硬件模块和软件任务,以及定义各部分之间的接口规范;

1.1 SoC总线

  1. 总线上存在多个设备,通过仲裁;一般策略:轮询和优先级;
  2. 传输类型:Fixed、Burst、Split、原子操作、Cacheable;
    AMBA是最最常用的总线协议;

1.2 SoC存储器

存储器典型的分层设计:越靠近CPU,越快,容量越小;

  • 寄存器:最近的存储器,运行频繁使用的数据;
  • Cache:一般分为D-Cache和I-Cache;一般分层组织为1级、2级、3级
    1级Cache为每个核独享;
    2级多核共享;
    3级为全部核共享;
  • 片内ROM:用来存在SoC系统的启动程序–Bootloader;
  • 片外主存:存放正在运行的系统程序、应用程序、数据及堆栈等关键信息;
    SDRAM、DDR2/3/4/5、LPDDR4/4x/5、HBM及GDDR5/6
  • Flash:外部和内部都可以用flash;
    常用来存放系统启动程序;容量大,非易失,多次读写;
  • Efuse/OTP

1.3 处理器

通用处理器-CPU,数字信号处理器-DSP;大小核设计,多核和众核设计;
核间通信架构方式:
1.共享Cache架构:共享二级或者三级Cache,多核Cache一致性是关键问题;
2.片上互联网络NOC架构,每个处理器具有独立的Cache,通过总线连接在一起,利用消息机制传递进行通信;–参考以太网Switch;

1.4 软硬件接口

系统架构设计需要定义好软硬件接口,才能保证软件的正常工作;主要接口有:

  • 存储空间映射–Memory Map:
  • 设备驱动
  • 初始化、复位、bootloader程序
  • 中断复位程序及中断向量
  • IO引脚的复用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值