Most engineering designs can be viewed as systems, i.e., as collections of several components whose combined operation provides useful services. Components can be heterogeneous in nature and their interaction may be regulated (5) by some simple or complex means. Interface between Hardware & Software plays a very important role in co-design of the embedded system. Hardware/software (7)
co-design means meeting system-level objectives by exploiting the synergism of hardware and software through their concurrent design. This paper shows how hardware & software interfaces (3) can be implemented using primitive interface design.
Key words: Co-design; Primitive Interface; Processor; Latch
Introduction
Hardware/Software interface design supports the simultaneous of both hardware and software to implement a desired function. It is widely used in design of Embedded System. With hardware and software interface design, a system specification is divided into hardware and software parts according to the system architecture.(12)
Embedded System usually requires high performance at low cost. To meet such requirements
in application, powerful chips, such as Micro-Processors (MP), Micro-controllers (MC) and Digital Signal
Processors (DSP), and high level programming languages are used for the software design.(8)
Primitive Interface Design
The primitive interface design implements input and output, where the input interface supports the reading function, and the output interface support the writing function
Input Interface for Processor
The input interface for processor is consist of the hardware interface and the software interface.
The behavior of the hardware interface can be described by a Verilog p...
... middle of paper ...
...idelberg, 1996.
[5] Bob Moore. ‘SOC Should Mean ‘Software-on-a-Chip’ ’. CoWare Inc., Electronic News, Oct 23,2000.
[6] M. Chiodo et al. ‘Hardware-Software Codesign of Embedded Systems’. IEEE micro, Vol.14, No.4, Jul.-Aug. 1994.
[7] J.Van den Hurk and J.Jess. ‘System-Level Hardware-Software Codesign’. Kluwer Academic,1998.
[8] Intel Inc. ‘MCS 51 Microcontroller Family User’s Manual’. Feb.,1994.
http://www.intel.com/design/mcs51/manuals
[9] Xilinx,Inc., ‘Development system reference guide’. 2000.
[10] Xilinx,Inc., ‘Xilinx Synthesis Technology(XST) User Guide-3.1i’. 2000.
[11] Synopsys,Inc., ‘FPGA Compiler II/FPGA Express Verilog HDL Reference Manual’. May 1999.
[12] Xilinx,Inc., ‘Xilinx Netlist Format(XNF) Specification’. June 1,1995.
[13] Craig Peacock, ‘Interfacing the Standard Parallel Port’. Feb.,1998.
http://www.senet.com.au/ cpeacock
Some software systems have a relatively short lifetime (many web-based systems), others have a lifetime of tens of years (large command and control systems). Some systems have to be delivered quickly if they are to be useful. The techniques used to develop short-lifetime, rapid delivery systems (e.g. use of scripting languages, prototyping, etc.) are inappropriate for long-lifetime systems which require techniques that allow for long-term support such as design modelling.
Windows hardware’s has played a vital role in current technology of computer era. Computer application has significantly changed the workloads and manual records and information keeping has been significantly managed easily. This has been tremendously associated with the respective improvements with the software and hardware application development and Windows Xp and windows 7 have been most powerful operating system used by many computer applicants and users.
Parsons, June J. and Oja, Dan. Computer Concepts 8th Edition. United States: Course Technology, 2006.
I envision a future where all the physical objects in our living spaces are mapped to the digital world. Technology has advanced to an extent where hardware and software can be embedded into anything. Circuits have become smaller and smaller over the years. Sensors and micro-computers have shrunk in s...
There were many integrated interfaces to translate each of the airlines’ software language. [5] Another problem, is the design of the physical building structure and the baggage system were represented a single integrated system. The physical space and services such as the electrical supply were shared, so the designers of the physical building and the designers of the baggage system needed to work as one integrated team.
Component Based Architecture creates a system that is easily extensible, promotes software reuse and intuitively understandable. A component often relates to an object in Object Orientated Programming. The RUP provides a systematic way to build this kind of system, focusing on producing an early executable architecture before committing full resources on a project.
Embedded Computing: A VLIW Approach to design, Compilers and Tools- Joseph A. Fisher- Clifford Young - Paolo Faraboschi
Interfaces are used to consider the existing communication services and the components are used to implement the interfaces. These components and interfaces use a message buffer called message_ t that is implemented as nesC structure. This message buffer message_ t was used as TOS_ Msg in the first version of Tiny os and in the latest version of it has been replaced as message_ t. In the first version of the tiny os the message buffers were accessed directly but in the latest version they cannot be accessed directly instead this function can be read and written in the form of mutator and accessor functions.
Input devices are common peripherals such as a mouse, keyboard etc. An output device would be objects such as a TV projector/monitor or a printer. However, with computers they only can handle data/information that is in a digitalised format, which means it much be converted, however with outputted devices they read data in an analogue form so it needs to be converted back to this format before it can be read, some of this information was taken from, (BBC Guides,
Computer hardware: With the on-going developments in the field of computer system design and architecture, peripherals and processors, hardware helps computing merge seamlessly into our lives. With primary memory capacity reaching up to more than 64 Gigabits, to high resolution LED-displays; hardware accommodates the ever increasing needs of ubiquitous computing.
Computers are very complex and have many different uses. This makes for a very complex system of parts that work together to do what the user wants from the computer. The purpose of this paper is to explain a few main components of the computer. The components covered are going to be system units, Motherboards, Central Processing Units, and Memory. Many people are not familiar with these terms and their meaning. These components are commonly mistaken for one and other.
Software engineering encompasses various principles from both the computer science field and the computer engineering field to develop practical uses of software within hardware we use on a daily basis. With the passage of time, technology dependent on software has become increasingly prevalent. As a result, there will be a high demand for software engineers to sustain the eventual abundance of new and more complex computers.
In designing a computer system, architects consider five major elements that make up the system's hardware: the arithmetic/logic unit, control unit, memory, input, and output. The arithmetic/logic unit performs arithmetic and compares numerical values. The control unit directs the operation of the computer by taking the user instructions and transforming them into electrical signals that the computer's circuitry can understand. The combination of the arithmetic/logic unit and the control unit is called the central processing unit (CPU). The memory stores instructions and data.
Operating systems work in two ways, by managing the hardware and software resources of the computer. Managing the hardware and software resources, is important because different programs and input methods go through the central processing unit (CPU) and both take up memory, storage and input/output bandwidth for their own purposes. Secondly, providing a consistent application interface, is critical if there is more than one of a specific type of computer using the same operating system, or if the computer’s hardware can be updated. A consistent application program interface (API) creates a way for a software developer to write an application on one computer and know that it will run on another of the same type, even if the memory and storage are different between computers.
Input is really important for the computer. Through this device, users are allows to enter data or instructions into a computer. It changed something on the screen through the response. There are many kinds of input device for users to select depending on their application to get the result they want. There are many input technologies, for example, keyboard, pointing device, trackball, touch screen, touchpads and audio input. These devices can help users to connect with computer system directly.