2.05 - DCO

Генератор сделан на базе DDS. На выходе - пила.

module dds32(clk, add, accum);input wire clk;input [31:0] add;output reg [31:0] accum; initial begin accum = 0;endalways @(posedge clk) begin accum <= accum + add;endendmodule

Пример пилы 220 Гц, выведенной через модуль ШИМ. Текст головного модуля для соединения VCO->PWM->OUT:

// DDS - расчет значения регистра для заданной частоты//32 бита это 4294967296//делим 220Hz / 50 000 000 Hz / 2 * 4294967296 => 9448,9280512//DCO 220 Гцwire [31:0] fout220; dds32 dds1(clk50M, 9449, fout220);//ШИМ для выводаwire pwm220; pwm8dac1 dac1(clk50M, fout220[31:24], pwm220);//вывод наружуalways @(posedge clk50M) begin snd_R <= pwm220; snd_L <= pwm220; end

Результат