Build a low-cost logic design trainer
I always wanted something for my personal use that was affordable for me as a student. I needed something with the flexibility to repeat my lab experiments and also give me an opportunity to test my own designs and learn.
The most basic lab an engineering student does is logic design. This lab consists of the 74xx series of chips to test behavior of basic logic gates such as AND, OR, XOR, etc. and more complex digital combinational and sequential logic.
A college lab usually has a large setup to connect multiple 74xx series of ICs and wires to connect, implement, and test the desired logic circuit. Another way is to use breadboards and 74xx series ICs to implement and test digital logic functions. In order to repeat these labs and to try your custom digital logic, a student needs to have multiple 74xx family of ICs.
Today, students have access to low-cost processors integrated with programmable logic. For example purposes, I will use the PSoC family from Cypress, which integrates PLDs that can be programmed using the PSoC Creator IDE, available free from the Cypress website. The tool allows the user to drag and drop logic gate symbols, connect them using wires and implement the functions you want, writing a single line of code.
For example, in the given TopDesign, we get 5 outputs from 2 inputs ‘A’ and ‘B’.
When the TopDesign is programmed into a PSoC, it uses internal PLDs or UDBs to implement the logic in hardware. All the connections drawn in TopDesign are automatically generated for the processor.
Users can implement sequential digital logic such as counters and parallel-to-serial converters by dragging and dropping the required components, then wiring them up in the TopDesign. User can even write Verilog code and implement custom digital logic.
Now, the same setup can be used to learn embedded programming for industry standard microprocessors such as the 8051, Cortex-M0 and Cortex-M3. Because the tool generates all the APIs required by any components that are used, the programmer doesn’t have to go through the technical documents like datasheets and technical reference manuals. Rather, the various parameters of a component are selected in the Configuration window.
A user can choose all the configurations from the configuration GUI without skimming through the register map in the technical reference manual.
4, and can draw the required logic in the between the input and output pins. This same setup can also be used to learn mixed signal designs by introducing mixed signal components like ADCs, DACs etc. One of the example TopDesign for learning analog designs are:
In the given project the ADC samples the analog input, the firmware process the data and then the LCD displays the results. The same setup can be used to learn more advanced concepts like interrupts, low power designs, watchdog timers etc.
Let’s take the concepts discussed above to develop few projects.