网站大量收购闲置独家精品文档,联系QQ:2885784924

数字IC系统RTL实现.pptVIP

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

第三章数字IC系统的逻辑设计—RTL实现;3.1RTL设计根底

同步电路设计要求

RTL设计都采用同步电路设计方式。了解同步电路设计要求,是进行RTL设计的第一步。

图3.1给出了一个同步电路的例如。;图3.1同步电路例如;组合逻辑实现设计所需的功能。例如,图中的组合逻辑可能是乘法、编码器等复杂的逻辑。

存放器用于暂存数据,它由时钟控制,只有当时钟进行有效跳变时,才将新的数据锁存起来,否那么数据一直保持原值。

时钟相当于同步电路中的“指挥”。对于图3.1所示的例子,假设该电路都采用时钟的上升沿进行锁存,时钟周期为8ns。从0时刻开始,时钟变为高电平。;第一个存放器中,经过很短的时间〔例如0.2ns〕到达Ri的Q端,再从Q端送到组合逻辑的输入,

跟其他的信号一起进行逻辑操作。这种逻辑操作必须在规定的时间内完成〔满足时钟周期的要求〕。假设组合逻辑的结果在4ns后稳定下来,那么在4.2ns这一时刻,Rf输入端的数据会稳定下来。

这时候电路暂时“静止下来”。然后到8ns这一时刻,第二个时钟沿到来,组合逻辑的输出被第二个存放器锁存,与此同时,新的数据会被送到第一个存放器。这个过程会一直持续下去。;由此可见,在图3.1所示的电路中,时钟保证了电路能按照需要动作,而不是杂乱无章地各行其是。下面先简单介绍一下时钟。

时钟一般由晶振产生,或者由外部输入,如果需要,还需要用锁相环进行倍频、移相等操作。实际的时钟不可能是理想的,也就是说,时钟不可能一直保持同一频率,时钟边沿不可以“直上直下”。设计者要根据芯片的要求对时钟提出要求,并根据时钟标准进行设计。;例如,假设需要将时钟域A中的数据传递到时钟域B。数据由clka生成,被clkb采样。clka与clkb是异步时钟,周期都是10ns,时钟频率最大为2×10-4。

这时候我们需要设计一个异步FIFO。这个FIFO的写入时钟为clka,读出时钟为clkb。假设每次传送的最大包为10KB,FIFO宽度为8位,那么这个FIFO的深度应该是多少呢?

考虑最坏情形,时钟clka与clkb最大相差为4×10-4??;FIFO的读指针与写指针至少要相差:4×10-4×

10K≈4。这样,FIFO的深度至少为8字节。

接下来,我们对时序电路中最关键的组成局部——存放器进行说明。

一个存放器的结构如图3.2所示。;图3.2存放器的结构;图3.3存放器的功能示意图;由图3.3可知,该存放器在时钟的跳变沿锁存数据,然后数据会一直保持,直到下一个跳变沿。

存放器要正常工作,必须保证D端数据的变化与时钟的有效沿不能距离太近,否那么可能会锁存错误的数据。在综合库中,规定了数据变化端跟时钟跳变沿最短的时间要求,称为建立时间约束与保持时间约束。

建立时间与保持时间是时序电路设计中最重要的两个概念。建立时间规定,在时钟沿到达前的某段时间内,数据必须稳定;保持时间定义了在时钟沿之后的某段时间之后,数据才能发生变化。图3.4给出了建立时间与保持时间的例如。;图3.4建立时间与保持时间;一般来说,设计中路径的延时过大,超出设计要求,会引起建立时间的违例。

如果设计中时钟树做得不够好,时钟偏移〔skew〕过大,那么会引起保持时间违例。

对于一个存放器来说,除了数据端与时钟端有时序要求,异步复位端与时钟端之间也有时序要求。假设一个存放器是异步复位的,复位信号低电平有效。当复位信号为低电平时,存放器被初始化。;当复位信号跳高时,存放器在时钟跳变沿锁存新的数据。如果异步复位信号跳高的时刻距离时钟有效沿太近,那么存放器可能继续保持复位状态,也可能会锁存新数据,这样,就可能发生锁存错误。因此,有必要定义时钟有效沿与异步复位无效沿之间的时序要求,这就是recovery/removal的时序要求,如图3.5所示。;图3.5recovery/removal;存放器中建立时间/保持时间、recovery/removal的时序要求,对设计的最大组合逻辑延时、时钟树的构造、复位树的构造都提出了要求。复位树、时钟树一般由后端工具进行处理。对RTL设计者来说,最需关注的是建立时间的问题。设计中的时序违例通过静态时序

分析工具可以检查出来。本书第7章对静态时序分析进行了说明,这里不再详述。;RTL设计步骤

如何进行RTL设计?

RTL设计并非仅仅编写代码

文档评论(0)

寒傲似冰 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8071104010000026

1亿VIP精品文档

相关文档