Waveform Generator: A generic waveform generator divided into stimulus and driver units that can be arbitrarily interconnected.

Clone this repo:

Branches

  1. b0c9987 final gds oasis by Jeff DiCorpo · 1 year, 11 months ago main
  2. f973a7f Add images by mole99 · 2 years ago
  3. dd958f7 Compress GDS by mole99 · 2 years ago
  4. f8aa78c Generate user_project_wrapper by mole99 · 2 years ago
  5. ff4d38d Update README by mole99 · 2 years ago

Caravel User Project

License UPRJ_CI Caravel Build

Waveform Generator

The source files for the Waveform Generator can be found under the waveform-generator repository.

The completed GSD file

The general idea is that various stimuli can be arbitrarily connected to different driver.

WFG block diagram

Currently the following blocks are implemented:

Stimuli

  • wfg_stim_sine
  • wfg_stim_mem

Driver

  • wfg_drive_spi
  • wfg_drive_pat

Various

  • wfg_interconnect
  • wfg_core
  • wfg_subcore

Memory Map

The base address of the user project is 0x30000000.

By adding an offset to this base address, the various peripherals can be configured.

For more information about the register entries please refer to the waveform-generator repository.

wfg_core

OffsetNameDescription
0x10CTRLCore control register
0x14CFGCore configuration register

wfg_subcore

OffsetNameDescription
0x20CTRLSubcore control register
0x24CFGSubcore configuration register

wfg_interconnect

OffsetNameDescription
0x30CTRLControl register for interconnect
0x34DRIVER0Driver configuration register
0x38DRIVER1Driver configuration register

wfg_stim_sine

OffsetNameDescription
0x40CTRLControl register for sine wave generation unit
0x44INCIncrement register
0x48GAINGain register
0x4COFFSETOffset register

wfg_stim_mem

OffsetNameDescription
0x50CTRLControl register for memory unit
0x54STARTStart register
0x58ENDEnd register
0x5CCFGConfiguration register

wfg_drive_spi

OffsetNameDescription
0x60CTRLControl register for SPI unit
0x64CFGSPI configuration register
0x68CLKCFGSPI clock configuration register

wfg_drive_pat

OffsetNameDescription
0x70CTRLControl register for pattern unit
0x74CFGPattern configuration register
0x78PATSEL0Low bits of PATSEL
0x7CPATSEL1High bits of PATSEL