NIOS and ARM,硬核还是软核?

  核(CORE)是一个数字系统的核心,负责整个系统的内存调度,中断管理,算术逻辑运算等,如同整个系统的大脑,是由物理电气实现逻辑功能的关键。尽管复杂,但不可忽略的是,核同其他数字器件一样,也是一个典型的逻辑器件(准确的说是时序逻辑),也由逻辑门、触发器构成,那么也就可以由硬件描述语言来描述。

  既然核可以由HDL来描述,那么对于每一个特定功能和性能(即逻辑的时序和功能特定)的核而言,必有一组HDL描述等价于它,而具体的器件信号、封装等,只不过是这组HDL依赖具体工艺的一种物理实现罢了。因此,我们应该认识到,所谓核,本质上是一种知识产权,是一种特定的可描述的逻辑结构。

  在SOPC的设计中涉及到软核和硬核的概念,相对应的是NIOS和ARM两条技术路线。从本质上来说,NIOS和ARM是一样的,因为作为核,它们都是一套可描述的实现算术逻辑的方案。说到这里也就更容易理解为什么ARM公司是一家卖知识产权的公司,而不是生产芯片的公司了。但在普遍意义上,又总认为ARM是硬核而NIOS是软核。这是因为我们在谈到ARM这个词时,往往指的不是那个做解决方案和知识产权的ARM,而是那些买了ARM知识产权并用自己的工艺生产出了特定封装的芯片的ARM OEM(三星,TI,ST等),从这个意义上来说,ARM作为一种逻辑已被固化的集成电路,是一个硬核。而NIOS则自始至终以硬件描述语言的形式提供,这就像软件向用户提供了源代码一样,使得用户可以自窥其内部的机理,可以按照自己的需求二次开发、个性定制,而不必像使用ARM芯片(正如商业非开源软件)一样,只能接受被OEM固化的定制,而无法在核的层面上进行二次开发和配置。因此相信你也感受到了NIOS的确很软。

  软核也好硬核也好,再加上外设控制模块,这些都是数字电路,都可以用同一种元素和结构来描述,都遵循同样的设计方法和标准,因此也便可以把它们都集成在一片FPGA上,这就是基于FPGA的SOC设计的原理,也正是因为这种一致性和集成化带来的诸多优点,使得基于FPGA的SOC设计方法成为一种重要的SOC设计方法。

posted @ 2013-09-15 01:02  午后阳光*  阅读(3048)  评论(0编辑  收藏  举报