{"id":"https://openalex.org/W4414270444","doi":"https://doi.org/10.1109/access.2025.3610893","title":"P4THLS: A Templated HLS Framework to Automate Efficient Mapping of P4 Data-Plane Applications to FPGAs","display_name":"P4THLS: A Templated HLS Framework to Automate Efficient Mapping of P4 Data-Plane Applications to FPGAs","publication_year":2025,"publication_date":"2025-01-01","ids":{"openalex":"https://openalex.org/W4414270444","doi":"https://doi.org/10.1109/access.2025.3610893"},"language":"en","primary_location":{"id":"doi:10.1109/access.2025.3610893","is_oa":true,"landing_page_url":"https://doi.org/10.1109/access.2025.3610893","pdf_url":null,"source":{"id":"https://openalex.org/S2485537415","display_name":"IEEE Access","issn_l":"2169-3536","issn":["2169-3536"],"is_oa":true,"is_in_doaj":true,"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 Access","raw_type":"journal-article"},"type":"article","indexed_in":["crossref","doaj"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.1109/access.2025.3610893","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5027926702","display_name":"Mostafa Abbasmollaei","orcid":"https://orcid.org/0000-0002-7767-2986"},"institutions":[{"id":"https://openalex.org/I4210132505","display_name":"JDA Software (Canada)","ror":"https://ror.org/02y8qpa51","country_code":"CA","type":"company","lineage":["https://openalex.org/I171589843","https://openalex.org/I4210132505"]},{"id":"https://openalex.org/I45683168","display_name":"Polytechnique Montr\u00e9al","ror":"https://ror.org/05f8d4e86","country_code":"CA","type":"education","lineage":["https://openalex.org/I45683168"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Mostafa Abbasmollaei","raw_affiliation_strings":["Computer and Software Engineering Department, Polytechnique Montr&#x00E9;al, Montreal, QC, Canada","Computer and Software Engineering Department, Canada"],"affiliations":[{"raw_affiliation_string":"Computer and Software Engineering Department, Polytechnique Montr&#x00E9;al, Montreal, QC, Canada","institution_ids":["https://openalex.org/I45683168"]},{"raw_affiliation_string":"Computer and Software Engineering Department, Canada","institution_ids":["https://openalex.org/I4210132505"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5065622787","display_name":"Tarek Ould\u2010Bachir","orcid":"https://orcid.org/0000-0002-9000-5467"},"institutions":[{"id":"https://openalex.org/I45683168","display_name":"Polytechnique Montr\u00e9al","ror":"https://ror.org/05f8d4e86","country_code":"CA","type":"education","lineage":["https://openalex.org/I45683168"]},{"id":"https://openalex.org/I4210132505","display_name":"JDA Software (Canada)","ror":"https://ror.org/02y8qpa51","country_code":"CA","type":"company","lineage":["https://openalex.org/I171589843","https://openalex.org/I4210132505"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Tarek Ould-Bachir","raw_affiliation_strings":["Computer and Software Engineering Department, Polytechnique Montr&#x00E9;al, Montreal, QC, Canada","Computer and Software Engineering Department, Canada"],"affiliations":[{"raw_affiliation_string":"Computer and Software Engineering Department, Polytechnique Montr&#x00E9;al, Montreal, QC, Canada","institution_ids":["https://openalex.org/I45683168"]},{"raw_affiliation_string":"Computer and Software Engineering Department, Canada","institution_ids":["https://openalex.org/I4210132505"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5038488044","display_name":"Yvon Savaria","orcid":"https://orcid.org/0000-0002-3404-9959"},"institutions":[{"id":"https://openalex.org/I45683168","display_name":"Polytechnique Montr\u00e9al","ror":"https://ror.org/05f8d4e86","country_code":"CA","type":"education","lineage":["https://openalex.org/I45683168"]},{"id":"https://openalex.org/I1319815248","display_name":"Statistics Canada","ror":"https://ror.org/05k71ja87","country_code":"CA","type":"government","lineage":["https://openalex.org/I1319815248"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Yvon Savaria","raw_affiliation_strings":["Electrical Engineering Department, Polytechnique Montr&#x00E9;al, Montreal, QC, Canada","Electrical Engineering Department, Canada"],"affiliations":[{"raw_affiliation_string":"Electrical Engineering Department, Polytechnique Montr&#x00E9;al, Montreal, QC, Canada","institution_ids":["https://openalex.org/I45683168"]},{"raw_affiliation_string":"Electrical Engineering Department, Canada","institution_ids":["https://openalex.org/I1319815248"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5027926702"],"corresponding_institution_ids":["https://openalex.org/I4210132505","https://openalex.org/I45683168"],"apc_list":{"value":1850,"currency":"USD","value_usd":1850},"apc_paid":{"value":1850,"currency":"USD","value_usd":1850},"fwci":2.5505,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.89673855,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":"13","issue":null,"first_page":"164829","last_page":"164845"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9993000030517578,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9993000030517578,"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.998199999332428,"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/T10829","display_name":"Interconnection Networks and Systems","score":0.9962999820709229,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.729200005531311},{"id":"https://openalex.org/keywords/packet-processing","display_name":"Packet processing","score":0.6319000124931335},{"id":"https://openalex.org/keywords/latency","display_name":"Latency (audio)","score":0.5788999795913696},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.5278000235557556},{"id":"https://openalex.org/keywords/network-packet","display_name":"Network packet","score":0.5016999840736389},{"id":"https://openalex.org/keywords/throughput","display_name":"Throughput","score":0.4805999994277954},{"id":"https://openalex.org/keywords/high-level-synthesis","display_name":"High-level synthesis","score":0.3837999999523163},{"id":"https://openalex.org/keywords/network-processor","display_name":"Network processor","score":0.38339999318122864},{"id":"https://openalex.org/keywords/architecture","display_name":"Architecture","score":0.37880000472068787}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8227999806404114},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.729200005531311},{"id":"https://openalex.org/C2779581428","wikidata":"https://www.wikidata.org/wiki/Q7122997","display_name":"Packet processing","level":3,"score":0.6319000124931335},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.6079999804496765},{"id":"https://openalex.org/C82876162","wikidata":"https://www.wikidata.org/wiki/Q17096504","display_name":"Latency (audio)","level":2,"score":0.5788999795913696},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.5633999705314636},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.5278000235557556},{"id":"https://openalex.org/C158379750","wikidata":"https://www.wikidata.org/wiki/Q214111","display_name":"Network packet","level":2,"score":0.5016999840736389},{"id":"https://openalex.org/C157764524","wikidata":"https://www.wikidata.org/wiki/Q1383412","display_name":"Throughput","level":3,"score":0.4805999994277954},{"id":"https://openalex.org/C58013763","wikidata":"https://www.wikidata.org/wiki/Q5754574","display_name":"High-level synthesis","level":3,"score":0.3837999999523163},{"id":"https://openalex.org/C74366991","wikidata":"https://www.wikidata.org/wiki/Q2755335","display_name":"Network processor","level":3,"score":0.38339999318122864},{"id":"https://openalex.org/C123657996","wikidata":"https://www.wikidata.org/wiki/Q12271","display_name":"Architecture","level":2,"score":0.37880000472068787},{"id":"https://openalex.org/C175309249","wikidata":"https://www.wikidata.org/wiki/Q725864","display_name":"Pipeline transport","level":2,"score":0.375},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.35269999504089355},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.3474000096321106},{"id":"https://openalex.org/C157922185","wikidata":"https://www.wikidata.org/wiki/Q173198","display_name":"Logic synthesis","level":3,"score":0.34439998865127563},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.3434000015258789},{"id":"https://openalex.org/C138827492","wikidata":"https://www.wikidata.org/wiki/Q6661985","display_name":"Data processing","level":2,"score":0.33559998869895935},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.31200000643730164},{"id":"https://openalex.org/C142962650","wikidata":"https://www.wikidata.org/wiki/Q240838","display_name":"Reconfigurable computing","level":3,"score":0.30480000376701355},{"id":"https://openalex.org/C193415008","wikidata":"https://www.wikidata.org/wiki/Q639681","display_name":"Network architecture","level":2,"score":0.30090001225471497},{"id":"https://openalex.org/C128519102","wikidata":"https://www.wikidata.org/wiki/Q339554","display_name":"Network on a chip","level":2,"score":0.29919999837875366},{"id":"https://openalex.org/C42143788","wikidata":"https://www.wikidata.org/wiki/Q173341","display_name":"Hardware description language","level":3,"score":0.289900004863739},{"id":"https://openalex.org/C19275194","wikidata":"https://www.wikidata.org/wiki/Q222903","display_name":"Multiplexing","level":2,"score":0.28949999809265137},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.2870999872684479},{"id":"https://openalex.org/C2780609101","wikidata":"https://www.wikidata.org/wiki/Q17156588","display_name":"Resource management (computing)","level":2,"score":0.27889999747276306},{"id":"https://openalex.org/C136321198","wikidata":"https://www.wikidata.org/wiki/Q2377054","display_name":"System bus","level":2,"score":0.26649999618530273},{"id":"https://openalex.org/C159631557","wikidata":"https://www.wikidata.org/wiki/Q1546066","display_name":"Networking hardware","level":2,"score":0.2630999982357025},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.2581000030040741},{"id":"https://openalex.org/C206345919","wikidata":"https://www.wikidata.org/wiki/Q20380951","display_name":"Resource (disambiguation)","level":2,"score":0.2563000023365021},{"id":"https://openalex.org/C123745756","wikidata":"https://www.wikidata.org/wiki/Q1665949","display_name":"Interconnection","level":2,"score":0.2554999887943268}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1109/access.2025.3610893","is_oa":true,"landing_page_url":"https://doi.org/10.1109/access.2025.3610893","pdf_url":null,"source":{"id":"https://openalex.org/S2485537415","display_name":"IEEE Access","issn_l":"2169-3536","issn":["2169-3536"],"is_oa":true,"is_in_doaj":true,"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 Access","raw_type":"journal-article"},{"id":"pmh:oai:publications.polymtl.ca:68676","is_oa":false,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4306401013","display_name":"PolyPublie (\u00c9cole Polytechnique de Montr\u00e9al)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I45683168","host_organization_name":"Polytechnique Montr\u00e9al","host_organization_lineage":["https://openalex.org/I45683168"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":null,"raw_type":"PeerReviewed"},{"id":"pmh:oai:doaj.org/article:be6904fd4e9f4283b1bb1620e0a15bcf","is_oa":true,"landing_page_url":"https://doaj.org/article/be6904fd4e9f4283b1bb1620e0a15bcf","pdf_url":null,"source":{"id":"https://openalex.org/S112646816","display_name":"SHILAP Revista de lepidopterolog\u00eda","issn_l":"0300-5267","issn":["0300-5267","2340-4078"],"is_oa":true,"is_in_doaj":true,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"IEEE Access, Vol 13, Pp 164829-164845 (2025)","raw_type":"article"}],"best_oa_location":{"id":"doi:10.1109/access.2025.3610893","is_oa":true,"landing_page_url":"https://doi.org/10.1109/access.2025.3610893","pdf_url":null,"source":{"id":"https://openalex.org/S2485537415","display_name":"IEEE Access","issn_l":"2169-3536","issn":["2169-3536"],"is_oa":true,"is_in_doaj":true,"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 Access","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"The":[0,18,91,114],"rising":[1],"demand":[2],"for":[3,69],"high-bandwidth,":[4],"low-latency":[5],"network":[6,22],"processing":[7,27,112,147],"has":[8],"led":[9],"to":[10,24,45,121,141],"a":[11,41,55,79,126,133],"significant":[12,100],"shift":[13],"towards":[14],"programmable":[15],"data":[16,81],"planes.":[17],"P4":[19,62],"language":[20],"enables":[21],"operators":[23],"define":[25],"packet":[26,111],"pipelines":[28],"flexibly.":[29],"However,":[30],"efficiently":[31],"deploying":[32],"P4-defined":[33],"applications":[34,64],"onto":[35],"Field-Programmable":[36],"Gate":[37],"Arrays":[38],"(FPGAs)":[39],"remains":[40],"complex":[42],"task":[43],"due":[44],"the":[46],"low-level":[47],"hardware":[48],"design":[49,77],"requirements.":[50],"This":[51],"paper":[52],"introduces":[53],"P4THLS,":[54],"templated":[56,80],"high-level":[57],"synthesis":[58],"framework":[59],"that":[60,117],"converts":[61],"data-plane":[63],"into":[65],"synthesizable":[66],"C++":[67],"code":[68],"FPGA":[70],"deployment.":[71],"Key":[72],"contributions":[73],"include":[74],"an":[75],"automatic":[76],"process,":[78],"structure":[82],"and":[83,86,105,129,144],"bus":[84,128],"width,":[85],"unified":[87],"memory":[88],"management":[89],"techniques.":[90],"proposed":[92],"P4THLS":[93,118],"architecture":[94],"is":[95],"evaluated":[96],"through":[97],"experiments,":[98],"showing":[99],"improvements":[101],"in":[102],"throughput,":[103],"latency,":[104],"resource":[106],"utilization":[107],"over":[108],"existing":[109],"FPGA-based":[110],"methods.":[113],"experiments":[115],"demonstrate":[116],"achieves":[119],"up":[120,140],"143.3":[122],"Gbps":[123,131],"throughput":[124],"with":[125,132,139,152],"512-bit":[127],"76.5":[130],"256-bit":[134],"bus,":[135],"supports":[136],"match-action":[137],"tables":[138],"64K":[142],"entries,":[143],"sustains":[145],"sub-50-cycle":[146],"latency":[148],"at":[149],"250":[150],"MHz,":[151],"end-to-end":[153],"latencies":[154],"of":[155],"around":[156],"8":[157],"\u03bcs.":[158]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-03-07T16:01:11.037858","created_date":"2025-10-10T00:00:00"}
