|
本帖最后由 HDL 于 2023-10-22 08:04 编辑
- module cd4014( //8位并行输入串行3输出同步移位寄存器 VCC:Pin16 GND:Pin8
- input SIN, //级联串行输入 Pin11
- input [7:0] D, //[8位宽] 并行输入D Pin:1,15,14,13,4,5,6,7
- input CLK, //CLK时钟 (上升沿触发) Pin10
- input PS, //高电平:将D装入Q 低电平:Q移位(CLK上升沿触发) Pin9
- output Q5, //串行输出Q5 Pin2
- output Q6, //串行输出Q6 Pin12
- output Q7 //串行输出Q7 Pin13
- );
- reg [7:0] Q = 8'd0;
- assign {Q7,Q6,Q5} = Q[7:5];
- always @(posedge CLK) begin
- if(PS) begin
- Q <= D;
- end else begin
- Q <= {Q[6:0],SIN};
- end
- end
- endmodule
- module main(
- input SIN,
- input [7:0] D,
- input CLK,
- input PS,
- output Q5,
- output Q6,
- output Q7
- );
- cd4014 U1(
- .SIN(SIN),
- .D(D),
- .CLK(CLK),
- .PS(PS),
- .Q5(Q5),
- .Q6(Q6),
- .Q7(Q7)
- );
- endmodule
复制代码 |
|