With the ever increasing demand for higher data rates and performance as well as multi-functional capabilities in circuits, vertical integration of IC dies using through-silicon vias (TSV) is envisioned to be one of the most viable solutions for the development of new generation of electronic products. 3D integration (3D ICs) of multi-core processors, for instance, offers massive bandwidth improvements, but reduces the effective chip footprint. However, this leads to a tremendous increase in heat dissipation per unit area of the chip. This in turn results in higher chip temperatures and thermal stress, hence, limiting the performance and reliability of the chip-stack. Conventional back-side heat removal strategies like heat sinks, air cooling and microchannel cold-plates prove to be insufficient for 3D ICs.
Inter-tier liquid cooling- where microchannels are etched on the back-side of each die in the 3D-IC stack and liquid coolants are pumped to remove directly from the source of heat (see Fig. 1)- is capable of removing heat from multi-processor 3D ICs and is the most viable and promising solution in the foreseeable future. However, the introduction of microchannel cooling in 3D stacks necessitates a cooling aware design of 3D ICs, where the effects of forced convective liquid cooling are taken into account during the early-stages of design in order to achieve optimal performance under safe operating temperatures. For this purpose, at ESL, we have built 3D-ICE: a fast thermal simulator for 3D-ICs with liquid cooling . This has been made available as an open source Software Thermal Library written in C in Linux . It parses the description of the 3D-IC stack and the heat dissipation inputs from text files (written using Bison/Flex) , uses that information to build the thermal model of the 3D-IC and finally solves the corresponding linear time-domain equations to obtain the temperatures at different points in the IC.
Tasks of the student
The objective here is to create a graphical user interface (GUI) for the 3D-ICE simulator:
Get familiar with the C-code of 3D-ICE and understand how the inputs are passed into the library and how the outputs are read.
Create graphical outputs, such as temperature map-snap shots of individual dies in the 3D IC at times specified by the user at the beginning of the simulation.
Create plots of temperatures against time at any given point specified by the use at the beginning of the simulation.
Create a user friendly interface for the user to switch between different plots and graphs, easing the usage of 3D-ICE by users who are not well versed with programming.
Advanced programming experience in C.
Familiarity with GNU development tools and the gcc compiler.
Knowledge in Qt programming or other GUI generation tools for Linux
Knowledge of Bison/Flex text parsing tools.