This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Computer Aided Design of Fault-Tolerant Application Specific Programmable Processors
November 2000 (vol. 49 no. 11)
pp. 1272-1284

Abstract—Application Specific Programmable Processors (ASPP) provide efficient implementation for any of $m$ specified functionalities. Due to their flexibility and convenient performance-cost trade-offs, ASPPs are being developed by DSP, video, multimedia, and embedded IC manufacturers. In this paper, we present two low-cost approaches to graceful degradation-based permanent fault tolerance of ASPPs. ASPP fault tolerance constraints are incorporated during scheduling, allocation, and assignment phases of behavioral synthesis. Graceful degradation is supported by implementing multiple schedules of the ASPP applications, each with a different throughput constraint. In this paper, we do not consider concurrent error detection. The first ASPP fault tolerance technique minimizes the hardware resources while guaranteeing that the ASPP remains operational in the presence of all k-unit faults. On the other hand, the second fault tolerance technique maximizes the ASPP fault tolerance subject to constraints on the hardware resources. These ASPP fault tolerance techniques impose several unique tasks, such as fault-tolerant scheduling, hardware allocation, and application-to-faulty-unit assignment. We address each of them and demonstrate the effectiveness of the overall approach, the synthesis algorithms, and software implementations on a number of industrial-strength designs.

[1] M. Abramovici, M.A. Breuer, and A.D. Friedman, Digital Systems Testing and Testable Designs. New York: Computer Science Press, 1990.
[2] A. Antola, V. Piuri, and M.G. Sami, “Semi-Concurrent Error Detection in Data Paths,” Proc. 1997 IEEE Int'l Symp. Defect and Fault Tolerance in VLSI Systems, Oct. 1997.
[3] A. Antola, V. Piuri, and M. Sami, “High Level Synthesis of Data Pats with Concurrent Error Detection,” Proc. IEEE Symp. DFT in VLSI Systems, pp. 292-299, 1998.
[4] D.M. Blough, F.J. Kurdahi, and S.Y. Ohm, “Optimal Recovery Point Insertion for High-Level Synthesis of Recoverable Microarchitectures,” Proc. Int'l Symp. Fault-Tolerant Computing, pp. 50-59, June 1995.
[5] M. Breternitz and J.P. Shen, “Architecture Synthesis of High Performance Application-Specific Processors,” Proc. 27th Design Automation Conf., pp. 542-447, 1990.
[6] H. Choi, J. Kim, C. Yoon, I. Park, S.H. Hwang, and C.M. Kyung, “Synthesis of Application Specific Instructions for Embedded DSP Software,” IEEE Trans. Computers, vol 48. no. 6, pp. 603-614, June 1999.
[7] D.A. Clark and B.L. Hutchings, “Supporting FPGA Microprocessors through Retargettable Software Tools,” Proc. IEEE Workshop FPGAs for Custom Computing Machines, pp. 195-203, Apr. 1996.
[8] T. Fahringer and E. Mehofer, “Buffer-Safe and Cost-Driven Communication Optimization,” J. Parallel and Distributed Computing, vol. 57, pp. 33-63, 1999.
[9] G. De Micheli, Synthesis and Optimization of Digital Circuits. McGraw-Hill, 1994.
[10] Fujitsu Microelectronics Inc., “AFP MB86975 Data Sheet,” Aug. 1987.
[11] A. Doumar, S. Kaneko, and H. Ito, “Defect and Fault Tolerance FPGAs by Shifting the Configuration Data,” Proc. IEEE Int'l Symp. Defect and Fault Tolerance in VLSI Systems, pp. 377-385, 1999.
[12] S. Dutt, V. Shanmugavel, and S. Trimberger, “Efficient Incremental Rerouting for Fault Reconfiguration in Field Programmable Gate Arrays,” Proc. Int'l Conf. Computer-Aided Design, pp. 173-176, 1999.
[13] D. Gajski et al., High-Level Synthesis: Introduction to Chip and System Design, Kluwer Academic Publishers, 1992.
[14] G. Goossens et al., “Integration of Medium-Throughput Signal Processing Algorithms on Flexible Instruction-Stes Architectures,” J. VLSI Signal Processing, vol. 9, nos. 1-2, pp. 49-65, 1995.
[15] L.M. Guerra et al., “High Level Synthesis Techniques for Efficient Built-In Self Repair,” Proc. IEEE Workshop DFT in VLSI Systems, pp. 41-48, 1993.
[16] J.D. Hadley and B.L. Hutchings, “Design Methodologies for Partially Reconfigured Systems,” Proc. IEEE Workshop FPGAs for Custom Computing Machines, pp. 78-84, 1995.
[17] B. Iyer, R. Karri, and I. Koren, “Phantom Redundancy: A High-Level Synthesis Approach for Manufacturability,” Proc. Int'l Conf. Computer-Aided Design 95, pp. 658-661, 1995.
[18] R. Karri and A. Orailoglu, “Synthesis of Optimal Self-Recovering Microarchitectures,” Proc. 23rd Int'l Symp. Fault-Tolerant Computing, June 1993.
[19] J. Lach, W.H. Mangione-Smith, and M. Potkonjak, “Low Overhead Fault-Tolerant FPGA Systems,” IEEE Trans. VLSI Systems, vol. 6, no. 2, pp. 212-221, June 1998.
[20] E.A. Lee and D.G. Messerschmitt, “Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing,” IEEE Trans. Computers, vol. 36, no. 1, pp. 24-36, Jan. 1987.
[21] M.T.-C. Lee, V. Tiwary, S. Malik, and M. Fujita, “Power Analysis and Minimization Techniques for Embedded DSP Software,” IEEE Trans. VLSI Systems, vol. 5, no. 1, pp. 123-135, Mar. 1997.
[22] R. Leupers, W. Schednk, and P. Marwedel, “Retargetable Assembly Code Generation by Bootstrapping,” Proc. Int'l Symp. High-Level Synthesis, pp. 88-93, 1994.
[23] M.C. McFarland, A.C. Parker, and R. Camposano, "The High-Level Synthesis of Digital Systems," Proc. IEEE, vol. 78, Feb. 1990.
[24] F.J. Meyer, X. Chen, J. Zhao, and F. Lombardi, “Fault Tolerance of One-Time Programmable FPGAs with Faulty Routing Resources,” Proc. Int'l Conf. Innovative Systems in Silicon, pp. 155-164, 1997.
[25] R. Negrini, M.G. Sami, and R. Stefanelli, Fault Tolerance through Reconfiguration in VLSI and WSI Arrays. MIT Press, 1989.
[26] A. ${\rm Orailo\breve{g}lu}$ and R. Karri, "Coactive Scheduling and Checkpoint Determination During High-Level Synthesis of Self-Recovering Microarchitectures," IEEE Trans. VLSI Systems, Vol. 2, No. 3, Sept. 1994, pp. 304-311.
[27] A. ${\rm Orailo\breve{g}lu}$ and R. Karri, "Automatic Synthesis of Self-Recovering VLSI Systems," IEEE Trans. Computers, Vol. 45, No. 2, Feb. 1996, pp. 131-142.
[28] J.L. Hennessy and D.A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann, San Mateo, Calif., 1990.
[29] P.G. Paulin, C. Liem, T.C. May, and S. Sutarwala, “CodeSyn: A Retargetable Code Synthesis System,” Proc. Int'l Symp. High-Level Synthesis, p. 94, 1994.
[30] G.D. Hillman, “DSP56200: An Algorithm-Specific Digital Signal Processor Peripheral,” Proc. IEEE, vol. 75, no. 9, pp. 1,185-1,191, year?
[31] J.J. Raffel, A.H. Anderson, G.H. Chapman, K.H. Konkle, B. Mathur, A.M. Soares, and P.W. Wyatt, “A Wafer-Scale Digital Integrator Using Restructurable VLSI,” IEEE Trans. Electronic Devices, no. 32, pp. 479-486, 1985.
[32] C.C. Stearns, D.A. Luthi, P.A. Ruetz, and P.H. Ang, “A Reconfigurable 64-Tap Transversal Filter,” IEEE Custome Integrated Ccircuits Conf., pp. 8.8.1-8.8.4, 1988.
[33] R.A. Walker and D.E. Thomas, “Behavioral Transformation for Algorithmic Level IC Design,” IEEE Trans. Computer-Aided Design, vol. 8, no. 10, pp. 1,115-1,128, 1989.
[34] A.K. Yeung and J.M. Rabaey, “A 2.4 GOPS Data-Driven Reconfigurable Multiprocessor IC for DSP,” Proc. 1995 IEEE Int'l Solid-State Circuits Conf. ISSCC, pp. 108-109, 1995.
[35] M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness.New York: W.H. Freeman, 1979.
[36] R. Narasimhan, D.J. Rosenkrantz, and S.S. Ravi, “Algorithms for Analyzing and Synthesizing Fault-Tolerant Datapaths,” Proc. Int'l Workshop Defect and Fault Tolerance in VLSI Systems, pp. 81-89, Nov. 1995.
[37] G. Lakshminarayana, A. Raghunathan, and N. K. Jha, “Behavioral Synthesis of Fault Secure Controller/Datapaths Using Aliasing Probability Analysis,” IEEE Int'l Symp. Fault-Tolerant Computing, June 1996.
[38] K. Kim, R. Karri, and M. Potkonjak, “Maximizing the Fault-Tolerance of Application Specific Programmable Signal Processors,” Proc. IEEE Workshop VLSI Signal Processing, pp. 283-292, Nov. 1996.
[39] K. Kim, R. Karri, and M. Potkonjak, “Heterogeneous Built-In Resiliency of Application Specific Programmable Processors,” Proc. Int'l Conf. Computer-Aided Design, pp. 406-411, Nov. 1996.
[40] K. Kim, R. Karri, and M. Potkonjak, “Synthesis of Application Specific Programmable Processors,” Proc. 34th Design Automation Conf., pp. 353-358, 1997.
[41] S. Malik, M. Martonosi, and Y.-T.S. Li, “Static Timing Analysis of Embedded Software,” Proc. 34th Design Automation Conf., pp. 147-152, 1997.
[42] J.M. Rabaey et al., "Fast Prototyping of Datapath-Intensive Arhitectures," IEEE Design&Test of Computers, Vol. 8, No. 2, Jun. 1991, pp. 40-51.
[43] J. Vuillemin, P. Bertin, D. Roncin, M. Shand, H. Touati, and P. Boucard, “Programmable Active Memories: Reconfigurable Systems Come of Age,” IEEE Trans. VLSI Systems, vol. 4, pp. 56-69, Mar. 1996.

Index Terms:
Application specific programmable processors, fault tolerance, graceful degradation, behavioral synthesis.
Citation:
Ramesh Karri, Kyosun Kim, Miodrag Potkonjak, "Computer Aided Design of Fault-Tolerant Application Specific Programmable Processors," IEEE Transactions on Computers, vol. 49, no. 11, pp. 1272-1284, Nov. 2000, doi:10.1109/12.895942
Usage of this product signifies your acceptance of the Terms of Use.