|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
软核与硬核的对比
, u/ W$ j/ u2 p4 b2 v/ o$ t& W1 ?2 E' \- r" O0 x/ A2 n
1.性能
e7 }0 v( ^( u& d6 p/ ]
$ w; g& Z V* _ e9 O& a( |由于软核没有实现,因此它天生在功能和实现方面比硬核更加灵活。另一方面,硬核开发者可能要花更多的时间来优化他们的硬核,因为它们要在很多设计中使用。因此,这使人们觉得硬核会提供更高的性能。
& _+ ]5 }7 `( ]$ A. o5 U0 }6 b( \8 p: r
事实上,为那些最先进工艺设计的高端、全定制硬核确实能够提供比软核更好的性能。通过使用锁存、动态逻辑、三态信号、定制存储器等,全定制设计团队能实现比完全静态综合的设计更好的结果。对于需要达到现有工艺和设计技术极限性能的SoC来说,全定制硬核能够更好地满足这些要求。
F) I) M. Y" E6 x( G, k4 t$ i) L, L4 ]/ i
然而,如果性能目标在一个软核范围内,那么硬核的优势就无关紧要了。SoC设计团队能够使用软核来满足性能要求,并利用其固有的灵活性优势。而随着工艺技术的进步,软核的最高频率限制也在提高,使它们成为更多SoC设计师的一种选择。在较低时钟频率下,硬核或许具有硅片面积方面的优势。但是情况往往并不是这样。硬核经常简单地使用ASIC的方法进行固化,使之不能提供速度上的优势。在其他情况下,全定制内核不能根据每一代工艺进行重新优化,所以削弱了频率和尺寸上的优势。
Z& n e1 ^* U- P2 s8 S7 P, X/ I3 G5 J e( @; N
2.技术独立和可移植性* D1 J- r; c) _# e
! `5 o+ o$ z/ a1 I1 q- w; m软核的优势之一是技术独立的,也就是说,Verilog或VHDL不需要使用一种特定的工艺技术或标准的单元库。这意味着同一个IP核能够应用到多种设计中,或现有设计的下一代中。一些软核提供商采用使其内核技术上非独立的设计风格,但是这种方式看不到什么优势。
$ A# j8 @9 r+ }8 s
% M/ V S& F# p, g9 _另一方面,硬核在技术上是非常特定的。事实上,如果代工厂改变其工艺参数或库,硬核可能就无法正常工作。这就产生了一个风险,因为在工艺参数改变时,IP提供商需要重新对硬核进行验证。* B i! X& J4 c- G
' d8 a- G. g/ u3 S3 t+ V
硬核能够移植到新的工艺技术,但是重新优化全定制内核的工作既费事又昂贵。对于一些先进的微处理器内核,这可能要花两年或更长的时间。因此,硬核经常根据新的工艺进行光学调整。虽然这一方法既简单又快速,但是它减少了由设计团队针对现有工艺进行全定制优化的许多优势。. M' D) L; R/ S! K# z8 O; W
' r; e- I8 b- k& T' U* z0 }" X不仅如此,光学调整同时带来了另一个风险,因为它只能保证新的设计满足设计规则,而不能保证准确的时序或功能,而且重新全面验证经过光学调整的IP核是非常困难的。- Y' g8 i) c/ L3 N6 ~
! Q7 T( D# g* Y/ T( n
3.速度/面积/功率优化
2 Y' {- E8 ?4 [' H0 t# U* x8 s, c5 V
对于要实现的技术来说,硬核通常比可比较的软核运行速度更快。但是即使对于这单种技术来说,硬核也仅仅是针对一组目标而优化。如果目标是在合理的性能上使芯片面积更小,那么对于这种应用来说,为高度可调性能而优化的硬核可能就太大了。
- Q/ X4 i. f8 p$ Z# _8 F+ [( x+ Z( K, v V3 R& M8 P' g
软核是能够被“应用优化”的。为适合特定的嵌入式SoC设计,时序、面积和功率目标可能需要进行调整。例如:如果SoC使用200MHz的时钟,那么设计运行在250MHz的软IP内核可以改为准确地运行在200MHz上。这在得到更小尺寸和更低功率的同时满足了设计约束。! i, l* j( y& w6 l2 c3 K
$ k/ N2 r7 C- w( ^+ e; D
这种应用优化也适用于低层IO时序。软内核的IO约束可以进行调整,以准确配合内核的使用环境。如果硬内核有延迟输出信号,SoC设计师几乎无法改善时序。
2 L# S* x- J$ Q4 z
9 {7 y& e3 P! S" B' L, P$ t如果SoC的速度、面积和功率目标与硬核的目标相符,那么硬核将极具竞争力。但对于大多数设计师来说,软核在为特定的SoC优化方面更具优势。
# ~/ m4 \* }1 [( l. c& p3 j5 u( v4 [- |6 ?' p2 l0 i
4.可定制性7 L! U4 l0 Q; S4 s! u! G
& S( g* z4 t9 [1 l: Y. S2 ]7 [, F软核相对硬核还具有另外一个优势:编译时间定制化。这些是实现之前的设计选项。
* t( c1 ^$ ?; V0 H. [8 u# T8 k, X高速缓冲存储器的内存大小就是一种常见的编译时间用户定制项目。根据特定嵌入式应用所需的高速缓冲存储器的大小,软核处理器能够精确地被配置。而硬核在这方面就不能被定制。" {! m% w5 f2 ^# T) J. w3 P: U
4 s2 }; |3 i' _1 D' D0 H [( N0 H
另一种在许多软核中应用的定制项目就是指令专用,或选择性支持某种特殊指令。例如,一些SoC可能需要对外部协处理器的支持。然而,在一些不使用这些特性的系统中,多余的硬件可从软核中去掉,以节省面积和功率。 a e6 W S& n" i# R
' k7 e5 T; w; b) \+ Z7 p& f4 t
软核还可以包括实现配置参数。这是一种特殊的编译时间定制,可帮助软核更好地配合SoC团队使用的设计风格。例如,微处理器内核经常通过使用门控时钟电路来实现,但这种时钟不能与某些时钟布线工具很好配合。如果处理器内核可提供一种将所有门控时钟变为相等的多路复用器(MUX)的编译时间设置,SoC团队可使实现更为容易。, u( ?; O" d( J' i# l
* x0 V2 R- L# c5.易于集成- W ~1 K$ n$ f3 C7 Q
) B" c( k: ^4 @6 i" x1 H0 ]
软核很可能更容易被集成到SoC设计团队使用的流程中,除非内部设计小组已经实现了硬核。其原因是SoC设计团队将在他们认可的IP核周围添加RTL模块。这些内核看上去就像另外的SoC模块,也可像它们一样地实现。
0 r6 O+ B3 a+ e; B# R1 q' i/ Z
7 E3 B8 z! x, Q$ @& w( A# |另一方面,硬核看上去更像一个黑匣子RAM,特别是在它采用全定制技术实现时。这意味着硬核提供商将需要为该内核提供更多的黑匣子模型,使SoC设计师能够在其周围设计其模块。这本身就比使用软核更困难。例如,全定制硬核也许没有门级网表。这是因为该设计已经在晶体管级完成,而没有使用逻辑门。但是设计团队可能需要通过背注时序运行门级功能仿真,因为缺少门级网表,这将难以进行。; f) V& a+ q# Z" I8 j* |0 p
|
|