|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
软核与硬核的对比4 ~+ [( f2 M7 p% h. ~
) \0 J; R1 F6 _5 Z- H
1.性能
2 t; g" [* R6 S: ?4 `% \2 v- K7 I2 I; A
由于软核没有实现,因此它天生在功能和实现方面比硬核更加灵活。另一方面,硬核开发者可能要花更多的时间来优化他们的硬核,因为它们要在很多设计中使用。因此,这使人们觉得硬核会提供更高的性能。
* }8 \, O& r# H! l+ y5 ~; D, G" b0 w5 r, N# z& B+ a
事实上,为那些最先进工艺设计的高端、全定制硬核确实能够提供比软核更好的性能。通过使用锁存、动态逻辑、三态信号、定制存储器等,全定制设计团队能实现比完全静态综合的设计更好的结果。对于需要达到现有工艺和设计技术极限性能的SoC来说,全定制硬核能够更好地满足这些要求。
4 d( M& A3 K4 O9 A5 U2 V6 @& v" l5 c- ~' u
然而,如果性能目标在一个软核范围内,那么硬核的优势就无关紧要了。SoC设计团队能够使用软核来满足性能要求,并利用其固有的灵活性优势。而随着工艺技术的进步,软核的最高频率限制也在提高,使它们成为更多SoC设计师的一种选择。在较低时钟频率下,硬核或许具有硅片面积方面的优势。但是情况往往并不是这样。硬核经常简单地使用ASIC的方法进行固化,使之不能提供速度上的优势。在其他情况下,全定制内核不能根据每一代工艺进行重新优化,所以削弱了频率和尺寸上的优势。
; O2 }4 Z2 G# B& p* M3 V1 y! J. H6 w! \$ E
2.技术独立和可移植性5 m4 Y6 s7 z4 N' g
' t3 Q" o- s/ y& t5 ]" g软核的优势之一是技术独立的,也就是说,Verilog或VHDL不需要使用一种特定的工艺技术或标准的单元库。这意味着同一个IP核能够应用到多种设计中,或现有设计的下一代中。一些软核提供商采用使其内核技术上非独立的设计风格,但是这种方式看不到什么优势。7 S' m' i9 ?8 ~, H/ n9 |
. B Y8 ]" C$ Q! e另一方面,硬核在技术上是非常特定的。事实上,如果代工厂改变其工艺参数或库,硬核可能就无法正常工作。这就产生了一个风险,因为在工艺参数改变时,IP提供商需要重新对硬核进行验证。
1 H# {4 e, Q! \' H, D6 B
, _2 Z$ A" v: i2 u硬核能够移植到新的工艺技术,但是重新优化全定制内核的工作既费事又昂贵。对于一些先进的微处理器内核,这可能要花两年或更长的时间。因此,硬核经常根据新的工艺进行光学调整。虽然这一方法既简单又快速,但是它减少了由设计团队针对现有工艺进行全定制优化的许多优势。
+ _9 n8 e& u: u* z' p V0 C8 I: |, r* Y7 K2 h ~
不仅如此,光学调整同时带来了另一个风险,因为它只能保证新的设计满足设计规则,而不能保证准确的时序或功能,而且重新全面验证经过光学调整的IP核是非常困难的。
! \; |) l9 a- x" v% U' x% r3 z( A9 h6 k& c/ i
3.速度/面积/功率优化7 S- S0 y6 }3 _6 e) Y: Q3 |2 L
5 O: \, b+ Q2 B
对于要实现的技术来说,硬核通常比可比较的软核运行速度更快。但是即使对于这单种技术来说,硬核也仅仅是针对一组目标而优化。如果目标是在合理的性能上使芯片面积更小,那么对于这种应用来说,为高度可调性能而优化的硬核可能就太大了。, n* d% e. R. n% `: J
/ E, O/ }! m( s x( k软核是能够被“应用优化”的。为适合特定的嵌入式SoC设计,时序、面积和功率目标可能需要进行调整。例如:如果SoC使用200MHz的时钟,那么设计运行在250MHz的软IP内核可以改为准确地运行在200MHz上。这在得到更小尺寸和更低功率的同时满足了设计约束。
/ y& u; B5 ?2 \) L% J
0 i2 B H, r9 N! d这种应用优化也适用于低层IO时序。软内核的IO约束可以进行调整,以准确配合内核的使用环境。如果硬内核有延迟输出信号,SoC设计师几乎无法改善时序。: M2 i. { p! d/ J; j8 b
F; i0 `+ R6 p, A: a1 A, L0 N
如果SoC的速度、面积和功率目标与硬核的目标相符,那么硬核将极具竞争力。但对于大多数设计师来说,软核在为特定的SoC优化方面更具优势。
4 \0 s# r" ]7 z9 G/ C' p
7 I0 N& u2 Y6 r4.可定制性8 \2 S2 @' Q3 ]- f0 j
2 c$ b7 U9 F) z' H4 I0 g
软核相对硬核还具有另外一个优势:编译时间定制化。这些是实现之前的设计选项。$ [( I& J9 r: P) ^" `) l$ p( L
高速缓冲存储器的内存大小就是一种常见的编译时间用户定制项目。根据特定嵌入式应用所需的高速缓冲存储器的大小,软核处理器能够精确地被配置。而硬核在这方面就不能被定制。, `* }# ]3 T, M
2 @' R' l8 P4 ?' F3 F+ ]另一种在许多软核中应用的定制项目就是指令专用,或选择性支持某种特殊指令。例如,一些SoC可能需要对外部协处理器的支持。然而,在一些不使用这些特性的系统中,多余的硬件可从软核中去掉,以节省面积和功率。
8 M! g% x+ @! [* R
& l% r7 J6 K# D$ G3 L+ ~软核还可以包括实现配置参数。这是一种特殊的编译时间定制,可帮助软核更好地配合SoC团队使用的设计风格。例如,微处理器内核经常通过使用门控时钟电路来实现,但这种时钟不能与某些时钟布线工具很好配合。如果处理器内核可提供一种将所有门控时钟变为相等的多路复用器(MUX)的编译时间设置,SoC团队可使实现更为容易。# b9 N4 h9 g, P/ b! I/ Z* Z9 I
& A5 z1 l; c* k$ v5.易于集成" s3 p v: L+ Y5 L2 \
( i( ]/ A3 m: G; R! l1 B
软核很可能更容易被集成到SoC设计团队使用的流程中,除非内部设计小组已经实现了硬核。其原因是SoC设计团队将在他们认可的IP核周围添加RTL模块。这些内核看上去就像另外的SoC模块,也可像它们一样地实现。
0 I1 L8 T1 @* G# D/ C
- R' e! D( t8 b7 o+ {3 X另一方面,硬核看上去更像一个黑匣子RAM,特别是在它采用全定制技术实现时。这意味着硬核提供商将需要为该内核提供更多的黑匣子模型,使SoC设计师能够在其周围设计其模块。这本身就比使用软核更困难。例如,全定制硬核也许没有门级网表。这是因为该设计已经在晶体管级完成,而没有使用逻辑门。但是设计团队可能需要通过背注时序运行门级功能仿真,因为缺少门级网表,这将难以进行。2 G s5 X/ K7 F
|
|