Dds Compiler 6.0 Example !!hot!! Page
Here’s a helpful structured example and explanation for using (commonly used in Vivado for Direct Digital Synthesis).
This formula is the key to programming the DDS dynamically. If the accumulator width is 24 bits and the clock is 100 MHz, calculating the hex value for a 5 MHz sine wave requires plugging these numbers into the formula, which we will do in our example.
In the Vivado IP Catalog, search for "DDS Compiler" and double-click to open the configuration wizard. Configuration Tab: Dds Compiler 6.0 Example
$$ \Delta\theta = \fracf_out \times 2^Nf_clk $$
To verify the DDS works, we run a simulation. Below is a simple testbench in Verilog. Here’s a helpful structured example and explanation for
To see the waveform physically, you need a DAC. Connect the 12-bit sine_out to a DAC (e.g., AD9708 or a simple R-2R ladder). Use an oscilloscope:
: Once generated, right-click the IP in your "Sources" tab and select Open IP Example Design . Components : This will generate a new project containing: A top-level wrapper connecting the core to system ports. In the Vivado IP Catalog, search for "DDS
module tb_dds_1MHz(); reg clk; reg reset_n; wire [11:0] sine; // Generate 100 MHz clock always #5 clk = ~clk; // 10 ns period -> 100 MHz
