примитивная сигма-дельта вот этим кодом пользуюсь уже тучу лет
module sigma_delta #(parameter width = 8)
(
input clk,
input enable,
input [width-1:0] data,
output sd_out
);
// Sigma-Delta core // data - input
reg [width+1:0] SigmaOut = 0;
wire [width+1:0] DeltaOut;
assign DeltaOut = {{2{SigmaOut[width+1]}}, ~data[width-1:0]};
always @(posedge clk)
if (enable) SigmaOut <= DeltaOut + SigmaOut;
assign sd_out = SigmaOut[width];
endmodule