دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [1 ed.] نویسندگان: Sumit Gupta, Rajesh Gupta, Nikil Dutt, Alexandru Nicolau سری: ISBN (شابک) : 9781402078378, 1402078382 ناشر: Springer سال نشر: 2004 تعداد صفحات: 241 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 13 Mb
در صورت تبدیل فایل کتاب Spark: A Parallelizing Approach to the High-Level Synthesis of Digital Circuits به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب جرقه: یک رویکرد موازی به سنتز سطح بالا مدارهای دیجیتال نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
پیشرفت سریع در ادغام میکروالکترونیک و ظهور سیستمهای روی تراشه، نیاز به سنتز سطح بالا، به عنوان مثال، یک رویکرد خودکار برای سنتز سختافزار از توضیحات رفتاری را افزایش داده است. مدارهای دیجیتال رویکرد جدیدی را برای سنتز سطح بالای مدارهای دیجیتال ارائه می دهد - روش موازی سازی سنتز سطح بالا (PHLS). این رویکرد از تکنیکهای موازیسازی کد تهاجمی و حرکت کد برای کشف فرصتهای بهینهسازی مدار فراتر از آنچه که با سنتز سطح بالا سنتی امکانپذیر است، استفاده میکند. این رویکرد PHLS به مشکلات کیفیت پایین نتایج سنتز و عدم کنترل پذیری روی تبدیلهای اعمال شده در طول سنتز سطح بالا توصیفات سیستم با جریانهای کنترلی پیچیده، یعنی با شرطها و حلقههای تودرتو، میپردازد. همچنین کدهای حدسی شرح داده شدهاند. تکنیکهای حرکتی و تبدیلهای کامپایلر پویا که کیفیت مدار را از نظر زمان چرخه، اندازه مدار و هزینههای اتصال بهینه میکنند. ما چارچوب سنتز سطح بالا موازیسازی SPARK را توصیف میکنیم که در آن این تکنیکها را پیادهسازی کردهایم و کاربرد رویکرد PHLS SPARK را با استفاده از طرحهای مشتقشده از چند رسانهای و برنامههای پردازش تصویر نشان میدهیم. ما همچنین یک مطالعه موردی از رمزگشای طول دستورالعمل را ارائه میکنیم که از ریزپردازندههای کلاس پنتیوم اینتل مشتق شده است. این مطالعه موردی به عنوان نمونهای از یک بلوک عملکردی ریزپردازنده معمولی با جریان کنترل پیچیده عمل میکند و نشان میدهد که چگونه تکنیکهای ما برای چنین طراحیهایی مفید هستند. . این شامل افرادی می شود که روی طراحی و اتوماسیون طراحی کار می کنند. این کتاب برای محققان و مهندسین اتوماسیون طراحی که مایلند درک کنند که چگونه مشکلات اصلی مانع پذیرش سنتز سطح بالا در میان طراحان می شود مفید است.
Rapid advances in microelectronic integration and the advent of Systems-on-Chip have fueled the need for high-level synthesis, i.e., an automated approach to the synthesis of hardware from behavioral descriptions.SPARK: A Parallelizing Approach to the High - Level Synthesis of Digital Circuits presents a novel approach to the high-level synthesis of digital circuits - that of parallelizing high-level synthesis (PHLS). This approach uses aggressive code parallelizing and code motion techniques to discover circuit optimization opportunities beyond what is possible with traditional high-level synthesis. This PHLS approach addresses the problems of the poor quality of synthesis results and the lack of controllability over the transformations applied during the high-level synthesis of system descriptions with complex control flows, that is, with nested conditionals and loops.Also described are speculative code motion techniques and dynamic compiler transformations that optimize the circuit quality in terms of cycle time, circuit size and interconnect costs. We describe the SPARK parallelizing high-level synthesis framework in which we have implemented these techniques and demonstrate the utility of SPARK's PHLS approach using designs derived from multimedia and image processing applications. We also present a case study of an instruction length decoder derived from the Intel Pentium-class of microprocessors. This case study serves as an example of a typical microprocessor functional block with complex control flow and demonstrates how our techniques are useful for such designs.SPARK: A Parallelizing Approach to the High - Level Synthesis ofDigital Circuits is targeted mainly to embedded system designers and researchers. This includes people working on design and design automation. The book is useful for researchers and design automation engineers who wish to understand how the main problems hindering the adoption of high-level synthesis among designers.
Contents......Page 8
Preface......Page 20
Acknowledgments......Page 24
I: Introduction to High-Level Synthesis......Page 26
1.1 System-Level Design of Hardware Systems......Page 28
1.2 Why High-Level Synthesis and Why Now......Page 30
1.3 Overview of High-Level Synthesis......Page 31
1.4 Role of Parallelizing Compiler Transformations in HLS......Page 32
1.5 Our Parallelizing High-Level Synthesis Methodology......Page 33
1.6 Contributions of this Work......Page 35
1.7 Book Organization......Page 36
2.1 Early Work in High-Level Synthesis......Page 40
2.2 HLS for Behaviors with Complex Control Flow......Page 42
2.3 Intermediate Representations in High-Level Synthesis......Page 43
2.4 Related Work in Compilers......Page 44
2.5 Use of Loop Transformations in Compilers and High-Level Synthesis......Page 45
2.6 What is Hindering Adoption of HLS Tools......Page 46
2.7 Summary......Page 47
3.2 Design Description Modeling......Page 48
3.3 Modeling Hardware Resources, Timing and Data Types......Page 59
3.4 Formulation of the Scheduling Problem......Page 62
3.5 Modeling Parallelizing Code Motions......Page 64
3.6 Scheduling Designs with Control Flow......Page 66
3.7 Summary......Page 72
II: Parallelizing High-Level Synthesis (PHLS)......Page 74
4.1 Design Flow through a PHLS Framework......Page 76
4.2 Passes and Techniques in the PHLS Framework......Page 79
4.3 Summary......Page 81
5.1 Common Sub-Expression Elimination......Page 84
5.2 Loop-Invariant Code Motion......Page 86
5.3 Loop Unrolling......Page 87
5.4 Loop Index Variable Elimination......Page 88
5.5 Summary......Page 90
6 Compiler and Synthesis Transformations Employed During Scheduling......Page 92
6.2 Speculation and Predicated Execution in Compilers......Page 93
6.3 Role of Speculative Code Motions in High-Level Synthesis......Page 94
6.4 Enabling New Code Motions by Dynamic Branch Balancing......Page 100
6.5 Dynamic Common Sub-Expression Elimination......Page 101
6.6 Chaining Operations Across Conditional Boundaries......Page 105
6.7 Loop Shifting......Page 109
6.8 Summary......Page 113
7.1 Software Architecture of the Scheduler......Page 114
7.2 Priority-based Global List Scheduling Heuristic......Page 115
7.3 Collecting the List of Available Operations......Page 119
7.4 TrailSynth: A Trailblazing-Based code motion algorithm......Page 122
7.6 Design Traversal Algorithms......Page 128
7.7 Dynamic Branch Balancing during Scheduling......Page 130
7.8 An Illustrative Example of the Scheduler......Page 132
7.9 Incorporating Chaining into the Scheduler......Page 133
7.10 Loop Shifting Algorithm......Page 137
7.11 Summary......Page 138
8.2 Resource Binding......Page 140
8.3 Control Synthesis in the PHLS Framework......Page 147
8.4 Summary......Page 156
III: SPARK: Implementation, Scripts and Design Examples......Page 158
9.1 Implementation of the SPARK PHLS Framework......Page 160
9.3 Interdependencies between the Code Motions......Page 162
9.4 Study of the Impact of Dynamic Branch Balancing......Page 166
9.6 Recommended Synthesis Scripts......Page 168
9.7 Summary......Page 169
10.1 Introduction......Page 170
10.2 Results for Pre-Synthesis Optimizations......Page 172
10.3 Results for Speculative Code Motions......Page 177
10.4 Results for Dynamic CSE......Page 180
10.5 Results for Chaining Across Conditionals......Page 183
10.6 Putting it all together......Page 185
10.7 Study of Loop Unrolling and Loop Shifting......Page 189
10.8 Discussion and Conclusions......Page 195
10.9 Summary......Page 196
11.1 Introduction......Page 198
11.2 Synthesis Transformations for Microprocessor Blocks......Page 200
11.3 A Case Study: Instruction Length Decoder......Page 201
11.4 Transformations applied by Spark to Synthesize the ILD......Page 203
11.5 Future Work......Page 207
11.6 Summary......Page 208
IV: Future Directions......Page 210
12.1 Conclusions......Page 212
12.2 Future Work......Page 214
12.3 Summary......Page 215
V: Appendix......Page 216
A.1 Command Line Interface......Page 218
A.3 Hardware Description File Format......Page 219
A.4 Scripting Options for Controlling Transformations......Page 222
A.5 Sample default.spark Hardware Description file......Page 223
A.6 Recommended Priority.rules Synthesis Script file......Page 225
A.8 Options for Synthesizing Microprocessor Blocks......Page 226
B.2 Unbound VHDL output for the sample program......Page 228
B.3 Bound VHDL output for the sample program......Page 231
Bibliography......Page 242
D......Page 255
M......Page 256
S......Page 257
W......Page 258