Toward Accurate Timing Analysis of Transistor-level Programmable Fabric
Ever since the transistor was invented in 1947, state-of-art semiconductors are powering up modern life. They’re the backbone of smartphones, PCs, and many other devices. In addition to those traditional applications, recent technology innovations, including the artificial- intelligence (AI) applications, Internet of Things, blockchain technology and automotive driving, have rendered the unshakable importance of the state-of-art semiconductor. According to a report from Mckinsey on Semiconductors, in 2017 alone , the semiconductor industry generated $97 billion in economic profit. The semiconductor industry has also evolved over the past few decades to produce chips in increasingly advanced technologies. The chip design methodology has also advanced along with the continued scaling of the submicron Very Large Scale Integrated Circuits (VLSI). The sophisticated VLSI design flow includes many precise steps. Those steps are system specification, architectural design, functional design, logic design, circuit design, physical design, fabrication, packaging, and testing. Among the numerous steps, timing analysis plays an eminent role in verifying the timing perspective of the designed digital circuits. Timing analysis is used to verify whether a digital circuit can operate at a certain speed. Nowadays, Static Timing Analysis (STA) is the most widely used technique as it is efficient and provides a complete verification of all timing paths. Transistor-level programmable fabrics have received interest recently as more compact embedded field-programmable gate arrays (eFPGAs) for hardware obfuscation, in which a crucial part of the design is implemented in the eFPGA and the rest of the design is implemented as an ASIC. However, state-of-the-art static timing analysis (STA) tools are developed either for ASICs or LUT based FPGAs and do not support the new architecture. In this work, we propose an instance-based characterization solution which enables the use of electronic design automation (EDA) tools such as PrimeTime from Synopsys for static timing analysis for transistor-level programmable fabrics. Such fabrics have one or more pass transistors in the interconnect for each net. Pass transistors cannot be handled accurately enough in the SPEF (Standard Parasitic Exchange Format) for a cell instance. Furthermore, logic gates (or cells) for such fabrics often have a separate input to the pMOS pull-up network and the nMOS pull-down network. Dual inputs in this manner cannot be handled accurately enough since conventional methods have to take the longest delay among the inputs, which often overestimates the downstream delay. To address these limitations, we individually characterize each cell instance in a transistor- level programmable fabric, from predecessor cell instance output to characterized cell instance output, including all parasitics, thereby circumventing the need to handle parasitics during STA. Experimental results corroborate that the proposed instance-based characterization is very accurate.