博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

卷积编码器---Verilog代码

Posted on 2020-05-15 22:41  沉默改良者  阅读(1164)  评论(0编辑  收藏  举报

卷积编码器---Verilog代码

module conv_encoder(

    input      wire             clk,
    input      wire             aclr,
    input      wire             data_in,
    input      wire             nd,
    output     reg   [1:0]      data_out_v,
    output     reg              rdy
    );


reg [6:1] shift_reg;

always @ ( negedge aclr or posedge clk )
begin
    if(!aclr)
    begin
        shift_reg <= 6'b000000;
        data_out_v <= 0;
        rdy <= 0;
    end
    else 
    begin
        if(nd)
        begin
            data_out_v[0] <= shift_reg[6] + shift_reg[5] + shift_reg[3] + shift_reg[2] + data_in;
            data_out_v[1] <= shift_reg[6] + shift_reg[3] + shift_reg[2] + shift_reg[1] + data_in;
            rdy<=1;
            shift_reg <= { shift_reg [5:1], data_in };
        end
        else 
        begin
            rdy <= 0;
        end
    end
end


endmodule