全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

时钟是电路的实际控制者?

时间:2023-06-28 11:00

人气:

作者:admin

标签:   控制  电路  时钟    实际 

导读:时钟是整个FPGA设计里面无法回避的事物,不能认识时钟也就没法做FPGA设计。...

时钟是整个FPGA设计里面无法回避的事物,不能认识时钟也就没法做FPGA设计。

· 时钟控制执行顺序·

上文解释了DL程序的并行性,但在设计中需要像C/C++语言的串行控制功能,如先接收外部配置指定,然后接收数据并完成模块内部配置,再将配置结果反馈到外部,这需要通过时间的精确定位来获取严格的先后关系。

那么怎么来实现呢其实很简单,假设全部事件需要5个时钟周期,那么利用一个周期为5的循环计数器来实现。在计数器为1的时候,完成事件1;在计数器为2的时候,完成事件2:……如此循环即可。总结起来就是按照时钟节拍来完成串行控制。

当然,这样的电路在FPGA资源的利用上是存在浪费的,因为在执行事件1,用于执行事件2,3,4,5的逻辑处于等待状态,但其却始终占用着逻辑资源,也就是这部分电路没有使能,但是依然存在于FPGA内部。

· 实例分析·

请看如下代码,建议手动输入到ise里面,动手综合后看看实现的RTL图,看懂电路原理

1.jpg

2.jpg

上述代码综合后RTL图如下,浅蓝色圆圈圈住的是生成的3个加法器,就是计算cnt和y1,y2的3个加法器。黄色方框里面的是触发器,负责将结果输出和反馈到加法器输入。

图片

仿真的波形图如下图,可以看出,每4个时钟周期计算一次结果,y1永远比y2提前一个时钟周期出结果,y1的值永远在捕捉到cnt=0的一个上升沿更新,y2永远在捕获到cnt=1的上升沿更新。这也是造成y1提前一周期的原因,所有的状态翻转都是根据cnt的状态变化来的,而cnt的变化是时钟节拍决定的。大家理解好这个例程,也就明白了如何用时钟操控电路,按照你的想法去运行,同时学会了一段式状态机的应用。

图片

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信