《那些年,我们拿下FPGA》做笔记
spld、cpld和fpga等可不管什么样的逻辑是大自然来实现。任何逻辑可以由多项式来表示(要么逼关闭)。比多项式乘法和处理操作仅此而已。
而就。您可以在门线上用。或门添加剂。
fpga扩展架构SOPC,那是片上可编程系统。为两种,一种是纯FPGA架构的SOPC,称SOPC系统。一般内嵌乘法器、乘加器、吉比特传输模块等等,能够使原来利用逻辑实现的资源消耗多、速度慢的算法得到非常大的优化。还有一种是环绕FPGA的多芯架构的SOPC。包含FPGA+处理器(CPU、ARM……)。FPGA+DSP。FPNA等等。
一般内存用的是DRAM。它与SRAM差别在于DRAM须要一段时间刷新一次,须要额外的定时刷新电路。由于硬件结构是电容充放电。这样的小规模的DRAM来讲。刷新电路的消耗得不偿失,对FPGA而言太复杂。
因此FPGA用的是SRAM,不须要动态刷新,一旦加载数据将保持不断电。
基于LUT(查找表)技术的FPGA实现机里是事先通过综合器将全部可能的输入进行换算得到全部可能的结果(真值表),真值表的计算过程实际上是开发过程中的综合过程。
然后把这些结果加载LUT(是SRAM)存储单元,在通过不同输入进行索引出对应结果。
须要说明的是,LUT硬件本身就存在二选一多路器结构,尝试着理解一下。
对于一个n输入的查找表来上,它可以实现不论什么n输入组合函数的功能。
眼下大多是基于4输入LUT的。
为充分利用LUT。假设LUT是4输入的。那么逻辑信号宽度最好用4的倍数。
比方23位。那就用24位。一来不浪费资源,二来可以防止计数溢出。
熔丝和反熔丝的概念对照保险丝。
mux是指二选一多路选择器,说基于mux实际上也是基于反熔丝技术的FPGA。
FPGA的应用:图像处理、通信、数字信号处理、CPU等等。
一般软件提供相关的IP核(回头看看)。
嵌入式一般指嵌入处理器。所以我的理解是单片机、fpga这些不算是非常严格的嵌入式系统。
硬核,是直接将微处理器放到fpga芯片里面。软核则是将一组逻辑资源块配置成一个微处理器,速度慢一点。但简单。
在资源同意情况下。能够配置多个软核。
top-down是指从整个系统按功能出发,按一定原则将系统分成若干子系统,再将子系统分成若干个功能模块,直至分成很多基本模块。模块例化便是起到层与层之间的连接作用。
在Altera的开发流程中,将编译、映射过程合成综合。在Xilinx开发流程中,由设计输入得到门级王彪的过程叫做综合,而映射过程归结到某一称作实现的子步骤中。
约束分为综合约束和布局布线约束,后者又可分为位置约束和时序约束。
一般开发环境对约束有默认设置,也大部分情况是适用的。
综合约束是在综合过程中做的,不同的约束会导致生成性能不同的电路。
电路实现的速度和消耗的面积是贯穿FPGA开发过程中两个矛盾的问题。综合约束是小范围内实现实现速度和面积平衡的一种方式。
位置约束又称I/O约束。
这个是必须的。还有增量编译也会涉及到。
关于I/O约束我曾在调试ad9854的文章中讲到,有些开发环境还默认设置了电平和限流的方面,有可能会导致现象出不来的情况,这个不同版本号的开发环境也会有差别吧。
时序约束,这里不展开了,最重要的是知道系统性能决定于最差路径的延时。
我如今一般还是忽略的。
三种仿真。第一种是RTL级仿真,又称前仿真。功能仿真,只验证逻辑功能。
另外一种是门级仿真,又叫静态仿真,它是综合后LUT门级网表的仿真。目的是验证当project到了用LUT网表描写叙述的时候,从功能上验证project的正确性。
第三种是时序仿真,又叫后仿真。布局完成后,在前面的附加等待时间信息的基础上。在分析逻辑功能符合要求。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
《那些年,我们拿下FPGA》做笔记的更多相关文章
- 使用ZIM桌面维基做笔记
最近尝试了使用ZIM做笔记,感觉还不错 ubuntu下直接到软件中心即可安装,或者 sudo apt-get install zim windows下的到此下载http://www.glump.net ...
- PDF加密无法做笔记
尝试打印PDF,若无法打印,可以利用PDFescape(http://www.pdfescape.com/) PDFescape是一个可以在线修改.做笔记的网站,但是在线使用有上传PDF大小限制(小于 ...
- FPGA做正则匹配和网络安全,究竟有多大的优势?
FPGA做正则匹配和网络安全,究竟有多大的优势? 西电通院专用集成电路课程学习 云导播 网络安全已经被提升为国家战略的高度,高校里面的新增的一级学科,去年9月份,中央网信办.教育部公布了“一流网络安全 ...
- php面试题9(看的时候就应该随手截图做笔记的)
php面试题9(看的时候就应该随手截图做笔记的) 一.总结 看的时候就应该随手截图做笔记的 二.php面试题9 一.选择题:1.下面哪个表达式不能将两个字符串$s1 和$s2 串联成一个单独的字符串? ...
- 【原创】复制知乎“禁止转载”的内容做笔记 - 基于oncopy监听器的简单解决方案
原理:移除所有oncopy的监听器. 使用: 新建书签,地址设为: javascript: getEventListeners(document).copy.forEach(({listener}) ...
- 使用Typora做笔记
本文旨在分享使用Typora做笔记的一些心得 一.介绍 为什么要用Typora 作为一个程序员,在学习过程中打交道的不单单是文字,还有各种语言的代码块和公式,以及一些简单的流程图和思维导图(就目前而言 ...
- FPGA Timing笔记
很多FPGA工程师都会遇到timing的问题,如何让FPGA跑到更快的处理频率是永久话题.决定FPGA的timing关键是什么?如何才能跑到更快的频率呢? A. 第一步需要了解FPGA的timing路 ...
- FPGA学习笔记(一)——初识FPGA
###### [该随笔部分内容转载自小梅哥] ######### FPGA(Field-Programmable Gate Array,现场可编程门阵列),正如其名,FPGA内部有大量的可 ...
- FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程(转)
很多做过单片机的朋友都知 道,我们在对MCU烧写完程序固件后,那么该程序固件就存储在了该MCU内部.即使MCU断电了再重新上电,程序也能继续运行.这是因为对MCU烧写固件 的实质就是将程序固件写入到M ...
随机推荐
- asp.net web api KnownTypeAttribute
项目里用到了继承,在序列化的时候遇到了问题. 源代码 public class Segment { public SegmentType Type { get; set; } public strin ...
- Linux下find命令具体解释
1. find命令 linux的find命令用来查找文件,功能非常强大, 能够通过时间, 用户组, 文件名称, 文件类型, 权限,大小等来查找对应文件. 2. find的使用方法 通过find --h ...
- tornado的GET POST方法样品展示
举例说明get和post该方法的用途: 一.演示样例用的GET方法: import tornado.ioloop import tornado.web class MainHandler(tornad ...
- HDU1312 Red and Black 解读
递归搜索方法标题,采用递归搜索方法,但是,如果没有迭代计算的真正的政党格. 我们的想法是: 1 每一个搜索为党格要改变电流方向格的值至 '*',或任何其他非'.'的值,代表方格了 2 递归的时候不回复 ...
- 使用python+flask让你自己api(教程源代码)
1.背景 ok,这可能是很多朋友和我一样经常使用的各种api,例facebook的.github的.甚至微信api.因此,很多人都想使自己的api.在线教程在这方面它是非常小的,今天,我做了一个平稳, ...
- (大数据工程师学习路径)第四步 SQL基础课程----约束
一.简介 约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性.唯一性.本节实验就在操作中熟悉MySQL中的几种约束. 二.内容 1.约束分类 听名字就知道,约束是一种限制,它通过 ...
- 基于LINUX的多功能聊天室
原文:基于LINUX的多功能聊天室 基于LINUX的多功能聊天室 其实这个项目在我电脑已经躺了多时,最初写完项目规划后,我就认认真真地去实现了它,后来拿着这个项目区参加了面试,同样面试官也拿这个项目来 ...
- uva 10652 Board Wrapping (计算几何-凸包)
Problem B Board Wrapping Input: standard input Output: standard output Time Limit: 2 seconds The sma ...
- js 正则学习小记之左最长规则
原文:js 正则学习小记之左最长规则 昨天我在判断正则引擎用到的方法是用 /nfa|nfa not/ 去匹配 "nfa not",得到的结果是 'nfa'.其实我们的本意是想得到整 ...
- Select与SelectMany的区别
Select() 和 SelectMany() 的工作都是依据源值生成一个或多个结果值. Select() 为每个源值生成一个结果值.因此,总体结果是一个与源集合具有相同元素数目的集合.与之相反,Se ...