Sunday, February 21, 2016

What's a couple layers among friends?

Ever notice that some projects seem most interesting when there's something else you're avoiding doing? Yeah, me too.

November 2016 will mark the 45th anniversary of the release of the Intel 4004. This is enough of a significant anniversary to make me feel a bit of a kick in the ass to complete the remaining four boards of the CPU this year.

So what's standing in the way? Realistically there's nothing blocking me but time and willingness. I started a new assignment at work last fall, and I'm working in an unfamiliar programming language on unfamiliar applications. Whether that demands time away from my hobby projects or demands a stress-relieving distraction is hard to foresee.

This morning I decided to spend some time on the ALU and ID boards. In the process I discovered that the relatively old version of Eagle (6.2.0) I've been using is somewhat unhappy with my current version of Linux. It runs, but the graphics get screwed up occasionally. I'd seen this problem with the older version of Linux but it's happening a lot more now, to the point where it's interfering with using the program. I tried the latest release of the same version (6.6.0) but the problem persisted. Fortunately I already have a license for the current version of Eagle (7.5.0) and that seems to have corrected the issue.

The biggest problem with this layout is trying to get signals to the smaller connector on the left edge of the board. The 4004 chip layout placed the instruction decoder "above" the arithmetic logic unit, while I placed the connector on the left edge. This means that all the signals that should flow down from the ID have to cross to the left edge, then flow back up to the top of the ALU.

One option is to expand these boards from 4 layers to 6 (my Eagle license allows up to 6 layers). This would give me four routing layers instead of two, and avoid having to steal from the power plane as I'm doing now. It'd also raise the cost of each board by about $40 per design (or $65 per design if I purchase two boards of each). Right now that's looking cheap at twice the price. It'd prevent me from using one of the cheap Asian board houses, most of whom don't appear do 6-layer boards, but I've been so happy with my dealings with PCB-Pool that I'm not really looking to do that anyway.

It's something to consider if this gets sticky.

Edited to add: It took only 3 hours to give in — I just changed the ALU board to 6 layers, and I suspect the ID is soon to follow. My time is worth more than it's costing me to fight to fit the routing in 4 layers. I'm sure it could be done but it's not worth it. And this gives me a nice, solid power plane without having to worry about accidentally leaving islands.

No comments:

Post a Comment