C-based design flow: A case study on G.729A for Voice over internet protocol (VoIP)

In this paper we present the design of a G.729a codec in a C- based design flow. The codec is used in VoIP applications for sending speech over internet protocol. We started from the standard reference C implementation and generated several customized designs using the NISCT C-to-RTL toolset. Our final designs could run at very low clock frequencies (11 MHz for the decoder and 30 MHz for the coder) while meeting the timing requirements of the standard. We present these designs and the corresponding C-based design flow in this paper.

[1]  Ashok K. Agrawala,et al.  Foundations of microprogramming : architecture, software, and applications , 1976 .

[2]  Stanley Habib,et al.  Microprogramming and firmware engineering methods , 1988 .

[3]  Daniel Gajski,et al.  A cycle-accurate compilation algorithm for custom pipelined datapaths , 2005, 2005 Third IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS'05).

[4]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[5]  Nikil D. Dutt,et al.  EXPRESSION: a language for architecture exploration through compiler/simulator retargetability , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[6]  W. Najjar,et al.  A Code Refinement Methodology for Performance-Improved Synthesis from C , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[7]  Shail Aditya,et al.  Cycle-time aware architecture synthesis of custom hardware accelerators , 2002, CASES '02.

[8]  Anshul Kumar,et al.  ASIP design methodologies: survey and issues , 2001, VLSI Design 2001. Fourteenth International Conference on VLSI Design.

[9]  Lehrstuhl Informatik Xii The MIMOLA Language Version 4.1 , 1994 .

[10]  Heinrich Meyr,et al.  A novel methodology for the design of application-specificinstruction-set processors (ASIPs) using a machine description language , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  Daniel Gajski,et al.  Automatic architecture refinement techniques for customizing processing elements , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[12]  Sumit Gupta,et al.  SPARK: A Parallelizing Approach to the High-Level Synthesis of Digital Circuits , 2004 .

[13]  Scott A. Mahlke,et al.  PICO-NPA: High-Level Synthesis of Nonprogrammable Hardware Accelerators , 2002, J. VLSI Signal Process..

[14]  Scott A. Mahlke,et al.  High-level synthesis of nonprogrammable hardware accelerators , 2000, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors.

[15]  Daniel Gajski,et al.  Interrupt and Low-level Programming Support for Expanding the Application Domain of Statically-Scheduled Horizontal-Microcoded Architectures in Embedded Systems , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[16]  Kurt Keutzer,et al.  Using minimal minterms to represent programmability , 2005, 2005 Third IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS'05).

[17]  Daniel Gajski,et al.  FPGA-friendly code compression for horizontal microcoded custom IPs , 2007, FPGA '07.

[18]  Manfred R. Schroeder,et al.  Code-excited linear prediction(CELP): High-quality speech at very low bit rates , 1985, ICASSP '85. IEEE International Conference on Acoustics, Speech, and Signal Processing.

[19]  Rainer Dömer,et al.  Pointer re-coding for creating definitive MPSoC models , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[20]  Rainer Leupers,et al.  RTL processor synthesis for architecture exploration and implementation , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[21]  Daniel Gajski,et al.  Generic Architecture Description for Retargetable Compilation and Synthesis of Application-Specific Pipelined IPs , 2006, 2006 International Conference on Computer Design.