<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Xster.net &#187; engineering</title>
	<atom:link href="http://tech.xster.net/tag/engineering/feed/" rel="self" type="application/rss+xml" />
	<link>http://tech.xster.net</link>
	<description>Never relearn twice</description>
	<lastBuildDate>Fri, 20 Jan 2012 21:11:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Never Design with Block Diagrams Instead of VHDL</title>
		<link>http://tech.xster.net/tips/never-design-with-block-diagrams-instead-of-vhdl/</link>
		<comments>http://tech.xster.net/tips/never-design-with-block-diagrams-instead-of-vhdl/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 22:03:00 +0000</pubDate>
		<dc:creator>xiao</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Altera]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[Quartus]]></category>
		<category><![CDATA[VHDL]]></category>

		<guid isPermaLink="false">http://tech.xster.net/?p=4</guid>
		<description><![CDATA[Heed the warning and it will save you days in debugging with random error appearances that simply won&#8217;t go away with any numbers of repairs and recompilations because you&#8217;re simply not recompiling your circuitry! On designing FPGAs or CPLDs on Altera with their primary software designer, the Quartus, a compilation of a multi-level circuit will [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Heed the warning and it will save you days in debugging with random error appearances that simply won&#8217;t go away with any numbers of repairs and recompilations because you&#8217;re simply not recompiling your circuitry!</p>
<p>On designing FPGAs or CPLDs on Altera with their primary software designer, the Quartus, a compilation of a multi-level circuit will result in the compilation of only the topmost level. In order a change in say the bottom level, you would have to compile the bottom level, create new module symbol, go to the next level, update the symbol, compile that level, create module symbol and move one level up until the top which obviously makes it extremely ridiculous to debug.</p>
<p><span id="more-4"></span>Here&#8217;s some sample code for VHDL that does the same thing as block diagrams:</p>
<p>Suppose you have pre-made <code>level2</code> that you wish to put together</p>

<div class="wp_syntax"><div class="code"><pre class="vhdl" style="font-family:monospace;"><span style="color: #000080; font-weight: bold;">architecture</span> structure <span style="color: #000080; font-weight: bold;">of</span> toplevel <span style="color: #000080; font-weight: bold;">is</span>
    <span style="color: #000080; font-weight: bold;">component</span> level2
        <span style="color: #000080; font-weight: bold;">port</span> <span style="color: #000066;">&#40;</span>a,b<span style="color: #000066;">:</span> <span style="color: #000080; font-weight: bold;">in</span> <span style="color: #0000ff;">bit</span><span style="color: #000066;">;</span>
        c<span style="color: #000066;">:</span> <span style="color: #000080; font-weight: bold;">out</span> <span style="color: #0000ff;">bit</span><span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span>
    <span style="color: #000080; font-weight: bold;">end</span> <span style="color: #000080; font-weight: bold;">component</span><span style="color: #000066;">;</span>
<span style="color: #000080; font-weight: bold;">begin</span>
    c1<span style="color: #000066;">:</span> level2
        <span style="color: #000080; font-weight: bold;">port</span> <span style="color: #000080; font-weight: bold;">map</span> <span style="color: #000066;">&#40;</span>in11,in12,out1<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span>
    c2<span style="color: #000066;">:</span> level2
        <span style="color: #000080; font-weight: bold;">port</span> <span style="color: #000080; font-weight: bold;">map</span> <span style="color: #000066;">&#40;</span>int21,in22,out2<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span>
<span style="color: #000080; font-weight: bold;">end</span> structure<span style="color: #000066;">;</span></pre></div></div>

<div class="shr-publisher-4"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Ftech.xster.net%2Ftips%2Fnever-design-with-block-diagrams-instead-of-vhdl%2F' data-shr_title='Never+Design+with+Block+Diagrams+Instead+of+VHDL'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Ftech.xster.net%2Ftips%2Fnever-design-with-block-diagrams-instead-of-vhdl%2F' data-shr_title='Never+Design+with+Block+Diagrams+Instead+of+VHDL'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://tech.xster.net/tips/never-design-with-block-diagrams-instead-of-vhdl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

