Dr. Dobb's Blogs http://www.drdobbs.com/ Dr. Dobb's Copyright 2012, United Business Media. en-us Expanding VTACH http://www.drdobbs.com/embedded-systems/expanding-vtach/240155198 The last few weeks, I've been building vtach &mdash; a Verilog implementation of CARDIAC, the old paper-based demonstration computer from Bell Labs. Sun, 19 May 2013 22:49:00 -0400 Aliasing Is Particularly Troublesome With Vector Elements http://www.drdobbs.com/cpp/aliasing-is-particularly-troublesome-wit/240155096 I would like to continue our discussion with a particularly nasty case in which the result is not well defined. Thu, 16 May 2013 22:28:00 -0400 Troubleshooting Verilog http://www.drdobbs.com/embedded-systems/troubleshooting-verilog/240154701 I want to squash a bug as a way to show how you "debug" Verilog hardware designs (or, at least, one way to do so) Sun, 12 May 2013 15:31:00 -0400 Some Subtleties of Aliasing http://www.drdobbs.com/cpp/some-subtleties-of-aliasing/240154618 Aliasing can cause paradoxical behavior. Thu, 09 May 2013 19:27:00 -0400 The CPU Crawl http://www.drdobbs.com/embedded-systems/the-cpu-crawl/240154406 I want to talk a bit more about Verilog and how it is different from simply writing something using software. Tue, 07 May 2013 21:00:00 -0400 Sometimes, Making a Program Clearer Makes It Faster http://www.drdobbs.com/cpp/sometimes-making-a-program-clearer-makes/240154079 We can "optimize" our code by removing requests for operations that our data structures do not really need to support. Wed, 01 May 2013 21:15:00 -0400 The Heart of a CPU http://www.drdobbs.com/embedded-systems/the-heart-of-a-cpu/240153772 A paper computer is certainly novel, and the spreadsheet version lets students get familiar with the architecture without having to write on cardboard. I wanted to go further, though. Sun, 28 Apr 2013 18:47:00 -0400 Some Optimizations Are No-Brainers http://www.drdobbs.com/cpp/some-optimizations-are-no-brainers/240153739 Kernighan's rule for optimizations (Don't do it) is good advice. But as with most rules, there are exceptions. Fri, 26 Apr 2013 14:53:00 -0400 CPU Design on Paper http://www.drdobbs.com/embedded-systems/cpu-design-on-paper/240153480 FPGAs are great for experimenting with CPU designs. Tue, 23 Apr 2013 12:57:00 -0400 BodyCom Development Kit http://www.drdobbs.com/security/bodycom-development-kit/240153458 Use your body's electric field to authenticate Tue, 23 Apr 2013 07:27:00 -0400 Java SE 8 Schedule Update http://www.drdobbs.com/jvm/java-se-8-schedule-update/240153268 Yes, the release of Java SE 8 (JDK8) has slipped again. But it's for good reason: platform-wide security enhancements. Fri, 19 Apr 2013 12:49:00 -0400 Sometimes Optimizations Cancel Each Other http://www.drdobbs.com/cpp/sometimes-optimizations-cancel-each-othe/240153129 Two rights can make a wrong in the software-design world. Wed, 17 Apr 2013 14:43:00 -0400 More Conversions http://www.drdobbs.com/embedded-systems/more-conversions/240152937 Many processors now have built in analog I/O and that certainly makes things easier. But it is still worthwhile to understand how at least some of these devices work. Mon, 15 Apr 2013 10:45:00 -0400 Optimizing a Program Means Making It Run Faster, Right? http://www.drdobbs.com/cpp/optimizing-a-program-means-making-it-run/240152663 People often use optimization to mean changing a program in ways that they think will make it run faster, but that casual definition is far from complete. Wed, 10 Apr 2013 14:18:00 -0400 Roll Your Own Analog Input http://www.drdobbs.com/embedded-systems/roll-your-own-analog-input/240152547 Modern computers are inherently digital devices. However, we live in a decidedly analog world, so many systems (including systems on a chip) have methods to generate and read different analog quantities. Tue, 09 Apr 2013 11:35:00 -0400 Optimization Versus Flexibility &mdash; An Example http://www.drdobbs.com/cpp/optimization-versus-flexibility-an-exam/240152292 Last week, I <a href="http://www.drdobbs.com/cpp/is-optimization-immoral/240151916 ">discussed</a> how optimization can sometimes mislead programmers into writing code that works better in the lab than in the field, perhaps because the problems that programs encounter in the field are larger than those that are used during testing. As luck would have it, since I wrote that article, I encountered a real-world example of that phenomenon. Thu, 04 Apr 2013 15:04:00 -0400 Game of Life &mdash; Using Threads and Lists, Part 1 http://www.drdobbs.com/parallel/game-of-life-using-threads-and-lists-pa/240152214 I'm still looking at the <i>Game of Life</i> simulation. Wed, 03 Apr 2013 05:56:00 -0400 Making Contacts http://www.drdobbs.com/embedded-systems/making-contacts/240152060 Many designs that aren't reliable blame relays when, in fact, they should blame the poor choice of relays instead. Mon, 01 Apr 2013 12:42:00 -0400 Is Optimization Immoral? http://www.drdobbs.com/cpp/is-optimization-immoral/240151916 Dynamic memory allocation in C++ (and C) can be surprisingly expensive. Thu, 28 Mar 2013 07:50:00 -0400 Periodic Thread Processing in Java http://www.drdobbs.com/jvm/periodic-thread-processing-in-java/240151595 In an earlier blog where I discussed how to handle uncaught Java exceptions in other threads, I had a minor bug in my example code. Mon, 25 Mar 2013 01:00:17 -0400 The Mortal (Relay) Coil http://www.drdobbs.com/embedded-systems/the-mortal-relay-coil/240151583 Relays aren't (and shouldn't be) as ubiquitous as they once were, but there are still a few reasons you might need to put a relay in a modern circuit. Fri, 22 Mar 2013 16:56:00 -0400 If Order Relations are Such a Pain, Why Bother? http://www.drdobbs.com/cpp/if-order-relations-are-such-a-pain-why-b/240151471 Whenever a problem turns out to be harder to solve than we expected, it makes sense to ask whether perhaps we were solving the wrong problem in the first place. Fri, 22 Mar 2013 05:30:00 -0400 Game of Life &mdash; Using Lists to Focus Processing http://www.drdobbs.com/parallel/game-of-life-using-lists-to-focus-proce/240151202 Let's discuss the basic parts to code the <i>Game of Life</i> using list data structure to hold the sets of grid points that may become alive or may die in the next generation. Tue, 19 Mar 2013 16:28:00 -0400 Relay Race http://www.drdobbs.com/embedded-systems/relay-race/240150962 New technologies may make older things less common, but sometimes the old things fill a niche that the new technologies can't replace. Fri, 15 Mar 2013 15:22:00 -0400 Comparing an Integer with a Floating-Point Number, Part 2: Tactics http://www.drdobbs.com/cpp/comparing-an-integer-with-a-floating-poi/240150886 We continue last week's discussion by getting down to details. Thu, 14 Mar 2013 21:27:00 -0400