{"id":"https://openalex.org/W2948247922","doi":"https://doi.org/10.1145/3337801.3337809","title":"A type-safe arbitrary precision arithmetic portability layer for HLS tools","display_name":"A type-safe arbitrary precision arithmetic portability layer for HLS tools","publication_year":2019,"publication_date":"2019-06-06","ids":{"openalex":"https://openalex.org/W2948247922","doi":"https://doi.org/10.1145/3337801.3337809","mag":"2948247922"},"language":"en","primary_location":{"id":"doi:10.1145/3337801.3337809","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3337801.3337809","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 10th International Symposium on Highly-Efficient Accelerators and Reconfigurable Technologies","raw_type":"proceedings-article"},"type":"preprint","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://inria.hal.science/hal-02131798","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5038877852","display_name":"Luc Forget","orcid":"https://orcid.org/0000-0003-0494-9945"},"institutions":[{"id":"https://openalex.org/I100532134","display_name":"Universit\u00e9 Claude Bernard Lyon 1","ror":"https://ror.org/029brtt94","country_code":"FR","type":"education","lineage":["https://openalex.org/I100532134","https://openalex.org/I203339264"]},{"id":"https://openalex.org/I48430043","display_name":"Institut National des Sciences Appliqu\u00e9es de Lyon","ror":"https://ror.org/050jn9y42","country_code":"FR","type":"education","lineage":["https://openalex.org/I203339264","https://openalex.org/I48430043"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Luc Forget","raw_affiliation_strings":["Univ Lyon, INSA Lyon, Inria, CITI, Villeurbanne, France","SOCRATE - Software and Cognitive radio for telecommunications (CITI Laboratory Domaine Scientifique de la Doua, INSA Lyon Batiment Leonard de Vinci 21, avenue Jean Capelle 69621 Villeurbanne Cedex - France)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ Lyon, INSA Lyon, Inria, CITI, Villeurbanne, France","institution_ids":["https://openalex.org/I48430043","https://openalex.org/I100532134"]},{"raw_affiliation_string":"SOCRATE - Software and Cognitive radio for telecommunications (CITI Laboratory Domaine Scientifique de la Doua, INSA Lyon Batiment Leonard de Vinci 21, avenue Jean Capelle 69621 Villeurbanne Cedex - France)","institution_ids":["https://openalex.org/I48430043"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5084930980","display_name":"Yohann Uguen","orcid":"https://orcid.org/0000-0001-9455-1265"},"institutions":[{"id":"https://openalex.org/I100532134","display_name":"Universit\u00e9 Claude Bernard Lyon 1","ror":"https://ror.org/029brtt94","country_code":"FR","type":"education","lineage":["https://openalex.org/I100532134","https://openalex.org/I203339264"]},{"id":"https://openalex.org/I48430043","display_name":"Institut National des Sciences Appliqu\u00e9es de Lyon","ror":"https://ror.org/050jn9y42","country_code":"FR","type":"education","lineage":["https://openalex.org/I203339264","https://openalex.org/I48430043"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Yohann Uguen","raw_affiliation_strings":["Univ Lyon, INSA Lyon, Inria, CITI, Villeurbanne, France","SOCRATE - Software and Cognitive radio for telecommunications (CITI Laboratory Domaine Scientifique de la Doua, INSA Lyon Batiment Leonard de Vinci 21, avenue Jean Capelle 69621 Villeurbanne Cedex - France)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ Lyon, INSA Lyon, Inria, CITI, Villeurbanne, France","institution_ids":["https://openalex.org/I48430043","https://openalex.org/I100532134"]},{"raw_affiliation_string":"SOCRATE - Software and Cognitive radio for telecommunications (CITI Laboratory Domaine Scientifique de la Doua, INSA Lyon Batiment Leonard de Vinci 21, avenue Jean Capelle 69621 Villeurbanne Cedex - France)","institution_ids":["https://openalex.org/I48430043"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5035966925","display_name":"Florent de Dinechin","orcid":"https://orcid.org/0000-0003-4927-3301"},"institutions":[{"id":"https://openalex.org/I100532134","display_name":"Universit\u00e9 Claude Bernard Lyon 1","ror":"https://ror.org/029brtt94","country_code":"FR","type":"education","lineage":["https://openalex.org/I100532134","https://openalex.org/I203339264"]},{"id":"https://openalex.org/I48430043","display_name":"Institut National des Sciences Appliqu\u00e9es de Lyon","ror":"https://ror.org/050jn9y42","country_code":"FR","type":"education","lineage":["https://openalex.org/I203339264","https://openalex.org/I48430043"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Florent de Dinechin","raw_affiliation_strings":["Univ Lyon, INSA Lyon, Inria, CITI, Villeurbanne, France","SOCRATE - Software and Cognitive radio for telecommunications (CITI Laboratory Domaine Scientifique de la Doua, INSA Lyon Batiment Leonard de Vinci 21, avenue Jean Capelle 69621 Villeurbanne Cedex - France)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ Lyon, INSA Lyon, Inria, CITI, Villeurbanne, France","institution_ids":["https://openalex.org/I48430043","https://openalex.org/I100532134"]},{"raw_affiliation_string":"SOCRATE - Software and Cognitive radio for telecommunications (CITI Laboratory Domaine Scientifique de la Doua, INSA Lyon Batiment Leonard de Vinci 21, avenue Jean Capelle 69621 Villeurbanne Cedex - France)","institution_ids":["https://openalex.org/I48430043"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5081452934","display_name":"David B. Thomas","orcid":"https://orcid.org/0000-0002-9671-0917"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"David Thomas","raw_affiliation_strings":["Imperial College London, United Kingdom","Imperial College London (South Kensington Campus, London SW7 2AZ - United Kingdom)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Imperial College London, United Kingdom","institution_ids":["https://openalex.org/I47508984"]},{"raw_affiliation_string":"Imperial College London (South Kensington Campus, London SW7 2AZ - United Kingdom)","institution_ids":["https://openalex.org/I47508984"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.8086,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.75025911,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"6"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11697","display_name":"Numerical Methods and Algorithms","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/T11697","display_name":"Numerical Methods and Algorithms","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.9995999932289124,"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/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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7360416650772095},{"id":"https://openalex.org/keywords/software-portability","display_name":"Software portability","score":0.6746071577072144},{"id":"https://openalex.org/keywords/high-level-synthesis","display_name":"High-level synthesis","score":0.5705412030220032},{"id":"https://openalex.org/keywords/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.5179440379142761},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.5161877274513245},{"id":"https://openalex.org/keywords/integer","display_name":"Integer (computer science)","score":0.4457224905490875},{"id":"https://openalex.org/keywords/regular-expression","display_name":"Regular expression","score":0.42016762495040894},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4066631495952606},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.39642637968063354},{"id":"https://openalex.org/keywords/arithmetic","display_name":"Arithmetic","score":0.38111791014671326},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3255234956741333},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.191439688205719}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7360416650772095},{"id":"https://openalex.org/C63000827","wikidata":"https://www.wikidata.org/wiki/Q3080428","display_name":"Software portability","level":2,"score":0.6746071577072144},{"id":"https://openalex.org/C58013763","wikidata":"https://www.wikidata.org/wiki/Q5754574","display_name":"High-level synthesis","level":3,"score":0.5705412030220032},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.5179440379142761},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5161877274513245},{"id":"https://openalex.org/C97137487","wikidata":"https://www.wikidata.org/wiki/Q729138","display_name":"Integer (computer science)","level":2,"score":0.4457224905490875},{"id":"https://openalex.org/C121329065","wikidata":"https://www.wikidata.org/wiki/Q185612","display_name":"Regular expression","level":2,"score":0.42016762495040894},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4066631495952606},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.39642637968063354},{"id":"https://openalex.org/C94375191","wikidata":"https://www.wikidata.org/wiki/Q11205","display_name":"Arithmetic","level":1,"score":0.38111791014671326},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3255234956741333},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.191439688205719}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3337801.3337809","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3337801.3337809","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 10th International Symposium on Highly-Efficient Accelerators and Reconfigurable Technologies","raw_type":"proceedings-article"},{"id":"pmh:oai:HAL:hal-02131798v2","is_oa":true,"landing_page_url":"https://inria.hal.science/hal-02131798","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"HEART 2019 - International Symposium on Highly Efficient Accelerators and Reconfigurable Technologies, Jun 2019, Nagasaki, Japan. pp.1-6, &#x27E8;10.1145/3337801.3337809&#x27E9;","raw_type":"Conference papers"}],"best_oa_location":{"id":"pmh:oai:HAL:hal-02131798v2","is_oa":true,"landing_page_url":"https://inria.hal.science/hal-02131798","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"HEART 2019 - International Symposium on Highly Efficient Accelerators and Reconfigurable Technologies, Jun 2019, Nagasaki, Japan. pp.1-6, &#x27E8;10.1145/3337801.3337809&#x27E9;","raw_type":"Conference papers"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4230703500","display_name":"Improving Predictability of Numerical Computations","funder_award_id":"ANR-18-CE46-0011","funder_id":"https://openalex.org/F4320320883","funder_display_name":"Agence Nationale de la Recherche"}],"funders":[{"id":"https://openalex.org/F4320320883","display_name":"Agence Nationale de la Recherche","ror":"https://ror.org/00rbzpz17"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":12,"referenced_works":["https://openalex.org/W1993551805","https://openalex.org/W2018055497","https://openalex.org/W2030898836","https://openalex.org/W2114327031","https://openalex.org/W2162880276","https://openalex.org/W2343695530","https://openalex.org/W2754701156","https://openalex.org/W2799263640","https://openalex.org/W2886448403","https://openalex.org/W2949543509","https://openalex.org/W2955474694","https://openalex.org/W6677106329"],"related_works":["https://openalex.org/W107105315","https://openalex.org/W1584537303","https://openalex.org/W4388155270","https://openalex.org/W1872724644","https://openalex.org/W4367156293","https://openalex.org/W2750549761","https://openalex.org/W28826848","https://openalex.org/W2122272819","https://openalex.org/W2130894091","https://openalex.org/W2994151208"],"abstract_inverted_index":{"Recent":[0],"studies":[1],"have":[2],"shown":[3],"that":[4,102],"High-Level":[5],"Synthesis":[6],"(HLS)":[7],"is":[8,72,84,152,166,211,228],"an":[9,78,219],"efficient":[10],"way":[11],"to":[12,60,142,217,272],"design":[13],"operators":[14,232,239],"for":[15,19,40,43,89,113,207,277],"floating-point":[16,236],"arithmetic,":[17],"or":[18,58,191,198],"emerging":[20],"alternative":[21],"formats":[22],"such":[23,54,117,124],"as":[24,55,82,118],"posits.":[25],"However,":[26],"HLS":[27,87,250],"tools":[28,251],"support":[29,42,65,112],"different":[30,33],"supersets":[31],"of":[32,35,158,222],"subsets":[34],"the":[36,66,170,273],"C":[37,68],"language":[38],"--":[39,163],"example,":[41],"arbitrary-sized":[44,146],"bit":[45],"vectors":[46],"may":[47,96],"be":[48],"provided":[49],"through":[50],"vendor-specific":[51],"data-type":[52],"libraries":[53,95],"ac_int,":[56],"ap_int,":[57],"int1":[59],"int64,":[61],"while":[62],"others":[63],"only":[64],"standard":[67,88],"integer":[69],"types.":[70],"This":[71,226],"a":[73,132,137,204],"problem":[74],"when":[75,194,234,270],"carefully":[76],"tuning":[77],"operator's":[79],"internal":[80],"data-path,":[81],"there":[83],"no":[85,176,189,268],"portable":[86],"arbitrary":[90],"width":[91],"integers,":[92],"and":[93,100,139,144,161,174,186,213,215,237,254],"vendor":[94,108],"introduce":[97],"implicit":[98],"casts":[99],"extensions":[101],"can":[103],"hide":[104],"subtle":[105],"bugs.":[106],"Each":[107],"also":[109,202,262],"offers":[110,203],"varying":[111],"important":[114],"operator-building":[115],"primitives,":[116],"platform-optimized":[119],"leading-zero":[120],"count.":[121],"To":[122,148],"address":[123],"problems,":[125],"this":[126,164],"work":[127,227],"introduces":[128],"Hint":[129,151,210],"(hardware":[130],"integer),":[131],"header-only":[133],"compatibility":[134],"layer":[135],"offering":[136],"consistent":[138],"comprehensive":[140],"interface":[141],"signed":[143],"unsigned":[145],"integers.":[147],"avoid":[149],"bugs":[150],"strongly":[153],"typed,":[154],"requiring":[155],"exact":[156],"matching":[157],"expression":[159],"widths":[160],"types":[162],"type-checking":[165],"performed":[167],"statically":[168],"using":[169,247,265],"C++":[171],"template":[172],"system,":[173],"adds":[175],"overhead":[177,193,269],"at":[178],"synthesis":[179],"time.":[180],"The":[181],"current":[182],"implementation":[183],"wraps":[184],"ac_int":[185],"ap_int":[187],"with":[188,230],"performance":[190],"resource":[192],"synthesized":[195],"on":[196],"Xilinx":[197,278],"Intel":[199],"FPGAs.":[200,279],"It":[201],"Boost::multiprecision":[205],"backend":[206],"fast":[208],"simulation.":[209],"open-source":[212],"extensible,":[214],"aims":[216],"provide":[218],"optimized":[220],"superset":[221],"existing":[223],"library":[224],"primitives.":[225],"evaluated":[229],"arithmetic":[231],"useful":[233],"implementing":[235],"posit":[238,258],"(shifter,":[240],"leading":[241],"zero":[242],"counter,":[243],"fused":[244],"shifter+sticky)":[245],"deployed":[246],"two":[248],"mainstream":[249],"(Xilinx":[252],"VivadoHLS,":[253],"IntelHLS).":[255],"A":[256],"complete":[257],"adder":[259],"operator":[260,275],"has":[261],"been":[263],"written":[264,276],"Hint,":[266],"showing":[267],"compared":[271],"original":[274]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1}],"updated_date":"2026-06-22T08:00:12.763002","created_date":"2025-10-10T00:00:00"}
