在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 27196|回复: 174

[资料] Principles of VLSI RTL Design: A Practical Guide

[复制链接]
发表于 2011-5-7 01:47:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
Title: Principles of VLSI Rtl Design a Practical Guide
Publisher: Springer [/td]
Author: Sanjay Churiwala, Sapan Garg
Edition: Hardcover Edition.
Language: English
ISBN: 1441992952
EAN: 9781441992956
No. of Pages: 192
Publish Date: 2011-4-19
Binding: Hardcover


This book examines the impact of register transfer level (RTL) design choices that may result in issues of testability, data synchronization across clock domains, synthesizability, power consumption and routability, that appear later in the product lifecycle.
Since register transfer level (RTL) design is less about being a bright engineer, and more about knowing the downstream implications of your work, this book explains the impact of design decisions taken that may give rise later in the product lifecycle to issues related to testability, data synchronization across clock domains, synthesizability, power consumption, routability, etc., all which are a function of the way the RTL was originally written. Readers will benefit from a highly practical approach to the fundamentals of these topics, and will be given clear guidance regarding necessary safeguards to observe during RTL design.

Contents
1 Introduction to VLSI RTL Designs . . . . . . . . . . . . . . . . . . . 1
1.1 A Brief Background . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Hardware Description Languages (HDL) . . . . . . . . . . . . . 2
1.3 RTLDesigns . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 DesignGoals andConstraints . . . . . . . . . . . . . . . . . . . 5
1.5 RTLBasedChipDesignFlow . . . . . . . . . . . . . . . . . . . 6
1.6 Design Challenges . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6.1 Simulation Friendly RTL . . . . . . . . . . . . . . . . . 8
1.6.2 Timing-Analysis Friendly RTL . . . . . . . . . . . . . . 9
1.6.3 Clock-Domain-Crossing (CDC) Friendly RTL . . . . . 13
1.6.4 Power Friendly RTL . . . . . . . . . . . . . . . . . . . 14
1.6.5 DFT Friendly RTL . . . . . . . . . . . . . . . . . . . . 16
1.6.6 Timing-Exceptions Friendly RTL . . . . . . . . . . . . 17
1.6.7 Congestion Conscious RTL . . . . . . . . . . . . . . . 19
1.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2 Ensuring RTL Intent . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1 Need for Unambiguous Simulation . . . . . . . . . . . . . . . . 21
2.2 SimulationRace . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.1 Read-Write Race . . . . . . . . . . . . . . . . . . . . . 22
2.2.2 Write-WriteRace . . . . . . . . . . . . . . . . . . . . . 24
2.2.3 Always-Initial Race . . . . . . . . . . . . . . . . . . . 26
2.2.4 Race Due to Inter-leaving of Assign
with Procedural Block . . . . . . . . . . . . . . . . . . 27
2.2.5 AvoidingSimulationRace . . . . . . . . . . . . . . . . 28
2.3 Feedthroughs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1 Feedthroughs Because of Races . . . . . . . . . . . . . 29
2.3.2 Feedthroughs Without Simulation Race . . . . . . . . . 30
2.3.3 VHDL Feedthroughs . . . . . . . . . . . . . . . . . . . 30
2.4 Simulation-Synthesis Mismatch . . . . . . . . . . . . . . . . . . 32
2.5 Latch Inference . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.6 Synchronous Reset . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.7 Limitations ofSimulation . . . . . . . . . . . . . . . . . . . . . 40
xi
xii Contents
3 Timing Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1 Scope of STA . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.1 SimulationLimitations intheContext ofTiming . . . . 44
3.1.2 Exhaustiveness of STA . . . . . . . . . . . . . . . . . . 45
3.2 TimingParameters forDigitalLogic . . . . . . . . . . . . . . . 45
3.2.1 DelayParameters . . . . . . . . . . . . . . . . . . . . . 45
3.2.2 SlewParameters forDigitalLogic . . . . . . . . . . . . 47
3.2.3 Delay andSlewMeasurement . . . . . . . . . . . . . . 48
3.3 FactorsAffectingDelay andSlew . . . . . . . . . . . . . . . . . 49
3.3.1 DiscreteFactors . . . . . . . . . . . . . . . . . . . . . 49
3.3.2 Continuous Factors . . . . . . . . . . . . . . . . . . . . 53
3.4 Sequential Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.4.1 PulseWidth . . . . . . . . . . . . . . . . . . . . . . . . 58
3.4.2 Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4.3 Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4.4 Recovery . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.4.5 Removal . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.5 Understanding Setup and Hold . . . . . . . . . . . . . . . . . . 60
3.5.1 Understanding Setup . . . . . . . . . . . . . . . . . . . 61
3.5.2 Understanding Hold . . . . . . . . . . . . . . . . . . . 62
3.6 Negative Timing Check . . . . . . . . . . . . . . . . . . . . . . 62
3.7 BasicAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.8 Uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.9 STAContrastedwithSimulation . . . . . . . . . . . . . . . . . 67
3.9.1 Setup Violation in STA, No Violation in Simulation . . . 68
3.9.2 Setup Violation in STA, Hold Violation in Simulation . . 68
3.9.3 Hold Violation in STA, Setup Violation in Simulation . . 68
3.10 Accurate Timing Simulation . . . . . . . . . . . . . . . . . . . . 69
3.11 Limitations ofStaticTimingAnalysis . . . . . . . . . . . . . . . 70
3.12 SSTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.13 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4 Clock Domain Crossing (CDC) . . . . . . . . . . . . . . . . . . . . . 73
4.1 ClockDomain . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.2 Metastability Due to CDC . . . . . . . . . . . . . . . . . . . . . 74
4.2.1 Understanding Metastability . . . . . . . . . . . . . . . 74
4.2.2 Problems Due to Metastability . . . . . . . . . . . . . . 75
4.3 Synchronizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3.1 Double Flop Synchronizer . . . . . . . . . . . . . . . . 76
4.3.2 MeanTimeBetweenFailures (MTBF) . . . . . . . . . . 77
4.3.3 Meta Hardened Flops . . . . . . . . . . . . . . . . . . . 78
4.4 Bus Synchronization . . . . . . . . . . . . . . . . . . . . . . . . 78
4.4.1 Challenge with Bus Synchronization . . . . . . . . . . . 78
4.4.2 Grey Encoding . . . . . . . . . . . . . . . . . . . . . . 79
4.4.3 Enable Synchronization Method . . . . . . . . . . . . . 79
4.4.4 Cost of Enable Synchronization . . . . . . . . . . . . . 80
Contents xiii
4.5 DataLoss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.5.1 SlowtoFastCrossing . . . . . . . . . . . . . . . . . . 81
4.5.2 Fast toSlowCrossing . . . . . . . . . . . . . . . . . . 82
4.6 Preventing Data Loss Through FIFO . . . . . . . . . . . . . . . 83
4.6.1 FIFOBasics . . . . . . . . . . . . . . . . . . . . . . . 83
4.6.2 Full and Empty Generation . . . . . . . . . . . . . . . . 84
4.6.3 FIFOLimitations . . . . . . . . . . . . . . . . . . . . . 85
4.7 Other Reliability Concerns . . . . . . . . . . . . . . . . . . . . 85
4.8 CatchingCDC . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.8.1 UsingSTA . . . . . . . . . . . . . . . . . . . . . . . . 87
4.8.2 UsingSimulation . . . . . . . . . . . . . . . . . . . . . 87
4.8.3 Using Rule Checkers . . . . . . . . . . . . . . . . . . . 88
4.9 DomainRevisited . . . . . . . . . . . . . . . . . . . . . . . . . 88
5 Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.1 Importance of Low Power . . . . . . . . . . . . . . . . . . . . . 91
5.1.1 IncreasingDeviceDensity . . . . . . . . . . . . . . . . 91
5.1.2 Increasing Speed . . . . . . . . . . . . . . . . . . . . . 91
5.1.3 BatteryLife . . . . . . . . . . . . . . . . . . . . . . . . 92
5.1.4 Green Concerns . . . . . . . . . . . . . . . . . . . . . . 92
5.1.5 User Experience . . . . . . . . . . . . . . . . . . . . . 92
5.2 Causes ofPowerDissipation . . . . . . . . . . . . . . . . . . . 92
5.3 FactorsAffectingPower . . . . . . . . . . . . . . . . . . . . . . 95
5.3.1 SwitchingActivity . . . . . . . . . . . . . . . . . . . . 95
5.3.2 Capacitive Load . . . . . . . . . . . . . . . . . . . . . 95
5.3.3 Supply Voltage . . . . . . . . . . . . . . . . . . . . . . 95
5.3.4 Transition Rate . . . . . . . . . . . . . . . . . . . . . . 96
5.3.5 DeviceCharacteristics . . . . . . . . . . . . . . . . . . 96
5.3.6 DeviceState . . . . . . . . . . . . . . . . . . . . . . . 96
5.4 SwitchingActivity . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.4.1 Shifter Instead of Multipliers . . . . . . . . . . . . . . . 97
5.4.2 Operand Isolation . . . . . . . . . . . . . . . . . . . . . 97
5.4.3 AvoidComparison . . . . . . . . . . . . . . . . . . . . 98
5.4.4 ClockGating . . . . . . . . . . . . . . . . . . . . . . . 99
5.5 Supply Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.5.1 SimulationLimitation . . . . . . . . . . . . . . . . . . 107
5.5.2 Implication on Synthesis . . . . . . . . . . . . . . . . . 108
5.5.3 Implication onBackend . . . . . . . . . . . . . . . . . 108
5.6 Selective Shut Down . . . . . . . . . . . . . . . . . . . . . . . . 109
5.6.1 Need for Isolation . . . . . . . . . . . . . . . . . . . . 110
5.6.2 Generation of Power-Enable . . . . . . . . . . . . . . . 111
5.6.3 Power Sequencing . . . . . . . . . . . . . . . . . . . . 112
5.7 Load Capacitance . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.8 Input Transition . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.9 DeviceCharacteristics . . . . . . . . . . . . . . . . . . . . . . . 113
xiv Contents
5.10 PowerEstimation . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.10.1 InternalPowerEstimation . . . . . . . . . . . . . . . . 116
5.10.2 SwitchingPowerEstimation . . . . . . . . . . . . . . . 117
5.10.3 Leakage Power Estimation . . . . . . . . . . . . . . . . 117
5.10.4 PowerEstimationatNon-gateLevel . . . . . . . . . . . 117
5.11 Probabilistic Estimation . . . . . . . . . . . . . . . . . . . . . . 118
5.11.1 SpatialCorrelation . . . . . . . . . . . . . . . . . . . . 119
5.11.2 TemporalCorrelation . . . . . . . . . . . . . . . . . . . 121
5.12 Simulation Plus Probabilistic . . . . . . . . . . . . . . . . . . . 121
5.13 CPF/UPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6 Design for Test (DFT) . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.1.1 Manufacturing Defect – Vis-a-Vis – Design Defect . . . 125
6.1.2 Stuck-At Fault Models . . . . . . . . . . . . . . . . . . 126
6.1.3 CostConsiderations . . . . . . . . . . . . . . . . . . . 126
6.2 Controllability and Observability . . . . . . . . . . . . . . . . . 126
6.2.1 Controllability and Observability Conflict . . . . . . . . 127
6.3 Scan Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.3.1 Need for Simultaneous Control . . . . . . . . . . . . . 128
6.3.2 Complexity Due to Signal Relationship . . . . . . . . . 129
6.3.3 Need forManyControl andObservePoints . . . . . . . 130
6.3.4 Using Scan Chain for Controllability and Observability . 130
6.4 Mechanics of Scan Chain . . . . . . . . . . . . . . . . . . . . . 131
6.4.1 Scan Flop . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.4.2 Replacing Flops with Scan Versions . . . . . . . . . . . 132
6.4.3 Timing Impact of Scan Flops . . . . . . . . . . . . . . . 132
6.4.4 Area Impact of Scan Flops . . . . . . . . . . . . . . . . 133
6.4.5 Stitching theChain . . . . . . . . . . . . . . . . . . . . 133
6.5 Shift andCapture . . . . . . . . . . . . . . . . . . . . . . . . . 133
6.5.1 ShiftIn . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.5.2 Capture . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.5.3 ShiftOut . . . . . . . . . . . . . . . . . . . . . . . . . . 135
6.5.4 Overlapping ShiftIn and ShiftOut . . . . . . . . . . . . 135
6.5.5 Chain Length . . . . . . . . . . . . . . . . . . . . . . . 136
6.6 Pseudo Random Flop Outputs . . . . . . . . . . . . . . . . . . . 136
6.6.1 TristateControls . . . . . . . . . . . . . . . . . . . . . 137
6.6.2 Uncontrollable Flops . . . . . . . . . . . . . . . . . . . 137
6.7 Shadow Registers . . . . . . . . . . . . . . . . . . . . . . . . . 138
6.7.1 Observability . . . . . . . . . . . . . . . . . . . . . . . 138
6.7.2 Scan Wrap . . . . . . . . . . . . . . . . . . . . . . . . 139
6.8 MemoryTesting . . . . . . . . . . . . . . . . . . . . . . . . . . 140
6.9 LatchBasedDesigns . . . . . . . . . . . . . . . . . . . . . . . . 140
6.10 Combinational Loops . . . . . . . . . . . . . . . . . . . . . . . 142
6.11 Power Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Contents xv
6.12 Transitions Fault Model . . . . . . . . . . . . . . . . . . . . . . 144
6.13 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
7 Timing Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.1 FalsePaths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.1.1 False Paths Due to Specific Protocol . . . . . . . . . . . 148
7.1.2 False Paths Due to Paths Being Unsensitizable . . . . . 148
7.1.3 FalsePathsDue toCDC . . . . . . . . . . . . . . . . . 150
7.1.4 FalsePathsDue toMultiMode . . . . . . . . . . . . . . 151
7.1.5 FalsePathsDue toPinMuxing . . . . . . . . . . . . . . 152
7.1.6 False Paths Due to Exclusive Clocks . . . . . . . . . . . 154
7.1.7 False Paths Due to Asynchronous Control Signals . . . . 155
7.1.8 False Paths Due to Quasi Static Signals . . . . . . . . . 156
7.1.9 set_false_path -vs- set_clock_groups . . . . . . . . . . 156
7.2 DisableTiming . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
7.3 MultiCyclePaths . . . . . . . . . . . . . . . . . . . . . . . . . 158
7.3.1 SlowtoFastClockTransfer ofData . . . . . . . . . . . 158
7.3.2 Fast toSlowClockTransfer ofData . . . . . . . . . . . 161
7.3.3 Protocol Based Data Transfer . . . . . . . . . . . . . . 163
7.3.4 Multicycle Paths for False Paths . . . . . . . . . . . . . 164
7.3.5 Multicycle Paths for Deep Logic . . . . . . . . . . . . . 164
7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
8 Congestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
8.1 Impact of Congestion . . . . . . . . . . . . . . . . . . . . . . . 167
8.2 PhysicalDesignBasics . . . . . . . . . . . . . . . . . . . . . . 168
8.3 RTLCharacteristics . . . . . . . . . . . . . . . . . . . . . . . . 168
8.3.1 High Utilization . . . . . . . . . . . . . . . . . . . . . 169
8.3.2 LargeMacros . . . . . . . . . . . . . . . . . . . . . . . 170
8.3.3 Interaction with Many Blocks . . . . . . . . . . . . . . 171
8.3.4 TooManyCriticalPaths . . . . . . . . . . . . . . . . . 172
8.4 Feedthrough . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
8.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Appendix A Interleaving of Processes . . . . . . . . . . . . . . . . . . . 175
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

1.jpg
Principles of VLSI RTL Design A Practical Guide.pdf (6.97 MB, 下载次数: 1813 )
发表于 2011-5-7 20:26:38 | 显示全部楼层
看看先
发表于 2011-5-7 21:08:16 | 显示全部楼层
very good!
发表于 2011-5-7 22:16:27 | 显示全部楼层
非常好的书,多谢楼主。
发表于 2011-5-7 23:24:14 | 显示全部楼层
new book,thank you !!!
发表于 2011-5-8 03:26:24 | 显示全部楼层
great book
发表于 2011-5-8 13:14:20 | 显示全部楼层
NEW BOOK.THX
发表于 2011-5-8 21:11:58 | 显示全部楼层
Thanks
发表于 2011-5-10 14:42:28 | 显示全部楼层
very Good,Thank you
发表于 2011-5-10 17:13:10 | 显示全部楼层
thanks.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 11:16 , Processed in 0.025608 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表