注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

dp: 生活的脚步,进步的点滴...

Cam、DSP、FPGA、PM、Life、More ...

 
 
 

日志

 
 

SOC:NIOS II vs ARM  

2012-10-22 09:01:17|  分类: 专业 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

       要使用SOC之前,我们必须先考虑一个问题,我们所建立的SOC功能为何,目的为何,如果说只是单纯建立几个基本正反器,或者是几个简单的逻辑闸组成的电路,小弟是认为这用硬件描述语言就可以解决,甚至于买块面包板跟IC回来插一插就搞定了,若说用到SOC 有点杀鸡焉用牛刀之感,所以确定自己的需求是相当重要之事。
        SOC 顾名思义就是System on Chip,至于要在一颗chip上建立一个system而言,并不是可以用简单的HDL就能处理的,我们先思考几个问题。
        既然是system 那么是怎样的system?什么样的对象(或硬件)算得上on chip?在system部分分成两部分一个是硬件、一个是软件,在硬件的部份 包含在SOC里面有许多部份。
        我们以Altera NIOS II嵌入式系统架构来说,里头包含了CPU, Bus, On-Chip Memory 等等,这些全是硬件的部份,也就是说要建立一个SOC的最基础,就是要从这里开始。
        我们可以这样想,在框框外是实体的硬件,也就是真正看得见的chip或硬件(如LED, LCD等等),而要让它们动作,得靠我们所设计的controller或driver,而这方面的设计,可依我们的需求会有所不同,这也是NIOS II最大的特点。
        另外我们再来看另一个架构--ARM系统。首先是系统问题, 似乎ARM的系统远比NIOS II复杂,且架构也比NIOS II大,感觉ARM的功能性比NIOS II强大,那么两者的差别到底在哪里?
        这个问题的解答正是各家SOC不同的地方,撇开CPU的架构而言,另一个差别就在于BUS,NIOS II的BUS名为Avalon Bus,ARM的为AMBA Bus,而ARM的AMBA又分为两个:AHB和APB。
        AHB主要是掌管内存部分,APB是掌管硬件周边,在两个BUS的双重使用下,可更容易降低CPU的负担,感觉上在这方面似乎NIOS II的BUS逊色不少,但各位也别忘了,NIOS II的优点在于硬件是客制化的(Custom),也就是说,NIOS II也可以实现双BUS架构,因此只要是在FPGA内的LE够的话,想要扩充不是问题。
        那么ARM是否就没有缺点了呢?这个答案是否定的,ARM的缺点就在于硬件的弹性,在NIOS II里,我们可以依据自己的需求而增加所要的硬件,而在ARM的话,硬件的设计是包好的,也就是说,BUS分成两条就是两条,而我们也不能将APB所连接的组件连到AHB上面,所以在限制上,ARM的硬件弹性比NIOS II低。
        先前说过,SOC分成两大部分:硬件和软件,刚刚已经稍微介绍了两个平台的硬件,接着我们从软件的角度来分析。
        首先在NIOS II上面,当硬件架设好后,就是要将软件运行在所设计的硬件上,在NIOS II里所采用的是MicroC/OS-II,而ARM上面的OS则可支持很多,例如uCLINUX, WINCE, VxWork等等,这并不是说NIOS II就不支持,只是在porting上比较复杂。
        另外一提, 在NIOS II上的OS是要自己规划的,也就是说我们引进了OS的基本函式库后,在什么时间该执行哪个TASK是自行设定,这个设定跟一开始在硬件时的设定有关,所以在使用OS上就显得麻烦了一点,相对于uCLINUX,就有点像是一般安装LINUX,只要针对自己的硬件,给定相对应的参数即可。
        有了OS,再来谈Application Software,在ARM上面开发软件确实比NIOS II方便,它就像是一台小型的PC,而我们只需要在PC上安装开发软件即可,但在NIOS II上,光是要做一个软件接口就不是十分容易,因此在软件部分, ARM略胜NIOS II一筹。
        说到这里,相信各位应该对SOC有了基本的认识,其实SOC的平台很多,在此虽然只举出两个例子供大家比较,而我们可以在此给两者做个结论,若各位的设计是比较偏向硬件,可选择NIOS II,若是偏向软件,ARM是比较方便,我想这也是为何业界偏好使用ARM来开发商品而不用NIOS II,不过,谁好谁坏,还是看需求为主,这是没有绝对的。
        但请记得,SOC的主体架构是相同的,差别只在于CPU与BUS的架构,这才是SOC的灵魂,也是主宰SOC效能的最大主因。

参考文件:
Nios II Processor Reference Handbook
基于ARM的SOC设计入门
转自:http://roger7313.blogspot.com/2007/09/soc.html


  评论这张
 
阅读(811)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016