{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,6,12]],"date-time":"2024-06-12T13:10:50Z","timestamp":1718197850022},"reference-count":35,"publisher":"Wiley","issue":"1","license":[{"start":{"date-parts":[[2012,3,26]],"date-time":"2012-03-26T00:00:00Z","timestamp":1332720000000},"content-version":"vor","delay-in-days":85,"URL":"http:\/\/creativecommons.org\/licenses\/by\/3.0\/"}],"content-domain":{"domain":["onlinelibrary.wiley.com"],"crossmark-restriction":true},"short-container-title":["Journal of Electrical and Computer Engineering"],"published-print":{"date-parts":[[2012,1]]},"abstract":"We present a method for construction of application\u2010specific processor cores from a given C code. Our approach consists of three phases. We start by quantifying the properties of the C code in terms of operation types, available parallelism, and other metrics. We then create an initial data path to exploit the available parallelism. We then apply designer\u2010guided constraints to an interactive data path refinement algorithm that attempts to reduce the number of the most expensive components while meeting the constraints. Our experimental results show that our technique scales very well with the size of the C code. We demonstrate the efficiency of our technique on wide range of applications, from standard academic benchmarks to industrial size examples like the MP3 decoder. Each processor core was constructed and refined in under a minute, allowing the designer to explore several different configurations in much less time than needed for manual design. We compared our selection algorithm to the manual selection in terms of cost\/performance and showed that our optimization technique achieves better cost\/performance trade\u2010off. We also synthesized our designs with programmable controller and, on average, the refined core have only 23% latency overhead, twice as many block RAMs and 36% fewer slices compared to the respective manual designs.<\/jats:p>","DOI":"10.1155\/2012\/862469","type":"journal-article","created":{"date-parts":[[2012,3,26]],"date-time":"2012-03-26T21:19:33Z","timestamp":1332796773000},"update-policy":"http:\/\/dx.doi.org\/10.1002\/crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Automated Generation of Custom Processor Core from C Code"],"prefix":"10.1155","volume":"2012","author":[{"given":"Jelena","family":"Trajkovic","sequence":"first","affiliation":[]},{"given":"Samar","family":"Abdi","sequence":"additional","affiliation":[]},{"given":"Gabriela","family":"Nicolescu","sequence":"additional","affiliation":[]},{"given":"Daniel D.","family":"Gajski","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2012,3,26]]},"reference":[{"key":"e_1_2_10_1_2","volume-title":"Specification and Design of Embedded Systems","author":"Gajski D. D.","year":"1994"},{"key":"e_1_2_10_2_2","unstructured":"GajskiD. Nisc: the ultimate reconfigurable component 2003 no. TR 03-28 University of California-Irvine."},{"key":"e_1_2_10_3_2","doi-asserted-by":"crossref","unstructured":"ReshadiM.andGajskiD. A cycle-accurate compilation algorithm for custom pipelined datapaths Proceedings of the 3rd IEEE\/ACM\/IFIP International Conference on Hardware\/Software Codesign and Systems Synthesis CODES+ISSS September 2005 21\u201326 2-s2.0-27644461812.","DOI":"10.1145\/1084834.1084845"},{"key":"e_1_2_10_4_2","doi-asserted-by":"crossref","unstructured":"ReshadiM. GorjiaraB. andGajskiD. Utilizing horizontal and vertical parallelism with a no-instruction-set compiler for custom datapaths Proceedings of the IEEE International Conference on Computer Design: VLSI in Computers and Processors October 2005 69\u201374 2-s2.0-33748538011 https:\/\/doi.org\/10.1109\/ICCD.2005.112.","DOI":"10.1109\/ICCD.2005.112"},{"key":"e_1_2_10_5_2","unstructured":"GajskiD.andReshadiM. Nisc application and advantages 2004 no. TR 04-12 University of California-Irvine."},{"key":"e_1_2_10_6_2","doi-asserted-by":"crossref","unstructured":"TrajkovicJ.andGajskiD. D. Generation of custom co-processor structure from C-code 2008 no. CECS-TR-08-05 Center for Embedded Computer Systems University of California-Irvine.","DOI":"10.1109\/SASP.2008.4570778"},{"key":"e_1_2_10_7_2","doi-asserted-by":"crossref","unstructured":"GorjiaraB. ReshadiM. ChandraiahP. andGajskiD. Generic netlist representation for system and pe level design exploration Proceedings of the 4th International Conference on Hardware\/Software Codesign and System Synthesis 2006 New York NY USA ACM 282\u2013287.","DOI":"10.1145\/1176254.1176323"},{"key":"e_1_2_10_8_2","doi-asserted-by":"crossref","unstructured":"GorjiaraB. ReshadiM. andGajskiD. Generic architecture description for retargetable compilation and synthesis of application-specific pipelined ips Proceedings of the Proceedings of International Conference on Computer Design (ICCD \u203206) 2006.","DOI":"10.1109\/ICCD.2006.4380841"},{"key":"e_1_2_10_9_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-0-387-72258-0_12"},{"key":"e_1_2_10_10_2","unstructured":"Xilinx: MicroBlaze Soft Processor Core 2008 http:\/\/www.xilinx.com\/tools\/microblaze.htm."},{"key":"e_1_2_10_11_2","unstructured":"R. Ang http:\/\/www.cecs.uci.edu\/presentation_slides\/ESE\u2010BackEnd2.0\u2010notes.pdf."},{"key":"e_1_2_10_12_2","unstructured":"Tensilica: Xtensa LX 2005 http:\/\/www.tensilica.com\/products\/xtensa_LX.htm."},{"key":"e_1_2_10_13_2","unstructured":"Automated Configurable Processor Design Flow White Paper Tensilica 2005 http:\/\/www.tensilica.com\/pdf\/Tools_white_paper_final\u20101.pdf."},{"key":"e_1_2_10_14_2","unstructured":"Diamond Standard Processor Core Family Architecture White Paper Tensilica 2006 http:\/\/www.tensilica.com\/pdf\/DiamondWP.pdf."},{"key":"e_1_2_10_15_2","doi-asserted-by":"crossref","unstructured":"GoodwinD.andPetkovD. Automatic generation of application specific processors Proceedings of the International Conference on Compilers Architecture and Synthesis for Embedded Systems 2003.","DOI":"10.1145\/951710.951730"},{"key":"e_1_2_10_16_2","unstructured":"Stretch: S5000 Software-Configurable Processors 2008 http:\/\/www.stretchinc.com\/products\/devices.php."},{"key":"e_1_2_10_17_2","unstructured":"Mentor Graphics Catapult Synthesis 2008 http:\/\/www.mentor.com\/esl\/catapult\/overview\/\/index.cfm."},{"key":"e_1_2_10_18_2","unstructured":"NEC CyberWorkBench 2008 http:\/\/www.necst.co.jp\/product\/cwb\/english\/index.html."},{"key":"e_1_2_10_19_2","unstructured":"Forte Design System Cynthesizer 2008 http:\/\/www.forteds.com\/products\/cynthesizer.asp."},{"key":"e_1_2_10_20_2","unstructured":"Mentor Graphics Catapult Synthesis\u2014Ericsson Success Story 2011 http:\/\/www.mentor.com\/esl\/success\/ericsson\u2010success."},{"key":"e_1_2_10_21_2","unstructured":"Mentor Graphics Technical Publications: Designing High Performance DSP Hardware using Catapult C Synthesis and the Altera Accelerated Libraries 2008 http:\/\/www.mentor.com\/techpapers\/fulfillment\/upload\/mentorpaper_36558.pdf."},{"key":"e_1_2_10_22_2","unstructured":"Mentor Graphics Technical Publications: Alcatel Conquers the Next Frontier of Design Space Exploration using Catapult C Synthesis 2008 http:\/\/www.mentor.com\/techpapers\/fulfillment\/upload\/mentorpaper_22739.pdf."},{"key":"e_1_2_10_23_2","doi-asserted-by":"crossref","unstructured":"WakabayashiK. C-based synthesis experiences with a behavior synthesizer Cyber Proceedings of the Proceedings of the Conference on Design Automation and Test in Europe (DATE \u203299) 1999.","DOI":"10.1145\/307418.307530"},{"key":"e_1_2_10_24_2","unstructured":"Forte Design System Cynthesizer\u2014Applications: Digital Media 2008 http:\/\/www.forteds.com\/applications\/digitalmedia.asp."},{"key":"e_1_2_10_25_2","unstructured":"Forte Design System Cynthesizer\u2014Applications: Security 2008 http:\/\/www.forteds.com\/applications\/security.asp."},{"key":"e_1_2_10_26_2","unstructured":"Forte Design System Cynthesizer\u2014Applications: Wireless 2008 http:\/\/www.forteds.com\/applications\/wireless.asp."},{"key":"e_1_2_10_27_2","unstructured":"Mentor Graphics Catapult Datasheet 2010 http:\/\/www.mentor.com\/esl\/catapult\/upload\/Catapult_DS.pdf."},{"key":"e_1_2_10_28_2","unstructured":"LandwehrB. MarwedelP. andD\u00f6merR. OSCAR: optimum simultaneous scheduling allocation and resource binding based on integer programming Proceedings of the European Design Automation Conference 1994 Grenoble France IEEE Computer Society Press 90\u201395."},{"key":"e_1_2_10_29_2","doi-asserted-by":"publisher","DOI":"10.1109\/43.31522"},{"key":"e_1_2_10_30_2","doi-asserted-by":"publisher","DOI":"10.1109\/43.31534"},{"key":"e_1_2_10_31_2","unstructured":"GutberletP. M\u00fcllerJ. Kr\u00e4merH. andRosenstielW. Automatic module allocation in high level synthesis Proceedings of the Conference on European Design Automation (EURO-DAC \u201992) 1992 328\u2013333."},{"key":"e_1_2_10_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.1986.1270207"},{"key":"e_1_2_10_33_2","doi-asserted-by":"publisher","DOI":"10.1109\/43.159991"},{"key":"e_1_2_10_34_2","doi-asserted-by":"publisher","DOI":"10.1109\/43.55208"},{"key":"e_1_2_10_35_2","unstructured":"MarwedelP. The MIMOLA system: detailed description of the system software Proceedings of the Design Automation Conference 1993 ACM\/IEEE."}],"container-title":["Journal of Electrical and Computer Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/downloads.hindawi.com\/journals\/jece\/2012\/862469.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/downloads.hindawi.com\/journals\/jece\/2012\/862469.xml","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1155\/2012\/862469","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,6,12]],"date-time":"2024-06-12T12:32:31Z","timestamp":1718195551000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1155\/2012\/862469"}},"subtitle":[],"editor":[{"given":"Yuan","family":"Xie","sequence":"additional","affiliation":[]}],"short-title":[],"issued":{"date-parts":[[2012,1]]},"references-count":35,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2012,1]]}},"alternative-id":["10.1155\/2012\/862469"],"URL":"https:\/\/doi.org\/10.1155\/2012\/862469","archive":["Portico"],"relation":{},"ISSN":["2090-0147","2090-0155"],"issn-type":[{"value":"2090-0147","type":"print"},{"value":"2090-0155","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012,1]]},"assertion":[{"value":"2011-06-07","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2011-11-21","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-03-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}