概述
SOPC概述
一、什么是SOPC
-
SOPC——英文是System 0n Programmable Chip,它是一种SOC(System 0n Chip)的解决方案。是由Altera公司提出的,使用可编程逻辑器件(FPGA)构造片上系统。
-
SOC——讲到SOPC,就会引出SOC,SOC是什么,长期以来对SOC的具体含义争论不休,我认为主要原因就是SOC的解决方案与最终实现的目标不是固定的。尽管如此,大家还是有一个共同的认知那就是SOC在一个硅基芯片上面实现了,处理器、模块接口、存储器等。用一句通俗的话说:在一个芯片上面实现了一个系统的最小单元。用一张不是很很严谨的图来说明一下。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yhyi3NA4-1645150244711)(F:EDA_learing 0_teachingblogSOC.jpg)]
-
SOPC和SOC——SOPC是SOC的一种解决方案,也属于SOC的一种,这种解决方案的优点是:灵活性高,可扩展性强,开发周期短,不需要掩膜和流片。缺点是:单片成本高。
-
SOPC的设计——SOPC的设计不像SOC的设计那么复杂,很多底层的设计均由EDA软件来完成,设计人员仅仅需要完成顶层架构的设计就可以。但是,SOPC的设计还是需要了解很多SOC的相关概念,比如地址、总线等。
二、SOPC的分类
SOPC一般以处理器的不同来进行分类(好像SOC也是这样子的,我个人认为不同的处理器,有不同的系统架构,所以可以作为分类标准),SOPC的分类包括:硬核SOPC系统,软核SOPC系统,HardCopy SOPC系统。
- 硬核SOPC系统
- 处理器已经预先移植在FPGA中
- 处理器往往是第三发提供
- 成本价格较高,这是关键,硬核一般是要收钱的
- 处理器设计的灵活性不够
- FPGA主要用于处理器外围接口的设计
- 软核SOPC系统
- 处理器是Altera公司,或者FPGA公司提供,当然你用谁家的FPGA就用谁家的内核,这个内核一般是免费的,在这里个人认为(xlinx的内核以及IP做的比Altera公司做到要完善很多)。
- 处理器并没有事先植入,可以在EDA设计工具中对内核进行增、减、修改。
- 设计就很灵活了。
- HardCopy SOPC系统
- 这个,个人认为就是一个奇葩
- 我个人认为就是,把软核设计好的SOPC系统,重新打包一遍然后,找个空白的硅基芯片掩膜,流片一下,做成批量的专用芯片。
- 这样做的好处当然是可以降低单片的成本,关键是你需要有很大的用量啊
- 当然对于应用型的公司而言,这个就是奇葩了,但是对于芯片公司来说,这个就较为实用了。
三、用Altera公司的系列芯片设计SOPC的工具链
使用Altera公司的系列芯片,如:Cyclone、Stratix、Arria等系列的器件,开发SOPC的时候,如果不考虑时序仿真的情况下,使用到的EDA工具一般有三个,分别是:Quartus、SOPC Builder、Nios IDE。这三个工具在之前分别是独立安装的,现在基本上已经都集成在Quartus中了。
- 从软件安装的角度上说,目前仅仅安装Quartus就可以了,别的EDA工具已经集成在这个工具软件中了。
- 从使用的角度上说,三个工具都要用到,三个工具详细的作用和使用过程,在后续的课程中我们详细讲解
- 在这里简单了解三个工具分别的作用是什么
- Quartus——建立EDA工程,在EDA工程中可以通过图形化设计完成SOPC系统的搭建与设计,也可以使用硬件描述语言自行编写一些IP核。
- SOPC Builder——这是它之前的名字,现在的名字叫“platform designer”,它主要的作用是构建SOPC的硬件结构,你不需要纠结这里讲的硬件结构和SOPC系统有什么区别(说实话我也经常傻傻的搞不清楚),我是这么认为的,在这里构建的硬件结构事实上是构建了一个单片机。因为今天好多东西都可以叫SOC,单片机也是SOC,所用没有办法很严谨的从概念上去区分。
- Nios IDE——现在是eclipse,这个就很纯粹了,它就是编写单片机程序的一个软件,作用和“Keil”的作用很像,是真的很像,接近度在90%多,主要还是eclipse在很多方面没有keil做的好,做的完善。
祝大家学习愉快!!!
马上我们就进入到了SOPC的学习环节。
最后
以上就是体贴大山为你收集整理的SOPC概述SOPC概述的全部内容,希望文章能够帮你解决SOPC概述SOPC概述所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复