什么是FPGA?

什么是 FPGA.? FPGA代表现场可编程门阵列。让我们分析这个词:

1. 现场可编程: 一个 FPGA. 由开发人员,设计师或客户轻松重新配置。要将FPGA作为特定配置编程,Verilog HDL或VHDL(硬件描述语言)用作FPGA编程的标准语言。

2. 门阵列:FPGA包括一系列可编程逻辑门/块,例如,或,,而不是,内存元素,DSP组件等,以及可重新配置的互连,用于将逻辑门连接在一起以用于执行特定功能。

什么是fpga.

因此,FPGA没有,但可以是可编程的逻辑块和互连 硬件描述语言 (Verilog HDL / VHDL)执行不同的复杂功能。 

实际上, FPGA.s可用于实现几乎任何DSP算法。一些FPGA还获得嵌入式软核处理器,如Xilinx的MicroBlaze,Altera的Nios II等,因此我们可以使用C,C ++等来编程处理器,如我们使用微控制器所做的操作。此外,软处理器可以与硬件加速器通信以加快复杂的DSP操作,以便我们可以为利基应用获得更好的灵活嵌入式系统。 

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

  • Adder的示例Verilog代码:

-- FPGA. Project: 什么是 an FPGA.?
-- Verilog example code for Adder on FPGA
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 projects: What is an FPGA?
-- VHDL example code for adder on FPGA
 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. Adder的代码通过将FPGA上的逻辑门连接在一起以作为完整加法器的功能进行连接时,简单地执行“接线”作业。通过模拟验证代码后,我们可以合成,在FPGA上运行加法器,并查看它是如何工作的。对于仿真,有各种可用的模拟器可以使用,但对于学生来说,我建议您使用Mexingim的导师图形。你可以看到更多的模拟器 这里。对于FPGA综合和FPGA编程,您可以为Altera的FPGA板和Xilinx Ise或Vivado用于Xilinx的FPGA板的Quartus II。 
作为FPGA设计师几年,这里有五个原因我喜欢FPGA设计:

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


我喜欢的最重要原因 FPGA.设计 在FPGA上验证设计是否非常快。虽然Asics可能需要几个月 仅针对PCB设计的其他延迟,一切都在FPGA上解决,我们只需要使用特定的FPGA编程工具将程序文件下载到FPGA,并查看它在FPGA上的工作原理。 Xilinx和Altera的FPGA板提供必要 IOS和额外的支持电路,如LCD,单个LED,7段LED,通信端口(USB,UART,VGA,HDMI,PS2,PS2,FMC等),ADC,DAC,编解码器等,使FPGA可以轻松地进行通信与其他筹码 验证过程。



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


关于FPGA的另一件好事是设计过程非常简单,真的很容易学习。 ASIC的设计流程非常复杂且耗时,因为它需要很多用于设计,验证和实现的复杂步骤。另一方面,FPGA设计过程主要避免了落地,时序分析,物理实现等的复杂和耗时的步骤,因为FPGA已经是一个特征和验证的芯片。当然,当需要时,FPGA供应商还为平面图和时序分析提供必要的工具,以使用户能够优化利基非常苛刻的设计。实际上,如果需要,FPGA设计流程仅需要几步,例如HDL设计和编码,功能模拟,合成,定时或合成后的综合模拟。此外,许多FPGA设计工具对于用户来说是免费的,非常容易学习和设计。 FPGA供应商提供免费用户指南和教程,以方便用户的学习过程。如果他们在数字逻辑设计中具有良好的背景,学生可以熟悉FPGA设计可能很短的时间。



3. FPGA的可编程性 


FPGA.的突出显示我们显然无法省略其可编程性。虽然ASIC或微控制器在硬件期间固定(它可以在软件级别中可编程),但FPGA可以在硬件级别进行编程。我们可以编程FPGA来执行几乎任何数字复杂功能,并在需要时将其重新配置到我们未来的任何事情。 FPGA可以作为微处理器,微控制器,DSP,VGA控制器,数字过滤器等进行编程为微处理器。 


4. FPGA的高性能


另一个精湛的功能 FPGA.设计 是高性能。虽然基于处理器的ASIC或DSP是顺序执行的,但FPGA利用硬件并行性,以获得苛刻的设计的突破性性能。因此,FPGA提供了更快的实现,即基于处理器的ASIC无法匹配。可以有效地利用FPGA的并行性以实现数字信号处理算法,以便加快处理时间。  


5. FPGA的灵活性 


FPGA.对于设计人员来说是越来越灵活的,以制作自己的应用程序。如上所述,FPGA供应商提供自己的软处理器,如Xilinx的MicroBlaze,Altera的Nios II等,因此设计人员在设计和编程过程中可以更加灵活。事实上,在FPGA上,您可以使用软件级可重构能力(C,C ++等)的软件处理器,以及具有硬件级可重新配置功能的FPGA硬件加速器(Verilog / VHDL )用于高速操作。因此,设计人员可以获得合适的嵌入式系统,符合其设计要求。例如,在设计嵌入式实时跟踪系统时,设计人员可以使用软处理器进行相机接口和FPGA硬件加速器进行跟踪处理。 

Verilog vs vhdl.:通过示例解释
什么是fpga编程? FPGA VS软件编程
推荐和经济实惠的学生Xilinx FPGA板
推荐和负担得起的Altera FPGA董事会为学生
推荐的 FPGA.项目 for students:
1. 什么是fpga? FPGA如何工作?
2. Basys 3 FPGA OV7670相机
3. 如何将文本文件或图像加载到FPGA中
4. 使用Verilog对FPGA的图像处理
5. FPGA.上的车牌识别
6. 在FPGA的闹钟使用Verilog
7. 使用VHDL的FPGA上的数字时钟
8. 用于FPGA上的Debouncing按钮的简单Verilog代码
9. FPGA.上的交通灯控制器
10。 在Verilog的FPGA停车系统
11. FPGA.上比较器的VHDL代码
12. FPGA.上乘法器的Verilog代码
13。 在FPGA上VHDL中的N位环形计数器
14。 FPGA.上微控制器的Verilog实现
15。 Verilog在FPGA上携带倍增倍数
16。 FPGA. Xilinx上的VHDL矩阵乘法
17。 使用Verilog对FPGA的固定点矩阵乘法
18。 Verilog分隔器在FPGA上
19。 FPGA.上微控制器的VHDL代码
20。 FPGA.上FIR滤波器的VHDL代码
21。 FPGA.上数字逻辑组件的Verilog代码
22。 使用Verilog延迟FPGA上的定时器实现
23。 使用Verilog的FPGA上的单周期MIPS处理器
24。 FIFO Verilog在FPGA上实现
25。 FPGA.上的FIFO VHDL实现
26。 Verilog D触发器上FPGA
27。 FPGA.使用Verilog的比较器设计
28。 d使用VHDL翻转FPGA上的翻转
29。 FPGA.使用Verilog的完整加法器设计
30. 使用VHDL的FPGA完整的加法器设计
31。 与Verilog Testbench的FPGA上的计数器
32。 使用Verilog的FPGA上的RISC处理器设计
33。 Verilog测试替补席 inout ports on FPGA
34。 使用VHDL的FPGA上的PWM发生器
35。 使用Verilog的FPGA上TIC TAC TOE游戏
36。 Alu上的VHDL代码在FPGA上
37。 alu在fpga上的Verilog代码
38。 与VHDL测试台FPGA的计数器设计
39。 VERILOG中FPGA上的流水线MIPS处理器(第1部分)
40。  在Verilog中FPGA的流水线MIPS处理器(第2部分)
41。 在Verilog的FPGA上的流水线MIPS处理器(第3部分)
42。 FPGA.上的Verilog解码器
43。 FPGA.上的Verilog多路复用器
44。 在Verilog中FPGA的N位加法器设计
45。 使用n比特Verilog加法器在FPGA上VHDL ALU
46。 FPGA.上的VHDL移位器
47。 查找表VHDL在FPGA上的示例代码
48。 FPGA.上的协处理器VHDL实现
49。 适用于初学者的实惠的Xilinx FPGA板
50。 适用于初学者的Altera FPGA板
FPGA. Verilog VHDL课程

没意见:

发表评论

趋势FPGA项目