NES On-A-Chip – The Embedded System in VHDL

First of all, did you know what VHDL is? For your information, VHDL is commonly known as a design-entry language for field-programmable gate arrays and application-specific integrated circuits in electronic design automation of digital circuits. VHDL is derived from VHSIC hardware description language, where VHSIC stands for “Very-high-speed-integrated circuit”.

Based on the information, VHDL was originally developed at the US Department of Defense. The main purpose of the mission is to document the behavior of the ASICs that supplier companies were including in equipment. This means, VHDL was developed as an alternative to huge, complex manuals, which were subject to implementation-specific details.

Original_FPGA_Interface

Well, this NES On-A-Chip’s main goal is to implement an older embedded system entirely in VHDL. In this case, you might want to choose the NES, as its complexity and variety of subsystems. The whole idea is to prove that chips can be modeled in VHDL and synthesized on an FPGA. Furthermore, it can be used to replace, either single ICs in old systems or the systems themselves.

You have to prepare the Altera UP3 development board to implement the design. In addition, you must use an Intronix LogicPort USB logic analyzer as well.

The Simple Light Source Motion Tracking

In the past, it’s very hard for us, especially the ordinary civilians to track light source, as we didn’t have the chance to buy or build our own facilities to perform this task. However, time passes by and everything is constantly changing.

Today, we’ll have the opportunity to develop our own simple yet powerful light source motion tracking system.

The main objective of the project is to accurately detect motion and report the speed of moving light sources in the view of camera. Basically, you can use this light source motion tracking system for many purposes. Let’s take an example. A night vision goggle that sees certain light spectrums is able to detect enemy motion, even in the darkest places!

Light Source Motion Tracking

Honestly, the project is built on an Altera DE2 development board with a Nios II CPU instantiated in hardware. In addition, it equipped with Terasic TRDB_DC2 1.3 Megapixel camera, speakers and a VGA monitor. The development can be done, by using the Quartus II IDE and the NIOS II IDE. In other hand, the image capturing and filtering are implementing in hardware, while the position and vector calculations are all done in the Nios II CPU.

Developing the light source motion tracking system would be a great experience for you. That’s why, you shouldn’t miss it!

The 32 Channel Logic Analyzer

You’re working in the electronic field that require you to observe and check out the digital system with precision, but you didn’t know the proper way to build it? If you’re having the difficulty, then today’s your lucky day, as we’re going to develop a 32 Channel Logic Analyzer!

For those who never get in touch with logic analyzer before, it is an electronic instrument displays signals in a digital circuit. Practically, they’re used for capturing data in systems, which is having too many channels to be examined with an oscilloscope. The software that running on the logic analyzer can be used to convert the captured data into timing diagrams, protocol decodes, assembly language and much more.

The 32 Channel Logic Analyzer

For your information, the logic analyzer that we’re building today is a 32 channels with 4K sample memory up to 100HMz and 16 channels up to 200MHz. Beside that, it included Java client application and allows waveform exploration (As well as SPI and I2C protocol analysis). The project has been optimized, so that it can run on the Butterfly Platform hardware without problem.

The logic analyzer is building on a FPGA technology, but it has the downfall, where it can only sample 1.2V, 2.5V and 3.3V. Hence, please keep in mind that any higher voltages can damage the input pins of the FPGA!

The Outstanding Parallelized Knuth-Morris-Pratt Search Algorithm

Search algorithm might be sound a little bit unfamiliar to general people, as most of them didn’t know what’s the main purpose of this system for!

Did you know that search algorithm is one of the important factors in computer science, where is an algorithm that takes a problem as input and returns a solution to the problem.

Cyclone_II_FPGA

In most of the cases, the algorithms studied by computer scientists are normally in the form of search algorithms. Basically, there’s a set of possible solutions to a problem, and is being given named as the “search space”. As a result, the algorithms use the simplest method of the searching through the search space to reduce the amount of time spent for searching!

The main objective of the project is to demonstrate the implementation of parallel units capable of performing this algorithm on the FPGA.

For your information, the reason why we’re using the Knuth-Morris-Pratt algorithm, as it’s better than the brute force algorithm of comparing characters in the strings, by moving 1 character at a time in the set of strings. This means, it’s a lot more easier using the Knuth-Morris-Pratt algorithm, as it skipped a subset of the string, if there’s a partial match has been found.

If you’re curious about the algorithm, then check out the main website to find out more about the use of Knuth-Morris-Pratt Algorithm!

Next Page »