1.什么是SoC?
SoC即系统级芯片,片上系统芯片。简单说来,就是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。如果说集成电路是楼房对平房的集成,那么SoC就是城镇对楼房的集成。将饭店、商场、医院等集中在一起,构成了一个小镇的功能。平板的SoC上就集成了处理器内核、图形处理器内核、视频编码处理器等多种集成电路。对于性能要求较高的应用,如视频、音频等使用了专用处理器实现加速,而一般应用程序则通过软件实现,便于工程师们随时修改、更新。两者分配得好的话适应性会更强。由此可见,SoC需要软硬件协同设计。
2.什么是软硬件协同设计?
软硬件协同设计是使软件设计和硬件设计作为一个有机的整体进行并行设计,实现软硬件的最佳结合,从而使系统获得高效工作能力。
SoC设计前往往需要确定整体的软硬件架构,比如哪些功能由硬件实现、哪些由软件实现、相应软硬件模块的具体算法以及硬件模块之间的互联方式。因此,SoC设计前必先经过系统级设计阶段,即电子系统级(electronic system level,ESL)设计。
电子系统级设计流程的输入是设计规格(specification),而输出则是整个SoC的架构,包括系统功能的软硬件划分、系统互联方案,以及判断其中是否需要外购的IP模块、已开发再利用的IP模块、或需要自行设计的软硬件模块、及其算法。一旦确定就可以进行后续的RTL设计和软件开发。
如今,工程师们有专门的架构设计软件进行SoC设计。这大大减小了工程师们对建模的投入时间和建模学习的挑战,获得更佳的效率和精准度。想知道都有哪些吗?点赞、关注加转发,为你带来更多EDA硬核科普。