{"id":"https://openalex.org/W3210312974","doi":"https://doi.org/10.1109/tc.2021.3123465","title":"PyLog: An Algorithm-Centric Python-Based FPGA Programming and Synthesis Flow","display_name":"PyLog: An Algorithm-Centric Python-Based FPGA Programming and Synthesis Flow","publication_year":2021,"publication_date":"2021-01-01","ids":{"openalex":"https://openalex.org/W3210312974","doi":"https://doi.org/10.1109/tc.2021.3123465","mag":"3210312974"},"language":"en","primary_location":{"id":"doi:10.1109/tc.2021.3123465","is_oa":true,"landing_page_url":"https://doi.org/10.1109/tc.2021.3123465","pdf_url":null,"source":{"id":"https://openalex.org/S157670870","display_name":"IEEE Transactions on Computers","issn_l":"0018-9340","issn":["0018-9340","1557-9956","2326-3814"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Computers","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://doi.org/10.1109/tc.2021.3123465","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5050532440","display_name":"Sitao Huang","orcid":"https://orcid.org/0000-0001-7669-1467"},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Sitao Huang","raw_affiliation_strings":["Electrical and Computer Engineering, University of Illinois at Urbana-Champaign College of Engineering, 124331 Urbana, Illinois, United States, 61801-2946 (e-mail: shuang91@illinois.edu)"],"affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering, University of Illinois at Urbana-Champaign College of Engineering, 124331 Urbana, Illinois, United States, 61801-2946 (e-mail: shuang91@illinois.edu)","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5073106039","display_name":"Kun Wu","orcid":"https://orcid.org/0000-0002-0149-1409"},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kun Wu","raw_affiliation_strings":["Electrical and Computer Engineering, University of Illinois at Urbana-Champaign College of Engineering, 124331 Urbana, Illinois, United States, (e-mail: kunwu2@illinois.edu)"],"affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering, University of Illinois at Urbana-Champaign College of Engineering, 124331 Urbana, Illinois, United States, (e-mail: kunwu2@illinois.edu)","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5070809707","display_name":"Hyunmin Jeong","orcid":"https://orcid.org/0000-0001-7824-0993"},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Hyunmin Jeong","raw_affiliation_strings":["Electrical and Computer Engineering, University of Illinois at Urbana-Champaign College of Engineering, 124331 Urbana, Illinois, United States, (e-mail: hyunmin2@illinois.edu)"],"affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering, University of Illinois at Urbana-Champaign College of Engineering, 124331 Urbana, Illinois, United States, (e-mail: hyunmin2@illinois.edu)","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5070397040","display_name":"Chengyue Wang","orcid":"https://orcid.org/0000-0002-8886-2523"},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Chengyue Wang","raw_affiliation_strings":["Electrical and Computer Engineering, University of Illinois at Urbana-Champaign College of Engineering, 124331 Urbana, Illinois, United States, (e-mail: cw19@illinois.edu)"],"affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering, University of Illinois at Urbana-Champaign College of Engineering, 124331 Urbana, Illinois, United States, (e-mail: cw19@illinois.edu)","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5056321228","display_name":"Deming Chen","orcid":"https://orcid.org/0000-0002-3016-0270"},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Deming Chen","raw_affiliation_strings":["Electrical and Computer Engineering, University of Illinois at Urbana-Champaign College of Engineering, 124331 Urbana, Illinois, United States, (e-mail: dchen@illinois.edu)"],"affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering, University of Illinois at Urbana-Champaign College of Engineering, 124331 Urbana, Illinois, United States, (e-mail: dchen@illinois.edu)","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5040404999","display_name":"Wen\u2010mei Hwu","orcid":"https://orcid.org/0000-0003-2532-5349"},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Wen-Mei W. Hwu","raw_affiliation_strings":["Electrical and Computer Engineering, University of Illinois at Urbana-Champaign College of Engineering, 124331 Urbana, Illinois, United States, (e-mail: w-hwu@illinois.edu)"],"affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering, University of Illinois at Urbana-Champaign College of Engineering, 124331 Urbana, Illinois, United States, (e-mail: w-hwu@illinois.edu)","institution_ids":["https://openalex.org/I157725225"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5050532440"],"corresponding_institution_ids":["https://openalex.org/I157725225"],"apc_list":null,"apc_paid":null,"fwci":5.6594,"has_fulltext":false,"cited_by_count":40,"citation_normalized_percentile":{"value":0.97011036,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"1"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10363","display_name":"Low-power high-performance VLSI design","score":0.9919000267982483,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.8534069061279297},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8324264287948608},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.7142361402511597},{"id":"https://openalex.org/keywords/high-level-synthesis","display_name":"High-level synthesis","score":0.6342210173606873},{"id":"https://openalex.org/keywords/design-flow","display_name":"Design flow","score":0.5503397583961487},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5246896147727966},{"id":"https://openalex.org/keywords/reconfigurable-computing","display_name":"Reconfigurable computing","score":0.4787853956222534},{"id":"https://openalex.org/keywords/fpga-prototype","display_name":"FPGA prototype","score":0.4628436267375946},{"id":"https://openalex.org/keywords/vhdl","display_name":"VHDL","score":0.4562256932258606},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.42090362310409546},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3914186656475067},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.38003790378570557},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3444262146949768},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2697323262691498}],"concepts":[{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.8534069061279297},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8324264287948608},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.7142361402511597},{"id":"https://openalex.org/C58013763","wikidata":"https://www.wikidata.org/wiki/Q5754574","display_name":"High-level synthesis","level":3,"score":0.6342210173606873},{"id":"https://openalex.org/C37135326","wikidata":"https://www.wikidata.org/wiki/Q931942","display_name":"Design flow","level":2,"score":0.5503397583961487},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5246896147727966},{"id":"https://openalex.org/C142962650","wikidata":"https://www.wikidata.org/wiki/Q240838","display_name":"Reconfigurable computing","level":3,"score":0.4787853956222534},{"id":"https://openalex.org/C203864433","wikidata":"https://www.wikidata.org/wiki/Q5426992","display_name":"FPGA prototype","level":3,"score":0.4628436267375946},{"id":"https://openalex.org/C36941000","wikidata":"https://www.wikidata.org/wiki/Q209455","display_name":"VHDL","level":3,"score":0.4562256932258606},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.42090362310409546},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3914186656475067},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.38003790378570557},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3444262146949768},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2697323262691498}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/tc.2021.3123465","is_oa":true,"landing_page_url":"https://doi.org/10.1109/tc.2021.3123465","pdf_url":null,"source":{"id":"https://openalex.org/S157670870","display_name":"IEEE Transactions on Computers","issn_l":"0018-9340","issn":["0018-9340","1557-9956","2326-3814"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Computers","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1109/tc.2021.3123465","is_oa":true,"landing_page_url":"https://doi.org/10.1109/tc.2021.3123465","pdf_url":null,"source":{"id":"https://openalex.org/S157670870","display_name":"IEEE Transactions on Computers","issn_l":"0018-9340","issn":["0018-9340","1557-9956","2326-3814"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Computers","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G6752466593","display_name":null,"funder_award_id":"HT 15-1158","funder_id":"https://openalex.org/F4320307910","funder_display_name":"Booz Allen Hamilton"}],"funders":[{"id":"https://openalex.org/F4320307910","display_name":"Booz Allen Hamilton","ror":"https://ror.org/051rcp357"},{"id":"https://openalex.org/F4320316786","display_name":"Center for Cognitive Computing Systems Research","ror":null}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":12,"referenced_works":["https://openalex.org/W2055312318","https://openalex.org/W2128120785","https://openalex.org/W2143609451","https://openalex.org/W2783444794","https://openalex.org/W2799715319","https://openalex.org/W2899691047","https://openalex.org/W2906737788","https://openalex.org/W2942063194","https://openalex.org/W3033414614","https://openalex.org/W4251637954","https://openalex.org/W4297780740","https://openalex.org/W6751092147"],"related_works":["https://openalex.org/W2142848556","https://openalex.org/W3010492628","https://openalex.org/W2113648965","https://openalex.org/W2112805070","https://openalex.org/W3130402546","https://openalex.org/W1604320855","https://openalex.org/W2340800941","https://openalex.org/W2002433278","https://openalex.org/W2121222579","https://openalex.org/W3210312974"],"abstract_inverted_index":{"The":[0,163,169],"exploding":[1],"complexity":[2],"and":[3,38,80,91,104,119,132,179,190,195],"computation":[4],"efficiency":[5],"requirements":[6],"of":[7,68,100],"applications":[8,47],"are":[9,48],"stimulating":[10],"a":[11,24,39,52,64,87,98,105,142],"strong":[12],"demand":[13],"for":[14,94],"hardware":[15,73],"acceleration":[16],"with":[17,56],"heterogeneous":[18],"platforms":[19],"such":[20],"as":[21,33],"FPGAs.":[22],"However,":[23],"high-quality":[25,111],"FPGA":[26,36,82,136,156,176,183,191],"design":[27,41,74,165,177],"is":[28,62,167],"very":[29],"hard":[30],"to":[31,109,122,147],"create":[32,85],"it":[34],"requires":[35],"expertise":[37],"long":[40],"iteration":[42],"time.":[43],"In":[44],"contrast,":[45],"software":[46],"typically":[49],"developed":[50],"in":[51,129],"short":[53],"development":[54],"cycle,":[55],"high-level":[57],"languages":[58],"like":[59],"Python,":[60],"which":[61],"at":[63],"much":[65],"higher":[66],"level":[67],"abstraction":[69],"than":[70],"all":[71],"existing":[72],"flows.":[75],"To":[76],"close":[77],"this":[78],"gap":[79],"simplify":[81],"programming,":[83],"we":[84],"PyLog,":[86],"high-level,":[88],"algorithm-centric":[89],"programming":[90],"synthesis":[92],"flow":[93,166],"FPGA.":[95],"PyLog":[96,127,139,150,173],"features":[97],"set":[99],"compiler":[101],"optimization":[102],"passes":[103],"type":[106],"inference":[107],"system":[108,137],"generate":[110],"design.":[112,138],"It":[113],"abstracts":[114],"away":[115],"the":[116,149,154],"implementation":[117],"details,":[118],"allows":[120,145],"designers":[121],"focus":[123],"on":[124,153,197],"algorithm":[125],"specification.":[126],"takes":[128],"Python":[130],"functions":[131],"generates":[133,180],"complete":[134],"optimized":[135,188],"also":[140],"has":[141],"runtime":[143],"that":[144,172,185],"users":[146],"run":[148],"code":[151,161],"directly":[152],"target":[155],"platform":[157],"without":[158],"any":[159],"extra":[160],"development.":[162],"whole":[164],"automated.":[168],"evaluation":[170],"shows":[171],"significantly":[174],"improves":[175],"productivity":[178],"highly":[181,187],"efficient":[182],"designs":[184],"outperform":[186],"CPU":[189],"versions":[192],"by":[193],"3.17x":[194],"1.24x":[196],"average.":[198]},"counts_by_year":[{"year":2026,"cited_by_count":4},{"year":2025,"cited_by_count":12},{"year":2024,"cited_by_count":10},{"year":2023,"cited_by_count":11},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":1}],"updated_date":"2026-04-11T08:14:18.477133","created_date":"2025-10-10T00:00:00"}
