|
- module cd4514( //带使能的四位锁存器/4至16线路解码器 VCC:Pin24 GND:Pin12
- input A, //译码地址A(低位) Pin2
- input B, //译码地址B Pin3
- input C, //译码地址C Pin21
- input D, //译码地址D(高位) Pin22
- input INH, //低电平使能译码 高电平禁止(Q输出0) Pin23
- input STB, //高电平透明 低电平锁存 Pin1
- output [15:0] Q //[16位宽] 译码输出 Pin:15,16,13,14,19,20,17,18,4,5,6,7,8,10,9,11
- );
- reg [3:0] i = 4'b0;
- assign Q = (!INH) << i;
- always @(*) begin
- if(STB) begin
- i <= {D,C,B,A};
- end
- end
- endmodule
- module main(
- input clk,
- output [15:0] Q
- );
- reg A,B,C,D;
- initial {A,B,C,D} = 4'd0;
- cd4514 U1(
- .A(A),
- .B(B),
- .C(C),
- .D(D),
- .INH(1'b0),
- .STB(1'b1),
- .Q(Q)
- );
- always @(posedge clk) begin
- {D,C,B,A} <= {D,C,B,A} + 4'd1;
- end
- endmodule
复制代码 |
|