|
- module hc25( //带使能控制端功能的二组四输入或非门 VCC:Pin14 GND:Pin7
- //A组
- input A_A, //逻辑输入A Pin1
- input B_A, //逻辑输入B Pin2
- input C_A, //逻辑输入C Pin4
- input D_A, //逻辑输入D Pin5
- input EN_A, //高电平使能 低电平输出高电平 Pin3
- output Y_A, //或非逻辑输出 Pin6
- //B组
- input A_B, //Pin9
- input B_B, //Pin10
- input C_B, //Pin12
- input D_B, //Pin13
- input EN_B, //Pin11
- output Y_B //Pin8
- );
- assign Y_A = EN_A ? !(|{A_A,B_A,C_A,D_A}): 1'b1;
- assign Y_B = EN_B ? !(|{A_B,B_B,C_B,D_B}): 1'b1;
- endmodule
- module main(
- input clk,
- output reg led //低电平(计算正确)点亮
- );
- reg A,B,C,D,EN;
- wire Y;
- hc25 U1(
- .A_A(A),
- .B_A(B),
- .C_A(C),
- .D_A(D),
- .EN_A(EN),
- .Y_A(Y)
- );
- always @(posedge clk) begin
- if(Y == ({EN,D,C,B,A} <= 5'b10000)) begin
- led <= 1'b0;
- end else begin
- led <= 1'b1;
- end
- {EN,D,C,B,A} <= {EN,D,C,B,A} + 5'd1;
- end
- endmodule
复制代码
|
|