Atmel photos
This photo shows the $100 DK3 kit from Atmel, purchased through Mouser Electronics, that has the Complex Programmable Logic Device design software and the hardware kit that the PC uploads to so you can exercise your design in real hardware.
The Atmel chip in the central socket is a 44-pin, 64-macrocell, $6 CPLD that came with the kit. The socket board is the smaller board, and it plugs onto the motherboard that has all the LEDs, jumpers, and switches. The 44-pin device can take advantage of only half the LEDs. For another $80, you can get the 84-pin socket board that can utilize all the hardware, and you have to buy an 84-pin device.
The Atmel chip, like ATF1504AS ($8, 84 pins, 5V supply, 10ns), is a super chip. It can do gobs of gates. It can also do up to 64 flip flops, but they are tricky to use. The uploaded design is stored in the chip on FLASH ROM, for 20 years, they say. Take this link for Atmel CPLD Advice
The low-cost software for all of these programmable logic devices is difficult to use. When you buy the slick $2000 software, it works well but you have to be an expert to use it. This is not a good story for logic novices. The way it works out in Solder and Circuits is that the instructor has experience and will guide the participants.
This photo shows a homemade Atmel "test bed." If you can see the full width of the photo, you see two 84-pin logic chips. Each one has a programming socket (2x5 pins in black shroud) just like for the commercial kit at the top of the page. There are two "solderless breadboards" (with all the yellow and red wires) that wire to every logic pin on the chips and also lots of DIP switches and LEDs. There are paper labels that identify the pin numbers of the chips. The LEDs at the bottom of the photo are showing a 17-bit linear-feedback shift register in the left chip and a 6-digit decade counter in the right chip, the latter using Binary Coded Decimal (BCD) to display the six digits. These two counters count the same clock, and this particular setup was used to see if the two counters were both counting to 100,000.
There are three BNC connectors to hook up high-frequency (up to 100MHz) logic signals. The left edge shows controls for a low-frequency clock that helps you check out your logic design. The light-colored cable at lower left feeds in power.
Logic novices in Solder and Circuits have a better entry point. The instructor can loan you some 14-pin and 16-pin TTL chips that you put in your own $9 solderless breadboard from Radio Shack. New stock: 4011 CMOS quad NAND DIPs at only $.13 each, bought 100.
A big, ambitious logic project is like this: the instructor has planned a homemade digital storage oscilloscope with readout on a PC, using RS-232 serial port on the PC to get the digitized data in and Microsoft Visual Basic to do the graphical display and FFT analysis. This ambitious DIY system is based on a $6, 60MegaSample/second, 8-bit analog-to-digital converter chip from Analog Devices and TI. Two of these, for a two-channel o'scope, are intended to feed data into CMOS static RAM (two, $1.70 chips). Atmel chips will do control functions. All the parts are in hand, but this system will probably never be finished because it is more important to involve young people in small projects that they will benefit from. Commercial digital o'scopes are available from $80, with the software already programmed, and this will be the way Solder and Circuits gets an o'scope.
Linear Feedback Shift Register
The linear feedback shift register mentioned above is detailed at http://www.newwaveinstruments.com/resources/articles/m_sequence_linear_feedback_shift_register_lfsr.htm
The idea of shift registers is basic among the ideas of logic. But LFSR adds some exclusive-OR gating between one to four of the D flip flops in the shift register, feeds back the output of the last FF to these XORs, and comes out with a circuit that can do fast counting, like for the address bus of a memory. Another neat thing is that any bit of the SR is pseudo-random noise. LFSR is quite easy to implement in a CPLD.
Tables of M-Sequence Feedback Taps
The New Wave web site contains the feedback-tap tables such as this one for a 10-bit LFSR. I use the Galois method.
10 stages, 2 taps: (1 set)
[10, 7] use only one XOR, between flip flops 7 and 8, and do not do
the one for 10, it just tells you how many flip flops to use
10 stages, 4 taps: (10 sets)
[10, 9, 8, 5] you can take your choice of any of these with three XOR, but it
[10, 9, 7, 6] is better to just do it the [10,7] way above
[10, 9, 7, 3]
[10, 9, 6, 1] [10, 9, 5, 2] [10, 9, 4, 2] [10, 8, 7, 5] [10, 8, 7, 2] [10, 8, 5, 4] [10, 8, 4, 3]
For memory address bus counting, like for static RAM that is recording ADC data, consecutive address locations do not have to be sequential, they can be out of sequence, such as the binary sequence that an LFSR delivers, so long as the sequence can be repeated when the data is read back out. For DIY projects, this is important because it lets you wire your PCB with fewer jumpers.