大型设计中FPGA的多时钟设计策略.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大型设计中FPGA的多时钟设计策略

大型设计中FPGA 的多时钟设计策略 Altera 中国区代理――骏龙科技 收集整理 利用FPGA 实现大型设计时,可能需要FPGA 具有以多个时钟运行的多重数据通路,这种多时钟FPGA 设计 必须特别小心,需要注意最大时钟速率、抖动、最大时钟数、异步时钟设计和时钟/数据关系。设计过程中 最重要的一步是确定要用多少个不同的时钟,以及如何进行布线,本文将对这些设计策略深入阐述。 FPGA 设计的第一步是决定需要什么样的时钟速率,设计中最快的时钟将确定FPGA 必须能处理的时钟速率。 最快时钟速率由设计中两个触发器之间一个信号的传输时间P 来决定,如果P 大于时钟周期T ,则当信号 在一个触发器上改变后,在下一个逻辑级上将不会改变,直到两个时钟周期以后才改变,如图1 所示。 传输时间为信号在第一个触发器输出处所需的保持时间加上两级之间的任何组合逻辑的延迟,再加两级之 间的布线延迟以及信号进入第二级触发器的设置时间。无论时钟速率为多少,每一个FPGA 设计所用的时 钟必须具有低抖动特性。抖动S 是触发器的一个时钟输入到另一个触发器的时钟输入之间的最大延迟。为 使电路正常工作,抖动必须小于两个触发器之间的传输时间。 图2 显示了如果抖动大于传输时间(S>P)将出现的情况,该电路用时钟的两个上升沿来延迟信号1。然而, 信号1 上的一个改变会在相同的时钟周期上传输到的信号3 上,从而引起信号2 的改变。因为S>P,电路 将不能不正常。 须注意的是,时钟速率与传输延时并没有什么关系,甚至普通的100bps 时钟也会出现抖动问题。这意味 着虽然FPGA 供应商宣称他们的芯片具有较短的传输时间和很高的时钟速率,但抖动问题可能会严重,甚 至那些没有运行在最高速率上的设计也是如此。 好在FPGA 供应商已经认识到时钟抖动的影响,并在他们的芯片中提供低抖动的布线资源。这些特殊的布 线能够在芯片中一个给定范围内的任何两个触发器之间提供一个确定的最大抖动。部分产品的低抖动资源 覆盖了整个芯片,而其它的则可能只覆盖了FPGA 逻辑块中的一个特定的行或列。对于一个需要很多不同 时钟源的设计,这些低抖动FPGA 是比较理想的选择。 多时钟设计的最严重问题之一是用异步时钟将两级逻辑结合在一起。由于异步时钟会产生亚稳态,从而严 重降低设计性能,或完全破坏设计所能实现的功能。在触发器的时序要求产生冲突时(设置时间和保持时间) 将产生亚稳态,触发器的最终输出是未知的,并使整个设计处于不确定状态。如果有一级逻辑要将数据异 步地发送到另一级,图3 所示的情形将不能满足触发器的设置和保持时间要求。确切地说,如果设计中含 有异步逻辑将有可能会产生亚稳态。在处置异步资源时必需非常小心,因为这可能产生一些很严重的问题。 多时钟设计 本文以电信应用中的E3 多路复用/解复用设计为例。如图4 所示,多路复用器接收来自一组独立线路接口 芯片的16 个独立E1 信道,每一个信道都工作于2.048MHz;经复用后,这些E1 流组合成4 个E2 流,分 别工作在8.0448MHz;4 个E2 流最后组合成一个E3 流,以34.368Mbps 的速率串行发送出去。在接收端 执行相反的操作:解复用器从E3 流提取4 个E2 数据流,然后从E2 流提取16 个E1 流,最终将E1 流发 送到接收端的线路接口芯片。 这些E1 线路接口在发送和接收时都独立工作,因此2.048MHz 的时钟速率可以有+/- 20ppm 的偏差。同样, 因为大多数系统同时发送和接收数据,分立的多路复用器和多路解复用器将提供2 个独立的E3 流(发送和 接收)。因此,两个34.368MHz 的时钟可以存在细微的差异。 由于E2 流是在芯片上产生的,这些E2 多路复用器可以共享同一个8.448MHz 时钟。然而,由于接收的数 据速率与我们所设计的板无关(且不能假定所有E2 多路复用器使用相同时钟),所以E2 解复用器时钟必须 能工作在略为不同的速率下。 此外,假定设计中需要一个由工作频率为1MHz 的处理器控制的独立SPI( 串行外围接口)总线接口,该接口 用于状态和控制。这样一来,设计中总共用了32 个2.048MHz 时钟,5 个8.448MHz 时钟,2 个34.368MHz 时钟和一个1MHz 时钟,总共多达40 个时钟。 本设计中最快时钟是34.368MHz E3 时钟。FPGA 的最大时钟速率的确定很重要,因为设计的差异将影响到 该最大值。然而,在芯片商的资料手册中常常可以看到“全局时钟设置及保持时间”和“至CLB 输出的时钟” 两个参数,将这两个参数的最大值相加,再增加25%就能可以得到最小时钟周期的初略值,在最大时钟速

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档