1. FPGA编程语言为什么叫硬件描述语言?
硬件即FPGA硬件,硬件描述语言,也就天然地告诉咱们能够经过语言来描述FPGA内部硬件。如:用y=a&b来描述一个2输入的与门,用PLL来描述相似外部时钟管理芯片。
所以,要想学好FPGA,你得用硬件的思惟方式来编写代码,注重FPGA的系统结构设计,好的系统结构设计会带来质的飞跃,这就告诉咱们RTL Coding实际上是硬件结构设计,而非基于处理器架构的C语言程序开发,好的RTL Coding就是好的硬件结构。
2. FPGA设计是作串并操做的时序设计?
FPGA内部硬件之间的通讯为多对多节点通讯,不只存在无前后顺序的并行逻辑,并且还存在前后顺序的串行逻辑,这和CPU基于指令的顺序执行逻辑彻底不一样,嵌入式物联网等系统学习企鹅意义气呜呜吧久零就易,咱们须要严格控制设计中各个信号之间的时间关系,以知足最终的时间上的需求,即时序要求。编程
所以,FPGA设计就是针对既有串行操做,又有并行操做的时序设计,即FPGA串并操做的时序设计。
3. FPGA串并操做,该如何理解?
a.执行完A后再执行B;
b.A和B之间并行执行,且没有关联;
c.A和B之间并行执行,且开始时有前后顺序,即串行逻辑;
d.FPGA的复杂系统包含上述多种灵活组合,设计时需多多琢磨思考,合理设计。
4. FPGA内部最基本硬件结构LUT,你理解吗?
LUT的原理很简单,就是把各类可能的结果存起来标个号,每次根据输入的号来输出结果。如:一位加法器有4种可能输入对应3种结果,就只须要作一张表格,把全部的输入和输出一一对应便可。架构
理解了LUT原理,咱们能够用相同的思想来实现DDS、简单乘法、简单三角函数等,有时能够大大省资源,由于毕竟FPGA最终都是有多个LUT级联+Reg+其它 来实现各类复杂的硬件电路。编程语言
5. FPGA设计关键在于结构的设计,你赞成吗?
a.首先,清楚FPGA的内部结构,基本结构为LUT;函数
b.而后,按照功能、时钟域、串并操做、数据流和控制流来综合考虑系统的结构;学习
c.最后 ,根据面积、速度和功耗来不断优化系统结构,设计出最合理的系统结构。优化