fpga 订阅
FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 [1] 展开全文
FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 [1]
信息
简    称
FPGA
所属类别
AI 芯片
中文名
现场可编程逻辑门阵列
外文名
Field Programmable Gate Array
FPGA简介
FPGA设计不是简单的芯片研究,主要是利用 FPGA 的模式进行其他行业产品的设计。 与 ASIC 不同, FPGA在通信行业的应用比较广泛。通过对全球FPGA产品市场以及相关供应商的分析,结合当前我国的实际情况以及国内领先的FPGA产品可以发现相关技术在未来的发展方向,对我国科技水平的全面提高具有非常重要的推动作用。 [2]  与传统模式的芯片设计进行对比,FPGA 芯片并非单纯局限于研究以及设计芯片,而是针对较多领域产品都能借助特定芯片模型予以优化设计。从芯片器件的角度讲,FPGA 本身构成 了半定制电路中的典型集成电路,其中含有数字管理模块、内嵌式单元、输出单元以及输入单元等。在此基础上,关于FPGA芯片有必要全面着眼于综合性的芯片优化设计,通过改进当前的芯片设计来增设全新的芯片功能,据此实现了芯片整体构造的简化与性能提升。 [3] 
收起全文
精华内容
下载资源
问答
  • FPGA

    千次阅读 2017-07-30 16:08:13
    项目中说需要用FPGA做CNN加速,FPGA完全没有听说过,所以这几天造成不少困扰(其实是完全把我搞糊涂了),写点东西记录一下 项目组用树莓派?!什么,难道和FPGA不冲突吗 别笑,我知道这个问题很弱智,但却难倒我...

    项目中说需要用FPGA做CNN加速,FPGA完全没有听说过,所以这几天造成不少困扰(其实是完全把我搞糊涂了),写点东西记录一下

    • 项目组用树莓派?!什么,难道和FPGA不冲突吗

    别笑,我知道这个问题很弱智,但却难倒我整整一天,由于我以前一点接触过硬件方面的知识,所以才有这个困扰。FPGA为类似于GPU的东东,全称为“可编程门阵列”,不同于GPU在出厂前就已经写好了硬件代码,FPGA需要自己写硬件描述,正是由于这个原因,可以重复写入硬件描述代码,FPGA相当于GPU!

    贴几个最近找的网站

    FPGA能做机器学习吗–知乎

    目前在机器学习领域异构计算得到重视,GPU占据主流位置,Fpga初现端倪,不知fpga在机器学习的前景如何?–知乎

    FPGA 学习需要哪些东西?–知乎

    由于我不打算深入嵌入式,所以FPGA的工作就交给其他人去做了,恩,就是这样

    展开全文
  • 如何学习FPGA

    万次阅读 多人点赞 2015-03-25 20:27:45
    推荐的教材是《FPGA权威指南》、《Altera FPGA/CPLD设计》第二版的基础篇和高级篇两本。学会加快编译速度(增量式编译、LogicLock),静态时序分析(timequest),嵌入式逻辑分析仪(signaltap)就算是通关了。如果...

     

    PS:笔者强烈建议诸位注册一个EETOP的账号,每天签到或者发贴、回贴就有积分了,里面的资源非常丰富,各种软件、资料都能找到。

     

    一、入门首先要掌握HDL(HDL=verilog+VHDL)。

           第一句话是:还没学数电的先学数电。然后你可以选择verilog或者VHDL,有C语言基础的,建议选择VHDL。因为verilog太像C了,很容易混淆,最后你会发现,你花了大量时间去区分这两种语言,而不是在学习如何使用它。当然,你思维能转得过来,也可以选verilog,毕竟在国内verilog用得比较多。

           接下来,首先找本实例抄代码。抄代码的意义在于熟悉语法规则和编译器(又叫综合器),常用的集成开发环境有:Intel的Quartus、Xilinx的ISEVivadoDesign CompilerSynopsysVCS、Linux下的iverilog、LatticeDiamondMicrochipLiberoSynplify pro,然后再模仿着写,最后不看书也能写出来。编译完代码,就打开RTL图,看一下综合出来是什么样的电路

           HDL是硬件描述语言,突出硬件这一特点,所以要用数电的思维去思考HDL,而不是用C语言或者其它高级语言,如果不能理解这句话的,可以看《什么是硬件以及什么是软件》。在这一阶段,推荐的教材是Verilog HDL高级数字设计或者是《用于逻辑综合的VHDL》。不看书也能写出个三段式状态机就可以进入下一阶段了。

           此外,你手上必须准备Verilog或者VHDL的官方文档,《verilog_IEEE官方标准手册-2005_IEEE_P1364》、《IEEE Standard VHDL Language_2008》,以便遇到一些语法问题的时候能查一下。

    二、独立完成中小规模的数字电路设计。

           现在,你可以设计一些数字电路了,像交通灯、电子琴、DDS等等,推荐的教材是《Verilog HDL应用程序设计实例精讲》。在这一阶段,你要做到的是:给你一个指标要求或者时序图,你能用HDL设计电路去实现它。这里你需要一块开发板,可以选Altera的cyclone IV系列,或者Xilinx的Spantan 6。还没掌握HDL之前千万不要买开发板,因为你买回来也没用这里你没必要每次编译通过就下载代码,咱们用modelsim仿真(此外还有QuestaSimNC verilog、Diamond的Active-HDL、VCS、Debussy/Verdi等仿真工具),如果仿真都不能通过那就不用下载了,肯定不行的。在这里先掌握简单的testbench就可以了。推荐的教材是《WRITING TESTBENCHES Functional Verification of HDL Models》。

    三、掌握设计方法和设计原则。

           你可能发现你综合出来的电路尽管没错,但有很多警告。这个时候,你得学会同步设计原则、优化电路,是速度优先还是面积优先,时钟树应该怎样设计,怎样同步两个异频时钟等等。推荐的教材是《FPGA权威指南》、《Altera FPGA/CPLD设计》第二版的基础篇高级篇两本。学会加快编译速度(增量式编译、LogicLock),静态时序分析timequest),嵌入式逻辑分析仪(signaltap)就算是通关了。如果有不懂的地方可以暂时跳过,因为这部分还需要足量的实践,才能有较深刻的理解。

    四、学会提高开发效率。

            因为Quartus和ISE的编辑器功能太弱,影响了开发效率。所以建议使用Sublime text编辑器中代码片段的功能,以减少重复性劳动。Modelsim也是常用的仿真工具,学会TCL/TK以编写适合自己的DO文件,使得仿真变得自动化,推荐的教材是《TCL/TK入门经典》。你可能会手动备份代码,但是专业人士都是用版本控制器Git的,可以提高工作效率。文件比较器Beyond Compare也是个比较常用的工具,Git也有比较功能。此外,你也可以使用System Verilog来替代testbench,这样效率会更高一些。如果你是做IC验证的,就必须掌握System Verilog和验证方法学(UVM)。推荐的教材是《Writing Testbenches using SystemVerilog》、《The UVM Primer》、《System Verilog1800-2012语法手册》。

             掌握了TCL/TK之后,可以学习虚拟Jtag(ISE也有类似的工具)制作属于自己的调试工具,此外,有时间的话,最好再学个python。脚本,意味着一劳永逸。

    五、增强理论基础。

            这个时候,你已经会使用FPGA了,但是还有很多事情做不了(比如,FIR滤波器、PID算法、OFDM等),因为理论没学好。我大概地分几个方向供大家参考,后面跟的是要掌握的理论课。

    1、信号处理——信号与系统、数字信号处理、多采样率信号处理、数字图像处理、现代数字信号处理、盲信号处理、自适应滤波器原理、雷达信号处理

    2、接口应用——如:UARTSPIIICUSBCANPCIERapid IODDRTCP/IPSPI4.2(10G以太网接口)、SATA、光纤、DisplayPort、HDMI

    3、无线通信——信号与系统、数字信号处理、通信原理、移动通信基础、随机过程、信息论与编码

    4、CPU设计——计算机组成原理、单片机、计算机体系结构、编译原理、RISC-V

    5、仪器仪表——模拟电子技术、高频电子线路、电子测量技术、智能仪器原理及应用

    6、控制系统——自动控制原理、现代控制理论、过程控制工程、模糊控制器理论与应用

    7、压缩、编码、加密——数论、抽象代数、现代编码技术、信息论与编码、数据压缩导论、应用密码学、音频信息处理技术、数字视频编码技术原理、H.265

           现在你发现,原来FPGA会涉及到那么多知识,你可以选一个感兴趣的方向,但是工作中很有可能用到其中几个方向的知识,所以理论还是学得越多越好。如果你要更上一层,数学和英语是不可避免的。

    六、学会使用MATLAB仿真。

            设计FPGA算法的时候,多多少少都会用到MATLAB,比如CRC的系数矩阵、FFT、数字滤波器系数、各种表格和文本处理等。此外,MATLAB还能用于调试HDL(用MATLAB的计算结果跟用HDL算出来的一步步对照,可以知道哪里出问题)。推荐的教材是《MATLAB宝典》和杜勇的《数字滤波器的MATLAB与FPGA实现》。

    七、足量的实践。

           这个时候你至少读过几遍芯片手册(官网有),然后可以针对自己的方向,做一定量的实践了(期间要保持良好的代码风格增加元件例化语句的可读性,绘制流程图/时序图撰写文档的习惯)。比如:通信类的可以做调制解调算法,仪表类的可以做总线分析仪等等。不过这些算法,在书上只是给了个公式、框图而已,跟实际的差距很大,你甚至会觉得书上的东西都很肤浅。那么,你可以在知网百度文库EETOP论坛opencoresChinaAETSCI-HUB、Q群共享、博客上面找些相关资料(校外的朋友可以在淘宝买个知网账号)。其实,当你到了这个阶段,你已经达到了职业级水平,有空就多了解一些前沿技术,这将有助于你的职业规划。

            在工作当中,或许你需要关注很多协议和行业标准,协议可以在EETOP上面找到,而标准(如:国家标准GB和GB/T,国际标准ISO)就推荐《标准网》和《标准分享网》。

    八、图像处理。(这部分只写给想学图像处理的朋友,也是由浅入深的路线)

    1、Photoshop。花一、两周的时间学习PS,对图像处理有个大概的了解,知道各种图片格式、直方图、色相、通道、滤镜、拼接等基本概念,并能使用它。这部分是0基础,目的让大家对图像处理有个感性的认识,而不是一上来就各种各样的公式推导。推荐《Photoshop CS6完全自学教程》。

    2、基于MATLAB或OpenCV的图像处理。有C/C++基础的可以学习OpenCV,否则的话,建议学MATLAB。这个阶段下,只要学会简单的调用函数即可,暂时不用深究实现的细节。推荐《数字图像处理matlab版》、《学习OpenCV》。

    3、图像处理的基础理论。这部分的理论是需要高数、复变、线性代数、信号与系统、数字信号处理等基础,基础不好的话,建议先补补基础再来。看不懂的理论也可以暂时先放下,或许学到后面就自然而然地开窍了。推荐《数字图像处理》。

    4、基于FPGA的图像处理。把前面学到的理论运用到FPGA上面,如果这时你有前面第七个阶段的水平,你将轻松地独立完成图像算法设计(图像处理是离不开接口的,上面第五个阶段有讲)。如果你没有开发板,请参考《Verilog读取bmp图片》。推荐《基于FPGA的嵌入式图像处理系统设计》、《基于FPGA的数字图像处理原理及应用》。

    5、进一步钻研数学。要在算法上更上一层,必然需要更多的数学,所以这里建议学习实分析泛涵分析小波分析等。

    下面这两个阶段是给感兴趣的朋友介绍的。

    九、数电的尽头是模电。

           现在FPGA内部的事情是难不到你的,但是信号出了FPGA,你就没法控制了。这个时候必须学好模电。比如:电路分析、模拟电子技术、高频电子线路、PCB设计、EMC、SI、PI等等,能设计出一块带两片DDR3的FPGA开发板,就算通关了。具体的学习路线可以参考本博客的《如何学习硬件设计——理论篇》和《如何学习硬件设计——实践篇》。

    十、学无止境。

           能到这个境界,说明你已经很厉害了,但是还有很多东西要学的,因为FPGA常常要跟CPU交互,也就是说你得经常跟软件工程师交流,所以也得懂点软件方面的知识。比如ARM(Xilinx的ZYNQ和Altera的SOC会用到ARM的硬核,请参考本博客的《如何学习嵌入式软件》)、DSP、Linux、安卓、上位机(QT、C#、JAVA)都可以学一下,反正学无止境的。

    十一、其它问题。

    a、为什么不推荐学习NIOS II和MicroBlaze等软核?

          1、性价比不高,一般的软核性能大概跟Cortex M3或M4差不多,用FPGA那么贵的东西去做一个性能一般的CPU,在工程上是非常不划算的。不如另外加一块M3。

          2、加上软核,可能会影响到其它的逻辑的功能。这是在资源并不十分充足的情况下,再加上软核,导致布局布线变得相当困难。

          3、软核不开源,出现Bug的时候,不容易调试。

          4、工程上很少使用,极有可能派不上用场。

    b、为什么不推荐0基础学习ZYNQ或SOC?

          1、容易让人有傍同心理。傍同心理是指一个人通过渲染与自己有亲近关系的人的杰出,来掩盖和弥补自己在这方面的不足,从而获得心理上的平衡。自己在学习很厉害的东西,然后也感觉自己很厉害,但这只是错觉而已。

          2、入门应该学习尽量简单的东西,要么专心学习ARM,要么专心学习FPGA。这样更容易有成就感,增强信心。

          3、ZYNQ和SOC的应用领域并不广,还有很多人没听过这种东西,导致求职的不利。

          4、开发工具编译时间长,浪费较多时间。

          5、绝大多数工作,都只是负责一方面,也就是说另一方面,很有可能派不上用场。

    c、为什么已经存在那么多IP核,仍然需要写HDL?

          1、问这种问题的,一般是学生,他们没有做过产品,没有遇到过工程上的问题。

          2、IP核并非万能,不能满足所有需求。

          3、尽量少用闭源IP核,一旦出问题,这种黑匣子很可能让产品难产。

          4、深入理解底一层次,可以更好地使用高一层次。该法则可以适用于所有编程语言。

    d、推荐一些微电子的教学视频。

          可以参考本博客的《微电子教学视频--Silicon Run等》。

     

    展开全文
  • FPGA入门

    千人学习 2018-10-04 00:28:27
    本课程向大家介绍FPGA的基本概念和功能,并结合实际操作讲解实现原理和操作步骤,讲师也会带着大家演示一个实验。
  • FPGA 时钟分频

    万次阅读 多人点赞 2017-08-04 21:36:02
    时钟信号的处理是FPGA的特色之一,因此分频器也是FPGA设计中使用频率非常高的基本设计之一。一般在FPGA中都有集成的锁相环可以实现各种时钟的分频和倍频设计,但是通过语言设计进行时钟分频是最基本的训练,在对时钟...

     

    硬件说明


    时钟信号的处理是FPGA的特色之一,因此分频器也是FPGA设计中使用频率非常高的基本设计之一。一般在FPGA中都有集成的锁相环可以实现各种时钟的分频和倍频设计,但是通过语言设计进行时钟分频是最基本的训练,在对时钟要求不高的设计时也能节省锁相环资源。在本实验中我们将实现任意整数的分频器,分频的时钟保持50%占空比。 
    1,偶数分频:偶数倍分频相对简单,比较容易理解。通过计数器计数是完全可以实现的。如进行N倍偶数分频,那么通过时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,以此循环下去。 
    2,奇数分频: 如果要实现占空比为50%的奇数倍分频,不能同偶数分频一样计数器记到一半的时候输出时钟翻转,那样得不到占空比50%的时钟。以待分频时钟CLK为例,如果以偶数分频的方法来做奇数分频,在CLK上升沿触发,将得到不是50%占空比的一个时钟信号(正周期比负周期多一个时钟或者少一个时钟);但是如果在CLK下降沿也触发,又得到另外一个不是50%占空比的时钟信号,这两个时钟相位正好相差半个CLK时钟周期。通过这两个时钟信号进行逻辑运算我们可以巧妙的得到50%占空比的时钟。 
    总结如下:对于实现占空比为50%的N倍奇数分频,首先进行上升沿触发进行模N计数,计数选定到某一个值进行输出时钟翻转,然后经过(N-1)/2再次进行翻转得到一个占空比非50%奇数n分频时钟。再者同时进行下降沿触发的模N计数,到和上升沿触发输出时钟翻转选定值相同值时,进行输出时钟时钟翻转,同样经过(N-1)/2时,输出时钟再次翻转生成占空比非50%的奇数n分频时钟。两个占空比非50%的n分频时钟进行逻辑运算(正周期多的相与,负周期多的相或),得到占空比为50%的奇数n分频时钟。 

    Verilog代码

    
    
     
    module divide (	clk,rst_n,clkout);
     
            input 	clk,rst_n;                       //输入信号,其中clk连接到FPGA的C1脚,频率为12MHz
            output	clkout;                          //输出信号,可以连接到LED观察分频的时钟
     
            //parameter是verilog里常数语句
    	parameter	WIDTH	= 3;             //计数器的位数,计数的最大值为 2**WIDTH-1
    	parameter	N	= 5;             //分频系数,请确保 N < 2**WIDTH-1,否则计数会溢出
     
    	reg 	[WIDTH-1:0]	cnt_p,cnt_n;     //cnt_p为上升沿触发时的计数器,cnt_n为下降沿触发时的计数器
    	reg			clk_p,clk_n;     //clk_p为上升沿触发时分频时钟,clk_n为下降沿触发时分频时钟
     
    	//上升沿触发时计数器的控制
    	always @ (posedge clk or negedge rst_n )         //posedge和negedge是verilog表示信号上升沿和下降沿
                                                             //当clk上升沿来临或者rst_n变低的时候执行一次always里的语句
    		begin
    			if(!rst_n)
    				cnt_p<=0;
    			else if (cnt_p==(N-1))
    				cnt_p<=0;
    			else cnt_p<=cnt_p+1;             //计数器一直计数,当计数到N-1的时候清零,这是一个模N的计数器
    		end
     
             //上升沿触发的分频时钟输出,如果N为奇数得到的时钟占空比不是50%;如果N为偶数得到的时钟占空比为50%
             always @ (posedge clk or negedge rst_n)
    		begin
    			if(!rst_n)
    				clk_p<=0;
    			else if (cnt_p<(N>>1))          //N>>1表示右移一位,相当于除以2去掉余数
    				clk_p<=0;
    			else 
    				clk_p<=1;               //得到的分频时钟正周期比负周期多一个clk时钟
    		end
     
            //下降沿触发时计数器的控制        	
    	always @ (negedge clk or negedge rst_n)
    		begin
    			if(!rst_n)
    				cnt_n<=0;
    			else if (cnt_n==(N-1))
    				cnt_n<=0;
    			else cnt_n<=cnt_n+1;
    		end
     
            //下降沿触发的分频时钟输出,和clk_p相差半个时钟
    	always @ (negedge clk)
    		begin
    			if(!rst_n)
    				clk_n<=0;
    			else if (cnt_n<(N>>1))  
    				clk_n<=0;
    			else 
    				clk_n<=1;                //得到的分频时钟正周期比负周期多一个clk时钟
    		end
     
            assign clkout = (N==1)?clk:(N[0])?(clk_p&clk_n):clk_p;      //条件判断表达式
                                                                        //当N=1时,直接输出clk
                                                                        //当N为偶数也就是N的最低位为0,N(0)=0,输出clk_p
                                                                        //当N为奇数也就是N最低位为1,N(0)=1,输出clk_p&clk_n。正周期多所以是相与
    endmodule     
    

    测试文件,进行功能仿真时需要编写testbench测试文件。verilog里的testbench文件和源文件一样也是.v文件,仿真能让我们更直观的观察信号波形,可以先阅读Diamond的使用了解如何使用Diamond中集成的仿真工具。

    
     
              `timescale 1ns/100ps                             //仿真时间单位/时间精度,时间单位要大于或者等于时间精度
     
              module divide_tb();                              //测试文件也是一个module,因为用于仿真所以无需输入输出信号
     
              reg    clk,rst_n;                                //需要产生的激励信号定义,激励信号需要过程块产生所以定义为reg型变量
              wire   clkout;                                   //需要观察的输出信号定义,定义为wire型变量
     
              //初始化过程块
              initial 
    	  begin 
    		 clk = 0;
    		 rst_n = 0;
    		 #25                                      //#表示延时25个时间单位
    		 rst_n = 1;                               //产生了一个初始25ns低电平,然后变高电平的复位信号
    	  end
     
              always #10 clk = ~clk;                          //每隔10ns翻转一次clk信号,也就是产生一个时钟周期20ns的clk,频率为50MHz  
     
              //module调用例化格式
              divide  #(.WIDTH(4),.N(11))  u1 (                         //#后面的()中为参数传递,如果不传递参数就是所调用模块中的参数默认值
                                                                       //divide表示所要例化的module名称,u1是我们定义的例化名称,必须以字母开头
    						.clk	(clk),     //输入输出信号连接。 .clk表示module本身定义的信号名称;(clk)表示我们在这里定义的激励信号
    						.rst_n	(rst_n),   //在testbench里定义的信号名称可以与所要调用module的端口信号名称不同
    						.clkout	(clkout)   
    					  );
             endmodule
    
    

    引脚分配


    时钟为12MHz。你可以通过仿真波形观察分频时钟(注意仿真的时间是有限的,所以分频时钟频率需要较高)。如果我们想通过眼睛观察LED的闪烁,那么需要设置参数N和WIDTH得到一个频率较低的时钟(例如N=12000000,WIDTH=24,分频时钟周期为1秒)。 

    信号 引脚
    clk C1
    rst_n L14
    clkout N13


    修改程序中的分频系数和计数器位数就能够调整LED闪烁速度(注意计数的最大值一定要保证超过分频系数N)。 

    展开全文
  • FPGA入门教程】(一)初识FPGA

    万次阅读 多人点赞 2018-05-24 18:43:00
    FPGA(Field-Programmable Gate Array,现场可编程门阵列),正如其名,FPGA内部有大量的可编程逻辑功能块,使用verilog HDL(硬件描述语言)实现设计。  玩过单片机的小伙伴刚接触FPGA可能会有点困惑,其实FPGA与...

      FPGA(Field-Programmable Gate Array,现场可编程门阵列),正如其名,FPGA内部有大量的可编程逻辑功能块,使用verilog HDL(硬件描述语言)实现设计。

      玩过单片机的小伙伴刚接触FPGA可能会有点困惑,其实FPGA与单片机最大的区别就在于:FPGA设计的是电路,单片机设计的是程序。单片机只有一个CPU在工作时钟的驱动下顺序的执行程序(取指、译码、执行),所以工作速度较慢,而FPGA设计出来的是整个电路逻辑系统,根本不需要单片机这么复杂,所以FPGA的工作速度自然很快,在两者各有各的优势下,单片机主要用于进行相关控制,FPGA多用于信号处理相关。

      典型的FPGA原理和结构如下图(注:以Cyclone IV E FPGA芯片为例),主要包括三类基本资源

              

    • 可编程逻辑功能块(Altera-LE(Logic Element) / Xlinx-Slice)

                    是实现用户功能的基本单元,多个逻辑功能块通常规则地排成一个阵列结构,分布于整个芯片;

    • 可编程内部互连资源

        包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或输入/输出块连接起来,构成特定功能的电路。用户可以通过编程决定每个单元的功能以及它们的互连关系,从而实现所需的逻辑功能。

    • 可编程输入/输出(I/O)块

         完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元阵列四周;

      

      FPGA从简单的逻辑粘合,发展到现在的可编程片上系统,FPGA厂家也在基本的FPGA架构上加入了一些扩展资源,比如时钟管理单元(PLL、DLL)、嵌入式存储器单元和硬件乘法器单元,DSP单元一些高端器件还加入了高速收发器、甚至嵌入式硬核处理器,让FPGA的应用领域更广阔,Cyclone IV E器件加入的扩展资源有:

    • PLL锁相环

        模拟电路,将输入的周期信号进行分频和倍频,或改变相位,输出一个或多个稳定的时钟信号;

    • M9K存储器

        嵌入式块RAM,容量大小9Kbit,这些存储器可以被配置成单端口、简单双端口、真双端口RAM、FIFO缓冲器、ROM

    • 18*18硬件乘法器

        快速进行运算

     

      FPGA中除了三类基本资源和一些扩展资源外,由图中可以看到,FPGA中资源分布也是很精致的:

        1、逻辑阵列和M9K存储器交替分布,这样做的优点是缩短数据的传输路径,以获得更优的时序性能;

        2、IOEs和PLL单元分布在器件的四周,数据流一般从左侧IO流入,经过处理、运算、存储,通过右侧IO流出,控制信号通过上下IO输入输出;有时候系统需要高质量时钟(比如软核所需工作时钟)通常由PLL单元产生,而这些分布在四周的PLL可以最短时钟源产生工作时钟,另外,PLL属于模拟电路,放在周围更利于生产;

      两种主流FPGA的资源情况如下:

      Altera Cyclone IV E系列FPGA常见硬件资源详情列表:

     

     

      Xilinx 7 系列FPGA 硬件资源详情:

      

       最后,放上两张开发板图片,一块是小梅哥基于Cyclone IV EP4CE10的AC620,一块是Digilent基于Xilinx Artix7的Basys3,两块都很精致有木有~

      

      

     

     

      

     

     

    展开全文
  • FPGA现状

    千次阅读 多人点赞 2019-07-16 19:51:42
    FPGA国内现状  目前中国IC厂商在FPGA这个细分领域和国外巨头的差距远远比其他领域要大。  FPGA技术门槛非常高,核心技术只掌握在及其少数的公司手上,而且xilinx和atlera手头握有6000多项专利,对后进者形成很高...
  • FPGA工具

    千次阅读 2019-03-05 16:52:50
    Contents: 1、FPGA编程语言 2、FPGA使用工具 3、接下来的内容 ... 刚接触FPGA,什么都不知道,这个系列就一步步建立起FPGA的知识。... 首先什么是FPGA:(1)PLD,DSP,EDA,FPGA区别,(2)What is FPGA...
  • FPGA学习.0——FPGA是什么

    千次阅读 多人点赞 2021-02-01 10:12:33
    FPGA(Field Programmable Gate Array,简称FPGA),译文:现场可编程门阵列,一种主要以数字电路为主的集成芯片,于1985年由Xilinx创始人之一Ross Freeman发明,属于可编程逻辑器件PLD(Programmable Logic Device...
  • 什么是FPGA

    万次阅读 多人点赞 2019-02-24 21:27:25
    最近获得去英特尔的FPGA芯片厂参观的机会,我寻思着虽然既然是要去参观,那咱总得对其有所了解吧,不废话了进入正题。 首先,Google启动! FPGA(Field-Programmable Gate Array),即现场可编程门阵列 看不懂,...
  • FPGA的开发遵循一定的流程,我们要学会站在巨人的肩膀上进行FPGA开发,听取前人的经验,这篇博文摘自《FPGA之道》,一起来学习下作者对于FPGA开发的丰富经验。
  • FPGA概述

    千次阅读 2016-10-26 20:59:43
    FPGA概述
  • FPGA资料

    千次阅读 2017-09-08 08:22:59
    Altera FPGA开发板与xilinx FPGA开发板对比 注:以下对比仅来自各开发板及FPGA的说明文档,如有需更详细精确的数据请直接查看两家fpga厂家的原厂资料。 开发板 FPGA  DSP Flip-Flops ...
  • FPGA加密

    千次阅读 2018-05-17 14:00:20
    FPGA加密(转) 转载▼FPGA的加密问题其实是一个加密成本和加密级别的折中,总的说来只要FPGA内部带非挥发的Memory块,就可以实现加密功能, 不带非挥发Memory块的FPGA,可以在系统级来解决加密问题:1.高端FPGA如...
  • [FPGA]基于FPGA的数字跑表

    千次阅读 2020-11-17 20:14:38
    基于FPGA的数字跑表的设计与实现 一、设计要求 用FPGA设计并实现一个数字跑表,范围为0~59分59.99秒。可以实现数字跑表进行启动、停止计时和显示读数三个操作,可以在数码管上显示读数。 二、设计任务 2.1基本部分 ...
  • FPGA LVDS

    千次阅读 2019-03-13 14:38:51
    最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用。Xilinx FPGA中,主要通过原语实现差分信号的收发:OBUFDS(差分输出BUF),IBUFDS(差分输入BUF)。 注意在分配引脚时,只需要分配SIGNAL_P的...
  • FPGA IOB

    千次阅读 2019-08-22 23:45:40
    首先了解一下fpga的芯片内部结构: 一个fpga主要是由可编程输入输出单元(图中的IOB模块),可编程逻辑单元(CLB模块),块RAM(图中的BRAM,也属于内嵌硬件),数字时钟管理(DCM,也属于内嵌硬件),还有一些...
  • 从认识FPGA到今天已经四年了。但有些概念我依然模糊。今天被领导问住了,决定好好补一补基础概念。 http://xilinx.eetop.cn/viewthread-339516 先看了遍这里说的。我就把自己理解的放在这里便于记忆,大家觉得说的...
  • 国产FPGA那家强

    万次阅读 2019-05-22 11:23:12
    国产FPGA那家强 写了这么多FPGA的文章却从来没有涉及过国产FPGA,很多网友甚至不知道还有国产FPGA。下面列举一些国产FPGA,排名不分先后,标题只是噱头。内容如有侵权,请联系小编进行删除。 1 西安智多晶微电子...
  • FPGA芯片选型(FPGA初学者的选择)

    万次阅读 多人点赞 2018-10-02 17:45:18
    版权声明:本文为博主原创文章,未经博主允许不得转载。...初学者在学习FPGA的时候,要解决的首要的问题是对数字电路技术基础知识的掌握,然后就是对硬件描述语言的掌握(veirlog或者VHDL)。至于FPG...
  • FPGADesigner《FPGA数字信号处理系列》目录与传送门

    万次阅读 多人点赞 2018-06-12 14:16:01
    本系列介绍Alter/Xilinx FPGA中各种数字信号处理算法的实现,学习各种DSP IP核的使用方法,以及DSP算法的设计思路和关键问题。
  • FPGA基础进阶

    千次阅读 多人点赞 2019-05-29 12:23:28
    目录 前言 一、基础篇 二、基础进阶 三、中级篇 ...生活,若没有目标,简直槽糕的一塌糊涂!...本文是导航目录,以记录自己的FPGA学习之路。...主要内容包括:FPGA学习方向、设计规范、常用... 1、个人FPGA学习方向规划...
  • xilinxFPGA

    千次阅读 2018-10-09 19:17:42
    FPGA新手,最近在调试xilinx的FPGA,起初采用的是XCKU040FFVA1156芯片的开发板,直接在vivado2017.4上调试,没有出现任何问题,但是可能由于擦写频繁或者是不正当操作,导致芯片的JTAG口出现问题。后面重新采用KC705...
  • FPGA云原生 Xilinx FPGA_as_a_Service 概述

    千次阅读 2020-08-10 22:44:48
    FPGA_as_a_Service仓库分为四个子仓库:Xilinx Base Runtime(预装了Xilinx运行时和setup、flash Alveo加速卡的Docker镜像)、Containerization(为多种云供应商提供脚本build Docker镜像)、k8s-fpga-device-plugin...
  • FPGA引脚简介

    千次阅读 2020-09-07 10:04:08
    一、 FPGA的硬件结构 这里说的硬件结构主要从FPGA的引脚功能方面描述,FPGA内部的电路逻辑暂不讨论。 FPGA的引脚大致可以分为三类:功能引脚、IO引脚、电源和接地引脚。 1. 功能引脚 FPGA的功能引脚包含了FPGA...
  • FPGA】初探FPGA —— 入门书籍推荐

    千次阅读 2020-12-05 00:49:31
    之前一直想做FPGA的入门博客,无奈计划总是赶不上变化,上一篇FPGA的入门博客是19年10月份写的(ababababa),结果20年都快结束了,才把这一章给续上。(过于卑微)这次是正好在B站上录了类似视频,所以就顺便写出一...
  • FPGA顶会

    千次阅读 2017-09-18 20:58:38
    FPGA - 常年在美国,每年2月,偏FPGA基础研究,今年多了不少Application FCCM - 常年在美国,每年5月 FPL - 欧洲巡回,每年9月 FPT - 亚太巡回,每年12月,
  • FPGA学习

    2016-09-17 00:44:48
    FPGA:高性能、低能耗、可编程 与其它计算载体如CPU与GPU相比,FPGA具有高性能、低能耗以及可硬件编程的特点。图1介绍了FPGA的硬件架构,每个FPGA主要由三个部分组成:输入输出逻辑,主要用于FPGA与外部其他部件,...
  • FPGA——如何学习FPGA

    千次阅读 2013-09-30 19:35:05
    掌握FPGA可以找到一份很好的工作,对于有经验的工作人员,使用FPGA可以让设计变得非常有灵活性。掌握了FPGA设计,单板硬件设计就非常容易(不是 系统设计),特别是上大学时如同天书的逻辑时序图,看起来就非常亲切。...
  • 今天和大侠简单聊一聊 Intel altera 和 Xilinx 的 FPGA 区别,话不多说,上货。 最近有很多人在问,学习FPGA到底是选择 Intel altera 的还是 xilinx 的呢,于是我就苦口婆心的说了一大堆,中心思想大概就是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,456
精华内容 26,182
热门标签
关键字:

fpga