|
- module cd4067( //单路16通道模拟多路复用器信号分离器 VCC:Pin24 GND:Pin12
- inout [15:0] XA, //[16位宽双向IO] 16线译码端 Pin:16,17,18,19,20,21,22,23,2,3,4,5,6,7,8,9
- inout XB, //[双向IO] 1线译码端 Pin1
- input A, //译码地址线A Pin10
- input B, //译码地址线B Pin11
- input C, //译码地址线C Pin14
- input D, //译码地址线D Pin13
- input EN //低电平使能译码 高电平高阻 Pin15
- );
- wire [3:0] j = {D,C,B,A};
- assign XB = EN ? 1'bz : XA[j];
- genvar i;
- generate
- for(i=0;i<16;i=i+1) begin:gen
- assign XA[i] = (EN || i != j) ? 1'bz : XB;
- end
- endgenerate
- endmodule
- module main(
- inout [15:0] XA,
- inout XB,
- input A,
- input B,
- input C,
- input D,
- input EN
- );
- cd4067 U1(
- .XA(XA),
- .XB(XB),
- .A(A),
- .B(B),
- .C(C),
- .D(D),
- .EN(EN)
- );
- endmodule
复制代码 |
|