FPGA的发展史及FPGA 的基础架构
通过了解早期FPGA的发展,理解FPGA究竟是干什么的,FPGA到底在电子设计领域起到了什么样的作用,下面是一张早期的设计过程

早期的设计流程过程中,只有当硬件完成了才能够得到功能的验证,随着集成电路开发的规模来越大,渐渐的需要一种快速有效的开发平台来完成预期的功能设计的验证,减少研发周期及研发成本,由此引入了EDA技术,首先是使用一种语言系统来描述一个硬件模型(即VHDL),其语言着重在描述性上,即重点在建立电路模型的过程上
此处就应该知道电路模型应该具备全部的电路特征:
(1)必要的输入和输出
(2)必要的内部信号
(3)特定的逻辑和时序行为等
这里就是FPGA开发语言与C语言之间本质性的差距(C语言是过程描述语言)。
在完成需要与想法后,即完成EDA设计后的一些应用方面如下图

用HDL描述的抽象硬件模型,verilog里面称为Module。
FPGA的verilog设计中,用到是查找表的方式来完成的对任意的组合逻辑的实现。在FPGA内部包含许多单元LUT(查找表),IOE(输入输出单元),Memory(内存)和DSP(乘法器等硬件电路主城)等构成。
EDA工具如何将我们的语言转化为FPGA可应用的硬件电路。

编译:将HDL 模型转变为基本的门级网表。
映射:为这些基本的门模型分配具体的cell。
映射后的网表即可以直接烧录到FPGA的器件里面。
硬件模型代码编写好后,需要对抽象的电路模型进行测试,称之为验证,为了进行验证,需要单独编写一段HDL代码,建立一个用于测试的模型,此模型称为Testbench
由于Testbench是一个真实的仿真平台,所以其本身也是不能运行的,EDA软件会提供一种运行Testbench的方法,这种抽象的方法称之为仿真。

仿真又分为
综合前验证(加载的为RTL模型),主要验证测试模型的逻辑性能。
综合后验证(加载的为网表),主要验证的是设计模型的时序性能。
Quartus II主要用来做设计编译及时序分析,仿真则需要用到ModelSim来进行验证。
(感觉和单片机的KEIL和protues的关系很像。
EDA的仿真工具ModelSim

技术报告大多数是modelsim做的验证,有论文需求和技术文档需求的小伙伴门可以看下,有开发板的貌似可以直接烧录了,不过还是仿真后可以看的更清晰)
由于仿真过程中需要的调用很多跨平台的文件,Altera提出了一键跨平台的自动化方式,称为NativeLink(使用时要注意层次化设计),这在后面的文章中会详细的讲解到

FPGA的逻辑单元


可编程寄存器是带沿触发的,由此可以构成时序逻辑。
提供路由器可以跟不同的逻辑单元进行来连接。
异步清零逻辑是为了在异步时序逻辑中提供异步清零的逻辑。
因为逻辑单元里面可能会有多个时钟对逻辑单元进行处理,所以需要有个时钟的管理。
查找表原理:任意组合逻辑的乘积项SOP对应n输入多路器实现。
这篇文章旨在讲述FPGA的作用及FPGA的一个基本的开发流程,如何将理论和实际结合起来,最后希望通过这篇文章让大家了解为什么verilog HDL语言和C语言(面向过程)以及JAVA(面向对象)、python(面向逻辑)等语言有本质的不同,因为它是一个并不是一个面向开发过程的语言,它只是一个描述性语言,开发逻辑及开发过程需要通过数电及微机接口的知识来完成,它的作用仅仅是将期望的逻辑用人和FPGA都能够理解的方式表达出来,然后传递到FPGA中让他按照人的意愿来实现相应功能的一门语言。
FPGA的发展史及FPGA 的基础架构的更多相关文章
- 【FPGA篇章二】FPGA开发流程:详述每一环节的物理含义和实现目标
欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 FPGA的开发流程是遵循着ASIC的开发流程发展的,发展到目前为止,FPGA的开发流程总体按照下图进行,有些步骤可能由于其在当前项目中的条件 ...
- MVP社区巡讲-云端基础架构:12月5日北京站 12月12日上海站
紧跟当今的技术发展趋势还远远不够,我们要引领变革!加入本地技术专家社区,获取真实案例.实况培训演示以及探讨新一代解决方案.在此活动中,您将: 了解如何运用开源(OSS)技术.Microsoft 技术及 ...
- IT基础架构规划方案一(网络系统规划)
背景 某集团经过多年的经营,公司业务和规模在不断发展,公司管理层和IT部门也认识到通过信息化手段可以更好地支撑公司业务运营.提高企业生产和管理效率.同时随着新建办公 ...
- IT基础架构规划方案二(计算机系统与机房规划规划)
计算机系统规划 服务器硬件选型规划方案 根据对某集团的实际调研,获取了企业业务应用系统的建设情况,随着企业信息化建设的推进,需要对各种信息化管理系统和应用系统的服务器选型进行选 ...
- IT基础架构规划方案三(IT基础软件和系统规划)
IT基础软件和系统规划 操作系统选型规划方案 根据对某集团的实际调研,获取了企业业务应用系统的建设情况,随着企业信息化建设的推进,需要对各种信息化管理系统和应用系统的服务器选型进行选型规划,根据不同的 ...
- IT基础架构规划方案之实际网络设计案例
根据某集团总部新办公大楼.厂房和分支机构(店面)的情况,以及IT部门对网络节点数.网络应用和分支机构(店面)的初步规划,对企业的总体网络拓扑结构进行设计,如下图. 设备选型和部署参考: 类型 设备选型 ...
- [翻译]用 Puppet 搭建易管理的服务器基础架构(4)
我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第四部分. 原文地址:http://blog.jobbole.com/89214/ 本文由 伯乐在线 - Wing 翻译,黄利民 校稿 ...
- [翻译]用 Puppet 搭建易管理的服务器基础架构(3)
我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第三部分. 本文由 伯乐在线 - Wing 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:Manuel Kiessling.欢迎加 ...
- [Search Engine] 搜索引擎分类和基础架构概述
大家一定不会多搜索引擎感到陌生,搜索引擎是互联网发展的最直接的产物,它可以帮助我们从海量的互联网资料中找到我们查询的内容,也是我们日常学习.工作和娱乐不可或缺的查询工具.之前本人也是经常使用Googl ...
随机推荐
- bitbucket 上公钥SSH key如何add key并进行项目运用
前提:从sourcetree 添加项目时老是拉取不下来,查到原因是应为bitbucket需要SSH key公钥 目的:公钥相当于你在任何一台电脑只要有公钥授权就可以随时提交代码到服务器 原因: 1.很 ...
- python字符串前面的r/u/b的意义 (笔记)
u/U:表示unicode字符串 : 不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码. r/R:非转义的原始字符串: 与普通字符相比,其他相对特殊的字符,其中可能包含 ...
- centos安装tree命令
centos安装tree命令 sudo yum -y install tree windows安装tree命令 我的另一篇
- linux创建快捷方式ln命令
创建快捷方式命令 ln -s 源文件 目标目录 //目标目录可以是完整路径,也可以是当前目录下的路径 ln 源文件 目标目录 在桌面上添加一个,创建一个文件夹(这里是work)的快捷方式 //源 cd ...
- java 自动补全
int youNumber = 1; // 0 代表前面补充0 // 4 代表长度为4 // d 代表参数为正数型 String str = String.format("%04d" ...
- 38.Spring-spring和hibernate整合.md
目录 1.定义各种类对象 2.创建Hibernate配置文件 3.配置applicationContext.xml 4.注意事项 1.定义各种类对象 package per.liyue.sh.demo ...
- python入门 -- 学习笔记3
习题21:函数可以返回东西 过程解析: 1.定义函数:如def add(形参)函数 2.调用函数: add(实参) 别忘记加() 3.在函数调用的时候将实参的值传给形参,代入到函数中进行计算,r ...
- java学习笔记(六):变量类型
java一共三种变量: 局部变量(本地变量):方法调用时创建,方法结束时销毁 实例变量(全局变量):类创建时创建,类销毁时销毁 类变量(静态变量):程序启动是创建,程序销毁时销毁 public cla ...
- 远程连接ORACLE服务
远程服务端操作系统: Windows Server 2003 Enterprise Edition sp2ORACLE 版本: Oracle 9.2.0.1.0 正式版 本地客户端操作系统: Wind ...
- linux之重定向命令
1.shell重定向概念:shell重定向包含输出重定向和输入重定向 何为输入输出方向?何为标准输入输出方向? 标准输入方向:从键盘读取用户输入的数据,然后再把数据拿到程序(C语言程序.Shell 脚 ...