soundjuice / Basys3-Pulse-Generator

Pulse generator on Basys 3 FPGA board

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Basys 3 Pulse Generator

Description

Pulse Generator program that outputs a square wave signal between 0v and 3.3v on PMOD port JA1:J1 of Basys3 FPGA Board. Both Frequency and Duty Cycle are configured by the user on a scale of 1kHz - 99kHz and 1% - 99%.

Basys 3 Layout

Basys-3-Layout

PMOD Ports PMOD JA Labels
PMOD-Ports PMOD-Port-Labels

PMOD Ports supply a max current of 2A / typical current between 100mA to 1.5A on a 3.3v supply with a zener diode regulator for each port. The VCC and Ground pins can deliver up to 1A of current. Pmod data signals are not matched pairs, and they are routed using best-available tracks without impedance control or delay matching. — Basys 3™ FPGA Board Reference Manual. Digilent, Inc.

Connect PMOD output JA1:J1 to an input and use either GND port on JA as common ground.

Peripherals Description
Up Button Increase Frequency or Duty Cycle value
Down Button Decrease Frequency or Duty Cycle value
Left Button Program Reset
Center Button Stop Pulse Generator
Right Button Start Pulse Generator
Switch 0 [Up] Program Frequency
[Down] Program Duty Cycle
Switch 15 System Reset
LEDs Notify running program
7 Segment Display [Initialization] "----PULSE----"
[Program] "Prog" | "Fr.01" | "dc.50"
[Run] "run" | "Fr.01" | "dc.50"
[Reset] "----"
PMOD JA [JA1:J1] Pulse Output

Requirements

Setup

  1. Open Vivado and Create Project (creates a new project)
    • select RTL Project (Register-transfer level)
  2. In Add Sources window, click Add Files and select all .vhd files within the sources folder.
    • Be sure to select "Copy sources into project" to prevent overwriting of original files.
  3. In Add Constraints window, click Add Files and select the .xdc constraint file within the constraints folder.
    • Be sure to select "Copy sources into project" to prevent overwriting of original files.
  4. In Default Part window, select Boards and search for Basys3 in the search bar.
  5. Once on the PROJECT MANAGER page, execute these commands in the following order:
Commands Image
1. Run Synthesis
2. Run Implementation
3. Generate Bitstream
4. Open Target (after connecting to Basys 3 board via microUSB)
5. Program Device (select board and click Program on pop-up)
Vivado-Flow-Navigator

BEFORE OPERATION - Connect PMOD output JA1:J1 to an input and use either GND port on JA as common ground.

Resources

Credits

  • Ahmad Frazier
  • Cheik Sylla

About

Pulse generator on Basys 3 FPGA board

License:MIT License


Languages

Language:VHDL 100.0%