{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:12:28Z","timestamp":1763467948774,"version":"3.41.0"},"reference-count":37,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2009,10,1]],"date-time":"2009-10-01T00:00:00Z","timestamp":1254355200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2009,10]]},"abstract":"<jats:p>\n            Emerging embedded applications are based on evolving standards (e.g., MPEG2\/4, H.264\/265, IEEE802.11a\/b\/g\/n). Since most of these applications run on handheld devices, there is an increasing need for a single chip solution that can dynamically interoperate between different standards and their derivatives. In order to achieve high resource utilization and low power dissipation, we propose REDEFINE, a polymorphic ASIC in which specialized hardware units are replaced with basic hardware units that can create the same functionality by runtime\n            <jats:italic>re<\/jats:italic>\n            -composition. It is a \u201cfuture-proof\u201d custom hardware solution for multiple applications and their derivatives in a domain. In this article, we describe a compiler framework and supporting hardware comprising compute, storage, and communication resources.\n          <\/jats:p>\n          <jats:p>Applications described in high-level language (e.g., C) are compiled into application substructures. For each application substructure, a set of compute elements on the hardware are interconnected during runtime to form a pattern that closely matches the communication pattern of that particular application. The advantage is that the bounded CEs are neither processor cores nor logic elements as in FPGAs. Hence, REDEFINE offers the power and performance advantage of an ASIC and the hardware reconfigurability and programmability of that of an FPGA\/instruction set processor.<\/jats:p>\n          <jats:p>In addition, the hardware supports custom instruction pipelining. Existing instruction-set extensible processors determine a sequence of instructions that repeatedly occur within the application to create custom instructions at design time to speed up the execution of this sequence. We extend this scheme further, where a kernel is compiled into custom instructions that bear strong producer-consumer relationship (and not limited to frequently occurring sequences of instructions). Custom instructions, realized as hardware compositions effected at runtime, allow several instances of the same to be active in parallel. A key distinguishing factor in majority of the emerging embedded applications is stream processing. To reduce the overheads of data transfer between custom instructions, direct communication paths are employed among custom instructions.<\/jats:p>\n          <jats:p>In this article, we present the overview of the hardware-aware compiler framework, which determines the NoC-aware schedule of transports of the data exchanged between the custom instructions on the interconnect. The results for the FFT kernel indicate a 25% reduction in the number of loads\/stores, and throughput improves by log(n) for n-point FFT when compared to sequential implementation. Overall, REDEFINE offers flexibility and a runtime reconfigurability at the expense of 1.16\u00d7 in power and 8\u00d7 in area when compared to an ASIC. REDEFINE implementation consumes 0.1\u00d7 the power of an FPGA implementation. In addition, the configuration overhead of the FPGA implementation is 1,000\u00d7 more than that of REDEFINE.<\/jats:p>","DOI":"10.1145\/1596543.1596545","type":"journal-article","created":{"date-parts":[[2009,10,27]],"date-time":"2009-10-27T13:28:14Z","timestamp":1256650094000},"page":"1-48","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":46,"title":["REDEFINE"],"prefix":"10.1145","volume":"9","author":[{"given":"Mythri","family":"Alle","sequence":"first","affiliation":[{"name":"CAD Lab, SERC, Indian Institute of Science, Bangalore"}]},{"given":"Keshavan","family":"Varadarajan","sequence":"additional","affiliation":[{"name":"CAD Lab, SERC, Indian Institute of Science, Bangalore"}]},{"given":"Alexander","family":"Fell","sequence":"additional","affiliation":[{"name":"CAD Lab, SERC, Indian Institute of Science, Bangalore"}]},{"given":"Ramesh Reddy","family":"C.","sequence":"additional","affiliation":[{"name":"CAD Lab, SERC, Indian Institute of Science, Bangalore"}]},{"given":"Nimmy","family":"Joseph","sequence":"additional","affiliation":[{"name":"CAD Lab, SERC, Indian Institute of Science, Bangalore"}]},{"given":"Saptarsi","family":"Das","sequence":"additional","affiliation":[{"name":"CAD Lab, SERC, Indian Institute of Science, Bangalore"}]},{"given":"Prasenjit","family":"Biswas","sequence":"additional","affiliation":[{"name":"CAD Lab, SERC, Indian Institute of Science, Bangalore"}]},{"given":"Jugantor","family":"Chetia","sequence":"additional","affiliation":[{"name":"CAD Lab, SERC, Indian Institute of Science, Bangalore"}]},{"given":"Adarsh","family":"Rao","sequence":"additional","affiliation":[{"name":"CAD Lab, SERC, Indian Institute of Science, Bangalore"}]},{"given":"S. K.","family":"Nandy","sequence":"additional","affiliation":[{"name":"CAD Lab, SERC, Indian Institute of Science, Bangalore"}]},{"given":"Ranjani","family":"Narayan","sequence":"additional","affiliation":[{"name":"Morphing Machines, Bangalore, India"}]}],"member":"320","published-online":{"date-parts":[[2009,10,29]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-00641-8_21"},{"key":"e_1_2_1_2_1","unstructured":"Ambric Inc. 2007. Am2000 massively parallel processor array. http:\/\/www.ambric.info\/products.  Ambric Inc. 2007. Am2000 massively parallel processor array. http:\/\/www.ambric.info\/products."},{"key":"e_1_2_1_3_1","volume-title":"EECS Department","author":"Asanovic K.","year":"2006","unstructured":"Asanovic , K. , Bodik , R. , Catanzaro , B. C. , Gebis , J. J. , Husbands , P. , Keutzer , K. , Patterson , D. A. , Plishker , W. L. , Shalf , J. , The landscape of parallel computing research: A view from Berkeley. Tech. rep. UCB\/EECS-2006-183 , EECS Department , University of California , Berkeley. http:\/\/www.eecs.berkeley.edu\/Pubs\/TechRpts\/ 2006 \/EECS-2006-183.html Asanovic, K., Bodik, R., Catanzaro, B. C., Gebis, J. J., Husbands, P., Keutzer, K., Patterson, D. A., Plishker, W. L., Shalf, J., et al. 2006. The landscape of parallel computing research: A view from Berkeley. Tech. rep. UCB\/EECS-2006-183, EECS Department, University of California, Berkeley. http:\/\/www.eecs.berkeley.edu\/Pubs\/TechRpts\/2006\/EECS-2006-183.html"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1278480.1278678"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781165"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1090\/S0025-5718-1965-0178586-1"},{"key":"e_1_2_1_7_1","unstructured":"CoWare Inc. 2007. Processor designer. http:\/\/www.coware.com\/products\/signalprocessing.php.  CoWare Inc. 2007. Processor designer. http:\/\/www.coware.com\/products\/signalprocessing.php."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/115372.115320"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.127260"},{"key":"e_1_2_1_10_1","unstructured":"Element CXI. 2008. ECA 64. http:\/\/www.elementcxi.com\/.  Element CXI. 2008. ECA 64. http:\/\/www.elementcxi.com\/."},{"key":"e_1_2_1_11_1","unstructured":"Faraday. 2008. UMC Free Library. http:\/\/freelibrary.faraday-tech.com\/  Faraday. 2008. UMC Free Library. http:\/\/freelibrary.faraday-tech.com\/"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/MDT.2005.99"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1006\/jpdc.1993.1065"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/318789.318830"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASAP.2008.4580187"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2008.25"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1117201.1117205"},{"volume-title":"Proceedings of the International Symposium on Code Generation and Optimization (CGO'04)","author":"Lattner C.","key":"e_1_2_1_18_1","unstructured":"Lattner , C. and Adve , V . 2004. LLVM: A compilation framework for lifelong program analysis&amp;transformation . In Proceedings of the International Symposium on Code Generation and Optimization (CGO'04) . IEEE, Los Alamitos, CA. Lattner, C. and Adve, V. 2004. LLVM: A compilation framework for lifelong program analysis&amp;transformation. In Proceedings of the International Symposium on Code Generation and Optimization (CGO'04). IEEE, Los Alamitos, CA."},{"volume-title":"Proceedings of the 25th Annual International Symposium on Microarchitecture (MICRO-25)","author":"Mahlke S. A.","key":"e_1_2_1_19_1","unstructured":"Mahlke , S. A. , Lin , D. C. , Chen , W. Y. , Hank , R. E. , and Bringmann , R. A . 1992. Effective compiler support for predicated execution using the hyperblock . In Proceedings of the 25th Annual International Symposium on Microarchitecture (MICRO-25) . IEEE, Los Alamitos, CA. Mahlke, S. A., Lin, D. C., Chen, W. Y., Hank, R. E., and Bringmann, R. A. 1992. Effective compiler support for predicated execution using the hyperblock. In Proceedings of the 25th Annual International Symposium on Microarchitecture (MICRO-25). IEEE, Los Alamitos, CA."},{"key":"e_1_2_1_20_1","unstructured":"Mathstar. 2008. FPOA. http:\/\/www.mathstar.com  Mathstar. 2008. FPOA. http:\/\/www.mathstar.com"},{"key":"e_1_2_1_21_1","unstructured":"Mentor Graphics. 2008. Modelsim SE. http:\/\/www.mentor.com\/products\/fv\/digitalverification\/modelsim se  Mentor Graphics. 2008. Modelsim SE. http:\/\/www.mentor.com\/products\/fv\/digitalverification\/modelsim se"},{"volume-title":"Proceedings of the Design, Automation, and Test in Europe (DATE'04)","author":"Millberg M.","key":"e_1_2_1_22_1","unstructured":"Millberg , M. , Nilsson , E. , Thid , R. , and Jantsch , A . 2004. Guaranteed bandwidth using looped containers in temporally disjoint networks within the Nostrun network on vhip . In Proceedings of the Design, Automation, and Test in Europe (DATE'04) . IEEE, Los Alamitos, CA, 890--895. Millberg, M., Nilsson, E., Thid, R., and Jantsch, A. 2004. Guaranteed bandwidth using looped containers in temporally disjoint networks within the Nostrun network on vhip. In Proceedings of the Design, Automation, and Test in Europe (DATE'04). IEEE, Los Alamitos, CA, 890--895."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2006.50"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1152154.1152184"},{"key":"e_1_2_1_25_1","unstructured":"Poseidon Design Systems Inc. 2007. Triton builder. http:\/\/www.poseidon-systems.com\/tbuilder.htm.  Poseidon Design Systems Inc. 2007. Triton builder. http:\/\/www.poseidon-systems.com\/tbuilder.htm."},{"key":"e_1_2_1_26_1","unstructured":"Quicksilver Technology. 2008. Adapt2400 http:\/\/qstech.com  Quicksilver Technology. 2008. Adapt2400 http:\/\/qstech.com"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1216544.1216550"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1978.1675141"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/859618.859667"},{"volume-title":"Proceedings of the International Conference on Field-Programmable Logic and Applications (FPL'07)","author":"Satrawala A. N.","key":"e_1_2_1_30_1","unstructured":"Satrawala , A. N. , Varadarajan , K. , Alle , M. , Nandy , S. K. , and Narayan , R . 2007. REDEFINE: Architecture of a SOC fabric for runtime composition of computation structures . In Proceedings of the International Conference on Field-Programmable Logic and Applications (FPL'07) . Springer, Berlin. Satrawala, A. N., Varadarajan, K., Alle, M., Nandy, S. K., and Narayan, R. 2007. REDEFINE: Architecture of a SOC fabric for runtime composition of computation structures. In Proceedings of the International Conference on Field-Programmable Logic and Applications (FPL'07). Springer, Berlin."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1233307.1233308"},{"key":"e_1_2_1_32_1","unstructured":"Synfora Inc. 2007. Aspen. http:\/\/www.synfora.com\/news\/press\/ASPEN_PR_FINAL_42605.pdf  Synfora Inc. 2007. Aspen. http:\/\/www.synfora.com\/news\/press\/ASPEN_PR_FINAL_42605.pdf"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2002.997877"},{"key":"e_1_2_1_34_1","unstructured":"Tensilica Inc. 2007. Xtensa configurable processors. http:\/\/www.tensilica.com\/products\/xtensa-customizable\/configurable.htm  Tensilica Inc. 2007. Xtensa configurable processors. http:\/\/www.tensilica.com\/products\/xtensa-customizable\/configurable.htm"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISSCC.2007.373606"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/513918.514116"},{"key":"e_1_2_1_37_1","unstructured":"Vinod K. Arvind and Pingali K. 1980. A dataflow architecture with tagged tokens. Tech. rep. MIT\/LCS\/TM-174 Laboratory for Computer Science. Massachusetts Institute of Technology. http:\/\/publications.csail.mit.edu\/lcs\/viewpubs.php?cat=tm&sort=docnum&count=50&currentpage=9  Vinod K. Arvind and Pingali K. 1980. A dataflow architecture with tagged tokens. Tech. rep. MIT\/LCS\/TM-174 Laboratory for Computer Science. Massachusetts Institute of Technology. http:\/\/publications.csail.mit.edu\/lcs\/viewpubs.php?cat=tm&sort=docnum&count=50&currentpage=9"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1596543.1596545","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1596543.1596545","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:23:28Z","timestamp":1750249408000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1596543.1596545"}},"subtitle":["Runtime reconfigurable polymorphic ASIC"],"short-title":[],"issued":{"date-parts":[[2009,10]]},"references-count":37,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2009,10]]}},"alternative-id":["10.1145\/1596543.1596545"],"URL":"https:\/\/doi.org\/10.1145\/1596543.1596545","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2009,10]]},"assertion":[{"value":"2008-05-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-10-29","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}