|
- module cd40106( //具有施密特触发功能的六非门反相器 VCC:Pin14 GND:Pin7
- //FPGA的施密特触发器输入取决于硬件,是否支持以及配置方法见器件数据手册
- input inA, //A组输入 Pin1
- input inB, //Pin3
- input inC, //Pin5
- input inD, //Pin13
- input inE, //Pin11
- input inF, //Pin9
-
- output outA, //A组输出 Pin2
- output outB, //Pin4
- output outC, //Pin6
- output outD, //Pin12
- output outE, //Pin10
- output outF //Pin8
- );
- assign {outA,outB,outC,outD,outE,outF} = ~{inA,inB,inC,inD,inE,inF};
- endmodule
- module main(
- input clk, //时钟输入
- output reg led //低电平(计算正确)点亮
- );
- reg [5:0] in = 6'd0;
- wire [5:0] out;
- cd40106 U1(
- .inA(in[0]),
- .inB(in[1]),
- .inC(in[2]),
- .inD(in[3]),
- .inE(in[4]),
- .inF(in[5]),
- .outA(out[0]),
- .outB(out[1]),
- .outC(out[2]),
- .outD(out[3]),
- .outE(out[4]),
- .outF(out[5])
- );
- always @(posedge clk) begin
- if(~in == out) begin
- led <= 1'b0;
- end else begin
- led <= 1'b1;
- end
- in <= in + 6'd1;
- end
- endmodule
复制代码 |
|