DocumentCode :
358530
Title :
Interfacing hardware and software using C++ class libraries
Author :
Ramanathan, Dinesh ; Roth, Ray ; Gupta, Rajesh
Author_Institution :
Dept. of Inf. & Comput. Sci., California Univ., Irvine, CA, USA
fYear :
2000
fDate :
2000
Firstpage :
445
Lastpage :
450
Abstract :
As chip capacity increases and system-on-a-chip becomes more than just a catch phrase, hardware and system design are being driven in new directions. Systems are designed not just as hardware, but as a tightly coupled combination of both hardware and software. C++, extended with class libraries, is emerging as the way to design such complex systems. This paper proposes methods to specify and refine designs from a purely software description at a functional level to a level where the hardware components are encapsulated as objects and their interfaces clearly defined. The entire system functionality is described in C++ using some of the commercially available class libraries like SystemC from Synopsys and Cynlib from CynApps. We propose a methodology where a designer can migrate software functionality. We also show that the software driver for the hardware device is generated as a side-effect of the interface refinement process. We demonstrate our methodology on the design of a fax machine from a purely software description of the system. We refine the design by implementing its decoder functionality in hardware and interfacing it with the software encoder
Keywords :
C++ language; hardware-software codesign; software libraries; C++ class libraries; Cynlib; Synopsys; SystemC; chip capacity; class libraries; functional level; hardware components; hardware/software interface; software driver; software encoder; software functionality; system functionality; system-on-a-chip; Computer science; Design methodology; Educational institutions; Hardware design languages; Software debugging; Software design; Software libraries; Space exploration; System-on-a-chip; Time to market;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computer Design, 2000. Proceedings. 2000 International Conference on
Conference_Location :
Austin, TX
ISSN :
1063-6404
Print_ISBN :
0-7695-0801-4
Type :
conf
DOI :
10.1109/ICCD.2000.878321
Filename :
878321
Link To Document :
بازگشت