A calculus for hardware description
In efforts to overcome the complexity of the syntax and the lack of formal semantics of conventional hardware description languages, a number of functional hardware description languages have been developed. Like conventional hardware description languages, however, functional hardware description l...
Gespeichert in:
Veröffentlicht in: | Journal of functional programming 2011-01, Vol.21 (1), p.21-58 |
---|---|
Hauptverfasser: | , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 58 |
---|---|
container_issue | 1 |
container_start_page | 21 |
container_title | Journal of functional programming |
container_volume | 21 |
creator | PARK, SUNGWOO IM, HYEONSEUNG |
description | In efforts to overcome the complexity of the syntax and the lack of formal semantics of conventional hardware description languages, a number of functional hardware description languages have been developed. Like conventional hardware description languages, however, functional hardware description languages eventually convert all source programs into netlists, which describe wire connections in hardware circuits at the lowest level and conceal all high-level descriptions written into source programs. We develop a calculus, called lλ (linear lambda), which may serve as an intermediate functional language just above netlists in the hierarchy of hardware description languages. In order to support higher-order functions, lλ uses a linear type system, which enforces the linear use of variables of function type. The translation of lλ into structural descriptions of hardware circuits is sound and complete in the sense that it maps expressions only to realizable hardware circuits, and that every realizable hardware circuit has a corresponding expression in lλ. To illustrate the use of lλ as a practical intermediate language for hardware description, we design a simple hardware description language that extends lλ with polymorphism, and use it to implement a fast Fourier transform circuit and a bitonic sorting network. |
doi_str_mv | 10.1017/S0956796810000249 |
format | Article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_1671290857</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><cupid>10_1017_S0956796810000249</cupid><sourcerecordid>2298895121</sourcerecordid><originalsourceid>FETCH-LOGICAL-c392t-cbd97951ec364b4a832901c0e90814659eba790dfc96bfd8cf66314c9fc463433</originalsourceid><addsrcrecordid>eNp1kEtLAzEUhYMoWKs_wN2gGzejyeR5l6X4goILdR0ydxKdMu3UZAbx35vSgqB4N3dxvnM4HELOGb1mlOmbZwpSaVCG0XyVgAMyYUJBqZXkh2SylcutfkxOUlpmxlTSTMjlrEDX4diNqQh9LN5dbD5d9EXjE8Z2M7T9-pQcBdclf7b_U_J6d_syfygXT_eP89miRA7VUGLdgAbJPHIlauEMr4AypB6oyVUk-NppoE1AUHVoDAalOBMIAYXigvMpudrlbmL_Mfo02FWb0HedW_t-TJYpzXKkkTqjF7_QZT_GdW5njTRUi0qZDLEdhLFPKfpgN7FdufhlGbXb1eyf1bKH7z1uVce2efM_yf-7vgFnXGwn</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>858074268</pqid></control><display><type>article</type><title>A calculus for hardware description</title><source>EZB-FREE-00999 freely available EZB journals</source><creator>PARK, SUNGWOO ; IM, HYEONSEUNG</creator><creatorcontrib>PARK, SUNGWOO ; IM, HYEONSEUNG</creatorcontrib><description>In efforts to overcome the complexity of the syntax and the lack of formal semantics of conventional hardware description languages, a number of functional hardware description languages have been developed. Like conventional hardware description languages, however, functional hardware description languages eventually convert all source programs into netlists, which describe wire connections in hardware circuits at the lowest level and conceal all high-level descriptions written into source programs. We develop a calculus, called lλ (linear lambda), which may serve as an intermediate functional language just above netlists in the hierarchy of hardware description languages. In order to support higher-order functions, lλ uses a linear type system, which enforces the linear use of variables of function type. The translation of lλ into structural descriptions of hardware circuits is sound and complete in the sense that it maps expressions only to realizable hardware circuits, and that every realizable hardware circuit has a corresponding expression in lλ. To illustrate the use of lλ as a practical intermediate language for hardware description, we design a simple hardware description language that extends lλ with polymorphism, and use it to implement a fast Fourier transform circuit and a bitonic sorting network.</description><identifier>ISSN: 0956-7968</identifier><identifier>EISSN: 1469-7653</identifier><identifier>DOI: 10.1017/S0956796810000249</identifier><language>eng</language><publisher>Cambridge, UK: Cambridge University Press</publisher><subject>Calculus ; Circuits ; Hardware ; Hardware description languages ; Mathematical analysis ; Networks ; Semantics ; Source programs</subject><ispartof>Journal of functional programming, 2011-01, Vol.21 (1), p.21-58</ispartof><rights>Copyright © Cambridge University Press 2010</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c392t-cbd97951ec364b4a832901c0e90814659eba790dfc96bfd8cf66314c9fc463433</citedby><cites>FETCH-LOGICAL-c392t-cbd97951ec364b4a832901c0e90814659eba790dfc96bfd8cf66314c9fc463433</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,777,781,27905,27906</link.rule.ids></links><search><creatorcontrib>PARK, SUNGWOO</creatorcontrib><creatorcontrib>IM, HYEONSEUNG</creatorcontrib><title>A calculus for hardware description</title><title>Journal of functional programming</title><addtitle>J. Funct. Prog</addtitle><description>In efforts to overcome the complexity of the syntax and the lack of formal semantics of conventional hardware description languages, a number of functional hardware description languages have been developed. Like conventional hardware description languages, however, functional hardware description languages eventually convert all source programs into netlists, which describe wire connections in hardware circuits at the lowest level and conceal all high-level descriptions written into source programs. We develop a calculus, called lλ (linear lambda), which may serve as an intermediate functional language just above netlists in the hierarchy of hardware description languages. In order to support higher-order functions, lλ uses a linear type system, which enforces the linear use of variables of function type. The translation of lλ into structural descriptions of hardware circuits is sound and complete in the sense that it maps expressions only to realizable hardware circuits, and that every realizable hardware circuit has a corresponding expression in lλ. To illustrate the use of lλ as a practical intermediate language for hardware description, we design a simple hardware description language that extends lλ with polymorphism, and use it to implement a fast Fourier transform circuit and a bitonic sorting network.</description><subject>Calculus</subject><subject>Circuits</subject><subject>Hardware</subject><subject>Hardware description languages</subject><subject>Mathematical analysis</subject><subject>Networks</subject><subject>Semantics</subject><subject>Source programs</subject><issn>0956-7968</issn><issn>1469-7653</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2011</creationdate><recordtype>article</recordtype><sourceid>ABUWG</sourceid><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><sourceid>GNUQQ</sourceid><recordid>eNp1kEtLAzEUhYMoWKs_wN2gGzejyeR5l6X4goILdR0ydxKdMu3UZAbx35vSgqB4N3dxvnM4HELOGb1mlOmbZwpSaVCG0XyVgAMyYUJBqZXkh2SylcutfkxOUlpmxlTSTMjlrEDX4diNqQh9LN5dbD5d9EXjE8Z2M7T9-pQcBdclf7b_U_J6d_syfygXT_eP89miRA7VUGLdgAbJPHIlauEMr4AypB6oyVUk-NppoE1AUHVoDAalOBMIAYXigvMpudrlbmL_Mfo02FWb0HedW_t-TJYpzXKkkTqjF7_QZT_GdW5njTRUi0qZDLEdhLFPKfpgN7FdufhlGbXb1eyf1bKH7z1uVce2efM_yf-7vgFnXGwn</recordid><startdate>201101</startdate><enddate>201101</enddate><creator>PARK, SUNGWOO</creator><creator>IM, HYEONSEUNG</creator><general>Cambridge University Press</general><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7SC</scope><scope>7XB</scope><scope>8AL</scope><scope>8FD</scope><scope>8FE</scope><scope>8FG</scope><scope>8FK</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>M0N</scope><scope>P5Z</scope><scope>P62</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>Q9U</scope></search><sort><creationdate>201101</creationdate><title>A calculus for hardware description</title><author>PARK, SUNGWOO ; IM, HYEONSEUNG</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c392t-cbd97951ec364b4a832901c0e90814659eba790dfc96bfd8cf66314c9fc463433</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2011</creationdate><topic>Calculus</topic><topic>Circuits</topic><topic>Hardware</topic><topic>Hardware description languages</topic><topic>Mathematical analysis</topic><topic>Networks</topic><topic>Semantics</topic><topic>Source programs</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>PARK, SUNGWOO</creatorcontrib><creatorcontrib>IM, HYEONSEUNG</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>Computer and Information Systems Abstracts</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>Computing Database (Alumni Edition)</collection><collection>Technology Research Database</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies & Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>Computing Database</collection><collection>Advanced Technologies & Aerospace Database</collection><collection>ProQuest Advanced Technologies & Aerospace Collection</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>ProQuest Central Basic</collection><jtitle>Journal of functional programming</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>PARK, SUNGWOO</au><au>IM, HYEONSEUNG</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>A calculus for hardware description</atitle><jtitle>Journal of functional programming</jtitle><addtitle>J. Funct. Prog</addtitle><date>2011-01</date><risdate>2011</risdate><volume>21</volume><issue>1</issue><spage>21</spage><epage>58</epage><pages>21-58</pages><issn>0956-7968</issn><eissn>1469-7653</eissn><abstract>In efforts to overcome the complexity of the syntax and the lack of formal semantics of conventional hardware description languages, a number of functional hardware description languages have been developed. Like conventional hardware description languages, however, functional hardware description languages eventually convert all source programs into netlists, which describe wire connections in hardware circuits at the lowest level and conceal all high-level descriptions written into source programs. We develop a calculus, called lλ (linear lambda), which may serve as an intermediate functional language just above netlists in the hierarchy of hardware description languages. In order to support higher-order functions, lλ uses a linear type system, which enforces the linear use of variables of function type. The translation of lλ into structural descriptions of hardware circuits is sound and complete in the sense that it maps expressions only to realizable hardware circuits, and that every realizable hardware circuit has a corresponding expression in lλ. To illustrate the use of lλ as a practical intermediate language for hardware description, we design a simple hardware description language that extends lλ with polymorphism, and use it to implement a fast Fourier transform circuit and a bitonic sorting network.</abstract><cop>Cambridge, UK</cop><pub>Cambridge University Press</pub><doi>10.1017/S0956796810000249</doi><tpages>38</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0956-7968 |
ispartof | Journal of functional programming, 2011-01, Vol.21 (1), p.21-58 |
issn | 0956-7968 1469-7653 |
language | eng |
recordid | cdi_proquest_miscellaneous_1671290857 |
source | EZB-FREE-00999 freely available EZB journals |
subjects | Calculus Circuits Hardware Hardware description languages Mathematical analysis Networks Semantics Source programs |
title | A calculus for hardware description |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-21T01%3A55%3A58IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=A%20calculus%20for%20hardware%20description&rft.jtitle=Journal%20of%20functional%20programming&rft.au=PARK,%20SUNGWOO&rft.date=2011-01&rft.volume=21&rft.issue=1&rft.spage=21&rft.epage=58&rft.pages=21-58&rft.issn=0956-7968&rft.eissn=1469-7653&rft_id=info:doi/10.1017/S0956796810000249&rft_dat=%3Cproquest_cross%3E2298895121%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=858074268&rft_id=info:pmid/&rft_cupid=10_1017_S0956796810000249&rfr_iscdi=true |