|
- module cd4006( //18位静态移位寄存器 (下降沿触发) VCC:Pin14 GND:Pin7 空引脚:Pin2
- input D1, //输入D1 Pin1
- input D2, //输入D2 Pin4
- input D3, //输入D3 Pin5
- input D4, //输入D4 Pin6
- input CLK, //CLK时钟(下降沿打一拍) Pin3
- output reg D14, //D1+4 D1滞后4拍(级联4个D触发器) Pin13
- output reg D24, //D2+4 D2滞后4拍 Pin11
- output reg D25, //D2+5 D2滞后5拍 Pin12
- output reg D34, //D3+4 D3滞后4拍 Pin10
- output reg D44, //D4+4 D4滞后4拍 Pin8
- output reg D45 //D4+5 D4滞后5拍 Pin9
- );
- initial {D14,D24,D25,D34,D44,D45} = 6'd0;
- reg D13,D12,D11;
- initial {D13,D12,D11} = 3'd0;
- always @(negedge CLK) begin
- D11 <= D1;
- D12 <= D11;
- D13 <= D12;
- D14 <= D13;
- end
- reg D23,D22,D21;
- initial {D23,D22,D21} = 3'd0;
- always @(negedge CLK) begin
- D21 <= D2;
- D22 <= D21;
- D23 <= D22;
- D24 <= D23;
- D25 <= D24;
- end
- reg D33,D32,D31;
- initial {D33,D32,D31} = 3'd0;
- always @(negedge CLK) begin
- D31 <= D3;
- D32 <= D31;
- D33 <= D32;
- D34 <= D33;
- end
- reg D43,D42,D41;
- initial {D43,D42,D41} = 3'd0;
- always @(negedge CLK) begin
- D41 <= D4;
- D42 <= D41;
- D43 <= D42;
- D44 <= D43;
- D45 <= D44;
- end
- endmodule
- module main(
- input D1,
- input D2,
- input D3,
- input D4,
- input CLK,
- output D14,
- output D24,
- output D25,
- output D34,
- output D44,
- output D45
- );
- cd4006 U1(
- .D1(D1),
- .D2(D2),
- .D3(D3),
- .D4(D4),
- .CLK(CLK),
- .D14(D14),
- .D24(D24),
- .D25(D25),
- .D34(D34),
- .D44(D44),
- .D45(D45)
- );
- endmodule
复制代码
|
|