
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.hh.se/ceres/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.hh.se/ceres/index.php?action=history&amp;feed=atom&amp;title=Publications%3ASynthesizable_High_Level_Hardware_Descriptions</id>
		<title>Publications:Synthesizable High Level Hardware Descriptions - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.hh.se/ceres/index.php?action=history&amp;feed=atom&amp;title=Publications%3ASynthesizable_High_Level_Hardware_Descriptions"/>
		<link rel="alternate" type="text/html" href="https://wiki.hh.se/ceres/index.php?title=Publications:Synthesizable_High_Level_Hardware_Descriptions&amp;action=history"/>
		<updated>2026-05-23T00:58:14Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>https://wiki.hh.se/ceres/index.php?title=Publications:Synthesizable_High_Level_Hardware_Descriptions&amp;diff=4271&amp;oldid=prev</id>
		<title>Slawek: Created page with &quot;&lt;div style='display: none'&gt; == Do not edit this section == &lt;/div&gt; {{PublicationSetupTemplate|Author=Jennifer Gillenwater, Gregory Malecha, Cherif Salama, Angela Yun Zhu, Walid...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.hh.se/ceres/index.php?title=Publications:Synthesizable_High_Level_Hardware_Descriptions&amp;diff=4271&amp;oldid=prev"/>
				<updated>2014-06-26T03:44:53Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;div style=&amp;#039;display: none&amp;#039;&amp;gt; == Do not edit this section == &amp;lt;/div&amp;gt; {{PublicationSetupTemplate|Author=Jennifer Gillenwater, Gregory Malecha, Cherif Salama, Angela Yun Zhu, Walid...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div style='display: none'&amp;gt;&lt;br /&gt;
== Do not edit this section ==&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{PublicationSetupTemplate|Author=Jennifer Gillenwater, Gregory Malecha, Cherif Salama, Angela Yun Zhu, Walid Taha, Jim Grundy, John O’Leary&lt;br /&gt;
|PID=588246&lt;br /&gt;
|Name=Gillenwater, Jennifer (Rice University, 6100 Main St, Houston, TX 77005, United States);Malecha, Gregory (Rice University, 6100 Main St, Houston, TX 77005, United States);Salama, Cherif (Rice University, 6100 Main St, Houston, TX 77005, United States);Zhu, Angela Yun (Rice University, 6100 Main St, Houston, TX 77005, United States);Taha, Walid [waltah] (Rice University);Grundy, Jim (Intel Strategic CAD Labs, 2501 NW 229th Ave, Hillsboro, OR 97124, United States);O’Leary, John (Intel Strategic CAD Labs, 2501 NW 229th Ave, Hillsboro, OR 97124, United States)&lt;br /&gt;
|Title=Synthesizable High Level Hardware Descriptions&lt;br /&gt;
|PublicationType=Journal Paper&lt;br /&gt;
|ContentType=Refereegranskat&lt;br /&gt;
|Language=eng&lt;br /&gt;
|Journal=New generation computing&lt;br /&gt;
|JournalISSN=0288-3635&lt;br /&gt;
|Status=published&lt;br /&gt;
|Volume=28&lt;br /&gt;
|Issue=4&lt;br /&gt;
|HostPublication=&lt;br /&gt;
|Conference=&lt;br /&gt;
|StartPage=339&lt;br /&gt;
|EndPage=369&lt;br /&gt;
|Year=2010&lt;br /&gt;
|Edition=&lt;br /&gt;
|Pages=&lt;br /&gt;
|City=New York&lt;br /&gt;
|Publisher=Springer-Verlag New York&lt;br /&gt;
|Series=&lt;br /&gt;
|SeriesISSN=&lt;br /&gt;
|ISBN=&lt;br /&gt;
|Urls=&lt;br /&gt;
|ISRN=&lt;br /&gt;
|DOI=http://dx.doi.org/10.1007/s00354-008-0093-1&lt;br /&gt;
|ISI=000284289400002&lt;br /&gt;
|PMID=&lt;br /&gt;
|ScopusId=2-s2.0-78650128272&lt;br /&gt;
|NBN=urn:nbn:se:hh:diva-20944&lt;br /&gt;
|LocalId=&lt;br /&gt;
|ArchiveNumber=&lt;br /&gt;
|Keywords=Code Generation;Hardware Description Languages;Statically Typed Two-Level Languages;Synthesizability;Verilog Elaboration.&lt;br /&gt;
|Categories=Datorsystem (20206)&lt;br /&gt;
|ResearchSubjects=&lt;br /&gt;
|Projects=&lt;br /&gt;
|Notes=&lt;br /&gt;
|Abstract=&amp;lt;p&amp;gt;Modern hardware description languages support code generation constructs like generate/endgenerate in Verilog. These constructs are used to describe regular or parameterized hardware designsand, when used eﬀectively, can make hardware descriptions shorter, moreunderstandable, and more reusable. In practice, however, designers avoidthese abstractions because it is diﬃcult to understand and predict theproperties of the generated code. Is the generated code even type safe?Is it synthesizable? What physical resources (e.g. combinatorial gatesand ﬂip-ﬂops) does it require? It is often impossible to answer thesequestions without ﬁrst generating the fully-expanded code. In the Verilog and VHDL communities, this generation process is referred to as elaboration.This paper proposes a disciplined approach to elaboration in Verilog.∗1 By viewing Verilog as a statically typed two-level language, we are able to reﬂect the distinction between values that are known at elaborationtime and values that are part of the circuit computation. This distinctionis crucial for determining whether generative constructs, such as iterationand module parameters, are used in a synthesizable manner. This allowsus to develop a static type system that guarantees synthesizability. Thetype system achieves safety by performing additional checking on generative constructs and array indices. To illustrate this approach, we developa core calculus for Verilog that we call Featherweight Verilog (FV) andan associated static type system. We formally deﬁne a preprocessing stepanalogous to the elaboration phase of Verilog, and the kinds of errors thatcan occur during this phase. Finally, we show that a well-typed designcannot cause preprocessing errors, and that the result of its elaborationis always a synthesizable circuit.&amp;lt;/p&amp;gt;&lt;br /&gt;
|Opponents=&lt;br /&gt;
|Supervisors=&lt;br /&gt;
|Examiners=&lt;br /&gt;
|Patent=&lt;br /&gt;
|ThesisLevel=&lt;br /&gt;
|Credits=&lt;br /&gt;
|Programme=&lt;br /&gt;
|Subject=&lt;br /&gt;
|Uppsok=&lt;br /&gt;
|DefencePlace=&lt;br /&gt;
|DefenceLanguage=&lt;br /&gt;
|DefenceDate=&lt;br /&gt;
|CreatedDate=2013-01-14&lt;br /&gt;
|PublicationDate=2013-01-15&lt;br /&gt;
|LastUpdated=2013-01-16&lt;br /&gt;
|diva=http://hh.diva-portal.org/smash/record.jsf?searchId=1&amp;amp;pid=diva2:588246}}&lt;br /&gt;
&amp;lt;div style='display: none'&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Keep all hand-made modifications below ==&lt;br /&gt;
&amp;lt;/div&amp;gt;{{PublicationDisplayTemplate}}&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	</feed>