{"id":"https://openalex.org/W7164187518","doi":"https://doi.org/10.1109/fccm68464.2026.00016","title":"D\u00e9j\u00e0 Vu Packing: Optimizing FPGA Logic Clustering Runtime via Pattern Memoization","display_name":"D\u00e9j\u00e0 Vu Packing: Optimizing FPGA Logic Clustering Runtime via Pattern Memoization","publication_year":2026,"publication_date":"2026-05-13","ids":{"openalex":"https://openalex.org/W7164187518","doi":"https://doi.org/10.1109/fccm68464.2026.00016"},"language":null,"primary_location":{"id":"doi:10.1109/fccm68464.2026.00016","is_oa":false,"landing_page_url":"https://doi.org/10.1109/fccm68464.2026.00016","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2026 IEEE 34th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5127600676","display_name":"Milo Liebster","orcid":null},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Milo Liebster","raw_affiliation_strings":["University of Waterloo,Department of Electrical and Computer Engineering"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Waterloo,Department of Electrical and Computer Engineering","institution_ids":["https://openalex.org/I151746483"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5070542703","display_name":"Amin Mohaghegh","orcid":"https://orcid.org/0009-0006-7953-8963"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Amin Mohaghegh","raw_affiliation_strings":["QuickLogic Corporation"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"QuickLogic Corporation","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5090801235","display_name":"Andrew Boutros","orcid":"https://orcid.org/0000-0002-8044-1644"},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Andrew Boutros","raw_affiliation_strings":["University of Waterloo,Department of Electrical and Computer Engineering"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Waterloo,Department of Electrical and Computer Engineering","institution_ids":["https://openalex.org/I151746483"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.88654666,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"10","last_page":"18"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11522","display_name":"VLSI and FPGA Design Techniques","score":0.9323999881744385,"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"}},"topics":[{"id":"https://openalex.org/T11522","display_name":"VLSI and FPGA Design Techniques","score":0.9323999881744385,"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"}},{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.033799998462200165,"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/T12122","display_name":"Physical Unclonable Functions (PUFs) and Hardware Security","score":0.006500000134110451,"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/cluster-analysis","display_name":"Cluster analysis","score":0.4941999912261963},{"id":"https://openalex.org/keywords/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.39570000767707825},{"id":"https://openalex.org/keywords/feature","display_name":"Feature (linguistics)","score":0.30970001220703125},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.2761000096797943}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7612000107765198},{"id":"https://openalex.org/C73555534","wikidata":"https://www.wikidata.org/wiki/Q622825","display_name":"Cluster analysis","level":2,"score":0.4941999912261963},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.39570000767707825},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.32760000228881836},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3133000135421753},{"id":"https://openalex.org/C2776401178","wikidata":"https://www.wikidata.org/wiki/Q12050496","display_name":"Feature (linguistics)","level":2,"score":0.30970001220703125},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.30390000343322754},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.2761000096797943},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.26739999651908875},{"id":"https://openalex.org/C79403827","wikidata":"https://www.wikidata.org/wiki/Q3988","display_name":"Real-time computing","level":1,"score":0.2567000091075897},{"id":"https://openalex.org/C79516417","wikidata":"https://www.wikidata.org/wiki/Q1376168","display_name":"Memoization","level":4,"score":0.25209999084472656}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/fccm68464.2026.00016","is_oa":false,"landing_page_url":"https://doi.org/10.1109/fccm68464.2026.00016","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2026 IEEE 34th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320334593","display_name":"Natural Sciences and Engineering Research Council of Canada","ror":"https://ror.org/01h531d29"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":28,"referenced_works":["https://openalex.org/W1575153928","https://openalex.org/W1966460368","https://openalex.org/W2005602803","https://openalex.org/W2029031086","https://openalex.org/W2033549713","https://openalex.org/W2055251702","https://openalex.org/W2072249022","https://openalex.org/W2111756578","https://openalex.org/W2123412209","https://openalex.org/W2150281391","https://openalex.org/W2151614223","https://openalex.org/W2155316178","https://openalex.org/W2164340799","https://openalex.org/W2526365886","https://openalex.org/W2626482350","https://openalex.org/W2713385151","https://openalex.org/W2897282114","https://openalex.org/W3017491333","https://openalex.org/W3033033241","https://openalex.org/W3141147179","https://openalex.org/W4232904085","https://openalex.org/W4243467301","https://openalex.org/W4255959021","https://openalex.org/W4368232696","https://openalex.org/W4384833499","https://openalex.org/W4388214731","https://openalex.org/W4410344137","https://openalex.org/W4410810307"],"related_works":[],"abstract_inverted_index":{"Implementing":[0],"a":[1,5,78,100,146,172,183,216,276],"digital":[2],"circuit":[3],"on":[4,29,142,262],"field-programmable":[6],"gate":[7],"array":[8],"(FPGA)":[9],"fabric":[10],"requires":[11],"clustering":[12],"technology-mapped":[13],"netlist":[14],"primitives":[15],"into":[16],"coarser-granularity":[17],"blocks":[18,40],"that":[19,94,124,171,223],"can":[20],"be":[21,202],"directly":[22],"mapped":[23],"to":[24,151,247],"the":[25,30,34,66,71,104,125,133,152,165,176,194,242,259,263],"physical":[26],"resources":[27],"available":[28],"FPGA":[31,38],"fabric.":[32],"As":[33],"internal":[35],"architecture":[36,160,268],"of":[37,68,103,132,149,175,182,187,193,227,233,254,290],"logic":[39,48],"(LBs)":[41],"has":[42,59],"grown":[43],"in":[44,275,283],"complexity,":[45],"with":[46,111,251],"sophisticated":[47],"elements":[49],"(LEs)":[50],"and":[51,114,130,137,155,190,200,231,249,256,265,279],"highly":[52],"irregular":[53],"local":[54,115],"interconnect,":[55],"this":[56,89,205],"packing":[57,96,126,166,188,195,212,218,229,243,271],"problem":[58,83],"become":[60],"significantly":[61],"more":[62],"challenging.":[63],"To":[64,204],"ensure":[65],"feasibility":[67],"intracluster":[69],"routing,":[70],"computer-aided":[72],"design":[73],"(CAD)":[74],"tools":[75],"must":[76],"solve":[77],"costly":[79],"multi-source":[80],"multi-sink":[81],"routing":[82,116],"for":[84,108],"each":[85],"candidate":[86],"cluster.":[87],"In":[88],"paper,":[90],"we":[91,169,207],"first":[92],"show":[93],"such":[95],"legality":[97,196,235],"checks":[98,197],"consume":[99],"significant":[101,173,277],"portion":[102],"CAD":[105],"flow":[106,140],"runtime":[107,141,244,272],"LB":[109],"architectures":[110],"complex":[112],"LEs":[113],"structures":[117],"resembling":[118],"modern":[119],"commercial":[120],"FPGAs.":[121],"We":[122],"demonstrate":[123],"stage":[127],"constitutes":[128],"58%":[129],"94%":[131],"entire":[134],"Versatile":[135],"Place":[136],"Route":[138],"(VPR)":[139],"average":[143,253,281],"when":[144],"mapping":[145],"wide":[147],"variety":[148],"benchmarks":[150,261],"AMD":[153],"7-series-like":[154],"Altera":[156],"Stratix":[157,266],"10\u2013like":[158],"VTR":[159],"captures,":[161],"respectively.":[162],"By":[163],"analyzing":[164],"algorithm":[167],"behavior,":[168],"observe":[170],"fraction":[174],"attempted":[177],"packed":[178],"clusters":[179],"are":[180,198],"repetitions":[181],"much":[184],"smaller":[185],"number":[186],"patterns,":[189],"therefore":[191],"many":[192],"redundant":[199],"could":[201],"skipped.":[203],"end,":[206],"introduce":[208],"our":[209],"D\u00e9j\u00e0":[210],"Vu":[211],"approach,":[213],"which":[214],"leverages":[215],"novel":[217],"signature":[219],"tree":[220],"data":[221],"structure":[222],"enables":[224],"efficient":[225],"identification":[226],"recurring":[228],"patterns":[230],"memoization":[232],"their":[234],"check":[236],"outcomes.":[237],"Our":[238],"approach":[239],"speeds":[240],"up":[241,246],"by":[245],"13.4\u00d7":[248],"29.3\u00d7,":[250],"an":[252],"3.7\u00d7":[255],"6.9\u00d7,":[257],"across":[258],"evaluated":[260],"7-series":[264],"10":[267],"captures.":[269],"These":[270],"gains":[273],"result":[274],"1.6\u00d7":[278],"5.3\u00d7":[280],"reduction":[282],"end-to-end":[284],"VPR":[285],"runtime,":[286],"while":[287],"maintaining":[288],"quality":[289],"results.":[291]},"counts_by_year":[],"updated_date":"2026-06-12T06:20:11.936012","created_date":"2026-06-11T00:00:00"}
