许多人问:FPGA是什么?
菇凉提问:
做FPGA开发多年,每次菇凉问我,什么是FPGA,我,我,我,不知道如何说起,难以回答。
FPGA是一种器件。其英文名 feild programable gate array 。
通俗来说,是一种功能强大似乎无所不能的器件。通常用于通信、网络、图像处理、工业控制等不同领域的器件。
一直强调,逻辑设计不是程序员,因为在设计人员来看,写逻辑只是FPGA开发中最不重要的工作。所以不需要有什么代码(姑且这么称呼)优劣之争。
是否纠结?
从来没遇到哪个同行,纠结过VHDL和Verilog孰优孰劣。基本上是来之可读,拿之可用,用顺手的。这些语言都是用来描述一个个真实存在的电路的,语言的优劣请退到后面去,真正关心的是描述的这个电路是不是足够简洁好用,最大概率的消除竞争冒险。
FPGA开发的流程,就是通过verilog/VHDL等硬件描述语言,经过EDA工具编译、综合、布局布线成为下载文件,最终加载到FPGA器件中去,完成所实现的功能。
依旧如故:
二三十年来,FPGA的结构基本上就没还是那个样子:
小小的芯片里面有非常多的查找表,这些查找表的组合,完成了或与非等数字逻辑的实现,再加上时钟模块实现时序,寄存器模块存储电路状态,RAM模块存储大量数据,IO与外部进行通信,一个最基础的FPGA芯片架设完毕。
新生产的FPGA,也只是在这个基础上加一些高速接口、专用运算模块DSP、嵌一个CPU或者arm。
说起来简单,就这么个小小的芯片,却一直被垄断在巨头altera和xilinx手上。
版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处
作者:杭州卿萃科技ALIFPGA
原文地址:杭州卿萃科技FPGA极客空间 微信公众号
扫描二维码关注杭州卿萃科技FPGA极客空间
许多人问:FPGA是什么?的更多相关文章
- C# Winform开发以及控件开发的需要注意的,被人问怕了,都是基础常识
我是搞控件开发的,经常被人问,所以把一些问题记录了下来!如果有人再问,直接把地址丢给他看. 一. 经常会有人抱怨Winform界面闪烁,下面有几个方法可以尽可能的避免出现闪烁 1.控件的使用尽量以纯色 ...
- 再有人问你synchronized是什么,就把这篇文章发给他
在再有人问你Java内存模型是什么,就把这篇文章发给他.中我们曾经介绍过,Java语言为了解决并发编程中存在的原子性.可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronize ...
- C C++ 常被人问的问题分析
正文 - 开始了, 直接扯淡 以下都是自己面试中遇到的常见的问题.如有不妥的地方就当见笑了. 哈哈 1. 谈谈你们服务器的架构吧. 分析: 假如这是第一个问题, 你可以走了. 可能各方面原因他不想 ...
- 再有人问你HashMap,把这篇文章甩给他!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java==集合中的精髓==了,如果你觉得自己对 ...
- 再有人问你HashMap,把这篇文章甩给他
搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java==集合中的精髓==了,如果你觉得自己对它掌握的还不够好,我想今天这篇文 ...
- 最近很多人问我:saiku下载不下来
saiku的前段团队 在UI设计方面很专业.但是兼容性差到让人无语.不知道为什么,是不是不给钱,人家故意黑它. 一直忙别的工作,现在整理一些saiku相关网站,百度不到的,google又要FQ.看个合 ...
- [转] 以后再有人问你selenium是什么,你就把这篇文章给他
本文转自:https://blog.csdn.net/TestingGDR/article/details/81950593 写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论 ...
- 再有人问你Java内存模型是什么,就把这篇文章发给他
前几天,发了一篇文章,介绍了一下JVM内存结构.Java内存模型以及Java对象模型之间的区别.有很多小伙伴反馈希望可以深入的讲解下每个知识点.Java内存模型,是这三个知识点当中最晦涩难懂的一个,而 ...
- 最近太多人问Protobuf的问题了,把这个重新搬出来!
pb杀手 我先让pbkiller做个自我介绍 pbkiller:我是一位专业的争对 protobuf 问题训练有素的杀手,我可以为您轻松搞定 protobuf 在 Cocos Creaotr 开发中的 ...
随机推荐
- Accesshelper.cs
using System; using System.Data; using System.Data.OleDb; using System.Collections; using System.IO; ...
- uname命令行
常用命令uname -v # uname -i #uname -a dream361@master:~$ uname -n #主机名称 master dream361@master:~$ uname ...
- Hadoop学习资料整理
1.hadoop相关 hadoop 0.18文档(详细介绍Hadoop,MapReduce,FS Shell,Streaming等) hadoop资料汇总 2.实习的时候用的是streaming,非j ...
- 【Html 学习笔记】第七节——表单
文本框:<form> <input> </form> 密码域-文本框:<input type ="password" > 复选框:& ...
- Python中注释的添加
1.Python中注释,有助于我们对程序的理解:但注释不需要每行都写,可以在方法前面注释该方法的功能 或重要的一行进行注释. 2.单行注释,使用#号: 3.多行注释,使用""&qu ...
- Android性能优化系列之电量优化
电量消耗的计算与统计是一件麻烦而且矛盾的事情,记录电量消耗本身也是一个费电量的事情,随着Android开的性能要求越来越高,电量的优化,也显得格外重要,一个耗电的应用,用户肯定会毫不犹豫的进行卸载,所 ...
- [Linux] 使用rename批量重命名文件
例如把所有png文件的后缀改为jpg $ rename 's/png/jpg/' *png
- .NET c# 新特性
<.NET之美>p181 Product item=new Product(188),{Price=4998.5F},Name="Lumia 920" 实例化,.NET ...
- matlab save 命令
有时候要运行很长才得到结果,而这部分结果在后面修改代码之后不需要改变.可以多次利用这些结果or参数,有必要将结果保存下来. 1 save example1 A ;%A为当前环境下的变量,example ...
- docker下的Jenkins安装和体验【转】
原文地址:http://blog.csdn.net/boling_cavalry/article/details/78942408 作为一款优秀的持续集成工具,jenkins在日常的项目中经常会用到, ...