bityoung 发表于 2011-12-9 23:04:49

FPGA CPU的运行频率问题

求教为什么CPU或DSP的运行频率已达Ghz;但是主流FPGA的运行频率还停留在百Mhz级别呢?

bityoung 发表于 2011-12-9 23:08:08

没有达人指点一下吗?

lichen867 发表于 2011-12-10 00:06:56

可编程与纯定制的区别。

zkf0100007 发表于 2011-12-10 00:08:18

因为FPGA要实现硬件可编程,要考虑通用性,就要在运行速度上有所折衷;如果是ASIC速度就可以做的很高
DSP和CPU的结构是经过专门优化的,不用考虑硬件上的可编程和通用性,所以速度可以很高
个人理解,不一定对

d-link 发表于 2011-12-10 01:18:50

看你们老板钱够不够多..势力大不大

有市场的晶片一般都要等2~3年后才会留出来,然后重新包装上市...例如:Mixxxxhip..AxR..

由其是 3C 市场更是竞争激烈

第一线:家电龙头老大
第二线:进口代理商(自己拥有开发能力,又是独家代理)
第三线:...善良无知的人民..

FPGA 其实也差不多,想要保护好就得拿钱来保护,,,不然下场就像Xil..xx 通通可以破
ALxxA 也有保护强的 FPGA但是售价不是人民销费的起

zkf0100007 发表于 2011-12-10 21:25:04

楼上高人 , 说的云里雾里的 ,甚是不解 .
不过 Xilinx作为 FPGA的发明者 ,没这么菜吧 ,无意为 X和 A辩解 , 毕竟都是人家的东西 , 只是军品宇航等高端器件都不见 Altera的踪影

1ongquan 发表于 2011-12-10 22:43:47

难道x家的芯片能上飞船,只听说爱特反熔丝能抗辐射

zkf0100007 发表于 2011-12-10 23:51:38

不能一棍子打死,Actel的反熔丝是不存在配置位翻转的问题,但Xilinx也有辐照加固型器件,虽然与反熔丝不是一个级别,但是飞船上也不全都用反熔丝的,某些不是很关键的模块也是可以采用Xilinx的SRAM型FPGA的

d-link 发表于 2011-12-11 01:11:13

当年...
Microchip 号称将溶丝藏在晶片底下...最后还不是被破,结果厂商大赚一笔.
STC51 自己查查看号称第几代保护?最后骗钱还骗不够,持续诈骗中....
FPGA 厂商不是有什么金轮+DNA+反溶丝技术吗?比诈骗更高的名词都出现..必竟知识份子的学问比较高,所以诈骗手法当然要更高.

这种诈骗手法看太多了,全世界其实没有真正能保护的晶片,因为都是矽锗等原素,除非能能发明其他物质....

设计光罩的公司只是没对外公开推销,不然..全世界的晶片通通可以复制,只是钱要准备好....

nono2000 发表于 2011-12-11 01:30:04

我们公司配合代理商复制一款日本停产的特效晶片,花费听说 6 位数就可以。


追求保护晶片的人有点笨,因为在他们眼里每个零件都类似直插(比喻),只是你没有特殊工具看。

Nuker 发表于 2011-12-11 16:18:59

这个楼完全歪了

USACH 发表于 2011-12-11 17:55:35

回复【8楼】d-link
-----------------------------------------------------------------------

谈及FPGA和IC复制不得不谈下intel。

淫特尔的工艺搞,虽然AMD在兼容性方面下intel妥协,作为Afan,不愿说抄袭。但是毕竟仿还是比不过人家。
虽然有段时间amd的指令集之类的可能有优势,但是一直屈服在淫特尔的淫威下。

所以你只要比设计别人高,工艺比别人高,就是放开抄也没什么。


FPGA么。看看这个:

相比Intel的鼎鼎大名,合作中的另一方Achronix几乎不为人所知。根据互联网上的已知信息,这家公司可以算是FPGA领域的后起之秀,其可编程芯片产品主打高端,近两年来在业内发展良好,从2008年起一直使用台积电的65nm工艺制造产品。有了Intel 22nm先进工艺带来的性能、功耗和成本优势,Achronix在FPGA领域的相信将更具竞争力。

Achronix表示,使用Intel 22nm工艺打造的Speedster22i,对比市面上的任何FPGA芯片性能优势达到300%,功耗可降低50%,成本也要低40%,可谓全球最强FPGA。Speedster22i有两种版本:Speedster22i-HP对应高性能,最高频率1.5GHz,阵列密度为10万到70万LUT;Speedster22i-HD高密度版本最高频率750MHz,但密度可达到10万到250万个LUT,相当于拥有2000万个栅极的大规模集成电路。


应用领域方面,该高性能FPGA可用于通讯、网络、工业及消费等各种领域,比如100G/400G以太网络,LTE下代移动通讯设备等。另外,由于Speedster22i将在Intel美国境内晶圆厂制造,符合美国Z.F.在安全方面的苛刻要求,因此可以应用在美国的航天或军用设备中。



所以你要像中国Z.F.一样有钱,想美国Z.F.一样有权利,GHz级别的以上的FPGA根本不是梦想。

bityoung 发表于 2011-12-11 19:35:18

回复【3楼】zkf0100007
-----------------------------------------------------------------------

觉得你说的有道理;但是,能再说得具体一些吗?这个问题困扰我挺长时间了,谢谢!

d-link 发表于 2011-12-11 20:39:29

回复【楼主位】bityoung
求教为什么cpu或dsp的运行频率已达ghz;但是主流fpga的运行频率还停留在百mhz级别呢?
-----------------------------------------------------------------------
你对 FPGA 应用还不是很了解...在苦读 10 年吧...

bityoung 发表于 2011-12-11 20:46:45

回复【13楼】d-link
-----------------------------------------------------------------------
对FPGA,我确实不是很了解;但是我问的这个问题应该跟FPGA应用没什么关系吧?

h2feo4 发表于 2011-12-11 21:11:09

第一,专用器件和通用器件差距很大的,一个加法器在CPU里面没多少晶体管,但FPGA一个LUT就要好多晶体管。试想如果你用74系列芯片搭个CPU,别说100MHz了,能跑到1MHz就不错。通用性和性能往往很难兼得。

第二,现代高速CPU往往使用的都是动态逻辑,靠电荷转移来进行运算,速度很快但通用性很差,尤其只能在一个不大的速度范围内工作。而FPGA基本上还是使用静态CMOS工艺,速度上完全不占便宜但通用性没的说。

第三,没人给FPGA的软核仔细优化,其实它还是有能快好多倍的潜力的,但FPGA每个厂家每个系列结构都不同,特别优化之后往往失去了可移植性,一般FPGA本身就是为了灵活,太局限价值就不很大了

philoman 发表于 2011-12-11 22:29:35

楼主可以了解以下信息:
1、数字电路中建立时间/保持时间/路径组合逻辑延时与最大时钟频率的关系
2、CPU的高主频与超长流水线,CPU的指令周期
3、某些CPU主频上不去的原因(IC设计中的标准库(Standard Cell)是什么东东东)
4、Achronix的FPGA是异步的

bityoung 发表于 2011-12-11 22:35:02

回复【16楼】philoman
-----------------------------------------------------------------------
您说的第一条,我懂!可以说寄存器的建立保持时间限定了FPGA的最高工作频率;
第二条,不明白为什么CPU的主频可以跑到2-3Ghz?您能否指点一下?

Nuker 发表于 2011-12-11 23:11:45

打个比方。
火车只能在铁轨上跑,时速可以达到300公里,而且一段铁轨上同时只能跑一列火车。
汽车可以在各种不同的道路上跑,高速公路上一个方向可以同时跑多辆汽车,而且不同的汽车可以以不同的速度行驶,也可以换道或者进出,但是单个汽车的时速比火车慢。
因此,各有各的存在价值。

zkf0100007 发表于 2011-12-12 00:37:05

无机酸总结的不错 ,赞一个

bityoung 发表于 2011-12-12 11:31:39

各位虽然说得都很好,但是我觉得还是没得到我想要的答案。

Nuker 发表于 2011-12-12 12:54:15

这个问题没有简单答案的,如果你试着去了解16楼列出的问题,你就会明白,一般人最少要3年才能对16楼的问题有初步了解。

bityoung 发表于 2011-12-12 15:32:33

我再把我的问题说清楚一下:
为什么现今主流FPGA的工作频率最大为几百Mhz;而CPU的主频(请注意是“主频”)却可以达到几个Ghz?

h2feo4 发表于 2011-12-12 15:58:02

我在Cyclone3上面跑过1.4GHz,没啥不可以
不过FPGA和CPU结构还是区别很大的,FPGA每一级经过了太多的晶体管,没法太快
从FPGA开发到ASIC设计、全定制设计,这个是灵活性逐渐下降,难度和性能不断提升的

bityoung 发表于 2011-12-12 16:10:39

回复【23楼】h2feo4无机酸
-----------------------------------------------------------------------
听您的意思就是CPU和FPGA的工艺不同了?还有器件的灵活性越低,那么器件的性能就会越高?

Nuker 发表于 2011-12-12 16:32:29

如果工艺相同的话,有几种方法实现芯片:
1. 全定制:全部的晶体管级电路图和原理图都是手工画的。
2. 半定制:采用晶圆厂提供的标准单元库(主要是门电路和触发器),用工具逻辑综合/自动布线/时序检查。
3. 可编程逻辑:采用物理上已经做好的可编程逻辑芯片,重新配置里面的逻辑单元的功能,重新配置连通单元的连接方式。

假设相同的一个CPU内核采用相同的45nm制程,采用方法1可以达到3GHz,那么方法2大概可以达到1GHz,方法3可以达到30MHz,以上是以Cortex A8 @45nm作为估计的,现在Cortex A8基本上是以第二种方式做成芯片的,那么有同学会问,为什么没有人用第一种方法去做一片超快的Cortex A8呢?答案是:

1. 全定制方法完成IC设计周期极长,全定制方法做Cortex A8最少需要3年的时间,而半定制的方法实现Cortex A8只需要3个月。
2. 最重要的是,全定制方法完成IC设计需要投入巨量的人力物力,如果实现一个全定制的45nm Cortex A8项目,最少需要3亿美金以上的投入。半定制方法实现45nm Cortex A8只需要2千万美金左右。
3. 全定制方法无法从一个晶圆厂转移到另一个晶圆厂生产,半定制方法比较容易转移。

这就是我在前面打得比方:全定制 = 铁路,半定制 = 公路,FPGA = 人行道

bityoung 发表于 2011-12-12 16:44:38

回复【26楼】Nuker
-----------------------------------------------------------------------
受教了!但是您说的1全定制,2半定制,3可编程逻辑---这3点不是很明白;为什么芯片的定制与否会对芯片的工作频率产生如此大的影响?

Nuker 发表于 2011-12-12 16:54:49

答案在16楼第一点:路径组合逻辑延时

Nuker 发表于 2011-12-12 16:56:51

同步逻辑(时序逻辑)的最高工作频率由Reg-Reg的最大组合逻辑延时决定

bityoung 发表于 2011-12-12 17:01:28

回复【28楼】Nuker
-----------------------------------------------------------------------
数字电路无非就是门电路以及触发器之类的;FPGA与CPU从硬件层面上来看,无非也都是门电路或触发器;既然对于FPGA来说,建立时间/保持时间/路径组合逻辑延时都是运行频率的限制;那么,对于CPU而言,这些问题应该也存在吧?我还想说的是对于所有的数字电路来讲,从最底层的硬件来看,不管是FPGA,CPU或是DSP,其面对的问题应该大同小异吧?------个人浅薄的看法,可能不对;但请高人指点!

bityoung 发表于 2011-12-12 17:09:21

回复【29楼】Nuker
-----------------------------------------------------------------------
关于这点,我倒有点不同看法--
同步逻辑的最高工作频率应该是由寄存器的建立保持时间决定的吧?因为REg-REG之间的组合路径延时是随着设计的改变而改变的;而寄存器的建立保持时间却是不可通过设计更改而变化的

Nuker 发表于 2011-12-12 20:27:28

搜索关键词“静态时序分析”补补课吧。

附一个Synopsys关于reg to reg时序分析的ppt。
点击此处下载 ourdev_704013FZH1W9.pdf(文件大小:401K) (原文件名:PTISTA_SG_Unit_04.Reg2Reg.pdf)

philoman 发表于 2011-12-12 21:27:13

回复【17楼】bityoung
-----------------------------------------------------------------------

看来你有一定数字电路基础,f=1/(th+tc+ts),th为建立时间,ts为保持时间,tc为前后两触发器间的组合逻辑延时,在th+ts给定的情况下,提高f的必由之路是减小tc;减小tc的方法是把复杂的逻辑分解成若干子逻辑,然后在子逻辑电路之间加若干级寄存器,从而实现流水线操作;也就是说,tc=tc1+tc2+...tcn+...,系统的f取决于最大的tcn。

philoman 发表于 2011-12-12 21:28:57

回复【23楼】h2feo4 无机酸
-----------------------------------------------------------------------

这个1.4GHz是SerDes的功劳,内部时序电路跑不了这么高

bityoung 发表于 2011-12-12 21:40:06

回复【35楼】philoman
-----------------------------------------------------------------------
内部时序能跑到Ghz的设计,我还真的没见过呢!

bityoung 发表于 2011-12-12 21:49:05

回复【34楼】philoman
-----------------------------------------------------------------------
这个问题的话,我是这样想的:一个同步时序的设计能够跑到多高;其上限应该是f=1/(th+ts);当然这个上限是可以接近,但是不可达到的;因为组合路径的延时tc总是存在的,不过tc的值却是随着设计的优化而减小的,也就说随着设计的优化,系统可以跑到更高的频率----这也是我为什么说同步时序设计的工作频率上限取决于寄存器的建立保持时间。

smsalarm 发表于 2011-12-12 22:15:15

器件工艺不同,器件所面对的需求也不同。FPGA跑到几个G是没有意义的,只要外部接口到就可以了,内部总线宽一点就可以适配了。不同的成本,不同的需求,做FPGA的厂家自然不会追求跑到很高很高的速度。
FPGA达到很高的速度,对逻辑编码人员的要求也更高了,时序约束更加复杂,能胜任这项工作的人也不多了。

我也同意很多人已经阐述的,关于通用性的意见。

CPU内部,从A进,B出,实现G级容易;FPGA从A进,可能要从B,C,D,E...等等管脚出,你要求每个路径都能到G级别,那晶元面积,内部复杂度都要难得多,几何级数增长。

Nuker 发表于 2011-12-12 22:18:00

34楼就是intel P4的设计指导思想。对现代CPU来讲靠提高流水线级数来提升fmax弊大于利。

Nuker 发表于 2011-12-12 22:21:33

在FGPA中通过routing matrix的方式做reg to reg中间的组合逻辑布线,显然tc是相当大的。

bityoung 发表于 2011-12-12 22:44:16

数字电路无非就是门电路以及触发器之类的;FPGA与CPU从硬件层面上来看,无非也都是门电路或触发器;既然对于FPGA来说,建立时间/保持时间/路径组合逻辑延时都是运行频率的限制;那么,对于CPU而言,这些问题应该也存在吧?我还想说的是对于所有的数字电路来讲,从最底层的硬件来看,不管是FPGA,CPU或是DSP,其面对的问题应该大同小异吧?


------个人浅薄的看法,可能不对;但请高人指点!!!!!!!!!!!

1ongquan 发表于 2011-12-12 22:53:44

我的赛龙二c8速度等级的锁相环设置超400兆就报错
想问无机算怎么做到一吉频率的

Nuker 发表于 2011-12-12 23:00:23

早在130nm的年代,连线延迟就远远大于tpd,tsu和th了,而现在45nm-20nm的DSM年代,最麻烦的问题已经不是fmax了。
你可以想象一下,由于CPU和FPGA的routing方式不同,导致的tc相差2个数量级都是可以解释的。

bityoung 发表于 2011-12-13 08:38:13

回复【43楼】Nuker
-----------------------------------------------------------------------
对于您说的“CPU和FPGA的routing方式不同”;是指两者的内部布线方式不同吗?我所不明白的是:对于一个基于FPGA的设计后期会有布局布线的操作;那么您说的FPGA的routing方式到底是什么?请您指教!谢谢

Nuker 发表于 2011-12-13 09:06:25

用图说话:
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_704132SOHUGQ.PNG
(原文件名:C4.PNG)

liu_ourdev 发表于 2011-12-13 10:49:11

一直很想学FPGA,可不知道怎么学

Nuker 发表于 2011-12-13 11:49:58

再补充一下,关于routing,
1. 在全定制芯片里面是人手工画的,或者专门的datapath generator产生的。
2. 半定制芯片:自动布线工具布线。
3. 可编程逻辑芯片:布线是固定的,通过重新配置交叉开关矩阵,来实现线与线之间的连接以及线与逻辑块之间的连接,有点类似于网络路由的概念。

h2feo4 发表于 2011-12-13 12:38:40

回复【35楼】philoman
回复【23楼】h2feo4 无机酸
-----------------------------------------------------------------------
这个1.4ghz是serdes的功劳,内部时序电路跑不了这么高
-----------------------------------------------------------------------

这就是内部逻辑的速度哦,Cyclone3可是没有serdes的
当然这只是一个没几个触发器的最小实现,多了还是玩不转滴~

mmswza 发表于 2011-12-13 13:00:23

MARK!!!
热心的高人真不少,待学习。

mmswza 发表于 2011-12-13 13:07:54

回复【47楼】Nuker
再补充一下,关于routing,
1. 在全定制芯片里面是人手工画的,或者专门的datapath generator产生的。
2. 半定制芯片:自动布线工具布线。
3. 可编程逻辑芯片:布线是固定的,通过重新配置交叉开关矩阵,来实现线与线之间的连接以及线与逻辑块之间的连接,有点类似于网络路由的概念。

-----------------------------------------------------------------------

折腾单片机的这么理解:
像是程序中的模块,针对特定的应用可以进行优化(裁剪掉不需要的部分),以提高执行速度。然而却丧失了原模块对某一类任务处理的兼容性,因为在优化时去掉了兼容其他应用的部分。

1.汇编。
2.C语言模块化编程。
3.大型协议栈、操作系统等移植,并且只关心功能可行性。

认为我偏题的砸砖轻点。

bityoung 发表于 2011-12-13 14:02:57

回复【47楼】Nuker
-----------------------------------------------------------------------
再补充一下,关于routing,
1. 在全定制芯片里面是人手工画的,或者专门的datapath generator产生的。
2. 半定制芯片:自动布线工具布线。
3. 可编程逻辑芯片:布线是固定的,通过重新配置交叉开关矩阵,来实现线与线之间的连接以及线与逻辑块之间的连接,有点类似于网络路由的概念。

这样会对芯片的工作频率产生影响吗?没有了解过这方面的知识!

bityoung 发表于 2011-12-13 14:08:16

回复【50楼】mmswza
-----------------------------------------------------------------------
折腾单片机的这么理解:
像是程序中的模块,针对特定的应用可以进行优化(裁剪掉不需要的部分),以提高执行速度。然而却丧失了原模块对某一类任务处理的兼容性,因为在优化时去掉了兼容其他应用的部分。

1.汇编。
2.C语言模块化编程。
3.大型协议栈、操作系统等移植,并且只关心功能可行性。

认为我偏题的砸砖轻点。

您说的有道理,偏不偏题不重要!大家互相学习才是最重要的。

lyl520719 发表于 2014-5-9 13:12:00

看来速度和兼容(灵活)性不可兼得。
页: [1]
查看完整版本: FPGA CPU的运行频率问题