📄 cic_4_dec.v.bak
字号:
/**************************************************cic filter,4 times draw-out **************************************************/module cic_4_dec(clk,rst,cic_in,cic_out,rdy); input clk; input rst; input [15:0] cic_in; output[39:0] cic_out; output rdy; reg [39:0]integrator1=0; reg [39:0]integrator2=0; reg [39:0]integrator3=0; reg [39:0]integrator4=0; reg [39:0]integrator5=0; reg [39:0]decimator1=0; reg [39:0]decimator1_z=0; reg [39:0]decimator2=0; reg [39:0]decimator2_z=0; reg [39:0]decimator3=0; reg [39:0]decimator3_z=0; reg [39:0]decimator4=0; reg [39:0]decimator4_z=0; reg [39:0]decimator5=0; reg [39:0]decimator5_z=0; reg [39:0]cic_out=0; reg rdy; reg [39:0]cic=0; reg [7:0]counter=0; always @(posedge clk or negedge rst)begin if(!rst) begin cic<=0; integrator1=0; integrator2=0; integrator3=0; integrator4=0; integrator5=0; counter<=0; end else begin cic[39:16]<={24{cic_in[15]}}; cic[15:0]<=cic_in[15:0]; integrator1<=cic+integrator1; integrator2<=integrator1+integrator2; integrator3<=integrator2+integrator3; integrator4<=integrator3+integrator4; integrator5<=integrator4+integrator5; counter<=counter+1; if(counter==3) begin counter<=0; decimator1<=integrator5; decimator1_z<=decimator1; decimator2<=decimator1-decimator1_z; decimator2_z<=decimator2; decimator3<=decimator2-decimator2_z; decimator3_z<=decimator3; decimator4<=decimator3-decimator3_z; decimator4_z<=decimator4; decimator5<=decimator4-decimator4_z; decimator5_z<=decimator5; cic_out<=decimator5-decimator5_z; rdy<=1; end if(rdy) begin rdy<=0; end endendendmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -