nios 和arm 是硬核还是软核?

本文深入探讨了SOPC设计中硬核与软核的概念,解释了它们在数字系统中的作用及差异,如ARM与NIOS的技术路线,并分析了基于FPGA的SOC设计方法的优势。

 核(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设计方法。

 

硬核是固化在FPGA内部的特殊硬件电路,简单理解的话,可以把硬核看成是嵌入在FPGA内部的ASIC。如嵌入式RAM,嵌入式乘法器,PLL等。
软核是用FPGA的通用逻辑资源(LUT+FF)搭建而成的。
从用户使用角度来看,二者没有什么开发难度上的区别,因为现在的主流厂商都把二者的开发集成在其IPcore开发工具里,Altera叫MegaWizzard Plug In Wizzard,Xilinx叫Core Generator。
性能上,一般硬核速度比软核高,整体功耗也要低一些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值