Đang chuẩn bị liên kết để tải về tài liệu:
High Level Synthesis: from Algorithm to Digital Circuit- P10

Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ

High Level Synthesis: from Algorithm to Digital Circuit- P10: This book presents an excellent collection of contributions addressing different aspects of high-level synthesis from both industry and academia. "High-Level Synthesis: from Algorithm to Digital Circuit" should be on each designer's and CAD developer's shelf, as well as on those of project managers who will soon embrace high level design and synthesis for all aspects of digital system design. | 76 M. Meredith 5.2 C Support Because SystemC is a class library implemented in C the advantages of high-level C constructs are available to hardware designers working in SystemC. Cynthesizer supports a large number of these constructs but just as there are SystemVerilog constructs that are only intended for verification there are C constructs that are only appropriate for modeling and testbench construction not for synthesis. 5.2.1 Synthesizable High-Level C Constructs The C constructs that are within the synthesizable subset can be used in ways that give SystemC synthesis advantages unattainable in any other hardware design language. Encapsulation C classes can be used in SystemC synthesis to manage the complexity inherent in hardware design. Algorithmic functionality can be captured in a class for reuse. Functions providing a public API for use of the algorithm can be made externally available using the C public access control. Internal computation functions and storage of internal state needed by the algorithm can be made private. Interface functionality can be encapsulated as discussed earlier creating a modular reusable interface. Modular interfaces expose a transaction-level function call interface to the designer which allows them to be used without requiring the designer to be expert in the details of the interface protocol. Construction of custom data types Operator overloading is a C technique whereby a class can provide a custom implementation for such built-in operators as multiply and add . This allows the construction of user defined datatypes such as for complex arithmetic and matrix arithmetic. Arithmetic operations can be performed on these datatypes using conventional C syntax e.g. a b c which promotes ease-of-use and improves a reader s ability to understand the code. Development of configurable IP C provides template specialization as a way to write a single body of code which can represent a wide range of behaviors depending on the specific .