差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
what_is_fpga [2021/09/13 01:08]
gongyu
what_is_fpga [2021/09/13 22:54] (当前版本)
gongyu
行 1: 行 1:
 +## FPGA是什么?
 [[FPGA]]是一种可编程的数字逻辑芯片,我们可以通过对其编程实现几乎任何的数字功能。可以说在数字世界里它无所不能,就像乐高的积木一样可以搭建各种不同的功能模块,实现你所希望的各种功能,当然,首先你必须掌握最基本的数字逻辑知识,学会一种用来构建各种功能的工具语言(在这里我们推荐广受欢迎的[[Verilog]]),再次你要动脑(考验的是你的逻辑思维是否清晰),一个优秀的建筑师的作品是在脑子里勾画出来的,而不是拿积木碰运气拼凑出来的。 [[FPGA]]是一种可编程的数字逻辑芯片,我们可以通过对其编程实现几乎任何的数字功能。可以说在数字世界里它无所不能,就像乐高的积木一样可以搭建各种不同的功能模块,实现你所希望的各种功能,当然,首先你必须掌握最基本的数字逻辑知识,学会一种用来构建各种功能的工具语言(在这里我们推荐广受欢迎的[[Verilog]]),再次你要动脑(考验的是你的逻辑思维是否清晰),一个优秀的建筑师的作品是在脑子里勾画出来的,而不是拿积木碰运气拼凑出来的。
 {{ :​altera-fpgas.jpg |}} {{ :​altera-fpgas.jpg |}}
  
-用FPGA做设计的一般工作流程: +### 1. 简介
-  - 在电脑上通过绘制电路图或者文本文件描述的方式来描述一个你想要实现的“数字功能” +
-  - 在电脑上使用FPGA厂商提供的软件来编译你描述的“逻辑功能”,生成一个可以下载到FPGA内的二进制文件 +
-  - 将你的电脑连接FPGA,将上述生成的二进制文件下载到FPGA中去 +
-  - 你的FPGA就会执行你设想的“逻辑功能” +
- +
-记住这些: +
-  * 你可以任意多次地下载配制FPGA,没有次数限制,每次可以是不同的功能。如果在你的设计中出现了错误,只要修复你的”逻辑功能“,再重新编译,再重现下载就可以。不需要重新设计PCB,不需要重新焊接或更换元器件。 +
-  * 所有的逻辑都是运行在FPGA内部,也就是硅片上,因此相对于用分立元器件搭建的电路板而言,在FPGA上你的设计会运行的更快 +
-  * 每次断电FPGA芯片本身就会失去其功能,必须在下一次加电的时候重新从为FPGA搭配的Flash中下载代码才能让FPGA重新工作 +
- +
-### 1. FPGA是什么?+
 FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
  
行 52: 行 42:
 ### 2. FPGA、CPLD、MCU的比较 ### 2. FPGA、CPLD、MCU的比较
  
-### 2.1 FPGA和CPLD的区别+#### 2.1 FPGA和CPLD的区别
 FPGA和CPLD是一回事么?不是的,它们都是可编程的数字逻辑芯片,但有着不同的特性。 FPGA和CPLD是一回事么?不是的,它们都是可编程的数字逻辑芯片,但有着不同的特性。
 早在1980年代中期,FPGA已经在PLD设备中扎根。[[CPLD]]和FPGA包括了一些相对大数量的可编辑逻辑单元。CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。 早在1980年代中期,FPGA已经在PLD设备中扎根。[[CPLD]]和FPGA包括了一些相对大数量的可编辑逻辑单元。CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。