《SoC设计》PPT课件.ppt_第1页
《SoC设计》PPT课件.ppt_第2页
《SoC设计》PPT课件.ppt_第3页
《SoC设计》PPT课件.ppt_第4页
《SoC设计》PPT课件.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章,同步电路设计及其与异步信号交互的问题,内容大纲,同步电路设计 全异步电路设计 异步信号与同步电路交互的问题及其解决方法 SoC设计中的时钟规划策略,内容大纲,同步电路设计 全异步电路设计 异步信号与同步电路交互的问题及其解决方法 SoC设计中的时钟规划策略,同步电路的定义,同步电路,即电路中的所有受时钟控制的单元,如触发器(Flip Flop)或寄存器(Register),全部由一个统一的全局时钟控制,同步电路的时序收敛,触发器的建立时间和保持时间,同步电路设计的优点,在同步设计中,EDA工具可以保证电路系统的时序收敛,有效避免了电路设计中竞争冒险现象 由于触发器只有在时钟边缘才改变取

2、值,很大限度地减少了整个电路受毛刺和噪声影响的可能,同步电路设计的缺点,时钟偏斜(Clock Skew) 时钟树综合,需要加入大量的延迟单元,使得电路的面积和功耗大大增加 时钟抖动(Clock Jitter),时钟偏斜,内容大纲,同步电路设计 全异步电路设计 异步信号与同步电路交互的问题及其解决方法 SoC设计中的时钟规划策略,全异步电路的定义,全异步设计跟同步设计最大的不同就是它的电路中的数据传输可以在任何时候发生,电路中没有一个全局的或局部的控制时钟。,异步电路设计的基本原理,自定时方法,自定时的流水线数据通路,异步电路设计的基本原理,握手协议,握手协议原理,异步电路设计的优点,模块化特性

3、突出 对信号的延迟不敏感 没有时钟偏斜问题 有潜在的高性能特性 好的电磁兼容性 具有低功耗的特性,异步电路设计的缺点,设计复杂 缺少相应的EDA工具的支持 在大规模集成电路设计中应避免采用异步电路设计,内容大纲,同步电路设计 全异步电路设计 异步信号与同步电路交互的问题及其解决方法 SoC设计中的时钟规划策略,亚稳态现象,亚稳态示意图,亚稳态现象,亚稳态信号的传播,亚稳态问题的解决及其RTL实现,亚稳态现象的解决方法,亚稳态问题的解决及其RTL实现,module synchronizer ( bclk, /目的时钟,与aclk异步的时钟 reset_b, /全局异步复位信号 adat, /异步

4、输入信号,工作在aclk bdat, /同步器输出 ); input bclk; input reset_b; input adapt; output bdat; wire bdat; reg bdat1; reg bdat2; always (posedge bclk or negedge reset_b) if (reset_b) bdat2,bdat1 = 2 b0; else bdat2,bdat1 = bdat1,adat; assign bdat = bdat2; endmodule,快时钟同步慢时钟域下的异步控制信号,快时钟同步慢时钟信号示意图,快时钟同步慢时钟域下的异步控制信号

5、,module synchronizer ( clk_fst, reset_b, rd_en, rd_en_s2f ); input clk_fst, reset_b, rd_en output rd_en_s2f; wire rd_en_s2f; reg rd_en_s2f1, rd_en_s2f2, rd_en_s2f3 always (posedge clk_fst or negedge reset_b) if (!reset_b) rd_en_s2f3,rd_en_s2f2,rd_en_s2f1 = 3b111; else rd_en_s2f3,rd_en_s2f2,rd_en_s2f

6、1=rd_en_s2f2,rd_en_s2f1,rd_en; always (rd_en_s2f3 or rd_en_s2f2) case (rd_en_s2f3,rd_en_s2f2) 2b01: rd_en_s2f = 1b1; default: rd_en_s2f = 1b0; endcase,慢时钟同步快时钟域下的异步控制信号,慢时钟同步快时钟信号示意图,解决办法握手机制实现方法一,解决办法握手机制实现方法一,module adapt_gen ( aclk, /快时钟 reset_b, /系统复位信号 adat, /原始控制信号 abdat2, /从慢时钟域反馈回来的同步控制信号 ad

7、at1 /经过保持后的信号输出 ); input aclk, reset_b, adat, abdat2; output adat1; reg adat1; always (posedge aclk or negedge reset_b) if (!reset_b) adat1 = 1b0; else if (abdat2) adat1 = 1b0; else if (adat) adat1 = 1b1; endmoudule,解决办法握手机制实现方法二,解决办法握手机制实现方法二,解决办法握手机制实现方法二,module stall_logic ( rd_en, rd_en_ ack_s2f

8、, stall_b ); inputrd_en; input rd_en_ack_s2f; output stall_b; wire stall_b; always (rd_en or rd_en_ack_s2f) if (rd_en_ack_s2f) stall_b = 1b1; else if (rd_en) stall_b = 1b0; else stall_b = 1b1; endmodule,异步时钟域的数据同步及其RTL实现,握手机制 先入先出队列(FIFO),握手协议,握手同步异步数据,FIFO的结构与原理,FIFO结构图,FIFO的结构与原理,FIFO空满示意图,同步异步时钟F

9、IFO的电路行为,待同步的数据时钟域会在其写信号的控制之下,将数据写入到FIFO中 目的时钟域在发现空标志位无效后,执行FIFO读动作,读出被异步时钟域写入FIFO的数据 如果只要同步一个数据,空标志位再次有效 如果需要同步多个数据,因为FIFO的读/写之间可以不受影响的进行,所以待同步,FIFO设计中的亚稳态问题,通常,通过比较读/写指针是否相等来判断FIFO是否为空。而因为读/写指针属于不同的时钟域,两者显然不能直接连到比较器的两端来产生空信号,否则会造成读FIFO的目的时钟域的电路碰到亚稳态现象,解决办法,以格雷码编码表示读/写指针,用格雷码加法器来实现读/写地址的加一动作 用同步器将读

10、指针同步到FIFO满标志的产生逻辑,同样用同步器将写指针同步到FIFO空标志的产生逻辑中,新的异步FIFO的结构框图,内容大纲,同步电路设计 全异步电路设计 异步信号与同步电路交互的问题及其解决方法 SoC设计中的时钟规划策略,SoC设计中的时钟规划策略,首先尽可能使用同步设计: 对于同步电路,逻辑综合和时钟树综合等EDA工具能发挥更大的作用,可以用静态时序分析工具分析单时钟同步设计的时序收敛问题 可测性设计(DFT)的插入工作得到最大的简化 其次,注意同步电路设计的缺陷 噪声问题 时钟树上的功耗很大 如果必须采用不同的时钟,则要注意 后端设计的复杂化,如约束条件中要考虑多周期路径(Multi Cycle Path) 可测性设计更加复杂,因为此时系统中需要有多条独立的扫描链 越多的时钟域,发生亚稳态的概率就会越大,SoC设计中的时钟规划策略,最后,设计规划中应注意以下几点: 尽可能将不同时钟域的数量减到越少越好

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论