|
发表于 2011-9-15 01:08:37
|
显示全部楼层
CHAPTER 1 Introduction: the challenge of system verification................. 1
1.1. Moore was right!..................................................................................... 1
1.1.1. SoC: A definition . . . for this book at least............................ 1
1.2. The economics of SoC design ................................................................. 2
1.2.1. Case study: a typical SoC development project ..................... 4
1.3. Virtual platforms: prototyping without hardware..................................... 6
1.3.1. SDK: a very common prototyping environment .................... 7
1.3.2. FPGA: prototyping in silicon . . . but pre-silicon................... 8
1.3.3. Emulators: prototyping or verification?................................. 9
1.3.4. First silicon as a prototype platform.................................... 10
1.4. Prototyping use models ......................................................................... 10
1.4.1. Prototyping for architecture exploration.............................. 11
1.4.2. Prototyping for software development ................................ 11
1.4.3. Prototyping for verification................................................. 12
1.5. User priorities in prototyping................................................................. 13
1.6. Chip design trends................................................................................. 15
1.6.1. Miniaturization towards smaller technology nodes.............. 15
1.6.2. Decrease in overall design starts ......................................... 16
1.6.3. Increased programmability and software............................. 17
1.6.4. Intellectual property block reuse ......................................... 19
1.6.5. Application specificity and mixed-signal design ................. 21
1.6.6. Multicore architectures and low power ............................... 22
1.7. Summary............................................................................................... 23
CHAPTER 2 What can FPGA-based prototyping do for us? ................... 25
2.1. FPGA-based prototyping for different aims........................................... 25
2.1.1. High performance and accuracy.......................................... 26
2.1.2. Real-time dataflow ............................................................. 27
2.1.3. Hardware-software integration............................................ 28
2.1.4. Modeling an SoC for software development ....................... 28
2.1.5. Example prototype usage for software validation................ 30
2.2. Interfacing benefit: test real-world data effects ...................................... 33
2.2.1. Example: prototype immersion in real-world data............... 34
2.3. Benefits for feasibility lab experiments ................................................. 35
2.4. Prototype usage out of the lab ............................................................... 36
2.4.1. Example: A prototype in the real world............................... 36
2.5. What can’t FPGA-based prototyping do for us? .................................... 38
2.5.1. An FPGA-based prototype is not a simulator ...................... 38
2.5.2. An FPGA-based prototype is not ESL................................. 39
2.5.3. Continuity is the key........................................................... 39
2.6. Summary: So why use FPGA-based prototyping? ................................. 40
CHAPTER 3 FPGA technology today: chips and tools ............................. 41
3.1. FPGA device technology today............................................................. 41
3.1.1. The Virtex®-6 family: an example of latest FPGAs ............. 42
3.1.2. FPGA logic blocks.............................................................. 43
3.1.3. FPGA memory: LUT memory and block memory .............. 46
3.1.4. FPGA DSP resources.......................................................... 47
3.1.5. FPGA clocking resources.................................................... 49
3.1.6. FPGA input and output ....................................................... 51
3.1.7. Gigabit transceivers ............................................................ 53
3.1.8. Built-in IP (Ethernet, PCI Express®, CPU etc.) ................... 54
3.1.9. System monitor................................................................... 55
3.1.10. Summary of all FPGA resource types ............................... 56
3.2. FPGA–based Prototyping process overview.......................................... 57
3.3. Implementation tools needed during prototyping................................... 59
3.3.1. Synthesis tools .................................................................... 60
3.3.2. Mapping SoC design elements into FPGA .......................... 61
3.3.3. Synthesis and the three “laws” of prototyping..................... 63
3.3.4. Gated clock mapping .......................................................... 65
3.4. Design partitioning flows ...................................................................... 66
3.4.1. Pre-synthesis partitioning flow............................................ 67
3.4.2. Post-synthesis partitioning flow.......................................... 68
3.4.3. Alternative netlist-based partitioning flow .......................... 70
3.4.4. Partitioning tool example: Certify®.................................... 72
3.5. FPGA back-end (place & route) flow.................................................... 73
3.5.1. Controlling the back-end..................................................... 75
3.5.2. Additional back-end tools ................................................... 77
3.6. Debugging tools .................................................................................... 77
3.6.1. Design instrumentation for probing and tracing................... 78
3.6.2. Real-time signal probing: test points ................................... 78
3.6.3. Real-time signal probing: non-embedded ............................ 80
3.6.4. Non real-time signal tracing................................................ 81
3.6.5. Signal tracing at netlist level ............................................... 82
3.6.6. Signal tracing at RTL.......................................................... 85
3.6.7. Summarizing debugging tool options .................................. 89
3.7. Summary............................................................................................... 90
CHAPTER 4 Getting started ...................................................................... 91
4.1. A getting-started checklist ..................................................................... 91
4.2. Estimating the required resources: FPGAs............................................. 92
4.2.1. How mature does the SoC design need to be? ..................... 93
4.2.2. How much of the design should be included?...................... 94
4.2.3. Design blocks that map outside of the FPGA...................... 95
4.2.4. How big is an FPGA? ......................................................... 97
4.2.5. How big is the whole SoC design in FPGA terms?.............. 99
4.2.6. FPGA resource estimation ................................................ 100
4.2.7. How fast will the prototype run?....................................... 102
4.3. How many FPGAs can be used in one prototype? ............................... 104
4.4. Estimating required resources.............................................................. 106
4.5. How long will it take to process the design? ........................................ 106
4.5.1. Really, how long will it take to process the design? .......... 108
4.5.2. A note on partitioning runtime .......................................... 109
4.6. How much work will it be? ................................................................. 109
4.6.1. Initial implementation effort ............................................. 110
4.6.2. Subsequent implementation effort..................................... 111
4.6.3. A note on engineering resources ....................................... 111
4.7. FPGA platform ................................................................................... 112
4.8. Summary............................................................................................. 113
CHAPTER 5 Which platform? (1) build-your-own................................. 115
5.1. What is the best shape for the platform? .............................................. 115
5.1.1. Size and form factor.......................................................... 115
5.1.2. Modularity........................................................................ 117
5.1.3. Interconnect...................................................................... 119
5.1.4. Flexibility ......................................................................... 121
5.2. Testability ........................................................................................... 122
5.3. On-board clock resources .................................................................... 123
5.3.1. Matching clock delays on and off board............................ 124
5.3.2. Phase-locked loops (PLL)................................................. 125
5.3.3. System clock generation ................................................... 126
5.4. Clock control and configuration .......................................................... 128
5.5. On-board Voltage Domains................................................................. 128
5.6. Power supply and distribution ............................................................. 129
5.6.1. Board-level power distribution.......................................... 131
5.6.2. Power distribution physical design considerations............. 132
5.7. System reliability management............................................................ 133
5.7.1. Power supply monitoring .................................................. 133
5.7.2. Temperature monitoring and management ........................ 134
5.7.3. FPGA cooling................................................................... 136
5.8. FPGA configuration............................................................................ 137
5.9. Signal integrity.................................................................................... 138
5.10. Global start-up and reset.................................................................... 139
5.11. Robustness ........................................................................................ 139
5.12. Adopting a standard in-house platform.............................................. 140 |
|