一个前辈对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.传说在严格模式下函数内自 ...
随机推荐
- Linux应用领域
1.基于Linux的企业服务器 www.netcraft.com 可以看到网站的后台服务 2.嵌入式应用
- LeetCode【217. Contains Duplicate】
Given an array of integers, find if the array contains any duplicates. Your function should return t ...
- 基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计
自从上篇<基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍>总体性的概括,得到很多同行的关注和支持,不过上一篇主要是介绍一个总体的界面效果和思路,本系列的文章将逐步介绍其中的 ...
- 【转】浏览器内核、渲染引擎、js引擎
[1]定义 浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎 渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具[2]常见引擎 渲染引擎: firef ...
- Android-Cdma手机定位
对于Android CDMA手机获取当前位置,其实有更便利的办法,就是哄骗CdmaCellLocation.getBaseStationLatitude(),然则getBaseStationLatit ...
- 黄聪:说说JSON和JSONP,也许你会豁然开朗(转)
前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socke ...
- Junit4常用注解
Junit4注解 JUnit4的测试类不用再继承TestCase类了.使用注解会方便很多. @Before:初始化方法@After:释放资源@Test:测试方法,在这里可以测试期望异常和超时时间@Ig ...
- Windows下查看进程及结束进程命令[转]
Windows下查看进程及结束进程命令 1)查看占用8080端口的进程号 >netstat –aon | findstr “8080” 结果:TCP 0.0.0.0:8080 ...
- csv文件批量导入数据到sqlite。
csv文件批量导入数据到sqlite. 代码: f = web.input(bs_switch = {}) # bs_switch 为from表单file字段的namedata =[i.split( ...
- 开放地址法实现HashTable
前注:本文不是讲解Java类库的Hashtable实现原理,而是根据计算机哈希表原理自己实现的一个Hashtable. HashTable内部是用数组存放一个(Key-Value pair)键值对的引 ...