一个前辈对FPGA的理解
接下来对比一下我原来和现在对于FPG A的认识:原来从单片机转型
到FPG A时,并没有摸清这趟河水的深浅,而在不知深浅的情况下,我已
经开始下水了。当时我认为FPG A和单片机一样,它是由一个超级经典的
硬核架构起来的IC,通过编写程序来实现FPG A对外围的控制。但是现在
想来,当初的想法是大错特错了,现在想来我的上半年FPG A学习进度基
本为零也就是意料之中的事情了。我重新对FPG A的认识是这样的:首
先,FPG A是纯硬件,现在我所写的‘程序’也就不能称之为程序,如果
非要给它起一个名字,我感觉‘代码’也许是比较恰当的;其次,单片
机和FPG A实现信息处理发出控制信号的方式不同,单片机和嵌入式是通
过主函数或者操作系统实现任务调度的途径来响应各种外部条件触发,
并通过‘软件’输出相应的状态来实现电子系统的正常工作,然而FPG A
是通过纯硬件来实现各种激励的相应的,与单片机实现控制的根本方法
不同。最后,单片机和嵌入式的软件设计会有盲点,再快的软件相应在
现实应用中也会有出现盲点的时候,简单的说就是系统不能及时响应或
者漏掉某些激励的现象,然而硬件不会,它以强大的并行方式来响应所
有的信号激励,但硬件也不是万能的,FPG A这类的纯硬件最大的克星就
是亚稳态以及竞争冒险等等,通俗的讲就是输出及其短暂的不稳定现
象,虽然不稳定状态出现的时间及其短,甚至到了皮秒级别(1秒等于10
的十二次方皮秒)但也就是这么短暂的不稳定也可能会给设计带来致命
的危险。这是有硬件的特性决定的,是在设计中永远无法避免的,对于
冒险和亚稳态,我们只能想尽一切办法去解决他们。一个信号处理逻辑
机制优劣将决定一个项目的好坏。这就是我暂时对FPG A的一些认识和感
悟
一个前辈对FPGA的理解的更多相关文章
- 用一个简单的例子来理解python高阶函数
============================ 用一个简单的例子来理解python高阶函数 ============================ 最近在用mailx发送邮件, 写法大致如 ...
- 一个小白对auth的理解
---恢复内容开始--- PS:最近需要做一个验证用户权限的功能,在官方和百度看了下,发现大家都是用auth来做验证,官方有很多auth的使用教程,但是都不全面,我也提问了几个关于auth的问题 也没 ...
- 一个demo让你彻底理解Android触摸事件的并发
注:本文涉及的demo的地址:https://github.com/absfree/TouchDispatch 1. 触摸动作及事件序列 (1)触摸事件的动作 触摸动作一共有三种:ACTION_DOW ...
- 一个新人对HTML的理解
首先 HTML里面包含的东西是什么? 在HTML里面 注释的表示方式是 <!--注释内容--> 注释 HTML初始默认包含了两大部分: 一部分是 <head>< ...
- 一个demo让你彻底理解Android中触摸事件的分发
注:本文涉及的demo的地址:https://github.com/absfree/TouchDispatch 1. 触摸动作及事件序列 (1)触摸事件的动作 触摸动作一共有三种:ACTION_DOW ...
- 用一个时钟在FPGA中计算直方图
直方图对数字数据的分析通常是一种有用的工具.不过,要从一个直方图获得可靠的结果,必须获得大量数据,通常是要10万到100万个点.如果需要分析一个ADC的数字输出,可以采用一片FPGA(图1). 图中显 ...
- 《Fluent Python》---一个关于memoryview例子的理解过程
近日,在阅读<Fluent Python>的第2.9.2节时,有一个关于内存视图的例子,当时看的一知半解,后来查了一些资料,现在总结一下,以备后续查询: 示例复述 添加了一些额外的代码,便 ...
- mvp(2)一个简单示例,加深理解
参考: http://www.cnblogs.com/liuling/p/mvp-pattern-android.html 架构图: 1.View层 public interface NewsView ...
- 一个小白对Arguments的理解
1.Arguments是一个类似数组的实参队列,译为:论据,论点,姑且译作参数(实参): 2.Arguments与形参保持不同的存储空间,只有当形参被赋值之后两者才会相等 3.传说在严格模式下函数内自 ...
随机推荐
- 数论 UVA 11752
题目大意是在1~2^64-1的范围内找到所有符合条件的数,条件要求这个数字是两个或两个以上不同数字的幂,例如64=8^2=4^3. 对于这一题,分析是:如果一个满足这个条件的数字一定可以转换成i^k, ...
- hdu4497 GCD and LCM ——素数分解+计数
link:http://acm.hdu.edu.cn/showproblem.php?pid=4497 如果G%L != 0,说明一定无解. 把K = G / L质数分解,G / L = p1^t1 ...
- 线段树 hdu4046
Panda Time Limit: 10000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 什么是JavaEE
Java技术不仅是一门编程语言而且是一个平台.同时Java语言是一门有着特定语法和风格的高级的面向对象的语言,Java平台是Java语言编写的特定应用程序运行的环境.Java平台有很多种,很多的Jav ...
- selenium多个窗口切换
浏览器里面支持多窗口打开,例如这样: html里面写了: target="_blank" 造成新打开一个窗口,但是selenium不会自动跳转到新的串口,需要自己切换: # 你打开 ...
- Windows环境下使用Redis缓存工具的图文详细方法
一.简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合). ...
- CentOS 7 时间同步
在做这个之前需要先搭建yum http://www.cnblogs.com/jw31/p/5955852.html 在做之前我们需要先安装ntp服务 yum install ntp -y vi /et ...
- [转]行者,一念一生,成功的背后!(给所有IT人)
成功的背后,有着许多不为人知的故事,而正是这些夹杂着泪水和汗水的过去,才成就了一个个走向成功的普通人. 凌晨两点半,早 已习惯了一个人坐在电脑前的我,望着屏幕,任思绪在暗夜的包容下静静流淌,时光仿佛又 ...
- VS xsd Class
1.将xsd 文件 转成 实体文件 xsd FilePath(*.xsd) /c 2.将 xml 文件 转成 xsd 文件 xsd FilePath(*.xml)
- 【原】CSS3的3D动画 ——3D旋转之骰子样式的钟表(2)下.md
之前看到智能社主页的那个骰子样式的钟表,最近研究了一下,虽然没有仔细看他是怎么做的,但是学了css3的动画之后想自己尝试着写一下,用到的原理可能和智能社网站的不太一样,我自己主要用到了css3和js. ...