Pipelining is a classic and widely used microarchitectural optimization to improve performance and efficiency. Pipelining a datapath by hand is tedious and error prone, as it requires the designer to reason about subtle corner cases when sequentially dependent operations are processed concurrently in different pipeline stages. Adding pipeline optimizations such as forwarding, speculation, and multithreading further exacerbates the problem. We are developing a novel transactional datapath specification (T-spec) and its accompanying synthesis technology (T-piper) to facilitate the development of in-order pipelined designs. T-spec captures an abstract datapath, whose execution semantics is interpreted as a sequence of “transactions.” Automatic T-piper analysis, based on designer-specified pipeline-stage boundaries, identifies forwarding and speculation opportunities and generates an optimized RTL-Verilog implementation that correctly and efficiently pipelines the execution of the transactions. We have applied T-spec and T-piper in design case studies on RISC (Mips) and CISC (Intel x86) processor pipeline developments. We have made a version of the T-piper tool freely available online at www.t-piper.net for academic and research use. We have collaborated with Timothy Kam (SCL/Intel) and Shih-Lien Lu (MRL/Intel) on this investigation.
- T-piper tools, examples and tutorials (website)
- Integrating Formal Verification and High-Level Processor Pipeline Synthesis. E. Nurvitadhi, J. C. Hoe, S. L. Lu and T. Kam. Symposium on Application Specific Processors (SASP), June 2011. (pdf)
- Automatic Pipelining from Transactional Datapath Specifications. E. Nurvitadhi, J. C. Hoe, T. Kam, S. L. Lu. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems, Volume 30, Number 3,March 2011. (ieee, this is the fully-length journal version of the DATE 2010 paper.)
- Automatic Pipeline Synthesis and Formal Verification from Transactional Datapath Specifications. E. Nurvitadhi, PhD Thesis, December 2010. (pdf)
- Automatic Multithreaded Pipeline Synthesis from Transactional Datapath Specifications. E. Nurvitadhi, J. C. Hoe, S. L. Lu and T. Kam. Design Automation Conference (DAC), June 2010. (pdf)
- Automatic Pipelining from Transactional Datapath Specifications. E. Nurvitadhi, J. C. Hoe, T. Kam and S. L. Lu. Design Automation and Test in Europe (DATE) , March 2010. (pdf)