仅对英特尔可见 — GUID: esc1445894658366
Ixiasoft
2.4.2.1. 高速时钟域(High-Speed Clock Domains)
2.4.2.2. 重构环路(Restructuring Loops)
2.4.2.3. 控制信号反压(Control Signal Backpressure)
2.4.2.4. 使用FIFO状态信号的流程控制
2.4.2.5. 包含skid缓冲器的流程控制
2.4.2.6. Read-Modify-Write存储器
2.4.2.7. 计数器和累加器
2.4.2.8. 状态机
2.4.2.9. 储存器
2.4.2.10. DSP模块
2.4.2.11. 一般逻辑
2.4.2.12. 求模与除法
2.4.2.13. 复位
2.4.2.14. 硬件重用
2.4.2.15. 算法要求
2.4.2.16. FIFO
2.4.2.17. 三元加法器(Ternary Adders)
5.2.1. 不足的寄存器(insufficient Registers)
5.2.2. 短路径/长路径(short path/long path)
5.2.3. 快进限制(Fast Forward Limit)
5.2.4. 环路(loop)
5.2.5. 每个时钟域一个关键链
5.2.6. 相关时钟组中的关键链
5.2.7. 复杂的关键链
5.2.8. 延伸到可定位的节点
5.2.9. 域边界入口和域边界出口(Domain Boundary Entry and Domain Boundary Exit)
5.2.10. 包括双时钟存储器的关键链
5.2.11. 关键链比特和总线
5.2.12. 延迟线
仅对英特尔可见 — GUID: esc1445894658366
Ixiasoft
2.1.1.2. 速度和延迟
下表说明了随着总线宽度的增加,各种类型电路的增长率。电路函数与面积的大O符号交错,作为一个总线宽度的函数,开始于子线性log(N),直到超线性N*N。
电路函数 | |||||||
---|---|---|---|---|---|---|---|
总线宽度 (N) | log N | Mux | 逐位进位加法(ripple add) | N*log N | 桶形移位(barrel shift) | 交叉开关(crossbar) | N*N |
16 | 4 | 5 | 16 | 64 | 64 | 80 | 256 |
32 | 5 | 11 | 32 | 160 | 160 | 352 | 1024 |
64 | 6 | 21 | 64 | 384 | 384 | 1344 | 4096 |
128 | 7 | 43 | 128 | 896 | 896 | 5504 | 16384 |
256 | 8 | 85 | 256 | 2048 | 2048 | 21760 | 65536 |
通常情况下,当总线宽度加倍时,电路组件会使用2倍以上的面积。对于像多路复用器(mux)这样的简单电路,随着总线宽度的增加,面积呈亚线性增长。减半一个多路复用器的总线宽度会提供略差于线性面积的效益。随着总线宽度的增加,逐位进位加法器呈线性增长。
随着总线宽度的增加,诸如桶型移位器(barrel shifter)和交叉开关(crossbar)的更复杂的电路呈超线性增长。如果将桶型移位器,交叉开关或其他复杂电路的总线宽度减半,那么面积效益能显著地好于半速率,接近二次速率。对于那些所有输入影响所有输出的组件,增加总线宽度会导致二次增长。那么预期的结果将会是,如果利用加速来处理半宽度总线,那么所生成设计的面积将少于原始面积的一半。
使用流数据通路(streaming datapath)时,寄存器的数量与流水线的延迟(以比特为单位)相近似。将宽度减半可以使流水线级增加一倍,而不会对延迟产生负面影响。这种更高的性能通常需要远远少于两倍的额外寄存量来产生延迟效益。