找回密码
 注册
关于网站域名变更的通知
查看: 210|回复: 1
打印 上一主题 下一主题

FPGA中的“门”

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-5-6 10:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
逻辑门
, I5 i1 ]) [: x  i: R+ M9 i! R" [. k8 V3 q: u, h3 Y* r/ a& _
在ASIC的世界里,衡量器件容量的常用标准是等效门。这是因为不同的厂商在单元库里提供了不同的功能模块,而每个功能模块的实现都要求不同数量的晶体管。这样在两个器件之间比较容量和复杂度就很困难。) e. o( s% L4 @/ F$ @
) k: J* ~$ c& Q7 f( L  F
解决的办法是给 每个功能赋予一个等效门数值,就比如“A功能模块等价于5个等效门,B功能模块等价于3个等效门···”。下一步就是统计每个功能模块,把他们转换成相应的等效门值,把这些值相加,然后就可以自豪的公布:“我的ASIC包括一千万的等效门,这要比你的ASIC大多了!”7 B, u4 K$ ~3 {* P& [

% `  \' Y( T) ], L但是,事情没那么简单,不同的厂商对等效门实际结构的定义是不同的。通常情况下,一个2输入的NAND功能 表示一个等效门。也有一些厂商定义一个等效门等价于特定数目的晶体管。还有的厂商定义一个ECL等效门为“实现一个单比特全加器所要求最小逻辑的1/11”(这到底是谁想出来的?)。通常,最好的办法是,在投资之前先确定大家在谈论同样的事。
& x: k! V  q  l4 V2 n5 y  T
' k8 e! a& ?! ~+ G, S! q( X回到 FPGA来 ,FPGA厂商遇到一个问题,他们试图建立一个基础用于比较他们的器件和ASIC。例如,如果某人有一个现成的包含500000个等效门的ASIC设计,他想把这个设计变为用FPGA实现,他应该怎么样描述这个设计需要的FPGA呢?事实上每个4输入LUT都可以表示从1到20多个2输入基本逻辑门所能表示的任何功能,所以这样的比较相当微秒。
% t! E, V  C  s6 C
) Q; f! e7 j& }2 ~. A4 w系统门. _  T8 \* P% u$ h  B) g
  P9 e+ D! \* g6 ]+ W" D; P
为了解决这个问题,FPGA厂商在20世纪90年代早期开始讨论系统门。有人说这是个代价高昂的想法,在ASIC设计中才会涉及这种专门术语。而另外一些人则说这纯粹是一个市场策略,没有任何人带来好处。. `: Y& q& s  u& C9 \/ u

2 l+ N- \% S% K6 `. S6 t遗憾的是,似乎没有清晰的定义来解释什么是系统门。在FPGA实质上只包含LUT或寄存器形式的通用可编程逻辑资源时,这很令人尴尬。在那时甚至很难界定一个包含x个等效门的专门ASIC设计是否能够用一个包含y个系统门的FPGA来代替。这是因为有的ASIC设计者可能在组合逻辑方面具有优势,而另外一些则可能更偏重使用寄存器。这两种情况得到的结果可能不是一个在FPGA上的最优映射。
& M& T/ l: v  x# H
$ V- e, a1 S7 H: ]% f  ^当FPGA开始包含嵌入式 RAM块时,问题变得尤为严重,因为有些功能使用RAM实现要比通用逻辑实现效率高。而且,事实上LUT可以当做分布式RAM来使用,例如有的厂商系统门计算值现在包括一个定语,“假设20%~30%的LUT是作为RAM来使用的”。当然,在开始认为FPGA包含嵌入式处理器核和类似功能时,这个问题更加严重了。于是,有的厂商现在说:“系统门数值没有计入这些元件”。3 \9 g: L- o" ^* v; O* U& l8 y

9 i, P0 ?, X  l2 Q# _2 h到底有没有简单的规则来把系统门转换成等效门呢?其实有很多。有的人认为如果你感觉乐观,你应当把系统门数值除以3(比如300万FPGA系统门应该等于100万ASIC等效门)。或者如果你感到更多的是悲观的那一面,你可以把系统门除以5(这样300万系统门将会等于60万等效门)。4 W" p+ F1 A- z% G
# b9 I+ O9 p. x/ Z7 T
然而也有人认为,只有在你假定系统门数值包括了所有能使用通用可编程逻辑和块RAM实现的功能时,以上规律才是正确的。这些人会接着说,如果你把RAM从等式中去掉,你就必须把系统门数值除以10(这时,300万系统门就只能等于30万等效门),但是这时你仍然可以使用块RAM。) u. ^1 a! L1 J+ a

3 V! w/ V2 E  M, t  g4 E最后,这个问题陷入这样一个泥潭,以至于连FPGA厂商都不愿意再谈论系统门。对于新出现在人们视野中的FPGA,人们很惬意的想象着等效门,而且方便用LUT、SLICE等考虑设计,然而,大量的FPGA设计者更习惯与用FPGA的名词。由于这个原因,有的人仍然保留了传统的习惯,我更愿意看到的是,我更愿意看到的是,使用以下简单的数目来规定和比较FPGA:, M, L- ?4 b- `* ^: s
; V+ \2 }7 q3 Q
逻辑单元、逻辑元素或其他;1 w" ~- {* U7 d- Y0 v1 H5 V
0 W9 J0 y) u; x% {" X2 h
嵌入式块RAM数目;
& }" {$ i+ w  ^. B6 m% e% Q- X* N+ y: _" u! W- q5 }
嵌入式乘法器的数目;$ S( M! Q6 m5 g( z7 u0 @7 ]

" n+ w. V1 h; G( w4 j嵌入式加法器的数目;/ V6 R9 U  q: Q% [
( E9 O( l$ ?9 P  T, B3 s
嵌入式MAC的数目;( u7 b8 l0 @# A1 ]+ U2 W  N

: l$ _. c5 R( |* Y! ^  k其他。' p% m2 S: O2 E$ d; t* z& y
  u: V6 b' J# }8 k
为什么会这么困难?对一个真实世界里的ASIC设计实例进行全面的描述,给出它们的等效门,包括它们的寄存器/锁存器、原语门和其他更复杂的功能等细节,是很有用处的。这些设计实例在FPGA中实现所要求LUT和寄存器/锁存器的数量,还有嵌入式RAM和其他内嵌功能的数目就与此有关。1 T* C. q2 c+ ]6 y. j$ R+ M( f- B

+ q, d' i% W/ Z; Z' N: w/ L5 y8 m尽管现在还不理想,因为在FPGA和ASIC中人们的设计毕竟是不一样的,但是总会有一个开始。$ g$ ^, w5 O8 L& A% L7 B
版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处  
  作者:杭州卿萃科技ALIFPGA
$ M, `8 s5 A3 f# y; G# V9 {7 Q

  原文地址:杭州卿萃科技FPGA极客空间


' e( d# z' v6 d( s
/ a/ s  ?) K- f2 `' X

该用户从未签到

2#
发表于 2019-5-6 17:15 | 只看该作者
很棒的资料 值得学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-2 22:57 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表