|
发表于 2024-7-22 10:35:13
|
显示全部楼层
module dec_thermo_4b (
input [3:0] a,
output reg [14:0] yn,
output [14:0] y
);
always @(*) begin
case (a)
4'b0000: yn = 15'b1111_1111_1111_111;
4'b0001: yn = 15'b1111_1111_1111_110;
4'b0010: yn = 15'b1111_1111_1111_100;
4'b0011: yn = 15'b1111_1111_1111_000;
4'b0100: yn = 15'b1111_1111_1110_000;
4'b0101: yn = 15'b1111_1111_1100_000;
4'b0110: yn = 15'b1111_1111_1000_000;
4'b0111: yn = 15'b1111_1111_0000_000;
4'b1000: yn = 15'b1111_1110_0000_000;
4'b1001: yn = 15'b1111_1100_0000_000;
4'b1010: yn = 15'b1111_1000_0000_000;
4'b1011: yn = 15'b1111_0000_0000_000;
4'b1100: yn = 15'b1110_0000_0000_000;
4'b1101: yn = 15'b1100_0000_0000_000;
4'b1110: yn = 15'b1000_0000_0000_000;
4'b1111: yn = 15'b0000_0000_0000_000;
endcase
end
assign y = ~yn;
endmodule
/* Generated by Yosys 0.42+30 (git sha1 6c8ae44ae, x86_64-w64-mingw32-g++ 13.2.1 -Os) */
module dec_thermo_4b(a, yn, y);
wire _00_;
wire _01_;
wire _02_;
wire _03_;
wire _04_;
wire _05_;
wire _06_;
wire _07_;
wire _08_;
wire _09_;
wire _10_;
wire _11_;
wire _12_;
wire _13_;
wire _14_;
wire _15_;
wire _16_;
wire _17_;
wire _18_;
wire _19_;
wire _20_;
wire _21_;
wire _22_;
wire _23_;
wire _24_;
wire _25_;
wire _26_;
wire _27_;
wire _28_;
wire _29_;
wire _30_;
wire _31_;
wire _32_;
wire _33_;
wire _34_;
wire _35_;
wire _36_;
wire _37_;
wire [14:0] _38_;
wire [14:0] _39_;
wire [14:0] _40_;
input [3:0] a;
wire [3:0] a;
output [14:0] y;
wire [14:0] y;
output [14:0] yn;
wire [14:0] yn;
INVX1 _41_ (
.A(_02_),
.Y(_04_)
);
INVX1 _42_ (
.A(_03_),
.Y(_35_)
);
INVX1 _43_ (
.A(_01_),
.Y(_05_)
);
NAND2X1 _44_ (
.A(_04_),
.B(_35_),
.Y(_17_)
);
INVX1 _45_ (
.A(_17_),
.Y(_31_)
);
NAND2X1 _46_ (
.A(_05_),
.B(_31_),
.Y(_15_)
);
INVX1 _47_ (
.A(_15_),
.Y(_29_)
);
NOR2X1 _48_ (
.A(_01_),
.B(_00_),
.Y(_06_)
);
NAND2X1 _49_ (
.A(_31_),
.B(_06_),
.Y(_09_)
);
INVX1 _50_ (
.A(_09_),
.Y(_23_)
);
NAND2X1 _51_ (
.A(_01_),
.B(_00_),
.Y(_07_)
);
NAND2X1 _52_ (
.A(_31_),
.B(_07_),
.Y(_16_)
);
INVX1 _53_ (
.A(_16_),
.Y(_30_)
);
AOI21X1 _54_ (
.A(_02_),
.B(_01_),
.C(_03_),
.Y(_33_)
);
INVX1 _55_ (
.A(_33_),
.Y(_19_)
);
OAI21X1 _56_ (
.A(_04_),
.B(_06_),
.C(_35_),
.Y(_18_)
);
INVX1 _57_ (
.A(_18_),
.Y(_32_)
);
OAI21X1 _58_ (
.A(_04_),
.B(_07_),
.C(_35_),
.Y(_20_)
);
INVX1 _59_ (
.A(_20_),
.Y(_34_)
);
NAND2X1 _60_ (
.A(_03_),
.B(_00_),
.Y(_08_)
);
NOR2X1 _61_ (
.A(_04_),
.B(_35_),
.Y(_11_)
);
INVX1 _62_ (
.A(_11_),
.Y(_25_)
);
AOI21X1 _63_ (
.A(_04_),
.B(_05_),
.C(_35_),
.Y(_22_)
);
INVX1 _64_ (
.A(_22_),
.Y(_37_)
);
NAND2X1 _65_ (
.A(_08_),
.B(_37_),
.Y(_21_)
);
INVX1 _66_ (
.A(_21_),
.Y(_36_)
);
AOI21X1 _67_ (
.A(_04_),
.B(_07_),
.C(_35_),
.Y(_10_)
);
INVX1 _68_ (
.A(_10_),
.Y(_24_)
);
NOR2X1 _69_ (
.A(_06_),
.B(_25_),
.Y(_12_)
);
INVX1 _70_ (
.A(_12_),
.Y(_26_)
);
NOR2X1 _71_ (
.A(_05_),
.B(_25_),
.Y(_13_)
);
INVX1 _72_ (
.A(_13_),
.Y(_27_)
);
NOR2X1 _73_ (
.A(_07_),
.B(_25_),
.Y(_14_)
);
INVX1 _74_ (
.A(_14_),
.Y(_28_)
);
assign _38_[14:7] = 8'hff;
assign _39_[14:3] = 12'hfff;
assign _40_[14:1] = 14'h3fff;
assign y[7] = a[3];
assign _02_ = a[2];
assign _03_ = a[3];
assign yn[0] = _23_;
assign yn[1] = _29_;
assign yn[2] = _30_;
assign yn[3] = _31_;
assign yn[4] = _32_;
assign yn[5] = _33_;
assign yn[6] = _34_;
assign yn[7] = _35_;
assign yn[8] = _36_;
assign yn[9] = _37_;
assign yn[10] = _24_;
assign yn[11] = _25_;
assign yn[12] = _26_;
assign yn[13] = _27_;
assign yn[14] = _28_;
assign _01_ = a[1];
assign _00_ = a[0];
assign y[0] = _09_;
assign y[1] = _15_;
assign y[2] = _16_;
assign y[3] = _17_;
assign y[4] = _18_;
assign y[5] = _19_;
assign y[6] = _20_;
assign y[8] = _21_;
assign y[9] = _22_;
assign y[10] = _10_;
assign y[11] = _11_;
assign y[12] = _12_;
assign y[13] = _13_;
assign y[14] = _14_;
endmodule
把第二段verilog in,就有了
|
|