Skip to content

rphlhuang/vivaldi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vivaldi

A mini FPGA synthesizer built for the Nexys Video Artix-7 FPGA from Digilent. Contains 4 oscillators (sine, square, sawtooth, triangle), an envelope generator, an amplitude modulator, and a top module that accepts encoder inputs from the attack and delay parameters of the envelope, as well as a keypad input that controls the frequency of the output signal.

Vivado Notes

  • Most installations of Vivado will not contain the Nexys Video Board.
    • In the board configuration page in project setup, click Refresh, then wait a couple minutes for Vivado to pull all board files. T
    • Search for "Nexys Video", and click the Download button to retrieve the board files.

Programming onto the Nexys Video Board

If you want to test this project on your own Nexys Video board you can do so easily by making use of the provided TCL script in a few short steps.\

  1. Clone the repo
  2. Navigate to the synth/vivado_nexysVideo/build directory
  3. In the terminal, run vivado -mode batch -source ../vivado.tcl

The TCL script will then open a new Vivado project, add all relevant files, and run everything from synthesis to generating the bitstream and will automatically program the connected board. The provided RTL is configured to have the PMOD keyboard in the JA PMOD slot and encoders in the JB and JC PMOD connectors, but this can be easily changed in the constraint file if needed.

Simulation

To run the testbench, run make sim in the repository root. This will generate a dump.fst waveform and a out.wav WAVE audio file from top_tb.sv.

General Notes

  • Upload bitstreams with OpenFPGALoader
    • openFPGALoader -b nexysVideo bitstream.bit

References

About

A mini FPGA synthesizer built for the Nexys Video Artix-7 FPGA from Digilent.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors