Sep
13
[News]ARM发布Cortex-M1 - For FPGA
新闻来自
[EmbeddedTechJournal]ARM Optimizes for FPGA (2007.3.20)
[FPGAJournal]ARM and Altera (2007.9.11)
ARM一开始为Actel做软核并不引起多大的反响,可能一来因为他们两家本来就是合作伙伴,二来Actel的影响力实在不够大。
半年之后,ARM(其实是ARROW)又推出了为Altera优化的Cortex-M1核,又引起了人们无限的猜想
——ARM只和A开头的公司合作么?
——Altera会是最后的合作伙伴吗?
——ARM加入FPGA软核提供商行列会对FPGA的发展产生怎样的影响呢?
首先我认为A-company不会是终结。
看这趋势,就觉得ARM要做一个FPGA业界通用的软核,性能不一定是最高的(FPGA厂商自己做的软核肯定是最适合自己的硬件的,要做到通用就可能需要牺牲一些性能,但是ARM也能根据各个FPGA做不同的优化,所以性能也不会差),但通用性一定是最好的——硬件的通用性:可以在各种FPGA上实现,而不仅局限于一家;软件的通用性:使用统一的平台开发软件,软件代码兼容。如果要做通用系统,就不可能放弃Xilinx这块至少现在还占据大半江山的大肥肉了。
接下来看看ARM是怎么做的。
ARM and Altera一文中提到,要使用Cortex-M1,必须使用Altera的SOPC Builder去例化Cortex-M1核。而且整个嵌入式系统所使用的总线是Altera的Avalon总线,而不是他自己的AMBA,原因就在于在FPGA内部,厂商已经为自己的软核订制好了很多peripheral IP。如果坚决使用AMBA,那么这些IP就必须重写,这显然是费时费力的事情。 所以ARM需要做的,就是把Cortex-M1优化为适应FPGA的结构(LUT Based),而且把CPU总线改成FPGA厂商的总线——我想应该不是在自己的总线外部加总线转换,这样效率实在低下。最后的成果需要在用户层看上去所有的指令都对应同样的操作,底层的实现就看他优化的本事啦。
这是机遇也是挑战。
ARM的加入对于稍显混乱的FPGA Embedded市场显然是一个振奋人心的消息。ARM的加入也会带动更多的IP厂商为FPGA写IP Core。服务完备,客户自然也会更愿意用这样的系统。
对于设计者而言,这样的系统很适合做prototype。当FPGA内的软核性能不够用,可以很方便地将CPU移到外部,用一个更贵更快的ARM芯片。当在FPGA内做完设计,也可以很方便地根据FPGA厂商的工艺将FPGA设计固化为ASIC以降低成本。
对FPGA厂商而言,通用就意味着客户粘性的降低,同时意味着客户数量的潜在增长。另一方面,厂商自己的CPU IP Core也同时受到了挑战。
参考资料:
http://www.arm.com/products/CPUs/ARM_Cortex-M1.htm...
http://www.arm.com/fpga/index.html
[EmbeddedTechJournal]ARM Optimizes for FPGA (2007.3.20)
[FPGAJournal]ARM and Altera (2007.9.11)
ARM一开始为Actel做软核并不引起多大的反响,可能一来因为他们两家本来就是合作伙伴,二来Actel的影响力实在不够大。
半年之后,ARM(其实是ARROW)又推出了为Altera优化的Cortex-M1核,又引起了人们无限的猜想
——ARM只和A开头的公司合作么?
——Altera会是最后的合作伙伴吗?
——ARM加入FPGA软核提供商行列会对FPGA的发展产生怎样的影响呢?
首先我认为A-company不会是终结。
看这趋势,就觉得ARM要做一个FPGA业界通用的软核,性能不一定是最高的(FPGA厂商自己做的软核肯定是最适合自己的硬件的,要做到通用就可能需要牺牲一些性能,但是ARM也能根据各个FPGA做不同的优化,所以性能也不会差),但通用性一定是最好的——硬件的通用性:可以在各种FPGA上实现,而不仅局限于一家;软件的通用性:使用统一的平台开发软件,软件代码兼容。如果要做通用系统,就不可能放弃Xilinx这块至少现在还占据大半江山的大肥肉了。
接下来看看ARM是怎么做的。
ARM and Altera一文中提到,要使用Cortex-M1,必须使用Altera的SOPC Builder去例化Cortex-M1核。而且整个嵌入式系统所使用的总线是Altera的Avalon总线,而不是他自己的AMBA,原因就在于在FPGA内部,厂商已经为自己的软核订制好了很多peripheral IP。如果坚决使用AMBA,那么这些IP就必须重写,这显然是费时费力的事情。 所以ARM需要做的,就是把Cortex-M1优化为适应FPGA的结构(LUT Based),而且把CPU总线改成FPGA厂商的总线——我想应该不是在自己的总线外部加总线转换,这样效率实在低下。最后的成果需要在用户层看上去所有的指令都对应同样的操作,底层的实现就看他优化的本事啦。
这是机遇也是挑战。
ARM的加入对于稍显混乱的FPGA Embedded市场显然是一个振奋人心的消息。ARM的加入也会带动更多的IP厂商为FPGA写IP Core。服务完备,客户自然也会更愿意用这样的系统。
对于设计者而言,这样的系统很适合做prototype。当FPGA内的软核性能不够用,可以很方便地将CPU移到外部,用一个更贵更快的ARM芯片。当在FPGA内做完设计,也可以很方便地根据FPGA厂商的工艺将FPGA设计固化为ASIC以降低成本。
对FPGA厂商而言,通用就意味着客户粘性的降低,同时意味着客户数量的潜在增长。另一方面,厂商自己的CPU IP Core也同时受到了挑战。
参考资料:
http://www.arm.com/products/CPUs/ARM_Cortex-M1.htm...
http://www.arm.com/fpga/index.html
查看Synplify支持综合的primitive
[News]用了Digilent Spartan3板子的超大屏幕任天堂DS



