TAILIEUCHUNG - High Level Synthesis: from Algorithm to Digital Circuit- P16

High Level Synthesis: from Algorithm to Digital Circuit- P16: 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. | 138 . Nikhil Although transactional interfaces exist in SystemC and in SystemVerilog and may not always be synthesizable it is their atomicity semantics in Bluespec that gives them tremendous compositional power scalability of systems and full synthesizability. A Strong Datatype System and Atomic Transactional Interfaces It is well acknowledged that C has a weak type system. C has a much stronger type system but it is not clear how much of it can be used in the synthesizable subsets of existing tools. Advanced programming languages like Haskell and ML have even stronger type systems. The type systems themselves provide abstraction abstract types parameterization and reuse polymorphism and overloading . Type checking in such systems is a form of strong static verification. Bluespec s type system strengthens the SystemVerilog type system to a level comparable to C and beyond in fact it is strongly inspired by Haskell . As an example of this we show how it is used to provide very high level interfaces and connections. We start with an extremely simple interface interface Put t method Action put t x endinterface This defines a new interface type called Put . It is polymorphic that is it is parameterized by another type t. It contains one method put which takes an argument x of type t and is of type Action. Action is the abstract type of things that go into atomic transactions rules and methods that is atomic transactions consist of a collection of Actions. The method expresses the idea of communicating a value x into a module and possibly affecting its internal state. In C terminology interfaces are like virtual classes and polymorphism is the analog of template classes. Unlike C however BSV s polymorphic interfaces modules and functions can be separately type-checked fully whereas in C template classes can be fully type-checked only after the templates have been instantiated. Similar to Put we can also define Get interface Get t method ActionValue t get .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.