<?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>Jeremy W. Langston</title>
	<atom:link href="http://blogs.cae.tntech.edu/jwlangston21/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.cae.tntech.edu/jwlangston21</link>
	<description>Personal Website</description>
	<lastBuildDate>Wed, 17 Mar 2010 02:46:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Atlas 10/12 Change Gears</title>
		<link>http://blogs.cae.tntech.edu/jwlangston21/2010/03/13/atlas-1012-change-gears/</link>
		<comments>http://blogs.cae.tntech.edu/jwlangston21/2010/03/13/atlas-1012-change-gears/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 03:09:08 +0000</pubDate>
		<dc:creator>jwlangston21</dc:creator>
				<category><![CDATA[Metalworking]]></category>

		<guid isPermaLink="false">http://blogs.cae.tntech.edu/jwlangston21/?p=61</guid>
		<description><![CDATA[I have several change gears on eBay (http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&#38;item=150423332041#ht_500wt_1182).  Here are the pics of each individual gear for sale.  I cleaned each gear and reapplied a thin coat of oil, so they are ready to go.

]]></description>
			<content:encoded><![CDATA[<p>I have several change gears on eBay (<a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=150423332041#ht_500wt_1182">http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=150423332041#ht_500wt_1182</a>).  Here are the pics of each individual gear for sale.  I cleaned each gear and reapplied a thin coat of oil, so they are ready to go.<a rel="attachment wp-att-59" href="http://blogs.cae.tntech.edu/jwlangston21/2010/03/13/atlas-1012-change-gears/img_0971_1/"><img class="aligncenter size-thumbnail wp-image-59" src="http://blogs.cae.tntech.edu/jwlangston21/files/2010/03/IMG_0971_1-150x150.jpg" alt="IMG_0971_1" width="150" height="150" /></a><a rel="attachment wp-att-58" href="http://blogs.cae.tntech.edu/jwlangston21/2010/03/13/atlas-1012-change-gears/img_0970_1/"><img class="aligncenter size-thumbnail wp-image-58" src="http://blogs.cae.tntech.edu/jwlangston21/files/2010/03/IMG_0970_1-150x150.jpg" alt="IMG_0970_1" width="150" height="150" /></a><a rel="attachment wp-att-57" href="http://blogs.cae.tntech.edu/jwlangston21/2010/03/13/atlas-1012-change-gears/img_0969_1/"><img class="aligncenter size-thumbnail wp-image-57" src="http://blogs.cae.tntech.edu/jwlangston21/files/2010/03/IMG_0969_1-150x150.jpg" alt="IMG_0969_1" width="150" height="150" /></a><a rel="attachment wp-att-56" href="http://blogs.cae.tntech.edu/jwlangston21/2010/03/13/atlas-1012-change-gears/img_0968_1/"><img class="aligncenter size-thumbnail wp-image-56" src="http://blogs.cae.tntech.edu/jwlangston21/files/2010/03/IMG_0968_1-150x150.jpg" alt="IMG_0968_1" width="150" height="150" /></a><a rel="attachment wp-att-55" href="http://blogs.cae.tntech.edu/jwlangston21/2010/03/13/atlas-1012-change-gears/img_0967_1/"><img class="aligncenter size-thumbnail wp-image-55" src="http://blogs.cae.tntech.edu/jwlangston21/files/2010/03/IMG_0967_1-150x150.jpg" alt="IMG_0967_1" width="150" height="150" /></a><a rel="attachment wp-att-54" href="http://blogs.cae.tntech.edu/jwlangston21/2010/03/13/atlas-1012-change-gears/img_0966_1/"><img class="aligncenter size-thumbnail wp-image-54" src="http://blogs.cae.tntech.edu/jwlangston21/files/2010/03/IMG_0966_1-150x150.jpg" alt="IMG_0966_1" width="150" height="150" /></a><a rel="attachment wp-att-53" href="http://blogs.cae.tntech.edu/jwlangston21/2010/03/13/atlas-1012-change-gears/img_0963_1/"><img class="aligncenter size-thumbnail wp-image-53" src="http://blogs.cae.tntech.edu/jwlangston21/files/2010/03/IMG_0963_1-150x150.jpg" alt="IMG_0963_1" width="150" height="150" /></a><a rel="attachment wp-att-52" href="http://blogs.cae.tntech.edu/jwlangston21/2010/03/13/atlas-1012-change-gears/img_0975_1/"><img class="aligncenter size-thumbnail wp-image-52" src="http://blogs.cae.tntech.edu/jwlangston21/files/2010/03/IMG_0975_1-150x150.jpg" alt="IMG_0975_1" width="150" height="150" /></a><br />
<a rel="attachment wp-att-60" href="http://blogs.cae.tntech.edu/jwlangston21/2010/03/13/atlas-1012-change-gears/img_0973_1/"><img class="aligncenter size-thumbnail wp-image-60" src="http://blogs.cae.tntech.edu/jwlangston21/files/2010/03/IMG_0973_1-150x150.jpg" alt="IMG_0973_1" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.cae.tntech.edu/jwlangston21/2010/03/13/atlas-1012-change-gears/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My New Lathe!</title>
		<link>http://blogs.cae.tntech.edu/jwlangston21/2010/03/05/my-new-lathe/</link>
		<comments>http://blogs.cae.tntech.edu/jwlangston21/2010/03/05/my-new-lathe/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 04:16:47 +0000</pubDate>
		<dc:creator>jwlangston21</dc:creator>
				<category><![CDATA[Metalworking]]></category>

		<guid isPermaLink="false">http://blogs.cae.tntech.edu/jwlangston21/?p=45</guid>
		<description><![CDATA[After several months of reading, waiting, and watching, I finally have my first metal lathe.  I found an Atlas 12&#215;54 Series F (circa 1950) from a nice guy in NE Tennessee.  There&#8217;s quite a bit of reading to still be done, as well as parts to be ordered, before I turn anything, but it&#8217;s in [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_47" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-47" src="http://blogs.cae.tntech.edu/jwlangston21/files/2010/03/IMG_0921-300x225.jpg" alt="Atlas 12x54 Lathe" width="300" height="225" /><p class="wp-caption-text">Atlas 12x54 Lathe</p></div>
<p>After several months of reading, waiting, and watching, I finally have my first metal lathe.  I found an Atlas 12&#215;54 Series F (circa 1950) from a nice guy in NE Tennessee.  There&#8217;s quite a bit of reading to still be done, as well as parts to be ordered, before I turn anything, but it&#8217;s in working condition!  Now to resist the urge to spend the same amount on tooling&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.cae.tntech.edu/jwlangston21/2010/03/05/my-new-lathe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google&#8217;s Meaning of Christmas</title>
		<link>http://blogs.cae.tntech.edu/jwlangston21/2009/12/07/googles-meaning-of-christmas/</link>
		<comments>http://blogs.cae.tntech.edu/jwlangston21/2009/12/07/googles-meaning-of-christmas/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 23:57:36 +0000</pubDate>
		<dc:creator>jwlangston21</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[christmas]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[meaning]]></category>

		<guid isPermaLink="false">http://blogs.cae.tntech.edu/jwlangston21/?p=36</guid>
		<description><![CDATA[I thought it would be interesting to see what the internets thinks Christmas is all about.  Here&#8217;s a breakdown of the first 200 webpages that pop up in Google with a response to &#8220;the meaning of Christmas is &#8220;&#8230;

Wondering about the &#8220;vengeance&#8221;?  Hint:  it comes from a movie.  Me?  In a word, it&#8217;s Jesus!
]]></description>
			<content:encoded><![CDATA[<p>I thought it would be interesting to see what the internets thinks Christmas is all about.  Here&#8217;s a breakdown of the first 200 webpages that pop up in Google with a response to <a title="&quot;the meaning of Christmas is &quot;" href="http://www.google.com/#hl=en&amp;source=hp&amp;q=%22the+meaning+of+Christmas+is%22&amp;aq=f&amp;aqi=&amp;oq=&amp;fp=f12fcec18c749993" target="_blank">&#8220;the meaning of Christmas is &#8220;</a>&#8230;</p>
<p><img class="aligncenter size-full wp-image-38" src="http://blogs.cae.tntech.edu/jwlangston21/files/2009/12/googlemeaning.PNG" alt="googlemeaning" width="483" height="522" /></p>
<p>Wondering about the &#8220;vengeance&#8221;?  Hint:  it comes from a movie.  Me?  In a word, it&#8217;s Jesus!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.cae.tntech.edu/jwlangston21/2009/12/07/googles-meaning-of-christmas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing and Using NTP with a Garmin 18 GPS (with PPS)</title>
		<link>http://blogs.cae.tntech.edu/jwlangston21/2009/12/07/installing-and-using-ntp-with-a-garmin-18-gps-with-pps/</link>
		<comments>http://blogs.cae.tntech.edu/jwlangston21/2009/12/07/installing-and-using-ntp-with-a-garmin-18-gps-with-pps/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 23:51:10 +0000</pubDate>
		<dc:creator>jwlangston21</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[garmin 18]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[ntp]]></category>
		<category><![CDATA[pps]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://blogs.cae.tntech.edu/jwlangston21/?p=32</guid>
		<description><![CDATA[I recently needed to synchronize a Windows XP machine with GPS time.  One of the requirements was sub-millisecond accuracy, which is no small thing for non-RTOS computers.  David Hart to the rescue!  He has written an driver for the NTP (network time protocol) service to incorporate a PPS (pulse per second) signal.  The PPS signal, [...]]]></description>
			<content:encoded><![CDATA[<p>I recently needed to synchronize a Windows XP machine with GPS time.  One of the requirements was sub-millisecond accuracy, which is no small thing for non-RTOS computers.  <a title="David Hart" href="http://www.davehart.net/ntp/refclock/" target="_blank">David Hart</a> to the rescue!  He has written an driver for the NTP (network time protocol) service to incorporate a PPS (pulse per second) signal.  The PPS signal, coming from a GPS, is highly accurate after sufficient time has elapsed for the GPS to sync with the satellites.  I&#8217;ve received a lot of help from <a title="David Taylor" href="http://www.satsignal.eu/ntp/NTP-on-Windows-serial-port.html" target="_blank">David Taylor</a>; thanks again, David!  So, without further ado, here&#8217;s an example of how to proceed with the installation:</p>
<p>[UPDATE:  from David Hart - "I've posted a new serialpps-20091228.zip which should correct that [install.bat bug]. The (huge) debug build of serialpps-ppsapi-provider.dll is also added, along with a tiny bit of instructions in install.bat regarding PPSAPI_DLLS.&#8221;]</p>
<p>1.  Configure hardware.<br />
Connect the PPS signal to the DCD pin on the RS232 connector.</p>
<p>2.  Install <a title="Meinberg NTP software" href="http://www.meinberg.de/english/sw/ntp.htm" target="_blank">Meinberg NTP software</a>.<br />
Keep all defaults.<br />
Create and use a special NTP account. (I always had problems using anything else)<br />
Account name:  ntp (use whatever you want)<br />
Account pass:  ntpntp</p>
<p>3.  Stop NTP.<br />
Run &#8220;C:\Program Files\NTP\bin\stopntp.bat&#8221;.   There are alot of useful utils in the \bin directory.</p>
<p>4.  Replace ntpd.exe with altered version.<br />
Extract &#8220;ntpd.exe&#8221; from &#8220;<a title="ntp-4.2.4p6-DLH-QPC-20090315-bin.zip" href="http://www.davehart.net/ntp/refclock/" target="_blank">ntp-4.2.4p6-DLH-QPC-20090315-bin.zip</a>&#8221;<br />
Copy to &#8220;C:\Program Files\NTP\bin&#8221;, replacing previous ntpd.exe.</p>
<p>5.  Install SerialPPS.<br />
Extract all from &#8220;<a title="serialpps-20090606.zip" href="http://www.davehart.net/ntp/refclock/serialpps-20090606.zip" target="_blank">serialpps-20090606.zip</a>&#8220;.<br />
Edit &#8220;install.bat&#8221;<br />
On line 6, remove &#8216;if &#8220;x86&#8243;==&#8221;%PROCESSOR_ARCHITECTURE&#8221; &#8216;<br />
Remove line 7 and 8 (you can just put &#8220;REM &#8221; in front and they will be ignored, almost like a comment)<br />
Run &#8220;install.bat&#8221;<br />
Ensure that &#8220;serialpps.sys&#8221; was copied to &#8220;C:\Windows\system32\drivers&#8221;<br />
Copy &#8220;serialpps-ppsapi-provider\x86\serialpps-ppsapi-provider.dll&#8221; to &#8220;C:\&#8221;<br />
Right-click &#8220;My Computer&#8221;, go to properties.<br />
Click &#8220;Advanced&#8221; tab<br />
Click &#8220;Environment Variables&#8221; button<br />
Under &#8220;System variables&#8221;, Click &#8220;New&#8221; button<br />
Name:  PPSAPI_DLLS<br />
Value: C:\serialpps-ppsapi-provider.dll</p>
<p>6.  Configure GPS (for Garmin)<br />
Run &#8220;<a title="SNSRCFG.exe" href="http://www8.garmin.com/support/download_details.jsp?id=925" target="_blank">SNSRCFG.exe</a>&#8221;<br />
Connect to GPS<br />
Configure<br />
Set baud rate to 4800<br />
Enable &#8220;Pulse Per Second&#8221;<br />
Press F7<br />
Enable GPRMC, disable others<br />
Send config to GPS</p>
<p>7.  Configure NTP<br />
Edit &#8220;C:\Program Files\NTP\etc\ntp.conf&#8221;<br />
Remove all entries, add the following<br />
driftfile &#8220;C:\Program Files\NTP\etc\ntp.drift&#8221;<br />
enable stats<br />
statsdir &#8220;C:\Program Files\NTP\etc\&#8221;<br />
statistics loopstats<br />
server 127.127.22.1 minpoll 4 #PPS<br />
server 127.127.20.1 iburst prefer minpoll 4 maxpoll 7 #GPS<br />
#fudge 127.127.20.1 time1 0.4 refid GPS #uncomment and change time1 as needed</p>
<p>8.  Ensure GPS is connected to serial port 1</p>
<p>9.  Restart computer</p>
<p>10. Unplug GPS and disable Microsoft Ball-mouse (if listed)<br />
Go to device manager: My Computer-&gt;Properties-&gt;Hardware-&gt;Device Manager<br />
Under &#8220;Mice and other pointing devices&#8221;, right-click and disable &#8220;Microsoft Serial BallPoint&#8221;</p>
<p>11. Reconnect GPS Restart computer</p>
<p>12. Start NTP server<br />
Run &#8220;C:\Program Files\NTP\bin\startntp.bat&#8221;</p>
<p>13. Monitor NTP server<br />
Run &#8220;C:\Program Files\NTP\bin\ntpstatus.bat&#8221;<br />
Both GPS and PPS should show up.  After the GPS gets a lock, NTP should sync to the servers.<br />
Refer to online documentation for help.<br />
Alternatively, use &#8220;NTP Time Server Monitor&#8221; from Meinberg</p>
<p>To Uninstall PPS driver, run &#8220;uninstall.bat&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.cae.tntech.edu/jwlangston21/2009/12/07/installing-and-using-ntp-with-a-garmin-18-gps-with-pps/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>DE2-70 SOPC Tutorial Introduction &#8211; A list of problems&#8230;and solutions!</title>
		<link>http://blogs.cae.tntech.edu/jwlangston21/2009/10/18/de2-70-sopc-tutorial-introduction-a-list-of-problems-and-solutions/</link>
		<comments>http://blogs.cae.tntech.edu/jwlangston21/2009/10/18/de2-70-sopc-tutorial-introduction-a-list-of-problems-and-solutions/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 00:45:11 +0000</pubDate>
		<dc:creator>jwlangston21</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[altera]]></category>
		<category><![CDATA[de2]]></category>
		<category><![CDATA[de2-70]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[nios]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[sopc]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blogs.cae.tntech.edu/jwlangston21/?p=17</guid>
		<description><![CDATA[I recently purchased a Terasic DE2-70 Cyclone II development board.  The makers have two prices:  $599 commercial and $349 academic.  If you&#8217;re a college student, the academic price is still too much.  After I got a job, made some money, and saved up, I sent the Taiwanese company Terasic a little email.  I told them [...]]]></description>
			<content:encoded><![CDATA[<p style="padding-left: 30px">I recently purchased a Terasic DE2-70 Cyclone II development board.  The makers have two prices:  $599 commercial and $349 academic.  If you&#8217;re a college student, the academic price is still too much.  After I got a job, made some money, and saved up, I sent the Taiwanese company Terasic a little email.  I told them I recently graduated and wanted to get the academic price, stating that I would be using it for personal learning, etc.  They were more than happy to offer the discount, so I&#8217;m now the proud owner of a DE2-70.  (By the way, they ship from Taiwan &#8211; viz. $40 shipping from the other side of the world.)</p>
<p>Well, having gone through Altera&#8217;s &#8220;<a title="Introduction to the Altera SOPC Builder Using VHDL Design" href="ftp://ftp.altera.com/up/pub/Tutorials/DE2/Computer_Organization/tut_sopc_introduction_vhdl.pdf" target="_blank">Introduction to the Altera SOPC Builder Using VHDL Design</a>&#8221; to remember how to use the software, I found multiple problems with the tutorial as it is.  I hope that listing the solutions here will help people in the same situation.  Some of these issues are obvious, and some are a bit more subtle.</p>
<p>I am using Quartus II 7.2 and  NiosII 7.2.</p>
<ol>
<li><em>In Step 1: &#8220;In your project, choose the EP2C35F672C6 chip as the target device, because this is the FPGA on the DE2 board&#8221;. </em>Well, the DE2-70 uses a different chip.  Choose the EP2C70F896C6.  This can be verified by simply looking at the text printed on the FPGA.</li>
<li><em>In Step 1: &#8220;You can choose a different directory or project name, but be aware that the SOPC Builder software does not permit the use of spaces in file names&#8221;. </em>This is true and I just wanted to make it obvious that you can&#8217;t have a space *anywhere* in the pathname.  For example, you would have problems in SOPC  Builder if your project was in &#8220;C:\Program Files\&#8230;&#8221; since that path contains a space.</li>
<li><em>In Step 6: &#8220;In the On-Chip Memory Configuration Wizard window, shown in Figure 8, set the memory width to 32 bits and the total memory size to 4 Kbytes&#8221;. </em>As I&#8217;ll be getting to shortly, the 4kB is not enough for the NiosII project.  Crank it up to 64kB for plenty of breathing room.</li>
<li><em>In Step 7: </em>The PIO is under <em>Peripherals -&gt; Microcontroller Peripherals -&gt; PIO (Parallel I/O).</em></li>
<li><em>In Step 9: </em>The JTAG UART is under <em>Interface Protocols -&gt; Serial -&gt; JTAG UART.</em></li>
<li><em>After Step 11: </em>Write down the base addresses of the PIOs after auto-assigning the addresses.  These will be needed for NiosII, as they are treated as memory-mapped I/O.</li>
<li><em>Before Step 12: </em>There are a couple &#8220;To Do&#8221;&#8217;s in the message window of SOPC Builder about the NiosII CPU that need to be addressed:  the reset and exception vectors.  Double-click the NiosII component you instantiated to open up the properties window you were at before.  Now that you have on-chip memory instantiated, click on the Reset Vector and Exception Vector Memory drop-down boxes and select the name of your memory (e.g. &#8220;onchip_mem&#8221;).  Leave the offsets the way they are (0&#215;0 and 0&#215;20).  Don&#8217;t worry about the <em>&#8220;Warning: Switches: PIO inputs are not hardwired in test bench. Undefined values will be read from PIO inputs during simulation.&#8221;</em>, this tutorial doesn&#8217;t do any test benches.</li>
<li><em>Importing </em>DE2_70_pin_assignments.csv.  This comma-separated file is located on the DE2-70 CD included with the kit, and it can also be found on the internets.  Mmm, google.  The naming convention for this Altera-supplied file changed from DE2 to DE2-70.  Open it and take a look.  There are now lower-case &#8216;i&#8217;s and &#8216;o&#8217;s before many of the hard-wired signals denoting them as input and output.  Remember this!  The HDL code needs to change reflecting this.  Otherwise the .csv needs changing, but I don&#8217;t suggest it.  Here&#8217;s my resulting code (remember, the port names may be different for your SOPC component):
<ul>
<li> LIBRARY ieee;<br />
USE ieee.std_logic_1164.all;<br />
USE ieee.std_logic_arith.all;<br />
USE ieee.std_logic_unsigned.all;</p>
<p>ENTITY lights IS<br />
PORT (<br />
iSW        : IN    STD_LOGIC_VECTOR(7 DOWNTO 0);<br />
iKEY    : IN    STD_LOGIC_VECTOR(0 DOWNTO 0);<br />
iCLK_50 : IN    STD_LOGIC;<br />
oLEDG    : OUT    STD_LOGIC_VECTOR(7 DOWNTO 0)<br />
);<br />
END lights;</p>
<p>ARCHITECTURE Structure OF lights IS<br />
COMPONENT nios_system is<br />
port (<br />
&#8211; 1) global signals:<br />
signal clk : IN STD_LOGIC;<br />
signal reset_n : IN STD_LOGIC;</p>
<p>&#8211; the_LEDs<br />
signal out_port_from_the_LEDs : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);</p>
<p>&#8211; the_Switches<br />
signal in_port_to_the_Switches : IN STD_LOGIC_VECTOR (7 DOWNTO 0)<br />
);<br />
END COMPONENT;</p>
<p>BEGIN<br />
NiosII:        nios_system PORT MAP(iCLK_50, iKEY(0), oLEDG, iSW);<br />
END Structure;</li>
</ul>
</li>
<li><em>Before Section 3.2: </em>If you&#8217;ve tried to do a full compilation at this point, you will probably see an unexpected error:
<ul>
<li>Error: Can&#8217;t place pins assigned to pin location Pin_AD25 (IOC_X95_Y2_N1)<br />
Info: Pin iSW[7] is assigned to pin location Pin_AD25 (IOC_X95_Y2_N1)<br />
Info: Pin ~LVDS195p/nCEO~ is assigned to pin location Pin_AD25 (IOC_X95_Y2_N1)<br />
Error: Can&#8217;t fit design in device<br />
Error: Quartus II Fitter was unsuccessful. 2 errors, 3 warnings<br />
Info: Allocated 215 megabytes of memory during processing<br />
Error: Processing ended: Sun Oct 18 19:11:13 2009<br />
Error: Elapsed time: 00:00:03<br />
Error: Quartus II Full Compilation was unsuccessful. 2 errors, 152 warnings</li>
<li><a title="Set nCEO as Regular I/O" href="http://www.alteraforum.com/forum/showthread.php?t=5851" target="_blank">Here is the fix:</a>
<ul>
<li><span style="font-family: Arial,Helvetica">In Quartus-II select menu Assignments&gt;Device&#8230; </span></li>
<li><span style="font-family: Arial,Helvetica">Select button &#8220;<strong>Device and Pin Options&#8230;</strong>&#8221; </span></li>
<li><span style="font-family: Arial,Helvetica">Select the tab &#8220;Dual-Purpose Pins&#8221; </span></li>
<li><span style="font-family: Arial,Helvetica">Under the list of &#8220;Dual-purpose pins:&#8221; change the &#8220;Value&#8221; property of nCEO to &#8220;Use as regular I/O&#8221;. </span></li>
<li><span style="font-family: Arial,Helvetica">Click <strong>OK</strong></span></li>
</ul>
</li>
</ul>
</li>
<li><em>After Section 3.2</em>:  If you are using the Web edition or didn&#8217;t buy the full license for the Altera IP, you probably got a pop-up window after programming the device stating <em>&#8220;OpenCore Plus Status Click Cancel to stop using OpenCore Plus IP.  Time remaining:  unlimited&#8221;</em>.  Do not close this window if you intend on using the NiosII IDE to run on the hardware.  Just leave the window up and close when you are done, or have a problem with Quartus or SOPC Builder.</li>
<li> I skipped over the Assembly programming section because this tutorial already gave me a headache.  I&#8217;m not a masochist.</li>
<li><em>In Section 4.2: </em>When you create a new project, create it in the following way:  <em>File -&gt; New -&gt; Project&#8230;</em> and select &#8220;Nios II C/C++ Application&#8221;.  Also, use the Hello World template.  It sets everything up for you, gives you printf functionality to the console, but takes up a bit more space.</li>
<li><em>lights.c</em>:  Here&#8217;s what I have in my file.  Again, it might be a bit different for the base addresses.
<ul>
<li>#include &lt;stdio.h&gt;<br />
#define Switches (volatile char*) 0&#215;21000<br />
#define LEDs (char*) 0&#215;21010</p>
<p>int main()<br />
{<br />
printf(&#8221;Hello from Nios II!\n&#8221;);<br />
while (1){<br />
*LEDs = *Switches;<br />
}<br />
return 0;<br />
}</li>
</ul>
</li>
<li>After all of that is done, you right-click on your project in NiosII IDE (e.g. hello_world_0) and click <em>&#8220;Run As -&gt; Nios II Hardware&#8221;</em>.</li>
<li>Done!  You can now move the switches (SW7 &#8211; 0) and see the LEDG7-0 change.  You can also reset the CPU using KEY0.</li>
</ol>
<p>I know how frustrating it can be trying to learn something when the tutorial is wrong.  Hope this helps!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.cae.tntech.edu/jwlangston21/2009/10/18/de2-70-sopc-tutorial-introduction-a-list-of-problems-and-solutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uploaded sample reports</title>
		<link>http://blogs.cae.tntech.edu/jwlangston21/2008/08/26/uploaded-sample-reports/</link>
		<comments>http://blogs.cae.tntech.edu/jwlangston21/2008/08/26/uploaded-sample-reports/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 00:41:43 +0000</pubDate>
		<dc:creator>jwlangston21</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.cae.tntech.edu/jwlangston21/?p=14</guid>
		<description><![CDATA[I have uploaded several reports I&#8217;ve written during my Master&#8217;s work.  Currently I am working to submit a paper to be published.  There&#8217;s a lot of work left to be done though.
Reports
]]></description>
			<content:encoded><![CDATA[<p>I have uploaded several reports I&#8217;ve written during my Master&#8217;s work.  Currently I am working to submit a paper to be published.  There&#8217;s a lot of work left to be done though.</p>
<p><a title="Reports" href="http://blogs.cae.tntech.edu/jwlangston21/reports/">Reports</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.cae.tntech.edu/jwlangston21/2008/08/26/uploaded-sample-reports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Site..again</title>
		<link>http://blogs.cae.tntech.edu/jwlangston21/2008/08/21/new-siteagain/</link>
		<comments>http://blogs.cae.tntech.edu/jwlangston21/2008/08/21/new-siteagain/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 00:53:00 +0000</pubDate>
		<dc:creator>jwlangston21</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://blogs.cae.tntech.edu/jwlangston21/?p=3</guid>
		<description><![CDATA[Just got a new domain host through TTU CAE, so all of my stuff will be moving over.  This includes my resume/bio, sample documents and projects, and some other info.
Thanks for the free hosting, Mike.
]]></description>
			<content:encoded><![CDATA[<p>Just got a new domain host through TTU CAE, so all of my stuff will be moving over.  This includes my resume/bio, sample documents and projects, and some other info.</p>
<p>Thanks for the free hosting, Mike.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.cae.tntech.edu/jwlangston21/2008/08/21/new-siteagain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
