Abstract
The main topic of this paper is a discussion of the design process
we haveused during development of an application specific computer
system.We will focus on a case study involving a 3D computer
graphics systemwe are currently developing, and how such a system
can be optimized for speed.The paper focuses on {\em how} a design
is developed, in order tosatisfy a set of requirements. In
particular, we discuss the importance ofalways having a running
software prototype of the entire system available.This software
prototype also serves as the main medium forexperimenting with new
ideas for the algorithms, and the partitioning ofcomputation
blocks, memory and communication channels to either hardwareor
software. We call this process {\em Virtual Prototyping}, during
whichwe are able to apply transformations to the design, eg. {\em
Loop Fusion} and {\em Strip Mining} to improve data locality.An
interesting consequence of this is that at the systemintegration
scale the optimizations we perform to acheive good
hardwareperformance, are in fact also contributing to improving
the executionspeed of the software prototype.
Original language | English |
---|---|
Title of host publication | Poster presentation at the 6th International Workshop on Hardware/Software Codesign |
Publication date | 1998 |
Publication status | Published - 1998 |
Event | CODES/CASHE '98 - Seattle, Washington [USA] Duration: 1 Jan 1998 → … |
Conference
Conference | CODES/CASHE '98 |
---|---|
City | Seattle, Washington [USA] |
Period | 01/01/1998 → … |