Verification of Scheduling of Conditional Behaviors in High-Level Synthesis

High-level synthesis (HLS) technique translates the behaviors written in high-level languages like C/C++ into register transfer level (RTL) design. Due to its complexity, proving the correctness of an HLS tool is prohibitively expensive. Translation validation is the process of proving that the targ...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on very large scale integration (VLSI) systems 2020-07, Vol.28 (7), p.1638-1651
Hauptverfasser: Chouksey, Ramanuj, Karfa, Chandan
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 1651
container_issue 7
container_start_page 1638
container_title IEEE transactions on very large scale integration (VLSI) systems
container_volume 28
creator Chouksey, Ramanuj
Karfa, Chandan
description High-level synthesis (HLS) technique translates the behaviors written in high-level languages like C/C++ into register transfer level (RTL) design. Due to its complexity, proving the correctness of an HLS tool is prohibitively expensive. Translation validation is the process of proving that the target code is a correct translation of the source program being compiled. The path-based equivalence checking (PBEC) method is a widely used translation validation method for verification of the scheduling phase of HLS. The existing PBEC methods cannot handle significant control structure modification that occurs in the efficient scheduling of conditional behaviors. Hence, they produce a false-negative result. In this article, we identify some scenarios involving path merge/split where the state-of-the-art PBEC approaches fail to show the equivalence even though behaviors are equivalent. We propose a value propagation-based PBEC method along with a new cutpoint selection scheme to overcome this limitation. Our method can also handle the scenario where adjacent conditional blocks (CBs) having an equivalent conditional expression are combined into one CB. Experimental results demonstrate the usefulness of our method over the existing methods.
doi_str_mv 10.1109/TVLSI.2020.2978242
format Article
fullrecord <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_ieee_primary_9042864</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>9042864</ieee_id><sourcerecordid>2418419438</sourcerecordid><originalsourceid>FETCH-LOGICAL-c295t-c7b0111cd76ff4a8f8d426e2df4c3592891098baad6c0002eee97c14ba826a903</originalsourceid><addsrcrecordid>eNo9kE1PwzAMhiMEEmPwB-BSiXOH46ZtcoQJ2EQlDhu7RlmarJlKO5Ju0v49LZvwxbbs1x8PIfcUJpSCeFquisV8goAwQZFzZHhBRjRN81j0dtnHkCUxRwrX5CaELQBlTMCIfKyMd9Zp1bm2iVobLXRlyn3tms2QTdumdENJ1dGLqdTBtT5ErolmblPFhTmYOlocm64ywYVbcmVVHczd2Y_J19vrcjqLi8_3-fS5iDWKtIt1vgZKqS7zzFqmuOUlw8xgaZlOUoFc9B_xtVJlpgEAjTEi15StFcdMCUjG5PE0d-fbn70Jndy2e9-fGCQyyhkVLOF9F566tG9D8MbKnXffyh8lBTlAk3_Q5ABNnqH1ooeTyPVb_wUCGPKMJb_Gb2h5</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2418419438</pqid></control><display><type>article</type><title>Verification of Scheduling of Conditional Behaviors in High-Level Synthesis</title><source>IEEE Electronic Library (IEL)</source><creator>Chouksey, Ramanuj ; Karfa, Chandan</creator><creatorcontrib>Chouksey, Ramanuj ; Karfa, Chandan</creatorcontrib><description>High-level synthesis (HLS) technique translates the behaviors written in high-level languages like C/C++ into register transfer level (RTL) design. Due to its complexity, proving the correctness of an HLS tool is prohibitively expensive. Translation validation is the process of proving that the target code is a correct translation of the source program being compiled. The path-based equivalence checking (PBEC) method is a widely used translation validation method for verification of the scheduling phase of HLS. The existing PBEC methods cannot handle significant control structure modification that occurs in the efficient scheduling of conditional behaviors. Hence, they produce a false-negative result. In this article, we identify some scenarios involving path merge/split where the state-of-the-art PBEC approaches fail to show the equivalence even though behaviors are equivalent. We propose a value propagation-based PBEC method along with a new cutpoint selection scheme to overcome this limitation. Our method can also handle the scenario where adjacent conditional blocks (CBs) having an equivalent conditional expression are combined into one CB. Experimental results demonstrate the usefulness of our method over the existing methods.</description><identifier>ISSN: 1063-8210</identifier><identifier>EISSN: 1557-9999</identifier><identifier>DOI: 10.1109/TVLSI.2020.2978242</identifier><identifier>CODEN: IEVSE9</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Complexity theory ; Computer bugs ; Control methods ; Equivalence ; Equivalence checking ; finite state machine with datapaths (FSMDs) model ; formal verification ; High level languages ; High level synthesis ; high-level synthesis (HLS) ; Optimization ; Scheduling ; scheduling verification ; Source programs ; Sparks ; translation validation ; Verification ; Very large scale integration</subject><ispartof>IEEE transactions on very large scale integration (VLSI) systems, 2020-07, Vol.28 (7), p.1638-1651</ispartof><rights>Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2020</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c295t-c7b0111cd76ff4a8f8d426e2df4c3592891098baad6c0002eee97c14ba826a903</citedby><cites>FETCH-LOGICAL-c295t-c7b0111cd76ff4a8f8d426e2df4c3592891098baad6c0002eee97c14ba826a903</cites><orcidid>0000-0003-1565-8588 ; 0000-0002-3835-4184</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/9042864$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,776,780,792,27901,27902,54733</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/9042864$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Chouksey, Ramanuj</creatorcontrib><creatorcontrib>Karfa, Chandan</creatorcontrib><title>Verification of Scheduling of Conditional Behaviors in High-Level Synthesis</title><title>IEEE transactions on very large scale integration (VLSI) systems</title><addtitle>TVLSI</addtitle><description>High-level synthesis (HLS) technique translates the behaviors written in high-level languages like C/C++ into register transfer level (RTL) design. Due to its complexity, proving the correctness of an HLS tool is prohibitively expensive. Translation validation is the process of proving that the target code is a correct translation of the source program being compiled. The path-based equivalence checking (PBEC) method is a widely used translation validation method for verification of the scheduling phase of HLS. The existing PBEC methods cannot handle significant control structure modification that occurs in the efficient scheduling of conditional behaviors. Hence, they produce a false-negative result. In this article, we identify some scenarios involving path merge/split where the state-of-the-art PBEC approaches fail to show the equivalence even though behaviors are equivalent. We propose a value propagation-based PBEC method along with a new cutpoint selection scheme to overcome this limitation. Our method can also handle the scenario where adjacent conditional blocks (CBs) having an equivalent conditional expression are combined into one CB. Experimental results demonstrate the usefulness of our method over the existing methods.</description><subject>Complexity theory</subject><subject>Computer bugs</subject><subject>Control methods</subject><subject>Equivalence</subject><subject>Equivalence checking</subject><subject>finite state machine with datapaths (FSMDs) model</subject><subject>formal verification</subject><subject>High level languages</subject><subject>High level synthesis</subject><subject>high-level synthesis (HLS)</subject><subject>Optimization</subject><subject>Scheduling</subject><subject>scheduling verification</subject><subject>Source programs</subject><subject>Sparks</subject><subject>translation validation</subject><subject>Verification</subject><subject>Very large scale integration</subject><issn>1063-8210</issn><issn>1557-9999</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2020</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><recordid>eNo9kE1PwzAMhiMEEmPwB-BSiXOH46ZtcoQJ2EQlDhu7RlmarJlKO5Ju0v49LZvwxbbs1x8PIfcUJpSCeFquisV8goAwQZFzZHhBRjRN81j0dtnHkCUxRwrX5CaELQBlTMCIfKyMd9Zp1bm2iVobLXRlyn3tms2QTdumdENJ1dGLqdTBtT5ErolmblPFhTmYOlocm64ywYVbcmVVHczd2Y_J19vrcjqLi8_3-fS5iDWKtIt1vgZKqS7zzFqmuOUlw8xgaZlOUoFc9B_xtVJlpgEAjTEi15StFcdMCUjG5PE0d-fbn70Jndy2e9-fGCQyyhkVLOF9F566tG9D8MbKnXffyh8lBTlAk3_Q5ABNnqH1ooeTyPVb_wUCGPKMJb_Gb2h5</recordid><startdate>20200701</startdate><enddate>20200701</enddate><creator>Chouksey, Ramanuj</creator><creator>Karfa, Chandan</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SP</scope><scope>8FD</scope><scope>L7M</scope><orcidid>https://orcid.org/0000-0003-1565-8588</orcidid><orcidid>https://orcid.org/0000-0002-3835-4184</orcidid></search><sort><creationdate>20200701</creationdate><title>Verification of Scheduling of Conditional Behaviors in High-Level Synthesis</title><author>Chouksey, Ramanuj ; Karfa, Chandan</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c295t-c7b0111cd76ff4a8f8d426e2df4c3592891098baad6c0002eee97c14ba826a903</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2020</creationdate><topic>Complexity theory</topic><topic>Computer bugs</topic><topic>Control methods</topic><topic>Equivalence</topic><topic>Equivalence checking</topic><topic>finite state machine with datapaths (FSMDs) model</topic><topic>formal verification</topic><topic>High level languages</topic><topic>High level synthesis</topic><topic>high-level synthesis (HLS)</topic><topic>Optimization</topic><topic>Scheduling</topic><topic>scheduling verification</topic><topic>Source programs</topic><topic>Sparks</topic><topic>translation validation</topic><topic>Verification</topic><topic>Very large scale integration</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Chouksey, Ramanuj</creatorcontrib><creatorcontrib>Karfa, Chandan</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library (IEL)</collection><collection>CrossRef</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>Advanced Technologies Database with Aerospace</collection><jtitle>IEEE transactions on very large scale integration (VLSI) systems</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Chouksey, Ramanuj</au><au>Karfa, Chandan</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Verification of Scheduling of Conditional Behaviors in High-Level Synthesis</atitle><jtitle>IEEE transactions on very large scale integration (VLSI) systems</jtitle><stitle>TVLSI</stitle><date>2020-07-01</date><risdate>2020</risdate><volume>28</volume><issue>7</issue><spage>1638</spage><epage>1651</epage><pages>1638-1651</pages><issn>1063-8210</issn><eissn>1557-9999</eissn><coden>IEVSE9</coden><abstract>High-level synthesis (HLS) technique translates the behaviors written in high-level languages like C/C++ into register transfer level (RTL) design. Due to its complexity, proving the correctness of an HLS tool is prohibitively expensive. Translation validation is the process of proving that the target code is a correct translation of the source program being compiled. The path-based equivalence checking (PBEC) method is a widely used translation validation method for verification of the scheduling phase of HLS. The existing PBEC methods cannot handle significant control structure modification that occurs in the efficient scheduling of conditional behaviors. Hence, they produce a false-negative result. In this article, we identify some scenarios involving path merge/split where the state-of-the-art PBEC approaches fail to show the equivalence even though behaviors are equivalent. We propose a value propagation-based PBEC method along with a new cutpoint selection scheme to overcome this limitation. Our method can also handle the scenario where adjacent conditional blocks (CBs) having an equivalent conditional expression are combined into one CB. Experimental results demonstrate the usefulness of our method over the existing methods.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/TVLSI.2020.2978242</doi><tpages>14</tpages><orcidid>https://orcid.org/0000-0003-1565-8588</orcidid><orcidid>https://orcid.org/0000-0002-3835-4184</orcidid></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1063-8210
ispartof IEEE transactions on very large scale integration (VLSI) systems, 2020-07, Vol.28 (7), p.1638-1651
issn 1063-8210
1557-9999
language eng
recordid cdi_ieee_primary_9042864
source IEEE Electronic Library (IEL)
subjects Complexity theory
Computer bugs
Control methods
Equivalence
Equivalence checking
finite state machine with datapaths (FSMDs) model
formal verification
High level languages
High level synthesis
high-level synthesis (HLS)
Optimization
Scheduling
scheduling verification
Source programs
Sparks
translation validation
Verification
Very large scale integration
title Verification of Scheduling of Conditional Behaviors in High-Level Synthesis
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-03T20%3A53%3A55IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Verification%20of%20Scheduling%20of%20Conditional%20Behaviors%20in%20High-Level%20Synthesis&rft.jtitle=IEEE%20transactions%20on%20very%20large%20scale%20integration%20(VLSI)%20systems&rft.au=Chouksey,%20Ramanuj&rft.date=2020-07-01&rft.volume=28&rft.issue=7&rft.spage=1638&rft.epage=1651&rft.pages=1638-1651&rft.issn=1063-8210&rft.eissn=1557-9999&rft.coden=IEVSE9&rft_id=info:doi/10.1109/TVLSI.2020.2978242&rft_dat=%3Cproquest_RIE%3E2418419438%3C/proquest_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2418419438&rft_id=info:pmid/&rft_ieee_id=9042864&rfr_iscdi=true