rsc_a.v
来自「Turbo码编码器的两个分量编码器RSC」· Verilog 代码 · 共 86 行
V
86 行
module RSC_a( clk,data_in,RSC_clr,RSC_en,out_1a);
parameter k=1784;//设置参数
input clk;//时钟
input data_in;//输入端口
input RSC_clr;//清零端口
input RSC_en;//使能端口
output out_1a;//数据输出端口
reg temp;
reg d0,d1,d2,d3;
reg out_1a;
integer i=0;
always @(posedge clk)
begin
if(RSC_clr)//清零
begin
temp<=0;
d0<=0;
d1<=0;
d2<=0;
d3<=0;
end
else if((!RSC_clr)&&(RSC_en))//编码
begin
i=i+1;
if(i<5)//前四个时钟周期无编码输出
begin
temp<=d2^d3;
d3<=d2;
d2<=d1;
d1<=d0;
d0<=data_in^temp;
end
else if((i>4)&&(i<(k+1))&&(RSC_en))//有编码输出
begin
out_1a<=temp^d0^d2^d3;
temp<=d2^d3;
d3<=d2;
d2<=d1;
d1<=d0;
d0<=data_in^temp;
end
else if((i>k)&&(i<=(k+4))&&(RSC_en))//数据端口无数据输入,但编码器有输出
begin
temp<=d2^d3;
d3<=d2;
d2<=d1;
d1<=d0;
d0<=temp;
out_1a<=temp^d0^d2^d3;
end
end
if ((i>(k+4))&&(!RSC_en))
begin
i<=0;
temp<=0;
d0<=0;
d1<=0;
d2<=0;
d3<=0;
end
end
endmodule
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?