创建双向计数器

创建双向计数器

信号调理技术

该技术可以在包括SPI接口的任何GreenPak中使用。可以使用具有FSM块的其他GreenPak来完成该技术的替代方案,并使用I存储计数器信息2C读取命令,并行输出或其他方法。

计数器是用于计数输入事件(脉冲,边)的基本数字电路,通常使用数字触发器的级联构造。在GreenPak中,一些CNT / DLY块更强大,并且可以用作有限状态机(FSM),该机器(FSM)不仅能够递增,而且可以递增或保持当前值,由GreenPak矩阵中的互连决定。该技术通过在GreenPak中使用两个FSM块来监视脉冲输入(时钟)并通过SLG46140V的SPI Macrocell输出相应的16位序列来举例说明这种行为。

“16位FSM具有SPI输出”在构造的16位寄存器(FSM0,FSM1)中计数输入时钟脉冲。在任何时候,用户可以通过SPI读取值,重置16位寄存器,或更改计数方向。

使用附加逻辑的两个计数器(FSM0和FSM1块)实现16位计数器。位[15:8]存储在FSM0中,在FSM1中创建双向计数器。两个FSM都连接到SPI块,可以通过SPI输出串行数据。计数方向由向上/向下引脚控制,直接连接到FSM块'向上矩阵输出。如果此引脚高,则系统计入系统,如果此引脚较低,则系统向下计数。Gen RESET引脚用于重置计数器值(高电源高)。

时钟输入引脚同时施加CLK.输入FSM1和FSM0。FSM1计算每个时钟,而FSM0仅计数FSM1计数器值为255,上/向下信号高或时,FSM1计数器值为0,上/下信号低。使用此功能使用保持输入FSM0。尽管时钟信号,该信号高时,FSM0的计数器值不会改变。保持通过逆变器连接到FSM1输出。反过来,当计数器值为0时,FSM1的输出仅为高电平,或向上/向下信号较低,或者计数器值为255,上/下信号高。

资源

GreenPak设计师文件