复杂模块接口的独立设计
不一样。我们考察各种请求操作流程后,我们对这些流程进行的多次化简归纳,最后采用了如下这种状态机。
在接口物理层模块和链路层模块实现时,我们采用了一个主状态机和一个从状态机的结构。
采用了主状态机和从状态机的结构,不仅很大程度上简化了状态机,而且是结构清晰,其次操作相近的仲裁请求包被合为一类,并依据请求类型来编写从控制状态机。在实现过程中,在主从状态机的前提下我们开始使用另外一种依据Ctrl控制线的状态编写从控制状态机。从综合后的结果来比较,现在的这个改进状态机节省了50%以上的资源。从这点看,可见同样的功能,不同的设计会产生截然不同的效果。
九、Ctrl和Dn定时匹配
在IEEE-1394A协议中要求支持数字微分编码器(digital differe-ntiators),所以接口引入了微分编码延迟。此时,从数字信号产生到接口相应信号线上的延迟如果超过半个SClk时钟周期,可以依据IEEE1394-2000A协议推断出:对应的接收模块不能准确地接收到有效信号。所以数字微分编码器的设计成为了整个设计的"瓶颈"之一。
十、结束语
把复杂协议内部模块间的接口独立出来进行设计,是一种加快和简化设计过程、提高设计可重用性和可维护性的好方法,值得重视和推广。目前国外产品一般采用锁相环(PLL)技术,把外部时钟倍频至SClk的八倍频以作为系统的工作频率,而本接口设计只有部分电路用了SClk的两倍频,在很大程度上降低了对元器件的要求和系统的功耗。
PHY/link接口在IEEE-1394协议中具有非常重要的作用,对芯片处理速度的提高有较大的影响。本文通过对该接口的分析,提出了解决该接口设计难点的方案。以上方案经过FPGA布线后仿真测试,证明是切实可行的。