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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Journal of functional programming 2011-01, Vol.21 (1), p.21-58
Hauptverfasser: PARK, SUNGWOO, IM, HYEONSEUNG
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 &amp; 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 &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; 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