1 / 74

异步电路初窥

异步电路初窥. 扩展的话题. 提纲. 引言:从 同步电路 到 异步电路 并发过程的同步 ——Muller 的 C 元件 规格说明与综合 ——STG 图 案例: FIFO 控制器的初步设计 STG 图 和 SG 图 回顾与展望:异步电路设计与测试的挑战 附录:参考文献资源. 从同步 / 异步时序电路 到 异步电路. 同步电路 同步时序逻辑电路 + 异步时序逻辑电路

vienna
Download Presentation

异步电路初窥

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 异步电路初窥 扩展的话题

  2. 提纲 引言:从 同步电路 到 异步电路 并发过程的同步——Muller的C元件 规格说明与综合——STG图 案例:FIFO控制器的初步设计 STG图 和 SG图 回顾与展望:异步电路设计与测试的挑战 附录:参考文献资源

  3. 从同步/异步时序电路 到 异步电路 • 同步电路 • 同步时序逻辑电路 + 异步时序逻辑电路 • (定义)circuits which are sequenced by one or more globally distributed periodic timing signals called clocks. [Davis 1997]

  4. 同步电路——隐式的同步 R CL R CL R CL R CLK 同步,通过外部时钟源观察系统的状态

  5. 异步电路——显式的同步 Ack R 存储 CL 计算逻辑 R CL R CL R Req 异步,通过外部或内部的事件观测系统状态。 Asynchronous are also called Self-Timed. 采用系统组件之间的握手确保时间的正确次序

  6. 历史 与 现状 • 1950’s 早期 • 研究机械继电器的“开关”电路; • 没有区分同步和异步电路; • 1956~1957,Muller D E和Bartky W S • A Theory of Asynchronous Circuits I/II, U. of Illinois • 然而,从1960's • 主流数字电路制造企业关注于同步电路,因为... • 同步电路可以简单地被时钟信号顺序地触发; • ……

  7. AMULET1: Manchester大学, 1990~1993,micropipeline方式实现的ARM处理器 MU5--Manchester大学,1969~1974年,异步操作的计算机 • 异步电路的研究从来没有停滞过,相反, • 它的应用领域得以扩展 • 1980’s 至今 • Asynchronous Fight Back!

  8. 异步电路存在的必要 • 有些场合,使用异步电路是不可避免的 • 异步接口电路、仲裁器 等 • 另外,异步电路的优点是 • 充分利用线速极限 • “balabala#@?!……”,但是至少可以找出—— • 同步电路的缺点 • 全局时钟同步是一种考虑“最坏情况”的设计 • 最慢组件的最坏情况的延迟 v.s. 最快部件的最及时的响应 • 复杂系统中的时钟同步是非常困难的 • 时钟的偏斜(skew)必须控制在很小的范围,这直接限制了时钟频率的提高

  9. 异步电路的例子 • 应用需求:大量数据跨越时钟域 • 所谓的“异步FIFO” • “异步FIFO”:一个时钟写入数据,另一个时钟读出数据,读/写时钟是异步的 • 关键:产生读/写地址和空/满标志… • HDL描述 • 常规EDA工具综合的电路,并 不是 真正的“异步电路” • 例如:对于在本地时钟同步驱动下的FIFO,较为简单,几行Verlog HDL代码…

  10. 不是异步电路的“同步FIFO”和“异步FIFO” 但是

  11. 真正异步的FIFO • 对于高速工作的FIFO • 如果不想受限于本地时钟频率,就采用直接用触发器(锁存器、C元件)响应异步信号; • 线速——物理连线或协议规定可以达到的最高速度。 • Micro-pipeline • 微流水线 • 数据的“ripple” • 用C-element

  12. 例如:4相位微流水线(micro-pipeline)

  13. Rendezvous Circuit(“幽会”电路)[陈昌居] • Pipe stages are empty • Stage on left indicates it is full • C element opens latch briefly • Data moves down pipeline • Previous stage becomes empty • Next stage becomes full

  14. “幽会”控制器的仿真[Hades] How does it work? 单击开始播放

  15. 注意:工作时的状态——信号的因果关系… • 微流水线工作的时候… • 本例是4相位流水线,可以改进2相位流水线

  16. 附:2相位微流水线[陈昌居][Kishinevsky 1995] Input: Req Output: Ack Data D D 特殊的锁存器:CapturePass

  17. 参考[陈昌居]“Chapter_2_ Fundamentals.ppt” • 锁存器 • “锁存器‘优雅地’工作,不需要每次都使脉冲返回0电平”,但需要更复杂的传输机构。

  18. C C C delay delay delay 参考[Kishinevsky 1995]Micropipelines处理(Sutherland 89) • 还可构成“bundled data”的数据处理系统(本例为4相位,“管道”中有延迟环节。) Aout Ain C L锁存器 L锁存器 L锁存器 L锁存器 logic逻辑运算 logic逻辑运算 logic逻辑运算 Rin Rout

  19. 提纲 引言:从 同步电路 到 异步电路 并发过程的同步——Muller的C元件 规格说明与综合——STG图 案例:FIFO控制器的初步设计 STG图 和 SG图 回顾与展望:异步电路设计与测试的挑战 附录:参考文献资源

  20. 并发过程的同步——Muller的C元件 • C元件 是 一种 锁存器 • 试分析:集成电路内部以CMOS管开关构成的 “C-element” • 逻辑功能?

  21. 其它符号 (续) • C-element

  22. C元件的其它实现形式 • C-element • 又叫作Muller C-gate [wiki] • “Muller C-element was first used in the arithmetic logic unit (ALU) of the ILLIAC II supercomputer, proposed in 1958, and operational in 1962.” • 变体——Asymmetric(不对称) C-element • 一些输入仅以高电平或低电平影响其操作 延迟的设定影响异步设计的正确性,这些电路必须被仔细地设计(布局、晶体管的尺寸、电荷分配)

  23. C元件的实现——延迟假设 • [Kishinevsky 1995]

  24. C元件的仿真

  25. 提纲 引言:从 同步电路 到 异步电路 并发过程的同步——Muller的C元件 规格说明与综合——STG图 案例:FIFO控制器的初步设计 STG图 和 SG图 回顾与展望:异步电路设计与测试的挑战 附录:参考文献资源

  26. A+ B+ A- B- 异步电路 的 规格说明与综合 • 如何表达输入输出信号之间的转换关系? • 控制过程的规格说明 • CSP——进程代数之一 • FSM——Finite State Machine • 状态转换图就是有限状态机 • STG——Signal Transition Graphs • 信号转换图 A A 输入——外部输入 B输出——内部主动输出 B

  27. 异步电路 的 规格说明与综合 • STG图 • 顶点 代表信号转换; • 弧 代表转换之间的因果关系,“Cause & Effect”; • STG是“Petri网”一种表现形式。 • Pertri Net ——1962, Petri, Carl Adam,波恩大学博士 • 库所 place、迁移 transmit、令牌token、fire bar

  28. STG图——原因与效果的逻辑关系 • 所谓的“Control Specification” A+ B+ B A A- 缓冲器 B-

  29. STG图——原因与效果的逻辑关系 • (续) A+ B- B A A- B+

  30. C STG图——原因与效果的逻辑关系 • (续) A+ B+ A C+ C B A- B- C-

  31. C STG图——原因与效果的逻辑关系 • (续) A+ B- A C+ C B A- B+ C-

  32. STG图——原因与效果的逻辑关系 • Control Specification • 多级信号之间的握手关系 (以4-phase bundled data为例)

  33. Ri Ro FIFO controller Ai Ao EN ■表示外部输入的信号 ■表示本级输出的信号 回顾:“幽会”电路 STG图——用于设计综合 • 案例:4相位异步FIFO控制器电路 • 考虑两级之间的信号握手关系

  34. Ri Ro Ro+ Ri+ FIFO controller Ai Ao Ai+ Ao+ EN Ro- Ri- ■表示外部输入的信号 ■表示本级输出的信号 Ao- Ai- STG图——用于设计综合 • 案例:4相位异步FIFO控制器电路(续) • 考虑两级之间的信号握手关系 如何协调?

  35. C Ri Ro FIFO controller Ai Ao Ri EN Ro Ai ■表示外部输入的信号 ■表示本级输出的信号 STG图——用于设计综合 • 案例:4相位异步FIFO控制器电路(续) • 考虑两级之间的信号握手关系 Ro+ Ri+ Ai+ Ao+ Ro- Ri- Ao- Ai- To be cont. … the next page

  36. Ri Ro C FIFO controller Ai Ao 下游节点响应 Ri EN EN+ Ro Ai 下游节点响应 EN- STG图——用于设计综合 • 案例:4相位异步FIFO控制器电路(续) Ro+ Ri+ 内部连线 Ai+ Ao+ Ro- Ri- 内部连线 Ao- Ai- To be cont. … the next page

  37. 注意:在该设计中,实质上… Ri Ro FIFO controller Ao Ai EN EN+ EN- STG图——用于设计综合 • 案例:4相位异步FIFO控制器电路(续) Ro+ Ri+ Ai+ Ao+ Ro- Ri- Ao- Ai-

  38. STG图——用于设计综合 • 案例:4相位异步FIFO控制器电路(续) • 思考:这是唯一的解决方案吗? • 可否合理利用并发特性,提高响应速度?! Ro+ Ri+ Ai+ Ao+ Ro- Ri- Ao- Ai-

  39. STG图——用于设计综合 • 其它可行的异步的时序,更合理吗? Ro+ Ri+ Ro+ Ri+ Ai+ Ao+ Ai+ Ao+ 比较 Ro- Ri- Ro- Ri- Ao- Ai- Ao- Ai- 实际上,RO-可以不取决于上游的Ri-;它应该取决于下游的读取操作,如果下游已经Ai+,则应RO-

  40. Ro+ Ri+ Ai+ Ao+ Ro- Ri- Ao- Ai- • 左边的解决方案对于FIFO来,还不够“异步” • 为什么?

  41. Ri+ Ri+ Ri+ Ro+ Ro+ Ro+ Ao+ Ao+ Ao+ Ai+ Ai+ Ai+ Ri- Ri- Ri- Ro- Ro- Ro- Ao- Ao- Ao- Ai- Ai- Ai- 为什么说左边的解决方案对于FIFO来,还不够“异步”? 发送端 接收端

  42. Ri+ Ri+ Ri+ Ro+ Ro+ Ro+ Ao+ Ao+ Ao+ Ai+ Ai+ Ai+ Ri- Ri- Ri- Ro- Ro- Ro- Ao- Ao- Ao- Ai- Ai- Ai- 为什么说左边的解决方案对于FIFO来,还不够“异步”? 发送端 接收端 设:但Ri-必须等待从发送端而来的连锁反应。 设:下游缓冲为空,已经得到Ai+信号

  43. STG图——用于设计综合 • 设计更加“异步”的FIFO控制器 • 对于 • (Ri+ && Ro+)Ao+ • (Ri- && Ro-) Ao- • Easy! Ro+ Ri+ Ai+ Ao+ Ro- Ri- Ao- Ai-

  44. STG图——用于设计综合 • 设计更加“异步”的FIFO控制器(续) • 但是,对于 • (Ri+ && Ai-) Ro+ • (Ao+&& Ai+)Ro- • 用什么方法综合? • 三种信号、不同的边沿,如何考虑? Ro+ Ri+ Ai+ Ao+ Ro- Ri- Ao- Ai-

  45. 观察 Ao的卡诺图 Ri \Ai Ri \Ai 0 0 1 1 1圈 0 0 0 0 0保 1保 1圈 事件同步区 1 1 1保 0保 1 1 Ao的上升沿 事件同步区 0圈 0圈 Ao的下降沿 思考… • 可以参考一下简单的情况 • 事件同步区 由两个信号的1圈或0圈叠合而成; • 没有叠合到的区域,是未取得事件同步时的保持区

  46. STG图——用于设计综合 • 设计更加“异步”的FIFO控制器(续) • 那么,对于 • (Ri+ && Ai-) Ro+ • (Ao+&& Ai+)Ro- • 已知事件同步的叠合区域为 • Ro上升沿—— Ri的1圈和Ai的0圈叠合 • Ro下降沿—— Ao的1圈和Ai的1圈叠合 Ro+ Ri+ Ai+ Ao+ Ro- Ri- Ao- Ai-

  47. 例如:都可以算是Ai的1圈 Ri Ai 11 10 00 01 Ao 0 1 说明… • 对于某信号,它的1圈(或0圈)有多种可行取法 • 区别是:其它信号的配合情况 • 设计的目的:根据已知的叠合区域,合理地确定信号的配合情况,满足事件同步的要求

  48. STG图——用于设计综合 • 设计更加“异步”的FIFO控制器(续) • Ro的卡诺图 • 已知事件同步的叠合区域 Ro+ Ri+ Ri Ai 11 10 00 01 Ao Ai+ Ao+ 0 1 Ro- Ri- Ri Ai 11 10 00 01 Ao- Ai- Ao 0 1

  49. 设计更加“异步”的FIFO控制器(续) 推理: 既然Ro+的事件同步区域由Ri的1圈和Ai的0圈叠合, 不妨令 即为Ri的1圈 Ai的0圈待定,但它一定包含 同理, Ro-的事件同步区域由Ao的1圈和Ai的1圈叠合, 不妨令 即为Ai的1圈 Ao的1圈待定… Ri的1圈 Ai的1圈 STG图——用于设计综合 Ri Ai 11 10 00 01 Ao 0 1 Ri Ai 11 10 00 01 Ao 0 1

  50. STG图——用于设计综合 • 设计更加“异步”的FIFO控制器(续) • 推理(续) • 所以,考虑Ro+的事件同步叠合区域,可以是: • 对应C元件的电路

More Related