Files
Toooba/src_SSITH_P3/Verilog_RTL_sim/mkMMIOInst.v
2020-07-16 19:35:51 +01:00

670 lines
21 KiB
Verilog

//
// Generated by Bluespec Compiler, version 2019.05.beta2 (build a88bf40db, 2019-05-24)
//
// On Thu Jul 16 18:15:20 BST 2020
//
//
// Ports:
// Name I/O size props
// getFetchTarget O 2
// RDY_getFetchTarget O 1 const
// RDY_bootRomReq O 1
// bootRomResp O 66 reg
// RDY_bootRomResp O 1
// toCore_instReq_notEmpty O 1
// RDY_toCore_instReq_notEmpty O 1 const
// RDY_toCore_instReq_deq O 1
// toCore_instReq_first_fst O 64 reg
// RDY_toCore_instReq_first_fst O 1
// toCore_instReq_first_snd O 1 reg
// RDY_toCore_instReq_first_snd O 1
// toCore_instResp_notFull O 1
// RDY_toCore_instResp_notFull O 1 const
// RDY_toCore_instResp_enq O 1
// RDY_toCore_setHtifAddrs O 1 const
// CLK I 1 clock
// RST_N I 1 reset
// getFetchTarget_phyPc I 64
// bootRomReq_phyPc I 64
// bootRomReq_maxWay I 1
// toCore_instResp_enq_x I 66
// toCore_setHtifAddrs_toHost I 64 reg
// toCore_setHtifAddrs_fromHost I 64 reg
// EN_bootRomReq I 1
// EN_toCore_instReq_deq I 1
// EN_toCore_instResp_enq I 1
// EN_toCore_setHtifAddrs I 1
// EN_bootRomResp I 1
//
// Combinational paths from inputs to outputs:
// getFetchTarget_phyPc -> getFetchTarget
//
//
`ifdef BSV_ASSIGNMENT_DELAY
`else
`define BSV_ASSIGNMENT_DELAY
`endif
`ifdef BSV_POSITIVE_RESET
`define BSV_RESET_VALUE 1'b1
`define BSV_RESET_EDGE posedge
`else
`define BSV_RESET_VALUE 1'b0
`define BSV_RESET_EDGE negedge
`endif
module mkMMIOInst(CLK,
RST_N,
getFetchTarget_phyPc,
getFetchTarget,
RDY_getFetchTarget,
bootRomReq_phyPc,
bootRomReq_maxWay,
EN_bootRomReq,
RDY_bootRomReq,
EN_bootRomResp,
bootRomResp,
RDY_bootRomResp,
toCore_instReq_notEmpty,
RDY_toCore_instReq_notEmpty,
EN_toCore_instReq_deq,
RDY_toCore_instReq_deq,
toCore_instReq_first_fst,
RDY_toCore_instReq_first_fst,
toCore_instReq_first_snd,
RDY_toCore_instReq_first_snd,
toCore_instResp_notFull,
RDY_toCore_instResp_notFull,
toCore_instResp_enq_x,
EN_toCore_instResp_enq,
RDY_toCore_instResp_enq,
toCore_setHtifAddrs_toHost,
toCore_setHtifAddrs_fromHost,
EN_toCore_setHtifAddrs,
RDY_toCore_setHtifAddrs);
input CLK;
input RST_N;
// value method getFetchTarget
input [63 : 0] getFetchTarget_phyPc;
output [1 : 0] getFetchTarget;
output RDY_getFetchTarget;
// action method bootRomReq
input [63 : 0] bootRomReq_phyPc;
input bootRomReq_maxWay;
input EN_bootRomReq;
output RDY_bootRomReq;
// actionvalue method bootRomResp
input EN_bootRomResp;
output [65 : 0] bootRomResp;
output RDY_bootRomResp;
// value method toCore_instReq_notEmpty
output toCore_instReq_notEmpty;
output RDY_toCore_instReq_notEmpty;
// action method toCore_instReq_deq
input EN_toCore_instReq_deq;
output RDY_toCore_instReq_deq;
// value method toCore_instReq_first_fst
output [63 : 0] toCore_instReq_first_fst;
output RDY_toCore_instReq_first_fst;
// value method toCore_instReq_first_snd
output toCore_instReq_first_snd;
output RDY_toCore_instReq_first_snd;
// value method toCore_instResp_notFull
output toCore_instResp_notFull;
output RDY_toCore_instResp_notFull;
// action method toCore_instResp_enq
input [65 : 0] toCore_instResp_enq_x;
input EN_toCore_instResp_enq;
output RDY_toCore_instResp_enq;
// action method toCore_setHtifAddrs
input [63 : 0] toCore_setHtifAddrs_toHost;
input [63 : 0] toCore_setHtifAddrs_fromHost;
input EN_toCore_setHtifAddrs;
output RDY_toCore_setHtifAddrs;
// signals for module outputs
wire [65 : 0] bootRomResp;
wire [63 : 0] toCore_instReq_first_fst;
wire [1 : 0] getFetchTarget;
wire RDY_bootRomReq,
RDY_bootRomResp,
RDY_getFetchTarget,
RDY_toCore_instReq_deq,
RDY_toCore_instReq_first_fst,
RDY_toCore_instReq_first_snd,
RDY_toCore_instReq_notEmpty,
RDY_toCore_instResp_enq,
RDY_toCore_instResp_notFull,
RDY_toCore_setHtifAddrs,
toCore_instReq_first_snd,
toCore_instReq_notEmpty,
toCore_instResp_notFull;
// inlined wires
wire [66 : 0] respQ_enqReq_lat_0$wget, respQ_enqReq_lat_2$wget;
wire [65 : 0] reqQ_enqReq_lat_0$wget, reqQ_enqReq_lat_2$wget;
// register fromHostAddr
reg [60 : 0] fromHostAddr;
wire [60 : 0] fromHostAddr$D_IN;
wire fromHostAddr$EN;
// register pendQ_clearReq_rl
reg pendQ_clearReq_rl;
wire pendQ_clearReq_rl$D_IN, pendQ_clearReq_rl$EN;
// register pendQ_deqReq_rl
reg pendQ_deqReq_rl;
wire pendQ_deqReq_rl$D_IN, pendQ_deqReq_rl$EN;
// register pendQ_empty
reg pendQ_empty;
wire pendQ_empty$D_IN, pendQ_empty$EN;
// register pendQ_enqReq_rl
reg pendQ_enqReq_rl;
wire pendQ_enqReq_rl$D_IN, pendQ_enqReq_rl$EN;
// register pendQ_full
reg pendQ_full;
wire pendQ_full$D_IN, pendQ_full$EN;
// register reqQ_clearReq_rl
reg reqQ_clearReq_rl;
wire reqQ_clearReq_rl$D_IN, reqQ_clearReq_rl$EN;
// register reqQ_data_0
reg [64 : 0] reqQ_data_0;
wire [64 : 0] reqQ_data_0$D_IN;
wire reqQ_data_0$EN;
// register reqQ_deqReq_rl
reg reqQ_deqReq_rl;
wire reqQ_deqReq_rl$D_IN, reqQ_deqReq_rl$EN;
// register reqQ_empty
reg reqQ_empty;
wire reqQ_empty$D_IN, reqQ_empty$EN;
// register reqQ_enqReq_rl
reg [65 : 0] reqQ_enqReq_rl;
wire [65 : 0] reqQ_enqReq_rl$D_IN;
wire reqQ_enqReq_rl$EN;
// register reqQ_full
reg reqQ_full;
wire reqQ_full$D_IN, reqQ_full$EN;
// register respQ_clearReq_rl
reg respQ_clearReq_rl;
wire respQ_clearReq_rl$D_IN, respQ_clearReq_rl$EN;
// register respQ_data_0
reg [65 : 0] respQ_data_0;
wire [65 : 0] respQ_data_0$D_IN;
wire respQ_data_0$EN;
// register respQ_deqReq_rl
reg respQ_deqReq_rl;
wire respQ_deqReq_rl$D_IN, respQ_deqReq_rl$EN;
// register respQ_empty
reg respQ_empty;
wire respQ_empty$D_IN, respQ_empty$EN;
// register respQ_enqReq_rl
reg [66 : 0] respQ_enqReq_rl;
wire [66 : 0] respQ_enqReq_rl$D_IN;
wire respQ_enqReq_rl$EN;
// register respQ_full
reg respQ_full;
wire respQ_full$D_IN, respQ_full$EN;
// register toHostAddr
reg [60 : 0] toHostAddr;
wire [60 : 0] toHostAddr$D_IN;
wire toHostAddr$EN;
// ports of submodule soc_map
wire [63 : 0] soc_map$m_is_IO_addr_addr,
soc_map$m_is_mem_addr_addr,
soc_map$m_is_near_mem_IO_addr_addr;
wire soc_map$m_is_IO_addr, soc_map$m_is_IO_addr_imem_not_dmem;
// rule scheduling signals
wire CAN_FIRE_RL_pendQ_canonicalize,
CAN_FIRE_RL_pendQ_clearReq_canon,
CAN_FIRE_RL_pendQ_deqReq_canon,
CAN_FIRE_RL_pendQ_enqReq_canon,
CAN_FIRE_RL_reqQ_canonicalize,
CAN_FIRE_RL_reqQ_clearReq_canon,
CAN_FIRE_RL_reqQ_deqReq_canon,
CAN_FIRE_RL_reqQ_enqReq_canon,
CAN_FIRE_RL_respQ_canonicalize,
CAN_FIRE_RL_respQ_clearReq_canon,
CAN_FIRE_RL_respQ_deqReq_canon,
CAN_FIRE_RL_respQ_enqReq_canon,
CAN_FIRE_bootRomReq,
CAN_FIRE_bootRomResp,
CAN_FIRE_toCore_instReq_deq,
CAN_FIRE_toCore_instResp_enq,
CAN_FIRE_toCore_setHtifAddrs,
WILL_FIRE_RL_pendQ_canonicalize,
WILL_FIRE_RL_pendQ_clearReq_canon,
WILL_FIRE_RL_pendQ_deqReq_canon,
WILL_FIRE_RL_pendQ_enqReq_canon,
WILL_FIRE_RL_reqQ_canonicalize,
WILL_FIRE_RL_reqQ_clearReq_canon,
WILL_FIRE_RL_reqQ_deqReq_canon,
WILL_FIRE_RL_reqQ_enqReq_canon,
WILL_FIRE_RL_respQ_canonicalize,
WILL_FIRE_RL_respQ_clearReq_canon,
WILL_FIRE_RL_respQ_deqReq_canon,
WILL_FIRE_RL_respQ_enqReq_canon,
WILL_FIRE_bootRomReq,
WILL_FIRE_bootRomResp,
WILL_FIRE_toCore_instReq_deq,
WILL_FIRE_toCore_instResp_enq,
WILL_FIRE_toCore_setHtifAddrs;
// remaining internal signals
wire IF_reqQ_enqReq_lat_1_whas_THEN_reqQ_enqReq_lat_ETC___d13,
IF_respQ_enqReq_lat_1_whas__0_THEN_respQ_enqRe_ETC___d79;
// value method getFetchTarget
assign getFetchTarget =
soc_map$m_is_IO_addr ?
2'd1 :
((getFetchTarget_phyPc[63:3] >= 61'd402653184 &&
getFetchTarget_phyPc[63:3] < 61'd536870912 &&
getFetchTarget_phyPc[63:3] != toHostAddr &&
getFetchTarget_phyPc[63:3] != fromHostAddr) ?
2'd0 :
2'd2) ;
assign RDY_getFetchTarget = 1'd1 ;
// action method bootRomReq
assign RDY_bootRomReq = !reqQ_full && !pendQ_full ;
assign CAN_FIRE_bootRomReq = !reqQ_full && !pendQ_full ;
assign WILL_FIRE_bootRomReq = EN_bootRomReq ;
// actionvalue method bootRomResp
assign bootRomResp = respQ_data_0 ;
assign RDY_bootRomResp = !respQ_empty && !pendQ_empty ;
assign CAN_FIRE_bootRomResp = !respQ_empty && !pendQ_empty ;
assign WILL_FIRE_bootRomResp = EN_bootRomResp ;
// value method toCore_instReq_notEmpty
assign toCore_instReq_notEmpty = !reqQ_empty ;
assign RDY_toCore_instReq_notEmpty = 1'd1 ;
// action method toCore_instReq_deq
assign RDY_toCore_instReq_deq = !reqQ_empty ;
assign CAN_FIRE_toCore_instReq_deq = !reqQ_empty ;
assign WILL_FIRE_toCore_instReq_deq = EN_toCore_instReq_deq ;
// value method toCore_instReq_first_fst
assign toCore_instReq_first_fst = reqQ_data_0[64:1] ;
assign RDY_toCore_instReq_first_fst = !reqQ_empty ;
// value method toCore_instReq_first_snd
assign toCore_instReq_first_snd = reqQ_data_0[0] ;
assign RDY_toCore_instReq_first_snd = !reqQ_empty ;
// value method toCore_instResp_notFull
assign toCore_instResp_notFull = !respQ_full ;
assign RDY_toCore_instResp_notFull = 1'd1 ;
// action method toCore_instResp_enq
assign RDY_toCore_instResp_enq = !respQ_full ;
assign CAN_FIRE_toCore_instResp_enq = !respQ_full ;
assign WILL_FIRE_toCore_instResp_enq = EN_toCore_instResp_enq ;
// action method toCore_setHtifAddrs
assign RDY_toCore_setHtifAddrs = 1'd1 ;
assign CAN_FIRE_toCore_setHtifAddrs = 1'd1 ;
assign WILL_FIRE_toCore_setHtifAddrs = EN_toCore_setHtifAddrs ;
// submodule soc_map
mkSoC_Map soc_map(.CLK(CLK),
.RST_N(RST_N),
.m_is_IO_addr_addr(soc_map$m_is_IO_addr_addr),
.m_is_IO_addr_imem_not_dmem(soc_map$m_is_IO_addr_imem_not_dmem),
.m_is_mem_addr_addr(soc_map$m_is_mem_addr_addr),
.m_is_near_mem_IO_addr_addr(soc_map$m_is_near_mem_IO_addr_addr),
.m_plic_addr_range(),
.m_near_mem_io_addr_range(),
.m_flash_mem_addr_range(),
.m_ethernet_0_addr_range(),
.m_dma_0_addr_range(),
.m_uart16550_0_addr_range(),
.m_gpio_0_addr_range(),
.m_boot_rom_addr_range(),
.m_ddr4_0_uncached_addr_range(),
.m_ddr4_0_cached_addr_range(),
.m_mem0_controller_addr_range(),
.m_is_mem_addr(),
.m_is_IO_addr(soc_map$m_is_IO_addr),
.m_is_near_mem_IO_addr(),
.m_pc_reset_value(),
.m_mtvec_reset_value(),
.m_nmivec_reset_value());
// rule RL_reqQ_canonicalize
assign CAN_FIRE_RL_reqQ_canonicalize = 1'd1 ;
assign WILL_FIRE_RL_reqQ_canonicalize = 1'd1 ;
// rule RL_reqQ_enqReq_canon
assign CAN_FIRE_RL_reqQ_enqReq_canon = 1'd1 ;
assign WILL_FIRE_RL_reqQ_enqReq_canon = 1'd1 ;
// rule RL_reqQ_deqReq_canon
assign CAN_FIRE_RL_reqQ_deqReq_canon = 1'd1 ;
assign WILL_FIRE_RL_reqQ_deqReq_canon = 1'd1 ;
// rule RL_reqQ_clearReq_canon
assign CAN_FIRE_RL_reqQ_clearReq_canon = 1'd1 ;
assign WILL_FIRE_RL_reqQ_clearReq_canon = 1'd1 ;
// rule RL_respQ_canonicalize
assign CAN_FIRE_RL_respQ_canonicalize = 1'd1 ;
assign WILL_FIRE_RL_respQ_canonicalize = 1'd1 ;
// rule RL_respQ_enqReq_canon
assign CAN_FIRE_RL_respQ_enqReq_canon = 1'd1 ;
assign WILL_FIRE_RL_respQ_enqReq_canon = 1'd1 ;
// rule RL_respQ_deqReq_canon
assign CAN_FIRE_RL_respQ_deqReq_canon = 1'd1 ;
assign WILL_FIRE_RL_respQ_deqReq_canon = 1'd1 ;
// rule RL_respQ_clearReq_canon
assign CAN_FIRE_RL_respQ_clearReq_canon = 1'd1 ;
assign WILL_FIRE_RL_respQ_clearReq_canon = 1'd1 ;
// rule RL_pendQ_canonicalize
assign CAN_FIRE_RL_pendQ_canonicalize = 1'd1 ;
assign WILL_FIRE_RL_pendQ_canonicalize = 1'd1 ;
// rule RL_pendQ_enqReq_canon
assign CAN_FIRE_RL_pendQ_enqReq_canon = 1'd1 ;
assign WILL_FIRE_RL_pendQ_enqReq_canon = 1'd1 ;
// rule RL_pendQ_deqReq_canon
assign CAN_FIRE_RL_pendQ_deqReq_canon = 1'd1 ;
assign WILL_FIRE_RL_pendQ_deqReq_canon = 1'd1 ;
// rule RL_pendQ_clearReq_canon
assign CAN_FIRE_RL_pendQ_clearReq_canon = 1'd1 ;
assign WILL_FIRE_RL_pendQ_clearReq_canon = 1'd1 ;
// inlined wires
assign reqQ_enqReq_lat_0$wget =
{ 1'd1, bootRomReq_phyPc, bootRomReq_maxWay } ;
assign reqQ_enqReq_lat_2$wget =
{ 1'd0,
65'bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /* unspecified value */ } ;
assign respQ_enqReq_lat_0$wget = { 1'd1, toCore_instResp_enq_x } ;
assign respQ_enqReq_lat_2$wget =
{ 1'd0,
66'bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /* unspecified value */ } ;
// register fromHostAddr
assign fromHostAddr$D_IN = toCore_setHtifAddrs_fromHost[63:3] ;
assign fromHostAddr$EN = EN_toCore_setHtifAddrs ;
// register pendQ_clearReq_rl
assign pendQ_clearReq_rl$D_IN = 1'd0 ;
assign pendQ_clearReq_rl$EN = 1'd1 ;
// register pendQ_deqReq_rl
assign pendQ_deqReq_rl$D_IN = 1'd0 ;
assign pendQ_deqReq_rl$EN = 1'd1 ;
// register pendQ_empty
assign pendQ_empty$D_IN =
pendQ_clearReq_rl ||
!EN_bootRomReq && !pendQ_enqReq_rl &&
(EN_bootRomResp || pendQ_deqReq_rl || pendQ_empty) ;
assign pendQ_empty$EN = 1'd1 ;
// register pendQ_enqReq_rl
assign pendQ_enqReq_rl$D_IN = 1'd0 ;
assign pendQ_enqReq_rl$EN = 1'd1 ;
// register pendQ_full
assign pendQ_full$D_IN =
!pendQ_clearReq_rl &&
(EN_bootRomReq || pendQ_enqReq_rl ||
!EN_bootRomResp && !pendQ_deqReq_rl && pendQ_full) ;
assign pendQ_full$EN = 1'd1 ;
// register reqQ_clearReq_rl
assign reqQ_clearReq_rl$D_IN = 1'd0 ;
assign reqQ_clearReq_rl$EN = 1'd1 ;
// register reqQ_data_0
assign reqQ_data_0$D_IN =
EN_bootRomReq ?
reqQ_enqReq_lat_0$wget[64:0] :
reqQ_enqReq_rl[64:0] ;
assign reqQ_data_0$EN =
!reqQ_clearReq_rl &&
IF_reqQ_enqReq_lat_1_whas_THEN_reqQ_enqReq_lat_ETC___d13 ;
// register reqQ_deqReq_rl
assign reqQ_deqReq_rl$D_IN = 1'd0 ;
assign reqQ_deqReq_rl$EN = 1'd1 ;
// register reqQ_empty
assign reqQ_empty$D_IN =
reqQ_clearReq_rl ||
(EN_bootRomReq ?
!reqQ_enqReq_lat_0$wget[65] :
!reqQ_enqReq_rl[65]) &&
(EN_toCore_instReq_deq || reqQ_deqReq_rl || reqQ_empty) ;
assign reqQ_empty$EN = 1'd1 ;
// register reqQ_enqReq_rl
assign reqQ_enqReq_rl$D_IN = reqQ_enqReq_lat_2$wget ;
assign reqQ_enqReq_rl$EN = 1'd1 ;
// register reqQ_full
assign reqQ_full$D_IN =
!reqQ_clearReq_rl &&
(IF_reqQ_enqReq_lat_1_whas_THEN_reqQ_enqReq_lat_ETC___d13 ||
!EN_toCore_instReq_deq && !reqQ_deqReq_rl && reqQ_full) ;
assign reqQ_full$EN = 1'd1 ;
// register respQ_clearReq_rl
assign respQ_clearReq_rl$D_IN = 1'd0 ;
assign respQ_clearReq_rl$EN = 1'd1 ;
// register respQ_data_0
assign respQ_data_0$D_IN =
{ EN_toCore_instResp_enq ?
respQ_enqReq_lat_0$wget[65] :
respQ_enqReq_rl[65],
EN_toCore_instResp_enq ?
respQ_enqReq_lat_0$wget[64:33] :
respQ_enqReq_rl[64:33],
EN_toCore_instResp_enq ?
respQ_enqReq_lat_0$wget[32] :
respQ_enqReq_rl[32],
EN_toCore_instResp_enq ?
respQ_enqReq_lat_0$wget[31:0] :
respQ_enqReq_rl[31:0] } ;
assign respQ_data_0$EN =
!respQ_clearReq_rl &&
IF_respQ_enqReq_lat_1_whas__0_THEN_respQ_enqRe_ETC___d79 ;
// register respQ_deqReq_rl
assign respQ_deqReq_rl$D_IN = 1'd0 ;
assign respQ_deqReq_rl$EN = 1'd1 ;
// register respQ_empty
assign respQ_empty$D_IN =
respQ_clearReq_rl ||
(EN_toCore_instResp_enq ?
!respQ_enqReq_lat_0$wget[66] :
!respQ_enqReq_rl[66]) &&
(EN_bootRomResp || respQ_deqReq_rl || respQ_empty) ;
assign respQ_empty$EN = 1'd1 ;
// register respQ_enqReq_rl
assign respQ_enqReq_rl$D_IN = respQ_enqReq_lat_2$wget ;
assign respQ_enqReq_rl$EN = 1'd1 ;
// register respQ_full
assign respQ_full$D_IN =
!respQ_clearReq_rl &&
(IF_respQ_enqReq_lat_1_whas__0_THEN_respQ_enqRe_ETC___d79 ||
!EN_bootRomResp && !respQ_deqReq_rl && respQ_full) ;
assign respQ_full$EN = 1'd1 ;
// register toHostAddr
assign toHostAddr$D_IN = toCore_setHtifAddrs_toHost[63:3] ;
assign toHostAddr$EN = EN_toCore_setHtifAddrs ;
// submodule soc_map
assign soc_map$m_is_IO_addr_addr = getFetchTarget_phyPc ;
assign soc_map$m_is_IO_addr_imem_not_dmem = 1'd1 ;
assign soc_map$m_is_mem_addr_addr = 64'h0 ;
assign soc_map$m_is_near_mem_IO_addr_addr = 64'h0 ;
// remaining internal signals
assign IF_reqQ_enqReq_lat_1_whas_THEN_reqQ_enqReq_lat_ETC___d13 =
EN_bootRomReq ? reqQ_enqReq_lat_0$wget[65] : reqQ_enqReq_rl[65] ;
assign IF_respQ_enqReq_lat_1_whas__0_THEN_respQ_enqRe_ETC___d79 =
EN_toCore_instResp_enq ?
respQ_enqReq_lat_0$wget[66] :
respQ_enqReq_rl[66] ;
// handling of inlined registers
always@(posedge CLK)
begin
if (RST_N == `BSV_RESET_VALUE)
begin
fromHostAddr <= `BSV_ASSIGNMENT_DELAY 61'd0;
pendQ_clearReq_rl <= `BSV_ASSIGNMENT_DELAY 1'd0;
pendQ_deqReq_rl <= `BSV_ASSIGNMENT_DELAY 1'd0;
pendQ_empty <= `BSV_ASSIGNMENT_DELAY 1'd1;
pendQ_enqReq_rl <= `BSV_ASSIGNMENT_DELAY 1'd0;
pendQ_full <= `BSV_ASSIGNMENT_DELAY 1'd0;
reqQ_clearReq_rl <= `BSV_ASSIGNMENT_DELAY 1'd0;
reqQ_data_0 <= `BSV_ASSIGNMENT_DELAY 65'd0;
reqQ_deqReq_rl <= `BSV_ASSIGNMENT_DELAY 1'd0;
reqQ_empty <= `BSV_ASSIGNMENT_DELAY 1'd1;
reqQ_enqReq_rl <= `BSV_ASSIGNMENT_DELAY
{ 1'd0,
65'bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /* unspecified value */ };
reqQ_full <= `BSV_ASSIGNMENT_DELAY 1'd0;
respQ_clearReq_rl <= `BSV_ASSIGNMENT_DELAY 1'd0;
respQ_data_0 <= `BSV_ASSIGNMENT_DELAY
{ 1'd0,
32'bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /* unspecified value */ ,
1'd0,
32'bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /* unspecified value */ };
respQ_deqReq_rl <= `BSV_ASSIGNMENT_DELAY 1'd0;
respQ_empty <= `BSV_ASSIGNMENT_DELAY 1'd1;
respQ_enqReq_rl <= `BSV_ASSIGNMENT_DELAY
{ 1'd0,
66'bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /* unspecified value */ };
respQ_full <= `BSV_ASSIGNMENT_DELAY 1'd0;
toHostAddr <= `BSV_ASSIGNMENT_DELAY 61'd0;
end
else
begin
if (fromHostAddr$EN)
fromHostAddr <= `BSV_ASSIGNMENT_DELAY fromHostAddr$D_IN;
if (pendQ_clearReq_rl$EN)
pendQ_clearReq_rl <= `BSV_ASSIGNMENT_DELAY pendQ_clearReq_rl$D_IN;
if (pendQ_deqReq_rl$EN)
pendQ_deqReq_rl <= `BSV_ASSIGNMENT_DELAY pendQ_deqReq_rl$D_IN;
if (pendQ_empty$EN)
pendQ_empty <= `BSV_ASSIGNMENT_DELAY pendQ_empty$D_IN;
if (pendQ_enqReq_rl$EN)
pendQ_enqReq_rl <= `BSV_ASSIGNMENT_DELAY pendQ_enqReq_rl$D_IN;
if (pendQ_full$EN)
pendQ_full <= `BSV_ASSIGNMENT_DELAY pendQ_full$D_IN;
if (reqQ_clearReq_rl$EN)
reqQ_clearReq_rl <= `BSV_ASSIGNMENT_DELAY reqQ_clearReq_rl$D_IN;
if (reqQ_data_0$EN)
reqQ_data_0 <= `BSV_ASSIGNMENT_DELAY reqQ_data_0$D_IN;
if (reqQ_deqReq_rl$EN)
reqQ_deqReq_rl <= `BSV_ASSIGNMENT_DELAY reqQ_deqReq_rl$D_IN;
if (reqQ_empty$EN)
reqQ_empty <= `BSV_ASSIGNMENT_DELAY reqQ_empty$D_IN;
if (reqQ_enqReq_rl$EN)
reqQ_enqReq_rl <= `BSV_ASSIGNMENT_DELAY reqQ_enqReq_rl$D_IN;
if (reqQ_full$EN) reqQ_full <= `BSV_ASSIGNMENT_DELAY reqQ_full$D_IN;
if (respQ_clearReq_rl$EN)
respQ_clearReq_rl <= `BSV_ASSIGNMENT_DELAY respQ_clearReq_rl$D_IN;
if (respQ_data_0$EN)
respQ_data_0 <= `BSV_ASSIGNMENT_DELAY respQ_data_0$D_IN;
if (respQ_deqReq_rl$EN)
respQ_deqReq_rl <= `BSV_ASSIGNMENT_DELAY respQ_deqReq_rl$D_IN;
if (respQ_empty$EN)
respQ_empty <= `BSV_ASSIGNMENT_DELAY respQ_empty$D_IN;
if (respQ_enqReq_rl$EN)
respQ_enqReq_rl <= `BSV_ASSIGNMENT_DELAY respQ_enqReq_rl$D_IN;
if (respQ_full$EN)
respQ_full <= `BSV_ASSIGNMENT_DELAY respQ_full$D_IN;
if (toHostAddr$EN)
toHostAddr <= `BSV_ASSIGNMENT_DELAY toHostAddr$D_IN;
end
end
// synopsys translate_off
`ifdef BSV_NO_INITIAL_BLOCKS
`else // not BSV_NO_INITIAL_BLOCKS
initial
begin
fromHostAddr = 61'h0AAAAAAAAAAAAAAA;
pendQ_clearReq_rl = 1'h0;
pendQ_deqReq_rl = 1'h0;
pendQ_empty = 1'h0;
pendQ_enqReq_rl = 1'h0;
pendQ_full = 1'h0;
reqQ_clearReq_rl = 1'h0;
reqQ_data_0 = 65'h0AAAAAAAAAAAAAAAA;
reqQ_deqReq_rl = 1'h0;
reqQ_empty = 1'h0;
reqQ_enqReq_rl = 66'h2AAAAAAAAAAAAAAAA;
reqQ_full = 1'h0;
respQ_clearReq_rl = 1'h0;
respQ_data_0 = 66'h2AAAAAAAAAAAAAAAA;
respQ_deqReq_rl = 1'h0;
respQ_empty = 1'h0;
respQ_enqReq_rl = 67'h2AAAAAAAAAAAAAAAA;
respQ_full = 1'h0;
toHostAddr = 61'h0AAAAAAAAAAAAAAA;
end
`endif // BSV_NO_INITIAL_BLOCKS
// synopsys translate_on
endmodule // mkMMIOInst