您的位置 首页 发布

FPGA研制之道(17)-化繁为简

有个笑话说,有个病人感冒了,于是去看医生,医生诊断后说,你得了感冒,但是我只会治疗肺炎,不如你回家再浇点凉水,把病恶化成肺炎,那我能治了。这个笑话展示了庸医误人。但是另一方面,从逻辑上来讲,医生则

  有个笑话说,有个患者伤风了,所以去看医师,医师诊断后说,你得了伤风,可是我只会医治肺炎,不如你回家再浇点凉水,把病恶化成肺炎,那我能治了。这个笑话展现了庸医误人。可是另一方面,从逻辑上来讲,医师则是一个把不知道问题转化成已知问题的高手。

  不说笑话,下面出两个标题,其分别是

  问题1:运用数字电路,怎么将一个时钟域的上升沿,转化成另一个时钟域的脉冲信号(单周期信号)。

  问题2:运用数字电路,怎么将一个时钟域的脉冲信号(单周期信号),转化成另一个时钟域的上升沿。

  或许乍一看,这两个标题长处难度,特别是第二个问题,答上的就更少了。那再出第三道标题,会不会让这个问题变简略些那。

  问题3:运用数字电路,怎么将一个时钟域的上升沿,转化成另一个时钟域的上升沿。

  

 

  标题3,,就会让人觉得太简略了,这既是异步信号的同步化,存放两拍就能够了。这CLKA信号就被同步到CLKB的办法,有必定数字电路常识的都会 。不管CLKA与CLKB时钟频率的凹凸。

  下面回到标题1,咱们依照那个庸医的做法,把不知道问题转化成已知问题,那这个问题就转化成了两个部分,A时钟域的上升沿转化成B时钟域的上升沿,,然后B时钟域的上升沿怎么变成其单脉冲信号。所以问题就很简略了,最终的输出 B &! B_r(B信号存放一拍). 电路如下所示。

  

 

  那回到标题2.这个问题就转化成了A时钟的脉冲信号转化成A信号的上升沿,而A信号的上升沿,再转化成B信号的上升沿。

  

 

  那么,怎么将已是时钟信号的脉冲信号,转化成另一个时钟的脉冲信号?呵呵。

  以上仅仅两个简略的电路,实践规划中,有许多能够进行规划,能够化繁为简或许化不知道为已知的办法。

  例如,实践规划中,常常有规划变更的状况,比方,本来输出的信号A,可是需求输出信号B。那或许大多数状况,模块不必从头规划,只需求在原有输出信号(或许数据)A上,再增加相应的输出,或许封装一层接口,就能够快速满意需求。而且原有规划模块也能够复用,而且已验证充沛。经过化不知道问题为已知问题的方法,简化规划和验证,能够快速的规划需求。一方面,而这正是IP复用的优点,另一方面,原有规划怎么到达IP复用的规范,也是值得探究的部分。

  这个故事,其实还有另一版别,那便是锤子和钉子,那便是假如你已经有一把锤子,那就看什么都是钉子。怎么将不知道问题转化成你的锤子能够处理的钉子,则是便是规划复用的问题了。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/117668.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部