微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > SpaceWire Codec接收端FPGA时序设计

SpaceWire Codec接收端FPGA时序设计

时间:03-22 来源:互联网 点击:
6 多时钟设计

接收端不同的时钟域产生的信号是异步信号,信号传输时需要同步到不同的时钟域。数据信号通过fifo传输,控制信号在标志位同步模块中实现同步到gclk时钟域。

在链路被动启动时,接收端收到NULL信号后,给出异got—NULL标志,使link_enabh信号有效,链路由ready状态进入started状态,因此gotNULL信号电平有效。gotNULL信号由clkO时钟域的DS数据处理模块给出,需要同步到FPGA的本地时钟域。电平同步通常用两个D触发器构成同步器,第一级触发器在采样输入信号时可能进入亚稳态,后面的触发器获得前一个触发器输出时,前一个触发器已退出了亚稳态,并且输出已稳定.极大地减小了亚稳态的发生。

其他的标志位信号,如gotDATA、gotFCT、gotEOP、gotEEP等都是脉冲有效,这些信号的同步是在电平同步的基础上做组合逻辑实现的,如图5所示:


图5电平信号gotDATA的同步

在信号同步中,第二级寄存器的输出是稳定可用的,把第二级的输出再延迟一拍,对gotDATA_2和gotDATA_3寄存器的输出做组合逻辑,实现了一个gclk周期的有效电平。在时序允许的情况下,打一拍输出,实现了脉冲有效信号的同步。

链路检测模块在gclk_re时钟域实现,根据协议要求,当离上一次DS信号出现850m后没有Ds数据出现,则认为链路断开。该模块给出的链路断开标志link_dis相对gclk时钟,是快时钟域信号,为了便于信号同步,link_dis标志输出电平而非脉冲。

结束语

本文介绍了SpaeeWire Codec接收端的时序设计,给出了各个不同模块的时钟域划分,门控时钟和复位信号的有效处理,以及对串行数据的检测和判读,多时钟域信号的同步等实现方法。

本文作者创新点:对多时钟域复位信号采用了对应时钟域的异步复位同步释放方法;对串行总线数据判读采用了串行移位寄存器的方法,便于数据的正确识别。对嵌入式时钟总线传输的接收端设计有一定的参考意义。

作者:曹海源    来源:《微计算机信息》2009年第1-2期

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top