Instruction Pipelines

Implementation of an instruction pipeline is a common technique used when working with microprocessors. Pipelining improves operation and processing time. Microprocessors such as the Microchip® PIC32MX460F512L on the chipKIT Pro MX4 board use this technology to provide efficient processing and instruction execution. Though the process is sophisticated, it is actually quite simple in concept. In my explanation of instruction pipelines, I’ll specifically refer to the Microchip PIC32 microprocessor.

Coding Logic Gates

Earlier today, Josh (a fellow intern and blog contributor) wrote a blog post about logic gates. After reading through Josh’s post and gaining an understanding of the concepts and basic functions of those gates, I figured now would be the perfect time to learn some code. I am going to go over each logic gate and it’s code in Verilog (a hardware language), VHDL (another hardware language) and C (software language).

The Science of LEDs

LEDs are one of the coolest electronic components. They can brighten up any circuits project and turn it in to an eye-catching bonanza of blinking lights. Okay, corny imagery aside, they’re pretty cool. But have you ever thought of how they actually work? You likely already know that LED stands for light emitting diode. Where does the light emit from, though? There are no bulbs or filaments in an LED. So what’s going on in there that produces the glow that we love to have in all of our circuits?

Kirchhoff’s Circuit Laws

In one of my first circuits courses, the professor’s favorite words of advice were to “keep calm and remember KCL, KVL, and Ohm’s law.” With these three concepts, just about any electrical circuit can be analyzed and understood. Granted, things get a little more complicated when you add concepts like inductance and capacitance, but KCL, KVL, and Ohm’s law form the foundation of all circuit analysis. Brandon mentioned Ohm’s law in his blog post on how to choose a resistor for your design, so I will only be discussing KCL and KVL.

Libraries

This week happens to be National Library week, and although Digilent is not a library, we certainly use them! I’m not referring to public libraries, though (although I am personally a fan of them); rather, I’m talking about the C++ libraries that are widely used with our microcontrollers. Although C++ libraries are not quite the same as an IP for FPGAs, they serve a similar purpose. These libraries include a set of predefined functions that perform a specific task, such as sending and receiving a set of data over SPI, that the user can use without having to define what they do.

The (Ultimate) ZYBOt Guide

Back in March, we released a blog post announcing the ZYBOt. There was a set of Instructables and a video showing what the ZYBOt is all about. If you check those out, you can see that the ZYBOt is remote-controlled and has a video feed that can be displayed to a computer. The ZYBOt is a great project for people that want to dive into working with FPGAs and Linux.