EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1. FPGA编程语言为何叫硬件描述语言?
% z8 _4 l) x$ F+ f$ Y. s( J6 ^0 f" b+ y 硬件即FPGA硬件,硬件描述语言,也就自然地告诉我们可以通过语言来描述FPGA内部硬件。如:用y=a&b来描述一个2输入的与门,用PLL来描述类似外部时钟管理芯片。. q0 B3 J5 t& T) y" K
因此,要想学好FPGA,你得用硬件的思维方式来编写代码,注重FPGA的系统结构设计,好的系统结构设计会带来质的飞跃,这就告诉我们RTL Coding其实是硬件结构设计,而非基于处理器架构的C语言程序开发,好的RTL Coding就是好的硬件结构。" t3 o7 t' G3 h( [% ~/ ^ r
2. FPGA设计是做串并操作的时序设计?
3 s% i- r; k& u( g0 p7 R FPGA内部硬件之间的通信为多对多节点通信,不仅存在无先后顺序的并行逻辑,而且还存在先后顺序的串行逻辑,这和CPU基于指令的顺序执行逻辑完全不同,嵌入式物联网等系统学习企鹅意义气呜呜吧久零就易,我们需要严格控制设计中各个信号之间的时间关系,以满足最终的时间上的需求,即时序要求。 因此,FPGA设计就是针对既有串行操作,又有并行操作的时序设计,即FPGA串并操作的时序设计。
& T8 ~# w; G" |( f3 H2 D7 W, X3. FPGA串并操作,该如何理解?4 Z- ~" ^ d* X! ~
a.执行完A后再执行B;0 r% T0 c0 H) {' u9 U# S; @+ }
b.A和B之间并行执行,且没有关联;
) z; `3 L% f) L% g c.A和B之间并行执行,且开始时有先后顺序,即串行逻辑;
8 Z( y! B' A, m+ |( a) h8 D d.FPGA的复杂系统包含上述多种灵活组合,设计时需多多琢磨思考,合理设计。
: ?7 B, r8 u, Z( h4. FPGA内部最基本硬件结构LUT,你理解吗?! b6 v& O; ^& a! l3 b8 f# M
LUT的原理很简单,就是把各种可能的结果存起来标个号,每次根据输入的号来输出结果。如:一位加法器有4种可能输入对应3种结果,就只需要做一张表格,把所有的输入和输出一一对应即可。 file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wpsEBD3.tmp.jpg 理解了LUT原理,我们可以用相同的思想来实现DDS、简单乘法、简单三角函数等,有时可以大大省资源,因为毕竟FPGA最终都是有多个LUT级联+Reg+其它 来实现各种复杂的硬件电路。 5. FPGA设计关键在于结构的设计,你同意吗?
# t8 G" N* P# ?$ ` a.首先,清楚FPGA的内部结构,基本结构为LUT; b.然后,按照功能、时钟域、串并操作、数据流和控制流来综合考虑系统的结构; c.最后 ,根据面积、速度和功耗来不断优化系统结构,设计出最合理的系统结构。
3 j9 U" n x9 ]/ @0 v8 J: V; o! O |