Abstract :
IBM, like other major companies, is developing large compute servers. These servers run typically various applications supported on a variety of different operating systems. To support all the user scenarios the systems consist of a hardware layer and a system software layer, that is hidden from the application or operating system. The hardware consists of a set of chips where some are unique for a given series of compute server. The system software, also called firmware, can be viewed as an extension of the hardware, to enable additional features and to manage those complex systems. From a verification point of view the task is to make sure that first of all the hardware chips are working according to the specification, that all these chips are also working together and nevertheless the firmware code is working seamlessly with the hardware. To complicate the task, the chip designs are following not always the same methodology, driven by the fact that we have a mix of custom designed VLSI chips, standard ASIC designs and some SoC type chips. With teams distributed globally the verification challenge is to integrate and coordinate all efforts to finally ensure that the overall system is working. The presentation will describe the problems and possible solutions, touching topics like standardization of interfaces, designs and languages, reusability of specifications, documentation and software, project managing aspects and their implications on the process.
Keywords :
firmware; formal verification; hardware-software codesign; project management; IBM; compute servers; firmware; hardware layer; project managing; reusability; specifications; system software layer; verification; Application software; Application specific integrated circuits; Chip scale packaging; Computational modeling; Hardware; Microprogramming; Operating systems; Standardization; System software; Very large scale integration;