Saturday, October 28, 2023

Yet another digital clock


The classic *nix first program is one that prints "Hello world" on the console. For me, my first project seems to be a digital clock. I made one when I started experimenting with Microchip PICs in 1999. A few years back I made one using my Verilog emulation of an Intel 4004, So it made sense to make one as my first project using the PicoBlaze soft processor.

After recording this video I left it running overnight. The next morning, to my consternation, I found it had stopped with the display showing. 11:01:12.

Thursday, October 26, 2023

Running Xilinx ChipScope under Ubuntu

I've belatedly realized that ChipScope Pro is a free feature of Xilinx ISE 14.7. While trying a simple example I ran into two problems, both of which I have managed to work around.

Wednesday, October 4, 2023

Xilinx firmware download problems

I've discovered an error in my post Making Xilinx ISE iMPACT 14.7 run on Ubuntu 20.04. I've corrected the error, and added a note explaining that a previous version contained an error.

Friday, September 29, 2023

When is impedance matching critical?

One of the questions I asked myself in my previous post was when does it become critical to have a impedance-matched traces? Today I came across an interesting presentation by Rick Hartley, then a Senior Principal Engineer at L-3 Avionics Systems, now Principal Engineer at RHartley Enterprises.

In his presentation, Rick Hartley states that impedance matching becomes critical when the trace is 1/16th the wavelength of the signal in the propagation material. Here's the relevant slide, giving the formulas.

Tuesday, September 26, 2023

Proof I'm not an RF engineer

Back in 2013 I did a project with a Nordic Semiconductor nRF24LE1 chip. This is an 8051 compatible microprocessor with a built-in 2.4 GHz wireless transceiver. Conscious of how poor my knowledge of RF design is I followed the sample layout of the RF section exactly for the antenna. And by "exactly", I mean I overlaid the sample Gerber file onto my PCB layout and used that to position the components and route tracks. Without the proper tools to tune an inverted-F antenna like on the original, I used a commercial 2.45 GHz chip antenna with a 50 ohm impedance.

Everything seemed to work exactly as designed except the RF section. I could not get the board to talk to a commercial board using the same nRF24LE1 chip. Clearly I'd botched something.

I called a friend who is an Extra-class amateur radio operator and asked his advice. He reviewed my choice of passive components in the RF section and had me change out a couple which he deemed inappropriate for use at 2.45 GHz. This made them work when talking to each other, but they still wouldn't talk to the commercial boards and had significantly reduced range. Without the test equipment necessary to look at a 2.45 GHz signal, the project got shelved.

Sunday, September 24, 2023

Testing... testing?

In a comment on my last post, Klaus Scheffler asked: 

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.

That's an excellent question.

Saturday, September 23, 2023

Scratchpad board assembled

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