|
- module hc258( //三态输出的四路二选一反向输出选择器 VCC:Pin16 GND:Pin8
- input [3:0] A, //[4位宽] 译码输入A Pin:14,11,5,2
- input [3:0] B, //[4位宽] 译码输入B Pin:13,10,6,3
- input OE, //低电平使能Y 高电平高阻 Pin15
- input AB, //低电平Y=~A 高电平Y=~B Pin1
- output [3:0] Y //[4位宽] 反向译码输出 Pin:12,9,7,4
- );
- assign Y = OE ? 4'bzzzz : ~(AB ? B : A);
- endmodule
- module main(
- input clk,
- output reg led //低电平(计算正确)点亮
- );
- wire [3:0] Y;
- reg [3:0] A = 4'b0000;
- reg [3:0] B = 4'b0000;
- reg AB = 1'b0;
- hc258 U1(
- .A(A),
- .B(B),
- .OE(1'b0),
- .AB(AB),
- .Y(Y)
- );
- always @(posedge clk) begin
- {AB,A,B} <= {AB,A,B} + 9'd1;
- if(Y == ~(AB ? B : A)) begin
- led <= 1'b0;
- end else begin
- led <= 1'b1;
- end
- end
- endmodule
复制代码 |
|