马上注册,看完整文章,学更多FPGA知识。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
时序逻辑影响计数器精度
作者:陈刀刀
本文为明德扬原创文章,转载请注明出处!
本文将讨论时序逻辑对明德扬设计的计数器的计数精度的影响。 由于FPGA是时序逻辑,只在时序上升沿时才统计一次,这意味着统计的精度只能是以“时钟周期”为单位,即:存在小于一个时钟周期信号无法采样的情况。因为明德扬计数器是在时钟上升沿时判断计数器是否加一,所以计数器的计数精度也是以“时钟周期”为单位。
我们可以用一个例子来看一下计数器计数0时的一种误差情况,假设有一个随机的输入din_vld,初值等于1,然后在一个任意时刻变为0。现在要计算din_vld变为0的前30个时钟周期长度。计数器代码如下图:
计数器cnt在时钟上升沿的时刻检测到din_vld==0时cnt加一,所以cnt计算出来的是din_vld==0时cnt=0~29的30个时钟周期。
下图为使用仿真软件得出该代码的波形,当din_vld不在时钟上升沿的时刻变为0,则cnt==0时,din_vld==0的长度并不够1个时钟周期。因为时序逻辑影响计数器的精度是以“时钟周期”为单位,所以并不影响计数器的计数。最终计算出来din_vld==0的前30个周期的长度,会产生长度为一个时钟内的误差。
以上就是明德扬对时序逻辑与计数器的说明,想要学习更多内容的同学,可以加Q:1277642036 陈刀刀 互相交流困惑!
|