Trace-Based Learning for Agile Hardware Design and Design Automation

dc.contributor.authorZhou, Yuan
dc.contributor.chairZhang, Zhiru
dc.contributor.committeeMemberAlbonesi, David H.
dc.contributor.committeeMemberSampson, Adrian
dc.contributor.committeeMemberRen, Haoxing
dc.description141 pages
dc.description.abstractModern computational platforms are becoming increasingly complex to meet the stringent constraints on performance and power. With the larger design spaces and new design trade-offs brought by the complexity of modern hardware platforms, the productivity of designing high-performance hardware is facing significant challenges. The recent advances in machine learning provide us with powerful tools for modeling and design automation, but current machine learning models require a large amount of training data. In the digital design flow, simulation traces are a rich source of information that contains a lot of details about the design such as state transitions and signal values. The analysis of traces is usually manual, but it is difficult for humans to effectively learn from traces that are often millions of cycles long. With state-of-the-art machine learning techniques, we have a great opportunity to collect information from the abundant simulation traces that are generated during evaluation and verification, build accurate estimation models, and assist hardware designers by automating some of the critical design optimization steps. In this dissertation, we propose three trace-based learning techniques for digital design and design automation. These techniques automatically learn from simulation traces and provide assistance to designers at early stages of the design flow. We first introduce PRIMAL, a machine-learning-based power estimation technique that enables fast, accurate, and fine-grained power modeling of IP cores at both register-transfer level and cycle-level. Compared with gate-level power analysis, PRIMAL achieves an average error within 5% while offering an average speedup of over 50x. Secondly, we present Circuit Distillation, a machine-learning-based methodology that automatically derives combinational logic modules from cycle-level simulation for applications with stringent constraints on latency and area. In our case study on network-on-chip packet arbitration, the learned arbitration logic is able to achieve performance close to an oracle policy under the training traffic, improving the average packet latency by 64x over the baselines while only consuming area comparable to three eight-bit adders. Finally, we discuss TraceBanking, a graph-based learning algorithm that leverages functional-level simulation traces to search for efficient memory partitioning solutions for software-programmable FPGAs. TraceBanking is used to partition an image buffer of a face detection accelerator, and the generated banking solution significantly improves the resource utilization and frequency of the accelerator.
dc.titleTrace-Based Learning for Agile Hardware Design and Design Automation
dc.typedissertation or thesis
dcterms.license and Computer Engineering University of Philosophy D., Electrical and Computer Engineering


Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
2.73 MB
Adobe Portable Document Format