接触FPGA到现在已经七八年了。大学大二开始学习模拟电路,数字电路,EDA设计。模拟电路是基础,讲的二极管三极管原理,各种电路分析。数字电路讲的是逻辑,卡诺图。逻辑器件用法。这些课程都是FPGA的基础。数电开始看起,对着数电电子书看没感觉,后来就看ppt,遇到很多第一次接触的概念,但是没有办法没人去问,只能自己硬着头皮硬啃下来,现在回想起来真是非常感谢自己当时能静心去学。也考虑重点发展单片机还是FPGA,懂单片机的不一定会FPGA。
会FPGA的一定懂单片机。实际上单片机也是FPGA的一种衍生。
大三接触Altera的MAX Ⅱ,简单的VHDL算法实现交通信号灯,顶层原理图设计。看时序是很费脑细胞的事情。什么呢毛刺信号,竞争冒险概念。这些都一个刚接触的毛学生都是很难搞懂的。要做的是就是静心琢磨。
竞争冒险: 信号在FPGA器件内部通过连线和逻辑单元时,都有一定的延时。延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等 条件的影响。信号的高低电平转换也需要一定的过渡时间。由于存在这两方面因素,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺 序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为“毛刺”。如果一个组合逻辑电路中有“毛刺”出现,就说明该电路存在“冒险”。 (与分立元件不同,由于PLD内部不存在寄生电容电感,这些毛刺将被完整的保留并向下一级传递,因此毛刺现象在PLD、FPGA 设计中尤为突出)。
FPGA是以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。
学习FPGA语言Verilog HDL和VHDL的如何选择?
这两种语言都是用于数字电子系统设计的硬件描述语言,而且都已经是 IEEE 的标准。 VHDL 1987 年成为标准,而 Verilog 是 1995 年才成为标准的。 Verilog HDL 推出已经有 20 年了,拥有广泛的设计群体,成熟的资源也比 VHDL 丰富。 Verilog 更大的一个优势是:它非常容易掌握,只要有 C 语言的编程基础,通过比较短的时间,经过一些实际的操作,可以在 2 ~ 3 个月内掌握这种设计技术。而 VHDL 设计相对要难一点,这个是因为 VHDL 不是很直观,需要有 Ada 编程基础,一般认为至少要半年以上的专业培训才能掌握。 Verilog 有更强的生命力。 美国,高层次数字系统设计领域中,应用 Verilog 和 VHDL 的比率是 80 %和 20 %;日本和台湾和美国差不多;而在欧洲 VHDL 发展的比较好。在中国很多集成电路设计公司都采用 Verilog。建议重点学习Verilog