In traditional embedded system design. system architects decide which parts of the system will be in hardware or software. For certain operations the decision is clear: high-speed packet manipulation, for example, wil...
详细信息
In traditional embedded system design. system architects decide which parts of the system will be in hardware or software. For certain operations the decision is clear: high-speed packet manipulation, for example, will be implemented in hardware, and a recursive search will be software-based. However, some operations are codesign operations and can be implemented in hardware or software or both. This article investigates automated partitioning of behavior into hardware and software. The authors' design methodology allows gradual, continuous repartitioning of codesign operations during design. They use an object-oriented approach to identify the basic objects and associated functions of a system. Their prototype codesign specification language, object-oriented functional specifications (OOFS), lets them describe system state in objects and write object methods as pure functions. Thus, they can describe complex systems without biasing the implementation toward hardware or software. Once OOFS generates system specifications. a compiler and a circuit synthesizer compile the tagged specifications into software or hardware for design or simulation. The authors illustrate their design methodology with a tic-tac-toe board implemented in various combinations of hardware and software.
暂无评论