Saturday, September 23, 2023

Scratchpad board assembled

I've finished assembling the Scratchpad Register board. Here it is, in all its glory:

My time estimates were thrown off when I discovered I hadn't gotten the stencil flat against the board when I started working on the left side of the board last night. I'd already populated the entire DRAM array when I realized that the solder paste for the row drivers (the unlabeled column of components extending to the right of the DRAM array itself) was just a smear rather than well-defined rectangles. After considering my options, I ended up wiping off all the solder paste for those components before reflowing the rest of the board. Otherwise I would have finished last night.

This afternoon I sat down to populate the missing components. The driver for row 0 (the group nearest the bottom of the board) I populated one component at a time, soldering each in place with a fine-tipped iron. The driver for row 1 I tried dabbing solder paste on all the pads for that driver, placing all those components, then soldering them with the iron. These took lots of time, and I had trouble keeping the components properly aligned.

The driver for row 2 I applied paste to all the pads, placed all the components, then gingerly reflowed the whole group with hot air. This worked pretty well and was much faster than the previous two. I did the same for the driver for row 3.

To try speeding things up, I did the drivers for rows 4 and 5 at the same time. This also worked well, so I did the same with rows 6 and 7. Then I populated the three small VDD bypass capacitors between the row drivers and the row select logic. With all this complete, I soldered on the two connectors.

All this mess added two hours to my estimates. For the remaining boards I think I'm going to populate entire boards at once rather than trying to partition up the work to avoid this sort of thing.

 Next on the agenda is to update the debug board and tweak the Verilog for the FPGA. I may also write some 4004 assembly code to give the scratchpad registers a thorough workout.


I'm also considering investing in a proper reflow oven. Inspection showed several spots where I hadn't reflowed the solder, and these were most common where the pads were connected to the ground plane. I'd tried preheating the two inner planes (VDD and GND) from the bottom using a general-purpose heat gun, but it appears I didn't get them quite as hot as I thought I had, or they cooled before I got to the problem areas with my hot air wand. I have at least another three or four boards to make, and some of them may be six-layer boards rather than four like this one.

2 comments:

  1. Hi Reece, looks great!!
    How do you plan to test the register board? I first populated only all the DRAM cells without column and row selection logic, connected an Arduino to all column and row lines, and tested the DRAM bit by bit.
    Klaus

    ReplyDelete
    Replies
    1. Hi Klaus. That's a really good question, one that I spent a good bit of last night considering. I have a couple of ideas, but rather than answer here in the comments I'm going to write a separate blog post on that very subject.

      Delete