Wednesday, June 5, 2024

Populating the ALU board

I decided today was a good day to populate the Arithmetic Logic Unit board I had fabricated in March.

I taped the bare board to my solder station workbench (which is separate from the one with all my test gear), then taped the solder stencil down as well. I scooped some solder paste onto the back of an old credit card and used that as a squeegee to apply the paste. The first time I got about half way done before I realized the stencil had slipped and the holes weren't lined up with the footprints, so I removed the stencil and wiped the board clean. Solder paste is sticky and hard to remove, but some 91% isopropyl alcohol on a rag made a quick job of it.

Monday, June 3, 2024

Testing the Instruction Pointer board

My project for April and May was to extend my PicoBlaze-based test framework to test the Instruction Pointer board I built in 2012. I also wanted to update the desktop computer in my electronics lab.

I'd completed the Verilog implementation of the i4004 CPU at about the same time I assembled the IP board, so the obvious way to test it was to strip out the parts of the Verilog that implemented the instruction pointer, and let the IP board perform that function. It seemed to work, but later, when I attempted to run the i4004 Clock program on the hybrid setup, it wasn't stable. Sometimes it would run, and sometimes it wouldn't. I wasn't sure why, but I didn't have a way to capture the failure for analysis.

Sunday, June 2, 2024

The most costly phrase

You know what the most costly phrase you can say is? "While you're in there..."

Not my computer
I've said it while I was discussing work to be done on my car. Suddenly a job that should have cost a couple hundred dollars now costs a couple thousand. I went in to get the oil changed and the tires rotated and I said, "while you're in there... the air conditioning seems weak." It turns out that replacing the A/C compressor on my car costs a bit over $2k. But it's about to be summer, and it gets hot and humid here.

The same applies with computers. My primary desktop computer crashed a few days ago. The first attempt to reboot hung. The second got as far as the boot menu before powering itself down. The third reboot wouldn't even bring up the BIOS.

Monday, April 1, 2024

PCB Reflow with a Skillet: Part 1

The skillet I bought is a Farberware 12" x 12" ceramic skillet, model FW6110027877. Searching the web for this model turns up nothing, so it's probably specific to Wallyworld. This idea is supported by the absurdly short power cord, which is barely 2 feet long including the plug. I did my test with the skillet under the vent hood above my stove, which meant I had to use a heavy-duty extension cord to reach the nearest outlet in the wall just to the side of the stove. Annoying shortcuts like this is how they sell at such low prices.

My initial plan was set the skillet's control to its maximum temperature of 450℉ (232℃) and record the surface temperature of the empty skillet in the center and the corners of an imaginary 9" square as it warmed up. I'd been thinking the center of the skillet would be its hottest spot, but it's actually one of the coolest. Within two minutes the center had topped 350℉ (180℃) and the corners hotter, too fast for me to record good readings, so I gave up trying to be scientific about it. By three minutes the center had reached 450℉ (230℃) and was still rising, while the corners were approaching 500℉ (260℃). Clearly hot enough to reach my target temperatures.

Saturday, March 30, 2024

Instruction Decoder assembly

My JLCPCB order containing both the Arithmetic Logic Unit and Instruction Decoder boards arrived Thursday afternoon, nine days after I submitted the Gerber files. As is their practice, each stack of five boards are shrink-wrapped together so the boards can't shift against each other and cause damage.

Saturday, March 23, 2024

The importance of return signal paths

In a comment on my post How high and how fast?, Klaus Scheffler pointed out that the "tiny wiggles" in my CLK1 signal could be significant if they exceeded the gate-source threshold voltage of a transistor acting as a transmission gate. He'd experienced issues with this in his implementation, which uses SST215 MOSFETs. Although the datasheet for the Calogic SST215 gives the typical Vgs threshold as 1.0V, the minimum is only 0.1V. My implementation uses the NXP BSS83 with the same specs, so this is a real worry.

[Note to self: the SST211 minimum Vgs[th] is 0.5V, which could provide the needed margin.]

Although I haven't experienced this sort of problem, I've only assembled two of the five boards that will make up my i4004 CPU. Could a problem be lurking in my future?

Tuesday, March 19, 2024

ALU and ID boards sent for fabrication

I started laying out the Instruction Decoder board in late November 2012, and started the Arithmetic Logic Unit board ten days later. Now, only 147 months later, I finally finished their layout and sent them off to JLCPCB for fabrication. Woo hoo!

Fabrication time is quoted as 5-6 days, and shipping from China adds another 2-4 days. That puts delivery in the first week of April. That'll give me time to do my taxes without this as a distraction.