agc.v
来自「AGC verilog实现」· Verilog 代码 · 共 40 行
V
40 行
module agc(clk,rst,x_in,power,y_out);
parameter MN=64250;
input clk;
input rst;
input [15:0]x_in;
output [15:0]y_out;
output [36:0]power;
reg[36:0]x_power,x_power1;
reg[5:0]cnt;
wire[31:0]x_out;
always@(clk)begin
if(!rst)begin
x_power<=0;
x_power<=0;
cnt<=0;
end
else begin
cnt<=cnt+1;
if(cnt==0)begin
x_power<=x_power1;
x_power1<={{5{x_out[31]}},x_out};
end
else
x_power1<=x_power1+{{5{x_out[31]}},x_out};
end
end
assign y_out=(x_power<MN)?(x_in<<1):(x_in>>1);
assign power=x_power;
mymult mymult(
.clock(clk),
.dataa(x_in),
.datab(x_in),
.result(x_out)
);
endmodule
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?