<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Hack a Day &#187; logic</title>
	<atom:link href="http://hackaday.com/tag/logic/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackaday.com</link>
	<description>Fresh hacks every day</description>
	<lastBuildDate>Fri, 10 Feb 2012 11:18:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='hackaday.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/5560f98f805877b0e332f191cb9e0af3?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Hack a Day &#187; logic</title>
		<link>http://hackaday.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://hackaday.com/osd.xml" title="Hack a Day" />
	<atom:link rel='hub' href='http://hackaday.com/?pushpress=hub'/>
		<item>
		<title>Challenge: Figure out how this logic-based chaser works</title>
		<link>http://hackaday.com/2012/01/25/challenge-figure-out-how-this-logic-based-chaser-works/</link>
		<comments>http://hackaday.com/2012/01/25/challenge-figure-out-how-this-logic-based-chaser-works/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 16:01:12 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[classic hacks]]></category>
		<category><![CDATA[cd4017]]></category>
		<category><![CDATA[chaser]]></category>
		<category><![CDATA[larson scanner]]></category>
		<category><![CDATA[logic]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=66125</guid>
		<description><![CDATA[[Andrea] built this LED chaser using one logic chip. It illuminates all but one of the six LEDs, with the dim bit moving back and forth along the row in a chase sequence. This is something like an inverse Larson Scanner without the fading tail. But doing it with a logic chip instead of a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=66125&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-66127" title="logic-based-chaser" src="http://hackadaycom.files.wordpress.com/2012/01/logic-based-chaser-e1327419485356.jpg" alt="" width="470" height="353" /></p>
<p>[Andrea] <a href="http://www.instructables.com/id/LED-chaser/">built this LED chaser</a> using one logic chip. It illuminates all but one of the six LEDs, with the dim bit moving back and forth along the row in a chase sequence. This is something like an inverse <a href="http://hackaday.com/2011/10/28/detailed-tutorial-shows-how-to-unleash-your-inner-michael-knight/">Larson Scanner</a> without the fading tail. But doing it with a logic chip instead of a microcontroller is a fun challenge.</p>
<p>Which brings us to the point of this feature. [Andrea] didn&#8217;t really post an explanation of how the circuit works. Usually missing details mean that we archive the tip and move on to the next one, but we think this provides a fun activity. Can you figure out how the circuit works? We already know that it&#8217;s using a CD4017 decade counter/divider chip. This gets its clock signal from a 555 timer circuit. [Andrea's] schematic is a bit hard to read, but grab a copy, blow it up a bit (or use your browser zoom) and study the <a href="http://www.datasheetcatalog.org/datasheets/90/108738_DS.pdf">CD4017 datasheet</a> (PDF) if you need to.</p>
<p>Want proof that it does actually work? It&#8217;s embedded after the break.</p>
<p><span id="more-66125"></span><span style="text-align:center; display: block;"><a href="http://hackaday.com/2012/01/25/challenge-figure-out-how-this-logic-based-chaser-works/"><img src="http://img.youtube.com/vi/WXmFH5tPrCA/2.jpg" alt="" /></a></span></p>
<br />Filed under: <a href='http://hackaday.com/category/classic-hacks/'>classic hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/66125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/66125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/66125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/66125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/66125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/66125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/66125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/66125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/66125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/66125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/66125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/66125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/66125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/66125/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=66125&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2012/01/25/challenge-figure-out-how-this-logic-based-chaser-works/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2012/01/logic-based-chaser-e1327419485356.jpg" medium="image">
			<media:title type="html">logic-based-chaser</media:title>
		</media:content>
	</item>
		<item>
		<title>FPGA Snake game uses no VHDL at all</title>
		<link>http://hackaday.com/2012/01/20/fpga-snake-game-uses-no-vhdl-at-all/</link>
		<comments>http://hackaday.com/2012/01/20/fpga-snake-game-uses-no-vhdl-at-all/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 17:01:15 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[schematic]]></category>
		<category><![CDATA[snake]]></category>
		<category><![CDATA[snes]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=65826</guid>
		<description><![CDATA[We&#8217;re really not supposed to start a feature like this; but this hack is awesome. It&#8217;s a game of Snake implemented by an FPGA dev board. It uses a 16&#215;16 LED matrix as the display and an SNES controller for input. So far it sounds like a very normal version of the game. But as [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=65826&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-65829" title="fpga-snake-uses-no-vhdl" src="http://hackadaycom.files.wordpress.com/2012/01/fpga-snake-uses-no-vhdl.png" alt="" width="470" height="329" /></p>
<p>We&#8217;re really not supposed to start a feature like this; but this hack is <strong><em>awesome</em></strong>. It&#8217;s a game of <a href="http://www.youtube.com/watch?v=niQmNYPiPw0">Snake implemented by an FPGA</a> dev board. It uses a 16&#215;16 LED matrix as the display and an SNES controller for input. So far it sounds like a very normal version of the game. But as you start to hear how it works in the presentation after the break you fall in love with what&#8217;s going on here.</p>
<p>First of all, it&#8217;s not written in VHDL &#8212; the predominant programming language for FPGAs. Instead, [Darrell] used the schematic-only approach to build the logic. Okay, that&#8217;s starting to get more interesting. As he continues to explain the circuit we get to see how the control input works (pretty simple since <a href="http://hackaday.com/2011/09/08/arcade-controller-in-a-box/">the SNES controller uses a parallel-to-serial shift register</a>) and how the display is multiplexed. But the actual game logic is where things really take off. Each pixel in the display has its own individual logic circuit. Basically every cell is its own processor which reacts both to what is passed into it, as well as to a random seed. That seed system is called the &#8216;bucket brigade&#8217; and passes a chance to spawn a piece of food from one cell to the next. All of this together makes for one simple game that is eloquently executed.<span id="more-65826"></span><span style="text-align:center; display: block;"><a href="http://hackaday.com/2012/01/20/fpga-snake-game-uses-no-vhdl-at-all/"><img src="http://img.youtube.com/vi/niQmNYPiPw0/2.jpg" alt="" /></a></span></p>
<br />Filed under: <a href='http://hackaday.com/category/microcontrollers/'>Microcontrollers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/65826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/65826/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/65826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/65826/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/65826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/65826/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/65826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/65826/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/65826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/65826/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/65826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/65826/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/65826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/65826/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=65826&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2012/01/20/fpga-snake-game-uses-no-vhdl-at-all/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2012/01/fpga-snake-uses-no-vhdl.png" medium="image">
			<media:title type="html">fpga-snake-uses-no-vhdl</media:title>
		</media:content>
	</item>
		<item>
		<title>7400 drum machine is a delight</title>
		<link>http://hackaday.com/2011/10/22/7400-drum-machine-is-a-delight/</link>
		<comments>http://hackaday.com/2011/10/22/7400-drum-machine-is-a-delight/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 17:01:10 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[musical hacks]]></category>
		<category><![CDATA[7400]]></category>
		<category><![CDATA[drum machine]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[synthesizer]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=59219</guid>
		<description><![CDATA[[74hc595] just finished his entry in the 7400 logic contest. It&#8217;s a drum machine built entirely from 7400-series logic chips. He hasn&#8217;t quite reached full completion of the project yet. The hardware works just fine, and he&#8217;s built a foam core face plate with many more controls than you see here but much of the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=59219&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-59220" title="7400-drum-machine" src="http://hackadaycom.files.wordpress.com/2011/10/7400-drum-machine-e1319209622171.jpg" alt="" width="470" height="351" /></p>
<p>[74hc595] just finished his entry in the 7400 logic contest. It&#8217;s <a href="https://github.com/74hc595/7400-Drum-Machine">a drum machine built entirely from 7400-series logic chips</a>. He hasn&#8217;t quite reached full completion of the project yet. The hardware works just fine, and he&#8217;s built a foam core face plate with many more controls than you see here but much of the circuit is still on a breadboard at this point and only two of the channels have been complete thus far.</p>
<p>Jump to the video clip after the break to get the details of how the system works and to hear it in action. This demonstration is one of the best we&#8217;ve seen for a synthesizer project as he actually talks about what each control does, and how that is accomplished with the hardware. We&#8217;re not going to go into detail about the circuitry he&#8217;s designed. As we said before, it uses 7400 logic but also sources a 555 timer to keep the beat. The page linked above has a PDF of the schematic available and you could really lose a lot of time studying how he did this. We might even try to build it in a simulator to see what we can learn.</p>
<p><span id="more-59219"></span><span style="text-align:center; display: block;"><a href="http://hackaday.com/2011/10/22/7400-drum-machine-is-a-delight/"><img src="http://img.youtube.com/vi/QsSKh7Z2EVs/2.jpg" alt="" /></a></span></p>
<br />Filed under: <a href='http://hackaday.com/category/musical-hacks/'>musical hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/59219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/59219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/59219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/59219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/59219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/59219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/59219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/59219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/59219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/59219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/59219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/59219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/59219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/59219/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=59219&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/10/22/7400-drum-machine-is-a-delight/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/10/7400-drum-machine-e1319209622171.jpg" medium="image">
			<media:title type="html">7400-drum-machine</media:title>
		</media:content>
	</item>
		<item>
		<title>Discrete logic driving game development</title>
		<link>http://hackaday.com/2011/09/25/discrete-logic-driving-game-development/</link>
		<comments>http://hackaday.com/2011/09/25/discrete-logic-driving-game-development/#comments</comments>
		<pubDate>Sun, 25 Sep 2011 15:01:13 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[7400]]></category>
		<category><![CDATA[discrete]]></category>
		<category><![CDATA[driving]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[racer]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=56713</guid>
		<description><![CDATA[[Caleb] is hard at work on a driving game based on 7400 series logic chips. This will be his entry in the Open 7400 Logic Competition, and it really outlines why this contest is especially tricky. The concept behind the game is quite simple. You&#8217;re the driver of a car (the red dot at the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=56713&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-56714" title="discrete-logic-driving-game" src="http://hackadaycom.files.wordpress.com/2011/09/discrete-logic-driving-game-e1316888424948.png" alt="" width="470" height="282" /></p>
<p>[Caleb] is hard at work on <a href="http://cpprojects.blogspot.com/2011/09/game-criteria.html">a driving game based on 7400 series logic chips</a>. This will be his entry in the <a href="http://hackaday.com/2011/09/02/get-out-the-graph-paper-get-started-on-the-new-discrete-logic-contest/">Open 7400 Logic Competition</a>, and it really outlines why this contest is especially tricky.</p>
<p>The concept behind the game is quite simple. You&#8217;re the driver of a car (the red dot at the bottom of the display square seen above) and need to navigate the curves in the road as you drive along. It&#8217;s the same game as we saw <a href="http://hackaday.com/2011/06/20/receipt-racer-wastes-a-lot-of-paper/">played on receipt paper</a> back in June. [Caleb's] using and LED matrix as the display, and we&#8217;re confident that if we grabbed our favorite microcontroller we could have this up and running on an 8&#215;8 bi-color display in an afternoon. But doing it without the crutch of a programmable chip really brings out the clever engineer inside of you.</p>
<p>The circuit seen above is a <a href="http://hackaday.com/2011/02/09/logisim-open-source-digital-logic-simulator/">Logisim</a> proof-of-concept that [Caleb] went on to <a href="http://cpprojects.blogspot.com/2011/09/little-bit-of-bread-boarding.html">test on the breadboard</a>. He thought he had everything figured out until he realized that his Data Flip-Flops were very occasionally not powering up in the same state as he predicted. Don&#8217;t worry, he found <a href="http://cpprojects.blogspot.com/2011/09/test-test-and-retest.html">a solution to the problem</a>. But we can&#8217;t wait to see what other hurdles he encounters as he pushes on toward completing the project.</p>
<br />Filed under: <a href='http://hackaday.com/category/misc-hacks/'>misc hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/56713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/56713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/56713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/56713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/56713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/56713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/56713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/56713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/56713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/56713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/56713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/56713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/56713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/56713/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=56713&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/09/25/discrete-logic-driving-game-development/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/09/discrete-logic-driving-game-e1316888424948.png" medium="image">
			<media:title type="html">discrete-logic-driving-game</media:title>
		</media:content>
	</item>
		<item>
		<title>Get out the graph paper get started on the new discrete logic contest</title>
		<link>http://hackaday.com/2011/09/02/get-out-the-graph-paper-get-started-on-the-new-discrete-logic-contest/</link>
		<comments>http://hackaday.com/2011/09/02/get-out-the-graph-paper-get-started-on-the-new-discrete-logic-contest/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 19:01:43 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[contests]]></category>
		<category><![CDATA[7400]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[discrete]]></category>
		<category><![CDATA[logic]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=54657</guid>
		<description><![CDATA[Here&#8217;s another chance to ply your hacking skills for cash and prizes. Dangerous Prototypes has just announced the Open 7400 Logic Competition. First prize is $100 and a bunch of hacking goodies. But even better is that since it was announced, more sponsors have stepped up to increase the kitty, and the number of entries [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=54657&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-54658" title="discrete-logic-contest" src="http://hackadaycom.files.wordpress.com/2011/09/discrete-logic-contest-e1314979863503.jpg" alt="" width="470" height="263" /></p>
<p>Here&#8217;s another chance to ply your hacking skills for cash and prizes. Dangerous Prototypes has just announced the <a href="http://dangerousprototypes.com/open-7400-logic-competition/">Open 7400 Logic Competition</a>. First prize is $100 and a bunch of hacking goodies. But even better is that since it was announced, more sponsors have stepped up to increase the kitty, and the number of entries that will get prizes.</p>
<p>The parameters for entry are wide open. You can design anything you want, with emphasis on originality. Make sure you take plenty of pictures and document the project along the way. Their judging will take into consideration the amount of detail posted about the project (hence the &#8216;Open&#8217; in the contest title).</p>
<p>Need some ideas to get you started? We enjoyed <a href="http://hackaday.com/2011/08/07/most-useless-machine-upgrade-now-with-a-button/">the useless machine</a> that used a 7400 NAND gate. You could always build a time piece of some sort like <a href="http://hackaday.com/2010/04/03/clock-sans-microcontroller/">this no-microcontroller clock</a>. Perhaps hardware control like <a href="http://hackaday.com/2011/07/11/building-a-stepper-driver/">this stepper motor driver</a> is more to your liking?</p>
<p>[Thanks Moderboy]</p>
<br />Filed under: <a href='http://hackaday.com/category/contests/'>contests</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/54657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/54657/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/54657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/54657/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/54657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/54657/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/54657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/54657/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/54657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/54657/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/54657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/54657/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/54657/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/54657/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=54657&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/09/02/get-out-the-graph-paper-get-started-on-the-new-discrete-logic-contest/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/09/discrete-logic-contest-e1314979863503.jpg" medium="image">
			<media:title type="html">discrete-logic-contest</media:title>
		</media:content>
	</item>
		<item>
		<title>Binary clock using logic chips and mains frequency</title>
		<link>http://hackaday.com/2011/01/16/binary-clock-using-logic-chips-and-mains-frequency/</link>
		<comments>http://hackaday.com/2011/01/16/binary-clock-using-logic-chips-and-mains-frequency/#comments</comments>
		<pubDate>Sun, 16 Jan 2011 18:00:07 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[clock hacks]]></category>
		<category><![CDATA[binary]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[mains]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=32986</guid>
		<description><![CDATA[[Osgeld] built himself a binary clock. He didn&#8217;t take the time to explain his project, but he did post beautifully hand-drawn schematics and pictures of the circuit (PDF) as he was building it. We&#8217;ve seen clock projects that use mains frequency as the clock source and that&#8217;s the route that [Osgeld] chose for his build. He [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=32986&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-32987" title="binary-clock-uses-mains-clock-signal" src="http://hackadaycom.files.wordpress.com/2011/01/binary-clock-uses-mains-clock-signal-e1295193433292.png" alt="" width="470" height="353" /></p>
<p>[Osgeld] built himself a binary clock. He didn&#8217;t take the time to explain his project, but he did post beautifully hand-drawn <a href="http://cheesefactory.us/filecenter/ttl_binary_clock.pdf">schematics and pictures of the circuit</a> (PDF) as he was building it. We&#8217;ve seen clock projects that <a href="http://hackaday.com/2010/04/07/logic-clock-without-an-on-board-oscillator/">use mains frequency as the clock source</a> and that&#8217;s the route that [Osgeld] chose for his build. He started with a 9-12V AC wall wort as a power input. From there it&#8217;s just a matter of using a bridge rectifier to convert to DC, then a 7805 linear regulator to establish a steady 5V rail. A resistor and a couple of diodes allow him to pull the 60 Hz frequency off of the incoming AC, and then use a combination of 4000 and 7400 logic chips to count the pulses and keep track of the time.</p>
<br />Filed under: <a href='http://hackaday.com/category/clock-hacks/'>clock hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/32986/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/32986/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/32986/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/32986/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/32986/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/32986/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/32986/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/32986/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/32986/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/32986/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/32986/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/32986/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/32986/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/32986/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=32986&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/01/16/binary-clock-using-logic-chips-and-mains-frequency/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/01/binary-clock-uses-mains-clock-signal-e1295193433292.png" medium="image">
			<media:title type="html">binary-clock-uses-mains-clock-signal</media:title>
		</media:content>
	</item>
		<item>
		<title>Lazarus-64, not actually 64 bit but still blows our minds</title>
		<link>http://hackaday.com/2010/09/29/lazarus-64-not-actually-64-bit-but-still-blows-our-minds/</link>
		<comments>http://hackaday.com/2010/09/29/lazarus-64-not-actually-64-bit-but-still-blows-our-minds/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 17:00:02 +0000</pubDate>
		<dc:creator>Jakob Griffith</dc:creator>
				<category><![CDATA[home entertainment hacks]]></category>
		<category><![CDATA[74H]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[ic]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=28694</guid>
		<description><![CDATA[Lazarus-64, breadboard game system; certainly sounds like something from the 1980s. We were surprised to find out not only the name, but also all the ICs used are only those available from the retro age of 30 years back (Save for the AVR controlling everything, of course). Even more amazing is how it has 256 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=28694&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-28695" title="Really, add 64 onto anything and its immediatly cooler. Milk-64. " src="http://hackadaycom.files.wordpress.com/2010/09/20.jpg" alt="" width="470" height="286" /></p>
<p>Lazarus-64, breadboard game system; certainly <a href="http://www.lucidscience.com/pro-lazarus-64%20prototype-1.aspx">sounds like something from the 1980s</a>. We were surprised to find out not only the name, but also all the ICs used are only those available from the retro age of 30 years back (Save for the AVR controlling everything, of course). Even more amazing is how it has 256 flicker free color support, while not using NTSC chips. Which Goes to show that even if there are common solutions out there for cheap, building or compiling your own is not necessarily a bad thing or a waste of time.</p>
<p>There is a whole lot more to Lazarus, including double buffering and VMS, but sadly it appears progress has stopped on the Lazarus-64 breadboard game system, with the last update being last year. But we can still bask in the amazing glow that currently is.</p>
<br />Filed under: <a href='http://hackaday.com/category/home-entertainment-hacks/'>home entertainment hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/28694/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/28694/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/28694/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/28694/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/28694/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/28694/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/28694/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/28694/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/28694/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/28694/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/28694/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/28694/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/28694/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/28694/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=28694&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/09/29/lazarus-64-not-actually-64-bit-but-still-blows-our-minds/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Jakob Griffith</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/09/20.jpg" medium="image">
			<media:title type="html">Really, add 64 onto anything and its immediatly cooler. Milk-64. </media:title>
		</media:content>
	</item>
		<item>
		<title>ZeroPlus logic cube modification</title>
		<link>http://hackaday.com/2010/03/30/zeroplus-logic-cube-modification/</link>
		<comments>http://hackaday.com/2010/03/30/zeroplus-logic-cube-modification/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 19:51:40 +0000</pubDate>
		<dc:creator>Caleb Kraft</dc:creator>
				<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[openschemes]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[zeroplus]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=22861</guid>
		<description><![CDATA[the folks over at OpenSchemes are at it again. This time they&#8217;ve cracked open a low end ZerPlus logic analyzer and modified it to function the same as the higher end model. The 16 channel version they purchased appeared to be fully capable of handling the 32 channels of the more expensive model. The installation [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=22861&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-22863" title="zeroplus-logic-cube-hacked" src="http://hackadaycom.files.wordpress.com/2010/03/zeroplus-logic-cube-hacked1.jpg" alt="" width="470" height="482" /></p>
<p>the folks over at OpenSchemes are at it again. This time they&#8217;ve <a href="http://www.openschemes.com/modules/wordpress/2010/03/27/zeroplus-logic-cube-the-modification/">cracked open a low end ZerPlus logic analyzer and modified it</a> to function the same as the higher end model. The 16 channel version they purchased appeared to be fully capable of handling the 32 channels of the more expensive model. The installation of the additional components looks like it might be somewhat difficult, but it is certainly cheap.We love seeing things <a href="http://hackaday.com/2010/03/10/50mhz-to-100mhz-scope-conversion/">upgraded for cheap</a>. You might recognize OpenSchemes from when they upgraded the <a href="http://hackaday.com/2009/08/31/hacking-the-smart-tweezers/">DMM tweezers</a> or hacked the <a href="http://hackaday.com/2009/09/23/hacking-usb-serial-port-adapters/">USB serial adapters</a>.</p>
<p>[via<a href="http://hackedgadgets.com/2010/03/29/zeroplus-logic-cube-hacked/"> HackedGadgets</a>]</p>
<br />Filed under: <a href='http://hackaday.com/category/tool-hacks/'>tool hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/22861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/22861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/22861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/22861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/22861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/22861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/22861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/22861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/22861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/22861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/22861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/22861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/22861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/22861/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=22861&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/03/30/zeroplus-logic-cube-modification/feed/</wfw:commentRss>
		<slash:comments>118</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Caleb Kraft</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/03/zeroplus-logic-cube-hacked1.jpg" medium="image">
			<media:title type="html">zeroplus-logic-cube-hacked</media:title>
		</media:content>
	</item>
		<item>
		<title>Open source logic analyzer</title>
		<link>http://hackaday.com/2009/07/23/open-source-logic-analyzer/</link>
		<comments>http://hackaday.com/2009/07/23/open-source-logic-analyzer/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 20:28:21 +0000</pubDate>
		<dc:creator>Gerrit Coetzee</dc:creator>
				<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[butterfly light]]></category>
		<category><![CDATA[butterfly platform]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[Gadget Factory]]></category>
		<category><![CDATA[Jack Gasset]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[logic analyzer]]></category>
		<category><![CDATA[salae]]></category>
		<category><![CDATA[xilinix]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=12892</guid>
		<description><![CDATA[[Jack Gasset] sends in the logic analyzer he&#8217;s been working on. The logic analyzer boasts an impressive array of features, it can sample 32 channels at 100MHz, 16 channels at 200MHz, SPI, UART, I2C and more. The analyzer&#8217;s maximum sample size is 4K for now, and it supports RLE to reduce the memory consumed. The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=12892&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><span style="text-align:center; display: block;"><a href="http://hackaday.com/2009/07/23/open-source-logic-analyzer/"><img src="http://img.youtube.com/vi/kqwtzUUPqu8/2.jpg" alt="" /></a></span></p>
<p>[Jack Gasset] <a href="http://www.gadgetfactory.net/gf/project/lax/">sends in the logic analyzer he&#8217;s been working on</a>. The logic analyzer boasts an impressive array of features, it can sample 32 channels at 100MHz, 16 channels at 200MHz, SPI, UART, I2C and more. The analyzer&#8217;s maximum sample size is 4K for now, and it supports RLE to reduce the memory consumed. The analyzer connects to a java client on a standard PC via USB. The <a href="http://www.gadgetfactory.net/gf/project/butterfly_main/">open source hardware based on a Xilinix FPGA</a> can be <a href="http://shop.gadgetfactory.net/index.php?main_page=product_info&amp;cPath=1&amp;products_id=5">purchased pre-assembled for $100</a> which makes it a direct competitor for the <a href="http://hackaday.com/2009/03/06/tools-saleae-logic-logic-analyzer/">Salea logic analyzer we reviewed</a> earlier this year.</p>
<br />Posted in tool hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/12892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/12892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/12892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/12892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/12892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/12892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/12892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/12892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/12892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/12892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/12892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/12892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/12892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/12892/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=12892&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/07/23/open-source-logic-analyzer/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Gerrit Coetzee</media:title>
		</media:content>
	</item>
		<item>
		<title>Tools: Saleae Logic, logic analyzer</title>
		<link>http://hackaday.com/2009/03/06/tools-saleae-logic-logic-analyzer/</link>
		<comments>http://hackaday.com/2009/03/06/tools-saleae-logic-logic-analyzer/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 21:58:09 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[reviews]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[logic analyzer]]></category>
		<category><![CDATA[reverse engineering]]></category>
		<category><![CDATA[saleae]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=8836</guid>
		<description><![CDATA[A logic analyzer records bus communications between two chips. If you&#8217;ve ever had a problem getting two chips to talk, or wanted to reverse engineer a protocol, a logic analyzer is the tool you need to spy on the bus. The Logic is a USB logic analyzer with eight channels and sampling rates up to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=8836&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-8870" title="cover1" src="http://hackadaycom.files.wordpress.com/2009/03/cover1.jpg" alt="cover1" width="450" height="325" /></p>
<p>A logic analyzer records bus communications between two chips. If you&#8217;ve ever had a problem getting two chips to talk, or wanted to reverse engineer a protocol, a logic analyzer is the tool you need to spy on the bus.</p>
<p><a href="http://www.saleae.com/logic/">The Logic</a> is a USB logic analyzer with eight channels and  sampling rates up to 24MHz. Among hobby-level logic analyzers, the Logic has a good mix of features and decent sampling rates. We&#8217;ve been following Joe Garrison&#8217;s work on the Logic for a long time. If you&#8217;ve ever considered bringing a product to market, you can learn a lot from <a href="http://saleae.vox.com/">Joe&#8217;s blog</a> that documents his development process.</p>
<p>When it debuted, the Logic was so popular that it was hard to buy one. It&#8217;s now widely available, and Saleae gave us one to try. Read our review below.</p>
<p><span id="more-8836"></span></p>
<p><em>Logic Analyzers vs. Oscilloscopes</em></p>
<p>Most modern electronics projects will benefit more from a logic analyzer than an oscilloscope. An oscilloscope displays a graph of an analog voltage as it varies over time, such as the curve of a sine wave. A logic analyzer only detects high and low digital states, but it records many signals simultaneously. Logic analyzers dump data to a computer for analysis, very few oscilloscopes have this feature.</p>
<p><em>What you get</em></p>
<p><em><img class="alignnone size-full wp-image-8873" title="whatugetiv" src="http://hackadaycom.files.wordpress.com/2009/03/whatugetiv.jpg" alt="whatugetiv" width="450" height="351" /><br />
</em></p>
<p>The Logic comes packaged in an external hard drive case. The analyzer is a small, anodized aluminum puck with laser etched signal markers. It&#8217;s much smaller than we expected, slightly smaller than a compact flash storage card. A mini-B USB cable is included.</p>
<p>A heavy-gauge cable and nine <a href="http://www.e-z-hook.com/Html/MicroHooks.html">E-Z-Hooks</a> (5 shown) connect the Logic to a circuit. The hooks are a really nice touch; press the back of the hook to expose a pair of tweezers, grab onto a signal wire, and retract to hold it in place. The retractable tweezers prevent accidental shorts on cramped test circuits.</p>
<p>Software isn&#8217;t included, instead you get instructions to <a href="http://www.saleae.com/downloads/">download</a> the latest version from the Saleae web site. We always download the latest software, so we appreciate that there&#8217;s one less CD headed to the landfill.</p>
<p>Right now, only Windows XP/Vista software is available, but Mac and Linux software <a href="http://saleae.vox.com/library/post/inventory-assembly-fulfillment-new-marketing-test-sales-sluggish-linuxmac-whats-next.html">should be ready soon</a>. Warning: the Windows version requires .NET 3.5, download the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=333325FD-AE52-4E35-B531-508D977D32A6&amp;displaylang=en">redistributable off-line installer</a> if you don&#8217;t want to give internet access to Microsoft&#8217;s online installer.</p>
<p><em>Using it</em></p>
<p><img class="alignnone size-full wp-image-8858" title="breadboard" src="http://hackadaycom.files.wordpress.com/2009/03/breadboard.jpg" alt="breadboard" width="450" height="326" /></p>
<p>Using the Logic is simple. Connect the gray ground wire to the ground of the test circuit, then hook into the signal lines you want to record. We connected it to the <a href="http://hackaday.com/2009/03/02/parts-32kb-spi-sram-memory-23k256/">32K SPI SRAM</a> that we demonstrated earlier this week. <a href="http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus">SPI</a> has four important signals; enable, data in, data out, and clock. The E-Z-Hooks make it dead simple to tap into the signals without accidental shorts.</p>
<p>Be mindful of wire orientation. We associate a black wire with ground, but the Logic cable uses gray. <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8938">Comments</a> on SparkFun&#8217;s product page suggest that reversing the connections will damage the Logic.</p>
<p><em><img class="alignnone size-full wp-image-8864" title="trigger" src="http://hackadaycom.files.wordpress.com/2009/03/trigger.png" alt="trigger" width="449" height="231" /><br />
</em></p>
<p>The software analyzes and displays signal captures. The primary configuration options are the sampling rate (200KHz-24MHz) and number of samples (millions to billions). We were able to sample at 24MHz, but the top speed depends on how much other stuff is using the USB bus. A 24MHz sampling rate can capture signals up to 12MHz, we found this suitable for all the protocols we use. The total number of samples is limited only by the available PC RAM.</p>
<p>There&#8217;s a four level trigger that watches the signals, and waits for a specific combination before it starts recording samples.  Since we&#8217;re analyzing SPI, the most logical place to start capturing is when the SPI enable signal drops at the beginning of a bus transaction. We set the Logic trigger to start sampling when SPI enable is 0 by changing its trigger to &#8217;0&#8242;.</p>
<p><img class="alignnone size-full wp-image-8865" title="interp" src="http://hackadaycom.files.wordpress.com/2009/03/interp.png" alt="interp" width="450" height="145" /></p>
<p>We really like the profiles that decode most common serial protocols; 1-Wire, I2C, SPI, and asynchronous serial.  CAN and other protocols <a href="http://saleae.vox.com/library/post/1-wire-goodness-now-shipping.html">will be added eventually</a>.</p>
<p>Profiles suggest names for each signal, and convert squiggly lines into readable byte values. This is a really awesome feature. Without it, you&#8217;d have to count clock pulses to identify byte boundaries, and then manually decode the values.</p>
<p>This transaction shows the host issue the read configuration register command (0&#215;05), and the SRAM response (0&#215;41).</p>
<p><img class="alignnone size-full wp-image-8875" title="1-wire" src="http://hackadaycom.files.wordpress.com/2009/03/1-wire.png" alt="1-wire" width="450" height="41" /></p>
<p>We also tried the 1-Wire decoder with a <a href="http://hackaday.com/2008/12/24/parts-1k-1-wire-eeprom-ds2431/">DS2431 EEPROM</a>. The software identified the 1-Wire reset command, and the 1-Wire &#8216;search rom&#8217; command (0xf0).</p>
<p><em>A look inside</em></p>
<p><em><img class="alignnone size-full wp-image-8899" title="insideii" src="http://hackadaycom.files.wordpress.com/2009/03/insideii.jpg" alt="insideii" width="450" height="307" /><br />
</em></p>
<p>The Logic is based on the Cypress Semiconductor <a href="http://www.cypress.com/products/index.jsp?fid=14&amp;rpn=CY7C68013A">CY7C68013A-56PVXC</a>, an Intel 8052 microcontroller with a USB peripheral. The <a href="http://en.wikipedia.org/wiki/Intel_8051#Related_processors">8052</a> is an enhanced version of the well-known <a href="http://en.wikipedia.org/wiki/Intel_8051">8051</a>. We can also identify a 24MHz crystal, which is probably multiplied to 48 or 96MHz by an internal <a href="http://en.wikipedia.org/wiki/Phase-locked_loop">phase-locked loop</a>.</p>
<p><em>Conclusion</em></p>
<p>Logic analyzers take the guess work out of debugging inter-chip communication. If you can&#8217;t see what&#8217;s going on, the best you can do is guess about the problem. When a project won&#8217;t work, 99% of the time we can solve the problem immediately by looking at the signals with a logic analyzer. Without it, there&#8217;s no easy way to know what&#8217;s happening.</p>
<p>The Logic records 8 channels at 24MHz. The Windows software has useful features, and there&#8217;s an SDK if you want to write your own apps. Linux and Mac versions are under development. We really like this logic analyzer, and plan to use it to illustrate future articles.</p>
<p>The Logic is $149 at the <a href="http://www.saleae.com/logic/">Saleae website</a> and <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8938">SparkFun</a>, and Joe is working on EU distribution. If you&#8217;re interested in the Logic, but aren&#8217;t ready to buy, you can <a href="http://www.saleae.com/downloads/">download the software</a> and try it in demo mode.</p>
<p><strong>Hack a Day review disclosure</strong>: We asked for a Logic and Saleae sent it to us</p>
<br />Posted in reviews  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/8836/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/8836/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/8836/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/8836/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/8836/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/8836/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/8836/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/8836/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/8836/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/8836/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/8836/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/8836/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/8836/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/8836/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=8836&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/03/06/tools-saleae-logic-logic-analyzer/feed/</wfw:commentRss>
		<slash:comments>62</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/cover1.jpg" medium="image">
			<media:title type="html">cover1</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/whatugetiv.jpg" medium="image">
			<media:title type="html">whatugetiv</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/breadboard.jpg" medium="image">
			<media:title type="html">breadboard</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/trigger.png" medium="image">
			<media:title type="html">trigger</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/interp.png" medium="image">
			<media:title type="html">interp</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/1-wire.png" medium="image">
			<media:title type="html">1-wire</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/03/insideii.jpg" medium="image">
			<media:title type="html">insideii</media:title>
		</media:content>
	</item>
		<item>
		<title>Working with VFDs</title>
		<link>http://hackaday.com/2008/12/25/working-with-vfds/</link>
		<comments>http://hackaday.com/2008/12/25/working-with-vfds/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 21:38:38 +0000</pubDate>
		<dc:creator>Eliot</dc:creator>
				<category><![CDATA[classic hacks]]></category>
		<category><![CDATA[led hacks]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[peripherals hacks]]></category>
		<category><![CDATA[4000]]></category>
		<category><![CDATA[4094]]></category>
		<category><![CDATA[40xx]]></category>
		<category><![CDATA[7400]]></category>
		<category><![CDATA[74xx]]></category>
		<category><![CDATA[digital logic]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[nixie]]></category>
		<category><![CDATA[nixie tube]]></category>
		<category><![CDATA[spritesmods]]></category>
		<category><![CDATA[sprite_tm]]></category>
		<category><![CDATA[vfd]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=7215</guid>
		<description><![CDATA[We love old display technology, like Nixie tubes, but they&#8217;re often difficult to work with because they require higher voltages than digital logic. Vacuum florescent displays (VFD) fall into this category. While not necessarily &#8220;old&#8221;, they are becoming far less common than LCDs. The main benefit of a VFD is that it actually produces light [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=7215&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-7216" title="vfd" src="http://hackadaycom.files.wordpress.com/2008/12/vfd.jpg" alt="vfd" width="450" height="325" /></p>
<p>We love old display technology, like <a title="Hack a Day" href="http://hackaday.com/?s=nixie">Nixie tubes</a>, but they&#8217;re often difficult to work with because they require higher voltages than digital logic. Vacuum florescent displays (<a title="Vacuum fluorescent display - Wikipedia, the free encyclopedia" href="http://en.wikipedia.org/wiki/Vacuum_fluorescent_display">VFD</a>) fall into this category. While not necessarily &#8220;old&#8221;, they are becoming far less common than LCDs. The main benefit of a VFD is that it actually produces light directly; it doesn&#8217;t require a backlight. You&#8217;ll find these displays on various players and appliances: CD, DVD, VCR, microwaves, stoves, car headunits, and others.</p>
<p>[Sprite_tm] had written off some VFDs, but recently <a title="Sprites mods - Simple VFD-controller - A whatnow?" href="http://spritesmods.com/?art=vfdcontroller&amp;page=1">revisited them with renewed interest</a>. He started by testing what sort of voltage would be required to drive the display. It took 3V for the filament plus 15V to drive the grids. There are VFD controller chips available, but he wanted to get this working with what he had on hand. He had experience with older <a title="4000 series - Wikipedia, the free encyclopedia" href="http://en.wikipedia.org/wiki/4000_series">40xx</a> series logic, which can be powered by much higher voltages than 5V <a title="7400 series - Wikipedia, the free encyclopedia" href="http://en.wikipedia.org/wiki/7400_series">74xx</a>. His final schematic has three 4094 serial to parallel chips with an ATtiny2313 controller. A 5V power supply is dropped to 3V with diodes to drive the filament while a boost converter brings it up to 15V for the 4094s that switch the segments. While the code is specific to this display, it would be a great place to start your own project.</p>
<br />Posted in classic hacks, led hacks, misc hacks, peripherals hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/7215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/7215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/7215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/7215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/7215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/7215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/7215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/7215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/7215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/7215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/7215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/7215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/7215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/7215/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=7215&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/12/25/working-with-vfds/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">RobotSkirts</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/vfd.jpg" medium="image">
			<media:title type="html">vfd</media:title>
		</media:content>
	</item>
		<item>
		<title>How-to: Programmable logic devices (CPLD)</title>
		<link>http://hackaday.com/2008/12/11/how-to-programmable-logic-devices-cpld/</link>
		<comments>http://hackaday.com/2008/12/11/how-to-programmable-logic-devices-cpld/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 02:41:20 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[complex programmable logic device]]></category>
		<category><![CDATA[cpld]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[programmable logic]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=6790</guid>
		<description><![CDATA[Complex programmable logic devices (CPLDs) contain the building blocks for hundreds of 7400-serries logic ICs. Complete circuits can be designed on a PC and then uploaded to a CPLD for instant implementation. A microcontroller connected to a CPLD is like a microcontroller paired with a reprogrammable circuit board and a fully stocked electronics store. At [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=6790&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-6845" title="cover-450" src="http://hackadaycom.files.wordpress.com/2008/12/cover-450.jpg" alt="cover-450" width="450" height="257" /></p>
<p><a href="http://en.wikipedia.org/wiki/CPLD">Complex programmable logic devices</a> (CPLDs) contain the building blocks for hundreds of <a href="http://en.wikipedia.org/wiki/7400_series">7400-serries logic ICs</a>. Complete circuits can be designed on a PC and then uploaded to a CPLD for instant implementation. A microcontroller connected to a CPLD is like a microcontroller paired with a reprogrammable circuit board and a fully stocked electronics store.</p>
<p>At first we weren&#8217;t sure of the wide appeal and application of CPLDs in hobbyist projects, but we&#8217;ve been convinced. A custom logic device can eliminate days of reading datasheets, finding the <a href="http://en.wikipedia.org/wiki/7400_series#7400_series_subfamilies">ideal logic IC combination</a>, and then waiting for chips to arrive. Circuit boards are simpler with CPLDs because a single chip with programmable pin placement can replace <a href="http://en.wikipedia.org/wiki/List_of_7400_series_integrated_circuits">100s of individual logic ICs</a>. Circuit mistakes can be corrected by uploading a new design, rather than etching and stuffing a new circuit board. CPLDs are fast, with reaction times starting at 100MHz. Despite their extreme versatility, CPLDs are a mature technology with chips starting at $1.</p>
<p>We&#8217;ve got a home-etchable, self programming development board to get you started. Don&#8217;t worry, this board has a serial port interface for working with the CPLD, and doesn&#8217;t require a separate (usually parallel port) JTAG programmer.</p>
<p><span id="more-6790"></span><strong>Intro to CPLDs</strong></p>
<p><strong><img class="alignnone size-full wp-image-6840" title="bitclone-24fv1final" src="http://hackadaycom.files.wordpress.com/2008/12/bitclone-24fv1final.jpg" alt="bitclone-24fv1final" width="450" height="191" /><br />
</strong></p>
<p><em>When to use a CPLD</em><strong><br />
</strong></p>
<p>Consider using a CPLD when a design calls for more than one 7400 series logic ICs. A CPLD will be cheaper, faster, and can be programmed with your ideal pin-out configuration for simpler PCBs.</p>
<p>Use a CPLD in tricky designs that might require several iterations. It&#8217;s easier to design a new circuit in software and upload it to the CPLD than it is to design, etch, and stuff a new circuit board.</p>
<p>For maximum speed and instant response, choose a CPLD. The difference in speed is amazing; CPLDs start at a 100MHz, while microcontrollers respond to interrupts at a few MHz. CPLD designs form circuits that react to external stimulus, reactions occur almost instantaneously. A microcontroller executes code to react to events, even interrupt routines have comparatively high latency.</p>
<p><em>CPLD vs FPGA</em></p>
<p><a href="http://en.wikipedia.org/wiki/Field-programmable_gate_array">FPGA</a>s are better known than CPLDs, but they share many characteristics. This analogy isn&#8217;t perfect, but we like it: where FPGAs are a reprogrammable processor core, a CPLD is a reprogrammable circuit board or breadboard. FPGAs replace microcontrollers, memory, and other components. CPLDs absorb logic ICs, and work well with a microcontroller.</p>
<p><em>Manufacturers</em></p>
<p><a href="http://www.altera.com/">Altera</a> and <a href="http://www.xilinx.com/">Xilinx</a>, the biggest CPLD manufacturers, are better known for their FPGAs. <a href="http://www.latticesemi.com/">Lattice Semiconductor</a> is another large CPLD manufacturer with less community following. <a href="http://www.atmel.com">Atmel</a> makes <a href="http://www.atmel.com/dyn/products/devices.asp?family_id=653">pin-compatible versions</a> of old industry-standard CPLDs.</p>
<p>If you plan to work at 5volts, your options are limited. Xilinx XC9500 CPLDs are still available as new old stock, but cost four times more than newer 3.3volt equivalents. Atmel&#8217;s <a href="http://www.atmel.com/dyn/products/product_card.asp?part_id=2123">ATF1502 series</a> works at 5volts, but they don&#8217;t offer a free development environment.</p>
<p>At 3.3volts there&#8217;s more options, but new CPLDs increasingly have a core that runs at 2.5volts, 1.8volts, or lower. The Altera <a href="http://www.altera.com/products/devices/cpld/max2/mx2-index.jsp">MAXII</a> and the Xilinx <a href="http://www.xilinx.com/products/xc9500xl/index.htm">XC9500XL</a> series are probably the most popular 3.3volt CPLDs. Xilinx also makes the <a href="http://www.xilinx.com/products/coolrunner2/">CoolrunnerII</a> CPLD, but it only comes in a TQFP package and requires a separate 1.8volt supply for the core.</p>
<p><em>Packages</em></p>
<p>Most manufacturers offer one or two CPLDs in a hobbyist friendly<a href="http://en.wikipedia.org/wiki/Plastic_leaded_chip_carrier"> PLCC 44 package</a>, though this is starting to disappear. PLCC is an SOIC-sized surface mount chip with pins on all four sides. PLCC44 sockets are commonly available in through-hole and SMD versions. Unfortunately, newer CPLD families are starting to eliminate the PLCC package and offer only 44 pin and larger TQFP chips, such as Xilinx&#8217;s CoolrunnerII.</p>
<p><em>Development environments</em></p>
<p>Most manufacturers offer a free development environment that supports design entry using simple schematics, as well as <a href="http://en.wikipedia.org/wiki/Verilog">Verilog</a> or <a href="http://en.wikipedia.org/wiki/VHDL">VHDL</a>. Many won&#8217;t support the latest FPGAs in the free version, but we only need the CPLD parts anyway. Altera has <a href="https://www.altera.com/support/software/download/sof-download_center.html">Quartus</a>, Xilinx has <a href="http://www.xilinx.com/products/design_resources/design_tool/index.htm">ISE</a>, and Lattice has <a href="http://www.latticesemi.com/dynamic/index.cfm?fuseaction=view_category&amp;document_type=65&amp;source=topnav">ispLever</a>. Atmel has <a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2756">ProChip Designer</a> for the ATF15xx series, but they only offer a 6month trial license &#8212; which they wouldn&#8217;t actually give us.</p>
<p><em>Programmers</em></p>
<p>The development board we present doesn&#8217;t need a separate JTAG programmer because the PIC microcontroller already programs the CPLD.  If you want an external programmer, the cheapest are the parallel port programmers: <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8460">Parallel Cable III for Xilinx</a> and <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8705">BytleBlaster for Altera</a>. Inexpensive clones, and schematics, are available at SparkFun.  The<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8278"> OpenOCD</a> is a generic USB JTAG programmer that will work with many CPLDs, FPGAs, and ARMs.</p>
<p><em>Our choice</em></p>
<p>We eventually settled on the Xilinx XC9500XL series because it had a cheap development kit we could use to <a href="http://hackaday.com/2008/12/01/bus-pirate-firmware-update-v0c-jtag-and-more/">test our JTAG programmer</a> prior to implementing an entire design.</p>
<p>The <a href="http://www.xilinx.com/products/devkits/DO-CPLD-DK-G.htm">DO-CPLD-DK</a> from <a href="http://www.digilentinc.com/Products/Detail.cfm?Prod=XC2XL&amp;Nav1=Products&amp;Nav2=Programmable">Digilent</a> includes a XC9572XL, a CoolrunnerII, and parallel port programmer. Nu Horizons has some <a href="https://webapps.nuhorizons.com/storefront/PartSearch.do;jsessionid=916F131647DF384D1C7D5D21956D5A63?PostAction=GO&amp;ItemsPerPage=25&amp;PartNumberHolder=&amp;Mode=initSearch&amp;Commodity=ALL&amp;InStockOnly=FALSE&amp;I6.y=0&amp;Manufacturer=ALLMFG&amp;InStockOnly1=N&amp;PartNumberSearch=DO-CPLD-DK&amp;pSearchType=CompanyPart&amp;PageNum=1&amp;PbFreeOnly1=N&amp;NextPage=1&amp;I6=go&amp;ResultsPerPage=10&amp;PbFreeOnly=FALSE&amp;I6.x=0&amp;prevSearchType=">old non-ROHS models for $40</a>, but due to sloppy variable type handling in their credit card processing scripts, we couldn&#8217;t complete an order online. We tried to do it over the phone but they refused to take such a small order on the phone, even during a website malfunction. In the end, it was cheaper to pay full price at Digikey (#<a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=122-1512-ND">122-1512-ND</a>) after including New Horizon&#8217;s exorbitant shipping charges. We wouldn&#8217;t normally mention this, but with only two places to buy the board it&#8217;s probably worth noting our experience.</p>
<p><strong>CPLD development board</strong></p>
<p><strong><img class="alignnone size-full wp-image-6844" title="cct-crop-450" src="http://hackadaycom.files.wordpress.com/2008/12/cct-crop-450.jpg" alt="cct-crop-450" width="450" height="202" /></strong></p>
<p><a href="http://hackadaycom.files.wordpress.com/2008/12/cct.png">Click here for a full size schematic image</a> (PNG). The circuit and PCB are designed using the freeware version of <a href="http://www.cadsoft.de">Cadsoft Eagle</a>. All the files for this project are included in the project archive linked at the end of the article.</p>
<p><em>Circuit</em></p>
<p>A PIC <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1335&amp;dDocName=en026374">24FJ64GA002</a> microcontroller (IC1) provides the user and programming interface to the CPLD. We use this $4 PIC in a lot of projects because the peripheral pin select feature makes board routing really easy. Check out our <a href="http://hackaday.com/2008/09/18/web-server-on-a-business-card-part-1/">introduction to the PIC24F</a> for more details. The PIC needs to communicate with a PC serial port, so we added an inexpensive MAX3232 RS232 transceiver. The serial interface should work with a USB-&gt;serial adapter.</p>
<p>Our choice of CPLD (IC3), a Xilinx <a href="http://www.xilinx.com/support/documentation/data_sheets/ds057.pdf">XC9572XL</a> (PDF), is connected between the PIC and several other components. We can create an endless variety of circuitry between the PIC and other chips using the reprogrammable logic inside the CPLD.<em> </em>The PIC will program the CPLD with code sent from a PC serial port, but we still brought the JTAG pins to a header for easy external debugging.</p>
<p>A <a href="http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3491">DS1085 digital programmable oscillator</a> (IC4) generates clock frequencies between 8KHz and 133MHz, at 10KHz increments. This is very similar to the <a href="http://hackaday.com/2008/11/28/parts-133mhz-162khz-programmable-oscillator-ds1077/">DS1077 we covered earlier,</a> but it has even steps between all frequencies. The DS1085 requires a 5volt supply (VR2). The I2C interface also runs at 5volts, so we connected it to 5volt tolerant PIC pins. It&#8217;s possible to use the 3.3volt 66MHz 1085L instead, and remove the 5volt supply.</p>
<p>We used a cheap 3.3volt SOT223 voltage regulator (VR1) to power most of the circuit.  The 5volt supply (VR2) can be excluded if you use a slower 1085L 3.3volt oscillator.</p>
<p>CPLDs are commonly used as a memory controller, so we included 32K of SRAM (IC5) on the development board. A 3.3volt latch with 5volt tolerant inputs interface the memory inputs to a wide range of external voltages (IC6). The latch inputs are held low with a 1Mohm resistor network (RN1). We&#8217;ll discuss this section extensively in an upcoming article.</p>
<p><em>PCB</em></p>
<p>The board is a quasi one-sided design. We made several compromises so we could prototype this highly experimental PCB ourselves. We present the board &#8216;as is&#8217; for other die-hards that might want to etch this board at home. If you send the PCB to a board house, try to correct these issues prior to producing a &#8216;real&#8217; double-sided board.</p>
<p>One power pin of the CPLD is missing a decoupling capacitor entirely; there was no way to put a capacitor in that area. One CPLD decoupling capacitor, and the SRAM decoupling capacitor, are through-hole parts. Using these through-hole parts eliminated a few jumper wires.</p>
<p><img class="alignnone size-full wp-image-6839" title="backside-450" src="http://hackadaycom.files.wordpress.com/2008/12/backside-450.jpg" alt="backside-450" width="450" height="257" /></p>
<p>The jumper wires on the back of the board are optimized for single-sided production, rather than good design practices. We faked a double-sided board by soldering the power bus on the back. A real double-sided board design should route the power bus to avoid crossing signal paths, and include the missing decoupling capacitors.</p>
<p>We used an surface mount PLCC chip socket, but a through-hole version is definitely a better idea. We though the SMD version would be easy to solder, but it turned out to be a nightmare. We really wanted the CPLD to be on the front of the board for the coolest possible presentation. A proper two-sided board with plated through-holes can have a through-hole socket on the front, but this wasn&#8217;t possible with our 1-sided prototype board.</p>
<p><em>Parts list</em></p>
<p><em><img class="alignnone size-full wp-image-6841" title="brd-450" src="http://hackadaycom.files.wordpress.com/2008/12/brd-450.png" alt="brd-450" width="450" height="256" /></em></p>
<p><a href="http://hackadaycom.files.wordpress.com/2008/12/brd.png">Click here for a full size placement diagram</a> (PNG).<em><br />
</em></p>
<table border="0">
<tbody>
<tr>
<td><strong>Part</strong></td>
<td><strong>Value</strong></td>
</tr>
<tr>
<td>IC1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=V%2fyyTCAHA4D%2fh5r3CRQDtA%3d%3d">PIC25FJ64GA002</a> (SOIC)</td>
</tr>
<tr>
<td>IC2</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?R=SN75C3232EDvirtualkey59500000virtualkey595-SN75C3232ED">MAX3232CSE</a> (SOIC-N)</td>
</tr>
<tr>
<td>IC3</td>
<td><a href="XC9572XL-10PCG44C">XC9572XL-10PCG44C</a> (PLCC)</td>
</tr>
<tr>
<td>&#8211;</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=PLCC-44-AT-SMTvirtualkey64610000virtualkey737-PLCC-44-AT-SMT">PLCC44 socket</a>, SMD</td>
</tr>
<tr>
<td>IC4</td>
<td><a href="http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3491">DS1085</a> or <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=DS1085LZ-25%2B-ND">DS1085L</a> (SOIC)</td>
</tr>
<tr>
<td>IC5</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=AI63Xxb%2f5RSO5sZcRck%2fyw%3d%3d">32Kx8, 3.3v, SRAM</a> (SOJ)</td>
</tr>
<tr>
<td>IC6</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=74LVT573WMvirtualkey51210000virtualkey512-74LVT573WM">74LVT573D</a> (SOIC)</td>
</tr>
<tr>
<td>VR1</td>
<td>3.3v regulator, <a href="https://www.mouser.com/Search/ProductDetail.aspx?R=LD1117S33CTRvirtualkey51120000virtualkey511-LD1117S33C">LD1117S33</a> (SOT223)</td>
</tr>
<tr>
<td>VR2</td>
<td>5v regulator, <a href="https://www.mouser.com/Search/ProductDetail.aspx?R=LD1117S50TRvirtualkey51120000virtualkey511-LD1117S50">LD1117S50</a> (SOT223)</td>
</tr>
<tr>
<td>C1-11,13-17</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=C0805C104M5RACTUvirtualkey64600000virtualkey80-C0805C104M5R">0.1uF decoupling capacitors</a> (0805)</td>
</tr>
<tr>
<td>C12</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=6ARB0lp6jlXWqZF4lhG52w%3d%3d">0.01uF capacitor</a> (0805)</td>
</tr>
<tr>
<td>C15,16</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=9AX3phJxokWIpR5WRGtIJw%3d%3d">0.1uF decoupling capacitors</a> (through-hole)</td>
</tr>
<tr>
<td>C18</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?R=293D106X96R3A2TE3virtualkey61320000virtualkey74-293D106X96R3A2TE3">10uF tantalum capacitor</a> (A)</td>
</tr>
<tr>
<td>R1,2</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=2BMLUTrrT4P7Xm58YbKmPg%3d%3d">390ohm resistor</a> (0805)</td>
</tr>
<tr>
<td>R3-5</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=jBethxrBxZb5NLDetw123g%3d%3d">2000ohm resistor</a> (0805)</td>
</tr>
<tr>
<td>RN1</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=4609X-101-105LFvirtualkey65210000virtualkey652-4609X-1LF-1M">1Mohm resistor network</a> (9 pin)</td>
</tr>
<tr>
<td>LED1,2</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=7JStj%2fjQ2SElGv%2fp7IzKlg%3d%3d">LED</a> (0805)</td>
</tr>
<tr>
<td>X1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=nAEW9fCjKd%2fyLNwP2ItddQ%3d%3d">db9 female serial port connector</a> *untested</td>
</tr>
<tr>
<td>J1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=8xMK%2bwDsXhcfMNb/YnnwLQ==">2.1mm power jack</a></td>
</tr>
<tr>
<td>ICSP, JTAG, SV1</td>
<td><a href="http://www.mouser.com/Search/ProductDetail.aspx?R=4-103329-0virtualkey57100000virtualkey571-41033290">0.1&#8243; pin header, right angle</a></td>
</tr>
<tr>
<td>S1</td>
<td><a href="https://www.mouser.com/Search/ProductDetail.aspx?R=101-0164-EVvirtualkey12040000virtualkey101-0164-EV">Tactile switch</a> (DTSM-6)</td>
</tr>
</tbody>
</table>
<p><em>Firmware</em></p>
<p>The firmware is written in C using the free demonstration version of the <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en010065">PIC C30 compiler</a>. Learn all about working with this PIC in our <a href="http://hackaday.com/2008/09/18/web-server-on-a-business-card-part-1/">introduction to the PIC 24F series</a>. The firmware is included in the project archive at the end of the article.</p>
<p>We wanted a super easy way to interact with the hardware on the board without endless compile-program-test cycles. We made a custom version of the <a href="http://hackaday.com/2008/11/19/how-to-the-bus-pirate-universal-serial-interface/">Bus Pirate firmware</a> that  provides a simple ASCII terminal interface to the DS1085 clock chip (I2C), the CPLD programing interface (JTAG), and a 3 wire (SPI) interface to the CPLD. Check out the Bus Pirate tutorial for background on the simple syntax used with the firmware.</p>
<p>The original Bus Pirate firmware handles several protocols that share the same pins. For the CPLD version, we changed the pin assignments to fit the connections on the development board. We also removed unused modules and options.</p>
<p><strong>CPLD blinky LED examples</strong></p>
<p>We prepared several designs in Xilinx&#8217;s ISE development environment. The schematics, pin placement files, and compiled designs (XSVF) are included in the project archive linked at the end of the article.  A full explanation of ISE is beyond the scope of this article; we found the help files sufficiently useful to make these examples.</p>
<p><em><img class="alignnone size-full wp-image-6855" title="ex1" src="http://hackadaycom.files.wordpress.com/2008/12/ex1.png" alt="ex1" width="450" height="222" /><br />
</em></p>
<p>The first design simply lights the LED connected to pin 8 of the CPLD.</p>
<p><em>Prepare the XSVF file</em></p>
<p>XSVF is a compressed JTAG programming format, as described by Xilinx in <a href="http://www.xilinx.com/support/documentation/application_notes/xapp058.pdf">this application note</a> (PDF). XSVF isn&#8217;t limited to programming Xilinx devices, and can be prepared for any chip that provides a common <a href="http://en.wikipedia.org/wiki/Boundary_scan_description_language">BSDL</a> JTAG definition file.</p>
<p>Open the iMPACT programming tool from the ISE Design Suite project panel under <em>Configure target device-&gt;iMPACT</em>.</p>
<ul>
<li> Choose the option to <em>create a boundary scan file</em>,  and set the type to XSVF.</li>
<li>Give the XSVF output a file name and then add a compiled CPLD image (ex1.jed) when prompted to add a device.</li>
<li>You should see a JTAG chain that contains a single device.</li>
</ul>
<p><img class="alignnone size-full wp-image-6856" title="boundaryscan" src="http://hackadaycom.files.wordpress.com/2008/12/boundaryscan.png" alt="boundaryscan" width="365" height="174" /></p>
<p>Click on the device and choose program; iMPACT will record the programming sequences to an XSVF file.</p>
<p>With XSVF file in hand, it&#8217;s time to open up a terminal and program the CPLD. We like <a href="http://www.ayera.com/teraterm/">Tera Term</a> and <a href="http://www.hw-group.com/products/hercules/index_en.html">Hercules</a> on Windows. You <em>must</em> enable XON/XOFF flow control in the client to use the JTAG interface. The default PC side setting for the development board terminal is 115200bps, 8N1.</p>
<blockquote><p>HiZ&gt;m <strong>&lt;&#8211;select mode</strong><br />
1. HiZ<br />
2. I2C<br />
3. JTAG<br />
4. RAW3WIRE<br />
MODE&gt;3 <strong>&lt;&#8211;JTAG</strong><br />
900 MODE SET<br />
602 JTAG READY<br />
JTAG&gt;(2) <strong>&lt;&#8211;probe JTAG chain macro<br />
</strong> xxx JTAG INIT CHAIN<br />
xxx JTAGSM: RESET<br />
xxx JTAGSM: RESET-&gt;IDLE<br />
xxx JTAGSM: IDLE-&gt;Instruction Register (DELAYED ONE BIT FOR TMS)<br />
xxx JTAGSM: IR-&gt;IDLE<br />
xxx JTAGSM: IDLE-&gt;Data Register<br />
xxx JTAGSM: DR-&gt;IDLE<br />
xxx JTAGSM: RESET<br />
xxx JTAGSM: RESET-&gt;IDLE<br />
xxx JTAGSM: IDLE-&gt;Data Register<br />
xxx JTAG CHAIN REPORT:<br />
0&#215;01 DEVICE(S)<br />
#0&#215;01 : 0xC9 0&#215;02 0&#215;06 0x9A <strong>&lt;&#8211;XC9572XL responds</strong><br />
xxx JTAGSM: DR-&gt;IDLE<br />
JTAG&gt;</p></blockquote>
<p>In the terminal we enter the mode menu (m), and choose JTAG (3). Macro 2 probes the JTAG chain, in our case this is just the CPLD.  The chain report tells us that the chip is connected and responding. <a href="http://hackaday.com/2008/12/01/bus-pirate-firmware-update-v0c-jtag-and-more/">Read more about the JTAG interface</a>.</p>
<p><img class="alignnone size-full wp-image-6857" title="up" src="http://hackadaycom.files.wordpress.com/2008/12/up.png" alt="up" width="451" height="265" /></p>
<p>Now we can run the XSVF programmer, macro (3), and upload the XSVF file from the terminal <em>in binary mode</em>. The first example just lights the LED on pin 8. If the LED lights, we can verify that programming was successful. If your LED doesn&#8217;t light, don&#8217;t despair; sometimes the JTAG programmer sticks and a reset macro (1) will get the chip going.</p>
<p><img class="alignnone size-full wp-image-6867" title="ex1a" src="http://hackadaycom.files.wordpress.com/2008/12/ex1a.jpg" alt="ex1a" width="450" height="285" /></p>
<p>LED at full brightness.</p>
<p><em>74LS32/4071 OR gate, blink at half rate (/2)<br />
</em></p>
<p><img class="alignnone size-full wp-image-6862" title="ex21" src="http://hackadaycom.files.wordpress.com/2008/12/ex21.png" alt="ex21" width="450" height="128" /></p>
<p>A major component of the CPLD development board is the 1085(L) frequency synthesizer connected to pin 7 of the CPLD. The next example uses a <a href="http://en.wikipedia.org/wiki/OR_gate">logic OR gate</a>, like a <a href="http://en.wikipedia.org/wiki/OR_gate#Hardware_description_and_pinout">74LS32 or 4071</a> IC, to blink the LED whenever the clock signal is high. At even the slowest clock rate the blinking will be too fast to see, but we should get a nice PWM dimming effect compared to the first example.</p>
<blockquote><p>JTAG&gt;m <strong>&lt;&#8211;select mode</strong><br />
1. HiZ<br />
2. I2C<br />
3. JTAG<br />
4. RAW3WIRE<br />
MODE&gt;2 <strong>&lt;&#8211;I2C interface to DS1085</strong><br />
900 MODE SET<br />
202 I2C READY<br />
I2C&gt;(1) <strong>&lt;&#8211;address search macro</strong><br />
xxx Searching 7bit I2C address space.<br />
Found devices at:<br />
0xB0 0xB1<strong> &lt;&#8211;found the DS1085 address</strong><br />
I2C&gt;</p></blockquote>
<p>Program the CPLD as before, and then switch to I2C mode to access the DS1085 clock. We could look up the device address in the datasheet, but we save a few seconds by running the address search macro; the report tells us the chip answers to 0xb0 (write) and 0xb1 (read).</p>
<blockquote><p>I2C&gt;{0xb0 0&#215;02 0b00011111 0b10000000}<strong>&lt;&#8211;max prescaler</strong><br />
210 I2C START CONDITION<br />
220 I2C WRITE: 0xB0 GOT ACK: YES<br />
220 I2C WRITE: 0&#215;02 GOT ACK: YES<br />
220 I2C WRITE: 0x1F GOT ACK: YES<br />
220 I2C WRITE: 0&#215;80 GOT ACK: YES<br />
240 I2C STOP CONDITION<br />
I2C&gt;{0xb0 1 0b11111111 0b11000000}<strong>&lt;&#8211;max divider</strong><br />
210 I2C START CONDITION<br />
220 I2C WRITE: 0xB0 GOT ACK: YES<br />
220 I2C WRITE: 0&#215;01 GOT ACK: YES<br />
220 I2C WRITE: 0xFF GOT ACK: YES<br />
220 I2C WRITE: 0xC0 GOT ACK: YES<br />
240 I2C STOP CONDITION<br />
I2C&gt;</p></blockquote>
<p>The DS1085 is almost exactly like the <a href="http://hackaday.com/2008/11/28/parts-133mhz-162khz-programmable-oscillator-ds1077/">DS1077 we covered earlier</a>, but has a DAC controlled oscillator for even steps between all frequencies. We programmed the clock to the slowest frequency using the commands shown above. The LED is dimmed by the pulse-width modulation effect of the clock signal.</p>
<p><img class="alignnone size-full wp-image-6868" title="ex2a" src="http://hackadaycom.files.wordpress.com/2008/12/ex2a.jpg" alt="ex2a" width="450" height="285" /></p>
<p>LED at half brightness.</p>
<p><em>74F269 16bit synchronous counter, blink slowly (/</em>65535<em>)</em></p>
<p><img class="alignnone size-full wp-image-6865" title="ex3" src="http://hackadaycom.files.wordpress.com/2008/12/ex3.png" alt="ex3" width="449" height="282" /></p>
<p>We just programmed the CPLD with a logic OR gate similar to a 74LS32. Now, we&#8217;re going to reprogram the chip with a 16bit counter like two cascaded <a href="http://www.mouser.com/Search/ProductDetail.aspx?qs=lp01TYqEl4mFnzVVG95LCg%3d%3d">74F269s</a>.  At $1.15 each, two 74F269 Ics are more expensive than the XC9572XL CPLD. A 16bit counter rolls over once per 65535 ticks, so a LED attached to the last bit will toggle once every 65535/2 ticks.</p>
<p>Now we can see the cool part of CPLDs. The CPLD is like a programmable breadboard; we just popped out the 74LS32 and put in a 74F269, without buying parts, reading datasheets, etching, wiring, etc. A microcontroller connected to a CPLD can reconfigure its own circuit board to fix errors, add features, or re-purpose it for entirely different applications.</p>
<p>We upload the new design as before, but now the clock is divided by 65535 and the LED toggles about once per second.</p>
<span style="text-align:center; display: block;"><a href="http://hackaday.com/2008/12/11/how-to-programmable-logic-devices-cpld/"><img src="http://img.youtube.com/vi/wNfJKHV0ylg/2.jpg" alt="" /></a></span>
<p><strong>Taking it further</strong><br />
Next time we&#8217;ll look at discrete 7400-series logic chips, and implement a ton of them in the CPLD to make a high-speed bus sniffer and logic analyzer.</p>
<p><strong>Download:</strong> <a href="http://blog.mahalo.com/hackaday/howto/bitclone.v1.zip">bitclone.v1.zip</a></p>
<br />Posted in how-to, misc hacks, tool hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/6790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/6790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/6790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/6790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/6790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/6790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/6790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/6790/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=6790&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/12/11/how-to-programmable-logic-devices-cpld/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/cover-450.jpg" medium="image">
			<media:title type="html">cover-450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/bitclone-24fv1final.jpg" medium="image">
			<media:title type="html">bitclone-24fv1final</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/cct-crop-450.jpg" medium="image">
			<media:title type="html">cct-crop-450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/backside-450.jpg" medium="image">
			<media:title type="html">backside-450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/brd-450.png" medium="image">
			<media:title type="html">brd-450</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/ex1.png" medium="image">
			<media:title type="html">ex1</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/boundaryscan.png" medium="image">
			<media:title type="html">boundaryscan</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/up.png" medium="image">
			<media:title type="html">up</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/ex1a.jpg" medium="image">
			<media:title type="html">ex1a</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/ex21.png" medium="image">
			<media:title type="html">ex21</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/ex2a.jpg" medium="image">
			<media:title type="html">ex2a</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/12/ex3.png" medium="image">
			<media:title type="html">ex3</media:title>
		</media:content>
	</item>
		<item>
		<title>Logic probe kit</title>
		<link>http://hackaday.com/2008/06/27/logic-probe-kit/</link>
		<comments>http://hackaday.com/2008/06/27/logic-probe-kit/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 01:30:00 +0000</pubDate>
		<dc:creator>Juan Aguilar</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[diagnostic]]></category>
		<category><![CDATA[digitallogic]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[logicanalyser]]></category>
		<category><![CDATA[logicport]]></category>
		<category><![CDATA[logicprobe]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/06/27/logic-probe-kit/</guid>
		<description><![CDATA[Logic probes can be anything from useful to critical depending on the project, but if you don&#8217;t have one already, why not try building one? Instructables has a guide to building a logic probe using a PCB, an assorted lot of resistors, capacitors, regulators, DIP sockets, a 9V battery clip (and 9V battery), and a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2136&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img width="450" vspace="4" hspace="4" height="383" border="0" src="http://hackadaycom.files.wordpress.com/2008/06/had-logic-probe-kit.jpg?w=450&#038;h=383" alt="" /><br />Logic probes can be anything from useful to critical depending on the project, but if you don&#8217;t have one already, why not try building one? Instructables has a guide to <a href="http://www.instructables.com/id/Logic-Probe-Kit/">building a logic probe</a> using a  PCB, an assorted lot of resistors, capacitors, regulators, DIP sockets, a 9V battery clip (and 9V battery), and a hex inverter. Instead of using an LED like other simple logic probes, though, this kit uses a 7 segment LED display to show whether logic high (H) or low (L). The schematic makes putting this together only slightly more complicated than snapping Legos together. Of course, the resulting device is not as versatile as a <a href="http://www.hackaday.com/2008/06/24/logicport-overview/">LogicPort</a> logic analyzer, but it is still useful.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/2136/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/2136/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/2136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/2136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/2136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/2136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/2136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/2136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/2136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/2136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/2136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/2136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/2136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/2136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/2136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/2136/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2136&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/06/27/logic-probe-kit/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">juanaguilar</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/had-logic-probe-kit.jpg" medium="image" />
	</item>
		<item>
		<title>Logicport overview</title>
		<link>http://hackaday.com/2008/06/24/logicport-overview/</link>
		<comments>http://hackaday.com/2008/06/24/logicport-overview/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 11:30:00 +0000</pubDate>
		<dc:creator>Eliot</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[logicanalyzer]]></category>
		<category><![CDATA[logiclevel]]></category>
		<category><![CDATA[logicport]]></category>
		<category><![CDATA[nearfuturelaboratory]]></category>
		<category><![CDATA[protocol]]></category>
		<category><![CDATA[spi]]></category>
		<category><![CDATA[ttl]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/06/24/logicport-overview/</guid>
		<description><![CDATA[As promised earlier, the Near Future Laboratory has published an overview of the Logicport Logic Analyzer. They&#8217;re using the Playstation 2 analysis as an example. The Logicport uses &#8220;interpreters&#8221; to define protocols. It has I2C/TWI, SPI, RS232, and CAN 2.0A/2.0B, but you can build your own interpreter based on these. You can specify bit order [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2092&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img width="450" vspace="4" hspace="4" height="200" border="0" src="http://hackadaycom.files.wordpress.com/2008/06/had_logic.jpg?w=450&#038;h=200"  alt="" /><br />As promised earlier, the Near Future Laboratory has published an overview of the <a href="http://www.nearfuturelaboratory.com/2008/06/21/logicport-overview/">Logicport Logic Analyzer</a>. They&#8217;re using the <a href="http://www.nearfuturelaboratory.com/2008/06/19/playstation2-logic-analysis/">Playstation 2 analysis</a> as an example. The Logicport uses &#8220;interpreters&#8221; to define protocols. It has I2C/TWI, SPI, RS232, and CAN 2.0A/2.0B, but you can build your own interpreter based on these. You can specify bit order and the format you want the data in. Slave interpreters can be used for specific tasks: with the PS2 they were used to just show the fifth byte, which is the actual button press.</p>
<p>&#8220;Triggers&#8221; are used to signal specific activity. On the PS2, one was attached to the falling signal on the slave select line. This event means the master is about to start sending data.</p>
<p>The final area worth exploring is &#8220;measurements&#8221;. These can be frequency or arbitrary time intervals between events. The Logicport has multiple ground connections to eliminate noise from the signal and you&#8217;ll have to play with sample rate and logic level to get things running smooth. It&#8217;s nice to see how-tos written from the perspective of someone just getting started with the tool.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/2092/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/2092/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/2092/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/2092/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/2092/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/2092/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/2092/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/2092/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/2092/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/2092/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/2092/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/2092/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/2092/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/2092/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/2092/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/2092/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2092&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/06/24/logicport-overview/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">RobotSkirts</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/had_logic.jpg" medium="image" />
	</item>
		<item>
		<title>Playstation 2 controller analysis</title>
		<link>http://hackaday.com/2008/06/19/playstation-2-controller-analysis/</link>
		<comments>http://hackaday.com/2008/06/19/playstation-2-controller-analysis/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 05:30:00 +0000</pubDate>
		<dc:creator>Eliot</dc:creator>
				<category><![CDATA[playstation hacks]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[digitallogic]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[logicanalyzer]]></category>
		<category><![CDATA[logicport]]></category>
		<category><![CDATA[playstation]]></category>
		<category><![CDATA[playstation2]]></category>
		<category><![CDATA[spi]]></category>

		<guid isPermaLink="false">http://hackaday.iheartcashews.com:8181/2008/06/19/playstation-2-controller-analysis/</guid>
		<description><![CDATA[The people at Near Future Laboratory are trying to spoof the behavior of a Playstation 2 controller using just a microcontroller. They wrote some initial code using the controller info found here, but decided the best way to figure out what was going on, was to probe the interface. They&#8217;re using a Logicport, which features [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2059&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img width="450" vspace="4" hspace="4" height="338" border="0" src="http://hackadaycom.files.wordpress.com/2008/06/had_ps2.jpg?w=450&#038;h=338"  alt="" /><br />The people at Near Future Laboratory are trying to <a href="http://www.nearfuturelaboratory.com/2008/06/19/playstation2-logic-analysis/">spoof the behavior of a Playstation 2 controller</a> using just a microcontroller. They wrote some initial code using the <a href="http://www.gamesx.com/controldata/psxcont/psxcont.htm">controller info found here</a>, but decided the best way to figure out what was going on, was to probe the interface. They&#8217;re using a <a href="http://www.pctestinstruments.com/">Logicport</a>, which features 34 channels plus two clock channels. They only need six channels because the PS2 implements an SPI protocol plus an ACK line. The post is just a preliminary investigation, but will give you a little insight into how the Logicport works and why you might find it useful.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hackadaycom.wordpress.com/2059/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hackadaycom.wordpress.com/2059/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/2059/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/2059/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/2059/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/2059/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/2059/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/2059/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/2059/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/2059/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/2059/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/2059/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/2059/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/2059/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/2059/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/2059/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=2059&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2008/06/19/playstation-2-controller-analysis/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">RobotSkirts</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2008/06/had_ps2.jpg" medium="image" />
	</item>
	</channel>
</rss>
