Files
eb001/generated/MIIM.v

543 lines
20 KiB
Coq
Raw Normal View History

2023-06-20 18:26:59 +08:00
module MIIM(
input clock,
input reset,
input io_mdi,
output io_mdc,
output io_mdo,
output io_mdoEn,
input [7:0] io_Divider,
input io_NoPre,
input io_WCtrlData,
input [15:0] io_CtrlData,
input [4:0] io_Fiad,
input [4:0] io_Rgad,
input io_RStat,
input io_ScanStat,
output io_Busy,
output io_LinkFail,
output io_Nvalid,
output [15:0] io_Prsd,
output io_WCtrlDataStart,
output io_RStatStart,
output io_UpdateMIIRX_DATAReg
);
`ifdef RANDOMIZE_REG_INIT
reg [31:0] _RAND_0;
reg [31:0] _RAND_1;
reg [31:0] _RAND_2;
reg [31:0] _RAND_3;
reg [31:0] _RAND_4;
reg [31:0] _RAND_5;
reg [31:0] _RAND_6;
reg [31:0] _RAND_7;
reg [31:0] _RAND_8;
reg [31:0] _RAND_9;
reg [31:0] _RAND_10;
reg [31:0] _RAND_11;
reg [31:0] _RAND_12;
reg [31:0] _RAND_13;
reg [31:0] _RAND_14;
reg [31:0] _RAND_15;
reg [31:0] _RAND_16;
reg [31:0] _RAND_17;
reg [31:0] _RAND_18;
reg [31:0] _RAND_19;
reg [31:0] _RAND_20;
reg [31:0] _RAND_21;
reg [31:0] _RAND_22;
reg [31:0] _RAND_23;
reg [31:0] _RAND_24;
reg [31:0] _RAND_25;
reg [31:0] _RAND_26;
reg [31:0] _RAND_27;
reg [31:0] _RAND_28;
reg [31:0] _RAND_29;
reg [31:0] _RAND_30;
reg [31:0] _RAND_31;
reg [31:0] _RAND_32;
reg [31:0] _RAND_33;
reg [31:0] _RAND_34;
reg [31:0] _RAND_35;
reg [31:0] _RAND_36;
reg [31:0] _RAND_37;
reg [31:0] _RAND_38;
reg [31:0] _RAND_39;
reg [31:0] _RAND_40;
`endif // RANDOMIZE_REG_INIT
reg [7:0] Counter; // @[MII.scala 46:25]
reg mdc; // @[MII.scala 47:20]
wire _mdcEn_T = Counter == 8'h0; // @[MII.scala 48:27]
wire _mdcEn_T_1 = ~mdc; // @[MII.scala 48:38]
wire mdcEn = Counter == 8'h0 & ~mdc; // @[MII.scala 48:36]
wire mdcEn_n = _mdcEn_T & mdc; // @[MII.scala 49:36]
reg [7:0] ShiftReg; // @[MII.scala 51:25]
reg [15:0] Prsd; // @[MII.scala 52:25]
reg LinkFail; // @[MII.scala 53:25]
reg [6:0] BitCounter; // @[MII.scala 56:27]
wire EndOp = BitCounter == 7'h3f; // @[MII.scala 57:26]
reg InProgress; // @[MII.scala 60:27]
reg InProgress_q_0; // @[Reg.scala 35:20]
reg InProgress_q_1; // @[Reg.scala 35:20]
reg InProgress_q_2; // @[Reg.scala 35:20]
wire _EndBusy_T = ~InProgress_q_1; // @[MII.scala 62:32]
wire _EndBusy_T_1 = ~InProgress_q_1 & InProgress_q_2; // @[MII.scala 62:49]
reg EndBusy_r; // @[Reg.scala 35:20]
reg EndBusy; // @[Reg.scala 35:20]
reg WriteOp; // @[MII.scala 64:27]
wire [7:0] TempDivider = io_Divider < 8'h2 ? 8'h2 : io_Divider; // @[MII.scala 82:26]
wire [6:0] CounterPreset = TempDivider[7:1] - 7'h1; // @[MII.scala 83:44]
wire [7:0] _Counter_T_1 = Counter - 8'h1; // @[MII.scala 89:24]
wire _LatchByte0_T = ~WriteOp; // @[MII.scala 97:47]
wire _LatchByte0_T_1 = InProgress & ~WriteOp; // @[MII.scala 97:45]
wire _LatchByte0_T_3 = InProgress & ~WriteOp & EndOp; // @[MII.scala 97:56]
reg LatchByte0_r; // @[Reg.scala 35:20]
reg LatchByte0; // @[Reg.scala 35:20]
wire _LatchByte1_T_3 = _LatchByte0_T_1 & BitCounter == 7'h37; // @[MII.scala 98:56]
reg LatchByte1_r; // @[Reg.scala 35:20]
reg LatchByte1; // @[Reg.scala 35:20]
wire _ByteSelect_0_T = BitCounter == 7'h0; // @[MII.scala 100:58]
wire _ByteSelect_0_T_1 = io_NoPre & BitCounter == 7'h0; // @[MII.scala 100:44]
wire ByteSelect_0 = InProgress & (io_NoPre & BitCounter == 7'h0 | ~io_NoPre & BitCounter == 7'h20); // @[MII.scala 100:31]
wire ByteSelect_1 = InProgress & BitCounter == 7'h28; // @[MII.scala 101:31]
wire _ByteSelect_2_T = InProgress & WriteOp; // @[MII.scala 102:31]
wire ByteSelect_2 = InProgress & WriteOp & BitCounter == 7'h30; // @[MII.scala 102:41]
wire ByteSelect_3 = _ByteSelect_2_T & BitCounter == 7'h38; // @[MII.scala 103:41]
wire [7:0] _ShiftReg_T_2 = {2'h1,_LatchByte0_T,WriteOp,io_Fiad[4:1]}; // @[Cat.scala 33:92]
wire [7:0] _ShiftReg_T_5 = {io_Fiad[0],io_Rgad,2'h2}; // @[Cat.scala 33:92]
wire [7:0] _ShiftReg_T_8 = ByteSelect_0 ? _ShiftReg_T_2 : 8'h0; // @[Mux.scala 27:73]
wire [7:0] _ShiftReg_T_9 = ByteSelect_1 ? _ShiftReg_T_5 : 8'h0; // @[Mux.scala 27:73]
wire [7:0] _ShiftReg_T_10 = ByteSelect_2 ? io_CtrlData[15:8] : 8'h0; // @[Mux.scala 27:73]
wire [7:0] _ShiftReg_T_11 = ByteSelect_3 ? io_CtrlData[7:0] : 8'h0; // @[Mux.scala 27:73]
wire [7:0] _ShiftReg_T_12 = _ShiftReg_T_8 | _ShiftReg_T_9; // @[Mux.scala 27:73]
wire [7:0] _ShiftReg_T_13 = _ShiftReg_T_12 | _ShiftReg_T_10; // @[Mux.scala 27:73]
wire [7:0] _ShiftReg_T_14 = _ShiftReg_T_13 | _ShiftReg_T_11; // @[Mux.scala 27:73]
wire [7:0] _ShiftReg_T_16 = {ShiftReg[6:0],io_mdi}; // @[Cat.scala 33:92]
wire [15:0] _Prsd_T_2 = {Prsd[15:8],ShiftReg[6:0],io_mdi}; // @[Cat.scala 33:92]
wire _GEN_11 = io_Rgad == 5'h1 ? ~ShiftReg[1] : LinkFail; // @[MII.scala 117:30 118:20 53:25]
wire [15:0] _Prsd_T_5 = {ShiftReg[6:0],io_mdi,Prsd[7:0]}; // @[Cat.scala 33:92]
wire [15:0] _GEN_12 = LatchByte1 ? _Prsd_T_5 : Prsd; // @[MII.scala 120:30 121:14 52:25]
wire _SerialEn_T_1 = BitCounter > 7'h1f; // @[MII.scala 131:57]
wire _SerialEn_T_3 = _ByteSelect_0_T & io_NoPre; // @[MII.scala 131:91]
wire _SerialEn_T_14 = _LatchByte0_T & InProgress & (_SerialEn_T_1 & BitCounter < 7'h2e | _SerialEn_T_3); // @[MII.scala 132:42]
wire SerialEn = WriteOp & InProgress & (BitCounter > 7'h1f | _ByteSelect_0_T & io_NoPre) | _SerialEn_T_14; // @[MII.scala 131:107]
wire _mdoEn_T = BitCounter < 7'h20; // @[MII.scala 134:66]
wire _mdoEn_T_2 = SerialEn | InProgress & BitCounter < 7'h20; // @[MII.scala 134:40]
reg mdoEn_r; // @[Reg.scala 35:20]
reg mdoEn_r_1; // @[Reg.scala 35:20]
reg mdoEn; // @[Reg.scala 35:20]
wire _mdo_2d_T_2 = ~SerialEn & _mdoEn_T; // @[MII.scala 135:37]
reg mdo_2d; // @[Reg.scala 35:20]
wire _mdo_d_T_1 = ShiftReg[7] | mdo_2d; // @[MII.scala 136:47]
reg mdo_d; // @[Reg.scala 35:20]
reg mdo; // @[Reg.scala 35:20]
reg WCtrlData_q_0; // @[Reg.scala 35:20]
reg WCtrlData_q_1; // @[Reg.scala 35:20]
reg WCtrlData_q_2; // @[Reg.scala 35:20]
reg WCtrlDataStart; // @[MII.scala 147:31]
reg WCtrlDataStart_q_0; // @[Reg.scala 35:20]
reg WCtrlDataStart_q_1; // @[Reg.scala 35:20]
wire WriteDataOp = WCtrlDataStart_q_0 & ~WCtrlDataStart_q_1; // @[MII.scala 149:42]
wire _GEN_32 = WCtrlData_q_1 & ~WCtrlData_q_2 | WCtrlDataStart; // @[MII.scala 162:50 163:20 147:31]
wire _WCtrlDataStart_q0_T = ~EndBusy; // @[MII.scala 167:62]
reg WCtrlDataStart_q0; // @[Reg.scala 35:20]
reg UpdateMIIRX_DATAReg; // @[MII.scala 168:36]
reg RStat_q_0; // @[Reg.scala 35:20]
reg RStat_q_1; // @[Reg.scala 35:20]
reg RStat_q_2; // @[Reg.scala 35:20]
reg RStatStart; // @[MII.scala 174:27]
reg RStatStart_q_0; // @[Reg.scala 35:20]
reg RStatStart_q_1; // @[Reg.scala 35:20]
wire ReadStatusOp = RStatStart_q_0 & ~RStatStart_q_1; // @[MII.scala 176:42]
wire _GEN_40 = RStat_q_1 & ~RStat_q_2 | RStatStart; // @[MII.scala 181:40 182:16 174:27]
wire _GEN_42 = EndOp ? 1'h0 : InProgress; // @[MII.scala 191:24 192:18 60:27]
reg SyncStatmdcEn; // @[Reg.scala 35:20]
wire _ScanStatusOp_T = ~InProgress; // @[MII.scala 200:44]
wire ScanStatusOp = SyncStatmdcEn & ~InProgress & ~InProgress_q_0 & _EndBusy_T; // @[MII.scala 200:75]
wire StartOp = WriteDataOp | ReadStatusOp | ScanStatusOp; // @[MII.scala 239:41]
wire _GEN_43 = StartOp | _GEN_42; // @[MII.scala 189:19 190:18]
reg ScanStat_q_0; // @[Reg.scala 35:20]
reg ScanStat_q_1; // @[Reg.scala 35:20]
reg Nvalid; // @[MII.scala 203:23]
wire _GEN_48 = ScanStat_q_1 & ~SyncStatmdcEn | Nvalid; // @[MII.scala 208:48 209:12 203:23]
wire [6:0] _BitCounter_T_1 = BitCounter + 7'h1; // @[MII.scala 231:34]
assign io_mdc = mdc; // @[MII.scala 69:10]
assign io_mdo = mdo; // @[MII.scala 138:10]
assign io_mdoEn = mdoEn; // @[MII.scala 139:12]
assign io_Busy = io_WCtrlData | WCtrlDataStart | io_RStat | RStatStart | SyncStatmdcEn | EndBusy | InProgress |
InProgress_q_2 | Nvalid; // @[MII.scala 240:125]
assign io_LinkFail = LinkFail; // @[MII.scala 70:15]
assign io_Nvalid = Nvalid; // @[MII.scala 204:13]
assign io_Prsd = Prsd; // @[MII.scala 71:11]
assign io_WCtrlDataStart = WCtrlDataStart; // @[MII.scala 150:21]
assign io_RStatStart = RStatStart; // @[MII.scala 177:17]
assign io_UpdateMIIRX_DATAReg = UpdateMIIRX_DATAReg; // @[MII.scala 169:26]
always @(posedge clock) begin
if (reset) begin // @[MII.scala 46:25]
Counter <= 8'h1; // @[MII.scala 46:25]
end else if (_mdcEn_T) begin // @[MII.scala 85:27]
Counter <= {{1'd0}, CounterPreset}; // @[MII.scala 87:13]
end else begin
Counter <= _Counter_T_1; // @[MII.scala 89:13]
end
if (reset) begin // @[MII.scala 47:20]
mdc <= 1'h0; // @[MII.scala 47:20]
end else if (_mdcEn_T) begin // @[MII.scala 85:27]
mdc <= _mdcEn_T_1; // @[MII.scala 86:9]
end
if (reset) begin // @[MII.scala 51:25]
ShiftReg <= 8'h0; // @[MII.scala 51:25]
end else if (mdcEn_n) begin // @[MII.scala 105:16]
if (ByteSelect_0 | ByteSelect_1 | ByteSelect_2 | ByteSelect_3) begin // @[MII.scala 106:34]
ShiftReg <= _ShiftReg_T_14; // @[MII.scala 107:16]
end else begin
ShiftReg <= _ShiftReg_T_16; // @[MII.scala 114:16]
end
end
if (reset) begin // @[MII.scala 52:25]
Prsd <= 16'h0; // @[MII.scala 52:25]
end else if (mdcEn_n) begin // @[MII.scala 105:16]
if (!(ByteSelect_0 | ByteSelect_1 | ByteSelect_2 | ByteSelect_3)) begin // @[MII.scala 106:34]
if (LatchByte0) begin // @[MII.scala 115:23]
Prsd <= _Prsd_T_2; // @[MII.scala 116:14]
end else begin
Prsd <= _GEN_12;
end
end
end
if (reset) begin // @[MII.scala 53:25]
LinkFail <= 1'h0; // @[MII.scala 53:25]
end else if (mdcEn_n) begin // @[MII.scala 105:16]
if (!(ByteSelect_0 | ByteSelect_1 | ByteSelect_2 | ByteSelect_3)) begin // @[MII.scala 106:34]
if (LatchByte0) begin // @[MII.scala 115:23]
LinkFail <= _GEN_11;
end
end
end
if (reset) begin // @[MII.scala 56:27]
BitCounter <= 7'h0; // @[MII.scala 56:27]
end else if (mdcEn) begin // @[MII.scala 226:16]
if (InProgress) begin // @[MII.scala 227:24]
if (_ByteSelect_0_T_1) begin // @[MII.scala 228:45]
BitCounter <= 7'h21; // @[MII.scala 229:20]
end else begin
BitCounter <= _BitCounter_T_1; // @[MII.scala 231:20]
end
end else begin
BitCounter <= 7'h0; // @[MII.scala 234:18]
end
end
if (reset) begin // @[MII.scala 60:27]
InProgress <= 1'h0; // @[MII.scala 60:27]
end else if (mdcEn) begin // @[MII.scala 188:14]
InProgress <= _GEN_43;
end
if (reset) begin // @[Reg.scala 35:20]
InProgress_q_0 <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn) begin // @[Reg.scala 36:18]
InProgress_q_0 <= InProgress; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
InProgress_q_1 <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn) begin // @[Reg.scala 36:18]
InProgress_q_1 <= InProgress_q_0; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
InProgress_q_2 <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn) begin // @[Reg.scala 36:18]
InProgress_q_2 <= InProgress_q_1; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
EndBusy_r <= 1'h0; // @[Reg.scala 35:20]
end else begin
EndBusy_r <= _EndBusy_T_1;
end
if (reset) begin // @[Reg.scala 35:20]
EndBusy <= 1'h0; // @[Reg.scala 35:20]
end else begin
EndBusy <= EndBusy_r;
end
if (reset) begin // @[MII.scala 64:27]
WriteOp <= 1'h0; // @[MII.scala 64:27]
end else if (mdcEn) begin // @[MII.scala 215:14]
if (StartOp) begin // @[MII.scala 216:19]
if (_ScanStatusOp_T) begin // @[MII.scala 217:26]
WriteOp <= WriteDataOp; // @[MII.scala 218:17]
end
end else if (EndOp) begin // @[MII.scala 220:24]
WriteOp <= 1'h0; // @[MII.scala 221:15]
end
end
if (reset) begin // @[Reg.scala 35:20]
LatchByte0_r <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn) begin // @[Reg.scala 36:18]
LatchByte0_r <= _LatchByte0_T_3; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
LatchByte0 <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn) begin // @[Reg.scala 36:18]
LatchByte0 <= LatchByte0_r; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
LatchByte1_r <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn) begin // @[Reg.scala 36:18]
LatchByte1_r <= _LatchByte1_T_3; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
LatchByte1 <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn) begin // @[Reg.scala 36:18]
LatchByte1 <= LatchByte1_r; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
mdoEn_r <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn_n) begin // @[Reg.scala 36:18]
mdoEn_r <= _mdoEn_T_2; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
mdoEn_r_1 <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn_n) begin // @[Reg.scala 36:18]
mdoEn_r_1 <= mdoEn_r; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
mdoEn <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn_n) begin // @[Reg.scala 36:18]
mdoEn <= mdoEn_r_1; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
mdo_2d <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn_n) begin // @[Reg.scala 36:18]
mdo_2d <= _mdo_2d_T_2; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
mdo_d <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn_n) begin // @[Reg.scala 36:18]
mdo_d <= _mdo_d_T_1; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
mdo <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn_n) begin // @[Reg.scala 36:18]
mdo <= mdo_d; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
WCtrlData_q_0 <= 1'h0; // @[Reg.scala 35:20]
end else begin
WCtrlData_q_0 <= io_WCtrlData;
end
if (reset) begin // @[Reg.scala 35:20]
WCtrlData_q_1 <= 1'h0; // @[Reg.scala 35:20]
end else begin
WCtrlData_q_1 <= WCtrlData_q_0;
end
if (reset) begin // @[Reg.scala 35:20]
WCtrlData_q_2 <= 1'h0; // @[Reg.scala 35:20]
end else begin
WCtrlData_q_2 <= WCtrlData_q_1;
end
if (reset) begin // @[MII.scala 147:31]
WCtrlDataStart <= 1'h0; // @[MII.scala 147:31]
end else if (EndBusy) begin // @[MII.scala 160:18]
WCtrlDataStart <= 1'h0; // @[MII.scala 161:20]
end else begin
WCtrlDataStart <= _GEN_32;
end
if (reset) begin // @[Reg.scala 35:20]
WCtrlDataStart_q_0 <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn) begin // @[Reg.scala 36:18]
WCtrlDataStart_q_0 <= WCtrlDataStart; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
WCtrlDataStart_q_1 <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn) begin // @[Reg.scala 36:18]
WCtrlDataStart_q_1 <= WCtrlDataStart_q_0; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
WCtrlDataStart_q0 <= 1'h0; // @[Reg.scala 35:20]
end else if (_WCtrlDataStart_q0_T) begin // @[Reg.scala 36:18]
WCtrlDataStart_q0 <= WCtrlDataStart; // @[Reg.scala 36:22]
end
if (reset) begin // @[MII.scala 168:36]
UpdateMIIRX_DATAReg <= 1'h0; // @[MII.scala 168:36]
end else begin
UpdateMIIRX_DATAReg <= EndBusy & ~WCtrlDataStart_q0; // @[MII.scala 168:36]
end
if (reset) begin // @[Reg.scala 35:20]
RStat_q_0 <= 1'h0; // @[Reg.scala 35:20]
end else begin
RStat_q_0 <= io_RStat;
end
if (reset) begin // @[Reg.scala 35:20]
RStat_q_1 <= 1'h0; // @[Reg.scala 35:20]
end else begin
RStat_q_1 <= RStat_q_0;
end
if (reset) begin // @[Reg.scala 35:20]
RStat_q_2 <= 1'h0; // @[Reg.scala 35:20]
end else begin
RStat_q_2 <= RStat_q_1;
end
if (reset) begin // @[MII.scala 174:27]
RStatStart <= 1'h0; // @[MII.scala 174:27]
end else if (EndBusy) begin // @[MII.scala 179:18]
RStatStart <= 1'h0; // @[MII.scala 180:16]
end else begin
RStatStart <= _GEN_40;
end
if (reset) begin // @[Reg.scala 35:20]
RStatStart_q_0 <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn) begin // @[Reg.scala 36:18]
RStatStart_q_0 <= RStatStart; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
RStatStart_q_1 <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn) begin // @[Reg.scala 36:18]
RStatStart_q_1 <= RStatStart_q_0; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
SyncStatmdcEn <= 1'h0; // @[Reg.scala 35:20]
end else if (mdcEn) begin // @[Reg.scala 36:18]
SyncStatmdcEn <= ScanStat_q_1; // @[Reg.scala 36:22]
end
if (reset) begin // @[Reg.scala 35:20]
ScanStat_q_0 <= 1'h0; // @[Reg.scala 35:20]
end else begin
ScanStat_q_0 <= io_ScanStat;
end
if (reset) begin // @[Reg.scala 35:20]
ScanStat_q_1 <= 1'h0; // @[Reg.scala 35:20]
end else begin
ScanStat_q_1 <= ScanStat_q_0;
end
if (reset) begin // @[MII.scala 203:23]
Nvalid <= 1'h0; // @[MII.scala 203:23]
end else if (_EndBusy_T_1) begin // @[MII.scala 206:46]
Nvalid <= 1'h0; // @[MII.scala 207:12]
end else begin
Nvalid <= _GEN_48;
end
end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
`ifdef RANDOMIZE
`ifdef INIT_RANDOM
`INIT_RANDOM
`endif
`ifndef VERILATOR
`ifdef RANDOMIZE_DELAY
#`RANDOMIZE_DELAY begin end
`else
#0.002 begin end
`endif
`endif
`ifdef RANDOMIZE_REG_INIT
_RAND_0 = {1{`RANDOM}};
Counter = _RAND_0[7:0];
_RAND_1 = {1{`RANDOM}};
mdc = _RAND_1[0:0];
_RAND_2 = {1{`RANDOM}};
ShiftReg = _RAND_2[7:0];
_RAND_3 = {1{`RANDOM}};
Prsd = _RAND_3[15:0];
_RAND_4 = {1{`RANDOM}};
LinkFail = _RAND_4[0:0];
_RAND_5 = {1{`RANDOM}};
BitCounter = _RAND_5[6:0];
_RAND_6 = {1{`RANDOM}};
InProgress = _RAND_6[0:0];
_RAND_7 = {1{`RANDOM}};
InProgress_q_0 = _RAND_7[0:0];
_RAND_8 = {1{`RANDOM}};
InProgress_q_1 = _RAND_8[0:0];
_RAND_9 = {1{`RANDOM}};
InProgress_q_2 = _RAND_9[0:0];
_RAND_10 = {1{`RANDOM}};
EndBusy_r = _RAND_10[0:0];
_RAND_11 = {1{`RANDOM}};
EndBusy = _RAND_11[0:0];
_RAND_12 = {1{`RANDOM}};
WriteOp = _RAND_12[0:0];
_RAND_13 = {1{`RANDOM}};
LatchByte0_r = _RAND_13[0:0];
_RAND_14 = {1{`RANDOM}};
LatchByte0 = _RAND_14[0:0];
_RAND_15 = {1{`RANDOM}};
LatchByte1_r = _RAND_15[0:0];
_RAND_16 = {1{`RANDOM}};
LatchByte1 = _RAND_16[0:0];
_RAND_17 = {1{`RANDOM}};
mdoEn_r = _RAND_17[0:0];
_RAND_18 = {1{`RANDOM}};
mdoEn_r_1 = _RAND_18[0:0];
_RAND_19 = {1{`RANDOM}};
mdoEn = _RAND_19[0:0];
_RAND_20 = {1{`RANDOM}};
mdo_2d = _RAND_20[0:0];
_RAND_21 = {1{`RANDOM}};
mdo_d = _RAND_21[0:0];
_RAND_22 = {1{`RANDOM}};
mdo = _RAND_22[0:0];
_RAND_23 = {1{`RANDOM}};
WCtrlData_q_0 = _RAND_23[0:0];
_RAND_24 = {1{`RANDOM}};
WCtrlData_q_1 = _RAND_24[0:0];
_RAND_25 = {1{`RANDOM}};
WCtrlData_q_2 = _RAND_25[0:0];
_RAND_26 = {1{`RANDOM}};
WCtrlDataStart = _RAND_26[0:0];
_RAND_27 = {1{`RANDOM}};
WCtrlDataStart_q_0 = _RAND_27[0:0];
_RAND_28 = {1{`RANDOM}};
WCtrlDataStart_q_1 = _RAND_28[0:0];
_RAND_29 = {1{`RANDOM}};
WCtrlDataStart_q0 = _RAND_29[0:0];
_RAND_30 = {1{`RANDOM}};
UpdateMIIRX_DATAReg = _RAND_30[0:0];
_RAND_31 = {1{`RANDOM}};
RStat_q_0 = _RAND_31[0:0];
_RAND_32 = {1{`RANDOM}};
RStat_q_1 = _RAND_32[0:0];
_RAND_33 = {1{`RANDOM}};
RStat_q_2 = _RAND_33[0:0];
_RAND_34 = {1{`RANDOM}};
RStatStart = _RAND_34[0:0];
_RAND_35 = {1{`RANDOM}};
RStatStart_q_0 = _RAND_35[0:0];
_RAND_36 = {1{`RANDOM}};
RStatStart_q_1 = _RAND_36[0:0];
_RAND_37 = {1{`RANDOM}};
SyncStatmdcEn = _RAND_37[0:0];
_RAND_38 = {1{`RANDOM}};
ScanStat_q_0 = _RAND_38[0:0];
_RAND_39 = {1{`RANDOM}};
ScanStat_q_1 = _RAND_39[0:0];
_RAND_40 = {1{`RANDOM}};
Nvalid = _RAND_40[0:0];
`endif // RANDOMIZE_REG_INIT
`endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule