Task Breakdown:

2.1 Project Plan:

The project plan first starts with developing a plan to produce our electronics. We focused on synthesizing video signals from scratch using VHDL and FPGA. This challenge seems to have been left behind by the market, due to its lack of demand and steep requirement of technical expertise. As computer engineers, we have a background in hardware level programming and should be able to reverse engineer test signals and encode the logic onto boards. Then we can focus on controls and UX all while keeping the technology close to the hardware. Hardware level programming certainly comes with its benefits, especially in regards to video art, which even to this day is most often sent to CRTs which can handle the variable voltages with ease and elegance. Implementing digital conversion often leads to losses of color, and pixel location, and the resulting digital image leaves a lot to be desired. Thus we will focus on analog solutions close to hardware, where we will have much more control across the voltages.

Alternatively, we can leverage existing technologies like oscillators, potentiometers or photoelectric sensors that can be used to vary voltages and by extension the video signal. Much of this can be done first with breadboarding, which is a tempting benefit. The breadboarding process is forgiving and leaves us room to experiment with a variety of electrical components without hard soldering or coding to FPGA. As expected, there are still some downsides to this solution; sensor components are often unreliable and go in direct opposition to our design goal of efficient and easy to use tools for VJs. Also, oscillator ICs are often difficult to come by, though we can potentially remedy this issue by designing our own oscillators.

Clearly, there are many factors to consider in both approaches and the team will discuss the technical decisions and flesh out a pipeline before proceeding in either direction.

2.2 Concepts:

Customer Desires



2.3 Concept Selection:

Our design will make use of an FPGA board programmed using VHDL. We felt this was best as the Nexys A7-100T board has built in button functionality as well as a VGA port for display. Additionally, as computer engineers, most of us have more experience with coding than with circuit design, which should make working with VHDL code more intuitive than working with analog circuitry.

To appeal to a wide range of skill levels the board should have a multitude of controls. The board will have several pre-programmed effects and geometry presets that can be controlled using buttons and switches. The board will also allow artists to animate video displays and apply transitions using potentiometers. Artists should be able to create interesting visuals only utilizing a fraction of the board while experienced will be able to show off their skill by combining controls and creating visuals that are unique and work for what the artists is trying to accomplish. Another important feature of our product should be built-in support for audiovisual displays. The board will be able to take in an audio input signal and use it to generate animations that are synchronized with the audio. The resulting video signal will be outputted from the board's VGA port into one or more CRT TVs or VGA monitors. While our design is intended to be used for outputting VGA signals, it can support HDMI output through use of a converter. There is also a possibility that the board will be able to take in existing video signals as input and modify them.

While we will be working with an FPGA board for the time being, we plan on doing research into the possibility of instead using a microcontroller programmed with a high-level language, as it has the potential to be much more affordable and easier to work with for both us and our customers. The overall design with the microcontroller will be very similar to the one with the FPGA board, with the same features and system inputs/outputs. The only major difference will be the core component used to generate and process video signals.

2.4 Design:

2.5 Analysis:

A Nexys A7 -100T FPGA board will be used for testing and prototyping the digital hardware. The board will be programmed using VHDL, with the VHDL and board programming being done using Vivado. Depending on the time or money we have, we may use custom PCBs based on our design schematics for our final product, as this is what a commercial product based on our designs would use for digital circuitry.  Other analog and digital electronic components such as potentiometers will also be used in the design. The device will output a VGA signal into a CRT TV, and will be able to take in audio and possibly video signals as input.

2.6 Test Plan:

Senior Design Test Plan