The FPGA on the device can be loaded with
An example jupyter notebook is included that demonstrates how the AWG can be programmed.
The srcs folder contains the verilog code to realize the arbitrary generator block, a constraint file used for synthesis and implementation as well as the block diagram of the design.
To use it copy the Jupyter notebook arb_with_rfsoc.ipynb and the folder package onto the RFSoC device and execute the notebook with necessary modifications.
Once the overlay is loaded and the clocks are programmed, loading sample points on to the memory of the AWG can be initiated. The AWG memory contains two blocks of 128 bit wide by 32,768 deep RAM as shown in the figure (This is the way it is programmed, however the design tool implements it based on the resources available in the FPGA). AXI GPIOs, programmed with Pynq package, are used to write sample points onto the RAMs. The GPIOs send a row index and a column index that determine the RAM address at which the sample points are written, a selector index that chooses which of the two RAMs to write onto. The samples are sequentially written into the RAM as shown in the figure. When all the points are written onto the RAM, the writing is disabled. A 15 bit counter, increamenting with the read-clock (
-
Notifications
You must be signed in to change notification settings - Fork 0
manbhattarai/awg-rfsoc
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
An arbitrary waveform generator with the Real Digital RFSoC board
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published