Verilog实现一阶sigma_delta DAC

2021-07-09 17:05:19 浏览数 (1)

一阶 sigma-delta 调制器类似于 PWM,但如果需要对其进行滤波,则具有更好的频率响应,因为它具有更高的频率输出内容。

创建一阶 sigma-delta 调制器的最简单方法是使用硬件累加器……每次累加器溢出时,输出“1”。否则输出’0’。这在 FPGA 中很容易完成。

代码语言:javascript复制
module PWM3(
        clk, 
    rst_n,
    PWM_in, 
    PWM_out);
input clk;
input rst_n;
input [3:0] PWM_in;
output PWM_out;


reg [4:0] PWM_accumulator;
always @(posedge clk or negedge rst_n) 
  if(!rst_n)
    PWM_accumulator <=0;
  else
    PWM_accumulator <= PWM_accumulator[3:0]   PWM_in;


assign PWM_out = PWM_accumulator[4];
endmodule

输入值越高,累加器溢出越快(“ PWM _ 累加器[4]”) ,输出“1”的频率越高。

0 人点赞