ROM to DSP block transfer for resource constrained synthesis

Modern field programmable gate array (FPGA) architectures are moving towards heterogeneity with the increasing inclusion of coarse grained elements such as embedded multipliers and RAMs. This has given rise to a multi-dimensioned resource-based measure of design area, very different from the traditional application-specific integrated circuit figure of silicon area. In order for a designer to use these heterogenous elements in their design, they must usually specifically instantiate them. Heterogeneous elements not used in a design remain unused on the device, consuming leakage power, silicon area and manufacturing costs. Method of transferring functionality normally implemented in embedded ROMs and 4-input look-up tables (4-LUTs) onto unused digital signal processor (DSP) blocks is proposed. The paper proceeds to include this method in a synthesis system incorporating the idea of resource constrained synthesis, where a design is mapped to an FPGA considering user and device constraints on heterogenous element usage, based on an extension to the Altera Quartus II synthesis software. Results have been obtained, showing an improvement over existing methods in 76% of the 21 ROMs examined. Further results have been obtained from applying this approach with the synthesis system to benchmark algorithms. In the designs examined, the number of possible implementations has increased by two to four times over Altera Quartus.

[1]  Debjit Das Sarma,et al.  Faithful bipartite ROM reciprocal tables , 1995, Proceedings of the 12th Symposium on Computer Arithmetic.

[2]  Peter Y. K. Cheung,et al.  Migrating functionality from ROMs to embedded multipliers , 2004, 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[3]  Jean-Michel Muller A Few Results on Table-Based Methods , 1998, SCAN.

[4]  Sinan Kaptanoglu,et al.  Improving FPGA Performance and Area Using an Adaptive Logic Module , 2004, FPL.

[5]  T. Pavlidis,et al.  Uniform piecewise polynomial approximation with variable joints , 1974 .

[6]  Peter J. Ashenden,et al.  Programming models for hybrid CPU/FPGA chips , 2004, Computer.

[7]  Steven J. E. Wilton,et al.  Implementing logic in FPGA memory arrays: heterogeneous memory architectures , 2002, 2002 IEEE International Conference on Field-Programmable Technology, 2002. (FPT). Proceedings..

[8]  J.-M. Muller,et al.  A new scheme for table-based evaluation of functions , 2002, Conference Record of the Thirty-Sixth Asilomar Conference on Signals, Systems and Computers, 2002..

[9]  R. Geiger,et al.  Field Programmable Logic Gates Using GMR Devices , 1997, 1997 IEEE International Magnetics Conference (INTERMAG'97).

[10]  Yervant Zorian,et al.  Introducing Core-Based System Design , 1997, IEEE Des. Test Comput..

[11]  Mary Jane Irwin,et al.  Logic synthesis for field-programmable gate arrays , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[12]  Peter Y. K. Cheung,et al.  Using DSP blocks for ROM replacement: a novel synthesis flow , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[13]  Jorge L. Aravena,et al.  Architectures for polynomial evaluation , 1989, [1989] Proceedings. The Twenty-First Southeastern Symposium on System Theory.

[14]  N. Metropolis,et al.  Equation of State Calculations by Fast Computing Machines , 1953, Resonance.

[15]  Arnaud Tisserand,et al.  Some improvements on multipartite table methods , 2001, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.

[16]  Michael J. Schulte,et al.  Symmetric bipartite tables for accurate function approximation , 1997, Proceedings 13th IEEE Sympsoium on Computer Arithmetic.

[17]  Steven J. E. Wilton,et al.  SMAP: heterogeneous technology mapping for area reduction in FPGAs with embedded memory arrays , 1998, FPGA '98.