blob: 09d6f52268253f16b81f815e426a34365f90f2ad [file] [log] [blame]
/* Generated by Yosys 0.9+3743 (git sha1 UNKNOWN, clang 7.0.1-8+deb10u2 -fPIC -Os) */
module plru_2(clk, rst, acc, acc_en, lru);
wire _0_;
wire _1_;
wire _2_;
wire _3_;
input acc;
input acc_en;
input clk;
output lru;
input rst;
reg [1:0] tree;
assign _0_ = ~ acc;
assign _1_ = acc_en ? _0_ : tree[1];
assign _2_ = rst ? 1'h0 : tree[0];
assign _3_ = rst ? 1'h0 : _1_;
always @(posedge clk)
tree <= { _3_, _2_ };
assign lru = tree[1];
endmodule
module cache_ram_4_64_3f29546453678b855931c174a97d6c0894b8f546(clk, rd_en, rd_addr, wr_sel, wr_addr, wr_data, rd_data);
reg [63:0] _00_;
wire [127:0] _01_;
wire [7:0] _02_;
wire [127:0] _03_;
wire [7:0] _04_;
wire [127:0] _05_;
wire [7:0] _06_;
wire [127:0] _07_;
wire [7:0] _08_;
wire [127:0] _09_;
wire [7:0] _10_;
wire [127:0] _11_;
wire [7:0] _12_;
wire [127:0] _13_;
wire [7:0] _14_;
wire [127:0] _15_;
wire [7:0] _16_;
input clk;
input [3:0] rd_addr;
output [63:0] rd_data;
input rd_en;
input [3:0] wr_addr;
input [63:0] wr_data;
input [7:0] wr_sel;
reg [7:0] \$mem$\25511 [15:0];
reg [7:0] \$mem$\25512 [15:0];
reg [7:0] \$mem$\25513 [15:0];
reg [7:0] \$mem$\25514 [15:0];
reg [7:0] \$mem$\25515 [15:0];
reg [7:0] \$mem$\25516 [15:0];
reg [7:0] \$mem$\25517 [15:0];
reg [7:0] \$mem$\25518 [15:0];
(* ram_style = "block" *)
reg [7:0] \25511 [15:0];
reg [7:0] _17_;
always @(posedge clk) begin
if (rd_en) _17_ <= \25511 [rd_addr];
if (wr_sel[0]) \25511 [wr_addr] <= wr_data[7:0];
end
assign _02_ = _17_;
(* ram_style = "block" *)
reg [7:0] \25512 [15:0];
reg [7:0] _18_;
always @(posedge clk) begin
if (rd_en) _18_ <= \25512 [rd_addr];
if (wr_sel[1]) \25512 [wr_addr] <= wr_data[15:8];
end
assign _04_ = _18_;
(* ram_style = "block" *)
reg [7:0] \25513 [15:0];
reg [7:0] _19_;
always @(posedge clk) begin
if (rd_en) _19_ <= \25513 [rd_addr];
if (wr_sel[2]) \25513 [wr_addr] <= wr_data[23:16];
end
assign _06_ = _19_;
(* ram_style = "block" *)
reg [7:0] \25514 [15:0];
reg [7:0] _20_;
always @(posedge clk) begin
if (rd_en) _20_ <= \25514 [rd_addr];
if (wr_sel[3]) \25514 [wr_addr] <= wr_data[31:24];
end
assign _08_ = _20_;
(* ram_style = "block" *)
reg [7:0] \25515 [15:0];
reg [7:0] _21_;
always @(posedge clk) begin
if (rd_en) _21_ <= \25515 [rd_addr];
if (wr_sel[4]) \25515 [wr_addr] <= wr_data[39:32];
end
assign _10_ = _21_;
(* ram_style = "block" *)
reg [7:0] \25516 [15:0];
reg [7:0] _22_;
always @(posedge clk) begin
if (rd_en) _22_ <= \25516 [rd_addr];
if (wr_sel[5]) \25516 [wr_addr] <= wr_data[47:40];
end
assign _12_ = _22_;
(* ram_style = "block" *)
reg [7:0] \25517 [15:0];
reg [7:0] _23_;
always @(posedge clk) begin
if (rd_en) _23_ <= \25517 [rd_addr];
if (wr_sel[6]) \25517 [wr_addr] <= wr_data[55:48];
end
assign _14_ = _23_;
(* ram_style = "block" *)
reg [7:0] \25518 [15:0];
reg [7:0] _24_;
always @(posedge clk) begin
if (rd_en) _24_ <= \25518 [rd_addr];
if (wr_sel[7]) \25518 [wr_addr] <= wr_data[63:56];
end
assign _16_ = _24_;
always @(posedge clk)
_00_ <= { _16_, _14_, _12_, _10_, _08_, _06_, _04_, _02_ };
assign rd_data = _00_;
endmodule
module dcache(
`ifdef USE_POWER_PINS
vccd1, vssd1,
`endif
clk, rst, d_in, m_in, wishbone_in, d_out, m_out, stall_out, wishbone_out);
`ifdef USE_POWER_PINS
inout vccd1;
inout vssd1;
`endif
wire _000_;
wire _001_;
wire [146:0] _002_;
wire _003_;
wire _004_;
wire _005_;
wire [146:0] _006_;
wire _007_;
wire [146:0] _008_;
wire _009_;
wire _010_;
wire _011_;
wire _012_;
wire _013_;
wire [1:0] _014_;
wire _015_;
wire _016_;
wire _017_;
wire _018_;
wire _019_;
wire _020_;
wire _021_;
wire _022_;
wire _023_;
wire _024_;
wire _025_;
wire _026_;
wire _027_;
wire _028_;
wire _029_;
wire _030_;
wire [3:0] _031_;
wire _032_;
wire _033_;
wire _034_;
wire [3:0] _035_;
wire [3:0] _036_;
wire [3:0] _037_;
wire _038_;
wire _039_;
wire _040_;
wire _041_;
wire _042_;
wire _043_;
wire _044_;
wire _045_;
wire _046_;
wire _047_;
wire _048_;
wire _049_;
wire _050_;
wire _051_;
wire _052_;
wire _053_;
wire _054_;
wire _055_;
wire _056_;
wire _057_;
wire _058_;
wire _059_;
wire _060_;
wire _061_;
wire _062_;
wire _063_;
wire _064_;
wire _065_;
wire _066_;
wire _067_;
wire _068_;
wire _069_;
wire _070_;
wire _071_;
wire _072_;
wire _073_;
wire _074_;
wire _075_;
wire _076_;
wire _077_;
wire _078_;
wire _079_;
wire _080_;
wire _081_;
wire _082_;
wire _083_;
wire _084_;
wire _085_;
wire _086_;
wire _087_;
wire _088_;
wire _089_;
wire _090_;
wire _091_;
wire _092_;
wire _093_;
wire _094_;
wire _095_;
wire _096_;
wire _097_;
wire _098_;
wire _099_;
wire _100_;
wire _101_;
wire _102_;
wire _103_;
wire _104_;
wire _105_;
wire _106_;
wire _107_;
wire _108_;
wire _109_;
wire [2:0] _110_;
wire _111_;
wire _112_;
wire _113_;
wire _114_;
wire _115_;
wire _116_;
wire _117_;
wire _118_;
wire _119_;
wire _120_;
wire _121_;
wire _122_;
wire _123_;
wire _124_;
wire _125_;
wire _126_;
wire _127_;
wire _128_;
wire _129_;
wire _130_;
wire _131_;
wire _132_;
wire _133_;
wire _134_;
wire _135_;
wire _136_;
wire [2:0] _137_;
wire [2:0] _138_;
wire [2:0] _139_;
wire _140_;
wire [3:0] _141_;
wire _142_;
wire _143_;
wire _144_;
wire _145_;
wire _146_;
wire _147_;
wire _148_;
wire _149_;
wire _150_;
wire [58:0] _151_;
wire _152_;
wire [57:0] _153_;
wire [58:0] _154_;
wire _155_;
wire [57:0] _156_;
wire [63:0] _157_;
wire _158_;
wire [7:0] _159_;
wire [7:0] _160_;
wire [7:0] _161_;
wire [7:0] _162_;
wire [7:0] _163_;
wire [7:0] _164_;
wire [7:0] _165_;
wire [7:0] _166_;
wire _167_;
wire _168_;
wire _169_;
wire [63:0] _170_;
wire _171_;
wire _172_;
wire _173_;
wire _174_;
wire _175_;
wire _176_;
wire _177_;
wire [63:0] _178_;
wire _179_;
wire _180_;
wire _181_;
wire _182_;
wire _183_;
wire _184_;
wire _185_;
wire _186_;
wire _187_;
wire _188_;
wire _189_;
wire _190_;
wire _191_;
wire _192_;
wire [1:0] _193_;
wire _194_;
wire _195_;
wire _196_;
reg _197_;
reg [6:0] _198_;
reg _199_;
reg [2:0] _200_;
wire [7:0] _201_;
wire [7:0] _202_;
wire [63:0] _203_;
wire [63:0] _204_;
wire _205_;
wire _206_;
wire _207_;
wire _208_;
wire _209_;
wire _210_;
wire _211_;
wire _212_;
wire _213_;
wire _214_;
wire _215_;
wire _216_;
wire _217_;
wire _218_;
wire _219_;
wire [63:0] _220_;
wire _221_;
wire _222_;
wire _223_;
wire [7:0] _224_;
wire _225_;
wire _226_;
wire _227_;
wire _228_;
wire _229_;
wire _230_;
wire _231_;
wire _232_;
wire _233_;
wire [135:0] _234_;
wire [2:0] _235_;
wire _236_;
wire _237_;
wire _238_;
wire _239_;
wire _240_;
wire _241_;
wire _242_;
wire _243_;
wire _244_;
wire _245_;
wire _246_;
wire _247_;
wire _248_;
wire _249_;
wire [1:0] _250_;
wire _251_;
wire _252_;
wire _253_;
wire [2:0] _254_;
wire _255_;
wire _256_;
wire _257_;
wire _258_;
wire _259_;
wire _260_;
wire _261_;
wire _262_;
wire _263_;
wire [1:0] _264_;
wire _265_;
wire _266_;
wire _267_;
wire _268_;
wire _269_;
wire _270_;
wire [2:0] _271_;
wire _272_;
wire _273_;
wire _274_;
wire _275_;
wire _276_;
wire _277_;
wire _278_;
wire _279_;
wire _280_;
wire _281_;
wire [2:0] _282_;
wire [31:0] _283_;
wire _284_;
wire _285_;
wire [2:0] _286_;
wire _287_;
wire _288_;
wire _289_;
wire _290_;
wire _291_;
wire _292_;
wire _293_;
wire _294_;
wire _295_;
wire _296_;
wire _297_;
wire _298_;
wire _299_;
wire [8:0] _300_;
wire _301_;
wire _302_;
wire _303_;
wire _304_;
wire _305_;
wire _306_;
wire [3:0] _307_;
wire [1:0] _308_;
wire _309_;
wire [2:0] _310_;
wire _311_;
wire _312_;
wire [10:0] _313_;
wire _314_;
wire _315_;
wire [3:0] _316_;
wire [7:0] _317_;
wire _318_;
wire _319_;
wire _320_;
wire _321_;
wire _322_;
wire [2:0] _323_;
wire [2:0] _324_;
wire [2:0] _325_;
wire [2:0] _326_;
wire _327_;
wire [6:0] _328_;
wire [71:0] _329_;
wire _330_;
wire _331_;
wire _332_;
wire _333_;
wire _334_;
wire _335_;
wire _336_;
wire _337_;
wire _338_;
wire _339_;
wire _340_;
wire _341_;
wire _342_;
wire _343_;
wire _344_;
wire _345_;
wire _346_;
wire [7:0] _347_;
wire _348_;
wire _349_;
wire _350_;
wire _351_;
wire _352_;
wire _353_;
wire _354_;
wire [1:0] _355_;
wire [1:0] _356_;
wire _357_;
wire [1:0] _358_;
wire _359_;
wire _360_;
wire _361_;
wire _362_;
wire _363_;
wire _364_;
wire _365_;
wire _366_;
wire [10:0] _367_;
wire _368_;
wire [1:0] _369_;
wire _370_;
wire _371_;
wire _372_;
wire [3:0] _373_;
wire _374_;
wire _375_;
wire _376_;
wire _377_;
wire _378_;
wire _379_;
wire [8:0] _380_;
wire [1:0] _381_;
wire _382_;
wire _383_;
wire _384_;
wire _385_;
wire [6:0] _386_;
wire [24:0] _387_;
wire [63:0] _388_;
wire [7:0] _389_;
wire _390_;
wire _391_;
wire _392_;
wire [48:0] _393_;
wire _394_;
wire [3:0] _395_;
wire _396_;
wire [2:0] _397_;
wire _398_;
wire _399_;
wire _400_;
wire _401_;
wire _402_;
wire _403_;
wire _404_;
wire _405_;
wire [2:0] _406_;
wire _407_;
wire _408_;
wire _409_;
wire _410_;
wire _411_;
wire _412_;
wire [133:0] _413_;
wire [133:0] _414_;
wire [3:0] _415_;
wire _416_;
wire [135:0] _417_;
wire _418_;
wire _419_;
wire [8:0] _420_;
wire [1:0] _421_;
wire [2:0] _422_;
wire [32:0] _423_;
wire [71:0] _424_;
wire [1:0] _425_;
wire [71:0] _426_;
wire _427_;
wire _428_;
wire [4:0] _429_;
wire [7:0] _430_;
wire _431_;
wire _432_;
wire _433_;
wire _434_;
reg _435_;
reg [135:0] _436_;
reg [335:0] _437_;
reg _438_;
wire [203:0] _439_;
wire [255:0] _440_;
wire [111:0] _441_;
wire [55:0] _442_;
wire [111:0] _443_;
wire [55:0] _444_;
wire [1:0] _445_;
wire [63:0] _446_;
wire _447_;
wire _448_;
wire _449_;
wire _450_;
wire _451_;
wire _452_;
wire _453_;
wire _454_;
wire _455_;
wire _456_;
wire _457_;
wire _458_;
wire [50:0] _459_;
wire [50:0] _460_;
wire _461_;
wire [63:0] _462_;
wire [63:0] _463_;
wire _464_;
wire _465_;
wire _466_;
wire _467_;
wire _468_;
wire _469_;
wire _470_;
wire _471_;
wire _472_;
wire _473_;
wire _474_;
wire _475_;
wire _476_;
wire _477_;
wire _478_;
wire _479_;
wire _480_;
wire _481_;
wire _482_;
wire _483_;
wire _484_;
wire _485_;
wire _486_;
wire [63:0] _487_;
wire _488_;
wire _489_;
wire _490_;
wire _491_;
wire _492_;
wire _493_;
wire _494_;
wire _495_;
wire _496_;
wire _497_;
wire _498_;
wire _499_;
wire _500_;
wire _501_;
wire _502_;
wire _503_;
wire _504_;
wire _505_;
wire _506_;
wire _507_;
wire _508_;
wire _509_;
wire _510_;
wire _511_;
wire _512_;
wire _513_;
wire _514_;
wire _515_;
wire _516_;
wire _517_;
wire _518_;
wire _519_;
wire _520_;
wire _521_;
wire _522_;
wire _523_;
wire _524_;
wire access_ok;
reg [3:0] cache_valids;
wire cancel_store;
wire clear_rsrv;
input clk;
input [142:0] d_in;
output [67:0] d_out;
reg [3:0] dtlb_valids;
wire [3:0] early_req_row;
input [131:0] m_in;
output [66:0] m_out;
wire \maybe_plrus.plrus:0.plru_acc_en ;
wire \maybe_plrus.plrus:0.plru_out ;
wire \maybe_plrus.plrus:1.plru_acc_en ;
wire \maybe_plrus.plrus:1.plru_out ;
wire \maybe_tlb_plrus.tlb_plrus:0.tlb_plru_acc_en ;
wire \maybe_tlb_plrus.tlb_plrus:0.tlb_plru_out ;
wire \maybe_tlb_plrus.tlb_plrus:1.tlb_plru_acc_en ;
wire \maybe_tlb_plrus.tlb_plrus:1.tlb_plru_out ;
wire [5:0] perm_attr;
wire perm_ok;
wire [63:0] pte;
reg [146:0] r0;
reg r0_full;
wire r0_stall;
wire r0_valid;
wire [55:0] ra;
wire \rams:0.do_write ;
wire [63:0] \rams:0.dout ;
wire [3:0] \rams:0.wr_addr ;
wire [63:0] \rams:0.wr_data ;
wire [7:0] \rams:0.wr_sel ;
wire [7:0] \rams:0.wr_sel_m ;
wire \rams:1.do_write ;
wire [63:0] \rams:1.dout ;
wire [3:0] \rams:1.wr_addr ;
wire [63:0] \rams:1.wr_data ;
wire [7:0] \rams:1.wr_sel ;
wire [7:0] \rams:1.wr_sel_m ;
wire rc_ok;
wire replace_way;
wire req_go;
wire req_hit_way;
wire [2:0] req_op;
wire req_same_tag;
reg [58:0] reservation;
input rst;
wire set_rsrv;
output stall_out;
wire tlb_hit;
wire tlb_hit_way;
wire [127:0] tlb_pte_way;
wire [101:0] tlb_tag_way;
reg [1:0] tlb_valid_way;
wire use_forward1_next;
wire use_forward2_next;
wire valid_ra;
input [65:0] wishbone_in;
output [106:0] wishbone_out;
reg [101:0] \$mem$\19357 [1:0];
reg [127:0] \$mem$\19360 [1:0];
reg [55:0] \$mem$\19363 [1:0];
reg [55:0] \$mem$\19364 [1:0];
(* ram_style = "distributed" *)
reg [101:0] \19357 [1:0];
reg [101:0] _531_;
always @(posedge clk) begin
if (_012_) _531_ <= \19357 [_011_];
if (_041_) \19357 [r0[19]] <= { _460_, _459_ };
end
assign tlb_tag_way = _531_;
(* ram_style = "distributed" *)
reg [127:0] \19360 [1:0];
reg [127:0] _532_;
always @(posedge clk) begin
if (_012_) _532_ <= \19360 [_011_];
if (_045_) \19360 [r0[19]] <= { _463_, _462_ };
end
assign tlb_pte_way = _532_;
(* ram_style = "distributed" *)
reg [55:0] \19363 [1:0];
reg [55:0] _533_;
always @(posedge clk) begin
_533_ <= \19363 [_049_];
if (_434_) \19363 [_437_[318]] <= { 7'h00, _437_[312:264] };
end
assign _442_ = _533_;
(* ram_style = "distributed" *)
reg [55:0] \19364 [1:0];
reg [55:0] _534_;
always @(posedge clk) begin
_534_ <= \19364 [_049_];
if (_433_) \19364 [_437_[318]] <= { 7'h00, _437_[312:264] };
end
assign _444_ = _534_;
assign _521_ = _110_[0] ? _437_[323] : _437_[322];
assign _522_ = _110_[0] ? _437_[327] : _437_[326];
assign _523_ = _110_[0] ? _437_[325] : _437_[324];
assign _524_ = _110_[0] ? _437_[329] : _437_[328];
assign _483_ = _110_[1] ? _523_ : _521_;
assign _484_ = _110_[1] ? _524_ : _522_;
assign _000_ = m_in[1] | m_in[3];
assign _001_ = ~ _000_;
assign _002_ = m_in[0] ? { 1'h1, m_in[3:1], 8'hff, m_in[131:4], 5'h10, _001_, 1'h1 } : { 4'h0, d_in };
assign _003_ = ~ _435_;
assign _004_ = ~ r0_full;
assign _005_ = _003_ | _004_;
assign _006_ = _005_ ? _002_ : r0;
assign _007_ = _005_ ? _002_[0] : r0_full;
assign _008_ = rst ? r0 : _006_;
assign _009_ = rst ? 1'h0 : _007_;
always @(posedge clk)
r0 <= _008_;
always @(posedge clk)
r0_full <= _009_;
assign r0_stall = r0_full & _435_;
assign _010_ = ~ _435_;
assign r0_valid = r0_full & _010_;
assign _011_ = m_in[0] ? m_in[16] : d_in[19];
assign _012_ = ~ r0_stall;
assign _013_ = 1'h1 - _011_;
assign _014_ = _012_ ? _445_ : tlb_valid_way;
always @(posedge clk)
tlb_valid_way <= _014_;
assign _015_ = { 31'h00000000, _198_[6] } == 32'd0;
assign \maybe_tlb_plrus.tlb_plrus:0.tlb_plru_acc_en = _015_ ? _198_[4] : 1'h0;
assign _016_ = { 31'h00000000, _198_[6] } == 32'd1;
assign \maybe_tlb_plrus.tlb_plrus:1.tlb_plru_acc_en = _016_ ? _198_[4] : 1'h0;
assign _017_ = tlb_tag_way[50:0] == r0[70:20];
assign _018_ = tlb_valid_way[0] & _017_;
assign _019_ = _018_ ? 1'h1 : 1'h0;
assign _020_ = tlb_tag_way[101:51] == r0[70:20];
assign _021_ = tlb_valid_way[1] & _020_;
assign tlb_hit_way = _021_ ? 1'h1 : 1'h0;
assign _022_ = _021_ ? 1'h1 : _019_;
assign _023_ = _022_ & r0_valid;
assign tlb_hit = _023_ & r0[5];
assign pte = tlb_hit ? _446_ : 64'h0000000000000000;
assign _024_ = ~ r0[5];
assign _025_ = r0_valid & _024_;
assign valid_ra = tlb_hit | _025_;
assign ra = tlb_hit ? { pte[55:12], r0[18:10], 3'h0 } : { r0[62:10], 3'h0 };
assign perm_attr = tlb_hit ? { pte[1], pte[2], pte[3], pte[5], pte[7], pte[8] } : 6'h3b;
assign _026_ = r0_valid & r0[143];
assign _027_ = r0_valid & r0[145];
assign _028_ = _026_ & r0[144];
assign _029_ = rst | _028_;
assign _030_ = 1'h1 - r0[19];
assign _031_ = tlb_hit ? { _456_, _455_, _454_, _453_ } : dtlb_valids;
assign _032_ = 1'h1 - r0[19];
assign _033_ = tlb_hit ? tlb_hit_way : _457_;
assign _034_ = 1'h1 - r0[19];
assign _035_ = _027_ ? { _473_, _472_, _471_, _470_ } : dtlb_valids;
assign _036_ = _026_ ? _031_ : _035_;
assign _037_ = _029_ ? 4'h0 : _036_;
always @(posedge clk)
dtlb_valids <= _037_;
assign _038_ = ~ _029_;
assign _039_ = ~ _026_;
assign _040_ = _038_ & _039_;
assign _041_ = _040_ & _027_;
assign _042_ = ~ _029_;
assign _043_ = ~ _026_;
assign _044_ = _042_ & _043_;
assign _045_ = _044_ & _027_;
assign _046_ = { 31'h00000000, _198_[2] } == 32'd0;
assign \maybe_plrus.plrus:0.plru_acc_en = _046_ ? _198_[3] : 1'h0;
assign _047_ = { 31'h00000000, _198_[2] } == 32'd1;
assign \maybe_plrus.plrus:1.plru_acc_en = _047_ ? _198_[3] : 1'h0;
assign _048_ = m_in[0] ? m_in[10] : d_in[13];
assign _049_ = r0_stall ? r0[13] : _048_;
assign _050_ = r0[143] | r0[145];
assign _051_ = ~ _050_;
assign _052_ = r0_valid & _051_;
assign _053_ = ~ _199_;
assign req_go = _052_ & _053_;
assign _054_ = 1'h1 - r0[13];
assign _055_ = req_go & _474_;
assign _056_ = _442_[48:0] == { tlb_pte_way[55:12], r0[18:14] };
assign _057_ = _055_ & _056_;
assign _058_ = _057_ & tlb_valid_way[0];
assign _059_ = _058_ ? 1'h1 : 1'h0;
assign _060_ = _058_ ? 1'h0 : 1'h0;
assign _061_ = 1'h1 - r0[13];
assign _062_ = req_go & _475_;
assign _063_ = _444_[48:0] == { tlb_pte_way[55:12], r0[18:14] };
assign _064_ = _062_ & _063_;
assign _065_ = _064_ & tlb_valid_way[0];
assign _066_ = _065_ ? 1'h1 : _059_;
assign _067_ = _065_ ? 1'h1 : _060_;
assign _068_ = { tlb_pte_way[55:12], r0[18:14] } == _437_[312:264];
assign _069_ = _068_ ? 1'h1 : 1'h0;
assign _070_ = 1'h1 - r0[13];
assign _071_ = req_go & _476_;
assign _072_ = _442_[48:0] == { tlb_pte_way[119:76], r0[18:14] };
assign _073_ = _071_ & _072_;
assign _074_ = _073_ & tlb_valid_way[1];
assign _075_ = _074_ ? 1'h1 : 1'h0;
assign _076_ = _074_ ? 1'h0 : 1'h0;
assign _077_ = 1'h1 - r0[13];
assign _078_ = req_go & _477_;
assign _079_ = _444_[48:0] == { tlb_pte_way[119:76], r0[18:14] };
assign _080_ = _078_ & _079_;
assign _081_ = _080_ & tlb_valid_way[1];
assign _082_ = _081_ ? 1'h1 : _075_;
assign _083_ = _081_ ? 1'h1 : _076_;
assign _084_ = { tlb_pte_way[119:76], r0[18:14] } == _437_[312:264];
assign _085_ = _084_ ? 1'h1 : 1'h0;
assign _086_ = 1'h1 - tlb_hit_way;
assign _087_ = tlb_hit ? _478_ : 1'h0;
assign _088_ = tlb_hit ? _479_ : 1'h0;
assign _089_ = tlb_hit ? _480_ : 1'h0;
assign _090_ = 1'h1 - r0[13];
assign _091_ = req_go & _481_;
assign _092_ = _442_[48:0] == r0[62:14];
assign _093_ = _091_ & _092_;
assign _094_ = _093_ ? 1'h1 : 1'h0;
assign _095_ = 1'h1 - r0[13];
assign _096_ = req_go & _482_;
assign _097_ = _444_[48:0] == r0[62:14];
assign _098_ = _096_ & _097_;
assign _099_ = _098_ ? 1'h1 : _094_;
assign _100_ = _098_ ? 1'h1 : 1'h0;
assign _101_ = r0[62:14] == _437_[312:264];
assign _102_ = _101_ ? 1'h1 : 1'h0;
assign _103_ = r0[5] ? _087_ : _099_;
assign _104_ = r0[5] ? _088_ : _100_;
assign req_same_tag = r0[5] ? _089_ : _102_;
assign _105_ = _437_[152:151] == 2'h1;
assign _106_ = { 31'h00000000, r0[13] } == { 31'h00000000, _437_[318] };
assign _107_ = _105_ & _106_;
assign _108_ = _107_ & req_same_tag;
assign _109_ = ~ r0[1];
assign _110_ = 3'h7 - r0[12:10];
assign _111_ = _109_ | _485_;
assign _112_ = _108_ ? _111_ : _103_;
assign req_hit_way = _108_ ? replace_way : _104_;
assign _113_ = { 28'h0000000, _436_[11:8] } == { 28'h0000000, r0[13:10] };
assign _114_ = { 31'h00000000, _436_[133] } == { 31'h00000000, req_hit_way };
assign _115_ = _113_ & _114_;
assign use_forward1_next = _115_ ? _437_[154] : 1'h0;
assign _116_ = { 28'h0000000, _437_[141:138] } == { 28'h0000000, r0[13:10] };
assign _117_ = { 31'h00000000, _437_[137] } == { 31'h00000000, req_hit_way };
assign _118_ = _116_ & _117_;
assign use_forward2_next = _118_ ? _437_[136] : 1'h0;
assign _119_ = 1'h1 - _437_[318];
assign replace_way = _437_[155] ? _486_ : _437_[313];
assign _120_ = r0[1] | perm_attr[1];
assign rc_ok = perm_attr[0] & _120_;
assign _121_ = r0[6] & r0[0];
assign _122_ = ~ perm_attr[3];
assign _123_ = _121_ | _122_;
assign _124_ = r0[1] & perm_attr[4];
assign _125_ = perm_attr[5] | _124_;
assign perm_ok = _123_ & _125_;
assign _126_ = valid_ra & perm_ok;
assign access_ok = _126_ & rc_ok;
assign _127_ = r0[3] | perm_attr[2];
assign _128_ = ~ access_ok;
assign _129_ = { r0[1], _127_, _112_ } == 3'h5;
assign _130_ = { r0[1], _127_, _112_ } == 3'h4;
assign _131_ = { r0[1], _127_, _112_ } == 3'h6;
assign _132_ = { r0[1], _127_, _112_ } == 3'h1;
assign _133_ = { r0[1], _127_, _112_ } == 3'h0;
assign _134_ = { r0[1], _127_, _112_ } == 3'h2;
assign _135_ = { r0[1], _127_, _112_ } == 3'h3;
assign _136_ = { r0[1], _127_, _112_ } == 3'h7;
function [2:0] \18202 ;
input [2:0] a;
input [23:0] b;
input [7:0] s;
(* parallel_case *)
casez (s)
8'b???????1:
\18202 = b[2:0];
8'b??????1?:
\18202 = b[5:3];
8'b?????1??:
\18202 = b[8:6];
8'b????1???:
\18202 = b[11:9];
8'b???1????:
\18202 = b[14:12];
8'b??1?????:
\18202 = b[17:15];
8'b?1??????:
\18202 = b[20:18];
8'b1???????:
\18202 = b[23:21];
default:
\18202 = a;
endcase
endfunction
assign _137_ = \18202 (3'h0, 24'h27fd63, { _136_, _135_, _134_, _133_, _132_, _131_, _130_, _129_ });
assign _138_ = cancel_store ? 3'h2 : _137_;
assign _139_ = _128_ ? 3'h1 : _138_;
assign req_op = req_go ? _139_ : 3'h0;
assign _140_ = ~ r0_stall;
assign _141_ = m_in[0] ? m_in[10:7] : d_in[13:10];
assign early_req_row = _140_ ? _141_ : r0[13:10];
assign _142_ = r0_valid & r0[4];
assign _143_ = ~ reservation[0];
assign _144_ = r0[70:13] != reservation[58:1];
assign _145_ = _143_ | _144_;
assign _146_ = _145_ ? 1'h1 : 1'h0;
assign _147_ = r0[1] ? 1'h0 : _146_;
assign _148_ = r0[1] ? 1'h1 : 1'h0;
assign _149_ = r0[1] ? 1'h0 : 1'h1;
assign cancel_store = _142_ ? _147_ : 1'h0;
assign set_rsrv = _142_ ? _148_ : 1'h0;
assign clear_rsrv = _142_ ? _149_ : 1'h0;
assign _150_ = r0_valid & access_ok;
assign _151_ = set_rsrv ? { r0[70:13], 1'h1 } : reservation;
assign _152_ = clear_rsrv ? 1'h0 : _151_[0];
assign _153_ = clear_rsrv ? reservation[58:1] : _151_[58:1];
assign _154_ = _150_ ? { _153_, _152_ } : reservation;
assign _155_ = rst ? 1'h0 : _154_[0];
assign _156_ = rst ? reservation[58:1] : _154_[58:1];
always @(posedge clk)
reservation <= { _156_, _155_ };
assign _157_ = _437_[142] ? _437_[63:0] : _437_[127:64];
assign _158_ = 1'h1 - _198_[0];
assign _159_ = _437_[143] ? _157_[7:0] : _487_[7:0];
assign _160_ = _437_[144] ? _157_[15:8] : _487_[15:8];
assign _161_ = _437_[145] ? _157_[23:16] : _487_[23:16];
assign _162_ = _437_[146] ? _157_[31:24] : _487_[31:24];
assign _163_ = _437_[147] ? _157_[39:32] : _487_[39:32];
assign _164_ = _437_[148] ? _157_[47:40] : _487_[47:40];
assign _165_ = _437_[149] ? _157_[55:48] : _487_[55:48];
assign _166_ = _437_[150] ? _157_[63:56] : _487_[63:56];
assign _167_ = ~ _200_[2];
assign _168_ = 32'd0 == { 31'h00000000, _436_[133] };
assign _169_ = _168_ ? 1'h1 : 1'h0;
assign _170_ = _437_[153] ? 64'h0000000000000000 : wishbone_in[63:0];
assign _171_ = _437_[152:151] == 2'h1;
assign _172_ = _171_ & wishbone_in[64];
assign _173_ = { 31'h00000000, replace_way } == 32'd0;
assign _174_ = _172_ & _173_;
assign _175_ = _174_ ? 1'h1 : 1'h0;
assign \rams:0.do_write = _437_[154] ? _169_ : _175_;
assign \rams:0.wr_addr = _437_[154] ? _436_[11:8] : _437_[317:314];
assign \rams:0.wr_data = _437_[154] ? _436_[124:61] : _170_;
assign \rams:0.wr_sel = _437_[154] ? _436_[132:125] : 8'hff;
assign \rams:0.wr_sel_m = \rams:0.do_write ? \rams:0.wr_sel : 8'h00;
assign _176_ = 32'd1 == { 31'h00000000, _436_[133] };
assign _177_ = _176_ ? 1'h1 : 1'h0;
assign _178_ = _437_[153] ? 64'h0000000000000000 : wishbone_in[63:0];
assign _179_ = _437_[152:151] == 2'h1;
assign _180_ = _179_ & wishbone_in[64];
assign _181_ = { 31'h00000000, replace_way } == 32'd1;
assign _182_ = _180_ & _181_;
assign _183_ = _182_ ? 1'h1 : 1'h0;
assign \rams:1.do_write = _437_[154] ? _177_ : _183_;
assign \rams:1.wr_addr = _437_[154] ? _436_[11:8] : _437_[317:314];
assign \rams:1.wr_data = _437_[154] ? _436_[124:61] : _178_;
assign \rams:1.wr_sel = _437_[154] ? _436_[132:125] : 8'hff;
assign \rams:1.wr_sel_m = \rams:1.do_write ? \rams:1.wr_sel : 8'h00;
assign _184_ = req_op == 3'h3;
assign _185_ = _184_ ? 1'h1 : 1'h0;
assign _186_ = req_op == 3'h3;
assign _187_ = req_op == 3'h6;
assign _188_ = _186_ | _187_;
assign _189_ = _188_ ? 1'h1 : 1'h0;
assign _190_ = req_op == 3'h1;
assign _191_ = ~ r0[146];
assign _192_ = _190_ ? _191_ : 1'h0;
assign _193_ = _190_ ? { access_ok, r0[146] } : 2'h0;
assign _194_ = req_op == 3'h2;
assign _195_ = _194_ ? 1'h1 : 1'h0;
assign _196_ = r0_valid ? r0[146] : _197_;
always @(posedge clk)
_197_ <= _196_;
always @(posedge clk)
_198_ <= { r0[19], tlb_hit_way, tlb_hit, _189_, r0[13], _185_, req_hit_way };
always @(posedge clk)
_199_ <= _192_;
always @(posedge clk)
_200_ <= { _195_, _193_ };
assign _201_ = use_forward2_next ? _437_[135:128] : 8'h00;
assign _202_ = use_forward1_next ? _436_[132:125] : _201_;
assign _203_ = _437_[153] ? 64'h0000000000000000 : wishbone_in[63:0];
assign _204_ = _437_[154] ? _436_[124:61] : _203_;
assign _205_ = r0[143] | r0[145];
assign _206_ = r0_valid & _205_;
assign _207_ = req_op == 3'h3;
assign _208_ = req_op == 3'h2;
assign _209_ = _207_ | _208_;
assign _210_ = ~ r0[146];
assign _211_ = _213_ ? 1'h1 : 1'h0;
assign _212_ = _210_ ? _206_ : 1'h1;
assign _213_ = _209_ & _210_;
assign _214_ = _209_ ? _212_ : _206_;
assign _215_ = 32'd0 == { 31'h00000000, replace_way };
assign _216_ = 32'd1 == { 31'h00000000, replace_way };
assign _217_ = _437_[155] ? 1'h0 : _437_[155];
assign _218_ = _437_[155] ? replace_way : _437_[313];
assign _219_ = ~ r0[2];
assign _220_ = _219_ ? r0[134:71] : 64'h0000000000000000;
assign _221_ = ~ r0[3];
assign _222_ = r0[1] & _221_;
assign _223_ = r0[2] | _222_;
assign _224_ = _223_ ? 8'hff : r0[142:135];
assign _225_ = req_op == 3'h4;
assign _226_ = req_op == 3'h5;
assign _227_ = _225_ | _226_;
assign _228_ = req_op == 3'h7;
assign _229_ = _227_ | _228_;
assign _230_ = req_op == 3'h6;
assign _231_ = _229_ | _230_;
assign _232_ = _231_ ? 1'h1 : _435_;
assign _233_ = _435_ ? _435_ : _232_;
assign _234_ = _435_ ? _436_ : { r0[146], req_same_tag, req_hit_way, _224_, _220_, ra, r0[2], req_go, req_op };
assign _235_ = _234_[10:8] - 3'h1;
assign _236_ = _234_[2:0] == 3'h6;
assign _237_ = _236_ ? _234_[133] : _218_;
assign _238_ = _234_[2:0] == 3'h3;
assign _239_ = _234_[2:0] == 3'h4;
assign _240_ = _234_[2:0] == 3'h5;
assign _241_ = ~ _234_[4];
assign _242_ = ~ _234_[135];
assign _243_ = _255_ ? 1'h1 : _211_;
assign _244_ = _242_ ? _214_ : 1'h1;
assign _245_ = _234_[2:0] == 3'h6;
assign _246_ = _251_ ? 1'h1 : 1'h0;
assign _247_ = _234_[2:0] == 3'h7;
assign _248_ = _247_ ? 1'h1 : _217_;
assign _249_ = _241_ ? 1'h0 : _233_;
assign _250_ = _241_ ? 2'h2 : 2'h1;
assign _251_ = _241_ & _245_;
assign _252_ = _241_ ? _217_ : _248_;
assign _253_ = _241_ ? 1'h1 : 1'h0;
assign _254_ = _241_ ? 3'h1 : _437_[332:330];
assign _255_ = _241_ & _242_;
assign _256_ = _241_ ? _244_ : _214_;
assign _257_ = _234_[2:0] == 3'h6;
assign _258_ = _234_[2:0] == 3'h7;
assign _259_ = _257_ | _258_;
assign _260_ = _234_[2:0] == 3'h0;
assign _261_ = _234_[2:0] == 3'h1;
assign _262_ = _234_[2:0] == 3'h2;
function [0:0] \18809 ;
input [0:0] a;
input [6:0] b;
input [6:0] s;
(* parallel_case *)
casez (s)
7'b??????1:
\18809 = b[0:0];
7'b?????1?:
\18809 = b[1:1];
7'b????1??:
\18809 = b[2:2];
7'b???1???:
\18809 = b[3:3];
7'b??1????:
\18809 = b[4:4];
7'b?1?????:
\18809 = b[5:5];
7'b1??????:
\18809 = b[6:6];
default:
\18809 = a;
endcase
endfunction
assign _263_ = \18809 (1'hx, { _233_, _233_, _233_, _249_, _233_, _233_, _233_ }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
function [1:0] \18812 ;
input [1:0] a;
input [13:0] b;
input [6:0] s;
(* parallel_case *)
casez (s)
7'b??????1:
\18812 = b[1:0];
7'b?????1?:
\18812 = b[3:2];
7'b????1??:
\18812 = b[5:4];
7'b???1???:
\18812 = b[7:6];
7'b??1????:
\18812 = b[9:8];
7'b?1?????:
\18812 = b[11:10];
7'b1??????:
\18812 = b[13:12];
default:
\18812 = a;
endcase
endfunction
assign _264_ = \18812 (2'hx, { _437_[152:151], _437_[152:151], _437_[152:151], _250_, 4'hd, _437_[152:151] }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
function [0:0] \18814 ;
input [0:0] a;
input [6:0] b;
input [6:0] s;
(* parallel_case *)
casez (s)
7'b??????1:
\18814 = b[0:0];
7'b?????1?:
\18814 = b[1:1];
7'b????1??:
\18814 = b[2:2];
7'b???1???:
\18814 = b[3:3];
7'b??1????:
\18814 = b[4:4];
7'b?1?????:
\18814 = b[5:5];
7'b1??????:
\18814 = b[6:6];
default:
\18814 = a;
endcase
endfunction
assign _265_ = \18814 (1'hx, { 3'h0, _246_, 3'h0 }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
function [0:0] \18816 ;
input [0:0] a;
input [6:0] b;
input [6:0] s;
(* parallel_case *)
casez (s)
7'b??????1:
\18816 = b[0:0];
7'b?????1?:
\18816 = b[1:1];
7'b????1??:
\18816 = b[2:2];
7'b???1???:
\18816 = b[3:3];
7'b??1????:
\18816 = b[4:4];
7'b?1?????:
\18816 = b[5:5];
7'b1??????:
\18816 = b[6:6];
default:
\18816 = a;
endcase
endfunction
assign _266_ = \18816 (1'hx, { _217_, _217_, _217_, _252_, _217_, 1'h1, _217_ }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
function [0:0] \18818 ;
input [0:0] a;
input [6:0] b;
input [6:0] s;
(* parallel_case *)
casez (s)
7'b??????1:
\18818 = b[0:0];
7'b?????1?:
\18818 = b[1:1];
7'b????1??:
\18818 = b[2:2];
7'b???1???:
\18818 = b[3:3];
7'b??1????:
\18818 = b[4:4];
7'b?1?????:
\18818 = b[5:5];
7'b1??????:
\18818 = b[6:6];
default:
\18818 = a;
endcase
endfunction
assign _267_ = \18818 (1'hx, { 3'h0, _253_, 3'h0 }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
function [0:0] \18821 ;
input [0:0] a;
input [6:0] b;
input [6:0] s;
(* parallel_case *)
casez (s)
7'b??????1:
\18821 = b[0:0];
7'b?????1?:
\18821 = b[1:1];
7'b????1??:
\18821 = b[2:2];
7'b???1???:
\18821 = b[3:3];
7'b??1????:
\18821 = b[4:4];
7'b?1?????:
\18821 = b[5:5];
7'b1??????:
\18821 = b[6:6];
default:
\18821 = a;
endcase
endfunction
assign _268_ = \18821 (1'hx, { _437_[261], _437_[261], _437_[261], 3'h7, _437_[261] }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
function [0:0] \18824 ;
input [0:0] a;
input [6:0] b;
input [6:0] s;
(* parallel_case *)
casez (s)
7'b??????1:
\18824 = b[0:0];
7'b?????1?:
\18824 = b[1:1];
7'b????1??:
\18824 = b[2:2];
7'b???1???:
\18824 = b[3:3];
7'b??1????:
\18824 = b[4:4];
7'b?1?????:
\18824 = b[5:5];
7'b1??????:
\18824 = b[6:6];
default:
\18824 = a;
endcase
endfunction
assign _269_ = \18824 (1'hx, { _437_[262], _437_[262], _437_[262], 3'h7, _437_[262] }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
function [0:0] \18827 ;
input [0:0] a;
input [6:0] b;
input [6:0] s;
(* parallel_case *)
casez (s)
7'b??????1:
\18827 = b[0:0];
7'b?????1?:
\18827 = b[1:1];
7'b????1??:
\18827 = b[2:2];
7'b???1???:
\18827 = b[3:3];
7'b??1????:
\18827 = b[4:4];
7'b?1?????:
\18827 = b[5:5];
7'b1??????:
\18827 = b[6:6];
default:
\18827 = a;
endcase
endfunction
assign _270_ = \18827 (1'hx, { _437_[263], _437_[263], _437_[263], 3'h4, _437_[263] }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
function [2:0] \18830 ;
input [2:0] a;
input [20:0] b;
input [6:0] s;
(* parallel_case *)
casez (s)
7'b??????1:
\18830 = b[2:0];
7'b?????1?:
\18830 = b[5:3];
7'b????1??:
\18830 = b[8:6];
7'b???1???:
\18830 = b[11:9];
7'b??1????:
\18830 = b[14:12];
7'b?1?????:
\18830 = b[17:15];
7'b1??????:
\18830 = b[20:18];
default:
\18830 = a;
endcase
endfunction
assign _271_ = \18830 (3'hx, { _437_[332:330], _437_[332:330], _437_[332:330], _254_, _437_[332:330], _437_[332:330], _437_[332:330] }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
function [0:0] \18832 ;
input [0:0] a;
input [6:0] b;
input [6:0] s;
(* parallel_case *)
casez (s)
7'b??????1:
\18832 = b[0:0];
7'b?????1?:
\18832 = b[1:1];
7'b????1??:
\18832 = b[2:2];
7'b???1???:
\18832 = b[3:3];
7'b??1????:
\18832 = b[4:4];
7'b?1?????:
\18832 = b[5:5];
7'b1??????:
\18832 = b[6:6];
default:
\18832 = a;
endcase
endfunction
assign _272_ = \18832 (1'hx, { _211_, _211_, _211_, _243_, _211_, _211_, _211_ }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
function [0:0] \18834 ;
input [0:0] a;
input [6:0] b;
input [6:0] s;
(* parallel_case *)
casez (s)
7'b??????1:
\18834 = b[0:0];
7'b?????1?:
\18834 = b[1:1];
7'b????1??:
\18834 = b[2:2];
7'b???1???:
\18834 = b[3:3];
7'b??1????:
\18834 = b[4:4];
7'b?1?????:
\18834 = b[5:5];
7'b1??????:
\18834 = b[6:6];
default:
\18834 = a;
endcase
endfunction
assign _273_ = \18834 (1'hx, { _214_, _214_, _214_, _256_, _214_, _214_, _214_ }, { _262_, _261_, _260_, _259_, _240_, _239_, _238_ });
assign _274_ = _437_[152:151] == 2'h0;
assign _275_ = ~ _437_[262];
assign _276_ = ~ wishbone_in[65];
assign _277_ = ~ _275_;
assign _278_ = _276_ & _277_;
assign _279_ = _437_[162:160] == _437_[321:319];
assign _280_ = _284_ ? 1'h0 : _437_[262];
assign _281_ = _285_ ? 1'h1 : _275_;
assign _282_ = _437_[162:160] + 3'h1;
assign _283_ = _278_ ? { _437_[188:163], _282_, _437_[159:157] } : _437_[188:157];
assign _284_ = _278_ & _279_;
assign _285_ = _278_ & _279_;
assign _286_ = 3'h7 - _437_[316:314];
assign _287_ = _435_ & _436_[134];
assign _288_ = _437_[153] & _436_[4];
assign _289_ = ~ _437_[153];
assign _290_ = _436_[2:0] == 3'h4;
assign _291_ = _289_ & _290_;
assign _292_ = _288_ | _291_;
assign _293_ = _287_ & _292_;
assign _294_ = { 28'h0000000, _437_[317:314] } == { 28'h0000000, _436_[11:8] };
assign _295_ = _293_ & _294_;
assign _296_ = ~ _197_;
assign _297_ = _318_ ? 1'h1 : _211_;
assign _298_ = _296_ ? _214_ : 1'h1;
assign _299_ = _312_ ? 1'h0 : _233_;
assign _300_ = _295_ ? 9'h1ff : { _202_, use_forward1_next };
assign _301_ = _314_ ? 1'h1 : 1'h0;
assign _302_ = _295_ & _296_;
assign _303_ = _319_ ? _298_ : _214_;
assign _304_ = _437_[316:314] == _437_[321:319];
assign _305_ = _281_ & _304_;
assign _306_ = 1'h1 - _437_[318];
assign _307_ = _311_ ? { _520_, _519_, _518_, _517_ } : cache_valids;
assign _308_ = _305_ ? 2'h0 : _437_[152:151];
assign _309_ = _315_ ? 1'h0 : _437_[261];
assign _310_ = _437_[316:314] + 3'h1;
assign _311_ = wishbone_in[64] & _305_;
assign _312_ = wishbone_in[64] & _295_;
assign _313_ = wishbone_in[64] ? { _308_, _300_ } : { _437_[152:151], _202_, use_forward1_next };
assign _314_ = wishbone_in[64] & _295_;
assign _315_ = wishbone_in[64] & _305_;
assign _316_ = wishbone_in[64] ? { _437_[317], _310_ } : _437_[317:314];
assign _317_ = wishbone_in[64] ? { _510_, _509_, _508_, _507_, _506_, _505_, _504_, _503_ } : _437_[329:322];
assign _318_ = wishbone_in[64] & _302_;
assign _319_ = wishbone_in[64] & _295_;
assign _320_ = _437_[152:151] == 2'h1;
assign _321_ = ~ _437_[262];
assign _322_ = _437_[333] != _437_[334];
assign _323_ = _437_[332:330] + 3'h1;
assign _324_ = _437_[332:330] - 3'h1;
assign _325_ = _437_[333] ? _323_ : _324_;
assign _326_ = _322_ ? _325_ : _437_[332:330];
assign _327_ = ~ wishbone_in[65];
assign _328_ = _234_[3] ? _234_[11:5] : _437_[163:157];
assign _329_ = _348_ ? _234_[132:61] : _437_[260:189];
assign _330_ = _326_ < 3'h7;
assign _331_ = _330_ & _234_[134];
assign _332_ = _234_[2:0] == 3'h7;
assign _333_ = _234_[2:0] == 3'h6;
assign _334_ = _332_ | _333_;
assign _335_ = _331_ & _334_;
assign _336_ = _234_[2:0] == 3'h6;
assign _337_ = _346_ ? 1'h1 : 1'h0;
assign _338_ = _345_ ? 1'h0 : _233_;
assign _339_ = _335_ & _336_;
assign _340_ = _335_ ? 1'h1 : 1'h0;
assign _341_ = _335_ ? 1'h1 : 1'h0;
assign _342_ = _350_ ? 1'h1 : 1'h0;
assign _343_ = _351_ ? 1'h1 : _211_;
assign _344_ = _335_ ? 1'h0 : 1'h1;
assign _345_ = _327_ & _335_;
assign _346_ = _327_ & _339_;
assign _347_ = _327_ ? { _328_, _340_ } : { _437_[163:157], 1'h0 };
assign _348_ = _327_ & _234_[3];
assign _349_ = _327_ ? _341_ : _437_[262];
assign _350_ = _327_ & _335_;
assign _351_ = _327_ & _335_;
assign _352_ = _327_ ? _344_ : _321_;
assign _353_ = _326_ == 3'h1;
assign _354_ = _352_ & _353_;
assign _355_ = _357_ ? 2'h0 : _437_[152:151];
assign _356_ = _354_ ? 2'h0 : { _349_, _437_[261] };
assign _357_ = wishbone_in[64] & _354_;
assign _358_ = wishbone_in[64] ? _356_ : { _349_, _437_[261] };
assign _359_ = wishbone_in[64] ? 1'h1 : 1'h0;
assign _360_ = _437_[152:151] == 2'h2;
assign _361_ = ~ wishbone_in[65];
assign _362_ = _361_ ? 1'h0 : _437_[262];
assign _363_ = ~ _197_;
assign _364_ = _370_ ? 1'h1 : _211_;
assign _365_ = _363_ ? _214_ : 1'h1;
assign _366_ = wishbone_in[64] ? 1'h0 : _233_;
assign _367_ = wishbone_in[64] ? 11'h1ff : { _437_[152:151], _202_, use_forward1_next };
assign _368_ = wishbone_in[64] ? 1'h1 : 1'h0;
assign _369_ = wishbone_in[64] ? 2'h0 : { _362_, _437_[261] };
assign _370_ = wishbone_in[64] & _363_;
assign _371_ = wishbone_in[64] ? _365_ : _214_;
assign _372_ = _437_[152:151] == 2'h3;
function [3:0] \19137 ;
input [3:0] a;
input [15:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19137 = b[3:0];
4'b??1?:
\19137 = b[7:4];
4'b?1??:
\19137 = b[11:8];
4'b1???:
\19137 = b[15:12];
default:
\19137 = a;
endcase
endfunction
assign _373_ = \19137 (4'hx, { cache_valids, cache_valids, _307_, cache_valids }, { _372_, _360_, _320_, _274_ });
function [0:0] \19139 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19139 = b[0:0];
4'b??1?:
\19139 = b[1:1];
4'b?1??:
\19139 = b[2:2];
4'b1???:
\19139 = b[3:3];
default:
\19139 = a;
endcase
endfunction
assign _374_ = \19139 (1'hx, { _366_, _338_, _299_, _263_ }, { _372_, _360_, _320_, _274_ });
assign _375_ = _231_ ? req_same_tag : _436_[134];
assign _376_ = _435_ ? _436_[134] : _375_;
function [0:0] \19146 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19146 = b[0:0];
4'b??1?:
\19146 = b[1:1];
4'b?1??:
\19146 = b[2:2];
4'b1???:
\19146 = b[3:3];
default:
\19146 = a;
endcase
endfunction
assign _377_ = \19146 (1'hx, { _376_, _376_, _376_, 1'h1 }, { _372_, _360_, _320_, _274_ });
assign _378_ = _437_[154] ? 1'h1 : 1'h0;
function [0:0] \19151 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19151 = b[0:0];
4'b??1?:
\19151 = b[1:1];
4'b?1??:
\19151 = b[2:2];
4'b1???:
\19151 = b[3:3];
default:
\19151 = a;
endcase
endfunction
assign _379_ = \19151 (1'hx, { _378_, _378_, wishbone_in[64], _378_ }, { _372_, _360_, _320_, _274_ });
function [8:0] \19156 ;
input [8:0] a;
input [35:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19156 = b[8:0];
4'b??1?:
\19156 = b[17:9];
4'b?1??:
\19156 = b[26:18];
4'b1???:
\19156 = b[35:27];
default:
\19156 = a;
endcase
endfunction
assign _380_ = \19156 (9'hxxx, { _367_[8:0], _202_, use_forward1_next, _313_[8:0], _202_, use_forward1_next }, { _372_, _360_, _320_, _274_ });
function [1:0] \19160 ;
input [1:0] a;
input [7:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19160 = b[1:0];
4'b??1?:
\19160 = b[3:2];
4'b?1??:
\19160 = b[5:4];
4'b1???:
\19160 = b[7:6];
default:
\19160 = a;
endcase
endfunction
assign _381_ = \19160 (2'hx, { _367_[10:9], _355_, _313_[10:9], _264_ }, { _372_, _360_, _320_, _274_ });
function [0:0] \19163 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19163 = b[0:0];
4'b??1?:
\19163 = b[1:1];
4'b?1??:
\19163 = b[2:2];
4'b1???:
\19163 = b[3:3];
default:
\19163 = a;
endcase
endfunction
assign _382_ = \19163 (1'hx, { _437_[153], _437_[153], _437_[153], _234_[4] }, { _372_, _360_, _320_, _274_ });
function [0:0] \19165 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19165 = b[0:0];
4'b??1?:
\19165 = b[1:1];
4'b?1??:
\19165 = b[2:2];
4'b1???:
\19165 = b[3:3];
default:
\19165 = a;
endcase
endfunction
assign _383_ = \19165 (1'hx, { 1'h0, _337_, 1'h0, _265_ }, { _372_, _360_, _320_, _274_ });
function [0:0] \19167 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19167 = b[0:0];
4'b??1?:
\19167 = b[1:1];
4'b?1??:
\19167 = b[2:2];
4'b1???:
\19167 = b[3:3];
default:
\19167 = a;
endcase
endfunction
assign _384_ = \19167 (1'hx, { _217_, _217_, _217_, _266_ }, { _372_, _360_, _320_, _274_ });
function [0:0] \19170 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19170 = b[0:0];
4'b??1?:
\19170 = b[1:1];
4'b?1??:
\19170 = b[2:2];
4'b1???:
\19170 = b[3:3];
default:
\19170 = a;
endcase
endfunction
assign _385_ = \19170 (1'hx, { _368_, _347_[0], _301_, _267_ }, { _372_, _360_, _320_, _274_ });
function [6:0] \19176 ;
input [6:0] a;
input [27:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19176 = b[6:0];
4'b??1?:
\19176 = b[13:7];
4'b?1??:
\19176 = b[20:14];
4'b1???:
\19176 = b[27:21];
default:
\19176 = a;
endcase
endfunction
assign _386_ = \19176 (7'hxx, { _437_[163:157], _347_[7:1], _283_[6:0], _234_[11:5] }, { _372_, _360_, _320_, _274_ });
function [24:0] \19181 ;
input [24:0] a;
input [99:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19181 = b[24:0];
4'b??1?:
\19181 = b[49:25];
4'b?1??:
\19181 = b[74:50];
4'b1???:
\19181 = b[99:75];
default:
\19181 = a;
endcase
endfunction
assign _387_ = \19181 (25'hxxxxxxx, { _437_[188:164], _437_[188:164], _283_[31:7], _234_[36:12] }, { _372_, _360_, _320_, _274_ });
function [63:0] \19185 ;
input [63:0] a;
input [255:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19185 = b[63:0];
4'b??1?:
\19185 = b[127:64];
4'b?1??:
\19185 = b[191:128];
4'b1???:
\19185 = b[255:192];
default:
\19185 = a;
endcase
endfunction
assign _388_ = \19185 (64'hxxxxxxxxxxxxxxxx, { _437_[252:189], _329_[63:0], _437_[252:189], _234_[124:61] }, { _372_, _360_, _320_, _274_ });
function [7:0] \19189 ;
input [7:0] a;
input [31:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19189 = b[7:0];
4'b??1?:
\19189 = b[15:8];
4'b?1??:
\19189 = b[23:16];
4'b1???:
\19189 = b[31:24];
default:
\19189 = a;
endcase
endfunction
assign _389_ = \19189 (8'hxx, { _437_[260:253], _329_[71:64], _437_[260:253], _234_[132:125] }, { _372_, _360_, _320_, _274_ });
function [0:0] \19193 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19193 = b[0:0];
4'b??1?:
\19193 = b[1:1];
4'b?1??:
\19193 = b[2:2];
4'b1???:
\19193 = b[3:3];
default:
\19193 = a;
endcase
endfunction
assign _390_ = \19193 (1'hx, { _369_[0], _358_[0], _309_, _268_ }, { _372_, _360_, _320_, _274_ });
function [0:0] \19197 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19197 = b[0:0];
4'b??1?:
\19197 = b[1:1];
4'b?1??:
\19197 = b[2:2];
4'b1???:
\19197 = b[3:3];
default:
\19197 = a;
endcase
endfunction
assign _391_ = \19197 (1'hx, { _369_[1], _358_[1], _280_, _269_ }, { _372_, _360_, _320_, _274_ });
function [0:0] \19200 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19200 = b[0:0];
4'b??1?:
\19200 = b[1:1];
4'b?1??:
\19200 = b[2:2];
4'b1???:
\19200 = b[3:3];
default:
\19200 = a;
endcase
endfunction
assign _392_ = \19200 (1'hx, { _437_[263], _437_[263], _437_[263], _270_ }, { _372_, _360_, _320_, _274_ });
function [48:0] \19203 ;
input [48:0] a;
input [195:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19203 = b[48:0];
4'b??1?:
\19203 = b[97:49];
4'b?1??:
\19203 = b[146:98];
4'b1???:
\19203 = b[195:147];
default:
\19203 = a;
endcase
endfunction
assign _393_ = \19203 (49'hxxxxxxxxxxxxx, { _437_[312:264], _437_[312:264], _437_[312:264], _234_[60:12] }, { _372_, _360_, _320_, _274_ });
function [0:0] \19205 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19205 = b[0:0];
4'b??1?:
\19205 = b[1:1];
4'b?1??:
\19205 = b[2:2];
4'b1???:
\19205 = b[3:3];
default:
\19205 = a;
endcase
endfunction
assign _394_ = \19205 (1'hx, { _218_, _218_, _218_, _237_ }, { _372_, _360_, _320_, _274_ });
function [3:0] \19208 ;
input [3:0] a;
input [15:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19208 = b[3:0];
4'b??1?:
\19208 = b[7:4];
4'b?1??:
\19208 = b[11:8];
4'b1???:
\19208 = b[15:12];
default:
\19208 = a;
endcase
endfunction
assign _395_ = \19208 (4'hx, { _437_[317:314], _437_[317:314], _316_, _234_[11:8] }, { _372_, _360_, _320_, _274_ });
function [0:0] \19211 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19211 = b[0:0];
4'b??1?:
\19211 = b[1:1];
4'b?1??:
\19211 = b[2:2];
4'b1???:
\19211 = b[3:3];
default:
\19211 = a;
endcase
endfunction
assign _396_ = \19211 (1'hx, { _437_[318], _437_[318], _437_[318], _234_[11] }, { _372_, _360_, _320_, _274_ });
function [2:0] \19214 ;
input [2:0] a;
input [11:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19214 = b[2:0];
4'b??1?:
\19214 = b[5:3];
4'b?1??:
\19214 = b[8:6];
4'b1???:
\19214 = b[11:9];
default:
\19214 = a;
endcase
endfunction
assign _397_ = \19214 (3'hx, { _437_[321:319], _437_[321:319], _437_[321:319], _235_ }, { _372_, _360_, _320_, _274_ });
function [0:0] \19218 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19218 = b[0:0];
4'b??1?:
\19218 = b[1:1];
4'b?1??:
\19218 = b[2:2];
4'b1???:
\19218 = b[3:3];
default:
\19218 = a;
endcase
endfunction
assign _398_ = \19218 (1'hx, { _437_[322], _437_[322], _317_[0], 1'h0 }, { _372_, _360_, _320_, _274_ });
function [0:0] \19222 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19222 = b[0:0];
4'b??1?:
\19222 = b[1:1];
4'b?1??:
\19222 = b[2:2];
4'b1???:
\19222 = b[3:3];
default:
\19222 = a;
endcase
endfunction
assign _399_ = \19222 (1'hx, { _437_[323], _437_[323], _317_[1], 1'h0 }, { _372_, _360_, _320_, _274_ });
function [0:0] \19226 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19226 = b[0:0];
4'b??1?:
\19226 = b[1:1];
4'b?1??:
\19226 = b[2:2];
4'b1???:
\19226 = b[3:3];
default:
\19226 = a;
endcase
endfunction
assign _400_ = \19226 (1'hx, { _437_[324], _437_[324], _317_[2], 1'h0 }, { _372_, _360_, _320_, _274_ });
function [0:0] \19230 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19230 = b[0:0];
4'b??1?:
\19230 = b[1:1];
4'b?1??:
\19230 = b[2:2];
4'b1???:
\19230 = b[3:3];
default:
\19230 = a;
endcase
endfunction
assign _401_ = \19230 (1'hx, { _437_[325], _437_[325], _317_[3], 1'h0 }, { _372_, _360_, _320_, _274_ });
function [0:0] \19234 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19234 = b[0:0];
4'b??1?:
\19234 = b[1:1];
4'b?1??:
\19234 = b[2:2];
4'b1???:
\19234 = b[3:3];
default:
\19234 = a;
endcase
endfunction
assign _402_ = \19234 (1'hx, { _437_[326], _437_[326], _317_[4], 1'h0 }, { _372_, _360_, _320_, _274_ });
function [0:0] \19238 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19238 = b[0:0];
4'b??1?:
\19238 = b[1:1];
4'b?1??:
\19238 = b[2:2];
4'b1???:
\19238 = b[3:3];
default:
\19238 = a;
endcase
endfunction
assign _403_ = \19238 (1'hx, { _437_[327], _437_[327], _317_[5], 1'h0 }, { _372_, _360_, _320_, _274_ });
function [0:0] \19242 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19242 = b[0:0];
4'b??1?:
\19242 = b[1:1];
4'b?1??:
\19242 = b[2:2];
4'b1???:
\19242 = b[3:3];
default:
\19242 = a;
endcase
endfunction
assign _404_ = \19242 (1'hx, { _437_[328], _437_[328], _317_[6], 1'h0 }, { _372_, _360_, _320_, _274_ });
function [0:0] \19246 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19246 = b[0:0];
4'b??1?:
\19246 = b[1:1];
4'b?1??:
\19246 = b[2:2];
4'b1???:
\19246 = b[3:3];
default:
\19246 = a;
endcase
endfunction
assign _405_ = \19246 (1'hx, { _437_[329], _437_[329], _317_[7], 1'h0 }, { _372_, _360_, _320_, _274_ });
function [2:0] \19249 ;
input [2:0] a;
input [11:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19249 = b[2:0];
4'b??1?:
\19249 = b[5:3];
4'b?1??:
\19249 = b[8:6];
4'b1???:
\19249 = b[11:9];
default:
\19249 = a;
endcase
endfunction
assign _406_ = \19249 (3'hx, { _437_[332:330], _326_, _437_[332:330], _271_ }, { _372_, _360_, _320_, _274_ });
function [0:0] \19251 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19251 = b[0:0];
4'b??1?:
\19251 = b[1:1];
4'b?1??:
\19251 = b[2:2];
4'b1???:
\19251 = b[3:3];
default:
\19251 = a;
endcase
endfunction
assign _407_ = \19251 (1'hx, { 1'h0, _342_, 2'h0 }, { _372_, _360_, _320_, _274_ });
function [0:0] \19253 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19253 = b[0:0];
4'b??1?:
\19253 = b[1:1];
4'b?1??:
\19253 = b[2:2];
4'b1???:
\19253 = b[3:3];
default:
\19253 = a;
endcase
endfunction
assign _408_ = \19253 (1'hx, { 1'h0, _359_, 2'h0 }, { _372_, _360_, _320_, _274_ });
function [0:0] \19255 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19255 = b[0:0];
4'b??1?:
\19255 = b[1:1];
4'b?1??:
\19255 = b[2:2];
4'b1???:
\19255 = b[3:3];
default:
\19255 = a;
endcase
endfunction
assign _409_ = \19255 (1'hx, { _364_, _343_, _297_, _272_ }, { _372_, _360_, _320_, _274_ });
function [0:0] \19257 ;
input [0:0] a;
input [3:0] b;
input [3:0] s;
(* parallel_case *)
casez (s)
4'b???1:
\19257 = b[0:0];
4'b??1?:
\19257 = b[1:1];
4'b?1??:
\19257 = b[2:2];
4'b1???:
\19257 = b[3:3];
default:
\19257 = a;
endcase
endfunction
assign _410_ = \19257 (1'hx, { _371_, _214_, _303_, _273_ }, { _372_, _360_, _320_, _274_ });
assign _411_ = _231_ ? r0[146] : _436_[135];
assign _412_ = _435_ ? _436_[135] : _411_;
assign _413_ = _231_ ? { req_hit_way, _224_, _220_, ra, r0[2], req_go, req_op } : _436_[133:0];
assign _414_ = _435_ ? _436_[133:0] : _413_;
assign _415_ = rst ? 4'h0 : _373_;
assign _416_ = rst ? 1'h0 : _374_;
assign _417_ = rst ? _436_ : { _412_, _377_, _414_ };
assign _418_ = _437_[154] ? 1'h1 : 1'h0;
assign _419_ = rst ? _418_ : _379_;
assign _420_ = rst ? { _202_, use_forward1_next } : _380_;
assign _421_ = rst ? 2'h0 : _381_;
assign _422_ = rst ? _437_[155:153] : { _384_, _383_, _382_ };
assign _423_ = rst ? 33'h000000000 : { _387_, _386_, _385_ };
assign _424_ = rst ? _437_[260:189] : { _389_, _388_ };
assign _425_ = rst ? 2'h0 : { _391_, _390_ };
assign _426_ = rst ? _437_[334:263] : { _408_, _407_, _406_, _405_, _404_, _403_, _402_, _401_, _400_, _399_, _398_, _397_, _396_, _395_, _394_, _393_, _392_ };
assign _427_ = rst ? 1'h0 : _409_;
assign _428_ = rst ? 1'h0 : _410_;
assign _429_ = _437_[154] ? { _436_[11:8], _436_[133] } : { _437_[317:314], replace_way };
assign _430_ = _437_[154] ? _436_[132:125] : 8'hff;
assign _431_ = ~ rst;
assign _432_ = _431_ & _437_[155];
assign _433_ = _432_ & _216_;
assign _434_ = _432_ & _215_;
always @(posedge clk)
cache_valids <= _415_;
always @(posedge clk)
_435_ <= _416_;
always @(posedge clk)
_436_ <= _417_;
always @(posedge clk)
_437_ <= { _427_, _426_, _425_, _424_, _423_, _422_, _421_, _420_, _429_, _419_, _430_, _437_[63:0], _204_ };
always @(posedge clk)
_438_ <= _428_;
assign _445_ = _013_ ? dtlb_valids[3:2] : dtlb_valids[1:0];
assign _446_ = tlb_hit_way ? tlb_pte_way[127:64] : tlb_pte_way[63:0];
assign _447_ = ~ _030_;
assign _448_ = ~ tlb_hit_way;
assign _449_ = _447_ & _448_;
assign _450_ = _447_ & tlb_hit_way;
assign _451_ = _030_ & _448_;
assign _452_ = _030_ & tlb_hit_way;
assign _453_ = _449_ ? 1'h0 : dtlb_valids[0];
assign _454_ = _450_ ? 1'h0 : dtlb_valids[1];
assign _455_ = _451_ ? 1'h0 : dtlb_valids[2];
assign _456_ = _452_ ? 1'h0 : dtlb_valids[3];
assign _457_ = _032_ ? \maybe_tlb_plrus.tlb_plrus:0.tlb_plru_out : \maybe_tlb_plrus.tlb_plrus:1.tlb_plru_out ;
assign _458_ = ~ _033_;
assign _459_ = _458_ ? r0[70:20] : tlb_tag_way[50:0];
assign _460_ = _033_ ? r0[70:20] : tlb_tag_way[101:51];
assign _461_ = ~ _033_;
assign _462_ = _461_ ? r0[134:71] : tlb_pte_way[63:0];
assign _463_ = _033_ ? r0[134:71] : tlb_pte_way[127:64];
assign _464_ = ~ _034_;
assign _465_ = ~ _033_;
assign _466_ = _464_ & _465_;
assign _467_ = _464_ & _033_;
assign _468_ = _034_ & _465_;
assign _469_ = _034_ & _033_;
assign _470_ = _466_ ? 1'h1 : dtlb_valids[0];
assign _471_ = _467_ ? 1'h1 : dtlb_valids[1];
assign _472_ = _468_ ? 1'h1 : dtlb_valids[2];
assign _473_ = _469_ ? 1'h1 : dtlb_valids[3];
assign _474_ = _054_ ? cache_valids[2] : cache_valids[0];
assign _475_ = _061_ ? cache_valids[3] : cache_valids[1];
assign _476_ = _070_ ? cache_valids[2] : cache_valids[0];
assign _477_ = _077_ ? cache_valids[3] : cache_valids[1];
assign _478_ = tlb_hit_way ? _082_ : _066_;
assign _479_ = _086_ ? _067_ : _083_;
assign _480_ = tlb_hit_way ? _085_ : _069_;
assign _481_ = _090_ ? cache_valids[2] : cache_valids[0];
assign _482_ = _095_ ? cache_valids[3] : cache_valids[1];
assign _485_ = _110_[2] ? _484_ : _483_;
assign _486_ = _119_ ? \maybe_plrus.plrus:0.plru_out : \maybe_plrus.plrus:1.plru_out ;
assign _487_ = _158_ ? \rams:0.dout : \rams:1.dout ;
assign _488_ = ~ _286_[2];
assign _489_ = ~ _286_[1];
assign _490_ = _488_ & _489_;
assign _491_ = _488_ & _286_[1];
assign _492_ = _286_[2] & _489_;
assign _493_ = _286_[2] & _286_[1];
assign _494_ = ~ _286_[0];
assign _495_ = _490_ & _494_;
assign _496_ = _490_ & _286_[0];
assign _497_ = _491_ & _494_;
assign _498_ = _491_ & _286_[0];
assign _499_ = _492_ & _494_;
assign _500_ = _492_ & _286_[0];
assign _501_ = _493_ & _494_;
assign _502_ = _493_ & _286_[0];
assign _503_ = _495_ ? 1'h1 : _437_[322];
assign _504_ = _496_ ? 1'h1 : _437_[323];
assign _505_ = _497_ ? 1'h1 : _437_[324];
assign _506_ = _498_ ? 1'h1 : _437_[325];
assign _507_ = _499_ ? 1'h1 : _437_[326];
assign _508_ = _500_ ? 1'h1 : _437_[327];
assign _509_ = _501_ ? 1'h1 : _437_[328];
assign _510_ = _502_ ? 1'h1 : _437_[329];
assign _511_ = ~ _306_;
assign _512_ = ~ _437_[313];
assign _513_ = _511_ & _512_;
assign _514_ = _511_ & _437_[313];
assign _515_ = _306_ & _512_;
assign _516_ = _306_ & _437_[313];
assign _517_ = _513_ ? 1'h1 : cache_valids[0];
assign _518_ = _514_ ? 1'h1 : cache_valids[1];
assign _519_ = _515_ ? 1'h1 : cache_valids[2];
assign _520_ = _516_ ? 1'h1 : cache_valids[3];
plru_2 \maybe_plrus.plrus:0.plru (
.acc(_198_[0]),
.acc_en(\maybe_plrus.plrus:0.plru_acc_en ),
.clk(clk),
.lru(\maybe_plrus.plrus:0.plru_out ),
.rst(rst)
);
plru_2 \maybe_plrus.plrus:1.plru (
.acc(_198_[0]),
.acc_en(\maybe_plrus.plrus:1.plru_acc_en ),
.clk(clk),
.lru(\maybe_plrus.plrus:1.plru_out ),
.rst(rst)
);
plru_2 \maybe_tlb_plrus.tlb_plrus:0.tlb_plru (
.acc(_198_[5]),
.acc_en(\maybe_tlb_plrus.tlb_plrus:0.tlb_plru_acc_en ),
.clk(clk),
.lru(\maybe_tlb_plrus.tlb_plrus:0.tlb_plru_out ),
.rst(rst)
);
plru_2 \maybe_tlb_plrus.tlb_plrus:1.tlb_plru (
.acc(_198_[5]),
.acc_en(\maybe_tlb_plrus.tlb_plrus:1.tlb_plru_acc_en ),
.clk(clk),
.lru(\maybe_tlb_plrus.tlb_plrus:1.tlb_plru_out ),
.rst(rst)
);
cache_ram_4_64_3f29546453678b855931c174a97d6c0894b8f546 \rams:0.way (
.clk(clk),
.rd_addr(early_req_row),
.rd_data(\rams:0.dout ),
.rd_en(1'h1),
.wr_addr(\rams:0.wr_addr ),
.wr_data(\rams:0.wr_data ),
.wr_sel(\rams:0.wr_sel_m )
);
cache_ram_4_64_3f29546453678b855931c174a97d6c0894b8f546 \rams:1.way (
.clk(clk),
.rd_addr(early_req_row),
.rd_data(\rams:1.dout ),
.rd_en(1'h1),
.wr_addr(\rams:1.wr_addr ),
.wr_data(\rams:1.wr_data ),
.wr_sel(\rams:1.wr_sel_m )
);
assign d_out = { _200_[1], _199_, _167_, _166_, _165_, _164_, _163_, _162_, _161_, _160_, _159_, _437_[335] };
assign m_out = { _166_, _165_, _164_, _163_, _162_, _161_, _160_, _159_, _200_[0], _438_, 1'h0 };
assign stall_out = r0_stall;
assign wishbone_out = _437_[263:157];
endmodule