📄 212bianmaqi.v
字号:
`timescale 1ns / 1ps
////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 15:34:38 09/08/08
// Design Name:
// Module Name: 212bianmaqi
// Project Name:
// Target Device:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
////////////////////////////////////////////////////////////////////////////////
// (2,1,6)卷积码编码器
//D触发器模块
module DFF(Q,D,CP); //D触发器设定
output Q;
input D,CP;
reg Q;
always @(posedge CP) //上升沿触发
begin
Q <= D;
end
endmodule
//2位并串转换模块
module BC(out,a,b,sel); //2位并串转换设定
input a,b,sel;
output out;
reg out;
always @(a or b or sel)
begin
if (sel==0)
out=a;
else
out=b;
end
endmodule
module bianma(CLK1,Din,Dout1,Dout2,Dout) ; //(2,1,6)卷积码编码器
input Din,CLK1;
output Dout1,Dout2,Dout;
reg Dout1,Dout2;
DFF ff1(
.CP(CLK1), //第1片触发器
.D(Din) ,
.Q(D1)
);
DFF ff2(
.CP(CLK1), //第2片触发器
.D(D1) ,
.Q(D2)
);
DFF ff3(
.CP(CLK1), //第3片触发器
.D(D2) ,
.Q(D3)
);
DFF ff4(
.CP(CLK1), //第4片触发器
.D(D3) ,
.Q(D4)
);
DFF ff5(
.CP(CLK1), //第5片触发器
.D(D4) ,
.Q(D5)
);
DFF ff6(
.CP(CLK1), //第6片触发器
.D(D5) ,
.Q(D6)
);
always @(posedge CLK1)
begin
assign Dout1=Din^D1^D2^D3^D6; //加法器1
assign Dout2=Din^D2^D3^D5^D6; //加法器2
end
BC bc(
.out(Dout),
.sel(CLK1),
.a(Dout1),
.b(Dout2)
);
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -