您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

使用PLD内部锁相环解决系统设计难题

时间:2007-1-20栏目:电子通信论文

  摘要:从整个应用系统的角度,理解和分析PLD内部锁相环;在此基础上,深入剖析锁相环的相移结构,同时用这个技术解决系统设计难题。
  关键词:PLD内嵌锁相环FIFOXBUS
  
  引言
  
  微电子技术的发展趋势是片上系统(SoC),也就是在一块芯片上实现整个系统,包括模拟部分和数字部分。作为IC产业中重要的一个分支,可编程逻辑器件(PLD)也在努力向这个方向发展。无论是Xilinx还是Altera,它们最新的PLD产品中都集成了诸如PCI接口、乘法器、MCU核以及DSP核等部件,有的甚至集成了完整的微处理器。例如,Xlinux的Vietex2-Pro系列就是集成了PowerPC微处理器。
  
  锁相环技术是模拟集成电路设计中一个重要的研究方向。但是,现在中高档的可编程逻辑器件一般都集成有片内的锁相环(如Xilinx的Spartan2系列,Altera的Cyclone系列)。锁相环一端连接外部全局时钟或者全局控制信号,另一端连接可编程逻辑器件内部专门的布线网络,可以最大程度地减少全局时钟信号到片内各个部分的布线延迟,有效地消除了时钟偏移而带一的各种问题。同时,锁相环一般都提供了倍频、分频、相移三个功能。
  
  1应用背景介绍
  
  本文用FPGA实现FIFO,连接PCI与TI的TMS320C6204的扩展总线,与DSP传输数据的时钟达到100MHz。由于DSP的接口对于时钟和信号的要求很苛刻,所以下面具体分析核心的DSP的XBUS时序。
  
  DSP的扩展总线(XBUS)是一个32位宽的总线,支持与异步外设、异步/同步FIFO、PCI桥以及外部主控处理器等的接口。它同时提供一个灵活的总线仲裁机制,可以内部进行仲裁,也可以由外部逻辑完成。
  
  本文中使用XBUS的同步FIFO接口。如果是要读取FIFO,首先FIFO要通过中断信号XINT0来通知XBUS数据已经准备好,然后XBUS响应XCE0、XRE、XOE有效,就开始读取FIFO中的数据,读FIFO的时序如图1所示;如果是要写FIFO,FIFO通过XINT1申请XBUS,然后XBUS响应XCE1、XWE有效,开始一个写FIFO的DMA传输过程,写FIFO的时序如图2所示。
  
  通过分析XBUS读写FIFO的时序关系可以看出,在FIFO实现的过程中需要注意以下几个地方:
  
  ①XBUS工作时钟是100MHz,对于大部分的FPGA来说是一个比较高的频率。而且,由于读出的数据要求一定的建立时间(setuptime)和保持时间(holdtime),这就对内部逻辑的设计提出了较高的要求。
  
  ②读FIFO时,必须在使能信号有效之后的第二个时钟周期就把数据输出。对于FIFO内部的双端口RAM来说,这个实现起来不一定能满足要求(有很多RAM是在使能信号只有的3~5个时钟周期才输出数据的)。这样,通用FIFO中就要考虑产生预读逻辑来产生数据,以满足XBUS严格的时序要求。
  
  ③XBUS的使能信号XCE0/XCE1/XRE/XOE/XWE的变化时间范围是在时钟有效之后的1~7ns,考虑到FPGA内部的组合逻辑延时和布线延时,这样对有效信号的锁定可能是不稳定的。这就为逻辑设计带来了很大的难度。
  
  2锁相

[1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页