什么是FPGA?

什么是 现场可编程门阵列? 现场可编程门阵列代表现场可编程门阵列。让我们分析一下这个术语:

1. 现场可编程:一个 现场可编程门阵列 制造商可以很容易地由开发人员,设计人员或客户重新配置。为了将FPGA编程为特定配置,Verilog HDL或VHDL(硬件描述语言)被用作FPGA编程的标准语言。

2. 门阵列:FPGA包括一组可编程逻辑门/模块,例如AND,OR,XOR,NOT,存储元件,DSP组件等,以及可重新配置的互连,这些互连将逻辑门连接在一起以执行特定功能。

什么是FPGA

因此,FPGA并不是什么,而是可以通过以下方式编程的逻辑块和互连: 硬件描述语言 (Verilog HDL / VHDL)执行不同的复杂功能。 

事实上, 现场可编程门阵列几乎可以用于实现任何DSP算法。一些FPGA还获得了嵌入式软核处理器,例如Xilinx的MicroBlaze,Altera的Nios II等,因此我们可以像使用微控制器那样使用C,C ++等对处理器进行编程。此外,软处理器可以与硬件加速器进行通信,以加快复杂的DSP操作,从而使我们可以为细分市场应用提供更好的灵活嵌入式系统。 

让我们举一个非常基本的示例来说明如何使用FPGA。假设您正在设计一个1位全加法器,并且已经获得了加法器的逻辑图,如下图所示。
什么是FPGA
如上所述,FPGA上有必要的逻辑门,例如XOR,AND和OR,以便在FPGA上实现上述加法器。为了演示加法器在FPGA上的操作,可以使用Verilog或VHDL轻松地将这些门连接在一起,如加法器的逻辑图所示。

  • 加法器的示例Verilog代码:

-- 现场可编程门阵列 Project: 什么是 an 现场可编程门阵列?
-- Verilog example code for Adder on 现场可编程门阵列
module fpga4student_adder(input A,B,Ci, output S,Co);  
 wire tmp1,tmp2,tmp3;  //FPGA projects
 xor u1(tmp1,A,B);  // Verilog projects
 and u2(tmp2,A,B);  
 and u3(tmp3,tmp1,Ci);  
 or u4(Co,tmp2,tmp3);  
 xor u5(S,tmp1,Ci);  
 endmodule  

  • 加法器的VHDL代码示例:

-- 现场可编程门阵列项目: 什么是FPGA?
-- VHDL example code for adder on 现场可编程门阵列
 library ieee;  
 use ieee.std_logic_1164.all;  
 entity fpga4student_Adder is  
   port( A, B, Ci : in std_logic;  
      S, Co : out std_logic);  
 end fpga4student_Adder;  
 architecture structural of fpga4student_Adder is  
 signal tmp1, tmp2, tmp3: std_logic;  
 begin  
   tmp1 <= A xor B;  
   tmp2 <= A and B;  
   tmp3 <= tmp1 and Ci;  
   Co <= tmp2 or tmp3;  
   S <= tmp1 xor Ci;  
 end structural;  

Verilog / VHDL 加法器的代码只需将FPGA上的逻辑门连接在一起就可以完成“接线”工作,从而可以用作一个完整的加法器。通过仿真验证代码后,我们可以进行合成,在FPGA上运行加法器并查看其工作原理。对于模拟,我们可以使用各种可用的模拟器,但是对于学生,我建议您使用Mentor Graphics的ModelSim。您可以看到更多模拟器 这里。对于FPGA综合和FPGA编程,您可以将Quartus II用于Altera的FPGA板,并将Xilinx ISE或Vivado用于Xilinx的FPGA板。 
作为FPGA设计者已有几年,我喜欢FPGA设计的五个原因如下:

1.非常快速的片上(FPGA)演示


我爱的首要原因 现场可编程门阵列设计 在FPGA上验证设计的速度非常快。虽然ASIC可能需要几个月的时间 仅出于磁带输出和PCB设计的另一延迟,所有事情都由FPGA解决,我们只需要使用特定的FPGA编程工具将程序文件下载到FPGA,并查看其在FPGA上的工作原理即可。 Xilinx和Altera的FPGA板提供了必要的功能 IO和其他支持电路,例如LCD,单个LED,7段LED,通信端口(USB,UART,VGA,HDMI,PS2,FMC等),ADC,DAC,CODEC等,以便FPGA可以轻松通信与其他芯片 验证过程。



2.在FPGA上简单快速的设计过程


关于FPGA的另一点要说的是,设计过程非常简单,而且非常容易学习。 ASIC的设计流程非常复杂且耗时,因为它需要许多复杂的步骤来进行设计,验证和实现。另一方面,FPGA设计过程避免了复杂而耗时的步骤,例如布局平面图,时序分析,物理实现等,因为FPGA已经是一种经过验证的特性芯片。当然,在需要时,FPGA供应商还提供用于布局规划和时序分析的必要工具,以使用户能够针对利基非常苛刻的设计优化性能。实际上,FPGA设计流程仅需采取几个步骤,例如HDL设计和编码,功能仿真,综合,时序或合成后仿真(如果需要)以及布局布线。此外,许多FPGA设计工具是免费的,用户非常容易学习和设计。 现场可编程门阵列供应商提供免费的用户指南和教程,以促进用户的学习过程。如果学生具有数字逻辑设计的良好背景,则可能需要很短的时间来熟悉FPGA设计。



3. 现场可编程门阵列的可编程性 


我们显然不能忽略的FPGA的突出特点是它的可编程性。 ASIC或微控制器在硬件方面是固定的(可以在软件级别进行编程),而FPGA在硬件级别可以进行编程。我们可以对FPGA进行编程,以执行几乎所有的数字复杂功能,并在将来需要时将其重新配置为我们想要的任何功能。可以将FPGA编程为微处理器,微控制器,DSP,VGA控制器,数字滤波器等。 


4. 现场可编程门阵列的高性能


的另一个出色功能 现场可编程门阵列设计 是高性能。当顺序执行基于处理器的ASIC或DSP时,FPGA利用硬件并行性为苛刻的设计获得突破性的性能。因此,FPGA提供了基于处理器的ASIC所无法比拟的更快的实现。可有效利用FPGA的并行性来实现数字信号处理算法,以加快处理时间。  


5. 现场可编程门阵列的灵活性 


现场可编程门阵列使设计人员能够灵活地制作自己的应用程序。如上所述,FPGA供应商提供了自己的软处理器,例如Xilinx的MicroBlaze,Altera的Nios II等,因此设计人员可以在设计和编程过程中更加灵活。实际上,在FPGA上,您可以将具有软件级可重新配置功能(C,C ++等)的软处理器用于低速和中等速度的应用程序,以及具有硬件级可重新配置功能的FPGA硬件加速器(Verilog / VHDL) )用于高速操作。因此,设计人员可以获得满足其设计要求的合适嵌入式系统。例如,在设计嵌入式实时跟踪系统时,设计人员可以将软件处理器用于相机接口,将FPGA硬件加速器用于跟踪处理。 

Verilog和VHDL:通过示例解释
什么是FPGA编程? 现场可编程门阵列与软件编程
面向学生的推荐且价格合理的Xilinx 现场可编程门阵列板
面向学生的推荐且价格合理的Altera 现场可编程门阵列板
推荐的 现场可编程门阵列项目 对于学生:
1. 什么是FPGA? 现场可编程门阵列如何工作?
2. Basys 3 现场可编程门阵列 OV7670摄像机
3. 如何将文本文件或图像加载到FPGA中
4. 使用Verilog在FPGA上进行图像处理
5. 现场可编程门阵列上的车牌识别
6. 使用Verilog的FPGA上的闹钟
7. 使用VHDL的FPGA上的数字时钟
8. 用于在FPGA上反跳按钮的简单Verilog代码
9. 现场可编程门阵列上的交通灯控制器
10。 Verilog中基于FPGA的停车场系统
11。 现场可编程门阵列上比较器的VHDL代码
12 现场可编程门阵列上乘法器的Verilog代码
13 现场可编程门阵列上的VHDL中的N位环形计数器
14。 现场可编程门阵列上Verilog单片机的实现
15 现场可编程门阵列上的Verilog进位超前乘法器
16。 现场可编程门阵列 Xilinx上的VHDL矩阵乘法
17。 使用Verilog在FPGA上进行定点矩阵乘法
18岁 现场可编程门阵列上的Verilog分压器
19 现场可编程门阵列上微控制器的VHDL代码
20 现场可编程门阵列上FIR滤波器的VHDL代码
21 现场可编程门阵列上数字逻辑组件的Verilog代码
22 使用Verilog在FPGA上实现延迟计时器
23。 使用Verilog的FPGA上的单周期MIPS处理器
24 在FPGA上实现FIFO Verilog
25岁 在FPGA上实现FIFO VHDL
26 现场可编程门阵列上的Verilog D触发器
27。 使用Verilog在FPGA上进行比较器设计
28。 使用VHDL的FPGA上的D触发器
29。 使用Verilog在FPGA上进行完全加法器设计
30岁 使用VHDL在FPGA上进行完整加法器设计
31。 带Verilog Testbench的FPGA上的计数器
32。 使用Verilog在FPGA上进行RISC处理器设计
33。 Verilog测试平台 inout ports on 现场可编程门阵列
34。 使用VHDL的FPGA上的PWM发生器
35岁 使用Verilog在FPGA上的井字游戏
36。 现场可编程门阵列上ALU的VHDL代码
37。 现场可编程门阵列上ALU的Verilog代码
38。 具有VHDL测试台的FPGA上的计数器设计
39。 Verilog中FPGA上的流水线MIPS处理器(第1部分)
40  Verilog中FPGA上的流水线MIPS处理器(第2部分)
41。 Verilog中FPGA上的流水线MIPS处理器(第3部分)
42。 现场可编程门阵列上的Verilog解码器
43。 现场可编程门阵列上的Verilog多路复用器
44。 Verilog中FPGA上的N位加法器设计
45。 使用N位Verilog加法器的FPGA上的VHDL ALU
46。 现场可编程门阵列上的VHDL移位器
47。 现场可编程门阵列上的查找表VHDL示例代码
48。 现场可编程门阵列上的协处理器VHDL实现
49。 面向初学者的价格实惠的Xilinx 现场可编程门阵列板
50 面向初学者的经济实惠的Altera 现场可编程门阵列板
现场可编程门阵列 Verilog VHDL课程

没意见:

发表评论

热门FPGA项目