中年|小梅哥FPGA时序分析笔记(一)学了4年才学会——废话连篇( 二 )



再到FPGA里面最关心的 , 触发器的输入端口的数据 , 需要在时钟信号上升沿之前多久稳定下来(setup time) , 需要在时钟信号上升沿之后再保持多久的稳定状态(hold time) , 这些都是时序 。 而我们在进行FPGA系统设计的时候 , 开发过程的大部分时间都是在和简单的协议时序打交道 。 单纯的问一个时序方面的资料 , 我也确实不知道他关心的是哪个时序(我猜他们想问的实际应该是D触发器的建立时间 , 保持时间之类的时序吧) 。
作为一个别人口中“卖板子”的人 , 我本来没有必要去做这些事情 , 只需要服务好我的客户 , 然后做一堆大家觉得好玩儿的例子 , 让大家在我们的板子上能够体验到更多的功能 , 我的板子也就不愁销量了 。 事实上 , 在曾经长达一年半的一段时间里 , 我确实是这样 , 每天都是在写例子 , 发“教程文档” 。 但是最后发现 , 自己做的事情 , 大部分都是服务于本科毕业设计的 , 而非真正的FPGA开发人员 。 对于那些FPGA开发人员提出的问题 , 我往往并不能给出直接的解答 。 所以 , 在那之后的近一年时间里 , 我在网络上发的东西少了 , 就像是转行了一样 , 好几次都有网友直接发消息问我最近在忙啥呢 , 好久都没看到我出新东西了 , 而我的统一回复都是——学习 。

前段时间和一位一直关注关心我的大学老师聊天 , 他也提到了我最近“产量”下降的问题 , 说是好久没有看到我出教程文章了 。 我苦笑着说 , 不是我懒了 , 而是我不敢轻易出东西了 , 因为一个行业做的越久 , 就越会发现自己知之甚少 , 然后回顾自己之前写过的文章 , 出过的所谓的“教程” , 总有疏漏和不完善的地方 。 所以我现在 , 几乎是把大量的时间都花费在自己学习上 , 很多知识 , 边学边练 , 今天刚做好的笔记 , 明天再继续调试的过程中 , 又发现了不完善或者遗漏的地方 , 然后心里暗自窃喜 , 幸亏没有发出去给客户当”教程” 。 我相信通过这样的长期练习 , 能够对一个东西有较为正确的认知 。
所以 , 以后我大概率是不敢打着“教程”的旗号发布任何东西了 , 而是以一种很低的姿态 , 以一个学习者的姿态分享自己的笔记 。 通过笔记的方式 , 将自己的一些领悟发表出来 , 和网友一起学习 , 一起讨论 , 一起进步 。
好了 , 不能再扯了 , 再扯就真的跑题了 , 言归正传 。

我一直希望 , 通过自己的学习和笔记 , 让每个关心“FPGA时序设计”的人能够真正的理解时序分析和约束的本质 。 让他们能够通过阅读我自己分享的心得 , 学会一点点时序分析和约束的方法 。 为此 , 我从去年12月开始 , 就一直在进行时序方面的学习 , 到现在也差不多半年时间了 。 半年里 , 每当我通过时序分析 , 时序约束的方式解决一个问题 , 我都会为之欣喜 , 我学好“时序”的心也就更加坚定一点 。 如今 , 把这些经历以图文的形式总结归纳下来 , 一是给自己的知识做一个记录 , 方便日后需要的情况下再翻看;二是希望有需要的网友能够通过我自己的笔记找到哪怕一丁点思路;三嘛 , 也是怕长时间不冒个泡 , 怕大家忘了我 。
在FPGA逻辑编程课程已遍地开花的当下 , 各种FPGA逻辑设计方法 , 设计套路层出不穷 , 仿佛所有人稍加学习就能马上成为FPGA大牛 。
但是为什么现在还有那么多的公司找不到真正满意的FPGA工程师呢?FPGA设计 , 仅仅只是实现功能就足够了吗?你是否心中也有这样的疑问?
周三(7月15日)晚8点 , 我将在电子发烧友直播 , 讲一讲FPGA逻辑设计 , 信号传输 , 时序分析及优化的具体方法 , 希望大家都来捧场呀~
直播主题:例解FPGA时序分析和时序约束
直播时间:2020年7月15日 晚8点(周三)
【中年|小梅哥FPGA时序分析笔记(一)学了4年才学会——废话连篇】


推荐阅读