前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是SOC?

什么是SOC?

作者头像
用户10108023
发布2022-10-28 16:07:51
7310
发布2022-10-28 16:07:51
举报
文章被收录于专栏:不二鱼的芯片验证记录

从这篇文章开始,我会以一个从材料转行IC验证的人,一个纯小白的角度,更新在转行验证这一路我所接触的一些概念性的问题,以作为抛砖引玉之用。如果是科班,这些概念可能在我们求学阶段就应该烂熟于心了,所以我们后期也要加强学习,赶上他们。

一直以来都有很多人问我,SOC是什么?FPGA怎么样?嵌入式又是什么?和ASIC又有什么区别?这些问题够我更新很久的了,希望接下来,我能把这些问题都讲清楚。我也在持续学习的过程当中,如果有说得不对的地方,欢迎留言批评指正。

SOC是我转行IC验证之后接触的第一个概念,说实话,在我转行入职的时候,对于硬件,我完全没有什么概念,压根不知道什么是SOC。有的概念可能你目前也不知道,所以我推荐一本唐朔飞老师写的《计算机组成原理》,这本相对于我之前推荐的那本,会更加简单一点。

SOC,是System on Chip的缩写,翻译过来就是系统级芯片,也有称片上系统。既然是系统,单个就称不上系统,只有多个个体的组合才能称之为系统,所以,SOC强调的是一个整体。用“麻雀虽小五脏俱全”来形容SoC,再确切不过了。SoC是模仿计算机系统,微缩成了一个微系统。在我接触过的SOC芯片中,硬件的大概的组成是:核心(core),存储,外设接口(高速外设和低速外设),总线,中断模块,时钟模块等。在验证阶段,这些都是用verilog代码实现的,你是看不到实体的。先简单说一下这几个的概念,以后再逐一展开。核心类似于计算机中的CPU(中央处理器),包含多个小模块,存储分为很多种,像SRAM,DRAM,ROM之类的;外设接口可以理解为芯片对外的通信接口,与外界交互的接口;总线就像一根藤,而核心、存储、外设就像挂在藤上的葫芦娃,总线是这些“葫芦娃“交流的窗口。

SOC是一个整体的概念,再细化一下,便到了每个模块。在一个SOC成型之前,设计工程师用verilog代码把每个模块敲出了,粗略进行模块级的验证,在模块级验证通过之后,会通过总线把各个模块集成在一起。目前来说,应用比较广泛的总线协议是AMBA总线,包括AXI,ASB,AHB,APB,我在工作中最常接触到的就是AXI和APB,前者主要是挂一些高速的核心外设,DDR之类的,APB主要是挂一下低速的外设,先大概了解一下,以后再细讲。“挂”概念就是,通过例化把相互间的信号线连在一起。国内很多公司的“葫芦娃”并不是自己“长”的,都是从国内外一下专门做IP的公司买的IP,也就是模块,然后把这些IP,集成到一起,组把“葫芦娃”都挂在藤上,成一个SOC芯片。默认情况下,这些IP都是好的,所以这类公司的验证工程师干的活就是验证连接性,也就是验证集成是否正确,功能是否达到。这种对包括核心、外设、总线和存储等的验证,这也就是系统级的验证。当然,并不是所有的模块都是买,也有一些小的模块是可以自己写的。

看到这里,不知道你对SOC的概念,有没有多一点理解,希望对你有帮助,如果对你有帮助,麻烦点个赞。我是不二鱼,欢迎关注我。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 不二鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档