Files
fpga6502/fpga/ip/gSDHC/gSDHC.v
2026-04-14 21:34:37 -07:00

12572 lines
694 KiB
Verilog

// =============================================================================
// Generated by efx_ipmgr
// Version: 2025.2.272
// IP Version: 6.0
// =============================================================================
////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2013-2025 Efinix Inc. All rights reserved.
//
// This document contains proprietary information which is
// protected by copyright. All rights are reserved. This notice
// refers to original work by Efinix, Inc. which may be derivitive
// of other work distributed under license of the authors. In the
// case of derivative work, nothing in this notice overrides the
// original author's license agreement. Where applicable, the
// original license agreement is included in it's original
// unmodified form immediately below this header.
//
// WARRANTY DISCLAIMER.
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
//
// LIMITATION OF LIABILITY.
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
// APPLY TO LICENSEE.
//
////////////////////////////////////////////////////////////////////////////////
`define IP_UUID _5b3f2212c953407c83e1cf8c9cc77ea9
`define IP_NAME_CONCAT(a,b) a``b
`define IP_MODULE_NAME(name) `IP_NAME_CONCAT(name,`IP_UUID)
module gSDHC
(
input sd_rst,
input sd_base_clk,
output sd_int,
input sd_cd_n,
input sd_wp,
input [9:0] s_axi_awaddr,
input s_axi_aclk,
output s_axi_awready,
input s_axi_awvalid,
input [31:0] s_axi_wdata,
output s_axi_wready,
input s_axi_wvalid,
output [1:0] s_axi_bresp,
output s_axi_bvalid,
input [9:0] s_axi_araddr,
input s_axi_bready,
output s_axi_arready,
input s_axi_arvalid,
output [1:0] s_axi_rresp,
output [31:0] s_axi_rdata,
output s_axi_rvalid,
input s_axi_rready,
output [31:0] m_axi_awaddr,
output m_axi_awvalid,
input m_axi_clk,
output [7:0] m_axi_awlen,
input m_axi_awready,
output [2:0] m_axi_awsize,
output [3:0] m_axi_awcache,
output [1:0] m_axi_awlock,
output [2:0] m_axi_awprot,
output m_axi_wlast,
output m_axi_wvalid,
input m_axi_wready,
input [1:0] m_axi_bresp,
input m_axi_bvalid,
output m_axi_bready,
output m_axi_arvalid,
output [31:0] m_axi_araddr,
output [7:0] m_axi_arlen,
output [2:0] m_axi_arsize,
output [1:0] m_axi_arburst,
output [2:0] m_axi_arprot,
output [1:0] m_axi_arlock,
output [3:0] m_axi_arcache,
input m_axi_arready,
input m_axi_rvalid,
input m_axi_rlast,
input [1:0] m_axi_rresp,
output m_axi_rready,
output sd_clk_hi,
output sd_clk_lo,
input sd_cmd_i,
output sd_cmd_o,
output sd_cmd_oe,
input [3:0] sd_dat_i,
output [3:0] sd_dat_o,
output sd_dat_oe,
output [1:0] m_axi_awburst,
output [127:0] m_axi_wdata,
output [15:0] m_axi_wstrb,
input [127:0] m_axi_rdata,
input [3:0] s_axi_wstrb
);
`IP_MODULE_NAME(sdhc)
#(
.DATA_BUFFER_DEPTH (512),
.ADMA_DATA_WIDTH (128)
)
u_sdhc
(
.sd_rst ( sd_rst ),
.sd_base_clk ( sd_base_clk ),
.sd_int ( sd_int ),
.sd_cd_n ( sd_cd_n ),
.sd_wp ( sd_wp ),
.s_axi_awaddr ( s_axi_awaddr ),
.s_axi_aclk ( s_axi_aclk ),
.s_axi_awready ( s_axi_awready ),
.s_axi_awvalid ( s_axi_awvalid ),
.s_axi_wdata ( s_axi_wdata ),
.s_axi_wready ( s_axi_wready ),
.s_axi_wvalid ( s_axi_wvalid ),
.s_axi_bresp ( s_axi_bresp ),
.s_axi_bvalid ( s_axi_bvalid ),
.s_axi_araddr ( s_axi_araddr ),
.s_axi_bready ( s_axi_bready ),
.s_axi_arready ( s_axi_arready ),
.s_axi_arvalid ( s_axi_arvalid ),
.s_axi_rresp ( s_axi_rresp ),
.s_axi_rdata ( s_axi_rdata ),
.s_axi_rvalid ( s_axi_rvalid ),
.s_axi_rready ( s_axi_rready ),
.m_axi_awaddr ( m_axi_awaddr ),
.m_axi_awvalid ( m_axi_awvalid ),
.m_axi_clk ( m_axi_clk ),
.m_axi_awlen ( m_axi_awlen ),
.m_axi_awready ( m_axi_awready ),
.m_axi_awsize ( m_axi_awsize ),
.m_axi_awcache ( m_axi_awcache ),
.m_axi_awlock ( m_axi_awlock ),
.m_axi_awprot ( m_axi_awprot ),
.m_axi_wlast ( m_axi_wlast ),
.m_axi_wvalid ( m_axi_wvalid ),
.m_axi_wready ( m_axi_wready ),
.m_axi_bresp ( m_axi_bresp ),
.m_axi_bvalid ( m_axi_bvalid ),
.m_axi_bready ( m_axi_bready ),
.m_axi_arvalid ( m_axi_arvalid ),
.m_axi_araddr ( m_axi_araddr ),
.m_axi_arlen ( m_axi_arlen ),
.m_axi_arsize ( m_axi_arsize ),
.m_axi_arburst ( m_axi_arburst ),
.m_axi_arprot ( m_axi_arprot ),
.m_axi_arlock ( m_axi_arlock ),
.m_axi_arcache ( m_axi_arcache ),
.m_axi_arready ( m_axi_arready ),
.m_axi_rvalid ( m_axi_rvalid ),
.m_axi_rlast ( m_axi_rlast ),
.m_axi_rresp ( m_axi_rresp ),
.m_axi_rready ( m_axi_rready ),
.sd_clk_hi ( sd_clk_hi ),
.sd_clk_lo ( sd_clk_lo ),
.sd_cmd_i ( sd_cmd_i ),
.sd_cmd_o ( sd_cmd_o ),
.sd_cmd_oe ( sd_cmd_oe ),
.sd_dat_i ( sd_dat_i ),
.sd_dat_o ( sd_dat_o ),
.sd_dat_oe ( sd_dat_oe ),
.m_axi_awburst ( m_axi_awburst ),
.m_axi_wdata ( m_axi_wdata ),
.m_axi_wstrb ( m_axi_wstrb ),
.m_axi_rdata ( m_axi_rdata ),
.s_axi_wstrb ( s_axi_wstrb )
);
endmodule
// Generator : SpinalHDL dev git head : 9cdee03b276638ef8e7a948b606bb7acc6e4c8d0
// Component : Asic32To128UpsizerAxi4Upsizer_5b3f2212c953407c83e1cf8c9cc77ea9
// Git hash : cd16421fb7a4d44431a2445f9a92b82070ab9b8a
`timescale 1ns/1ps
module Asic32To128UpsizerAxi4Upsizer_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_input_aw_valid,
output io_input_aw_ready,
input [31:0] io_input_aw_payload_addr,
input [7:0] io_input_aw_payload_id,
input [3:0] io_input_aw_payload_region,
input [7:0] io_input_aw_payload_len,
input [2:0] io_input_aw_payload_size,
input [1:0] io_input_aw_payload_burst,
input [0:0] io_input_aw_payload_lock,
input [3:0] io_input_aw_payload_cache,
input [3:0] io_input_aw_payload_qos,
input [2:0] io_input_aw_payload_prot,
input io_input_w_valid,
output io_input_w_ready,
input [31:0] io_input_w_payload_data,
input [3:0] io_input_w_payload_strb,
input io_input_w_payload_last,
output io_input_b_valid,
input io_input_b_ready,
output [7:0] io_input_b_payload_id,
output [1:0] io_input_b_payload_resp,
input io_input_ar_valid,
output io_input_ar_ready,
input [31:0] io_input_ar_payload_addr,
input [7:0] io_input_ar_payload_id,
input [3:0] io_input_ar_payload_region,
input [7:0] io_input_ar_payload_len,
input [2:0] io_input_ar_payload_size,
input [1:0] io_input_ar_payload_burst,
input [0:0] io_input_ar_payload_lock,
input [3:0] io_input_ar_payload_cache,
input [3:0] io_input_ar_payload_qos,
input [2:0] io_input_ar_payload_prot,
output io_input_r_valid,
input io_input_r_ready,
output [31:0] io_input_r_payload_data,
output [7:0] io_input_r_payload_id,
output [1:0] io_input_r_payload_resp,
output io_input_r_payload_last,
output io_output_aw_valid,
input io_output_aw_ready,
output [31:0] io_output_aw_payload_addr,
output [7:0] io_output_aw_payload_id,
output [3:0] io_output_aw_payload_region,
output [7:0] io_output_aw_payload_len,
output [2:0] io_output_aw_payload_size,
output [1:0] io_output_aw_payload_burst,
output [0:0] io_output_aw_payload_lock,
output [3:0] io_output_aw_payload_cache,
output [3:0] io_output_aw_payload_qos,
output [2:0] io_output_aw_payload_prot,
output io_output_w_valid,
input io_output_w_ready,
output [127:0] io_output_w_payload_data,
output [15:0] io_output_w_payload_strb,
output io_output_w_payload_last,
input io_output_b_valid,
output io_output_b_ready,
input [7:0] io_output_b_payload_id,
input [1:0] io_output_b_payload_resp,
output io_output_ar_valid,
input io_output_ar_ready,
output [31:0] io_output_ar_payload_addr,
output [7:0] io_output_ar_payload_id,
output [3:0] io_output_ar_payload_region,
output [7:0] io_output_ar_payload_len,
output [2:0] io_output_ar_payload_size,
output [1:0] io_output_ar_payload_burst,
output [0:0] io_output_ar_payload_lock,
output [3:0] io_output_ar_payload_cache,
output [3:0] io_output_ar_payload_qos,
output [2:0] io_output_ar_payload_prot,
input io_output_r_valid,
output io_output_r_ready,
input [127:0] io_output_r_payload_data,
input [7:0] io_output_r_payload_id,
input [1:0] io_output_r_payload_resp,
input io_output_r_payload_last,
input clk,
input reset
);
wire readOnly_io_input_ar_ready;
wire readOnly_io_input_r_valid;
wire [31:0] readOnly_io_input_r_payload_data;
wire [7:0] readOnly_io_input_r_payload_id;
wire [1:0] readOnly_io_input_r_payload_resp;
wire readOnly_io_input_r_payload_last;
wire readOnly_io_output_ar_valid;
wire [31:0] readOnly_io_output_ar_payload_addr;
wire [7:0] readOnly_io_output_ar_payload_id;
wire [3:0] readOnly_io_output_ar_payload_region;
wire [7:0] readOnly_io_output_ar_payload_len;
wire [2:0] readOnly_io_output_ar_payload_size;
wire [1:0] readOnly_io_output_ar_payload_burst;
wire [0:0] readOnly_io_output_ar_payload_lock;
wire [3:0] readOnly_io_output_ar_payload_cache;
wire [3:0] readOnly_io_output_ar_payload_qos;
wire [2:0] readOnly_io_output_ar_payload_prot;
wire readOnly_io_output_r_ready;
wire writeOnly_io_input_aw_ready;
wire writeOnly_io_input_w_ready;
wire writeOnly_io_input_b_valid;
wire [7:0] writeOnly_io_input_b_payload_id;
wire [1:0] writeOnly_io_input_b_payload_resp;
wire writeOnly_io_output_aw_valid;
wire [31:0] writeOnly_io_output_aw_payload_addr;
wire [7:0] writeOnly_io_output_aw_payload_id;
wire [3:0] writeOnly_io_output_aw_payload_region;
wire [7:0] writeOnly_io_output_aw_payload_len;
wire [2:0] writeOnly_io_output_aw_payload_size;
wire [1:0] writeOnly_io_output_aw_payload_burst;
wire [0:0] writeOnly_io_output_aw_payload_lock;
wire [3:0] writeOnly_io_output_aw_payload_cache;
wire [3:0] writeOnly_io_output_aw_payload_qos;
wire [2:0] writeOnly_io_output_aw_payload_prot;
wire writeOnly_io_output_w_valid;
wire [127:0] writeOnly_io_output_w_payload_data;
wire [15:0] writeOnly_io_output_w_payload_strb;
wire writeOnly_io_output_w_payload_last;
wire writeOnly_io_output_b_ready;
Asic32To128UpsizerAxi4ReadOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 readOnly (
.io_input_ar_valid (io_input_ar_valid ), //i
.io_input_ar_ready (readOnly_io_input_ar_ready ), //o
.io_input_ar_payload_addr (io_input_ar_payload_addr[31:0] ), //i
.io_input_ar_payload_id (io_input_ar_payload_id[7:0] ), //i
.io_input_ar_payload_region (io_input_ar_payload_region[3:0] ), //i
.io_input_ar_payload_len (io_input_ar_payload_len[7:0] ), //i
.io_input_ar_payload_size (io_input_ar_payload_size[2:0] ), //i
.io_input_ar_payload_burst (io_input_ar_payload_burst[1:0] ), //i
.io_input_ar_payload_lock (io_input_ar_payload_lock ), //i
.io_input_ar_payload_cache (io_input_ar_payload_cache[3:0] ), //i
.io_input_ar_payload_qos (io_input_ar_payload_qos[3:0] ), //i
.io_input_ar_payload_prot (io_input_ar_payload_prot[2:0] ), //i
.io_input_r_valid (readOnly_io_input_r_valid ), //o
.io_input_r_ready (io_input_r_ready ), //i
.io_input_r_payload_data (readOnly_io_input_r_payload_data[31:0] ), //o
.io_input_r_payload_id (readOnly_io_input_r_payload_id[7:0] ), //o
.io_input_r_payload_resp (readOnly_io_input_r_payload_resp[1:0] ), //o
.io_input_r_payload_last (readOnly_io_input_r_payload_last ), //o
.io_output_ar_valid (readOnly_io_output_ar_valid ), //o
.io_output_ar_ready (io_output_ar_ready ), //i
.io_output_ar_payload_addr (readOnly_io_output_ar_payload_addr[31:0] ), //o
.io_output_ar_payload_id (readOnly_io_output_ar_payload_id[7:0] ), //o
.io_output_ar_payload_region (readOnly_io_output_ar_payload_region[3:0]), //o
.io_output_ar_payload_len (readOnly_io_output_ar_payload_len[7:0] ), //o
.io_output_ar_payload_size (readOnly_io_output_ar_payload_size[2:0] ), //o
.io_output_ar_payload_burst (readOnly_io_output_ar_payload_burst[1:0] ), //o
.io_output_ar_payload_lock (readOnly_io_output_ar_payload_lock ), //o
.io_output_ar_payload_cache (readOnly_io_output_ar_payload_cache[3:0] ), //o
.io_output_ar_payload_qos (readOnly_io_output_ar_payload_qos[3:0] ), //o
.io_output_ar_payload_prot (readOnly_io_output_ar_payload_prot[2:0] ), //o
.io_output_r_valid (io_output_r_valid ), //i
.io_output_r_ready (readOnly_io_output_r_ready ), //o
.io_output_r_payload_data (io_output_r_payload_data[127:0] ), //i
.io_output_r_payload_id (io_output_r_payload_id[7:0] ), //i
.io_output_r_payload_resp (io_output_r_payload_resp[1:0] ), //i
.io_output_r_payload_last (io_output_r_payload_last ), //i
.clk (clk ), //i
.reset (reset ) //i
);
Asic32To128UpsizerAxi4WriteOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 writeOnly (
.io_input_aw_valid (io_input_aw_valid ), //i
.io_input_aw_ready (writeOnly_io_input_aw_ready ), //o
.io_input_aw_payload_addr (io_input_aw_payload_addr[31:0] ), //i
.io_input_aw_payload_id (io_input_aw_payload_id[7:0] ), //i
.io_input_aw_payload_region (io_input_aw_payload_region[3:0] ), //i
.io_input_aw_payload_len (io_input_aw_payload_len[7:0] ), //i
.io_input_aw_payload_size (io_input_aw_payload_size[2:0] ), //i
.io_input_aw_payload_burst (io_input_aw_payload_burst[1:0] ), //i
.io_input_aw_payload_lock (io_input_aw_payload_lock ), //i
.io_input_aw_payload_cache (io_input_aw_payload_cache[3:0] ), //i
.io_input_aw_payload_qos (io_input_aw_payload_qos[3:0] ), //i
.io_input_aw_payload_prot (io_input_aw_payload_prot[2:0] ), //i
.io_input_w_valid (io_input_w_valid ), //i
.io_input_w_ready (writeOnly_io_input_w_ready ), //o
.io_input_w_payload_data (io_input_w_payload_data[31:0] ), //i
.io_input_w_payload_strb (io_input_w_payload_strb[3:0] ), //i
.io_input_w_payload_last (io_input_w_payload_last ), //i
.io_input_b_valid (writeOnly_io_input_b_valid ), //o
.io_input_b_ready (io_input_b_ready ), //i
.io_input_b_payload_id (writeOnly_io_input_b_payload_id[7:0] ), //o
.io_input_b_payload_resp (writeOnly_io_input_b_payload_resp[1:0] ), //o
.io_output_aw_valid (writeOnly_io_output_aw_valid ), //o
.io_output_aw_ready (io_output_aw_ready ), //i
.io_output_aw_payload_addr (writeOnly_io_output_aw_payload_addr[31:0] ), //o
.io_output_aw_payload_id (writeOnly_io_output_aw_payload_id[7:0] ), //o
.io_output_aw_payload_region (writeOnly_io_output_aw_payload_region[3:0]), //o
.io_output_aw_payload_len (writeOnly_io_output_aw_payload_len[7:0] ), //o
.io_output_aw_payload_size (writeOnly_io_output_aw_payload_size[2:0] ), //o
.io_output_aw_payload_burst (writeOnly_io_output_aw_payload_burst[1:0] ), //o
.io_output_aw_payload_lock (writeOnly_io_output_aw_payload_lock ), //o
.io_output_aw_payload_cache (writeOnly_io_output_aw_payload_cache[3:0] ), //o
.io_output_aw_payload_qos (writeOnly_io_output_aw_payload_qos[3:0] ), //o
.io_output_aw_payload_prot (writeOnly_io_output_aw_payload_prot[2:0] ), //o
.io_output_w_valid (writeOnly_io_output_w_valid ), //o
.io_output_w_ready (io_output_w_ready ), //i
.io_output_w_payload_data (writeOnly_io_output_w_payload_data[127:0] ), //o
.io_output_w_payload_strb (writeOnly_io_output_w_payload_strb[15:0] ), //o
.io_output_w_payload_last (writeOnly_io_output_w_payload_last ), //o
.io_output_b_valid (io_output_b_valid ), //i
.io_output_b_ready (writeOnly_io_output_b_ready ), //o
.io_output_b_payload_id (io_output_b_payload_id[7:0] ), //i
.io_output_b_payload_resp (io_output_b_payload_resp[1:0] ), //i
.clk (clk ), //i
.reset (reset ) //i
);
assign io_input_ar_ready = readOnly_io_input_ar_ready;
assign io_input_r_valid = readOnly_io_input_r_valid;
assign io_input_r_payload_data = readOnly_io_input_r_payload_data;
assign io_input_r_payload_id = readOnly_io_input_r_payload_id;
assign io_input_r_payload_resp = readOnly_io_input_r_payload_resp;
assign io_input_r_payload_last = readOnly_io_input_r_payload_last;
assign io_input_aw_ready = writeOnly_io_input_aw_ready;
assign io_input_w_ready = writeOnly_io_input_w_ready;
assign io_input_b_valid = writeOnly_io_input_b_valid;
assign io_input_b_payload_id = writeOnly_io_input_b_payload_id;
assign io_input_b_payload_resp = writeOnly_io_input_b_payload_resp;
assign io_output_ar_valid = readOnly_io_output_ar_valid;
assign io_output_ar_payload_addr = readOnly_io_output_ar_payload_addr;
assign io_output_ar_payload_id = readOnly_io_output_ar_payload_id;
assign io_output_ar_payload_region = readOnly_io_output_ar_payload_region;
assign io_output_ar_payload_len = readOnly_io_output_ar_payload_len;
assign io_output_ar_payload_size = readOnly_io_output_ar_payload_size;
assign io_output_ar_payload_burst = readOnly_io_output_ar_payload_burst;
assign io_output_ar_payload_lock = readOnly_io_output_ar_payload_lock;
assign io_output_ar_payload_cache = readOnly_io_output_ar_payload_cache;
assign io_output_ar_payload_qos = readOnly_io_output_ar_payload_qos;
assign io_output_ar_payload_prot = readOnly_io_output_ar_payload_prot;
assign io_output_r_ready = readOnly_io_output_r_ready;
assign io_output_aw_valid = writeOnly_io_output_aw_valid;
assign io_output_aw_payload_addr = writeOnly_io_output_aw_payload_addr;
assign io_output_aw_payload_id = writeOnly_io_output_aw_payload_id;
assign io_output_aw_payload_region = writeOnly_io_output_aw_payload_region;
assign io_output_aw_payload_len = writeOnly_io_output_aw_payload_len;
assign io_output_aw_payload_size = writeOnly_io_output_aw_payload_size;
assign io_output_aw_payload_burst = writeOnly_io_output_aw_payload_burst;
assign io_output_aw_payload_lock = writeOnly_io_output_aw_payload_lock;
assign io_output_aw_payload_cache = writeOnly_io_output_aw_payload_cache;
assign io_output_aw_payload_qos = writeOnly_io_output_aw_payload_qos;
assign io_output_aw_payload_prot = writeOnly_io_output_aw_payload_prot;
assign io_output_w_valid = writeOnly_io_output_w_valid;
assign io_output_w_payload_data = writeOnly_io_output_w_payload_data;
assign io_output_w_payload_strb = writeOnly_io_output_w_payload_strb;
assign io_output_w_payload_last = writeOnly_io_output_w_payload_last;
assign io_output_b_ready = writeOnly_io_output_b_ready;
endmodule
module Asic32To128UpsizerAxi4WriteOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_input_aw_valid,
output reg io_input_aw_ready,
input [31:0] io_input_aw_payload_addr,
input [7:0] io_input_aw_payload_id,
input [3:0] io_input_aw_payload_region,
input [7:0] io_input_aw_payload_len,
input [2:0] io_input_aw_payload_size,
input [1:0] io_input_aw_payload_burst,
input [0:0] io_input_aw_payload_lock,
input [3:0] io_input_aw_payload_cache,
input [3:0] io_input_aw_payload_qos,
input [2:0] io_input_aw_payload_prot,
input io_input_w_valid,
output io_input_w_ready,
input [31:0] io_input_w_payload_data,
input [3:0] io_input_w_payload_strb,
input io_input_w_payload_last,
output io_input_b_valid,
input io_input_b_ready,
output [7:0] io_input_b_payload_id,
output [1:0] io_input_b_payload_resp,
output io_output_aw_valid,
input io_output_aw_ready,
output [31:0] io_output_aw_payload_addr,
output [7:0] io_output_aw_payload_id,
output [3:0] io_output_aw_payload_region,
output reg [7:0] io_output_aw_payload_len,
output reg [2:0] io_output_aw_payload_size,
output [1:0] io_output_aw_payload_burst,
output [0:0] io_output_aw_payload_lock,
output [3:0] io_output_aw_payload_cache,
output [3:0] io_output_aw_payload_qos,
output [2:0] io_output_aw_payload_prot,
output io_output_w_valid,
input io_output_w_ready,
output [127:0] io_output_w_payload_data,
output [15:0] io_output_w_payload_strb,
output io_output_w_payload_last,
input io_output_b_valid,
output io_output_b_ready,
input [7:0] io_output_b_payload_id,
input [1:0] io_output_b_payload_resp,
input clk,
input reset
);
wire [14:0] _zz_cmdLogic_byteCount;
wire [10:0] _zz_cmdLogic_incrLen;
wire [10:0] _zz_cmdLogic_incrLen_1;
wire [3:0] _zz_cmdLogic_incrLen_2;
wire [4:0] _zz_dataLogic_byteCounterNext;
wire [7:0] _zz_dataLogic_byteCounterNext_1;
reg [15:0] _zz_dataLogic_byteActivity;
wire [1:0] _zz_dataLogic_byteActivity_1;
wire cmdLogic_outputFork_valid;
wire cmdLogic_outputFork_ready;
wire [31:0] cmdLogic_outputFork_payload_addr;
wire [7:0] cmdLogic_outputFork_payload_id;
wire [3:0] cmdLogic_outputFork_payload_region;
wire [7:0] cmdLogic_outputFork_payload_len;
wire [2:0] cmdLogic_outputFork_payload_size;
wire [1:0] cmdLogic_outputFork_payload_burst;
wire [0:0] cmdLogic_outputFork_payload_lock;
wire [3:0] cmdLogic_outputFork_payload_cache;
wire [3:0] cmdLogic_outputFork_payload_qos;
wire [2:0] cmdLogic_outputFork_payload_prot;
wire cmdLogic_dataFork_valid;
wire cmdLogic_dataFork_ready;
wire [31:0] cmdLogic_dataFork_payload_addr;
wire [7:0] cmdLogic_dataFork_payload_id;
wire [3:0] cmdLogic_dataFork_payload_region;
wire [7:0] cmdLogic_dataFork_payload_len;
wire [2:0] cmdLogic_dataFork_payload_size;
wire [1:0] cmdLogic_dataFork_payload_burst;
wire [0:0] cmdLogic_dataFork_payload_lock;
wire [3:0] cmdLogic_dataFork_payload_cache;
wire [3:0] cmdLogic_dataFork_payload_qos;
wire [2:0] cmdLogic_dataFork_payload_prot;
reg io_input_aw_fork2_logic_linkEnable_0;
reg io_input_aw_fork2_logic_linkEnable_1;
wire when_Stream_l993;
wire when_Stream_l993_1;
wire cmdLogic_outputFork_fire;
wire cmdLogic_dataFork_fire;
wire [9:0] cmdLogic_byteCount;
wire [6:0] cmdLogic_incrLen;
wire when_Axi4Upsizer_l21;
wire when_Axi4Upsizer_l24;
reg [3:0] dataLogic_byteCounter;
reg [2:0] dataLogic_size;
reg dataLogic_outputValid;
reg dataLogic_outputLast;
reg dataLogic_busy;
reg dataLogic_incrementByteCounter;
reg dataLogic_alwaysFire;
wire [4:0] dataLogic_byteCounterNext;
reg [127:0] dataLogic_dataBuffer;
reg [15:0] dataLogic_maskBuffer;
wire [15:0] dataLogic_byteActivity;
wire io_output_w_fire;
wire io_output_w_isStall;
wire io_input_w_fire;
wire when_Axi4Upsizer_l59;
wire when_Axi4Upsizer_l59_1;
wire when_Axi4Upsizer_l59_2;
wire when_Axi4Upsizer_l59_3;
wire when_Axi4Upsizer_l59_4;
wire when_Axi4Upsizer_l59_5;
wire when_Axi4Upsizer_l59_6;
wire when_Axi4Upsizer_l59_7;
wire when_Axi4Upsizer_l59_8;
wire when_Axi4Upsizer_l59_9;
wire when_Axi4Upsizer_l59_10;
wire when_Axi4Upsizer_l59_11;
wire when_Axi4Upsizer_l59_12;
wire when_Axi4Upsizer_l59_13;
wire when_Axi4Upsizer_l59_14;
wire when_Axi4Upsizer_l59_15;
wire cmdLogic_dataFork_fire_1;
wire when_Axi4Upsizer_l68;
wire when_Axi4Upsizer_l68_1;
wire when_Axi4Upsizer_l68_2;
wire when_Axi4Upsizer_l68_3;
assign _zz_cmdLogic_byteCount = ({7'd0,io_input_aw_payload_len} <<< io_input_aw_payload_size);
assign _zz_cmdLogic_incrLen = ({1'b0,cmdLogic_byteCount} + _zz_cmdLogic_incrLen_1);
assign _zz_cmdLogic_incrLen_2 = io_input_aw_payload_addr[3 : 0];
assign _zz_cmdLogic_incrLen_1 = {7'd0, _zz_cmdLogic_incrLen_2};
assign _zz_dataLogic_byteCounterNext_1 = ({7'd0,1'b1} <<< dataLogic_size);
assign _zz_dataLogic_byteCounterNext = _zz_dataLogic_byteCounterNext_1[4:0];
assign _zz_dataLogic_byteActivity_1 = dataLogic_size[1:0];
always @(*) begin
case(_zz_dataLogic_byteActivity_1)
2'b00 : _zz_dataLogic_byteActivity = 16'h0001;
2'b01 : _zz_dataLogic_byteActivity = 16'h0003;
2'b10 : _zz_dataLogic_byteActivity = 16'h000f;
default : _zz_dataLogic_byteActivity = 16'h00ff;
endcase
end
always @(*) begin
io_input_aw_ready = 1'b1;
if(when_Stream_l993) begin
io_input_aw_ready = 1'b0;
end
if(when_Stream_l993_1) begin
io_input_aw_ready = 1'b0;
end
end
assign when_Stream_l993 = ((! cmdLogic_outputFork_ready) && io_input_aw_fork2_logic_linkEnable_0);
assign when_Stream_l993_1 = ((! cmdLogic_dataFork_ready) && io_input_aw_fork2_logic_linkEnable_1);
assign cmdLogic_outputFork_valid = (io_input_aw_valid && io_input_aw_fork2_logic_linkEnable_0);
assign cmdLogic_outputFork_payload_addr = io_input_aw_payload_addr;
assign cmdLogic_outputFork_payload_id = io_input_aw_payload_id;
assign cmdLogic_outputFork_payload_region = io_input_aw_payload_region;
assign cmdLogic_outputFork_payload_len = io_input_aw_payload_len;
assign cmdLogic_outputFork_payload_size = io_input_aw_payload_size;
assign cmdLogic_outputFork_payload_burst = io_input_aw_payload_burst;
assign cmdLogic_outputFork_payload_lock = io_input_aw_payload_lock;
assign cmdLogic_outputFork_payload_cache = io_input_aw_payload_cache;
assign cmdLogic_outputFork_payload_qos = io_input_aw_payload_qos;
assign cmdLogic_outputFork_payload_prot = io_input_aw_payload_prot;
assign cmdLogic_outputFork_fire = (cmdLogic_outputFork_valid && cmdLogic_outputFork_ready);
assign cmdLogic_dataFork_valid = (io_input_aw_valid && io_input_aw_fork2_logic_linkEnable_1);
assign cmdLogic_dataFork_payload_addr = io_input_aw_payload_addr;
assign cmdLogic_dataFork_payload_id = io_input_aw_payload_id;
assign cmdLogic_dataFork_payload_region = io_input_aw_payload_region;
assign cmdLogic_dataFork_payload_len = io_input_aw_payload_len;
assign cmdLogic_dataFork_payload_size = io_input_aw_payload_size;
assign cmdLogic_dataFork_payload_burst = io_input_aw_payload_burst;
assign cmdLogic_dataFork_payload_lock = io_input_aw_payload_lock;
assign cmdLogic_dataFork_payload_cache = io_input_aw_payload_cache;
assign cmdLogic_dataFork_payload_qos = io_input_aw_payload_qos;
assign cmdLogic_dataFork_payload_prot = io_input_aw_payload_prot;
assign cmdLogic_dataFork_fire = (cmdLogic_dataFork_valid && cmdLogic_dataFork_ready);
assign io_output_aw_valid = cmdLogic_outputFork_valid;
assign cmdLogic_outputFork_ready = io_output_aw_ready;
assign io_output_aw_payload_addr = cmdLogic_outputFork_payload_addr;
assign io_output_aw_payload_id = cmdLogic_outputFork_payload_id;
assign io_output_aw_payload_region = cmdLogic_outputFork_payload_region;
always @(*) begin
io_output_aw_payload_len = cmdLogic_outputFork_payload_len;
if(when_Axi4Upsizer_l21) begin
io_output_aw_payload_len = {1'd0, cmdLogic_incrLen};
end
end
always @(*) begin
io_output_aw_payload_size = cmdLogic_outputFork_payload_size;
if(when_Axi4Upsizer_l21) begin
io_output_aw_payload_size = 3'b100;
if(when_Axi4Upsizer_l24) begin
io_output_aw_payload_size = io_input_aw_payload_size;
end
end
end
assign io_output_aw_payload_burst = cmdLogic_outputFork_payload_burst;
assign io_output_aw_payload_lock = cmdLogic_outputFork_payload_lock;
assign io_output_aw_payload_cache = cmdLogic_outputFork_payload_cache;
assign io_output_aw_payload_qos = cmdLogic_outputFork_payload_qos;
assign io_output_aw_payload_prot = cmdLogic_outputFork_payload_prot;
assign cmdLogic_byteCount = _zz_cmdLogic_byteCount[9:0];
assign cmdLogic_incrLen = _zz_cmdLogic_incrLen[10 : 4];
assign when_Axi4Upsizer_l21 = (io_output_aw_payload_burst == 2'b01);
assign when_Axi4Upsizer_l24 = (io_input_aw_payload_len == 8'h00);
assign dataLogic_byteCounterNext = ({1'b0,dataLogic_byteCounter} + _zz_dataLogic_byteCounterNext);
assign dataLogic_byteActivity = (_zz_dataLogic_byteActivity <<< dataLogic_byteCounter);
assign io_output_w_fire = (io_output_w_valid && io_output_w_ready);
assign io_output_w_valid = dataLogic_outputValid;
assign io_output_w_isStall = (io_output_w_valid && (! io_output_w_ready));
assign io_input_w_ready = (dataLogic_busy && (! io_output_w_isStall));
assign io_output_w_payload_data = dataLogic_dataBuffer;
assign io_output_w_payload_strb = dataLogic_maskBuffer;
assign io_output_w_payload_last = dataLogic_outputLast;
assign io_input_w_fire = (io_input_w_valid && io_input_w_ready);
assign when_Axi4Upsizer_l59 = dataLogic_byteActivity[0];
assign when_Axi4Upsizer_l59_1 = dataLogic_byteActivity[1];
assign when_Axi4Upsizer_l59_2 = dataLogic_byteActivity[2];
assign when_Axi4Upsizer_l59_3 = dataLogic_byteActivity[3];
assign when_Axi4Upsizer_l59_4 = dataLogic_byteActivity[4];
assign when_Axi4Upsizer_l59_5 = dataLogic_byteActivity[5];
assign when_Axi4Upsizer_l59_6 = dataLogic_byteActivity[6];
assign when_Axi4Upsizer_l59_7 = dataLogic_byteActivity[7];
assign when_Axi4Upsizer_l59_8 = dataLogic_byteActivity[8];
assign when_Axi4Upsizer_l59_9 = dataLogic_byteActivity[9];
assign when_Axi4Upsizer_l59_10 = dataLogic_byteActivity[10];
assign when_Axi4Upsizer_l59_11 = dataLogic_byteActivity[11];
assign when_Axi4Upsizer_l59_12 = dataLogic_byteActivity[12];
assign when_Axi4Upsizer_l59_13 = dataLogic_byteActivity[13];
assign when_Axi4Upsizer_l59_14 = dataLogic_byteActivity[14];
assign when_Axi4Upsizer_l59_15 = dataLogic_byteActivity[15];
assign cmdLogic_dataFork_fire_1 = (cmdLogic_dataFork_valid && cmdLogic_dataFork_ready);
assign when_Axi4Upsizer_l68 = (3'b000 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_1 = (3'b001 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_2 = (3'b010 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_3 = (3'b011 < cmdLogic_dataFork_payload_size);
assign cmdLogic_dataFork_ready = (! dataLogic_busy);
assign io_input_b_valid = io_output_b_valid;
assign io_output_b_ready = io_input_b_ready;
assign io_input_b_payload_id = io_output_b_payload_id;
assign io_input_b_payload_resp = io_output_b_payload_resp;
always @(posedge clk or posedge reset) begin
if(reset) begin
io_input_aw_fork2_logic_linkEnable_0 <= 1'b1;
io_input_aw_fork2_logic_linkEnable_1 <= 1'b1;
dataLogic_outputValid <= 1'b0;
dataLogic_busy <= 1'b0;
dataLogic_maskBuffer <= 16'h0000;
end else begin
if(cmdLogic_outputFork_fire) begin
io_input_aw_fork2_logic_linkEnable_0 <= 1'b0;
end
if(cmdLogic_dataFork_fire) begin
io_input_aw_fork2_logic_linkEnable_1 <= 1'b0;
end
if(io_input_aw_ready) begin
io_input_aw_fork2_logic_linkEnable_0 <= 1'b1;
io_input_aw_fork2_logic_linkEnable_1 <= 1'b1;
end
if(io_output_w_ready) begin
dataLogic_outputValid <= 1'b0;
end
if(io_output_w_fire) begin
dataLogic_maskBuffer <= 16'h0000;
end
if(io_input_w_fire) begin
dataLogic_outputValid <= ((dataLogic_byteCounterNext[4] || io_input_w_payload_last) || dataLogic_alwaysFire);
if(io_input_w_payload_last) begin
dataLogic_busy <= 1'b0;
end
if(when_Axi4Upsizer_l59) begin
dataLogic_maskBuffer[0] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_1) begin
dataLogic_maskBuffer[1] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_2) begin
dataLogic_maskBuffer[2] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_3) begin
dataLogic_maskBuffer[3] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_4) begin
dataLogic_maskBuffer[4] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_5) begin
dataLogic_maskBuffer[5] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_6) begin
dataLogic_maskBuffer[6] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_7) begin
dataLogic_maskBuffer[7] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_8) begin
dataLogic_maskBuffer[8] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_9) begin
dataLogic_maskBuffer[9] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_10) begin
dataLogic_maskBuffer[10] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_11) begin
dataLogic_maskBuffer[11] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_12) begin
dataLogic_maskBuffer[12] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_13) begin
dataLogic_maskBuffer[13] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_14) begin
dataLogic_maskBuffer[14] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_15) begin
dataLogic_maskBuffer[15] <= io_input_w_payload_strb[3];
end
end
if(cmdLogic_dataFork_fire_1) begin
dataLogic_busy <= 1'b1;
end
end
end
always @(posedge clk) begin
if(io_input_w_fire) begin
if(dataLogic_incrementByteCounter) begin
dataLogic_byteCounter <= dataLogic_byteCounterNext[3:0];
end
dataLogic_outputLast <= io_input_w_payload_last;
if(when_Axi4Upsizer_l59) begin
dataLogic_dataBuffer[7 : 0] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_1) begin
dataLogic_dataBuffer[15 : 8] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_2) begin
dataLogic_dataBuffer[23 : 16] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_3) begin
dataLogic_dataBuffer[31 : 24] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_4) begin
dataLogic_dataBuffer[39 : 32] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_5) begin
dataLogic_dataBuffer[47 : 40] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_6) begin
dataLogic_dataBuffer[55 : 48] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_7) begin
dataLogic_dataBuffer[63 : 56] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_8) begin
dataLogic_dataBuffer[71 : 64] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_9) begin
dataLogic_dataBuffer[79 : 72] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_10) begin
dataLogic_dataBuffer[87 : 80] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_11) begin
dataLogic_dataBuffer[95 : 88] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_12) begin
dataLogic_dataBuffer[103 : 96] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_13) begin
dataLogic_dataBuffer[111 : 104] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_14) begin
dataLogic_dataBuffer[119 : 112] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_15) begin
dataLogic_dataBuffer[127 : 120] <= io_input_w_payload_data[31 : 24];
end
end
if(cmdLogic_dataFork_fire_1) begin
dataLogic_byteCounter <= cmdLogic_dataFork_payload_addr[3:0];
if(when_Axi4Upsizer_l68) begin
dataLogic_byteCounter[0] <= 1'b0;
end
if(when_Axi4Upsizer_l68_1) begin
dataLogic_byteCounter[1] <= 1'b0;
end
if(when_Axi4Upsizer_l68_2) begin
dataLogic_byteCounter[2] <= 1'b0;
end
if(when_Axi4Upsizer_l68_3) begin
dataLogic_byteCounter[3] <= 1'b0;
end
dataLogic_size <= cmdLogic_dataFork_payload_size;
dataLogic_alwaysFire <= (! (cmdLogic_dataFork_payload_burst == 2'b01));
dataLogic_incrementByteCounter <= (! (cmdLogic_dataFork_payload_burst == 2'b00));
end
end
endmodule
module Asic32To128UpsizerAxi4ReadOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_input_ar_valid,
output reg io_input_ar_ready,
input [31:0] io_input_ar_payload_addr,
input [7:0] io_input_ar_payload_id,
input [3:0] io_input_ar_payload_region,
input [7:0] io_input_ar_payload_len,
input [2:0] io_input_ar_payload_size,
input [1:0] io_input_ar_payload_burst,
input [0:0] io_input_ar_payload_lock,
input [3:0] io_input_ar_payload_cache,
input [3:0] io_input_ar_payload_qos,
input [2:0] io_input_ar_payload_prot,
output io_input_r_valid,
input io_input_r_ready,
output [31:0] io_input_r_payload_data,
output [7:0] io_input_r_payload_id,
output [1:0] io_input_r_payload_resp,
output io_input_r_payload_last,
output io_output_ar_valid,
input io_output_ar_ready,
output [31:0] io_output_ar_payload_addr,
output [7:0] io_output_ar_payload_id,
output [3:0] io_output_ar_payload_region,
output [7:0] io_output_ar_payload_len,
output reg [2:0] io_output_ar_payload_size,
output [1:0] io_output_ar_payload_burst,
output [0:0] io_output_ar_payload_lock,
output [3:0] io_output_ar_payload_cache,
output [3:0] io_output_ar_payload_qos,
output [2:0] io_output_ar_payload_prot,
input io_output_r_valid,
output io_output_r_ready,
input [127:0] io_output_r_payload_data,
input [7:0] io_output_r_payload_id,
input [1:0] io_output_r_payload_resp,
input io_output_r_payload_last,
input clk,
input reset
);
wire dataLogic_cmdPush_fifo_io_pop_ready;
wire dataLogic_cmdPush_fifo_io_push_ready;
wire dataLogic_cmdPush_fifo_io_pop_valid;
wire [3:0] dataLogic_cmdPush_fifo_io_pop_payload_startAt;
wire [3:0] dataLogic_cmdPush_fifo_io_pop_payload_endAt;
wire [2:0] dataLogic_cmdPush_fifo_io_pop_payload_size;
wire [7:0] dataLogic_cmdPush_fifo_io_pop_payload_id;
wire [4:0] dataLogic_cmdPush_fifo_io_occupancy;
wire [4:0] dataLogic_cmdPush_fifo_io_availability;
wire [14:0] _zz_cmdLogic_byteCount;
wire [10:0] _zz_cmdLogic_incrLen;
wire [10:0] _zz_cmdLogic_incrLen_1;
wire [3:0] _zz_cmdLogic_incrLen_2;
wire [31:0] _zz_dataLogic_cmdPush_payload_endAt;
wire [31:0] _zz_dataLogic_cmdPush_payload_endAt_1;
wire [14:0] _zz_dataLogic_cmdPush_payload_endAt_2;
wire [4:0] _zz_dataLogic_byteCounterNext;
wire [7:0] _zz_dataLogic_byteCounterNext_1;
reg [31:0] _zz_io_input_r_payload_data;
wire [1:0] _zz_io_input_r_payload_data_1;
wire cmdLogic_outputFork_valid;
wire cmdLogic_outputFork_ready;
wire [31:0] cmdLogic_outputFork_payload_addr;
wire [7:0] cmdLogic_outputFork_payload_id;
wire [3:0] cmdLogic_outputFork_payload_region;
wire [7:0] cmdLogic_outputFork_payload_len;
wire [2:0] cmdLogic_outputFork_payload_size;
wire [1:0] cmdLogic_outputFork_payload_burst;
wire [0:0] cmdLogic_outputFork_payload_lock;
wire [3:0] cmdLogic_outputFork_payload_cache;
wire [3:0] cmdLogic_outputFork_payload_qos;
wire [2:0] cmdLogic_outputFork_payload_prot;
wire cmdLogic_dataFork_valid;
wire cmdLogic_dataFork_ready;
wire [31:0] cmdLogic_dataFork_payload_addr;
wire [7:0] cmdLogic_dataFork_payload_id;
wire [3:0] cmdLogic_dataFork_payload_region;
wire [7:0] cmdLogic_dataFork_payload_len;
wire [2:0] cmdLogic_dataFork_payload_size;
wire [1:0] cmdLogic_dataFork_payload_burst;
wire [0:0] cmdLogic_dataFork_payload_lock;
wire [3:0] cmdLogic_dataFork_payload_cache;
wire [3:0] cmdLogic_dataFork_payload_qos;
wire [2:0] cmdLogic_dataFork_payload_prot;
reg io_input_ar_fork2_logic_linkEnable_0;
reg io_input_ar_fork2_logic_linkEnable_1;
wire when_Stream_l993;
wire when_Stream_l993_1;
wire cmdLogic_outputFork_fire;
wire cmdLogic_dataFork_fire;
wire [9:0] cmdLogic_byteCount;
wire [6:0] cmdLogic_incrLen;
wire when_Axi4Upsizer_l108;
wire dataLogic_cmdPush_valid;
wire dataLogic_cmdPush_ready;
wire [3:0] dataLogic_cmdPush_payload_startAt;
wire [3:0] dataLogic_cmdPush_payload_endAt;
wire [2:0] dataLogic_cmdPush_payload_size;
wire [7:0] dataLogic_cmdPush_payload_id;
reg [2:0] dataLogic_size;
reg dataLogic_busy;
reg [7:0] dataLogic_id;
reg [3:0] dataLogic_byteCounter;
reg [3:0] dataLogic_byteCounterLast;
wire [4:0] dataLogic_byteCounterNext;
wire readOnly_dataLogic_cmdPush_fifo_io_pop_fire;
wire io_input_r_fire;
assign _zz_cmdLogic_byteCount = ({7'd0,io_input_ar_payload_len} <<< io_input_ar_payload_size);
assign _zz_cmdLogic_incrLen = ({1'b0,cmdLogic_byteCount} + _zz_cmdLogic_incrLen_1);
assign _zz_cmdLogic_incrLen_2 = io_input_ar_payload_addr[3 : 0];
assign _zz_cmdLogic_incrLen_1 = {7'd0, _zz_cmdLogic_incrLen_2};
assign _zz_dataLogic_cmdPush_payload_endAt = (cmdLogic_dataFork_payload_addr + _zz_dataLogic_cmdPush_payload_endAt_1);
assign _zz_dataLogic_cmdPush_payload_endAt_2 = ({7'd0,cmdLogic_dataFork_payload_len} <<< cmdLogic_dataFork_payload_size);
assign _zz_dataLogic_cmdPush_payload_endAt_1 = {17'd0, _zz_dataLogic_cmdPush_payload_endAt_2};
assign _zz_dataLogic_byteCounterNext_1 = ({7'd0,1'b1} <<< dataLogic_size);
assign _zz_dataLogic_byteCounterNext = _zz_dataLogic_byteCounterNext_1[4:0];
assign _zz_io_input_r_payload_data_1 = (dataLogic_byteCounter >>> 2'd2);
Asic32To128UpsizerStreamFifo_5b3f2212c953407c83e1cf8c9cc77ea9 dataLogic_cmdPush_fifo (
.io_push_valid (dataLogic_cmdPush_valid ), //i
.io_push_ready (dataLogic_cmdPush_fifo_io_push_ready ), //o
.io_push_payload_startAt (dataLogic_cmdPush_payload_startAt[3:0] ), //i
.io_push_payload_endAt (dataLogic_cmdPush_payload_endAt[3:0] ), //i
.io_push_payload_size (dataLogic_cmdPush_payload_size[2:0] ), //i
.io_push_payload_id (dataLogic_cmdPush_payload_id[7:0] ), //i
.io_pop_valid (dataLogic_cmdPush_fifo_io_pop_valid ), //o
.io_pop_ready (dataLogic_cmdPush_fifo_io_pop_ready ), //i
.io_pop_payload_startAt (dataLogic_cmdPush_fifo_io_pop_payload_startAt[3:0]), //o
.io_pop_payload_endAt (dataLogic_cmdPush_fifo_io_pop_payload_endAt[3:0] ), //o
.io_pop_payload_size (dataLogic_cmdPush_fifo_io_pop_payload_size[2:0] ), //o
.io_pop_payload_id (dataLogic_cmdPush_fifo_io_pop_payload_id[7:0] ), //o
.io_flush (1'b0 ), //i
.io_occupancy (dataLogic_cmdPush_fifo_io_occupancy[4:0] ), //o
.io_availability (dataLogic_cmdPush_fifo_io_availability[4:0] ), //o
.clk (clk ), //i
.reset (reset ) //i
);
always @(*) begin
case(_zz_io_input_r_payload_data_1)
2'b00 : _zz_io_input_r_payload_data = io_output_r_payload_data[31 : 0];
2'b01 : _zz_io_input_r_payload_data = io_output_r_payload_data[63 : 32];
2'b10 : _zz_io_input_r_payload_data = io_output_r_payload_data[95 : 64];
default : _zz_io_input_r_payload_data = io_output_r_payload_data[127 : 96];
endcase
end
always @(*) begin
io_input_ar_ready = 1'b1;
if(when_Stream_l993) begin
io_input_ar_ready = 1'b0;
end
if(when_Stream_l993_1) begin
io_input_ar_ready = 1'b0;
end
end
assign when_Stream_l993 = ((! cmdLogic_outputFork_ready) && io_input_ar_fork2_logic_linkEnable_0);
assign when_Stream_l993_1 = ((! cmdLogic_dataFork_ready) && io_input_ar_fork2_logic_linkEnable_1);
assign cmdLogic_outputFork_valid = (io_input_ar_valid && io_input_ar_fork2_logic_linkEnable_0);
assign cmdLogic_outputFork_payload_addr = io_input_ar_payload_addr;
assign cmdLogic_outputFork_payload_id = io_input_ar_payload_id;
assign cmdLogic_outputFork_payload_region = io_input_ar_payload_region;
assign cmdLogic_outputFork_payload_len = io_input_ar_payload_len;
assign cmdLogic_outputFork_payload_size = io_input_ar_payload_size;
assign cmdLogic_outputFork_payload_burst = io_input_ar_payload_burst;
assign cmdLogic_outputFork_payload_lock = io_input_ar_payload_lock;
assign cmdLogic_outputFork_payload_cache = io_input_ar_payload_cache;
assign cmdLogic_outputFork_payload_qos = io_input_ar_payload_qos;
assign cmdLogic_outputFork_payload_prot = io_input_ar_payload_prot;
assign cmdLogic_outputFork_fire = (cmdLogic_outputFork_valid && cmdLogic_outputFork_ready);
assign cmdLogic_dataFork_valid = (io_input_ar_valid && io_input_ar_fork2_logic_linkEnable_1);
assign cmdLogic_dataFork_payload_addr = io_input_ar_payload_addr;
assign cmdLogic_dataFork_payload_id = io_input_ar_payload_id;
assign cmdLogic_dataFork_payload_region = io_input_ar_payload_region;
assign cmdLogic_dataFork_payload_len = io_input_ar_payload_len;
assign cmdLogic_dataFork_payload_size = io_input_ar_payload_size;
assign cmdLogic_dataFork_payload_burst = io_input_ar_payload_burst;
assign cmdLogic_dataFork_payload_lock = io_input_ar_payload_lock;
assign cmdLogic_dataFork_payload_cache = io_input_ar_payload_cache;
assign cmdLogic_dataFork_payload_qos = io_input_ar_payload_qos;
assign cmdLogic_dataFork_payload_prot = io_input_ar_payload_prot;
assign cmdLogic_dataFork_fire = (cmdLogic_dataFork_valid && cmdLogic_dataFork_ready);
assign io_output_ar_valid = cmdLogic_outputFork_valid;
assign cmdLogic_outputFork_ready = io_output_ar_ready;
assign io_output_ar_payload_addr = cmdLogic_outputFork_payload_addr;
assign io_output_ar_payload_region = cmdLogic_outputFork_payload_region;
assign io_output_ar_payload_burst = cmdLogic_outputFork_payload_burst;
assign io_output_ar_payload_lock = cmdLogic_outputFork_payload_lock;
assign io_output_ar_payload_cache = cmdLogic_outputFork_payload_cache;
assign io_output_ar_payload_qos = cmdLogic_outputFork_payload_qos;
assign io_output_ar_payload_prot = cmdLogic_outputFork_payload_prot;
assign cmdLogic_byteCount = _zz_cmdLogic_byteCount[9:0];
assign cmdLogic_incrLen = _zz_cmdLogic_incrLen[10 : 4];
always @(*) begin
io_output_ar_payload_size = 3'b100;
if(when_Axi4Upsizer_l108) begin
io_output_ar_payload_size = io_input_ar_payload_size;
end
end
assign io_output_ar_payload_len = {1'd0, cmdLogic_incrLen};
assign io_output_ar_payload_id = 8'h00;
assign when_Axi4Upsizer_l108 = (io_input_ar_payload_len == 8'h00);
assign dataLogic_cmdPush_valid = cmdLogic_dataFork_valid;
assign cmdLogic_dataFork_ready = dataLogic_cmdPush_ready;
assign dataLogic_cmdPush_payload_startAt = cmdLogic_dataFork_payload_addr[3:0];
assign dataLogic_cmdPush_payload_endAt = _zz_dataLogic_cmdPush_payload_endAt[3:0];
assign dataLogic_cmdPush_payload_size = cmdLogic_dataFork_payload_size;
assign dataLogic_cmdPush_payload_id = cmdLogic_dataFork_payload_id;
assign dataLogic_cmdPush_ready = dataLogic_cmdPush_fifo_io_push_ready;
assign dataLogic_byteCounterNext = ({1'b0,dataLogic_byteCounter} + _zz_dataLogic_byteCounterNext);
assign readOnly_dataLogic_cmdPush_fifo_io_pop_fire = (dataLogic_cmdPush_fifo_io_pop_valid && dataLogic_cmdPush_fifo_io_pop_ready);
assign dataLogic_cmdPush_fifo_io_pop_ready = (! dataLogic_busy);
assign io_input_r_fire = (io_input_r_valid && io_input_r_ready);
assign io_input_r_valid = (io_output_r_valid && dataLogic_busy);
assign io_input_r_payload_last = (io_output_r_payload_last && (dataLogic_byteCounter == dataLogic_byteCounterLast));
assign io_input_r_payload_resp = io_output_r_payload_resp;
assign io_input_r_payload_data = _zz_io_input_r_payload_data;
assign io_input_r_payload_id = dataLogic_id;
assign io_output_r_ready = ((dataLogic_busy && io_input_r_ready) && (io_input_r_payload_last || dataLogic_byteCounterNext[4]));
always @(posedge clk or posedge reset) begin
if(reset) begin
io_input_ar_fork2_logic_linkEnable_0 <= 1'b1;
io_input_ar_fork2_logic_linkEnable_1 <= 1'b1;
dataLogic_busy <= 1'b0;
end else begin
if(cmdLogic_outputFork_fire) begin
io_input_ar_fork2_logic_linkEnable_0 <= 1'b0;
end
if(cmdLogic_dataFork_fire) begin
io_input_ar_fork2_logic_linkEnable_1 <= 1'b0;
end
if(io_input_ar_ready) begin
io_input_ar_fork2_logic_linkEnable_0 <= 1'b1;
io_input_ar_fork2_logic_linkEnable_1 <= 1'b1;
end
if(readOnly_dataLogic_cmdPush_fifo_io_pop_fire) begin
dataLogic_busy <= 1'b1;
end
if(io_input_r_fire) begin
if(io_input_r_payload_last) begin
dataLogic_busy <= 1'b0;
end
end
end
end
always @(posedge clk) begin
if(readOnly_dataLogic_cmdPush_fifo_io_pop_fire) begin
dataLogic_byteCounter <= dataLogic_cmdPush_fifo_io_pop_payload_startAt;
dataLogic_byteCounterLast <= dataLogic_cmdPush_fifo_io_pop_payload_endAt;
dataLogic_size <= dataLogic_cmdPush_fifo_io_pop_payload_size;
dataLogic_id <= dataLogic_cmdPush_fifo_io_pop_payload_id;
end
if(io_input_r_fire) begin
dataLogic_byteCounter <= dataLogic_byteCounterNext[3:0];
end
end
endmodule
module Asic32To128UpsizerStreamFifo_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_push_valid,
output io_push_ready,
input [3:0] io_push_payload_startAt,
input [3:0] io_push_payload_endAt,
input [2:0] io_push_payload_size,
input [7:0] io_push_payload_id,
output io_pop_valid,
input io_pop_ready,
output [3:0] io_pop_payload_startAt,
output [3:0] io_pop_payload_endAt,
output [2:0] io_pop_payload_size,
output [7:0] io_pop_payload_id,
input io_flush,
output [4:0] io_occupancy,
output [4:0] io_availability,
input clk,
input reset
);
reg [18:0] _zz_logic_ram_port0;
wire [3:0] _zz_logic_pushPtr_valueNext;
wire [0:0] _zz_logic_pushPtr_valueNext_1;
wire [3:0] _zz_logic_popPtr_valueNext;
wire [0:0] _zz_logic_popPtr_valueNext_1;
wire _zz__zz_logic_ram_port0;
wire _zz__zz_io_pop_payload_startAt;
wire [18:0] _zz__zz_logic_ram_port1;
wire [3:0] _zz_io_availability;
reg _zz_1;
reg logic_pushPtr_willIncrement;
reg logic_pushPtr_willClear;
reg [3:0] logic_pushPtr_valueNext;
reg [3:0] logic_pushPtr_value;
wire logic_pushPtr_willOverflowIfInc;
wire logic_pushPtr_willOverflow;
reg logic_popPtr_willIncrement;
reg logic_popPtr_willClear;
reg [3:0] logic_popPtr_valueNext;
reg [3:0] logic_popPtr_value;
wire logic_popPtr_willOverflowIfInc;
wire logic_popPtr_willOverflow;
wire logic_ptrMatch;
reg logic_risingOccupancy;
wire logic_pushing;
wire logic_popping;
wire logic_empty;
wire logic_full;
reg _zz_io_pop_valid;
wire [18:0] _zz_io_pop_payload_startAt;
wire when_Stream_l1123;
wire [3:0] logic_ptrDif;
reg [18:0] logic_ram [0:15];
assign _zz_logic_pushPtr_valueNext_1 = logic_pushPtr_willIncrement;
assign _zz_logic_pushPtr_valueNext = {3'd0, _zz_logic_pushPtr_valueNext_1};
assign _zz_logic_popPtr_valueNext_1 = logic_popPtr_willIncrement;
assign _zz_logic_popPtr_valueNext = {3'd0, _zz_logic_popPtr_valueNext_1};
assign _zz_io_availability = (logic_popPtr_value - logic_pushPtr_value);
assign _zz__zz_io_pop_payload_startAt = 1'b1;
assign _zz__zz_logic_ram_port1 = {io_push_payload_id,{io_push_payload_size,{io_push_payload_endAt,io_push_payload_startAt}}};
always @(posedge clk) begin
if(_zz__zz_io_pop_payload_startAt) begin
_zz_logic_ram_port0 <= logic_ram[logic_popPtr_valueNext];
end
end
always @(posedge clk) begin
if(_zz_1) begin
logic_ram[logic_pushPtr_value] <= _zz__zz_logic_ram_port1;
end
end
always @(*) begin
_zz_1 = 1'b0;
if(logic_pushing) begin
_zz_1 = 1'b1;
end
end
always @(*) begin
logic_pushPtr_willIncrement = 1'b0;
if(logic_pushing) begin
logic_pushPtr_willIncrement = 1'b1;
end
end
always @(*) begin
logic_pushPtr_willClear = 1'b0;
if(io_flush) begin
logic_pushPtr_willClear = 1'b1;
end
end
assign logic_pushPtr_willOverflowIfInc = (logic_pushPtr_value == 4'b1111);
assign logic_pushPtr_willOverflow = (logic_pushPtr_willOverflowIfInc && logic_pushPtr_willIncrement);
always @(*) begin
logic_pushPtr_valueNext = (logic_pushPtr_value + _zz_logic_pushPtr_valueNext);
if(logic_pushPtr_willClear) begin
logic_pushPtr_valueNext = 4'b0000;
end
end
always @(*) begin
logic_popPtr_willIncrement = 1'b0;
if(logic_popping) begin
logic_popPtr_willIncrement = 1'b1;
end
end
always @(*) begin
logic_popPtr_willClear = 1'b0;
if(io_flush) begin
logic_popPtr_willClear = 1'b1;
end
end
assign logic_popPtr_willOverflowIfInc = (logic_popPtr_value == 4'b1111);
assign logic_popPtr_willOverflow = (logic_popPtr_willOverflowIfInc && logic_popPtr_willIncrement);
always @(*) begin
logic_popPtr_valueNext = (logic_popPtr_value + _zz_logic_popPtr_valueNext);
if(logic_popPtr_willClear) begin
logic_popPtr_valueNext = 4'b0000;
end
end
assign logic_ptrMatch = (logic_pushPtr_value == logic_popPtr_value);
assign logic_pushing = (io_push_valid && io_push_ready);
assign logic_popping = (io_pop_valid && io_pop_ready);
assign logic_empty = (logic_ptrMatch && (! logic_risingOccupancy));
assign logic_full = (logic_ptrMatch && logic_risingOccupancy);
assign io_push_ready = (! logic_full);
assign io_pop_valid = ((! logic_empty) && (! (_zz_io_pop_valid && (! logic_full))));
assign _zz_io_pop_payload_startAt = _zz_logic_ram_port0;
assign io_pop_payload_startAt = _zz_io_pop_payload_startAt[3 : 0];
assign io_pop_payload_endAt = _zz_io_pop_payload_startAt[7 : 4];
assign io_pop_payload_size = _zz_io_pop_payload_startAt[10 : 8];
assign io_pop_payload_id = _zz_io_pop_payload_startAt[18 : 11];
assign when_Stream_l1123 = (logic_pushing != logic_popping);
assign logic_ptrDif = (logic_pushPtr_value - logic_popPtr_value);
assign io_occupancy = {(logic_risingOccupancy && logic_ptrMatch),logic_ptrDif};
assign io_availability = {((! logic_risingOccupancy) && logic_ptrMatch),_zz_io_availability};
always @(posedge clk or posedge reset) begin
if(reset) begin
logic_pushPtr_value <= 4'b0000;
logic_popPtr_value <= 4'b0000;
logic_risingOccupancy <= 1'b0;
_zz_io_pop_valid <= 1'b0;
end else begin
logic_pushPtr_value <= logic_pushPtr_valueNext;
logic_popPtr_value <= logic_popPtr_valueNext;
_zz_io_pop_valid <= (logic_popPtr_valueNext == logic_pushPtr_value);
if(when_Stream_l1123) begin
logic_risingOccupancy <= logic_pushing;
end
if(io_flush) begin
logic_risingOccupancy <= 1'b0;
end
end
end
endmodule
// Generator : SpinalHDL dev git head : 9cdee03b276638ef8e7a948b606bb7acc6e4c8d0
// Component : Asic32To256UpsizerAxi4Upsizer_5b3f2212c953407c83e1cf8c9cc77ea9
// Git hash : cd16421fb7a4d44431a2445f9a92b82070ab9b8a
`timescale 1ns/1ps
module Asic32To256UpsizerAxi4Upsizer_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_input_aw_valid,
output io_input_aw_ready,
input [31:0] io_input_aw_payload_addr,
input [7:0] io_input_aw_payload_id,
input [3:0] io_input_aw_payload_region,
input [7:0] io_input_aw_payload_len,
input [2:0] io_input_aw_payload_size,
input [1:0] io_input_aw_payload_burst,
input [0:0] io_input_aw_payload_lock,
input [3:0] io_input_aw_payload_cache,
input [3:0] io_input_aw_payload_qos,
input [2:0] io_input_aw_payload_prot,
input io_input_w_valid,
output io_input_w_ready,
input [31:0] io_input_w_payload_data,
input [3:0] io_input_w_payload_strb,
input io_input_w_payload_last,
output io_input_b_valid,
input io_input_b_ready,
output [7:0] io_input_b_payload_id,
output [1:0] io_input_b_payload_resp,
input io_input_ar_valid,
output io_input_ar_ready,
input [31:0] io_input_ar_payload_addr,
input [7:0] io_input_ar_payload_id,
input [3:0] io_input_ar_payload_region,
input [7:0] io_input_ar_payload_len,
input [2:0] io_input_ar_payload_size,
input [1:0] io_input_ar_payload_burst,
input [0:0] io_input_ar_payload_lock,
input [3:0] io_input_ar_payload_cache,
input [3:0] io_input_ar_payload_qos,
input [2:0] io_input_ar_payload_prot,
output io_input_r_valid,
input io_input_r_ready,
output [31:0] io_input_r_payload_data,
output [7:0] io_input_r_payload_id,
output [1:0] io_input_r_payload_resp,
output io_input_r_payload_last,
output io_output_aw_valid,
input io_output_aw_ready,
output [31:0] io_output_aw_payload_addr,
output [7:0] io_output_aw_payload_id,
output [3:0] io_output_aw_payload_region,
output [7:0] io_output_aw_payload_len,
output [2:0] io_output_aw_payload_size,
output [1:0] io_output_aw_payload_burst,
output [0:0] io_output_aw_payload_lock,
output [3:0] io_output_aw_payload_cache,
output [3:0] io_output_aw_payload_qos,
output [2:0] io_output_aw_payload_prot,
output io_output_w_valid,
input io_output_w_ready,
output [255:0] io_output_w_payload_data,
output [31:0] io_output_w_payload_strb,
output io_output_w_payload_last,
input io_output_b_valid,
output io_output_b_ready,
input [7:0] io_output_b_payload_id,
input [1:0] io_output_b_payload_resp,
output io_output_ar_valid,
input io_output_ar_ready,
output [31:0] io_output_ar_payload_addr,
output [7:0] io_output_ar_payload_id,
output [3:0] io_output_ar_payload_region,
output [7:0] io_output_ar_payload_len,
output [2:0] io_output_ar_payload_size,
output [1:0] io_output_ar_payload_burst,
output [0:0] io_output_ar_payload_lock,
output [3:0] io_output_ar_payload_cache,
output [3:0] io_output_ar_payload_qos,
output [2:0] io_output_ar_payload_prot,
input io_output_r_valid,
output io_output_r_ready,
input [255:0] io_output_r_payload_data,
input [7:0] io_output_r_payload_id,
input [1:0] io_output_r_payload_resp,
input io_output_r_payload_last,
input clk,
input reset
);
wire readOnly_io_input_ar_ready;
wire readOnly_io_input_r_valid;
wire [31:0] readOnly_io_input_r_payload_data;
wire [7:0] readOnly_io_input_r_payload_id;
wire [1:0] readOnly_io_input_r_payload_resp;
wire readOnly_io_input_r_payload_last;
wire readOnly_io_output_ar_valid;
wire [31:0] readOnly_io_output_ar_payload_addr;
wire [7:0] readOnly_io_output_ar_payload_id;
wire [3:0] readOnly_io_output_ar_payload_region;
wire [7:0] readOnly_io_output_ar_payload_len;
wire [2:0] readOnly_io_output_ar_payload_size;
wire [1:0] readOnly_io_output_ar_payload_burst;
wire [0:0] readOnly_io_output_ar_payload_lock;
wire [3:0] readOnly_io_output_ar_payload_cache;
wire [3:0] readOnly_io_output_ar_payload_qos;
wire [2:0] readOnly_io_output_ar_payload_prot;
wire readOnly_io_output_r_ready;
wire writeOnly_io_input_aw_ready;
wire writeOnly_io_input_w_ready;
wire writeOnly_io_input_b_valid;
wire [7:0] writeOnly_io_input_b_payload_id;
wire [1:0] writeOnly_io_input_b_payload_resp;
wire writeOnly_io_output_aw_valid;
wire [31:0] writeOnly_io_output_aw_payload_addr;
wire [7:0] writeOnly_io_output_aw_payload_id;
wire [3:0] writeOnly_io_output_aw_payload_region;
wire [7:0] writeOnly_io_output_aw_payload_len;
wire [2:0] writeOnly_io_output_aw_payload_size;
wire [1:0] writeOnly_io_output_aw_payload_burst;
wire [0:0] writeOnly_io_output_aw_payload_lock;
wire [3:0] writeOnly_io_output_aw_payload_cache;
wire [3:0] writeOnly_io_output_aw_payload_qos;
wire [2:0] writeOnly_io_output_aw_payload_prot;
wire writeOnly_io_output_w_valid;
wire [255:0] writeOnly_io_output_w_payload_data;
wire [31:0] writeOnly_io_output_w_payload_strb;
wire writeOnly_io_output_w_payload_last;
wire writeOnly_io_output_b_ready;
Asic32To256UpsizerAxi4ReadOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 readOnly (
.io_input_ar_valid (io_input_ar_valid ), //i
.io_input_ar_ready (readOnly_io_input_ar_ready ), //o
.io_input_ar_payload_addr (io_input_ar_payload_addr[31:0] ), //i
.io_input_ar_payload_id (io_input_ar_payload_id[7:0] ), //i
.io_input_ar_payload_region (io_input_ar_payload_region[3:0] ), //i
.io_input_ar_payload_len (io_input_ar_payload_len[7:0] ), //i
.io_input_ar_payload_size (io_input_ar_payload_size[2:0] ), //i
.io_input_ar_payload_burst (io_input_ar_payload_burst[1:0] ), //i
.io_input_ar_payload_lock (io_input_ar_payload_lock ), //i
.io_input_ar_payload_cache (io_input_ar_payload_cache[3:0] ), //i
.io_input_ar_payload_qos (io_input_ar_payload_qos[3:0] ), //i
.io_input_ar_payload_prot (io_input_ar_payload_prot[2:0] ), //i
.io_input_r_valid (readOnly_io_input_r_valid ), //o
.io_input_r_ready (io_input_r_ready ), //i
.io_input_r_payload_data (readOnly_io_input_r_payload_data[31:0] ), //o
.io_input_r_payload_id (readOnly_io_input_r_payload_id[7:0] ), //o
.io_input_r_payload_resp (readOnly_io_input_r_payload_resp[1:0] ), //o
.io_input_r_payload_last (readOnly_io_input_r_payload_last ), //o
.io_output_ar_valid (readOnly_io_output_ar_valid ), //o
.io_output_ar_ready (io_output_ar_ready ), //i
.io_output_ar_payload_addr (readOnly_io_output_ar_payload_addr[31:0] ), //o
.io_output_ar_payload_id (readOnly_io_output_ar_payload_id[7:0] ), //o
.io_output_ar_payload_region (readOnly_io_output_ar_payload_region[3:0]), //o
.io_output_ar_payload_len (readOnly_io_output_ar_payload_len[7:0] ), //o
.io_output_ar_payload_size (readOnly_io_output_ar_payload_size[2:0] ), //o
.io_output_ar_payload_burst (readOnly_io_output_ar_payload_burst[1:0] ), //o
.io_output_ar_payload_lock (readOnly_io_output_ar_payload_lock ), //o
.io_output_ar_payload_cache (readOnly_io_output_ar_payload_cache[3:0] ), //o
.io_output_ar_payload_qos (readOnly_io_output_ar_payload_qos[3:0] ), //o
.io_output_ar_payload_prot (readOnly_io_output_ar_payload_prot[2:0] ), //o
.io_output_r_valid (io_output_r_valid ), //i
.io_output_r_ready (readOnly_io_output_r_ready ), //o
.io_output_r_payload_data (io_output_r_payload_data[255:0] ), //i
.io_output_r_payload_id (io_output_r_payload_id[7:0] ), //i
.io_output_r_payload_resp (io_output_r_payload_resp[1:0] ), //i
.io_output_r_payload_last (io_output_r_payload_last ), //i
.clk (clk ), //i
.reset (reset ) //i
);
Asic32To256UpsizerAxi4WriteOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 writeOnly (
.io_input_aw_valid (io_input_aw_valid ), //i
.io_input_aw_ready (writeOnly_io_input_aw_ready ), //o
.io_input_aw_payload_addr (io_input_aw_payload_addr[31:0] ), //i
.io_input_aw_payload_id (io_input_aw_payload_id[7:0] ), //i
.io_input_aw_payload_region (io_input_aw_payload_region[3:0] ), //i
.io_input_aw_payload_len (io_input_aw_payload_len[7:0] ), //i
.io_input_aw_payload_size (io_input_aw_payload_size[2:0] ), //i
.io_input_aw_payload_burst (io_input_aw_payload_burst[1:0] ), //i
.io_input_aw_payload_lock (io_input_aw_payload_lock ), //i
.io_input_aw_payload_cache (io_input_aw_payload_cache[3:0] ), //i
.io_input_aw_payload_qos (io_input_aw_payload_qos[3:0] ), //i
.io_input_aw_payload_prot (io_input_aw_payload_prot[2:0] ), //i
.io_input_w_valid (io_input_w_valid ), //i
.io_input_w_ready (writeOnly_io_input_w_ready ), //o
.io_input_w_payload_data (io_input_w_payload_data[31:0] ), //i
.io_input_w_payload_strb (io_input_w_payload_strb[3:0] ), //i
.io_input_w_payload_last (io_input_w_payload_last ), //i
.io_input_b_valid (writeOnly_io_input_b_valid ), //o
.io_input_b_ready (io_input_b_ready ), //i
.io_input_b_payload_id (writeOnly_io_input_b_payload_id[7:0] ), //o
.io_input_b_payload_resp (writeOnly_io_input_b_payload_resp[1:0] ), //o
.io_output_aw_valid (writeOnly_io_output_aw_valid ), //o
.io_output_aw_ready (io_output_aw_ready ), //i
.io_output_aw_payload_addr (writeOnly_io_output_aw_payload_addr[31:0] ), //o
.io_output_aw_payload_id (writeOnly_io_output_aw_payload_id[7:0] ), //o
.io_output_aw_payload_region (writeOnly_io_output_aw_payload_region[3:0]), //o
.io_output_aw_payload_len (writeOnly_io_output_aw_payload_len[7:0] ), //o
.io_output_aw_payload_size (writeOnly_io_output_aw_payload_size[2:0] ), //o
.io_output_aw_payload_burst (writeOnly_io_output_aw_payload_burst[1:0] ), //o
.io_output_aw_payload_lock (writeOnly_io_output_aw_payload_lock ), //o
.io_output_aw_payload_cache (writeOnly_io_output_aw_payload_cache[3:0] ), //o
.io_output_aw_payload_qos (writeOnly_io_output_aw_payload_qos[3:0] ), //o
.io_output_aw_payload_prot (writeOnly_io_output_aw_payload_prot[2:0] ), //o
.io_output_w_valid (writeOnly_io_output_w_valid ), //o
.io_output_w_ready (io_output_w_ready ), //i
.io_output_w_payload_data (writeOnly_io_output_w_payload_data[255:0] ), //o
.io_output_w_payload_strb (writeOnly_io_output_w_payload_strb[31:0] ), //o
.io_output_w_payload_last (writeOnly_io_output_w_payload_last ), //o
.io_output_b_valid (io_output_b_valid ), //i
.io_output_b_ready (writeOnly_io_output_b_ready ), //o
.io_output_b_payload_id (io_output_b_payload_id[7:0] ), //i
.io_output_b_payload_resp (io_output_b_payload_resp[1:0] ), //i
.clk (clk ), //i
.reset (reset ) //i
);
assign io_input_ar_ready = readOnly_io_input_ar_ready;
assign io_input_r_valid = readOnly_io_input_r_valid;
assign io_input_r_payload_data = readOnly_io_input_r_payload_data;
assign io_input_r_payload_id = readOnly_io_input_r_payload_id;
assign io_input_r_payload_resp = readOnly_io_input_r_payload_resp;
assign io_input_r_payload_last = readOnly_io_input_r_payload_last;
assign io_input_aw_ready = writeOnly_io_input_aw_ready;
assign io_input_w_ready = writeOnly_io_input_w_ready;
assign io_input_b_valid = writeOnly_io_input_b_valid;
assign io_input_b_payload_id = writeOnly_io_input_b_payload_id;
assign io_input_b_payload_resp = writeOnly_io_input_b_payload_resp;
assign io_output_ar_valid = readOnly_io_output_ar_valid;
assign io_output_ar_payload_addr = readOnly_io_output_ar_payload_addr;
assign io_output_ar_payload_id = readOnly_io_output_ar_payload_id;
assign io_output_ar_payload_region = readOnly_io_output_ar_payload_region;
assign io_output_ar_payload_len = readOnly_io_output_ar_payload_len;
assign io_output_ar_payload_size = readOnly_io_output_ar_payload_size;
assign io_output_ar_payload_burst = readOnly_io_output_ar_payload_burst;
assign io_output_ar_payload_lock = readOnly_io_output_ar_payload_lock;
assign io_output_ar_payload_cache = readOnly_io_output_ar_payload_cache;
assign io_output_ar_payload_qos = readOnly_io_output_ar_payload_qos;
assign io_output_ar_payload_prot = readOnly_io_output_ar_payload_prot;
assign io_output_r_ready = readOnly_io_output_r_ready;
assign io_output_aw_valid = writeOnly_io_output_aw_valid;
assign io_output_aw_payload_addr = writeOnly_io_output_aw_payload_addr;
assign io_output_aw_payload_id = writeOnly_io_output_aw_payload_id;
assign io_output_aw_payload_region = writeOnly_io_output_aw_payload_region;
assign io_output_aw_payload_len = writeOnly_io_output_aw_payload_len;
assign io_output_aw_payload_size = writeOnly_io_output_aw_payload_size;
assign io_output_aw_payload_burst = writeOnly_io_output_aw_payload_burst;
assign io_output_aw_payload_lock = writeOnly_io_output_aw_payload_lock;
assign io_output_aw_payload_cache = writeOnly_io_output_aw_payload_cache;
assign io_output_aw_payload_qos = writeOnly_io_output_aw_payload_qos;
assign io_output_aw_payload_prot = writeOnly_io_output_aw_payload_prot;
assign io_output_w_valid = writeOnly_io_output_w_valid;
assign io_output_w_payload_data = writeOnly_io_output_w_payload_data;
assign io_output_w_payload_strb = writeOnly_io_output_w_payload_strb;
assign io_output_w_payload_last = writeOnly_io_output_w_payload_last;
assign io_output_b_ready = writeOnly_io_output_b_ready;
endmodule
module Asic32To256UpsizerAxi4WriteOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_input_aw_valid,
output reg io_input_aw_ready,
input [31:0] io_input_aw_payload_addr,
input [7:0] io_input_aw_payload_id,
input [3:0] io_input_aw_payload_region,
input [7:0] io_input_aw_payload_len,
input [2:0] io_input_aw_payload_size,
input [1:0] io_input_aw_payload_burst,
input [0:0] io_input_aw_payload_lock,
input [3:0] io_input_aw_payload_cache,
input [3:0] io_input_aw_payload_qos,
input [2:0] io_input_aw_payload_prot,
input io_input_w_valid,
output io_input_w_ready,
input [31:0] io_input_w_payload_data,
input [3:0] io_input_w_payload_strb,
input io_input_w_payload_last,
output io_input_b_valid,
input io_input_b_ready,
output [7:0] io_input_b_payload_id,
output [1:0] io_input_b_payload_resp,
output io_output_aw_valid,
input io_output_aw_ready,
output [31:0] io_output_aw_payload_addr,
output [7:0] io_output_aw_payload_id,
output [3:0] io_output_aw_payload_region,
output reg [7:0] io_output_aw_payload_len,
output reg [2:0] io_output_aw_payload_size,
output [1:0] io_output_aw_payload_burst,
output [0:0] io_output_aw_payload_lock,
output [3:0] io_output_aw_payload_cache,
output [3:0] io_output_aw_payload_qos,
output [2:0] io_output_aw_payload_prot,
output io_output_w_valid,
input io_output_w_ready,
output [255:0] io_output_w_payload_data,
output [31:0] io_output_w_payload_strb,
output io_output_w_payload_last,
input io_output_b_valid,
output io_output_b_ready,
input [7:0] io_output_b_payload_id,
input [1:0] io_output_b_payload_resp,
input clk,
input reset
);
wire [14:0] _zz_cmdLogic_byteCount;
wire [10:0] _zz_cmdLogic_incrLen;
wire [10:0] _zz_cmdLogic_incrLen_1;
wire [4:0] _zz_cmdLogic_incrLen_2;
wire [5:0] _zz_dataLogic_byteCounterNext;
wire [7:0] _zz_dataLogic_byteCounterNext_1;
reg [31:0] _zz_dataLogic_byteActivity;
wire cmdLogic_outputFork_valid;
wire cmdLogic_outputFork_ready;
wire [31:0] cmdLogic_outputFork_payload_addr;
wire [7:0] cmdLogic_outputFork_payload_id;
wire [3:0] cmdLogic_outputFork_payload_region;
wire [7:0] cmdLogic_outputFork_payload_len;
wire [2:0] cmdLogic_outputFork_payload_size;
wire [1:0] cmdLogic_outputFork_payload_burst;
wire [0:0] cmdLogic_outputFork_payload_lock;
wire [3:0] cmdLogic_outputFork_payload_cache;
wire [3:0] cmdLogic_outputFork_payload_qos;
wire [2:0] cmdLogic_outputFork_payload_prot;
wire cmdLogic_dataFork_valid;
wire cmdLogic_dataFork_ready;
wire [31:0] cmdLogic_dataFork_payload_addr;
wire [7:0] cmdLogic_dataFork_payload_id;
wire [3:0] cmdLogic_dataFork_payload_region;
wire [7:0] cmdLogic_dataFork_payload_len;
wire [2:0] cmdLogic_dataFork_payload_size;
wire [1:0] cmdLogic_dataFork_payload_burst;
wire [0:0] cmdLogic_dataFork_payload_lock;
wire [3:0] cmdLogic_dataFork_payload_cache;
wire [3:0] cmdLogic_dataFork_payload_qos;
wire [2:0] cmdLogic_dataFork_payload_prot;
reg io_input_aw_fork2_logic_linkEnable_0;
reg io_input_aw_fork2_logic_linkEnable_1;
wire when_Stream_l993;
wire when_Stream_l993_1;
wire cmdLogic_outputFork_fire;
wire cmdLogic_dataFork_fire;
wire [9:0] cmdLogic_byteCount;
wire [5:0] cmdLogic_incrLen;
wire when_Axi4Upsizer_l21;
wire when_Axi4Upsizer_l24;
reg [4:0] dataLogic_byteCounter;
reg [2:0] dataLogic_size;
reg dataLogic_outputValid;
reg dataLogic_outputLast;
reg dataLogic_busy;
reg dataLogic_incrementByteCounter;
reg dataLogic_alwaysFire;
wire [5:0] dataLogic_byteCounterNext;
reg [255:0] dataLogic_dataBuffer;
reg [31:0] dataLogic_maskBuffer;
wire [31:0] dataLogic_byteActivity;
wire io_output_w_fire;
wire io_output_w_isStall;
wire io_input_w_fire;
wire when_Axi4Upsizer_l59;
wire when_Axi4Upsizer_l59_1;
wire when_Axi4Upsizer_l59_2;
wire when_Axi4Upsizer_l59_3;
wire when_Axi4Upsizer_l59_4;
wire when_Axi4Upsizer_l59_5;
wire when_Axi4Upsizer_l59_6;
wire when_Axi4Upsizer_l59_7;
wire when_Axi4Upsizer_l59_8;
wire when_Axi4Upsizer_l59_9;
wire when_Axi4Upsizer_l59_10;
wire when_Axi4Upsizer_l59_11;
wire when_Axi4Upsizer_l59_12;
wire when_Axi4Upsizer_l59_13;
wire when_Axi4Upsizer_l59_14;
wire when_Axi4Upsizer_l59_15;
wire when_Axi4Upsizer_l59_16;
wire when_Axi4Upsizer_l59_17;
wire when_Axi4Upsizer_l59_18;
wire when_Axi4Upsizer_l59_19;
wire when_Axi4Upsizer_l59_20;
wire when_Axi4Upsizer_l59_21;
wire when_Axi4Upsizer_l59_22;
wire when_Axi4Upsizer_l59_23;
wire when_Axi4Upsizer_l59_24;
wire when_Axi4Upsizer_l59_25;
wire when_Axi4Upsizer_l59_26;
wire when_Axi4Upsizer_l59_27;
wire when_Axi4Upsizer_l59_28;
wire when_Axi4Upsizer_l59_29;
wire when_Axi4Upsizer_l59_30;
wire when_Axi4Upsizer_l59_31;
wire cmdLogic_dataFork_fire_1;
wire when_Axi4Upsizer_l68;
wire when_Axi4Upsizer_l68_1;
wire when_Axi4Upsizer_l68_2;
wire when_Axi4Upsizer_l68_3;
wire when_Axi4Upsizer_l68_4;
assign _zz_cmdLogic_byteCount = ({7'd0,io_input_aw_payload_len} <<< io_input_aw_payload_size);
assign _zz_cmdLogic_incrLen = ({1'b0,cmdLogic_byteCount} + _zz_cmdLogic_incrLen_1);
assign _zz_cmdLogic_incrLen_2 = io_input_aw_payload_addr[4 : 0];
assign _zz_cmdLogic_incrLen_1 = {6'd0, _zz_cmdLogic_incrLen_2};
assign _zz_dataLogic_byteCounterNext_1 = ({7'd0,1'b1} <<< dataLogic_size);
assign _zz_dataLogic_byteCounterNext = _zz_dataLogic_byteCounterNext_1[5:0];
always @(*) begin
case(dataLogic_size)
3'b000 : _zz_dataLogic_byteActivity = 32'h00000001;
3'b001 : _zz_dataLogic_byteActivity = 32'h00000003;
3'b010 : _zz_dataLogic_byteActivity = 32'h0000000f;
3'b011 : _zz_dataLogic_byteActivity = 32'h000000ff;
default : _zz_dataLogic_byteActivity = 32'h0000ffff;
endcase
end
always @(*) begin
io_input_aw_ready = 1'b1;
if(when_Stream_l993) begin
io_input_aw_ready = 1'b0;
end
if(when_Stream_l993_1) begin
io_input_aw_ready = 1'b0;
end
end
assign when_Stream_l993 = ((! cmdLogic_outputFork_ready) && io_input_aw_fork2_logic_linkEnable_0);
assign when_Stream_l993_1 = ((! cmdLogic_dataFork_ready) && io_input_aw_fork2_logic_linkEnable_1);
assign cmdLogic_outputFork_valid = (io_input_aw_valid && io_input_aw_fork2_logic_linkEnable_0);
assign cmdLogic_outputFork_payload_addr = io_input_aw_payload_addr;
assign cmdLogic_outputFork_payload_id = io_input_aw_payload_id;
assign cmdLogic_outputFork_payload_region = io_input_aw_payload_region;
assign cmdLogic_outputFork_payload_len = io_input_aw_payload_len;
assign cmdLogic_outputFork_payload_size = io_input_aw_payload_size;
assign cmdLogic_outputFork_payload_burst = io_input_aw_payload_burst;
assign cmdLogic_outputFork_payload_lock = io_input_aw_payload_lock;
assign cmdLogic_outputFork_payload_cache = io_input_aw_payload_cache;
assign cmdLogic_outputFork_payload_qos = io_input_aw_payload_qos;
assign cmdLogic_outputFork_payload_prot = io_input_aw_payload_prot;
assign cmdLogic_outputFork_fire = (cmdLogic_outputFork_valid && cmdLogic_outputFork_ready);
assign cmdLogic_dataFork_valid = (io_input_aw_valid && io_input_aw_fork2_logic_linkEnable_1);
assign cmdLogic_dataFork_payload_addr = io_input_aw_payload_addr;
assign cmdLogic_dataFork_payload_id = io_input_aw_payload_id;
assign cmdLogic_dataFork_payload_region = io_input_aw_payload_region;
assign cmdLogic_dataFork_payload_len = io_input_aw_payload_len;
assign cmdLogic_dataFork_payload_size = io_input_aw_payload_size;
assign cmdLogic_dataFork_payload_burst = io_input_aw_payload_burst;
assign cmdLogic_dataFork_payload_lock = io_input_aw_payload_lock;
assign cmdLogic_dataFork_payload_cache = io_input_aw_payload_cache;
assign cmdLogic_dataFork_payload_qos = io_input_aw_payload_qos;
assign cmdLogic_dataFork_payload_prot = io_input_aw_payload_prot;
assign cmdLogic_dataFork_fire = (cmdLogic_dataFork_valid && cmdLogic_dataFork_ready);
assign io_output_aw_valid = cmdLogic_outputFork_valid;
assign cmdLogic_outputFork_ready = io_output_aw_ready;
assign io_output_aw_payload_addr = cmdLogic_outputFork_payload_addr;
assign io_output_aw_payload_id = cmdLogic_outputFork_payload_id;
assign io_output_aw_payload_region = cmdLogic_outputFork_payload_region;
always @(*) begin
io_output_aw_payload_len = cmdLogic_outputFork_payload_len;
if(when_Axi4Upsizer_l21) begin
io_output_aw_payload_len = {2'd0, cmdLogic_incrLen};
end
end
always @(*) begin
io_output_aw_payload_size = cmdLogic_outputFork_payload_size;
if(when_Axi4Upsizer_l21) begin
io_output_aw_payload_size = 3'b101;
if(when_Axi4Upsizer_l24) begin
io_output_aw_payload_size = io_input_aw_payload_size;
end
end
end
assign io_output_aw_payload_burst = cmdLogic_outputFork_payload_burst;
assign io_output_aw_payload_lock = cmdLogic_outputFork_payload_lock;
assign io_output_aw_payload_cache = cmdLogic_outputFork_payload_cache;
assign io_output_aw_payload_qos = cmdLogic_outputFork_payload_qos;
assign io_output_aw_payload_prot = cmdLogic_outputFork_payload_prot;
assign cmdLogic_byteCount = _zz_cmdLogic_byteCount[9:0];
assign cmdLogic_incrLen = _zz_cmdLogic_incrLen[10 : 5];
assign when_Axi4Upsizer_l21 = (io_output_aw_payload_burst == 2'b01);
assign when_Axi4Upsizer_l24 = (io_input_aw_payload_len == 8'h00);
assign dataLogic_byteCounterNext = ({1'b0,dataLogic_byteCounter} + _zz_dataLogic_byteCounterNext);
assign dataLogic_byteActivity = (_zz_dataLogic_byteActivity <<< dataLogic_byteCounter);
assign io_output_w_fire = (io_output_w_valid && io_output_w_ready);
assign io_output_w_valid = dataLogic_outputValid;
assign io_output_w_isStall = (io_output_w_valid && (! io_output_w_ready));
assign io_input_w_ready = (dataLogic_busy && (! io_output_w_isStall));
assign io_output_w_payload_data = dataLogic_dataBuffer;
assign io_output_w_payload_strb = dataLogic_maskBuffer;
assign io_output_w_payload_last = dataLogic_outputLast;
assign io_input_w_fire = (io_input_w_valid && io_input_w_ready);
assign when_Axi4Upsizer_l59 = dataLogic_byteActivity[0];
assign when_Axi4Upsizer_l59_1 = dataLogic_byteActivity[1];
assign when_Axi4Upsizer_l59_2 = dataLogic_byteActivity[2];
assign when_Axi4Upsizer_l59_3 = dataLogic_byteActivity[3];
assign when_Axi4Upsizer_l59_4 = dataLogic_byteActivity[4];
assign when_Axi4Upsizer_l59_5 = dataLogic_byteActivity[5];
assign when_Axi4Upsizer_l59_6 = dataLogic_byteActivity[6];
assign when_Axi4Upsizer_l59_7 = dataLogic_byteActivity[7];
assign when_Axi4Upsizer_l59_8 = dataLogic_byteActivity[8];
assign when_Axi4Upsizer_l59_9 = dataLogic_byteActivity[9];
assign when_Axi4Upsizer_l59_10 = dataLogic_byteActivity[10];
assign when_Axi4Upsizer_l59_11 = dataLogic_byteActivity[11];
assign when_Axi4Upsizer_l59_12 = dataLogic_byteActivity[12];
assign when_Axi4Upsizer_l59_13 = dataLogic_byteActivity[13];
assign when_Axi4Upsizer_l59_14 = dataLogic_byteActivity[14];
assign when_Axi4Upsizer_l59_15 = dataLogic_byteActivity[15];
assign when_Axi4Upsizer_l59_16 = dataLogic_byteActivity[16];
assign when_Axi4Upsizer_l59_17 = dataLogic_byteActivity[17];
assign when_Axi4Upsizer_l59_18 = dataLogic_byteActivity[18];
assign when_Axi4Upsizer_l59_19 = dataLogic_byteActivity[19];
assign when_Axi4Upsizer_l59_20 = dataLogic_byteActivity[20];
assign when_Axi4Upsizer_l59_21 = dataLogic_byteActivity[21];
assign when_Axi4Upsizer_l59_22 = dataLogic_byteActivity[22];
assign when_Axi4Upsizer_l59_23 = dataLogic_byteActivity[23];
assign when_Axi4Upsizer_l59_24 = dataLogic_byteActivity[24];
assign when_Axi4Upsizer_l59_25 = dataLogic_byteActivity[25];
assign when_Axi4Upsizer_l59_26 = dataLogic_byteActivity[26];
assign when_Axi4Upsizer_l59_27 = dataLogic_byteActivity[27];
assign when_Axi4Upsizer_l59_28 = dataLogic_byteActivity[28];
assign when_Axi4Upsizer_l59_29 = dataLogic_byteActivity[29];
assign when_Axi4Upsizer_l59_30 = dataLogic_byteActivity[30];
assign when_Axi4Upsizer_l59_31 = dataLogic_byteActivity[31];
assign cmdLogic_dataFork_fire_1 = (cmdLogic_dataFork_valid && cmdLogic_dataFork_ready);
assign when_Axi4Upsizer_l68 = (3'b000 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_1 = (3'b001 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_2 = (3'b010 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_3 = (3'b011 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_4 = (3'b100 < cmdLogic_dataFork_payload_size);
assign cmdLogic_dataFork_ready = (! dataLogic_busy);
assign io_input_b_valid = io_output_b_valid;
assign io_output_b_ready = io_input_b_ready;
assign io_input_b_payload_id = io_output_b_payload_id;
assign io_input_b_payload_resp = io_output_b_payload_resp;
always @(posedge clk or posedge reset) begin
if(reset) begin
io_input_aw_fork2_logic_linkEnable_0 <= 1'b1;
io_input_aw_fork2_logic_linkEnable_1 <= 1'b1;
dataLogic_outputValid <= 1'b0;
dataLogic_busy <= 1'b0;
dataLogic_maskBuffer <= 32'h00000000;
end else begin
if(cmdLogic_outputFork_fire) begin
io_input_aw_fork2_logic_linkEnable_0 <= 1'b0;
end
if(cmdLogic_dataFork_fire) begin
io_input_aw_fork2_logic_linkEnable_1 <= 1'b0;
end
if(io_input_aw_ready) begin
io_input_aw_fork2_logic_linkEnable_0 <= 1'b1;
io_input_aw_fork2_logic_linkEnable_1 <= 1'b1;
end
if(io_output_w_ready) begin
dataLogic_outputValid <= 1'b0;
end
if(io_output_w_fire) begin
dataLogic_maskBuffer <= 32'h00000000;
end
if(io_input_w_fire) begin
dataLogic_outputValid <= ((dataLogic_byteCounterNext[5] || io_input_w_payload_last) || dataLogic_alwaysFire);
if(io_input_w_payload_last) begin
dataLogic_busy <= 1'b0;
end
if(when_Axi4Upsizer_l59) begin
dataLogic_maskBuffer[0] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_1) begin
dataLogic_maskBuffer[1] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_2) begin
dataLogic_maskBuffer[2] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_3) begin
dataLogic_maskBuffer[3] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_4) begin
dataLogic_maskBuffer[4] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_5) begin
dataLogic_maskBuffer[5] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_6) begin
dataLogic_maskBuffer[6] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_7) begin
dataLogic_maskBuffer[7] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_8) begin
dataLogic_maskBuffer[8] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_9) begin
dataLogic_maskBuffer[9] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_10) begin
dataLogic_maskBuffer[10] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_11) begin
dataLogic_maskBuffer[11] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_12) begin
dataLogic_maskBuffer[12] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_13) begin
dataLogic_maskBuffer[13] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_14) begin
dataLogic_maskBuffer[14] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_15) begin
dataLogic_maskBuffer[15] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_16) begin
dataLogic_maskBuffer[16] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_17) begin
dataLogic_maskBuffer[17] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_18) begin
dataLogic_maskBuffer[18] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_19) begin
dataLogic_maskBuffer[19] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_20) begin
dataLogic_maskBuffer[20] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_21) begin
dataLogic_maskBuffer[21] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_22) begin
dataLogic_maskBuffer[22] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_23) begin
dataLogic_maskBuffer[23] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_24) begin
dataLogic_maskBuffer[24] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_25) begin
dataLogic_maskBuffer[25] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_26) begin
dataLogic_maskBuffer[26] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_27) begin
dataLogic_maskBuffer[27] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_28) begin
dataLogic_maskBuffer[28] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_29) begin
dataLogic_maskBuffer[29] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_30) begin
dataLogic_maskBuffer[30] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_31) begin
dataLogic_maskBuffer[31] <= io_input_w_payload_strb[3];
end
end
if(cmdLogic_dataFork_fire_1) begin
dataLogic_busy <= 1'b1;
end
end
end
always @(posedge clk) begin
if(io_input_w_fire) begin
if(dataLogic_incrementByteCounter) begin
dataLogic_byteCounter <= dataLogic_byteCounterNext[4:0];
end
dataLogic_outputLast <= io_input_w_payload_last;
if(when_Axi4Upsizer_l59) begin
dataLogic_dataBuffer[7 : 0] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_1) begin
dataLogic_dataBuffer[15 : 8] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_2) begin
dataLogic_dataBuffer[23 : 16] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_3) begin
dataLogic_dataBuffer[31 : 24] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_4) begin
dataLogic_dataBuffer[39 : 32] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_5) begin
dataLogic_dataBuffer[47 : 40] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_6) begin
dataLogic_dataBuffer[55 : 48] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_7) begin
dataLogic_dataBuffer[63 : 56] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_8) begin
dataLogic_dataBuffer[71 : 64] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_9) begin
dataLogic_dataBuffer[79 : 72] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_10) begin
dataLogic_dataBuffer[87 : 80] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_11) begin
dataLogic_dataBuffer[95 : 88] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_12) begin
dataLogic_dataBuffer[103 : 96] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_13) begin
dataLogic_dataBuffer[111 : 104] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_14) begin
dataLogic_dataBuffer[119 : 112] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_15) begin
dataLogic_dataBuffer[127 : 120] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_16) begin
dataLogic_dataBuffer[135 : 128] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_17) begin
dataLogic_dataBuffer[143 : 136] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_18) begin
dataLogic_dataBuffer[151 : 144] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_19) begin
dataLogic_dataBuffer[159 : 152] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_20) begin
dataLogic_dataBuffer[167 : 160] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_21) begin
dataLogic_dataBuffer[175 : 168] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_22) begin
dataLogic_dataBuffer[183 : 176] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_23) begin
dataLogic_dataBuffer[191 : 184] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_24) begin
dataLogic_dataBuffer[199 : 192] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_25) begin
dataLogic_dataBuffer[207 : 200] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_26) begin
dataLogic_dataBuffer[215 : 208] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_27) begin
dataLogic_dataBuffer[223 : 216] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_28) begin
dataLogic_dataBuffer[231 : 224] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_29) begin
dataLogic_dataBuffer[239 : 232] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_30) begin
dataLogic_dataBuffer[247 : 240] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_31) begin
dataLogic_dataBuffer[255 : 248] <= io_input_w_payload_data[31 : 24];
end
end
if(cmdLogic_dataFork_fire_1) begin
dataLogic_byteCounter <= cmdLogic_dataFork_payload_addr[4:0];
if(when_Axi4Upsizer_l68) begin
dataLogic_byteCounter[0] <= 1'b0;
end
if(when_Axi4Upsizer_l68_1) begin
dataLogic_byteCounter[1] <= 1'b0;
end
if(when_Axi4Upsizer_l68_2) begin
dataLogic_byteCounter[2] <= 1'b0;
end
if(when_Axi4Upsizer_l68_3) begin
dataLogic_byteCounter[3] <= 1'b0;
end
if(when_Axi4Upsizer_l68_4) begin
dataLogic_byteCounter[4] <= 1'b0;
end
dataLogic_size <= cmdLogic_dataFork_payload_size;
dataLogic_alwaysFire <= (! (cmdLogic_dataFork_payload_burst == 2'b01));
dataLogic_incrementByteCounter <= (! (cmdLogic_dataFork_payload_burst == 2'b00));
end
end
endmodule
module Asic32To256UpsizerAxi4ReadOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_input_ar_valid,
output reg io_input_ar_ready,
input [31:0] io_input_ar_payload_addr,
input [7:0] io_input_ar_payload_id,
input [3:0] io_input_ar_payload_region,
input [7:0] io_input_ar_payload_len,
input [2:0] io_input_ar_payload_size,
input [1:0] io_input_ar_payload_burst,
input [0:0] io_input_ar_payload_lock,
input [3:0] io_input_ar_payload_cache,
input [3:0] io_input_ar_payload_qos,
input [2:0] io_input_ar_payload_prot,
output io_input_r_valid,
input io_input_r_ready,
output [31:0] io_input_r_payload_data,
output [7:0] io_input_r_payload_id,
output [1:0] io_input_r_payload_resp,
output io_input_r_payload_last,
output io_output_ar_valid,
input io_output_ar_ready,
output [31:0] io_output_ar_payload_addr,
output [7:0] io_output_ar_payload_id,
output [3:0] io_output_ar_payload_region,
output [7:0] io_output_ar_payload_len,
output reg [2:0] io_output_ar_payload_size,
output [1:0] io_output_ar_payload_burst,
output [0:0] io_output_ar_payload_lock,
output [3:0] io_output_ar_payload_cache,
output [3:0] io_output_ar_payload_qos,
output [2:0] io_output_ar_payload_prot,
input io_output_r_valid,
output io_output_r_ready,
input [255:0] io_output_r_payload_data,
input [7:0] io_output_r_payload_id,
input [1:0] io_output_r_payload_resp,
input io_output_r_payload_last,
input clk,
input reset
);
wire dataLogic_cmdPush_fifo_io_pop_ready;
wire dataLogic_cmdPush_fifo_io_push_ready;
wire dataLogic_cmdPush_fifo_io_pop_valid;
wire [4:0] dataLogic_cmdPush_fifo_io_pop_payload_startAt;
wire [4:0] dataLogic_cmdPush_fifo_io_pop_payload_endAt;
wire [2:0] dataLogic_cmdPush_fifo_io_pop_payload_size;
wire [7:0] dataLogic_cmdPush_fifo_io_pop_payload_id;
wire [4:0] dataLogic_cmdPush_fifo_io_occupancy;
wire [4:0] dataLogic_cmdPush_fifo_io_availability;
wire [14:0] _zz_cmdLogic_byteCount;
wire [10:0] _zz_cmdLogic_incrLen;
wire [10:0] _zz_cmdLogic_incrLen_1;
wire [4:0] _zz_cmdLogic_incrLen_2;
wire [31:0] _zz_dataLogic_cmdPush_payload_endAt;
wire [31:0] _zz_dataLogic_cmdPush_payload_endAt_1;
wire [14:0] _zz_dataLogic_cmdPush_payload_endAt_2;
wire [5:0] _zz_dataLogic_byteCounterNext;
wire [7:0] _zz_dataLogic_byteCounterNext_1;
reg [31:0] _zz_io_input_r_payload_data;
wire [2:0] _zz_io_input_r_payload_data_1;
wire cmdLogic_outputFork_valid;
wire cmdLogic_outputFork_ready;
wire [31:0] cmdLogic_outputFork_payload_addr;
wire [7:0] cmdLogic_outputFork_payload_id;
wire [3:0] cmdLogic_outputFork_payload_region;
wire [7:0] cmdLogic_outputFork_payload_len;
wire [2:0] cmdLogic_outputFork_payload_size;
wire [1:0] cmdLogic_outputFork_payload_burst;
wire [0:0] cmdLogic_outputFork_payload_lock;
wire [3:0] cmdLogic_outputFork_payload_cache;
wire [3:0] cmdLogic_outputFork_payload_qos;
wire [2:0] cmdLogic_outputFork_payload_prot;
wire cmdLogic_dataFork_valid;
wire cmdLogic_dataFork_ready;
wire [31:0] cmdLogic_dataFork_payload_addr;
wire [7:0] cmdLogic_dataFork_payload_id;
wire [3:0] cmdLogic_dataFork_payload_region;
wire [7:0] cmdLogic_dataFork_payload_len;
wire [2:0] cmdLogic_dataFork_payload_size;
wire [1:0] cmdLogic_dataFork_payload_burst;
wire [0:0] cmdLogic_dataFork_payload_lock;
wire [3:0] cmdLogic_dataFork_payload_cache;
wire [3:0] cmdLogic_dataFork_payload_qos;
wire [2:0] cmdLogic_dataFork_payload_prot;
reg io_input_ar_fork2_logic_linkEnable_0;
reg io_input_ar_fork2_logic_linkEnable_1;
wire when_Stream_l993;
wire when_Stream_l993_1;
wire cmdLogic_outputFork_fire;
wire cmdLogic_dataFork_fire;
wire [9:0] cmdLogic_byteCount;
wire [5:0] cmdLogic_incrLen;
wire when_Axi4Upsizer_l108;
wire dataLogic_cmdPush_valid;
wire dataLogic_cmdPush_ready;
wire [4:0] dataLogic_cmdPush_payload_startAt;
wire [4:0] dataLogic_cmdPush_payload_endAt;
wire [2:0] dataLogic_cmdPush_payload_size;
wire [7:0] dataLogic_cmdPush_payload_id;
reg [2:0] dataLogic_size;
reg dataLogic_busy;
reg [7:0] dataLogic_id;
reg [4:0] dataLogic_byteCounter;
reg [4:0] dataLogic_byteCounterLast;
wire [5:0] dataLogic_byteCounterNext;
wire readOnly_dataLogic_cmdPush_fifo_io_pop_fire;
wire io_input_r_fire;
assign _zz_cmdLogic_byteCount = ({7'd0,io_input_ar_payload_len} <<< io_input_ar_payload_size);
assign _zz_cmdLogic_incrLen = ({1'b0,cmdLogic_byteCount} + _zz_cmdLogic_incrLen_1);
assign _zz_cmdLogic_incrLen_2 = io_input_ar_payload_addr[4 : 0];
assign _zz_cmdLogic_incrLen_1 = {6'd0, _zz_cmdLogic_incrLen_2};
assign _zz_dataLogic_cmdPush_payload_endAt = (cmdLogic_dataFork_payload_addr + _zz_dataLogic_cmdPush_payload_endAt_1);
assign _zz_dataLogic_cmdPush_payload_endAt_2 = ({7'd0,cmdLogic_dataFork_payload_len} <<< cmdLogic_dataFork_payload_size);
assign _zz_dataLogic_cmdPush_payload_endAt_1 = {17'd0, _zz_dataLogic_cmdPush_payload_endAt_2};
assign _zz_dataLogic_byteCounterNext_1 = ({7'd0,1'b1} <<< dataLogic_size);
assign _zz_dataLogic_byteCounterNext = _zz_dataLogic_byteCounterNext_1[5:0];
assign _zz_io_input_r_payload_data_1 = (dataLogic_byteCounter >>> 2'd2);
Asic32To256UpsizerStreamFifo_5b3f2212c953407c83e1cf8c9cc77ea9 dataLogic_cmdPush_fifo (
.io_push_valid (dataLogic_cmdPush_valid ), //i
.io_push_ready (dataLogic_cmdPush_fifo_io_push_ready ), //o
.io_push_payload_startAt (dataLogic_cmdPush_payload_startAt[4:0] ), //i
.io_push_payload_endAt (dataLogic_cmdPush_payload_endAt[4:0] ), //i
.io_push_payload_size (dataLogic_cmdPush_payload_size[2:0] ), //i
.io_push_payload_id (dataLogic_cmdPush_payload_id[7:0] ), //i
.io_pop_valid (dataLogic_cmdPush_fifo_io_pop_valid ), //o
.io_pop_ready (dataLogic_cmdPush_fifo_io_pop_ready ), //i
.io_pop_payload_startAt (dataLogic_cmdPush_fifo_io_pop_payload_startAt[4:0]), //o
.io_pop_payload_endAt (dataLogic_cmdPush_fifo_io_pop_payload_endAt[4:0] ), //o
.io_pop_payload_size (dataLogic_cmdPush_fifo_io_pop_payload_size[2:0] ), //o
.io_pop_payload_id (dataLogic_cmdPush_fifo_io_pop_payload_id[7:0] ), //o
.io_flush (1'b0 ), //i
.io_occupancy (dataLogic_cmdPush_fifo_io_occupancy[4:0] ), //o
.io_availability (dataLogic_cmdPush_fifo_io_availability[4:0] ), //o
.clk (clk ), //i
.reset (reset ) //i
);
always @(*) begin
case(_zz_io_input_r_payload_data_1)
3'b000 : _zz_io_input_r_payload_data = io_output_r_payload_data[31 : 0];
3'b001 : _zz_io_input_r_payload_data = io_output_r_payload_data[63 : 32];
3'b010 : _zz_io_input_r_payload_data = io_output_r_payload_data[95 : 64];
3'b011 : _zz_io_input_r_payload_data = io_output_r_payload_data[127 : 96];
3'b100 : _zz_io_input_r_payload_data = io_output_r_payload_data[159 : 128];
3'b101 : _zz_io_input_r_payload_data = io_output_r_payload_data[191 : 160];
3'b110 : _zz_io_input_r_payload_data = io_output_r_payload_data[223 : 192];
default : _zz_io_input_r_payload_data = io_output_r_payload_data[255 : 224];
endcase
end
always @(*) begin
io_input_ar_ready = 1'b1;
if(when_Stream_l993) begin
io_input_ar_ready = 1'b0;
end
if(when_Stream_l993_1) begin
io_input_ar_ready = 1'b0;
end
end
assign when_Stream_l993 = ((! cmdLogic_outputFork_ready) && io_input_ar_fork2_logic_linkEnable_0);
assign when_Stream_l993_1 = ((! cmdLogic_dataFork_ready) && io_input_ar_fork2_logic_linkEnable_1);
assign cmdLogic_outputFork_valid = (io_input_ar_valid && io_input_ar_fork2_logic_linkEnable_0);
assign cmdLogic_outputFork_payload_addr = io_input_ar_payload_addr;
assign cmdLogic_outputFork_payload_id = io_input_ar_payload_id;
assign cmdLogic_outputFork_payload_region = io_input_ar_payload_region;
assign cmdLogic_outputFork_payload_len = io_input_ar_payload_len;
assign cmdLogic_outputFork_payload_size = io_input_ar_payload_size;
assign cmdLogic_outputFork_payload_burst = io_input_ar_payload_burst;
assign cmdLogic_outputFork_payload_lock = io_input_ar_payload_lock;
assign cmdLogic_outputFork_payload_cache = io_input_ar_payload_cache;
assign cmdLogic_outputFork_payload_qos = io_input_ar_payload_qos;
assign cmdLogic_outputFork_payload_prot = io_input_ar_payload_prot;
assign cmdLogic_outputFork_fire = (cmdLogic_outputFork_valid && cmdLogic_outputFork_ready);
assign cmdLogic_dataFork_valid = (io_input_ar_valid && io_input_ar_fork2_logic_linkEnable_1);
assign cmdLogic_dataFork_payload_addr = io_input_ar_payload_addr;
assign cmdLogic_dataFork_payload_id = io_input_ar_payload_id;
assign cmdLogic_dataFork_payload_region = io_input_ar_payload_region;
assign cmdLogic_dataFork_payload_len = io_input_ar_payload_len;
assign cmdLogic_dataFork_payload_size = io_input_ar_payload_size;
assign cmdLogic_dataFork_payload_burst = io_input_ar_payload_burst;
assign cmdLogic_dataFork_payload_lock = io_input_ar_payload_lock;
assign cmdLogic_dataFork_payload_cache = io_input_ar_payload_cache;
assign cmdLogic_dataFork_payload_qos = io_input_ar_payload_qos;
assign cmdLogic_dataFork_payload_prot = io_input_ar_payload_prot;
assign cmdLogic_dataFork_fire = (cmdLogic_dataFork_valid && cmdLogic_dataFork_ready);
assign io_output_ar_valid = cmdLogic_outputFork_valid;
assign cmdLogic_outputFork_ready = io_output_ar_ready;
assign io_output_ar_payload_addr = cmdLogic_outputFork_payload_addr;
assign io_output_ar_payload_region = cmdLogic_outputFork_payload_region;
assign io_output_ar_payload_burst = cmdLogic_outputFork_payload_burst;
assign io_output_ar_payload_lock = cmdLogic_outputFork_payload_lock;
assign io_output_ar_payload_cache = cmdLogic_outputFork_payload_cache;
assign io_output_ar_payload_qos = cmdLogic_outputFork_payload_qos;
assign io_output_ar_payload_prot = cmdLogic_outputFork_payload_prot;
assign cmdLogic_byteCount = _zz_cmdLogic_byteCount[9:0];
assign cmdLogic_incrLen = _zz_cmdLogic_incrLen[10 : 5];
always @(*) begin
io_output_ar_payload_size = 3'b101;
if(when_Axi4Upsizer_l108) begin
io_output_ar_payload_size = io_input_ar_payload_size;
end
end
assign io_output_ar_payload_len = {2'd0, cmdLogic_incrLen};
assign io_output_ar_payload_id = 8'h00;
assign when_Axi4Upsizer_l108 = (io_input_ar_payload_len == 8'h00);
assign dataLogic_cmdPush_valid = cmdLogic_dataFork_valid;
assign cmdLogic_dataFork_ready = dataLogic_cmdPush_ready;
assign dataLogic_cmdPush_payload_startAt = cmdLogic_dataFork_payload_addr[4:0];
assign dataLogic_cmdPush_payload_endAt = _zz_dataLogic_cmdPush_payload_endAt[4:0];
assign dataLogic_cmdPush_payload_size = cmdLogic_dataFork_payload_size;
assign dataLogic_cmdPush_payload_id = cmdLogic_dataFork_payload_id;
assign dataLogic_cmdPush_ready = dataLogic_cmdPush_fifo_io_push_ready;
assign dataLogic_byteCounterNext = ({1'b0,dataLogic_byteCounter} + _zz_dataLogic_byteCounterNext);
assign readOnly_dataLogic_cmdPush_fifo_io_pop_fire = (dataLogic_cmdPush_fifo_io_pop_valid && dataLogic_cmdPush_fifo_io_pop_ready);
assign dataLogic_cmdPush_fifo_io_pop_ready = (! dataLogic_busy);
assign io_input_r_fire = (io_input_r_valid && io_input_r_ready);
assign io_input_r_valid = (io_output_r_valid && dataLogic_busy);
assign io_input_r_payload_last = (io_output_r_payload_last && (dataLogic_byteCounter == dataLogic_byteCounterLast));
assign io_input_r_payload_resp = io_output_r_payload_resp;
assign io_input_r_payload_data = _zz_io_input_r_payload_data;
assign io_input_r_payload_id = dataLogic_id;
assign io_output_r_ready = ((dataLogic_busy && io_input_r_ready) && (io_input_r_payload_last || dataLogic_byteCounterNext[5]));
always @(posedge clk or posedge reset) begin
if(reset) begin
io_input_ar_fork2_logic_linkEnable_0 <= 1'b1;
io_input_ar_fork2_logic_linkEnable_1 <= 1'b1;
dataLogic_busy <= 1'b0;
end else begin
if(cmdLogic_outputFork_fire) begin
io_input_ar_fork2_logic_linkEnable_0 <= 1'b0;
end
if(cmdLogic_dataFork_fire) begin
io_input_ar_fork2_logic_linkEnable_1 <= 1'b0;
end
if(io_input_ar_ready) begin
io_input_ar_fork2_logic_linkEnable_0 <= 1'b1;
io_input_ar_fork2_logic_linkEnable_1 <= 1'b1;
end
if(readOnly_dataLogic_cmdPush_fifo_io_pop_fire) begin
dataLogic_busy <= 1'b1;
end
if(io_input_r_fire) begin
if(io_input_r_payload_last) begin
dataLogic_busy <= 1'b0;
end
end
end
end
always @(posedge clk) begin
if(readOnly_dataLogic_cmdPush_fifo_io_pop_fire) begin
dataLogic_byteCounter <= dataLogic_cmdPush_fifo_io_pop_payload_startAt;
dataLogic_byteCounterLast <= dataLogic_cmdPush_fifo_io_pop_payload_endAt;
dataLogic_size <= dataLogic_cmdPush_fifo_io_pop_payload_size;
dataLogic_id <= dataLogic_cmdPush_fifo_io_pop_payload_id;
end
if(io_input_r_fire) begin
dataLogic_byteCounter <= dataLogic_byteCounterNext[4:0];
end
end
endmodule
module Asic32To256UpsizerStreamFifo_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_push_valid,
output io_push_ready,
input [4:0] io_push_payload_startAt,
input [4:0] io_push_payload_endAt,
input [2:0] io_push_payload_size,
input [7:0] io_push_payload_id,
output io_pop_valid,
input io_pop_ready,
output [4:0] io_pop_payload_startAt,
output [4:0] io_pop_payload_endAt,
output [2:0] io_pop_payload_size,
output [7:0] io_pop_payload_id,
input io_flush,
output [4:0] io_occupancy,
output [4:0] io_availability,
input clk,
input reset
);
reg [20:0] _zz_logic_ram_port0;
wire [3:0] _zz_logic_pushPtr_valueNext;
wire [0:0] _zz_logic_pushPtr_valueNext_1;
wire [3:0] _zz_logic_popPtr_valueNext;
wire [0:0] _zz_logic_popPtr_valueNext_1;
wire _zz__zz_logic_ram_port0;
wire _zz__zz_io_pop_payload_startAt;
wire [20:0] _zz__zz_logic_ram_port1;
wire [3:0] _zz_io_availability;
reg _zz_1;
reg logic_pushPtr_willIncrement;
reg logic_pushPtr_willClear;
reg [3:0] logic_pushPtr_valueNext;
reg [3:0] logic_pushPtr_value;
wire logic_pushPtr_willOverflowIfInc;
wire logic_pushPtr_willOverflow;
reg logic_popPtr_willIncrement;
reg logic_popPtr_willClear;
reg [3:0] logic_popPtr_valueNext;
reg [3:0] logic_popPtr_value;
wire logic_popPtr_willOverflowIfInc;
wire logic_popPtr_willOverflow;
wire logic_ptrMatch;
reg logic_risingOccupancy;
wire logic_pushing;
wire logic_popping;
wire logic_empty;
wire logic_full;
reg _zz_io_pop_valid;
wire [20:0] _zz_io_pop_payload_startAt;
wire when_Stream_l1123;
wire [3:0] logic_ptrDif;
reg [20:0] logic_ram [0:15];
assign _zz_logic_pushPtr_valueNext_1 = logic_pushPtr_willIncrement;
assign _zz_logic_pushPtr_valueNext = {3'd0, _zz_logic_pushPtr_valueNext_1};
assign _zz_logic_popPtr_valueNext_1 = logic_popPtr_willIncrement;
assign _zz_logic_popPtr_valueNext = {3'd0, _zz_logic_popPtr_valueNext_1};
assign _zz_io_availability = (logic_popPtr_value - logic_pushPtr_value);
assign _zz__zz_io_pop_payload_startAt = 1'b1;
assign _zz__zz_logic_ram_port1 = {io_push_payload_id,{io_push_payload_size,{io_push_payload_endAt,io_push_payload_startAt}}};
always @(posedge clk) begin
if(_zz__zz_io_pop_payload_startAt) begin
_zz_logic_ram_port0 <= logic_ram[logic_popPtr_valueNext];
end
end
always @(posedge clk) begin
if(_zz_1) begin
logic_ram[logic_pushPtr_value] <= _zz__zz_logic_ram_port1;
end
end
always @(*) begin
_zz_1 = 1'b0;
if(logic_pushing) begin
_zz_1 = 1'b1;
end
end
always @(*) begin
logic_pushPtr_willIncrement = 1'b0;
if(logic_pushing) begin
logic_pushPtr_willIncrement = 1'b1;
end
end
always @(*) begin
logic_pushPtr_willClear = 1'b0;
if(io_flush) begin
logic_pushPtr_willClear = 1'b1;
end
end
assign logic_pushPtr_willOverflowIfInc = (logic_pushPtr_value == 4'b1111);
assign logic_pushPtr_willOverflow = (logic_pushPtr_willOverflowIfInc && logic_pushPtr_willIncrement);
always @(*) begin
logic_pushPtr_valueNext = (logic_pushPtr_value + _zz_logic_pushPtr_valueNext);
if(logic_pushPtr_willClear) begin
logic_pushPtr_valueNext = 4'b0000;
end
end
always @(*) begin
logic_popPtr_willIncrement = 1'b0;
if(logic_popping) begin
logic_popPtr_willIncrement = 1'b1;
end
end
always @(*) begin
logic_popPtr_willClear = 1'b0;
if(io_flush) begin
logic_popPtr_willClear = 1'b1;
end
end
assign logic_popPtr_willOverflowIfInc = (logic_popPtr_value == 4'b1111);
assign logic_popPtr_willOverflow = (logic_popPtr_willOverflowIfInc && logic_popPtr_willIncrement);
always @(*) begin
logic_popPtr_valueNext = (logic_popPtr_value + _zz_logic_popPtr_valueNext);
if(logic_popPtr_willClear) begin
logic_popPtr_valueNext = 4'b0000;
end
end
assign logic_ptrMatch = (logic_pushPtr_value == logic_popPtr_value);
assign logic_pushing = (io_push_valid && io_push_ready);
assign logic_popping = (io_pop_valid && io_pop_ready);
assign logic_empty = (logic_ptrMatch && (! logic_risingOccupancy));
assign logic_full = (logic_ptrMatch && logic_risingOccupancy);
assign io_push_ready = (! logic_full);
assign io_pop_valid = ((! logic_empty) && (! (_zz_io_pop_valid && (! logic_full))));
assign _zz_io_pop_payload_startAt = _zz_logic_ram_port0;
assign io_pop_payload_startAt = _zz_io_pop_payload_startAt[4 : 0];
assign io_pop_payload_endAt = _zz_io_pop_payload_startAt[9 : 5];
assign io_pop_payload_size = _zz_io_pop_payload_startAt[12 : 10];
assign io_pop_payload_id = _zz_io_pop_payload_startAt[20 : 13];
assign when_Stream_l1123 = (logic_pushing != logic_popping);
assign logic_ptrDif = (logic_pushPtr_value - logic_popPtr_value);
assign io_occupancy = {(logic_risingOccupancy && logic_ptrMatch),logic_ptrDif};
assign io_availability = {((! logic_risingOccupancy) && logic_ptrMatch),_zz_io_availability};
always @(posedge clk or posedge reset) begin
if(reset) begin
logic_pushPtr_value <= 4'b0000;
logic_popPtr_value <= 4'b0000;
logic_risingOccupancy <= 1'b0;
_zz_io_pop_valid <= 1'b0;
end else begin
logic_pushPtr_value <= logic_pushPtr_valueNext;
logic_popPtr_value <= logic_popPtr_valueNext;
_zz_io_pop_valid <= (logic_popPtr_valueNext == logic_pushPtr_value);
if(when_Stream_l1123) begin
logic_risingOccupancy <= logic_pushing;
end
if(io_flush) begin
logic_risingOccupancy <= 1'b0;
end
end
end
endmodule
// Generator : SpinalHDL dev git head : 9cdee03b276638ef8e7a948b606bb7acc6e4c8d0
// Component : Asic32To512UpsizerAxi4Upsizer_5b3f2212c953407c83e1cf8c9cc77ea9
// Git hash : cd16421fb7a4d44431a2445f9a92b82070ab9b8a
`timescale 1ns/1ps
module Asic32To512UpsizerAxi4Upsizer_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_input_aw_valid,
output io_input_aw_ready,
input [31:0] io_input_aw_payload_addr,
input [7:0] io_input_aw_payload_id,
input [3:0] io_input_aw_payload_region,
input [7:0] io_input_aw_payload_len,
input [2:0] io_input_aw_payload_size,
input [1:0] io_input_aw_payload_burst,
input [0:0] io_input_aw_payload_lock,
input [3:0] io_input_aw_payload_cache,
input [3:0] io_input_aw_payload_qos,
input [2:0] io_input_aw_payload_prot,
input io_input_w_valid,
output io_input_w_ready,
input [31:0] io_input_w_payload_data,
input [3:0] io_input_w_payload_strb,
input io_input_w_payload_last,
output io_input_b_valid,
input io_input_b_ready,
output [7:0] io_input_b_payload_id,
output [1:0] io_input_b_payload_resp,
input io_input_ar_valid,
output io_input_ar_ready,
input [31:0] io_input_ar_payload_addr,
input [7:0] io_input_ar_payload_id,
input [3:0] io_input_ar_payload_region,
input [7:0] io_input_ar_payload_len,
input [2:0] io_input_ar_payload_size,
input [1:0] io_input_ar_payload_burst,
input [0:0] io_input_ar_payload_lock,
input [3:0] io_input_ar_payload_cache,
input [3:0] io_input_ar_payload_qos,
input [2:0] io_input_ar_payload_prot,
output io_input_r_valid,
input io_input_r_ready,
output [31:0] io_input_r_payload_data,
output [7:0] io_input_r_payload_id,
output [1:0] io_input_r_payload_resp,
output io_input_r_payload_last,
output io_output_aw_valid,
input io_output_aw_ready,
output [31:0] io_output_aw_payload_addr,
output [7:0] io_output_aw_payload_id,
output [3:0] io_output_aw_payload_region,
output [7:0] io_output_aw_payload_len,
output [2:0] io_output_aw_payload_size,
output [1:0] io_output_aw_payload_burst,
output [0:0] io_output_aw_payload_lock,
output [3:0] io_output_aw_payload_cache,
output [3:0] io_output_aw_payload_qos,
output [2:0] io_output_aw_payload_prot,
output io_output_w_valid,
input io_output_w_ready,
output [511:0] io_output_w_payload_data,
output [63:0] io_output_w_payload_strb,
output io_output_w_payload_last,
input io_output_b_valid,
output io_output_b_ready,
input [7:0] io_output_b_payload_id,
input [1:0] io_output_b_payload_resp,
output io_output_ar_valid,
input io_output_ar_ready,
output [31:0] io_output_ar_payload_addr,
output [7:0] io_output_ar_payload_id,
output [3:0] io_output_ar_payload_region,
output [7:0] io_output_ar_payload_len,
output [2:0] io_output_ar_payload_size,
output [1:0] io_output_ar_payload_burst,
output [0:0] io_output_ar_payload_lock,
output [3:0] io_output_ar_payload_cache,
output [3:0] io_output_ar_payload_qos,
output [2:0] io_output_ar_payload_prot,
input io_output_r_valid,
output io_output_r_ready,
input [511:0] io_output_r_payload_data,
input [7:0] io_output_r_payload_id,
input [1:0] io_output_r_payload_resp,
input io_output_r_payload_last,
input clk,
input reset
);
wire readOnly_io_input_ar_ready;
wire readOnly_io_input_r_valid;
wire [31:0] readOnly_io_input_r_payload_data;
wire [7:0] readOnly_io_input_r_payload_id;
wire [1:0] readOnly_io_input_r_payload_resp;
wire readOnly_io_input_r_payload_last;
wire readOnly_io_output_ar_valid;
wire [31:0] readOnly_io_output_ar_payload_addr;
wire [7:0] readOnly_io_output_ar_payload_id;
wire [3:0] readOnly_io_output_ar_payload_region;
wire [7:0] readOnly_io_output_ar_payload_len;
wire [2:0] readOnly_io_output_ar_payload_size;
wire [1:0] readOnly_io_output_ar_payload_burst;
wire [0:0] readOnly_io_output_ar_payload_lock;
wire [3:0] readOnly_io_output_ar_payload_cache;
wire [3:0] readOnly_io_output_ar_payload_qos;
wire [2:0] readOnly_io_output_ar_payload_prot;
wire readOnly_io_output_r_ready;
wire writeOnly_io_input_aw_ready;
wire writeOnly_io_input_w_ready;
wire writeOnly_io_input_b_valid;
wire [7:0] writeOnly_io_input_b_payload_id;
wire [1:0] writeOnly_io_input_b_payload_resp;
wire writeOnly_io_output_aw_valid;
wire [31:0] writeOnly_io_output_aw_payload_addr;
wire [7:0] writeOnly_io_output_aw_payload_id;
wire [3:0] writeOnly_io_output_aw_payload_region;
wire [7:0] writeOnly_io_output_aw_payload_len;
wire [2:0] writeOnly_io_output_aw_payload_size;
wire [1:0] writeOnly_io_output_aw_payload_burst;
wire [0:0] writeOnly_io_output_aw_payload_lock;
wire [3:0] writeOnly_io_output_aw_payload_cache;
wire [3:0] writeOnly_io_output_aw_payload_qos;
wire [2:0] writeOnly_io_output_aw_payload_prot;
wire writeOnly_io_output_w_valid;
wire [511:0] writeOnly_io_output_w_payload_data;
wire [63:0] writeOnly_io_output_w_payload_strb;
wire writeOnly_io_output_w_payload_last;
wire writeOnly_io_output_b_ready;
Asic32To512UpsizerAxi4ReadOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 readOnly (
.io_input_ar_valid (io_input_ar_valid ), //i
.io_input_ar_ready (readOnly_io_input_ar_ready ), //o
.io_input_ar_payload_addr (io_input_ar_payload_addr[31:0] ), //i
.io_input_ar_payload_id (io_input_ar_payload_id[7:0] ), //i
.io_input_ar_payload_region (io_input_ar_payload_region[3:0] ), //i
.io_input_ar_payload_len (io_input_ar_payload_len[7:0] ), //i
.io_input_ar_payload_size (io_input_ar_payload_size[2:0] ), //i
.io_input_ar_payload_burst (io_input_ar_payload_burst[1:0] ), //i
.io_input_ar_payload_lock (io_input_ar_payload_lock ), //i
.io_input_ar_payload_cache (io_input_ar_payload_cache[3:0] ), //i
.io_input_ar_payload_qos (io_input_ar_payload_qos[3:0] ), //i
.io_input_ar_payload_prot (io_input_ar_payload_prot[2:0] ), //i
.io_input_r_valid (readOnly_io_input_r_valid ), //o
.io_input_r_ready (io_input_r_ready ), //i
.io_input_r_payload_data (readOnly_io_input_r_payload_data[31:0] ), //o
.io_input_r_payload_id (readOnly_io_input_r_payload_id[7:0] ), //o
.io_input_r_payload_resp (readOnly_io_input_r_payload_resp[1:0] ), //o
.io_input_r_payload_last (readOnly_io_input_r_payload_last ), //o
.io_output_ar_valid (readOnly_io_output_ar_valid ), //o
.io_output_ar_ready (io_output_ar_ready ), //i
.io_output_ar_payload_addr (readOnly_io_output_ar_payload_addr[31:0] ), //o
.io_output_ar_payload_id (readOnly_io_output_ar_payload_id[7:0] ), //o
.io_output_ar_payload_region (readOnly_io_output_ar_payload_region[3:0]), //o
.io_output_ar_payload_len (readOnly_io_output_ar_payload_len[7:0] ), //o
.io_output_ar_payload_size (readOnly_io_output_ar_payload_size[2:0] ), //o
.io_output_ar_payload_burst (readOnly_io_output_ar_payload_burst[1:0] ), //o
.io_output_ar_payload_lock (readOnly_io_output_ar_payload_lock ), //o
.io_output_ar_payload_cache (readOnly_io_output_ar_payload_cache[3:0] ), //o
.io_output_ar_payload_qos (readOnly_io_output_ar_payload_qos[3:0] ), //o
.io_output_ar_payload_prot (readOnly_io_output_ar_payload_prot[2:0] ), //o
.io_output_r_valid (io_output_r_valid ), //i
.io_output_r_ready (readOnly_io_output_r_ready ), //o
.io_output_r_payload_data (io_output_r_payload_data[511:0] ), //i
.io_output_r_payload_id (io_output_r_payload_id[7:0] ), //i
.io_output_r_payload_resp (io_output_r_payload_resp[1:0] ), //i
.io_output_r_payload_last (io_output_r_payload_last ), //i
.clk (clk ), //i
.reset (reset ) //i
);
Asic32To512UpsizerAxi4WriteOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 writeOnly (
.io_input_aw_valid (io_input_aw_valid ), //i
.io_input_aw_ready (writeOnly_io_input_aw_ready ), //o
.io_input_aw_payload_addr (io_input_aw_payload_addr[31:0] ), //i
.io_input_aw_payload_id (io_input_aw_payload_id[7:0] ), //i
.io_input_aw_payload_region (io_input_aw_payload_region[3:0] ), //i
.io_input_aw_payload_len (io_input_aw_payload_len[7:0] ), //i
.io_input_aw_payload_size (io_input_aw_payload_size[2:0] ), //i
.io_input_aw_payload_burst (io_input_aw_payload_burst[1:0] ), //i
.io_input_aw_payload_lock (io_input_aw_payload_lock ), //i
.io_input_aw_payload_cache (io_input_aw_payload_cache[3:0] ), //i
.io_input_aw_payload_qos (io_input_aw_payload_qos[3:0] ), //i
.io_input_aw_payload_prot (io_input_aw_payload_prot[2:0] ), //i
.io_input_w_valid (io_input_w_valid ), //i
.io_input_w_ready (writeOnly_io_input_w_ready ), //o
.io_input_w_payload_data (io_input_w_payload_data[31:0] ), //i
.io_input_w_payload_strb (io_input_w_payload_strb[3:0] ), //i
.io_input_w_payload_last (io_input_w_payload_last ), //i
.io_input_b_valid (writeOnly_io_input_b_valid ), //o
.io_input_b_ready (io_input_b_ready ), //i
.io_input_b_payload_id (writeOnly_io_input_b_payload_id[7:0] ), //o
.io_input_b_payload_resp (writeOnly_io_input_b_payload_resp[1:0] ), //o
.io_output_aw_valid (writeOnly_io_output_aw_valid ), //o
.io_output_aw_ready (io_output_aw_ready ), //i
.io_output_aw_payload_addr (writeOnly_io_output_aw_payload_addr[31:0] ), //o
.io_output_aw_payload_id (writeOnly_io_output_aw_payload_id[7:0] ), //o
.io_output_aw_payload_region (writeOnly_io_output_aw_payload_region[3:0]), //o
.io_output_aw_payload_len (writeOnly_io_output_aw_payload_len[7:0] ), //o
.io_output_aw_payload_size (writeOnly_io_output_aw_payload_size[2:0] ), //o
.io_output_aw_payload_burst (writeOnly_io_output_aw_payload_burst[1:0] ), //o
.io_output_aw_payload_lock (writeOnly_io_output_aw_payload_lock ), //o
.io_output_aw_payload_cache (writeOnly_io_output_aw_payload_cache[3:0] ), //o
.io_output_aw_payload_qos (writeOnly_io_output_aw_payload_qos[3:0] ), //o
.io_output_aw_payload_prot (writeOnly_io_output_aw_payload_prot[2:0] ), //o
.io_output_w_valid (writeOnly_io_output_w_valid ), //o
.io_output_w_ready (io_output_w_ready ), //i
.io_output_w_payload_data (writeOnly_io_output_w_payload_data[511:0] ), //o
.io_output_w_payload_strb (writeOnly_io_output_w_payload_strb[63:0] ), //o
.io_output_w_payload_last (writeOnly_io_output_w_payload_last ), //o
.io_output_b_valid (io_output_b_valid ), //i
.io_output_b_ready (writeOnly_io_output_b_ready ), //o
.io_output_b_payload_id (io_output_b_payload_id[7:0] ), //i
.io_output_b_payload_resp (io_output_b_payload_resp[1:0] ), //i
.clk (clk ), //i
.reset (reset ) //i
);
assign io_input_ar_ready = readOnly_io_input_ar_ready;
assign io_input_r_valid = readOnly_io_input_r_valid;
assign io_input_r_payload_data = readOnly_io_input_r_payload_data;
assign io_input_r_payload_id = readOnly_io_input_r_payload_id;
assign io_input_r_payload_resp = readOnly_io_input_r_payload_resp;
assign io_input_r_payload_last = readOnly_io_input_r_payload_last;
assign io_input_aw_ready = writeOnly_io_input_aw_ready;
assign io_input_w_ready = writeOnly_io_input_w_ready;
assign io_input_b_valid = writeOnly_io_input_b_valid;
assign io_input_b_payload_id = writeOnly_io_input_b_payload_id;
assign io_input_b_payload_resp = writeOnly_io_input_b_payload_resp;
assign io_output_ar_valid = readOnly_io_output_ar_valid;
assign io_output_ar_payload_addr = readOnly_io_output_ar_payload_addr;
assign io_output_ar_payload_id = readOnly_io_output_ar_payload_id;
assign io_output_ar_payload_region = readOnly_io_output_ar_payload_region;
assign io_output_ar_payload_len = readOnly_io_output_ar_payload_len;
assign io_output_ar_payload_size = readOnly_io_output_ar_payload_size;
assign io_output_ar_payload_burst = readOnly_io_output_ar_payload_burst;
assign io_output_ar_payload_lock = readOnly_io_output_ar_payload_lock;
assign io_output_ar_payload_cache = readOnly_io_output_ar_payload_cache;
assign io_output_ar_payload_qos = readOnly_io_output_ar_payload_qos;
assign io_output_ar_payload_prot = readOnly_io_output_ar_payload_prot;
assign io_output_r_ready = readOnly_io_output_r_ready;
assign io_output_aw_valid = writeOnly_io_output_aw_valid;
assign io_output_aw_payload_addr = writeOnly_io_output_aw_payload_addr;
assign io_output_aw_payload_id = writeOnly_io_output_aw_payload_id;
assign io_output_aw_payload_region = writeOnly_io_output_aw_payload_region;
assign io_output_aw_payload_len = writeOnly_io_output_aw_payload_len;
assign io_output_aw_payload_size = writeOnly_io_output_aw_payload_size;
assign io_output_aw_payload_burst = writeOnly_io_output_aw_payload_burst;
assign io_output_aw_payload_lock = writeOnly_io_output_aw_payload_lock;
assign io_output_aw_payload_cache = writeOnly_io_output_aw_payload_cache;
assign io_output_aw_payload_qos = writeOnly_io_output_aw_payload_qos;
assign io_output_aw_payload_prot = writeOnly_io_output_aw_payload_prot;
assign io_output_w_valid = writeOnly_io_output_w_valid;
assign io_output_w_payload_data = writeOnly_io_output_w_payload_data;
assign io_output_w_payload_strb = writeOnly_io_output_w_payload_strb;
assign io_output_w_payload_last = writeOnly_io_output_w_payload_last;
assign io_output_b_ready = writeOnly_io_output_b_ready;
endmodule
module Asic32To512UpsizerAxi4WriteOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_input_aw_valid,
output reg io_input_aw_ready,
input [31:0] io_input_aw_payload_addr,
input [7:0] io_input_aw_payload_id,
input [3:0] io_input_aw_payload_region,
input [7:0] io_input_aw_payload_len,
input [2:0] io_input_aw_payload_size,
input [1:0] io_input_aw_payload_burst,
input [0:0] io_input_aw_payload_lock,
input [3:0] io_input_aw_payload_cache,
input [3:0] io_input_aw_payload_qos,
input [2:0] io_input_aw_payload_prot,
input io_input_w_valid,
output io_input_w_ready,
input [31:0] io_input_w_payload_data,
input [3:0] io_input_w_payload_strb,
input io_input_w_payload_last,
output io_input_b_valid,
input io_input_b_ready,
output [7:0] io_input_b_payload_id,
output [1:0] io_input_b_payload_resp,
output io_output_aw_valid,
input io_output_aw_ready,
output [31:0] io_output_aw_payload_addr,
output [7:0] io_output_aw_payload_id,
output [3:0] io_output_aw_payload_region,
output reg [7:0] io_output_aw_payload_len,
output reg [2:0] io_output_aw_payload_size,
output [1:0] io_output_aw_payload_burst,
output [0:0] io_output_aw_payload_lock,
output [3:0] io_output_aw_payload_cache,
output [3:0] io_output_aw_payload_qos,
output [2:0] io_output_aw_payload_prot,
output io_output_w_valid,
input io_output_w_ready,
output [511:0] io_output_w_payload_data,
output [63:0] io_output_w_payload_strb,
output io_output_w_payload_last,
input io_output_b_valid,
output io_output_b_ready,
input [7:0] io_output_b_payload_id,
input [1:0] io_output_b_payload_resp,
input clk,
input reset
);
wire [14:0] _zz_cmdLogic_byteCount;
wire [10:0] _zz_cmdLogic_incrLen;
wire [10:0] _zz_cmdLogic_incrLen_1;
wire [5:0] _zz_cmdLogic_incrLen_2;
wire [6:0] _zz_dataLogic_byteCounterNext;
wire [7:0] _zz_dataLogic_byteCounterNext_1;
reg [63:0] _zz_dataLogic_byteActivity;
wire cmdLogic_outputFork_valid;
wire cmdLogic_outputFork_ready;
wire [31:0] cmdLogic_outputFork_payload_addr;
wire [7:0] cmdLogic_outputFork_payload_id;
wire [3:0] cmdLogic_outputFork_payload_region;
wire [7:0] cmdLogic_outputFork_payload_len;
wire [2:0] cmdLogic_outputFork_payload_size;
wire [1:0] cmdLogic_outputFork_payload_burst;
wire [0:0] cmdLogic_outputFork_payload_lock;
wire [3:0] cmdLogic_outputFork_payload_cache;
wire [3:0] cmdLogic_outputFork_payload_qos;
wire [2:0] cmdLogic_outputFork_payload_prot;
wire cmdLogic_dataFork_valid;
wire cmdLogic_dataFork_ready;
wire [31:0] cmdLogic_dataFork_payload_addr;
wire [7:0] cmdLogic_dataFork_payload_id;
wire [3:0] cmdLogic_dataFork_payload_region;
wire [7:0] cmdLogic_dataFork_payload_len;
wire [2:0] cmdLogic_dataFork_payload_size;
wire [1:0] cmdLogic_dataFork_payload_burst;
wire [0:0] cmdLogic_dataFork_payload_lock;
wire [3:0] cmdLogic_dataFork_payload_cache;
wire [3:0] cmdLogic_dataFork_payload_qos;
wire [2:0] cmdLogic_dataFork_payload_prot;
reg io_input_aw_fork2_logic_linkEnable_0;
reg io_input_aw_fork2_logic_linkEnable_1;
wire when_Stream_l993;
wire when_Stream_l993_1;
wire cmdLogic_outputFork_fire;
wire cmdLogic_dataFork_fire;
wire [9:0] cmdLogic_byteCount;
wire [4:0] cmdLogic_incrLen;
wire when_Axi4Upsizer_l21;
wire when_Axi4Upsizer_l24;
reg [5:0] dataLogic_byteCounter;
reg [2:0] dataLogic_size;
reg dataLogic_outputValid;
reg dataLogic_outputLast;
reg dataLogic_busy;
reg dataLogic_incrementByteCounter;
reg dataLogic_alwaysFire;
wire [6:0] dataLogic_byteCounterNext;
reg [511:0] dataLogic_dataBuffer;
reg [63:0] dataLogic_maskBuffer;
wire [63:0] dataLogic_byteActivity;
wire io_output_w_fire;
wire io_output_w_isStall;
wire io_input_w_fire;
wire when_Axi4Upsizer_l59;
wire when_Axi4Upsizer_l59_1;
wire when_Axi4Upsizer_l59_2;
wire when_Axi4Upsizer_l59_3;
wire when_Axi4Upsizer_l59_4;
wire when_Axi4Upsizer_l59_5;
wire when_Axi4Upsizer_l59_6;
wire when_Axi4Upsizer_l59_7;
wire when_Axi4Upsizer_l59_8;
wire when_Axi4Upsizer_l59_9;
wire when_Axi4Upsizer_l59_10;
wire when_Axi4Upsizer_l59_11;
wire when_Axi4Upsizer_l59_12;
wire when_Axi4Upsizer_l59_13;
wire when_Axi4Upsizer_l59_14;
wire when_Axi4Upsizer_l59_15;
wire when_Axi4Upsizer_l59_16;
wire when_Axi4Upsizer_l59_17;
wire when_Axi4Upsizer_l59_18;
wire when_Axi4Upsizer_l59_19;
wire when_Axi4Upsizer_l59_20;
wire when_Axi4Upsizer_l59_21;
wire when_Axi4Upsizer_l59_22;
wire when_Axi4Upsizer_l59_23;
wire when_Axi4Upsizer_l59_24;
wire when_Axi4Upsizer_l59_25;
wire when_Axi4Upsizer_l59_26;
wire when_Axi4Upsizer_l59_27;
wire when_Axi4Upsizer_l59_28;
wire when_Axi4Upsizer_l59_29;
wire when_Axi4Upsizer_l59_30;
wire when_Axi4Upsizer_l59_31;
wire when_Axi4Upsizer_l59_32;
wire when_Axi4Upsizer_l59_33;
wire when_Axi4Upsizer_l59_34;
wire when_Axi4Upsizer_l59_35;
wire when_Axi4Upsizer_l59_36;
wire when_Axi4Upsizer_l59_37;
wire when_Axi4Upsizer_l59_38;
wire when_Axi4Upsizer_l59_39;
wire when_Axi4Upsizer_l59_40;
wire when_Axi4Upsizer_l59_41;
wire when_Axi4Upsizer_l59_42;
wire when_Axi4Upsizer_l59_43;
wire when_Axi4Upsizer_l59_44;
wire when_Axi4Upsizer_l59_45;
wire when_Axi4Upsizer_l59_46;
wire when_Axi4Upsizer_l59_47;
wire when_Axi4Upsizer_l59_48;
wire when_Axi4Upsizer_l59_49;
wire when_Axi4Upsizer_l59_50;
wire when_Axi4Upsizer_l59_51;
wire when_Axi4Upsizer_l59_52;
wire when_Axi4Upsizer_l59_53;
wire when_Axi4Upsizer_l59_54;
wire when_Axi4Upsizer_l59_55;
wire when_Axi4Upsizer_l59_56;
wire when_Axi4Upsizer_l59_57;
wire when_Axi4Upsizer_l59_58;
wire when_Axi4Upsizer_l59_59;
wire when_Axi4Upsizer_l59_60;
wire when_Axi4Upsizer_l59_61;
wire when_Axi4Upsizer_l59_62;
wire when_Axi4Upsizer_l59_63;
wire cmdLogic_dataFork_fire_1;
wire when_Axi4Upsizer_l68;
wire when_Axi4Upsizer_l68_1;
wire when_Axi4Upsizer_l68_2;
wire when_Axi4Upsizer_l68_3;
wire when_Axi4Upsizer_l68_4;
wire when_Axi4Upsizer_l68_5;
assign _zz_cmdLogic_byteCount = ({7'd0,io_input_aw_payload_len} <<< io_input_aw_payload_size);
assign _zz_cmdLogic_incrLen = ({1'b0,cmdLogic_byteCount} + _zz_cmdLogic_incrLen_1);
assign _zz_cmdLogic_incrLen_2 = io_input_aw_payload_addr[5 : 0];
assign _zz_cmdLogic_incrLen_1 = {5'd0, _zz_cmdLogic_incrLen_2};
assign _zz_dataLogic_byteCounterNext_1 = ({7'd0,1'b1} <<< dataLogic_size);
assign _zz_dataLogic_byteCounterNext = _zz_dataLogic_byteCounterNext_1[6:0];
always @(*) begin
case(dataLogic_size)
3'b000 : _zz_dataLogic_byteActivity = 64'h0000000000000001;
3'b001 : _zz_dataLogic_byteActivity = 64'h0000000000000003;
3'b010 : _zz_dataLogic_byteActivity = 64'h000000000000000f;
3'b011 : _zz_dataLogic_byteActivity = 64'h00000000000000ff;
3'b100 : _zz_dataLogic_byteActivity = 64'h000000000000ffff;
default : _zz_dataLogic_byteActivity = 64'h00000000ffffffff;
endcase
end
always @(*) begin
io_input_aw_ready = 1'b1;
if(when_Stream_l993) begin
io_input_aw_ready = 1'b0;
end
if(when_Stream_l993_1) begin
io_input_aw_ready = 1'b0;
end
end
assign when_Stream_l993 = ((! cmdLogic_outputFork_ready) && io_input_aw_fork2_logic_linkEnable_0);
assign when_Stream_l993_1 = ((! cmdLogic_dataFork_ready) && io_input_aw_fork2_logic_linkEnable_1);
assign cmdLogic_outputFork_valid = (io_input_aw_valid && io_input_aw_fork2_logic_linkEnable_0);
assign cmdLogic_outputFork_payload_addr = io_input_aw_payload_addr;
assign cmdLogic_outputFork_payload_id = io_input_aw_payload_id;
assign cmdLogic_outputFork_payload_region = io_input_aw_payload_region;
assign cmdLogic_outputFork_payload_len = io_input_aw_payload_len;
assign cmdLogic_outputFork_payload_size = io_input_aw_payload_size;
assign cmdLogic_outputFork_payload_burst = io_input_aw_payload_burst;
assign cmdLogic_outputFork_payload_lock = io_input_aw_payload_lock;
assign cmdLogic_outputFork_payload_cache = io_input_aw_payload_cache;
assign cmdLogic_outputFork_payload_qos = io_input_aw_payload_qos;
assign cmdLogic_outputFork_payload_prot = io_input_aw_payload_prot;
assign cmdLogic_outputFork_fire = (cmdLogic_outputFork_valid && cmdLogic_outputFork_ready);
assign cmdLogic_dataFork_valid = (io_input_aw_valid && io_input_aw_fork2_logic_linkEnable_1);
assign cmdLogic_dataFork_payload_addr = io_input_aw_payload_addr;
assign cmdLogic_dataFork_payload_id = io_input_aw_payload_id;
assign cmdLogic_dataFork_payload_region = io_input_aw_payload_region;
assign cmdLogic_dataFork_payload_len = io_input_aw_payload_len;
assign cmdLogic_dataFork_payload_size = io_input_aw_payload_size;
assign cmdLogic_dataFork_payload_burst = io_input_aw_payload_burst;
assign cmdLogic_dataFork_payload_lock = io_input_aw_payload_lock;
assign cmdLogic_dataFork_payload_cache = io_input_aw_payload_cache;
assign cmdLogic_dataFork_payload_qos = io_input_aw_payload_qos;
assign cmdLogic_dataFork_payload_prot = io_input_aw_payload_prot;
assign cmdLogic_dataFork_fire = (cmdLogic_dataFork_valid && cmdLogic_dataFork_ready);
assign io_output_aw_valid = cmdLogic_outputFork_valid;
assign cmdLogic_outputFork_ready = io_output_aw_ready;
assign io_output_aw_payload_addr = cmdLogic_outputFork_payload_addr;
assign io_output_aw_payload_id = cmdLogic_outputFork_payload_id;
assign io_output_aw_payload_region = cmdLogic_outputFork_payload_region;
always @(*) begin
io_output_aw_payload_len = cmdLogic_outputFork_payload_len;
if(when_Axi4Upsizer_l21) begin
io_output_aw_payload_len = {3'd0, cmdLogic_incrLen};
end
end
always @(*) begin
io_output_aw_payload_size = cmdLogic_outputFork_payload_size;
if(when_Axi4Upsizer_l21) begin
io_output_aw_payload_size = 3'b110;
if(when_Axi4Upsizer_l24) begin
io_output_aw_payload_size = io_input_aw_payload_size;
end
end
end
assign io_output_aw_payload_burst = cmdLogic_outputFork_payload_burst;
assign io_output_aw_payload_lock = cmdLogic_outputFork_payload_lock;
assign io_output_aw_payload_cache = cmdLogic_outputFork_payload_cache;
assign io_output_aw_payload_qos = cmdLogic_outputFork_payload_qos;
assign io_output_aw_payload_prot = cmdLogic_outputFork_payload_prot;
assign cmdLogic_byteCount = _zz_cmdLogic_byteCount[9:0];
assign cmdLogic_incrLen = _zz_cmdLogic_incrLen[10 : 6];
assign when_Axi4Upsizer_l21 = (io_output_aw_payload_burst == 2'b01);
assign when_Axi4Upsizer_l24 = (io_input_aw_payload_len == 8'h00);
assign dataLogic_byteCounterNext = ({1'b0,dataLogic_byteCounter} + _zz_dataLogic_byteCounterNext);
assign dataLogic_byteActivity = (_zz_dataLogic_byteActivity <<< dataLogic_byteCounter);
assign io_output_w_fire = (io_output_w_valid && io_output_w_ready);
assign io_output_w_valid = dataLogic_outputValid;
assign io_output_w_isStall = (io_output_w_valid && (! io_output_w_ready));
assign io_input_w_ready = (dataLogic_busy && (! io_output_w_isStall));
assign io_output_w_payload_data = dataLogic_dataBuffer;
assign io_output_w_payload_strb = dataLogic_maskBuffer;
assign io_output_w_payload_last = dataLogic_outputLast;
assign io_input_w_fire = (io_input_w_valid && io_input_w_ready);
assign when_Axi4Upsizer_l59 = dataLogic_byteActivity[0];
assign when_Axi4Upsizer_l59_1 = dataLogic_byteActivity[1];
assign when_Axi4Upsizer_l59_2 = dataLogic_byteActivity[2];
assign when_Axi4Upsizer_l59_3 = dataLogic_byteActivity[3];
assign when_Axi4Upsizer_l59_4 = dataLogic_byteActivity[4];
assign when_Axi4Upsizer_l59_5 = dataLogic_byteActivity[5];
assign when_Axi4Upsizer_l59_6 = dataLogic_byteActivity[6];
assign when_Axi4Upsizer_l59_7 = dataLogic_byteActivity[7];
assign when_Axi4Upsizer_l59_8 = dataLogic_byteActivity[8];
assign when_Axi4Upsizer_l59_9 = dataLogic_byteActivity[9];
assign when_Axi4Upsizer_l59_10 = dataLogic_byteActivity[10];
assign when_Axi4Upsizer_l59_11 = dataLogic_byteActivity[11];
assign when_Axi4Upsizer_l59_12 = dataLogic_byteActivity[12];
assign when_Axi4Upsizer_l59_13 = dataLogic_byteActivity[13];
assign when_Axi4Upsizer_l59_14 = dataLogic_byteActivity[14];
assign when_Axi4Upsizer_l59_15 = dataLogic_byteActivity[15];
assign when_Axi4Upsizer_l59_16 = dataLogic_byteActivity[16];
assign when_Axi4Upsizer_l59_17 = dataLogic_byteActivity[17];
assign when_Axi4Upsizer_l59_18 = dataLogic_byteActivity[18];
assign when_Axi4Upsizer_l59_19 = dataLogic_byteActivity[19];
assign when_Axi4Upsizer_l59_20 = dataLogic_byteActivity[20];
assign when_Axi4Upsizer_l59_21 = dataLogic_byteActivity[21];
assign when_Axi4Upsizer_l59_22 = dataLogic_byteActivity[22];
assign when_Axi4Upsizer_l59_23 = dataLogic_byteActivity[23];
assign when_Axi4Upsizer_l59_24 = dataLogic_byteActivity[24];
assign when_Axi4Upsizer_l59_25 = dataLogic_byteActivity[25];
assign when_Axi4Upsizer_l59_26 = dataLogic_byteActivity[26];
assign when_Axi4Upsizer_l59_27 = dataLogic_byteActivity[27];
assign when_Axi4Upsizer_l59_28 = dataLogic_byteActivity[28];
assign when_Axi4Upsizer_l59_29 = dataLogic_byteActivity[29];
assign when_Axi4Upsizer_l59_30 = dataLogic_byteActivity[30];
assign when_Axi4Upsizer_l59_31 = dataLogic_byteActivity[31];
assign when_Axi4Upsizer_l59_32 = dataLogic_byteActivity[32];
assign when_Axi4Upsizer_l59_33 = dataLogic_byteActivity[33];
assign when_Axi4Upsizer_l59_34 = dataLogic_byteActivity[34];
assign when_Axi4Upsizer_l59_35 = dataLogic_byteActivity[35];
assign when_Axi4Upsizer_l59_36 = dataLogic_byteActivity[36];
assign when_Axi4Upsizer_l59_37 = dataLogic_byteActivity[37];
assign when_Axi4Upsizer_l59_38 = dataLogic_byteActivity[38];
assign when_Axi4Upsizer_l59_39 = dataLogic_byteActivity[39];
assign when_Axi4Upsizer_l59_40 = dataLogic_byteActivity[40];
assign when_Axi4Upsizer_l59_41 = dataLogic_byteActivity[41];
assign when_Axi4Upsizer_l59_42 = dataLogic_byteActivity[42];
assign when_Axi4Upsizer_l59_43 = dataLogic_byteActivity[43];
assign when_Axi4Upsizer_l59_44 = dataLogic_byteActivity[44];
assign when_Axi4Upsizer_l59_45 = dataLogic_byteActivity[45];
assign when_Axi4Upsizer_l59_46 = dataLogic_byteActivity[46];
assign when_Axi4Upsizer_l59_47 = dataLogic_byteActivity[47];
assign when_Axi4Upsizer_l59_48 = dataLogic_byteActivity[48];
assign when_Axi4Upsizer_l59_49 = dataLogic_byteActivity[49];
assign when_Axi4Upsizer_l59_50 = dataLogic_byteActivity[50];
assign when_Axi4Upsizer_l59_51 = dataLogic_byteActivity[51];
assign when_Axi4Upsizer_l59_52 = dataLogic_byteActivity[52];
assign when_Axi4Upsizer_l59_53 = dataLogic_byteActivity[53];
assign when_Axi4Upsizer_l59_54 = dataLogic_byteActivity[54];
assign when_Axi4Upsizer_l59_55 = dataLogic_byteActivity[55];
assign when_Axi4Upsizer_l59_56 = dataLogic_byteActivity[56];
assign when_Axi4Upsizer_l59_57 = dataLogic_byteActivity[57];
assign when_Axi4Upsizer_l59_58 = dataLogic_byteActivity[58];
assign when_Axi4Upsizer_l59_59 = dataLogic_byteActivity[59];
assign when_Axi4Upsizer_l59_60 = dataLogic_byteActivity[60];
assign when_Axi4Upsizer_l59_61 = dataLogic_byteActivity[61];
assign when_Axi4Upsizer_l59_62 = dataLogic_byteActivity[62];
assign when_Axi4Upsizer_l59_63 = dataLogic_byteActivity[63];
assign cmdLogic_dataFork_fire_1 = (cmdLogic_dataFork_valid && cmdLogic_dataFork_ready);
assign when_Axi4Upsizer_l68 = (3'b000 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_1 = (3'b001 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_2 = (3'b010 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_3 = (3'b011 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_4 = (3'b100 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_5 = (3'b101 < cmdLogic_dataFork_payload_size);
assign cmdLogic_dataFork_ready = (! dataLogic_busy);
assign io_input_b_valid = io_output_b_valid;
assign io_output_b_ready = io_input_b_ready;
assign io_input_b_payload_id = io_output_b_payload_id;
assign io_input_b_payload_resp = io_output_b_payload_resp;
always @(posedge clk or posedge reset) begin
if(reset) begin
io_input_aw_fork2_logic_linkEnable_0 <= 1'b1;
io_input_aw_fork2_logic_linkEnable_1 <= 1'b1;
dataLogic_outputValid <= 1'b0;
dataLogic_busy <= 1'b0;
dataLogic_maskBuffer <= 64'h0000000000000000;
end else begin
if(cmdLogic_outputFork_fire) begin
io_input_aw_fork2_logic_linkEnable_0 <= 1'b0;
end
if(cmdLogic_dataFork_fire) begin
io_input_aw_fork2_logic_linkEnable_1 <= 1'b0;
end
if(io_input_aw_ready) begin
io_input_aw_fork2_logic_linkEnable_0 <= 1'b1;
io_input_aw_fork2_logic_linkEnable_1 <= 1'b1;
end
if(io_output_w_ready) begin
dataLogic_outputValid <= 1'b0;
end
if(io_output_w_fire) begin
dataLogic_maskBuffer <= 64'h0000000000000000;
end
if(io_input_w_fire) begin
dataLogic_outputValid <= ((dataLogic_byteCounterNext[6] || io_input_w_payload_last) || dataLogic_alwaysFire);
if(io_input_w_payload_last) begin
dataLogic_busy <= 1'b0;
end
if(when_Axi4Upsizer_l59) begin
dataLogic_maskBuffer[0] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_1) begin
dataLogic_maskBuffer[1] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_2) begin
dataLogic_maskBuffer[2] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_3) begin
dataLogic_maskBuffer[3] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_4) begin
dataLogic_maskBuffer[4] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_5) begin
dataLogic_maskBuffer[5] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_6) begin
dataLogic_maskBuffer[6] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_7) begin
dataLogic_maskBuffer[7] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_8) begin
dataLogic_maskBuffer[8] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_9) begin
dataLogic_maskBuffer[9] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_10) begin
dataLogic_maskBuffer[10] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_11) begin
dataLogic_maskBuffer[11] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_12) begin
dataLogic_maskBuffer[12] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_13) begin
dataLogic_maskBuffer[13] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_14) begin
dataLogic_maskBuffer[14] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_15) begin
dataLogic_maskBuffer[15] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_16) begin
dataLogic_maskBuffer[16] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_17) begin
dataLogic_maskBuffer[17] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_18) begin
dataLogic_maskBuffer[18] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_19) begin
dataLogic_maskBuffer[19] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_20) begin
dataLogic_maskBuffer[20] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_21) begin
dataLogic_maskBuffer[21] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_22) begin
dataLogic_maskBuffer[22] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_23) begin
dataLogic_maskBuffer[23] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_24) begin
dataLogic_maskBuffer[24] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_25) begin
dataLogic_maskBuffer[25] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_26) begin
dataLogic_maskBuffer[26] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_27) begin
dataLogic_maskBuffer[27] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_28) begin
dataLogic_maskBuffer[28] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_29) begin
dataLogic_maskBuffer[29] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_30) begin
dataLogic_maskBuffer[30] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_31) begin
dataLogic_maskBuffer[31] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_32) begin
dataLogic_maskBuffer[32] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_33) begin
dataLogic_maskBuffer[33] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_34) begin
dataLogic_maskBuffer[34] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_35) begin
dataLogic_maskBuffer[35] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_36) begin
dataLogic_maskBuffer[36] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_37) begin
dataLogic_maskBuffer[37] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_38) begin
dataLogic_maskBuffer[38] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_39) begin
dataLogic_maskBuffer[39] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_40) begin
dataLogic_maskBuffer[40] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_41) begin
dataLogic_maskBuffer[41] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_42) begin
dataLogic_maskBuffer[42] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_43) begin
dataLogic_maskBuffer[43] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_44) begin
dataLogic_maskBuffer[44] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_45) begin
dataLogic_maskBuffer[45] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_46) begin
dataLogic_maskBuffer[46] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_47) begin
dataLogic_maskBuffer[47] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_48) begin
dataLogic_maskBuffer[48] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_49) begin
dataLogic_maskBuffer[49] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_50) begin
dataLogic_maskBuffer[50] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_51) begin
dataLogic_maskBuffer[51] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_52) begin
dataLogic_maskBuffer[52] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_53) begin
dataLogic_maskBuffer[53] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_54) begin
dataLogic_maskBuffer[54] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_55) begin
dataLogic_maskBuffer[55] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_56) begin
dataLogic_maskBuffer[56] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_57) begin
dataLogic_maskBuffer[57] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_58) begin
dataLogic_maskBuffer[58] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_59) begin
dataLogic_maskBuffer[59] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_60) begin
dataLogic_maskBuffer[60] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_61) begin
dataLogic_maskBuffer[61] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_62) begin
dataLogic_maskBuffer[62] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_63) begin
dataLogic_maskBuffer[63] <= io_input_w_payload_strb[3];
end
end
if(cmdLogic_dataFork_fire_1) begin
dataLogic_busy <= 1'b1;
end
end
end
always @(posedge clk) begin
if(io_input_w_fire) begin
if(dataLogic_incrementByteCounter) begin
dataLogic_byteCounter <= dataLogic_byteCounterNext[5:0];
end
dataLogic_outputLast <= io_input_w_payload_last;
if(when_Axi4Upsizer_l59) begin
dataLogic_dataBuffer[7 : 0] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_1) begin
dataLogic_dataBuffer[15 : 8] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_2) begin
dataLogic_dataBuffer[23 : 16] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_3) begin
dataLogic_dataBuffer[31 : 24] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_4) begin
dataLogic_dataBuffer[39 : 32] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_5) begin
dataLogic_dataBuffer[47 : 40] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_6) begin
dataLogic_dataBuffer[55 : 48] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_7) begin
dataLogic_dataBuffer[63 : 56] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_8) begin
dataLogic_dataBuffer[71 : 64] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_9) begin
dataLogic_dataBuffer[79 : 72] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_10) begin
dataLogic_dataBuffer[87 : 80] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_11) begin
dataLogic_dataBuffer[95 : 88] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_12) begin
dataLogic_dataBuffer[103 : 96] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_13) begin
dataLogic_dataBuffer[111 : 104] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_14) begin
dataLogic_dataBuffer[119 : 112] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_15) begin
dataLogic_dataBuffer[127 : 120] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_16) begin
dataLogic_dataBuffer[135 : 128] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_17) begin
dataLogic_dataBuffer[143 : 136] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_18) begin
dataLogic_dataBuffer[151 : 144] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_19) begin
dataLogic_dataBuffer[159 : 152] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_20) begin
dataLogic_dataBuffer[167 : 160] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_21) begin
dataLogic_dataBuffer[175 : 168] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_22) begin
dataLogic_dataBuffer[183 : 176] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_23) begin
dataLogic_dataBuffer[191 : 184] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_24) begin
dataLogic_dataBuffer[199 : 192] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_25) begin
dataLogic_dataBuffer[207 : 200] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_26) begin
dataLogic_dataBuffer[215 : 208] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_27) begin
dataLogic_dataBuffer[223 : 216] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_28) begin
dataLogic_dataBuffer[231 : 224] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_29) begin
dataLogic_dataBuffer[239 : 232] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_30) begin
dataLogic_dataBuffer[247 : 240] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_31) begin
dataLogic_dataBuffer[255 : 248] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_32) begin
dataLogic_dataBuffer[263 : 256] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_33) begin
dataLogic_dataBuffer[271 : 264] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_34) begin
dataLogic_dataBuffer[279 : 272] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_35) begin
dataLogic_dataBuffer[287 : 280] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_36) begin
dataLogic_dataBuffer[295 : 288] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_37) begin
dataLogic_dataBuffer[303 : 296] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_38) begin
dataLogic_dataBuffer[311 : 304] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_39) begin
dataLogic_dataBuffer[319 : 312] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_40) begin
dataLogic_dataBuffer[327 : 320] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_41) begin
dataLogic_dataBuffer[335 : 328] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_42) begin
dataLogic_dataBuffer[343 : 336] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_43) begin
dataLogic_dataBuffer[351 : 344] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_44) begin
dataLogic_dataBuffer[359 : 352] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_45) begin
dataLogic_dataBuffer[367 : 360] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_46) begin
dataLogic_dataBuffer[375 : 368] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_47) begin
dataLogic_dataBuffer[383 : 376] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_48) begin
dataLogic_dataBuffer[391 : 384] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_49) begin
dataLogic_dataBuffer[399 : 392] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_50) begin
dataLogic_dataBuffer[407 : 400] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_51) begin
dataLogic_dataBuffer[415 : 408] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_52) begin
dataLogic_dataBuffer[423 : 416] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_53) begin
dataLogic_dataBuffer[431 : 424] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_54) begin
dataLogic_dataBuffer[439 : 432] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_55) begin
dataLogic_dataBuffer[447 : 440] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_56) begin
dataLogic_dataBuffer[455 : 448] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_57) begin
dataLogic_dataBuffer[463 : 456] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_58) begin
dataLogic_dataBuffer[471 : 464] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_59) begin
dataLogic_dataBuffer[479 : 472] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_60) begin
dataLogic_dataBuffer[487 : 480] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_61) begin
dataLogic_dataBuffer[495 : 488] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_62) begin
dataLogic_dataBuffer[503 : 496] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_63) begin
dataLogic_dataBuffer[511 : 504] <= io_input_w_payload_data[31 : 24];
end
end
if(cmdLogic_dataFork_fire_1) begin
dataLogic_byteCounter <= cmdLogic_dataFork_payload_addr[5:0];
if(when_Axi4Upsizer_l68) begin
dataLogic_byteCounter[0] <= 1'b0;
end
if(when_Axi4Upsizer_l68_1) begin
dataLogic_byteCounter[1] <= 1'b0;
end
if(when_Axi4Upsizer_l68_2) begin
dataLogic_byteCounter[2] <= 1'b0;
end
if(when_Axi4Upsizer_l68_3) begin
dataLogic_byteCounter[3] <= 1'b0;
end
if(when_Axi4Upsizer_l68_4) begin
dataLogic_byteCounter[4] <= 1'b0;
end
if(when_Axi4Upsizer_l68_5) begin
dataLogic_byteCounter[5] <= 1'b0;
end
dataLogic_size <= cmdLogic_dataFork_payload_size;
dataLogic_alwaysFire <= (! (cmdLogic_dataFork_payload_burst == 2'b01));
dataLogic_incrementByteCounter <= (! (cmdLogic_dataFork_payload_burst == 2'b00));
end
end
endmodule
module Asic32To512UpsizerAxi4ReadOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_input_ar_valid,
output reg io_input_ar_ready,
input [31:0] io_input_ar_payload_addr,
input [7:0] io_input_ar_payload_id,
input [3:0] io_input_ar_payload_region,
input [7:0] io_input_ar_payload_len,
input [2:0] io_input_ar_payload_size,
input [1:0] io_input_ar_payload_burst,
input [0:0] io_input_ar_payload_lock,
input [3:0] io_input_ar_payload_cache,
input [3:0] io_input_ar_payload_qos,
input [2:0] io_input_ar_payload_prot,
output io_input_r_valid,
input io_input_r_ready,
output [31:0] io_input_r_payload_data,
output [7:0] io_input_r_payload_id,
output [1:0] io_input_r_payload_resp,
output io_input_r_payload_last,
output io_output_ar_valid,
input io_output_ar_ready,
output [31:0] io_output_ar_payload_addr,
output [7:0] io_output_ar_payload_id,
output [3:0] io_output_ar_payload_region,
output [7:0] io_output_ar_payload_len,
output reg [2:0] io_output_ar_payload_size,
output [1:0] io_output_ar_payload_burst,
output [0:0] io_output_ar_payload_lock,
output [3:0] io_output_ar_payload_cache,
output [3:0] io_output_ar_payload_qos,
output [2:0] io_output_ar_payload_prot,
input io_output_r_valid,
output io_output_r_ready,
input [511:0] io_output_r_payload_data,
input [7:0] io_output_r_payload_id,
input [1:0] io_output_r_payload_resp,
input io_output_r_payload_last,
input clk,
input reset
);
wire dataLogic_cmdPush_fifo_io_pop_ready;
wire dataLogic_cmdPush_fifo_io_push_ready;
wire dataLogic_cmdPush_fifo_io_pop_valid;
wire [5:0] dataLogic_cmdPush_fifo_io_pop_payload_startAt;
wire [5:0] dataLogic_cmdPush_fifo_io_pop_payload_endAt;
wire [2:0] dataLogic_cmdPush_fifo_io_pop_payload_size;
wire [7:0] dataLogic_cmdPush_fifo_io_pop_payload_id;
wire [4:0] dataLogic_cmdPush_fifo_io_occupancy;
wire [4:0] dataLogic_cmdPush_fifo_io_availability;
wire [14:0] _zz_cmdLogic_byteCount;
wire [10:0] _zz_cmdLogic_incrLen;
wire [10:0] _zz_cmdLogic_incrLen_1;
wire [5:0] _zz_cmdLogic_incrLen_2;
wire [31:0] _zz_dataLogic_cmdPush_payload_endAt;
wire [31:0] _zz_dataLogic_cmdPush_payload_endAt_1;
wire [14:0] _zz_dataLogic_cmdPush_payload_endAt_2;
wire [6:0] _zz_dataLogic_byteCounterNext;
wire [7:0] _zz_dataLogic_byteCounterNext_1;
reg [31:0] _zz_io_input_r_payload_data;
wire [3:0] _zz_io_input_r_payload_data_1;
wire cmdLogic_outputFork_valid;
wire cmdLogic_outputFork_ready;
wire [31:0] cmdLogic_outputFork_payload_addr;
wire [7:0] cmdLogic_outputFork_payload_id;
wire [3:0] cmdLogic_outputFork_payload_region;
wire [7:0] cmdLogic_outputFork_payload_len;
wire [2:0] cmdLogic_outputFork_payload_size;
wire [1:0] cmdLogic_outputFork_payload_burst;
wire [0:0] cmdLogic_outputFork_payload_lock;
wire [3:0] cmdLogic_outputFork_payload_cache;
wire [3:0] cmdLogic_outputFork_payload_qos;
wire [2:0] cmdLogic_outputFork_payload_prot;
wire cmdLogic_dataFork_valid;
wire cmdLogic_dataFork_ready;
wire [31:0] cmdLogic_dataFork_payload_addr;
wire [7:0] cmdLogic_dataFork_payload_id;
wire [3:0] cmdLogic_dataFork_payload_region;
wire [7:0] cmdLogic_dataFork_payload_len;
wire [2:0] cmdLogic_dataFork_payload_size;
wire [1:0] cmdLogic_dataFork_payload_burst;
wire [0:0] cmdLogic_dataFork_payload_lock;
wire [3:0] cmdLogic_dataFork_payload_cache;
wire [3:0] cmdLogic_dataFork_payload_qos;
wire [2:0] cmdLogic_dataFork_payload_prot;
reg io_input_ar_fork2_logic_linkEnable_0;
reg io_input_ar_fork2_logic_linkEnable_1;
wire when_Stream_l993;
wire when_Stream_l993_1;
wire cmdLogic_outputFork_fire;
wire cmdLogic_dataFork_fire;
wire [9:0] cmdLogic_byteCount;
wire [4:0] cmdLogic_incrLen;
wire when_Axi4Upsizer_l108;
wire dataLogic_cmdPush_valid;
wire dataLogic_cmdPush_ready;
wire [5:0] dataLogic_cmdPush_payload_startAt;
wire [5:0] dataLogic_cmdPush_payload_endAt;
wire [2:0] dataLogic_cmdPush_payload_size;
wire [7:0] dataLogic_cmdPush_payload_id;
reg [2:0] dataLogic_size;
reg dataLogic_busy;
reg [7:0] dataLogic_id;
reg [5:0] dataLogic_byteCounter;
reg [5:0] dataLogic_byteCounterLast;
wire [6:0] dataLogic_byteCounterNext;
wire readOnly_dataLogic_cmdPush_fifo_io_pop_fire;
wire io_input_r_fire;
assign _zz_cmdLogic_byteCount = ({7'd0,io_input_ar_payload_len} <<< io_input_ar_payload_size);
assign _zz_cmdLogic_incrLen = ({1'b0,cmdLogic_byteCount} + _zz_cmdLogic_incrLen_1);
assign _zz_cmdLogic_incrLen_2 = io_input_ar_payload_addr[5 : 0];
assign _zz_cmdLogic_incrLen_1 = {5'd0, _zz_cmdLogic_incrLen_2};
assign _zz_dataLogic_cmdPush_payload_endAt = (cmdLogic_dataFork_payload_addr + _zz_dataLogic_cmdPush_payload_endAt_1);
assign _zz_dataLogic_cmdPush_payload_endAt_2 = ({7'd0,cmdLogic_dataFork_payload_len} <<< cmdLogic_dataFork_payload_size);
assign _zz_dataLogic_cmdPush_payload_endAt_1 = {17'd0, _zz_dataLogic_cmdPush_payload_endAt_2};
assign _zz_dataLogic_byteCounterNext_1 = ({7'd0,1'b1} <<< dataLogic_size);
assign _zz_dataLogic_byteCounterNext = _zz_dataLogic_byteCounterNext_1[6:0];
assign _zz_io_input_r_payload_data_1 = (dataLogic_byteCounter >>> 2'd2);
Asic32To512UpsizerStreamFifo_5b3f2212c953407c83e1cf8c9cc77ea9 dataLogic_cmdPush_fifo (
.io_push_valid (dataLogic_cmdPush_valid ), //i
.io_push_ready (dataLogic_cmdPush_fifo_io_push_ready ), //o
.io_push_payload_startAt (dataLogic_cmdPush_payload_startAt[5:0] ), //i
.io_push_payload_endAt (dataLogic_cmdPush_payload_endAt[5:0] ), //i
.io_push_payload_size (dataLogic_cmdPush_payload_size[2:0] ), //i
.io_push_payload_id (dataLogic_cmdPush_payload_id[7:0] ), //i
.io_pop_valid (dataLogic_cmdPush_fifo_io_pop_valid ), //o
.io_pop_ready (dataLogic_cmdPush_fifo_io_pop_ready ), //i
.io_pop_payload_startAt (dataLogic_cmdPush_fifo_io_pop_payload_startAt[5:0]), //o
.io_pop_payload_endAt (dataLogic_cmdPush_fifo_io_pop_payload_endAt[5:0] ), //o
.io_pop_payload_size (dataLogic_cmdPush_fifo_io_pop_payload_size[2:0] ), //o
.io_pop_payload_id (dataLogic_cmdPush_fifo_io_pop_payload_id[7:0] ), //o
.io_flush (1'b0 ), //i
.io_occupancy (dataLogic_cmdPush_fifo_io_occupancy[4:0] ), //o
.io_availability (dataLogic_cmdPush_fifo_io_availability[4:0] ), //o
.clk (clk ), //i
.reset (reset ) //i
);
always @(*) begin
case(_zz_io_input_r_payload_data_1)
4'b0000 : _zz_io_input_r_payload_data = io_output_r_payload_data[31 : 0];
4'b0001 : _zz_io_input_r_payload_data = io_output_r_payload_data[63 : 32];
4'b0010 : _zz_io_input_r_payload_data = io_output_r_payload_data[95 : 64];
4'b0011 : _zz_io_input_r_payload_data = io_output_r_payload_data[127 : 96];
4'b0100 : _zz_io_input_r_payload_data = io_output_r_payload_data[159 : 128];
4'b0101 : _zz_io_input_r_payload_data = io_output_r_payload_data[191 : 160];
4'b0110 : _zz_io_input_r_payload_data = io_output_r_payload_data[223 : 192];
4'b0111 : _zz_io_input_r_payload_data = io_output_r_payload_data[255 : 224];
4'b1000 : _zz_io_input_r_payload_data = io_output_r_payload_data[287 : 256];
4'b1001 : _zz_io_input_r_payload_data = io_output_r_payload_data[319 : 288];
4'b1010 : _zz_io_input_r_payload_data = io_output_r_payload_data[351 : 320];
4'b1011 : _zz_io_input_r_payload_data = io_output_r_payload_data[383 : 352];
4'b1100 : _zz_io_input_r_payload_data = io_output_r_payload_data[415 : 384];
4'b1101 : _zz_io_input_r_payload_data = io_output_r_payload_data[447 : 416];
4'b1110 : _zz_io_input_r_payload_data = io_output_r_payload_data[479 : 448];
default : _zz_io_input_r_payload_data = io_output_r_payload_data[511 : 480];
endcase
end
always @(*) begin
io_input_ar_ready = 1'b1;
if(when_Stream_l993) begin
io_input_ar_ready = 1'b0;
end
if(when_Stream_l993_1) begin
io_input_ar_ready = 1'b0;
end
end
assign when_Stream_l993 = ((! cmdLogic_outputFork_ready) && io_input_ar_fork2_logic_linkEnable_0);
assign when_Stream_l993_1 = ((! cmdLogic_dataFork_ready) && io_input_ar_fork2_logic_linkEnable_1);
assign cmdLogic_outputFork_valid = (io_input_ar_valid && io_input_ar_fork2_logic_linkEnable_0);
assign cmdLogic_outputFork_payload_addr = io_input_ar_payload_addr;
assign cmdLogic_outputFork_payload_id = io_input_ar_payload_id;
assign cmdLogic_outputFork_payload_region = io_input_ar_payload_region;
assign cmdLogic_outputFork_payload_len = io_input_ar_payload_len;
assign cmdLogic_outputFork_payload_size = io_input_ar_payload_size;
assign cmdLogic_outputFork_payload_burst = io_input_ar_payload_burst;
assign cmdLogic_outputFork_payload_lock = io_input_ar_payload_lock;
assign cmdLogic_outputFork_payload_cache = io_input_ar_payload_cache;
assign cmdLogic_outputFork_payload_qos = io_input_ar_payload_qos;
assign cmdLogic_outputFork_payload_prot = io_input_ar_payload_prot;
assign cmdLogic_outputFork_fire = (cmdLogic_outputFork_valid && cmdLogic_outputFork_ready);
assign cmdLogic_dataFork_valid = (io_input_ar_valid && io_input_ar_fork2_logic_linkEnable_1);
assign cmdLogic_dataFork_payload_addr = io_input_ar_payload_addr;
assign cmdLogic_dataFork_payload_id = io_input_ar_payload_id;
assign cmdLogic_dataFork_payload_region = io_input_ar_payload_region;
assign cmdLogic_dataFork_payload_len = io_input_ar_payload_len;
assign cmdLogic_dataFork_payload_size = io_input_ar_payload_size;
assign cmdLogic_dataFork_payload_burst = io_input_ar_payload_burst;
assign cmdLogic_dataFork_payload_lock = io_input_ar_payload_lock;
assign cmdLogic_dataFork_payload_cache = io_input_ar_payload_cache;
assign cmdLogic_dataFork_payload_qos = io_input_ar_payload_qos;
assign cmdLogic_dataFork_payload_prot = io_input_ar_payload_prot;
assign cmdLogic_dataFork_fire = (cmdLogic_dataFork_valid && cmdLogic_dataFork_ready);
assign io_output_ar_valid = cmdLogic_outputFork_valid;
assign cmdLogic_outputFork_ready = io_output_ar_ready;
assign io_output_ar_payload_addr = cmdLogic_outputFork_payload_addr;
assign io_output_ar_payload_region = cmdLogic_outputFork_payload_region;
assign io_output_ar_payload_burst = cmdLogic_outputFork_payload_burst;
assign io_output_ar_payload_lock = cmdLogic_outputFork_payload_lock;
assign io_output_ar_payload_cache = cmdLogic_outputFork_payload_cache;
assign io_output_ar_payload_qos = cmdLogic_outputFork_payload_qos;
assign io_output_ar_payload_prot = cmdLogic_outputFork_payload_prot;
assign cmdLogic_byteCount = _zz_cmdLogic_byteCount[9:0];
assign cmdLogic_incrLen = _zz_cmdLogic_incrLen[10 : 6];
always @(*) begin
io_output_ar_payload_size = 3'b110;
if(when_Axi4Upsizer_l108) begin
io_output_ar_payload_size = io_input_ar_payload_size;
end
end
assign io_output_ar_payload_len = {3'd0, cmdLogic_incrLen};
assign io_output_ar_payload_id = 8'h00;
assign when_Axi4Upsizer_l108 = (io_input_ar_payload_len == 8'h00);
assign dataLogic_cmdPush_valid = cmdLogic_dataFork_valid;
assign cmdLogic_dataFork_ready = dataLogic_cmdPush_ready;
assign dataLogic_cmdPush_payload_startAt = cmdLogic_dataFork_payload_addr[5:0];
assign dataLogic_cmdPush_payload_endAt = _zz_dataLogic_cmdPush_payload_endAt[5:0];
assign dataLogic_cmdPush_payload_size = cmdLogic_dataFork_payload_size;
assign dataLogic_cmdPush_payload_id = cmdLogic_dataFork_payload_id;
assign dataLogic_cmdPush_ready = dataLogic_cmdPush_fifo_io_push_ready;
assign dataLogic_byteCounterNext = ({1'b0,dataLogic_byteCounter} + _zz_dataLogic_byteCounterNext);
assign readOnly_dataLogic_cmdPush_fifo_io_pop_fire = (dataLogic_cmdPush_fifo_io_pop_valid && dataLogic_cmdPush_fifo_io_pop_ready);
assign dataLogic_cmdPush_fifo_io_pop_ready = (! dataLogic_busy);
assign io_input_r_fire = (io_input_r_valid && io_input_r_ready);
assign io_input_r_valid = (io_output_r_valid && dataLogic_busy);
assign io_input_r_payload_last = (io_output_r_payload_last && (dataLogic_byteCounter == dataLogic_byteCounterLast));
assign io_input_r_payload_resp = io_output_r_payload_resp;
assign io_input_r_payload_data = _zz_io_input_r_payload_data;
assign io_input_r_payload_id = dataLogic_id;
assign io_output_r_ready = ((dataLogic_busy && io_input_r_ready) && (io_input_r_payload_last || dataLogic_byteCounterNext[6]));
always @(posedge clk or posedge reset) begin
if(reset) begin
io_input_ar_fork2_logic_linkEnable_0 <= 1'b1;
io_input_ar_fork2_logic_linkEnable_1 <= 1'b1;
dataLogic_busy <= 1'b0;
end else begin
if(cmdLogic_outputFork_fire) begin
io_input_ar_fork2_logic_linkEnable_0 <= 1'b0;
end
if(cmdLogic_dataFork_fire) begin
io_input_ar_fork2_logic_linkEnable_1 <= 1'b0;
end
if(io_input_ar_ready) begin
io_input_ar_fork2_logic_linkEnable_0 <= 1'b1;
io_input_ar_fork2_logic_linkEnable_1 <= 1'b1;
end
if(readOnly_dataLogic_cmdPush_fifo_io_pop_fire) begin
dataLogic_busy <= 1'b1;
end
if(io_input_r_fire) begin
if(io_input_r_payload_last) begin
dataLogic_busy <= 1'b0;
end
end
end
end
always @(posedge clk) begin
if(readOnly_dataLogic_cmdPush_fifo_io_pop_fire) begin
dataLogic_byteCounter <= dataLogic_cmdPush_fifo_io_pop_payload_startAt;
dataLogic_byteCounterLast <= dataLogic_cmdPush_fifo_io_pop_payload_endAt;
dataLogic_size <= dataLogic_cmdPush_fifo_io_pop_payload_size;
dataLogic_id <= dataLogic_cmdPush_fifo_io_pop_payload_id;
end
if(io_input_r_fire) begin
dataLogic_byteCounter <= dataLogic_byteCounterNext[5:0];
end
end
endmodule
module Asic32To512UpsizerStreamFifo_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_push_valid,
output io_push_ready,
input [5:0] io_push_payload_startAt,
input [5:0] io_push_payload_endAt,
input [2:0] io_push_payload_size,
input [7:0] io_push_payload_id,
output io_pop_valid,
input io_pop_ready,
output [5:0] io_pop_payload_startAt,
output [5:0] io_pop_payload_endAt,
output [2:0] io_pop_payload_size,
output [7:0] io_pop_payload_id,
input io_flush,
output [4:0] io_occupancy,
output [4:0] io_availability,
input clk,
input reset
);
reg [22:0] _zz_logic_ram_port0;
wire [3:0] _zz_logic_pushPtr_valueNext;
wire [0:0] _zz_logic_pushPtr_valueNext_1;
wire [3:0] _zz_logic_popPtr_valueNext;
wire [0:0] _zz_logic_popPtr_valueNext_1;
wire _zz__zz_logic_ram_port0;
wire _zz__zz_io_pop_payload_startAt;
wire [22:0] _zz__zz_logic_ram_port1;
wire [3:0] _zz_io_availability;
reg _zz_1;
reg logic_pushPtr_willIncrement;
reg logic_pushPtr_willClear;
reg [3:0] logic_pushPtr_valueNext;
reg [3:0] logic_pushPtr_value;
wire logic_pushPtr_willOverflowIfInc;
wire logic_pushPtr_willOverflow;
reg logic_popPtr_willIncrement;
reg logic_popPtr_willClear;
reg [3:0] logic_popPtr_valueNext;
reg [3:0] logic_popPtr_value;
wire logic_popPtr_willOverflowIfInc;
wire logic_popPtr_willOverflow;
wire logic_ptrMatch;
reg logic_risingOccupancy;
wire logic_pushing;
wire logic_popping;
wire logic_empty;
wire logic_full;
reg _zz_io_pop_valid;
wire [22:0] _zz_io_pop_payload_startAt;
wire when_Stream_l1123;
wire [3:0] logic_ptrDif;
reg [22:0] logic_ram [0:15];
assign _zz_logic_pushPtr_valueNext_1 = logic_pushPtr_willIncrement;
assign _zz_logic_pushPtr_valueNext = {3'd0, _zz_logic_pushPtr_valueNext_1};
assign _zz_logic_popPtr_valueNext_1 = logic_popPtr_willIncrement;
assign _zz_logic_popPtr_valueNext = {3'd0, _zz_logic_popPtr_valueNext_1};
assign _zz_io_availability = (logic_popPtr_value - logic_pushPtr_value);
assign _zz__zz_io_pop_payload_startAt = 1'b1;
assign _zz__zz_logic_ram_port1 = {io_push_payload_id,{io_push_payload_size,{io_push_payload_endAt,io_push_payload_startAt}}};
always @(posedge clk) begin
if(_zz__zz_io_pop_payload_startAt) begin
_zz_logic_ram_port0 <= logic_ram[logic_popPtr_valueNext];
end
end
always @(posedge clk) begin
if(_zz_1) begin
logic_ram[logic_pushPtr_value] <= _zz__zz_logic_ram_port1;
end
end
always @(*) begin
_zz_1 = 1'b0;
if(logic_pushing) begin
_zz_1 = 1'b1;
end
end
always @(*) begin
logic_pushPtr_willIncrement = 1'b0;
if(logic_pushing) begin
logic_pushPtr_willIncrement = 1'b1;
end
end
always @(*) begin
logic_pushPtr_willClear = 1'b0;
if(io_flush) begin
logic_pushPtr_willClear = 1'b1;
end
end
assign logic_pushPtr_willOverflowIfInc = (logic_pushPtr_value == 4'b1111);
assign logic_pushPtr_willOverflow = (logic_pushPtr_willOverflowIfInc && logic_pushPtr_willIncrement);
always @(*) begin
logic_pushPtr_valueNext = (logic_pushPtr_value + _zz_logic_pushPtr_valueNext);
if(logic_pushPtr_willClear) begin
logic_pushPtr_valueNext = 4'b0000;
end
end
always @(*) begin
logic_popPtr_willIncrement = 1'b0;
if(logic_popping) begin
logic_popPtr_willIncrement = 1'b1;
end
end
always @(*) begin
logic_popPtr_willClear = 1'b0;
if(io_flush) begin
logic_popPtr_willClear = 1'b1;
end
end
assign logic_popPtr_willOverflowIfInc = (logic_popPtr_value == 4'b1111);
assign logic_popPtr_willOverflow = (logic_popPtr_willOverflowIfInc && logic_popPtr_willIncrement);
always @(*) begin
logic_popPtr_valueNext = (logic_popPtr_value + _zz_logic_popPtr_valueNext);
if(logic_popPtr_willClear) begin
logic_popPtr_valueNext = 4'b0000;
end
end
assign logic_ptrMatch = (logic_pushPtr_value == logic_popPtr_value);
assign logic_pushing = (io_push_valid && io_push_ready);
assign logic_popping = (io_pop_valid && io_pop_ready);
assign logic_empty = (logic_ptrMatch && (! logic_risingOccupancy));
assign logic_full = (logic_ptrMatch && logic_risingOccupancy);
assign io_push_ready = (! logic_full);
assign io_pop_valid = ((! logic_empty) && (! (_zz_io_pop_valid && (! logic_full))));
assign _zz_io_pop_payload_startAt = _zz_logic_ram_port0;
assign io_pop_payload_startAt = _zz_io_pop_payload_startAt[5 : 0];
assign io_pop_payload_endAt = _zz_io_pop_payload_startAt[11 : 6];
assign io_pop_payload_size = _zz_io_pop_payload_startAt[14 : 12];
assign io_pop_payload_id = _zz_io_pop_payload_startAt[22 : 15];
assign when_Stream_l1123 = (logic_pushing != logic_popping);
assign logic_ptrDif = (logic_pushPtr_value - logic_popPtr_value);
assign io_occupancy = {(logic_risingOccupancy && logic_ptrMatch),logic_ptrDif};
assign io_availability = {((! logic_risingOccupancy) && logic_ptrMatch),_zz_io_availability};
always @(posedge clk or posedge reset) begin
if(reset) begin
logic_pushPtr_value <= 4'b0000;
logic_popPtr_value <= 4'b0000;
logic_risingOccupancy <= 1'b0;
_zz_io_pop_valid <= 1'b0;
end else begin
logic_pushPtr_value <= logic_pushPtr_valueNext;
logic_popPtr_value <= logic_popPtr_valueNext;
_zz_io_pop_valid <= (logic_popPtr_valueNext == logic_pushPtr_value);
if(when_Stream_l1123) begin
logic_risingOccupancy <= logic_pushing;
end
if(io_flush) begin
logic_risingOccupancy <= 1'b0;
end
end
end
endmodule
// Generator : SpinalHDL dev git head : 9cdee03b276638ef8e7a948b606bb7acc6e4c8d0
// Component : Asic32To64UpsizerAxi4Upsizer_5b3f2212c953407c83e1cf8c9cc77ea9
// Git hash : cd16421fb7a4d44431a2445f9a92b82070ab9b8a
`timescale 1ns/1ps
module Asic32To64UpsizerAxi4Upsizer_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_input_aw_valid,
output io_input_aw_ready,
input [31:0] io_input_aw_payload_addr,
input [7:0] io_input_aw_payload_id,
input [3:0] io_input_aw_payload_region,
input [7:0] io_input_aw_payload_len,
input [2:0] io_input_aw_payload_size,
input [1:0] io_input_aw_payload_burst,
input [0:0] io_input_aw_payload_lock,
input [3:0] io_input_aw_payload_cache,
input [3:0] io_input_aw_payload_qos,
input [2:0] io_input_aw_payload_prot,
input io_input_w_valid,
output io_input_w_ready,
input [31:0] io_input_w_payload_data,
input [3:0] io_input_w_payload_strb,
input io_input_w_payload_last,
output io_input_b_valid,
input io_input_b_ready,
output [7:0] io_input_b_payload_id,
output [1:0] io_input_b_payload_resp,
input io_input_ar_valid,
output io_input_ar_ready,
input [31:0] io_input_ar_payload_addr,
input [7:0] io_input_ar_payload_id,
input [3:0] io_input_ar_payload_region,
input [7:0] io_input_ar_payload_len,
input [2:0] io_input_ar_payload_size,
input [1:0] io_input_ar_payload_burst,
input [0:0] io_input_ar_payload_lock,
input [3:0] io_input_ar_payload_cache,
input [3:0] io_input_ar_payload_qos,
input [2:0] io_input_ar_payload_prot,
output io_input_r_valid,
input io_input_r_ready,
output [31:0] io_input_r_payload_data,
output [7:0] io_input_r_payload_id,
output [1:0] io_input_r_payload_resp,
output io_input_r_payload_last,
output io_output_aw_valid,
input io_output_aw_ready,
output [31:0] io_output_aw_payload_addr,
output [7:0] io_output_aw_payload_id,
output [3:0] io_output_aw_payload_region,
output [7:0] io_output_aw_payload_len,
output [2:0] io_output_aw_payload_size,
output [1:0] io_output_aw_payload_burst,
output [0:0] io_output_aw_payload_lock,
output [3:0] io_output_aw_payload_cache,
output [3:0] io_output_aw_payload_qos,
output [2:0] io_output_aw_payload_prot,
output io_output_w_valid,
input io_output_w_ready,
output [63:0] io_output_w_payload_data,
output [7:0] io_output_w_payload_strb,
output io_output_w_payload_last,
input io_output_b_valid,
output io_output_b_ready,
input [7:0] io_output_b_payload_id,
input [1:0] io_output_b_payload_resp,
output io_output_ar_valid,
input io_output_ar_ready,
output [31:0] io_output_ar_payload_addr,
output [7:0] io_output_ar_payload_id,
output [3:0] io_output_ar_payload_region,
output [7:0] io_output_ar_payload_len,
output [2:0] io_output_ar_payload_size,
output [1:0] io_output_ar_payload_burst,
output [0:0] io_output_ar_payload_lock,
output [3:0] io_output_ar_payload_cache,
output [3:0] io_output_ar_payload_qos,
output [2:0] io_output_ar_payload_prot,
input io_output_r_valid,
output io_output_r_ready,
input [63:0] io_output_r_payload_data,
input [7:0] io_output_r_payload_id,
input [1:0] io_output_r_payload_resp,
input io_output_r_payload_last,
input clk,
input reset
);
wire readOnly_io_input_ar_ready;
wire readOnly_io_input_r_valid;
wire [31:0] readOnly_io_input_r_payload_data;
wire [7:0] readOnly_io_input_r_payload_id;
wire [1:0] readOnly_io_input_r_payload_resp;
wire readOnly_io_input_r_payload_last;
wire readOnly_io_output_ar_valid;
wire [31:0] readOnly_io_output_ar_payload_addr;
wire [7:0] readOnly_io_output_ar_payload_id;
wire [3:0] readOnly_io_output_ar_payload_region;
wire [7:0] readOnly_io_output_ar_payload_len;
wire [2:0] readOnly_io_output_ar_payload_size;
wire [1:0] readOnly_io_output_ar_payload_burst;
wire [0:0] readOnly_io_output_ar_payload_lock;
wire [3:0] readOnly_io_output_ar_payload_cache;
wire [3:0] readOnly_io_output_ar_payload_qos;
wire [2:0] readOnly_io_output_ar_payload_prot;
wire readOnly_io_output_r_ready;
wire writeOnly_io_input_aw_ready;
wire writeOnly_io_input_w_ready;
wire writeOnly_io_input_b_valid;
wire [7:0] writeOnly_io_input_b_payload_id;
wire [1:0] writeOnly_io_input_b_payload_resp;
wire writeOnly_io_output_aw_valid;
wire [31:0] writeOnly_io_output_aw_payload_addr;
wire [7:0] writeOnly_io_output_aw_payload_id;
wire [3:0] writeOnly_io_output_aw_payload_region;
wire [7:0] writeOnly_io_output_aw_payload_len;
wire [2:0] writeOnly_io_output_aw_payload_size;
wire [1:0] writeOnly_io_output_aw_payload_burst;
wire [0:0] writeOnly_io_output_aw_payload_lock;
wire [3:0] writeOnly_io_output_aw_payload_cache;
wire [3:0] writeOnly_io_output_aw_payload_qos;
wire [2:0] writeOnly_io_output_aw_payload_prot;
wire writeOnly_io_output_w_valid;
wire [63:0] writeOnly_io_output_w_payload_data;
wire [7:0] writeOnly_io_output_w_payload_strb;
wire writeOnly_io_output_w_payload_last;
wire writeOnly_io_output_b_ready;
Asic32To64UpsizerAxi4ReadOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 readOnly (
.io_input_ar_valid (io_input_ar_valid ), //i
.io_input_ar_ready (readOnly_io_input_ar_ready ), //o
.io_input_ar_payload_addr (io_input_ar_payload_addr[31:0] ), //i
.io_input_ar_payload_id (io_input_ar_payload_id[7:0] ), //i
.io_input_ar_payload_region (io_input_ar_payload_region[3:0] ), //i
.io_input_ar_payload_len (io_input_ar_payload_len[7:0] ), //i
.io_input_ar_payload_size (io_input_ar_payload_size[2:0] ), //i
.io_input_ar_payload_burst (io_input_ar_payload_burst[1:0] ), //i
.io_input_ar_payload_lock (io_input_ar_payload_lock ), //i
.io_input_ar_payload_cache (io_input_ar_payload_cache[3:0] ), //i
.io_input_ar_payload_qos (io_input_ar_payload_qos[3:0] ), //i
.io_input_ar_payload_prot (io_input_ar_payload_prot[2:0] ), //i
.io_input_r_valid (readOnly_io_input_r_valid ), //o
.io_input_r_ready (io_input_r_ready ), //i
.io_input_r_payload_data (readOnly_io_input_r_payload_data[31:0] ), //o
.io_input_r_payload_id (readOnly_io_input_r_payload_id[7:0] ), //o
.io_input_r_payload_resp (readOnly_io_input_r_payload_resp[1:0] ), //o
.io_input_r_payload_last (readOnly_io_input_r_payload_last ), //o
.io_output_ar_valid (readOnly_io_output_ar_valid ), //o
.io_output_ar_ready (io_output_ar_ready ), //i
.io_output_ar_payload_addr (readOnly_io_output_ar_payload_addr[31:0] ), //o
.io_output_ar_payload_id (readOnly_io_output_ar_payload_id[7:0] ), //o
.io_output_ar_payload_region (readOnly_io_output_ar_payload_region[3:0]), //o
.io_output_ar_payload_len (readOnly_io_output_ar_payload_len[7:0] ), //o
.io_output_ar_payload_size (readOnly_io_output_ar_payload_size[2:0] ), //o
.io_output_ar_payload_burst (readOnly_io_output_ar_payload_burst[1:0] ), //o
.io_output_ar_payload_lock (readOnly_io_output_ar_payload_lock ), //o
.io_output_ar_payload_cache (readOnly_io_output_ar_payload_cache[3:0] ), //o
.io_output_ar_payload_qos (readOnly_io_output_ar_payload_qos[3:0] ), //o
.io_output_ar_payload_prot (readOnly_io_output_ar_payload_prot[2:0] ), //o
.io_output_r_valid (io_output_r_valid ), //i
.io_output_r_ready (readOnly_io_output_r_ready ), //o
.io_output_r_payload_data (io_output_r_payload_data[63:0] ), //i
.io_output_r_payload_id (io_output_r_payload_id[7:0] ), //i
.io_output_r_payload_resp (io_output_r_payload_resp[1:0] ), //i
.io_output_r_payload_last (io_output_r_payload_last ), //i
.clk (clk ), //i
.reset (reset ) //i
);
Asic32To64UpsizerAxi4WriteOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 writeOnly (
.io_input_aw_valid (io_input_aw_valid ), //i
.io_input_aw_ready (writeOnly_io_input_aw_ready ), //o
.io_input_aw_payload_addr (io_input_aw_payload_addr[31:0] ), //i
.io_input_aw_payload_id (io_input_aw_payload_id[7:0] ), //i
.io_input_aw_payload_region (io_input_aw_payload_region[3:0] ), //i
.io_input_aw_payload_len (io_input_aw_payload_len[7:0] ), //i
.io_input_aw_payload_size (io_input_aw_payload_size[2:0] ), //i
.io_input_aw_payload_burst (io_input_aw_payload_burst[1:0] ), //i
.io_input_aw_payload_lock (io_input_aw_payload_lock ), //i
.io_input_aw_payload_cache (io_input_aw_payload_cache[3:0] ), //i
.io_input_aw_payload_qos (io_input_aw_payload_qos[3:0] ), //i
.io_input_aw_payload_prot (io_input_aw_payload_prot[2:0] ), //i
.io_input_w_valid (io_input_w_valid ), //i
.io_input_w_ready (writeOnly_io_input_w_ready ), //o
.io_input_w_payload_data (io_input_w_payload_data[31:0] ), //i
.io_input_w_payload_strb (io_input_w_payload_strb[3:0] ), //i
.io_input_w_payload_last (io_input_w_payload_last ), //i
.io_input_b_valid (writeOnly_io_input_b_valid ), //o
.io_input_b_ready (io_input_b_ready ), //i
.io_input_b_payload_id (writeOnly_io_input_b_payload_id[7:0] ), //o
.io_input_b_payload_resp (writeOnly_io_input_b_payload_resp[1:0] ), //o
.io_output_aw_valid (writeOnly_io_output_aw_valid ), //o
.io_output_aw_ready (io_output_aw_ready ), //i
.io_output_aw_payload_addr (writeOnly_io_output_aw_payload_addr[31:0] ), //o
.io_output_aw_payload_id (writeOnly_io_output_aw_payload_id[7:0] ), //o
.io_output_aw_payload_region (writeOnly_io_output_aw_payload_region[3:0]), //o
.io_output_aw_payload_len (writeOnly_io_output_aw_payload_len[7:0] ), //o
.io_output_aw_payload_size (writeOnly_io_output_aw_payload_size[2:0] ), //o
.io_output_aw_payload_burst (writeOnly_io_output_aw_payload_burst[1:0] ), //o
.io_output_aw_payload_lock (writeOnly_io_output_aw_payload_lock ), //o
.io_output_aw_payload_cache (writeOnly_io_output_aw_payload_cache[3:0] ), //o
.io_output_aw_payload_qos (writeOnly_io_output_aw_payload_qos[3:0] ), //o
.io_output_aw_payload_prot (writeOnly_io_output_aw_payload_prot[2:0] ), //o
.io_output_w_valid (writeOnly_io_output_w_valid ), //o
.io_output_w_ready (io_output_w_ready ), //i
.io_output_w_payload_data (writeOnly_io_output_w_payload_data[63:0] ), //o
.io_output_w_payload_strb (writeOnly_io_output_w_payload_strb[7:0] ), //o
.io_output_w_payload_last (writeOnly_io_output_w_payload_last ), //o
.io_output_b_valid (io_output_b_valid ), //i
.io_output_b_ready (writeOnly_io_output_b_ready ), //o
.io_output_b_payload_id (io_output_b_payload_id[7:0] ), //i
.io_output_b_payload_resp (io_output_b_payload_resp[1:0] ), //i
.clk (clk ), //i
.reset (reset ) //i
);
assign io_input_ar_ready = readOnly_io_input_ar_ready;
assign io_input_r_valid = readOnly_io_input_r_valid;
assign io_input_r_payload_data = readOnly_io_input_r_payload_data;
assign io_input_r_payload_id = readOnly_io_input_r_payload_id;
assign io_input_r_payload_resp = readOnly_io_input_r_payload_resp;
assign io_input_r_payload_last = readOnly_io_input_r_payload_last;
assign io_input_aw_ready = writeOnly_io_input_aw_ready;
assign io_input_w_ready = writeOnly_io_input_w_ready;
assign io_input_b_valid = writeOnly_io_input_b_valid;
assign io_input_b_payload_id = writeOnly_io_input_b_payload_id;
assign io_input_b_payload_resp = writeOnly_io_input_b_payload_resp;
assign io_output_ar_valid = readOnly_io_output_ar_valid;
assign io_output_ar_payload_addr = readOnly_io_output_ar_payload_addr;
assign io_output_ar_payload_id = readOnly_io_output_ar_payload_id;
assign io_output_ar_payload_region = readOnly_io_output_ar_payload_region;
assign io_output_ar_payload_len = readOnly_io_output_ar_payload_len;
assign io_output_ar_payload_size = readOnly_io_output_ar_payload_size;
assign io_output_ar_payload_burst = readOnly_io_output_ar_payload_burst;
assign io_output_ar_payload_lock = readOnly_io_output_ar_payload_lock;
assign io_output_ar_payload_cache = readOnly_io_output_ar_payload_cache;
assign io_output_ar_payload_qos = readOnly_io_output_ar_payload_qos;
assign io_output_ar_payload_prot = readOnly_io_output_ar_payload_prot;
assign io_output_r_ready = readOnly_io_output_r_ready;
assign io_output_aw_valid = writeOnly_io_output_aw_valid;
assign io_output_aw_payload_addr = writeOnly_io_output_aw_payload_addr;
assign io_output_aw_payload_id = writeOnly_io_output_aw_payload_id;
assign io_output_aw_payload_region = writeOnly_io_output_aw_payload_region;
assign io_output_aw_payload_len = writeOnly_io_output_aw_payload_len;
assign io_output_aw_payload_size = writeOnly_io_output_aw_payload_size;
assign io_output_aw_payload_burst = writeOnly_io_output_aw_payload_burst;
assign io_output_aw_payload_lock = writeOnly_io_output_aw_payload_lock;
assign io_output_aw_payload_cache = writeOnly_io_output_aw_payload_cache;
assign io_output_aw_payload_qos = writeOnly_io_output_aw_payload_qos;
assign io_output_aw_payload_prot = writeOnly_io_output_aw_payload_prot;
assign io_output_w_valid = writeOnly_io_output_w_valid;
assign io_output_w_payload_data = writeOnly_io_output_w_payload_data;
assign io_output_w_payload_strb = writeOnly_io_output_w_payload_strb;
assign io_output_w_payload_last = writeOnly_io_output_w_payload_last;
assign io_output_b_ready = writeOnly_io_output_b_ready;
endmodule
module Asic32To64UpsizerAxi4WriteOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_input_aw_valid,
output reg io_input_aw_ready,
input [31:0] io_input_aw_payload_addr,
input [7:0] io_input_aw_payload_id,
input [3:0] io_input_aw_payload_region,
input [7:0] io_input_aw_payload_len,
input [2:0] io_input_aw_payload_size,
input [1:0] io_input_aw_payload_burst,
input [0:0] io_input_aw_payload_lock,
input [3:0] io_input_aw_payload_cache,
input [3:0] io_input_aw_payload_qos,
input [2:0] io_input_aw_payload_prot,
input io_input_w_valid,
output io_input_w_ready,
input [31:0] io_input_w_payload_data,
input [3:0] io_input_w_payload_strb,
input io_input_w_payload_last,
output io_input_b_valid,
input io_input_b_ready,
output [7:0] io_input_b_payload_id,
output [1:0] io_input_b_payload_resp,
output io_output_aw_valid,
input io_output_aw_ready,
output [31:0] io_output_aw_payload_addr,
output [7:0] io_output_aw_payload_id,
output [3:0] io_output_aw_payload_region,
output reg [7:0] io_output_aw_payload_len,
output reg [2:0] io_output_aw_payload_size,
output [1:0] io_output_aw_payload_burst,
output [0:0] io_output_aw_payload_lock,
output [3:0] io_output_aw_payload_cache,
output [3:0] io_output_aw_payload_qos,
output [2:0] io_output_aw_payload_prot,
output io_output_w_valid,
input io_output_w_ready,
output [63:0] io_output_w_payload_data,
output [7:0] io_output_w_payload_strb,
output io_output_w_payload_last,
input io_output_b_valid,
output io_output_b_ready,
input [7:0] io_output_b_payload_id,
input [1:0] io_output_b_payload_resp,
input clk,
input reset
);
wire [14:0] _zz_cmdLogic_byteCount;
wire [10:0] _zz_cmdLogic_incrLen;
wire [10:0] _zz_cmdLogic_incrLen_1;
wire [2:0] _zz_cmdLogic_incrLen_2;
wire [3:0] _zz_dataLogic_byteCounterNext;
wire [7:0] _zz_dataLogic_byteCounterNext_1;
reg [7:0] _zz_dataLogic_byteActivity;
wire [1:0] _zz_dataLogic_byteActivity_1;
wire cmdLogic_outputFork_valid;
wire cmdLogic_outputFork_ready;
wire [31:0] cmdLogic_outputFork_payload_addr;
wire [7:0] cmdLogic_outputFork_payload_id;
wire [3:0] cmdLogic_outputFork_payload_region;
wire [7:0] cmdLogic_outputFork_payload_len;
wire [2:0] cmdLogic_outputFork_payload_size;
wire [1:0] cmdLogic_outputFork_payload_burst;
wire [0:0] cmdLogic_outputFork_payload_lock;
wire [3:0] cmdLogic_outputFork_payload_cache;
wire [3:0] cmdLogic_outputFork_payload_qos;
wire [2:0] cmdLogic_outputFork_payload_prot;
wire cmdLogic_dataFork_valid;
wire cmdLogic_dataFork_ready;
wire [31:0] cmdLogic_dataFork_payload_addr;
wire [7:0] cmdLogic_dataFork_payload_id;
wire [3:0] cmdLogic_dataFork_payload_region;
wire [7:0] cmdLogic_dataFork_payload_len;
wire [2:0] cmdLogic_dataFork_payload_size;
wire [1:0] cmdLogic_dataFork_payload_burst;
wire [0:0] cmdLogic_dataFork_payload_lock;
wire [3:0] cmdLogic_dataFork_payload_cache;
wire [3:0] cmdLogic_dataFork_payload_qos;
wire [2:0] cmdLogic_dataFork_payload_prot;
reg io_input_aw_fork2_logic_linkEnable_0;
reg io_input_aw_fork2_logic_linkEnable_1;
wire when_Stream_l993;
wire when_Stream_l993_1;
wire cmdLogic_outputFork_fire;
wire cmdLogic_dataFork_fire;
wire [9:0] cmdLogic_byteCount;
wire [7:0] cmdLogic_incrLen;
wire when_Axi4Upsizer_l21;
wire when_Axi4Upsizer_l24;
reg [2:0] dataLogic_byteCounter;
reg [2:0] dataLogic_size;
reg dataLogic_outputValid;
reg dataLogic_outputLast;
reg dataLogic_busy;
reg dataLogic_incrementByteCounter;
reg dataLogic_alwaysFire;
wire [3:0] dataLogic_byteCounterNext;
reg [63:0] dataLogic_dataBuffer;
reg [7:0] dataLogic_maskBuffer;
wire [7:0] dataLogic_byteActivity;
wire io_output_w_fire;
wire io_output_w_isStall;
wire io_input_w_fire;
wire when_Axi4Upsizer_l59;
wire when_Axi4Upsizer_l59_1;
wire when_Axi4Upsizer_l59_2;
wire when_Axi4Upsizer_l59_3;
wire when_Axi4Upsizer_l59_4;
wire when_Axi4Upsizer_l59_5;
wire when_Axi4Upsizer_l59_6;
wire when_Axi4Upsizer_l59_7;
wire cmdLogic_dataFork_fire_1;
wire when_Axi4Upsizer_l68;
wire when_Axi4Upsizer_l68_1;
wire when_Axi4Upsizer_l68_2;
assign _zz_cmdLogic_byteCount = ({7'd0,io_input_aw_payload_len} <<< io_input_aw_payload_size);
assign _zz_cmdLogic_incrLen = ({1'b0,cmdLogic_byteCount} + _zz_cmdLogic_incrLen_1);
assign _zz_cmdLogic_incrLen_2 = io_input_aw_payload_addr[2 : 0];
assign _zz_cmdLogic_incrLen_1 = {8'd0, _zz_cmdLogic_incrLen_2};
assign _zz_dataLogic_byteCounterNext_1 = ({7'd0,1'b1} <<< dataLogic_size);
assign _zz_dataLogic_byteCounterNext = _zz_dataLogic_byteCounterNext_1[3:0];
assign _zz_dataLogic_byteActivity_1 = dataLogic_size[1:0];
always @(*) begin
case(_zz_dataLogic_byteActivity_1)
2'b00 : _zz_dataLogic_byteActivity = 8'h01;
2'b01 : _zz_dataLogic_byteActivity = 8'h03;
default : _zz_dataLogic_byteActivity = 8'h0f;
endcase
end
always @(*) begin
io_input_aw_ready = 1'b1;
if(when_Stream_l993) begin
io_input_aw_ready = 1'b0;
end
if(when_Stream_l993_1) begin
io_input_aw_ready = 1'b0;
end
end
assign when_Stream_l993 = ((! cmdLogic_outputFork_ready) && io_input_aw_fork2_logic_linkEnable_0);
assign when_Stream_l993_1 = ((! cmdLogic_dataFork_ready) && io_input_aw_fork2_logic_linkEnable_1);
assign cmdLogic_outputFork_valid = (io_input_aw_valid && io_input_aw_fork2_logic_linkEnable_0);
assign cmdLogic_outputFork_payload_addr = io_input_aw_payload_addr;
assign cmdLogic_outputFork_payload_id = io_input_aw_payload_id;
assign cmdLogic_outputFork_payload_region = io_input_aw_payload_region;
assign cmdLogic_outputFork_payload_len = io_input_aw_payload_len;
assign cmdLogic_outputFork_payload_size = io_input_aw_payload_size;
assign cmdLogic_outputFork_payload_burst = io_input_aw_payload_burst;
assign cmdLogic_outputFork_payload_lock = io_input_aw_payload_lock;
assign cmdLogic_outputFork_payload_cache = io_input_aw_payload_cache;
assign cmdLogic_outputFork_payload_qos = io_input_aw_payload_qos;
assign cmdLogic_outputFork_payload_prot = io_input_aw_payload_prot;
assign cmdLogic_outputFork_fire = (cmdLogic_outputFork_valid && cmdLogic_outputFork_ready);
assign cmdLogic_dataFork_valid = (io_input_aw_valid && io_input_aw_fork2_logic_linkEnable_1);
assign cmdLogic_dataFork_payload_addr = io_input_aw_payload_addr;
assign cmdLogic_dataFork_payload_id = io_input_aw_payload_id;
assign cmdLogic_dataFork_payload_region = io_input_aw_payload_region;
assign cmdLogic_dataFork_payload_len = io_input_aw_payload_len;
assign cmdLogic_dataFork_payload_size = io_input_aw_payload_size;
assign cmdLogic_dataFork_payload_burst = io_input_aw_payload_burst;
assign cmdLogic_dataFork_payload_lock = io_input_aw_payload_lock;
assign cmdLogic_dataFork_payload_cache = io_input_aw_payload_cache;
assign cmdLogic_dataFork_payload_qos = io_input_aw_payload_qos;
assign cmdLogic_dataFork_payload_prot = io_input_aw_payload_prot;
assign cmdLogic_dataFork_fire = (cmdLogic_dataFork_valid && cmdLogic_dataFork_ready);
assign io_output_aw_valid = cmdLogic_outputFork_valid;
assign cmdLogic_outputFork_ready = io_output_aw_ready;
assign io_output_aw_payload_addr = cmdLogic_outputFork_payload_addr;
assign io_output_aw_payload_id = cmdLogic_outputFork_payload_id;
assign io_output_aw_payload_region = cmdLogic_outputFork_payload_region;
always @(*) begin
io_output_aw_payload_len = cmdLogic_outputFork_payload_len;
if(when_Axi4Upsizer_l21) begin
io_output_aw_payload_len = cmdLogic_incrLen;
end
end
always @(*) begin
io_output_aw_payload_size = cmdLogic_outputFork_payload_size;
if(when_Axi4Upsizer_l21) begin
io_output_aw_payload_size = 3'b011;
if(when_Axi4Upsizer_l24) begin
io_output_aw_payload_size = io_input_aw_payload_size;
end
end
end
assign io_output_aw_payload_burst = cmdLogic_outputFork_payload_burst;
assign io_output_aw_payload_lock = cmdLogic_outputFork_payload_lock;
assign io_output_aw_payload_cache = cmdLogic_outputFork_payload_cache;
assign io_output_aw_payload_qos = cmdLogic_outputFork_payload_qos;
assign io_output_aw_payload_prot = cmdLogic_outputFork_payload_prot;
assign cmdLogic_byteCount = _zz_cmdLogic_byteCount[9:0];
assign cmdLogic_incrLen = _zz_cmdLogic_incrLen[10 : 3];
assign when_Axi4Upsizer_l21 = (io_output_aw_payload_burst == 2'b01);
assign when_Axi4Upsizer_l24 = (io_input_aw_payload_len == 8'h00);
assign dataLogic_byteCounterNext = ({1'b0,dataLogic_byteCounter} + _zz_dataLogic_byteCounterNext);
assign dataLogic_byteActivity = (_zz_dataLogic_byteActivity <<< dataLogic_byteCounter);
assign io_output_w_fire = (io_output_w_valid && io_output_w_ready);
assign io_output_w_valid = dataLogic_outputValid;
assign io_output_w_isStall = (io_output_w_valid && (! io_output_w_ready));
assign io_input_w_ready = (dataLogic_busy && (! io_output_w_isStall));
assign io_output_w_payload_data = dataLogic_dataBuffer;
assign io_output_w_payload_strb = dataLogic_maskBuffer;
assign io_output_w_payload_last = dataLogic_outputLast;
assign io_input_w_fire = (io_input_w_valid && io_input_w_ready);
assign when_Axi4Upsizer_l59 = dataLogic_byteActivity[0];
assign when_Axi4Upsizer_l59_1 = dataLogic_byteActivity[1];
assign when_Axi4Upsizer_l59_2 = dataLogic_byteActivity[2];
assign when_Axi4Upsizer_l59_3 = dataLogic_byteActivity[3];
assign when_Axi4Upsizer_l59_4 = dataLogic_byteActivity[4];
assign when_Axi4Upsizer_l59_5 = dataLogic_byteActivity[5];
assign when_Axi4Upsizer_l59_6 = dataLogic_byteActivity[6];
assign when_Axi4Upsizer_l59_7 = dataLogic_byteActivity[7];
assign cmdLogic_dataFork_fire_1 = (cmdLogic_dataFork_valid && cmdLogic_dataFork_ready);
assign when_Axi4Upsizer_l68 = (3'b000 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_1 = (3'b001 < cmdLogic_dataFork_payload_size);
assign when_Axi4Upsizer_l68_2 = (3'b010 < cmdLogic_dataFork_payload_size);
assign cmdLogic_dataFork_ready = (! dataLogic_busy);
assign io_input_b_valid = io_output_b_valid;
assign io_output_b_ready = io_input_b_ready;
assign io_input_b_payload_id = io_output_b_payload_id;
assign io_input_b_payload_resp = io_output_b_payload_resp;
always @(posedge clk or posedge reset) begin
if(reset) begin
io_input_aw_fork2_logic_linkEnable_0 <= 1'b1;
io_input_aw_fork2_logic_linkEnable_1 <= 1'b1;
dataLogic_outputValid <= 1'b0;
dataLogic_busy <= 1'b0;
dataLogic_maskBuffer <= 8'h00;
end else begin
if(cmdLogic_outputFork_fire) begin
io_input_aw_fork2_logic_linkEnable_0 <= 1'b0;
end
if(cmdLogic_dataFork_fire) begin
io_input_aw_fork2_logic_linkEnable_1 <= 1'b0;
end
if(io_input_aw_ready) begin
io_input_aw_fork2_logic_linkEnable_0 <= 1'b1;
io_input_aw_fork2_logic_linkEnable_1 <= 1'b1;
end
if(io_output_w_ready) begin
dataLogic_outputValid <= 1'b0;
end
if(io_output_w_fire) begin
dataLogic_maskBuffer <= 8'h00;
end
if(io_input_w_fire) begin
dataLogic_outputValid <= ((dataLogic_byteCounterNext[3] || io_input_w_payload_last) || dataLogic_alwaysFire);
if(io_input_w_payload_last) begin
dataLogic_busy <= 1'b0;
end
if(when_Axi4Upsizer_l59) begin
dataLogic_maskBuffer[0] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_1) begin
dataLogic_maskBuffer[1] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_2) begin
dataLogic_maskBuffer[2] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_3) begin
dataLogic_maskBuffer[3] <= io_input_w_payload_strb[3];
end
if(when_Axi4Upsizer_l59_4) begin
dataLogic_maskBuffer[4] <= io_input_w_payload_strb[0];
end
if(when_Axi4Upsizer_l59_5) begin
dataLogic_maskBuffer[5] <= io_input_w_payload_strb[1];
end
if(when_Axi4Upsizer_l59_6) begin
dataLogic_maskBuffer[6] <= io_input_w_payload_strb[2];
end
if(when_Axi4Upsizer_l59_7) begin
dataLogic_maskBuffer[7] <= io_input_w_payload_strb[3];
end
end
if(cmdLogic_dataFork_fire_1) begin
dataLogic_busy <= 1'b1;
end
end
end
always @(posedge clk) begin
if(io_input_w_fire) begin
if(dataLogic_incrementByteCounter) begin
dataLogic_byteCounter <= dataLogic_byteCounterNext[2:0];
end
dataLogic_outputLast <= io_input_w_payload_last;
if(when_Axi4Upsizer_l59) begin
dataLogic_dataBuffer[7 : 0] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_1) begin
dataLogic_dataBuffer[15 : 8] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_2) begin
dataLogic_dataBuffer[23 : 16] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_3) begin
dataLogic_dataBuffer[31 : 24] <= io_input_w_payload_data[31 : 24];
end
if(when_Axi4Upsizer_l59_4) begin
dataLogic_dataBuffer[39 : 32] <= io_input_w_payload_data[7 : 0];
end
if(when_Axi4Upsizer_l59_5) begin
dataLogic_dataBuffer[47 : 40] <= io_input_w_payload_data[15 : 8];
end
if(when_Axi4Upsizer_l59_6) begin
dataLogic_dataBuffer[55 : 48] <= io_input_w_payload_data[23 : 16];
end
if(when_Axi4Upsizer_l59_7) begin
dataLogic_dataBuffer[63 : 56] <= io_input_w_payload_data[31 : 24];
end
end
if(cmdLogic_dataFork_fire_1) begin
dataLogic_byteCounter <= cmdLogic_dataFork_payload_addr[2:0];
if(when_Axi4Upsizer_l68) begin
dataLogic_byteCounter[0] <= 1'b0;
end
if(when_Axi4Upsizer_l68_1) begin
dataLogic_byteCounter[1] <= 1'b0;
end
if(when_Axi4Upsizer_l68_2) begin
dataLogic_byteCounter[2] <= 1'b0;
end
dataLogic_size <= cmdLogic_dataFork_payload_size;
dataLogic_alwaysFire <= (! (cmdLogic_dataFork_payload_burst == 2'b01));
dataLogic_incrementByteCounter <= (! (cmdLogic_dataFork_payload_burst == 2'b00));
end
end
endmodule
module Asic32To64UpsizerAxi4ReadOnlyUpsizer_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_input_ar_valid,
output reg io_input_ar_ready,
input [31:0] io_input_ar_payload_addr,
input [7:0] io_input_ar_payload_id,
input [3:0] io_input_ar_payload_region,
input [7:0] io_input_ar_payload_len,
input [2:0] io_input_ar_payload_size,
input [1:0] io_input_ar_payload_burst,
input [0:0] io_input_ar_payload_lock,
input [3:0] io_input_ar_payload_cache,
input [3:0] io_input_ar_payload_qos,
input [2:0] io_input_ar_payload_prot,
output io_input_r_valid,
input io_input_r_ready,
output [31:0] io_input_r_payload_data,
output [7:0] io_input_r_payload_id,
output [1:0] io_input_r_payload_resp,
output io_input_r_payload_last,
output io_output_ar_valid,
input io_output_ar_ready,
output [31:0] io_output_ar_payload_addr,
output [7:0] io_output_ar_payload_id,
output [3:0] io_output_ar_payload_region,
output [7:0] io_output_ar_payload_len,
output reg [2:0] io_output_ar_payload_size,
output [1:0] io_output_ar_payload_burst,
output [0:0] io_output_ar_payload_lock,
output [3:0] io_output_ar_payload_cache,
output [3:0] io_output_ar_payload_qos,
output [2:0] io_output_ar_payload_prot,
input io_output_r_valid,
output io_output_r_ready,
input [63:0] io_output_r_payload_data,
input [7:0] io_output_r_payload_id,
input [1:0] io_output_r_payload_resp,
input io_output_r_payload_last,
input clk,
input reset
);
wire dataLogic_cmdPush_fifo_io_pop_ready;
wire dataLogic_cmdPush_fifo_io_push_ready;
wire dataLogic_cmdPush_fifo_io_pop_valid;
wire [2:0] dataLogic_cmdPush_fifo_io_pop_payload_startAt;
wire [2:0] dataLogic_cmdPush_fifo_io_pop_payload_endAt;
wire [2:0] dataLogic_cmdPush_fifo_io_pop_payload_size;
wire [7:0] dataLogic_cmdPush_fifo_io_pop_payload_id;
wire [4:0] dataLogic_cmdPush_fifo_io_occupancy;
wire [4:0] dataLogic_cmdPush_fifo_io_availability;
wire [14:0] _zz_cmdLogic_byteCount;
wire [10:0] _zz_cmdLogic_incrLen;
wire [10:0] _zz_cmdLogic_incrLen_1;
wire [2:0] _zz_cmdLogic_incrLen_2;
wire [31:0] _zz_dataLogic_cmdPush_payload_endAt;
wire [31:0] _zz_dataLogic_cmdPush_payload_endAt_1;
wire [14:0] _zz_dataLogic_cmdPush_payload_endAt_2;
wire [3:0] _zz_dataLogic_byteCounterNext;
wire [7:0] _zz_dataLogic_byteCounterNext_1;
reg [31:0] _zz_io_input_r_payload_data;
wire [0:0] _zz_io_input_r_payload_data_1;
wire cmdLogic_outputFork_valid;
wire cmdLogic_outputFork_ready;
wire [31:0] cmdLogic_outputFork_payload_addr;
wire [7:0] cmdLogic_outputFork_payload_id;
wire [3:0] cmdLogic_outputFork_payload_region;
wire [7:0] cmdLogic_outputFork_payload_len;
wire [2:0] cmdLogic_outputFork_payload_size;
wire [1:0] cmdLogic_outputFork_payload_burst;
wire [0:0] cmdLogic_outputFork_payload_lock;
wire [3:0] cmdLogic_outputFork_payload_cache;
wire [3:0] cmdLogic_outputFork_payload_qos;
wire [2:0] cmdLogic_outputFork_payload_prot;
wire cmdLogic_dataFork_valid;
wire cmdLogic_dataFork_ready;
wire [31:0] cmdLogic_dataFork_payload_addr;
wire [7:0] cmdLogic_dataFork_payload_id;
wire [3:0] cmdLogic_dataFork_payload_region;
wire [7:0] cmdLogic_dataFork_payload_len;
wire [2:0] cmdLogic_dataFork_payload_size;
wire [1:0] cmdLogic_dataFork_payload_burst;
wire [0:0] cmdLogic_dataFork_payload_lock;
wire [3:0] cmdLogic_dataFork_payload_cache;
wire [3:0] cmdLogic_dataFork_payload_qos;
wire [2:0] cmdLogic_dataFork_payload_prot;
reg io_input_ar_fork2_logic_linkEnable_0;
reg io_input_ar_fork2_logic_linkEnable_1;
wire when_Stream_l993;
wire when_Stream_l993_1;
wire cmdLogic_outputFork_fire;
wire cmdLogic_dataFork_fire;
wire [9:0] cmdLogic_byteCount;
wire [7:0] cmdLogic_incrLen;
wire when_Axi4Upsizer_l108;
wire dataLogic_cmdPush_valid;
wire dataLogic_cmdPush_ready;
wire [2:0] dataLogic_cmdPush_payload_startAt;
wire [2:0] dataLogic_cmdPush_payload_endAt;
wire [2:0] dataLogic_cmdPush_payload_size;
wire [7:0] dataLogic_cmdPush_payload_id;
reg [2:0] dataLogic_size;
reg dataLogic_busy;
reg [7:0] dataLogic_id;
reg [2:0] dataLogic_byteCounter;
reg [2:0] dataLogic_byteCounterLast;
wire [3:0] dataLogic_byteCounterNext;
wire readOnly_dataLogic_cmdPush_fifo_io_pop_fire;
wire io_input_r_fire;
assign _zz_cmdLogic_byteCount = ({7'd0,io_input_ar_payload_len} <<< io_input_ar_payload_size);
assign _zz_cmdLogic_incrLen = ({1'b0,cmdLogic_byteCount} + _zz_cmdLogic_incrLen_1);
assign _zz_cmdLogic_incrLen_2 = io_input_ar_payload_addr[2 : 0];
assign _zz_cmdLogic_incrLen_1 = {8'd0, _zz_cmdLogic_incrLen_2};
assign _zz_dataLogic_cmdPush_payload_endAt = (cmdLogic_dataFork_payload_addr + _zz_dataLogic_cmdPush_payload_endAt_1);
assign _zz_dataLogic_cmdPush_payload_endAt_2 = ({7'd0,cmdLogic_dataFork_payload_len} <<< cmdLogic_dataFork_payload_size);
assign _zz_dataLogic_cmdPush_payload_endAt_1 = {17'd0, _zz_dataLogic_cmdPush_payload_endAt_2};
assign _zz_dataLogic_byteCounterNext_1 = ({7'd0,1'b1} <<< dataLogic_size);
assign _zz_dataLogic_byteCounterNext = _zz_dataLogic_byteCounterNext_1[3:0];
assign _zz_io_input_r_payload_data_1 = (dataLogic_byteCounter >>> 2'd2);
Asic32To64UpsizerStreamFifo_5b3f2212c953407c83e1cf8c9cc77ea9 dataLogic_cmdPush_fifo (
.io_push_valid (dataLogic_cmdPush_valid ), //i
.io_push_ready (dataLogic_cmdPush_fifo_io_push_ready ), //o
.io_push_payload_startAt (dataLogic_cmdPush_payload_startAt[2:0] ), //i
.io_push_payload_endAt (dataLogic_cmdPush_payload_endAt[2:0] ), //i
.io_push_payload_size (dataLogic_cmdPush_payload_size[2:0] ), //i
.io_push_payload_id (dataLogic_cmdPush_payload_id[7:0] ), //i
.io_pop_valid (dataLogic_cmdPush_fifo_io_pop_valid ), //o
.io_pop_ready (dataLogic_cmdPush_fifo_io_pop_ready ), //i
.io_pop_payload_startAt (dataLogic_cmdPush_fifo_io_pop_payload_startAt[2:0]), //o
.io_pop_payload_endAt (dataLogic_cmdPush_fifo_io_pop_payload_endAt[2:0] ), //o
.io_pop_payload_size (dataLogic_cmdPush_fifo_io_pop_payload_size[2:0] ), //o
.io_pop_payload_id (dataLogic_cmdPush_fifo_io_pop_payload_id[7:0] ), //o
.io_flush (1'b0 ), //i
.io_occupancy (dataLogic_cmdPush_fifo_io_occupancy[4:0] ), //o
.io_availability (dataLogic_cmdPush_fifo_io_availability[4:0] ), //o
.clk (clk ), //i
.reset (reset ) //i
);
always @(*) begin
case(_zz_io_input_r_payload_data_1)
1'b0 : _zz_io_input_r_payload_data = io_output_r_payload_data[31 : 0];
default : _zz_io_input_r_payload_data = io_output_r_payload_data[63 : 32];
endcase
end
always @(*) begin
io_input_ar_ready = 1'b1;
if(when_Stream_l993) begin
io_input_ar_ready = 1'b0;
end
if(when_Stream_l993_1) begin
io_input_ar_ready = 1'b0;
end
end
assign when_Stream_l993 = ((! cmdLogic_outputFork_ready) && io_input_ar_fork2_logic_linkEnable_0);
assign when_Stream_l993_1 = ((! cmdLogic_dataFork_ready) && io_input_ar_fork2_logic_linkEnable_1);
assign cmdLogic_outputFork_valid = (io_input_ar_valid && io_input_ar_fork2_logic_linkEnable_0);
assign cmdLogic_outputFork_payload_addr = io_input_ar_payload_addr;
assign cmdLogic_outputFork_payload_id = io_input_ar_payload_id;
assign cmdLogic_outputFork_payload_region = io_input_ar_payload_region;
assign cmdLogic_outputFork_payload_len = io_input_ar_payload_len;
assign cmdLogic_outputFork_payload_size = io_input_ar_payload_size;
assign cmdLogic_outputFork_payload_burst = io_input_ar_payload_burst;
assign cmdLogic_outputFork_payload_lock = io_input_ar_payload_lock;
assign cmdLogic_outputFork_payload_cache = io_input_ar_payload_cache;
assign cmdLogic_outputFork_payload_qos = io_input_ar_payload_qos;
assign cmdLogic_outputFork_payload_prot = io_input_ar_payload_prot;
assign cmdLogic_outputFork_fire = (cmdLogic_outputFork_valid && cmdLogic_outputFork_ready);
assign cmdLogic_dataFork_valid = (io_input_ar_valid && io_input_ar_fork2_logic_linkEnable_1);
assign cmdLogic_dataFork_payload_addr = io_input_ar_payload_addr;
assign cmdLogic_dataFork_payload_id = io_input_ar_payload_id;
assign cmdLogic_dataFork_payload_region = io_input_ar_payload_region;
assign cmdLogic_dataFork_payload_len = io_input_ar_payload_len;
assign cmdLogic_dataFork_payload_size = io_input_ar_payload_size;
assign cmdLogic_dataFork_payload_burst = io_input_ar_payload_burst;
assign cmdLogic_dataFork_payload_lock = io_input_ar_payload_lock;
assign cmdLogic_dataFork_payload_cache = io_input_ar_payload_cache;
assign cmdLogic_dataFork_payload_qos = io_input_ar_payload_qos;
assign cmdLogic_dataFork_payload_prot = io_input_ar_payload_prot;
assign cmdLogic_dataFork_fire = (cmdLogic_dataFork_valid && cmdLogic_dataFork_ready);
assign io_output_ar_valid = cmdLogic_outputFork_valid;
assign cmdLogic_outputFork_ready = io_output_ar_ready;
assign io_output_ar_payload_addr = cmdLogic_outputFork_payload_addr;
assign io_output_ar_payload_region = cmdLogic_outputFork_payload_region;
assign io_output_ar_payload_burst = cmdLogic_outputFork_payload_burst;
assign io_output_ar_payload_lock = cmdLogic_outputFork_payload_lock;
assign io_output_ar_payload_cache = cmdLogic_outputFork_payload_cache;
assign io_output_ar_payload_qos = cmdLogic_outputFork_payload_qos;
assign io_output_ar_payload_prot = cmdLogic_outputFork_payload_prot;
assign cmdLogic_byteCount = _zz_cmdLogic_byteCount[9:0];
assign cmdLogic_incrLen = _zz_cmdLogic_incrLen[10 : 3];
always @(*) begin
io_output_ar_payload_size = 3'b011;
if(when_Axi4Upsizer_l108) begin
io_output_ar_payload_size = io_input_ar_payload_size;
end
end
assign io_output_ar_payload_len = cmdLogic_incrLen;
assign io_output_ar_payload_id = 8'h00;
assign when_Axi4Upsizer_l108 = (io_input_ar_payload_len == 8'h00);
assign dataLogic_cmdPush_valid = cmdLogic_dataFork_valid;
assign cmdLogic_dataFork_ready = dataLogic_cmdPush_ready;
assign dataLogic_cmdPush_payload_startAt = cmdLogic_dataFork_payload_addr[2:0];
assign dataLogic_cmdPush_payload_endAt = _zz_dataLogic_cmdPush_payload_endAt[2:0];
assign dataLogic_cmdPush_payload_size = cmdLogic_dataFork_payload_size;
assign dataLogic_cmdPush_payload_id = cmdLogic_dataFork_payload_id;
assign dataLogic_cmdPush_ready = dataLogic_cmdPush_fifo_io_push_ready;
assign dataLogic_byteCounterNext = ({1'b0,dataLogic_byteCounter} + _zz_dataLogic_byteCounterNext);
assign readOnly_dataLogic_cmdPush_fifo_io_pop_fire = (dataLogic_cmdPush_fifo_io_pop_valid && dataLogic_cmdPush_fifo_io_pop_ready);
assign dataLogic_cmdPush_fifo_io_pop_ready = (! dataLogic_busy);
assign io_input_r_fire = (io_input_r_valid && io_input_r_ready);
assign io_input_r_valid = (io_output_r_valid && dataLogic_busy);
assign io_input_r_payload_last = (io_output_r_payload_last && (dataLogic_byteCounter == dataLogic_byteCounterLast));
assign io_input_r_payload_resp = io_output_r_payload_resp;
assign io_input_r_payload_data = _zz_io_input_r_payload_data;
assign io_input_r_payload_id = dataLogic_id;
assign io_output_r_ready = ((dataLogic_busy && io_input_r_ready) && (io_input_r_payload_last || dataLogic_byteCounterNext[3]));
always @(posedge clk or posedge reset) begin
if(reset) begin
io_input_ar_fork2_logic_linkEnable_0 <= 1'b1;
io_input_ar_fork2_logic_linkEnable_1 <= 1'b1;
dataLogic_busy <= 1'b0;
end else begin
if(cmdLogic_outputFork_fire) begin
io_input_ar_fork2_logic_linkEnable_0 <= 1'b0;
end
if(cmdLogic_dataFork_fire) begin
io_input_ar_fork2_logic_linkEnable_1 <= 1'b0;
end
if(io_input_ar_ready) begin
io_input_ar_fork2_logic_linkEnable_0 <= 1'b1;
io_input_ar_fork2_logic_linkEnable_1 <= 1'b1;
end
if(readOnly_dataLogic_cmdPush_fifo_io_pop_fire) begin
dataLogic_busy <= 1'b1;
end
if(io_input_r_fire) begin
if(io_input_r_payload_last) begin
dataLogic_busy <= 1'b0;
end
end
end
end
always @(posedge clk) begin
if(readOnly_dataLogic_cmdPush_fifo_io_pop_fire) begin
dataLogic_byteCounter <= dataLogic_cmdPush_fifo_io_pop_payload_startAt;
dataLogic_byteCounterLast <= dataLogic_cmdPush_fifo_io_pop_payload_endAt;
dataLogic_size <= dataLogic_cmdPush_fifo_io_pop_payload_size;
dataLogic_id <= dataLogic_cmdPush_fifo_io_pop_payload_id;
end
if(io_input_r_fire) begin
dataLogic_byteCounter <= dataLogic_byteCounterNext[2:0];
end
end
endmodule
module Asic32To64UpsizerStreamFifo_5b3f2212c953407c83e1cf8c9cc77ea9 (
input io_push_valid,
output io_push_ready,
input [2:0] io_push_payload_startAt,
input [2:0] io_push_payload_endAt,
input [2:0] io_push_payload_size,
input [7:0] io_push_payload_id,
output io_pop_valid,
input io_pop_ready,
output [2:0] io_pop_payload_startAt,
output [2:0] io_pop_payload_endAt,
output [2:0] io_pop_payload_size,
output [7:0] io_pop_payload_id,
input io_flush,
output [4:0] io_occupancy,
output [4:0] io_availability,
input clk,
input reset
);
reg [16:0] _zz_logic_ram_port0;
wire [3:0] _zz_logic_pushPtr_valueNext;
wire [0:0] _zz_logic_pushPtr_valueNext_1;
wire [3:0] _zz_logic_popPtr_valueNext;
wire [0:0] _zz_logic_popPtr_valueNext_1;
wire _zz__zz_logic_ram_port0;
wire _zz__zz_io_pop_payload_startAt;
wire [16:0] _zz__zz_logic_ram_port1;
wire [3:0] _zz_io_availability;
reg _zz_1;
reg logic_pushPtr_willIncrement;
reg logic_pushPtr_willClear;
reg [3:0] logic_pushPtr_valueNext;
reg [3:0] logic_pushPtr_value;
wire logic_pushPtr_willOverflowIfInc;
wire logic_pushPtr_willOverflow;
reg logic_popPtr_willIncrement;
reg logic_popPtr_willClear;
reg [3:0] logic_popPtr_valueNext;
reg [3:0] logic_popPtr_value;
wire logic_popPtr_willOverflowIfInc;
wire logic_popPtr_willOverflow;
wire logic_ptrMatch;
reg logic_risingOccupancy;
wire logic_pushing;
wire logic_popping;
wire logic_empty;
wire logic_full;
reg _zz_io_pop_valid;
wire [16:0] _zz_io_pop_payload_startAt;
wire when_Stream_l1123;
wire [3:0] logic_ptrDif;
reg [16:0] logic_ram [0:15];
assign _zz_logic_pushPtr_valueNext_1 = logic_pushPtr_willIncrement;
assign _zz_logic_pushPtr_valueNext = {3'd0, _zz_logic_pushPtr_valueNext_1};
assign _zz_logic_popPtr_valueNext_1 = logic_popPtr_willIncrement;
assign _zz_logic_popPtr_valueNext = {3'd0, _zz_logic_popPtr_valueNext_1};
assign _zz_io_availability = (logic_popPtr_value - logic_pushPtr_value);
assign _zz__zz_io_pop_payload_startAt = 1'b1;
assign _zz__zz_logic_ram_port1 = {io_push_payload_id,{io_push_payload_size,{io_push_payload_endAt,io_push_payload_startAt}}};
always @(posedge clk) begin
if(_zz__zz_io_pop_payload_startAt) begin
_zz_logic_ram_port0 <= logic_ram[logic_popPtr_valueNext];
end
end
always @(posedge clk) begin
if(_zz_1) begin
logic_ram[logic_pushPtr_value] <= _zz__zz_logic_ram_port1;
end
end
always @(*) begin
_zz_1 = 1'b0;
if(logic_pushing) begin
_zz_1 = 1'b1;
end
end
always @(*) begin
logic_pushPtr_willIncrement = 1'b0;
if(logic_pushing) begin
logic_pushPtr_willIncrement = 1'b1;
end
end
always @(*) begin
logic_pushPtr_willClear = 1'b0;
if(io_flush) begin
logic_pushPtr_willClear = 1'b1;
end
end
assign logic_pushPtr_willOverflowIfInc = (logic_pushPtr_value == 4'b1111);
assign logic_pushPtr_willOverflow = (logic_pushPtr_willOverflowIfInc && logic_pushPtr_willIncrement);
always @(*) begin
logic_pushPtr_valueNext = (logic_pushPtr_value + _zz_logic_pushPtr_valueNext);
if(logic_pushPtr_willClear) begin
logic_pushPtr_valueNext = 4'b0000;
end
end
always @(*) begin
logic_popPtr_willIncrement = 1'b0;
if(logic_popping) begin
logic_popPtr_willIncrement = 1'b1;
end
end
always @(*) begin
logic_popPtr_willClear = 1'b0;
if(io_flush) begin
logic_popPtr_willClear = 1'b1;
end
end
assign logic_popPtr_willOverflowIfInc = (logic_popPtr_value == 4'b1111);
assign logic_popPtr_willOverflow = (logic_popPtr_willOverflowIfInc && logic_popPtr_willIncrement);
always @(*) begin
logic_popPtr_valueNext = (logic_popPtr_value + _zz_logic_popPtr_valueNext);
if(logic_popPtr_willClear) begin
logic_popPtr_valueNext = 4'b0000;
end
end
assign logic_ptrMatch = (logic_pushPtr_value == logic_popPtr_value);
assign logic_pushing = (io_push_valid && io_push_ready);
assign logic_popping = (io_pop_valid && io_pop_ready);
assign logic_empty = (logic_ptrMatch && (! logic_risingOccupancy));
assign logic_full = (logic_ptrMatch && logic_risingOccupancy);
assign io_push_ready = (! logic_full);
assign io_pop_valid = ((! logic_empty) && (! (_zz_io_pop_valid && (! logic_full))));
assign _zz_io_pop_payload_startAt = _zz_logic_ram_port0;
assign io_pop_payload_startAt = _zz_io_pop_payload_startAt[2 : 0];
assign io_pop_payload_endAt = _zz_io_pop_payload_startAt[5 : 3];
assign io_pop_payload_size = _zz_io_pop_payload_startAt[8 : 6];
assign io_pop_payload_id = _zz_io_pop_payload_startAt[16 : 9];
assign when_Stream_l1123 = (logic_pushing != logic_popping);
assign logic_ptrDif = (logic_pushPtr_value - logic_popPtr_value);
assign io_occupancy = {(logic_risingOccupancy && logic_ptrMatch),logic_ptrDif};
assign io_availability = {((! logic_risingOccupancy) && logic_ptrMatch),_zz_io_availability};
always @(posedge clk or posedge reset) begin
if(reset) begin
logic_pushPtr_value <= 4'b0000;
logic_popPtr_value <= 4'b0000;
logic_risingOccupancy <= 1'b0;
_zz_io_pop_valid <= 1'b0;
end else begin
logic_pushPtr_value <= logic_pushPtr_valueNext;
logic_popPtr_value <= logic_popPtr_valueNext;
_zz_io_pop_valid <= (logic_popPtr_valueNext == logic_pushPtr_value);
if(when_Stream_l1123) begin
logic_risingOccupancy <= logic_pushing;
end
if(io_flush) begin
logic_risingOccupancy <= 1'b0;
end
end
end
endmodule
`resetall
`timescale 1ns/1ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
OOoBg4gI2nZAz8wwveQb2xYziCO/14ylivOE2CroC0KR1q446pg5ZHoTPlNXu9oR
FRdk+YQI93EEtwl0LJTuMb+sGUNIUS2ieLbzb7gpgkBuOgUljkWzXsN0p2S8f9nQ
QN9I/ZlxuRJ+sjdUPzEEEWHeUFIamGV/bFLJQRvloxvTvwLpmavqG6GhWi2vdXHo
7WqQVvDZRXw2M1o9dR9PdlpAkysf1TragnGQk5AkUZ3qOXFRHbxOhnJyTnaE1GyX
Oq59frbbD4+rLXSfc5EcBvIcpDJOgpRiCtikYUTFmw45b5M9gLaBYasEi8c7ZLIR
hQNrovA1RmOBbD4PGOXIrw==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 752 )
`pragma protect data_block
om+C6TrXX7WvV09MgL6R62R+Od59uPw5eeLNNbNww55GLUXwwj/XGluwdblYZx9I
X+OGjlllzxPGhddDes1uu0dNKh2ykfPsuWVHff2KPOJBKoYeNx6pVHSJR6EuePH0
AhyaQM8gII6oK6SM94NjiC9BWcfDvsjfNZytp9D451ZvKE98e0NYabL8MIo9s2kV
hXffla5eL/f4PK7O6Y5XPFWrEpZtzAnWBDgKmEsiwAaDCKqGSY4iiwUewIaBv+no
+Ka4H3jnDmn/kGjkCfbajYK06RFHwFFJlgAzE5OFkMY8Ksmj63sVYM69D9UbM9DF
niOhc7FJg8UxSMZivgX9broAWkURRuJv8CeV37kSTWQY3ZEYK5YVCUjgwJEDCYju
ttWTXEpc3zXD52bxJep6OqjHO4n3brwnDjGeWrfb2IENd5VuXBspvMZ+2N3dGmpM
2nyNRZa7erdjUbB3k9+o0Efs02Jvj7TCsviSczk7axZYkJZI4mxPF+b8FStXCvEB
LXfZ7zKmlAcvi4QhCJ3anblnrJDeiGvv5UisphO/KeahF76MYUcZZi2tkiS7KcqN
BgGiZEgzvz6q/euENKIJAJI7Z+YoEOXDZfFoEW20WgSe2LbF5HK0npobYc8MHqIs
Pj1UIlLucUKcAg865RSblbpeLgNK5ryqdU+QOwi1pM8JFsgF48JfdVWMaFu9sWdV
zMNn55XZ4AvwOAnua8nN1fZ6mOpwJX4Ebii/zW5S/6Mm0kbhHkqZg78eXQEQMbJP
5YUFRgm2EkdKkxUmk2qwycEMEqLvXk/aOg48zpGcLAp9LwMjFRotYNW5+ygxGGQ9
WR2CYo06vLomSI/uE7XlTHHUArxUtH385f1fq7V4QRutX19Wjq6GyG/YJWl2JURc
u+WqUFTAylQRC8Fhb+BPUoP6oW1YmiFwJ0LDM6xFkFWk7by/1wO0DdZV+slmdKR2
1sxJAK6dd4yk223AytIzJlN7eZ9pmgJa3n4/X0QNDSY=
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
lvtXQ11Z9LNNq59Ajdesxcgo5CSVwrUQlGzmWsibhgsAsHyCjqyj0vMRSR+QiEty
/yyi7z21Q4K7YH9jOeDy5ci704W9tiZzbY6jJLUXKIB8tCJnB8DHWfmPTJjac1+X
kAprlwdHkFxurVjCyvzvpsDzl+7qd3dfEhaBAOQTrigUU88CdOFxwRcXpGn8arty
jpeOR3kDUSTf2tPHovV/i7635KJFX7o+tzJgPU4pQpgxBuHNN2b2rUy4eZxHS8/K
SkBE3iIjiOUYaJHZOgUGks3PvjFmmj3eD3ktt+v8nt/ozHPjJ7+uP8/p3i+qPyOY
4YYq/Ldon1lQeJanU4emrg==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 800 )
`pragma protect data_block
LXRln5CGH/X3ZcC9f1s9GTxumdb3ijnQQ2FPf5CLS40wU3FpMlOGzCsOTBaQ0U2F
9oguD9QGHXfbD1Nd7PairdinewSLKx8JR2NJDQobGByPc+ysqVmUtvuhRNKAl33p
T6XjMlhW+ErrSsLQLWyzVl/WuxdW9LxIu0sJtoA07ny3Tlv/mazOJBv/qiQeV4MN
ME3SEpILxBCTIfkZTacMxEgSQWExjpebTwhrH+qQ6BlH+G5OLRJkwgGf3zlGBAOv
WooRGb02wwE4zZT8LVq75rMiXDHrLTYLa33sLqoXQlIBMH8+EyVUyg803Ob8M3T3
P0pOvZ3YinKmZt0udsR76q1filXw7Vr4pNnqfY6jN5Tcx4SfVVOrAgATj0mb6yO4
PN5I8gqTmaiF2qTM3Z9OvVEH/15Q+L5BIfkaD7NrXvexgwjTCbQZAqOhro8gUp8I
0FU85AMYy3vh0GId10O0gj9uIqlBOCzpSPp4v+vxYL9gXe71r8jkBkx7xWspnrlV
reIqWJt6b5eVQ0Evqm0zoWTq1f3KG2QlOcv2XRxexmjrZJxN18uWjtHJT79Z9HdF
zD0dyC2++DANYrfY3k2Bdjq9ul3WjDfIF1IZmie5nqpY/Doo06O4BvzJma47Ridu
McqvFIpZnD8bO/fJpsHFSTGOJ/XgjTD6L/mAUMgNg/xywOohLinUAFv7btl1cos3
11npbTSOQo68RlTNeyZWtZ+Jl7ymhhjlYDbUu/vXwSN4eZuWWwL7ZggynnqMSRC6
mkr+GDI2YWg+2zYAGJ2dbgcgug8yKlwu7pGL1jXD2NIGOTpSB4Za71jBoqh7baly
3w+qb2Jpj3QpmzfCsMJb/QfVrtQ9pXl6uRnvN0hp+MM+hkRTZmW2QcHa0qMk5408
UYZQGWsUBKVwB9lktWOt7QSXi7MVPzzHtwB0LM0jAYZGP9JXj5w3GXjKQt5lfdv8
7fEoOfhB23IpJpo70B2ONKCH6eIA2BI9kvFO0JaafaohQixe6ZP0x6E1H9Uj1d8Z
uBMxCVtI9jJ+5v6FXlHl19YPtiRAPje2oBZ7f5kz7jg=
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
YZcxj4NiuiyaBjwj3+i08UfgElpJok6CAPrtf/VeNVjKQ4vA0nsIxPTauJCmLxEk
n2CsXLkWDAo0vTBJ27P2Gzis+Byuf3ie2/rrt4Nsk3r0oYiZI+/ne+066AsA5vmj
nqK12/q++uVjy1BnXRhJWwyJxZPo+9rnGQRERXZmgh+QZ6ejYS72L8ufrSK4hPmE
2/vPW+haIsw4iifrZaqfmJNT6OA24BG8ZnyU/hCNVUwzybiZ5NNgyzuo4U3x3eq/
b3ZP5uRk7g57KmnXDVio+dAa5DNl+z4ImILcjLDJcqJ7TBRa26pECkiCFo/84A3K
87RH6WBz+a0EgK85kgWFBQ==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 5808 )
`pragma protect data_block
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
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
mEtbV9EGXcpC/6yko1/E5fksxy4umj6Ln9zdp/k87D3GnzU6MtGj2lR4GCbisMd+
Rbqmu++LZV+2wB32AtLnsLppKmsYhO9jjXRe4xPQK1niY8CuPx9Fr5cd2zq0iVnF
bFX+yY9CqzKEM9Mvztoxmllg6ROMAs03PPD458s652wcEEnPn5klZ2tYXy1JQEyI
wuK0EmtlFp4B+IrUHiZZJoJBxmxQCtz1uIZrR8PF4sBs4OO9W5NB6s4hrEzn7Jkj
sQlyyW4RgbyZlTqNt3mz8Zwu3iGowx4s4CGhhIpgPPWdlJWY0smeNKsbmJXvOn+j
9uRi9+ghgR+LTAxZo0Ibig==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 2048 )
`pragma protect data_block
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
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
J5uwiQrMgxLjAj13SAy3vsBmkypkUHuPQwyAno2NI+dh6ADhBeGoXkLbyWfXNO1S
b05RGEBtTRrRNY6f8sSoZPBYR58MJ73nuTvU++VlZj/tjtveso5nLIb3L9Vkcd9u
0AiQMLa2c0BwzGlJOtCwvWFRdnBcL99FI+19wu3C5WuQGCEmRoMY/ws1Iqm37Kqw
U1xX3Dwt8W6rsiXga2zZB25WuvJH7x4XHQfNqjaLhKknhS2JfB26tukpUQnAWPnW
dD5cGa9rs9jsi3/A7lx2vFtvkxyCF2QF4w0Gp/PVpiJE/shh4MsCHia43FXoq7AA
+ky0TMuOm0HojmlyU4c00Q==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 8624 )
`pragma protect data_block
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
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
jUjs/IOtuXb97xlmyLq5Edj4QcB1X4njm+CwasvqhiKDISF/uEFDJMVIj/u+M795
kVf3cOwkzvRxZbOyaqa3d3dNrJpmCfLcCQe9XSPq6gw7Zx5h7mCBR8CgBosd/bPN
dJDcmWwSeM2dAAY1L8RWZaVAt0ECVzK/jKZ13nbpAbZzrtXkLSGEm7C2YEoVz0ZN
pBI0A7g9Sefz2Hy6Y0d8HdbJMKW7zm7KRME3k29eMtEmlE1qKdJfxIduXCGWs2Mb
qKWPodTwUcLeIzd872zib1vwIJdgR6giq/AJhdiN5IcJxFDvjjatsulWYSfE1iO/
jiC1tGg4ec/+iJP41bbQRw==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 15200 )
`pragma protect data_block
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
`pragma protect end_protected
//pragma protect end
`resetall
`timescale 1ns/1ps
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
PmlpB/6YO0aYZmLonOSfv1AKI1gSH8MDYymmabRlHFrShbqvDGa8mxE4q7jVthDq
MeTpb7dntYmVLpQ3jrou9qzgE3VzCDgyllo3TuIcQpf8xbi/clZ9EKTPRNrkLHXj
Jn2QVUXy1p5jRGkj8FP9VCUZbrPJDbUrwkO2Q2VtHlAdHQAM6Z7U9pJ6k+4Lt6z1
rqGgvu8nZroCzTOKDA9a17sB/IvYRCebzdw86ug8kfwFO6z9joWnFo8nHyg56sAc
aAcfkjyAi9uRiIQ3EUPJmFFtDYsOMqGzh3SmruIKWWPaL4HbH8ef7gp6ZFGqR+Wb
scvgrPSCW0tEJhX8tcsUCA==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 9184 )
`pragma protect data_block
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
WspkIpJhdVSfmzKexGLmdg==
`pragma protect end_protected
//pragma protect end
`resetall
`timescale 1ns/1ps
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
nUxQKBNOPAXm4SMK2ufDYCaxH6chMgD/G9EkTxUt+C4Nt0uAomJL0bJYD4mF8lOC
r95tiqs1UL9IxPtBQ7/tBv0W/JFRZJ/wPbPiqsu4V9ZtWkRNwuwhOdkOe7peQbYK
zj/GKqe/6NnDKvo2Xqr8SF+tE+6MaDB0XilqCHc+dyO0o3AqDAhL7mynjFjvo2j7
F0v0ToZFohVnUNWznEKxKGU+H0NlmNfYSoUlYleeUiwQo0B/drPTh3EFxzaaGSSm
pPi3nW/4vKGCaEpyX/VJFfaWzNLoaHeq0OqPZ7aGQpV50GLpDMglFlYSca6t4OZR
MdwaEqtceeAjFhWd1AnrWg==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 7296 )
`pragma protect data_block
Q6fip9AYrrc6csSM4j0nGbidOqnpUvFllvtr90ruMh3QiH6wgCa3Y1I6FB++ylFh
hIfnz0EzOo0+SG0Wc+s9BtsY+Q1dCChpha1qQ+FWmJwH0ylGnHU/vZF2G+coVnb/
mnQLB03/zpjBEay172RecdOeH2x7ztWgIzA+bfJDtvnJ8tOYBmwP57I4zENEkq9V
YU834CcpTWctHvMPn9p5bdRWIMD5YGFGw6gENULNdAr1ISPBcDLCwwwDCrccHqo7
B+7rlFPC/C2v6y6GiZDH8YBP2HfT5BcPJRdo+9HhGDIvUFgdbwiJLAsrctiEFHxo
y/kL3BEz4/CSFMIMIlcpwnBM/JRxCRuNBS3pHTJ0NzxOfP9KyLOduKFzGq5/5XYE
KbWo5Ww+/881aF6xY1qA0bUhMLx4aoU+4JA1Ny8jl/UU63kCqTDtDSg8LvR0bbFa
CHIiDjDyCvsQiIRSD/yOTuAn1/m5ZCYHLTRQo6ZtFb6ov+jrgbPThCEKNmVWJqoJ
3OPNjVnHf4JCP6EOCW4dvJ8jDecKctTqcEQuNgqHQcwggqlUfzM7JKRxyQQMHtCT
ELDN5DUETXncy1HO9hTCODvRAVJ6/gwOZ1/FEzPAnR0Atvq6YyOmPDe8fWO0wRRo
fJ2mCimbWcnDnYRYtUtlBex5f7joH9hc9beZiOJmwnf5Nfds0OvNSs2xlT2hxJEn
OcS371snjjJ+60l+b+qt45RbdwLVWzhEUm7FtaYRqX9b8L0wRYa9EKI6TedvhM6E
A2IhdD90G9eV6mcOQnvoLS4wJFJgHru5Xa/K56U8b7Vef5Sv3Jt4x2Zby1x6Mycq
s3C5qj0yNolPaJaM13SgMyZKf/OXD49EXPRhwQQJeV7/3V44GEjIbCJ49Q0Wskuf
n9jyn00Q9FGxrJReoBKodFy0A85lmBnNqX5Ni70pRh+lUOTnALFX+0veYpFf4CpI
W3vM+z0+WT4lr0zChxnFXDFhWAlkJjtOn8fcMMtMoyg5Jb/8C9oM8FSS6b4+Tqjv
saf8ujF7F+BDbOzswjqZP6cvj/WuIUPiW9MdWmg0FcEIuNFzMQfYciXi4pCc65cF
vgzZcLmiwLxZjQn51VvMjqPgK/gtmLqdLamWVBjIl5DTm0LxwjPsbkssQ/M5yvYV
nUo+Q7QbcnWQkV9R4D4mlLuU28An4OcdJeFRgpq7D3/97Z2IjqsrU3vDV+LDsdn/
FR2cbyLD2ipf0jsGZbhhNxmfkTvYyYoGdklMGCfNVJDzlW3+AyYJAmE9jcfi5G63
AgHw4X8gOvXCyoYDameE56H2kfwxlOvENcET3WJXMI7XnrnbG5TZ51ukUxKOOCwg
ui+NMT496RJdKcaVZa+N5hXzVPNY11joE0bjXYJXo7PZF5dqfsKXms/Y56SHhpbi
GuNgVUzlNcCPuil4WTkcZfWIEHFB7mQtQ9ydazrIzSQUCmGJ+xeQmdUE9+XdTsN0
21a9b2Ayq4tV4oxqExHScUON6RVY8qD9bKNdGR+cK6NLTsN//sikvcAJfNFnukzq
MzKq1C8QnNJ+0k7KHejyqYqsr6CKdpdoE3sWlJ4JxPABHKGZXV2qJDbsM+/bakhT
vlyKWGEJ0Afl3hQDdvOYX1vhzT1CtIkQHAWJ5r7KX94grHVWdJ9H5jnrdC+hyEcx
Qqg6XMT/oYXYPf1DfuZQPjm1XXCJXYIveMxivbNmY2Yt3ZWrSWBwVsaIz2fzQKVS
tMoT65j2DbBjuAzlxB1+XrowwxBIZzRqv6Gfc2KzGBZ9jHstPkfSIwevgy+etgPS
3HQwTXpmvLI09d1tMVEMLr6CaJ27LGp83T0cgC2pHHj5MOAdM8Z/t1hxQ1S/xT7X
MIsf+InTh4cEBYXf/fUZag1Tt8BVsirYvbnC/kqtN9sHvT115rFFScIaIzgOr84k
+qK+i2BueTRhV4iCxx12D8eqLNSKPAUMAYHNmFsECekHujATkh/AIL7e7srYTBH3
mUHPUrSUb3mqpighjRgH3WDKQ3x92alyN5GxP0vAdNsApilCgjB+8sT5AzY55NsQ
WEriVOpUZ9/29nmdDX9S3E/AYb6g3J5cnGlsBkIm02pOFgY2mWjbLJOO3Lt9dDnI
N5qxM+qSbcoVzFIYnznPwyTC0vlrEMiHSgMNHFWYmUyEjtWPr6CHA4k0s5PH6pUW
lIFt0JpCYIupXMLmYOb9RitMKwqox1ltblTjVapDi3DthT58hetpJhdXFdVLSX82
u9MjO1NyAZlL1kpfQdGx4DQAqncvqFumRZL798yvw19lf5UHjvtzCFNevyUZj0+i
B8TCfk4QpVWxhznPURJm4txzFeZj4Wz2SOzh+HSf4yd+b2eddV3TSMdluvu/G9Ee
PqWL00J4S0D0Ff8QoQF57r80l//UDpxQXQ6t9NGqPkMx5+Sgjcj+sWsAumaIZNSw
C54Nca4SBm/2AOnZPP1/T12XAi/X3OsoOK77S2l5YuFg919JW2+rj3e79I9Y/iJY
wROxbcW+7FXb8vgHROIOwuoKeQ91q8A5kBCeq3j4ynNyBePR1sjMR49DD+Oo7Icl
Dwu+Iws5urc6szjWAUIXa+r9k9I5EFizKTHaf1B3hYt8z6EdIs6hFRQUDBLJ9IgC
0/SA97eM47MmdmB6O4O/12wtkXyZsec7jY9KaDRZ2Nf7dX9T3fU5NJsF7078BrIX
uAuj4DEunJMePjVw7RCKd5vMlQczA/UO1mGaCmQmKWiC+BJLSqY+w/fp9XWLsJ+N
7pyv8KpOhAi53U9awGiJQ6cEDfcvbr1VHanD6oyPrcUWQlbPSS2dMg+cHLeC8OXz
0f0Iat3sCBNDKzRmwBui7Qo5t5OagWjjZatw77ssxXyyL8o+uJn4xMWRb6EmchDC
B5z2oKgijN/Fq5B1/nyYUyUPdE+JuQ7wVci5SwZPbxgIEgr7QdgQ21d6mhrm/wAP
F1vjkebNndUr9qsEvcrkIrvP9fjQ87vyto7jCumrO12GcWx4ZwmQ0y3D12YCw3T1
BtQlxHYkZ+lcevU2vRoTkFdnoBOtQ+V+vfdRD822o6hphpKdLAraT01y+EMmclFn
L0Go3uH8JWtsImsPA1d2AaWrp8XSc/VnL+2CajeYUW7SXH+9V4OhqRoSo6Qb0mCK
tjtYN7RC7HITqi+rNytMEXClrRSVB7EbgKCimOyhT7b9UfS+BkZXnf53n0DLdH0Z
K7mT043yMml62YYl5wVKBQiztpytWucEm7u9D27oVvFOp1ybcsvtN+wX0FIbuN+v
2LKOwapkCDI83rkWLLbOBS3SlwaTvZj+pI0/GZMLYab89eZJEWd/kv+p8Cv7hzG8
JJIVk58qBp6WMWwT+qIay24yWaP+OvY9vDd/JRpngXkrpeEoq/DHv8VHMWQ04acO
sY28AfcPxJroWTPdnVjHbYkETCeZsYHVAnynMeLu28jwDsp31yMiULdxWqOtN4AL
JP0TBDe9PqAZikAAXdOOZZX/R1YDCRKu4FCAEGuxnyRierkb0K4jRqaIZ/8A7b+Z
LCzBH0dE9Xje+Zczn/BVZ7nA0nErhQlcZAG+JEjTj0E0zqA+1fxkRw/7AnwPzFTC
hBtOSswTlaixJs/Gz9AQieWCJMPrhD//53rySDQgrSgmi6Ug9ga265sxETVr4gsP
2VLvJjurTe45X4l2xjGOI6kk2g3yJ8D1EG/HgqDIPWqJ/6CpFYxcP+Yrvwb6m/50
0Wee9VPJy0+jNH8csS7nBkEhxU5YA9yl7z0gODt0OiXgmt92k//3rIW/yzfPQFTH
nm/ES9HTnm+VCoa133N3EK39QFzfRcEIYx2uzndeMGd7J7kOdjC5lq10GUcZpMai
VgXX7PK6+1YIsm6Ssgk+5FnduYxaWShwZkFr9hKL6LBpnpm0xifo1o8g7IXnkEYI
pbWPcX3rLxlAfrKiit/uZs10FuyFC3k3gZ9exAQdVzUZqfDDNlecnzcQ+sqpaMy6
SFZoRE4K1ZqRvly38lxZ58zmnefwNsKl5VOpOdycO7clF6Uu0pxgtJjqEx1/JAYJ
S49wIz0EJ+AjoxwykzjjqgU54I6p9LNgCZpIGpI9hqB8qKz8gjpW+JRmZt/zaRUp
AgPM6vE0vJ1Oduvs6PRrcDXuIrfjc0aJM1BPi133nixHlZ5/m3dL8dwpaxPX4oUT
9LEs4iQtLMaAStespnirSsirc+j21jnmx6IkWQm+W0CF90gjFoFAMJ9h35cjtAE3
Id47YBFt1NgH4ALSTVEHV7x4IrjxQ2MHMdAe5LXeOU52VXddJ6gIvAhML5X1tuUq
BPP5VCeeUzM028RmoHLJqTOMIMCyZODwq0+6AMcYqc2KD5ere1lAhN19RuCk8EF+
tYJxyIHKQAGZXiAZWTX668VqwX34aQSI8xq/wqO9p9oT4vVQyM39HBFNOYiasza9
ExE8a4zoBs7S3SlL6jS58okzRipapsRMJxG2NRVD0Xxdl81VEqpVH2/MVGOsGa0U
8CRaVKh2CO/0JIZLRsBxPp5Si1CNQz2fOz2aofu+hmqUZ/662XmBtSV35E9y0NHi
QBHnsezOX7jQURZfd+t0C6X3O0vkJ2ELl8z329YJeJ22wQp+ZpvV47brv3vgVxS7
Cy7MajSuAAco28StxVDrmWuzIS43R7shGXm9wgW7YF/SqhnIxLpWQgQYMUzG36z+
stURUtjAqw5AQhperfEQwKcyM7Q29jZO67RWaphoEywrf2bhQHAbhb9JSZ+EjbMb
G2fLydbXtrvxiYsVsVq/EBFHpfM0RfdOjvNy5bNJi20jXcCAZNu6wUnj9vZyIsCz
+B7nB8bXx6TMeaXV2i1iwjkBGW8TkU5VxLQrBkNwBRRBHY8n8dF/fdiYorN9h+MM
8/5WMDXFr0kMvkLIbidyJ6/0hthDOqN87LDkSPx3UFKTu33IH8QqDTtI0UiV35BV
Gj2Kan0BJSDy6OEn0HqK0/tmmoqLnmZ8posT9j92XqKq6PaooQbwgaRuAMeS06CF
2ozcKr6eaL1X5MFW780CW2TNUs+/gEBMYSIkOU12hOqeM7Czro6fksF5Q/rhsNRa
G/JRHcV0i/CkchOF11xni2mBrYPkewNr5sCcWEj8AEhkDJQdl+toe+XH5YFgugn2
ArE0OLvzz5iGS3UhZruKRID3ElhobPIHfkqlBsGEVqzQBci7xCQ26roIVFi9aRGe
6k9R/RbZ0BdGmvZRpNXRaTPXCMrSh31xovUUIgWW8270DfHz4mkojQugfgmh/91O
NnHecOMoqLJdprdM8o6SfpIe8xNHfFYhg7rSwkXs/LOZ8yDENlmeNqx/M22vqTpu
aZuHKAuyqNG8q2bw1V22MerQft7QgZ+nJLm4A4iHt9l25nm80mTDS7dQawiLyoIZ
WApRhI8v4JSenXLAPs3ymEhw2QKLI6rK5Fbi46/MeaZq/suqIpuFwjIvBNH3t1+d
icJoSOVp17VG8jEydqt0UF1JBnouBBjJIh/5BSoJyRbApWNY9sexXtR50ubfoQM9
7ynEVkXfIPd6X09pCqqRiL80hJJxPwm4mrPCQA0fVqlICgsJTaDg607xmUopsfPj
zSibNtReklJqQLW1+ugcuYtP/5kl094KPcEISVe2LCVTUNTvIX1mjkSSsAACx4Se
DH9gjdIxh957Fd5AdSbGDQJCDKbfaaFGwtqVAoT7tGE2fmRqh4zliTDaqEE95eYH
xIHYoXoKQ1803qgfcNK2eQI4zbSePZA+5LTJsHIYPt62Y6dgvI2mvsqDy5Cl0cQO
GITr7KhlZZwHp3jG9CF/FOSsSpbV/5oa2o+uBomc1zvNQc/pLhRwySvsrXqqA7Li
VZrlg8RDO25uNQUDfaNpMDX/pdrP/l4EUOkIlHMAscUxYUtqsC7mpKghqorujTUH
bO2u5twNPdExGuBbtTQkmBhSwBhW1tcs6FVHgwkMsRuD8EwqOe8bIlmkzvkykVPb
Skaig+S7NPEUoDTI2Swb0bOkHMt7cTzzfpZCsbO7YXOCKmIrQpEK8JyAhVGwA2JE
UDOVWRnFY/yIkn3DdJ2vHl7B0GKgnMeNuYWJI0Z5QDt1bD/hFPCRDvIDIGsz6RYY
o95ESkC9rpOt7mk09RDhEitJO/lD3oOgSqqEO6wPM7Os/i4YD/+NZ9LeVGNfI8u+
P8pmJOa2GNYG6Q4VtQhLDuuwG47h+7ePdpaui9+Q9E6DCO1R+4W7qAJU7JDwScYU
mfTGNfj73nwBPJDx7e645Wyr306YKSb6qhrv9vFiPyZypc2EI+DvPX8W63fl+fxc
pPsFLiB8oFFE/7nmvlPYtsghmmh2QUDI33XjLyvLcjQGKbR8ROknj9X+68ehmZEG
vqdZkedcr9QAkivpHYq05CqmbeJDeiXjGQ7qvDmHvHoXcvT1M8Xurf08+Eiho5gc
VlPPGmCznj0f94hcS5OC3utyrKgbwQFKmCdif08XfS0M8P/Pn+8WJze0Cx7gWg/d
/Ia4J/Hp7ShvoIAMz1wugbk2avFiAWAOR9rbhb4HCV3PITFYWizG7hkWweiLzzow
5n2FU4PpU5plWvATgxrtOuXxuAtmYVYwxC9BpCcmYzLqZ8H2s9a8LEQF9hlfGEV/
iNaM9rPeDajILcFwRJfPMOV81LGQIQcNoX7JR0dXtz0q/U7SS+MPGC5xS8AYS7V3
QgRmXAChppye+enyGIFS3wkfKUM1b09zNHCj/iodg98NyYNSQpHrlKG+/8lrixMG
Yzz0CtAS1925TJRYOjWQbmePV9WOdX9eZr1UG4hmJMRQc6mmdSCyuewKL0Zz3ylI
qK9C/q9I3kaYFoNl9D44ECNGZVCIIR6ZeOXCJ5C1X3XZJ4kIL6P3TQunaWzOA5Ct
tt2yd+eEnL+pHQy1ye0+n0OAQUDTRuJOgTKz6qQ4uSEiD5Xp3OCO0WLPtqZXgRfn
/XO4QhXVFMOb1U9/ANjQ34xYixGn7GmH5077LWiHlO2zpsZ22pofD6lBqZAf0XXQ
uWQyNYWMgwbIrwszEcSaUNJpqtAuez7z0NSAhXcXnGIy9QxHuQdDRhwLk4Urbo9E
Rb/wrGLSL6FhmXmMtcxHgwPXogBzwMj3TLwxnR4JhxwACnD8CN6RNR0mIfeEWgzw
qbm18AzglMftnR5/pcQR2yGZKphYlhWEfutjAt+IQDVQquH/0zp8NhIGdt9kYomv
a80reNjZ3O/rgXEz5aIqH756ZaKQ+FpuxHKdvkwgHgjqw5rqhMbiEbILG0h1LdHQ
36DSg7+bdi3r/vEeQC6uNW7VvGdO7DDNROfCvPAFvAkp9aISRGOa3SvWOE9miHDt
otdifgoIGeBDjUe0zN2moAnUR8tY7jtigKd4KrX1nNK5g67JX0pxKLV4sV/OLhDe
o3naAQS0McARa9ym4EWzALwi66lzON6YZFfgD+oaarmFDQYzhjeZazzitGAIsE4S
Pmy+/JTmyPCOL81IschhjRuVQBA0GDaHfWhnBN0x0L0jgXX4flpqCoiVO3JSO3FX
jqC+M5czzC9L+259aqMKv63eyxizbwFTA3Hh3+xmIjBSOw4bcwhoFiHR503ncLSZ
euLkt8WmvLWrFUBADX3dmIYSFdpFFgZPa5QklofIW4EEAHPTrsE1hZUerzqYJYZ2
ecNqVbM3r0mV6Fmz5BjgIni7OMd9/OgPfMUnZ8hxQ1L0ZWRFs23bg2t3mfs0OroD
pnFUlQb9553X/f85OMuQBnQCxoYlIHjLpX7bmGWJw1ZxPKOnEz0jGZxtsNjCN5PF
+Tj1VydsDG3tqqi7UYNjAqnYTF5y5DoC2UyaXzdkFS83yOubX7UPpuBtKJ4A7+GJ
AcxNZTVPIwBf07qIoJfYUlCjFWEXg2qS0xWUcy62V2lkEmcUKzFMc7DarhhBz8JE
M2jMXQZf9ze3gLmVV1U1c924nevzsCe0/9lM/Zmq1COdeQ01O7FqJi/3Ds7jfG9D
axN5EXmFj/0gvAHVt83YTI7yZ/JE6frXwRiI91edNk4RWFf+Oj4afSNkw6icbcep
ca59EkI5Ynz75BOU8WncIhrkVFDaqnn/YKAsOEZHPE0miu7nyb40Asi54+LNCJ43
ZXgLHy4xQVJJidYioBGt8YtfYa8P1iBn4irW1iD98BtNNUFtBSiTlfJRsDxjd6d+
odcrQ75X1VNxQMPySLxJWkT8hwVPVaQEtlZMoaXTltDbwqafq1iHoCUHRMDqrk/B
GoWgC2Ajk4p5fsGl9KvhIYcXD3kDn43HctFrogekW5ir9PszL1l6rTrLDAo2JsOf
Sz41kx0W3QKb+UrVD5aJKvtPN3mVvBpf3t5/gHenMLvY7OqDEZz2z5tRqFGMiemv
qoh+2vv7LHbxPFlJFjz0mW464CnReU7ET29fQjAqW0d5V1BneLiyYWcQYMLPH8Mg
puh/ZSh4UTOvrRkET+r9mVB2gTbQW2/PqCa2J8HTRBc8OS11BDLj2ED5N37w5SuH
eeucQHGXYTzxkF0Hi2h35k4hXXZNSF5zu62fBXBQRjYmK8uzC2hz4Y27dKsFK5pA
gCpBGgRjV9g4rz9P1X9ksYML3moBgkeN9Wm2gJRItPi7k+oi/RxWOhxagR8Bo6DT
7YEzFG8bmTS6kR1ozpueh59E8meG2UI1wp4WMn9ZwkehlbnAkBW4n9f44H2z4dEj
gAey0FxZvnxKnt3reIeZUi+001Zwhs4VTFwZF8g4MNywhJe0gnkKF5DdBUxXTzXc
uOGOsT3e0caxIv3KmiVUOQV+As0jqGd3wUsgh/i2xA/3lkpKIFqfIzrx9PLhvSR2
PZqikRQD6i1EorJU3/1nhTnDePnIxmxtwGkQFQKyXiGKL3GuKnvVIBTicf7Xjra3
zEvaU7e1pUCGRB6ul37jb3h/Ul6283BWXBxi3jE3R8mjMXkK7kop4H2SE047fYbT
ofm8QOQqV37K2fGczgPa5byD9EnOLNDa/prNQZjNKuBJcTOM7R+TwKzba//Zf1wO
Ap7oWVHmy2RSlDtGolQQpvBSvHOmolAP/5IuaPaXN5eyKRkfBk/YeYNtTaiBbNh9
Ps8hFQjFw/TvZumIZVHY7NT3U5tHvI2ggrjlMkgHrDWGbPtZWVwWdmQwu1EFQUqq
MlI/TXlQZqXa5NC90NDGgBV1Fi9LWQb8KBRQGQI78U+NmnyiMThG6Iy9ROYAe+gW
Q5hTOtvg/PNxLniPcx6ak5ASFxKxwAggikXJnUexFVurxAGKZdiBxIUvdShZwmx/
iutX1fZy232qr8OGxrv7ekQT3d//R3S94ezYaA9aKGWerGftBpORepKbrEtow10O
Sac1eo2+m4wBx19voN6mxnknfaVqYkkQydwXmWOeN+msSbbCsHOCpxVfWrznj9+A
VEF2g1vF8iYJRtWU9lzUBxSEk51Bra8DbMmvySFSvT0Sc1kz8wAYtGcQmkXkYLjh
AAeDMJkC5DGT9cO87uNe+yZjbtaoMlwTDlMzC6Pg6zjKlG672zB/kV6ay60jqT9Q
Usxy+cqV7FYQct90gsJlVgjx6tpYc2BHoJVz8srifZQygKdLcaMfSalT5NgqKEz8
Yo5OTpILb1IfcWeM3GH8QI4SAVCRtVyoj8UxBZOMXXXyBp4Av7C9mRqW4YxX0GG7
4XH60qtENX+q9eqIYQpQ0xqBlyNGJHtML+n07pwhb6G+RD4ZuWSrhfnIBxcc2jm1
UwdRohaGn5ptVXFoUwzz5Pu41QWk6N2ZUfCosSz2vOojOQo2csahEBd+xhJL7uwV
`pragma protect end_protected
//pragma protect end
`resetall
`timescale 1ns/1ps
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
MItf4LQolnfNNZYJvjTV4ETejF9FWX+Iw4l1AlQF8c/u5UZCDVmqg2Z2l3n+esxQ
tbWXCpsG/kio6VnHwWXHXsEhunA/mY2EAnxUsfL3KKUd4+4eAhtjJdq6aYmG1IAn
eLYlsFV5MOuibkR5Bk4JLcZMSNn6d1XdMUxIAvwj0O5grxxtVAj13Bcun1IXhnp2
s8I7f+zNaUtQMTYUZNSicjSk7p8QVxCfaTAmwZK5E7qQMcaFvHjPEtG5nv9ne7PD
mQnlHeodgRtKy1OFs3ajfiit9bQRYdPfmBBJurC1Gn53Z+6x9PiMb6wTheXN42U1
6PnKOGnFskNUTm9yXBibqA==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 8176 )
`pragma protect data_block
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
Yftoo8DW41HDqmpgZj/tUg==
`pragma protect end_protected
//pragma protect end
`resetall
`timescale 1ns/1ps
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
IbSG7Grboq2nZ104ab+a/+lBKvy3RnVPf91eIPRpwQOtsDLKLPZ1ylPWfu5llh+u
0HiEpTDTBNXfL5Z/Bw0JVPbF658H8g4lvM2q35TW/+HM4h3PPwAG+H8j7XJ46HjA
QUI5/vpzx1W069wbVAKK9JZGH/SBrS0FKlV7pupYYQoUWwKULicdTyUn2enKQF1T
B/+KU8whV5QuENrwXYZ4JGl/WkO/WhC8xWW3G6NwnoxUenpB3Gzg/KsaekaN2GhI
FD3esESRqJsvtSUJRBOwm+QdjdhIm+pkvJq5eptgpqANXyyO6YVIJ54bKK4cCmbY
UuWQyYsM4xa1ficMoB6TIA==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 7280 )
`pragma protect data_block
naLN5qhzy4XXLyb6zLajhcevS11hu/SfzYR7GfnloyPaUYlRclKMhyZ9F1AZraFl
BuymX3VA5Tv7D02ejw4vpgo+LCyJxGhxIE/esj+Hl5mTk/5s+dHeGIYwCi7DH9N0
e0H9wNHRryN0kKnj4LVtJPuI65dRfU6N2p6aIIoBGj+fJva041sfAcE0StR0ijbV
pmzOxPNeIuaylF5Hwbs28IHMNnmJUj/2EjzStsIxaozgzwvHkGv0ldUgqSBfVla8
9fEOsq9yjC179N5onPmsDD62CmaSgUoGzKl14irUndtToyHC+6+NjkSP7jABqQgU
+dE6c5sKAJM5EpxOHZZOQXEhAciZ+8zqwIPzsotXAb0AxDcW1dc7S9QJLEpPi4jA
Mbg0f0w18K7IVTpG5/Yt7iIMxaKaPuw8ez65cf6CdhVP2IdSzFvS9/MOieSiM16x
yRFmQQkzUfdPoWwH+uRPjZgqy8N+Hr11bbla1nUTL2E3C0w2tIi9U6R8iAbE2A3F
94CckZZor6nzBvidleuD+F2Vai2V/4Uh3YX145Pp4+r1KhnnT4ZMFbXb+n8I8fRn
dg9rpH0wotOJ9eREBeDWZe/lGQ838d/njGilvK1azurlR3e3jZowtlU/q/2d8m7G
aCRUD/EVda8+w6LkvG5dkr5XT5i3n/3J4FKu3PjR4TuNkdYFGacaUdUvfoPxZK3+
HY85O2imphxYTpRA4CF6ZhyR6NbFqav/8W22kIlxRGF1anClIgfMBw4wz4TUz3WN
1awPPgmYRVu8+CgRUxnBAYQnwmYnGn4bc+oIDukt+0fuO+dPLb5NvEILB3l8xi6k
7er4AQRx9JNGIUG/rnCdiy2anaJHuVnqCT5RMp7yLnQ9wL4X1N8nwGH9Lmr5y5W3
4xmgBieqOCr5QqpVpB32IELxPms5LdQnzfMYy9xOshbCzGUOXJnOtdcV2St8JvTM
oXQgClYReYYDS32cbn6umLVlsK1jMqJtObLsXbKaqejsXJjopFirb2sMrd8my9hf
cfiTKUxWCO/fDJ5I1hMt+aWtnEe4Vyg5AqHc22nNClXGi4TcqzBkpVDoGpsYpFw/
uRowYonwzb/bk2hfprJeujLzq2RY58AW2Wf8oBJhccybdV5kM7XMY9ci5ssldMSx
VT1UIoUlZ7pqDPFxyX8QubuPMSOZFeKPW19U5jJBP9AGpdCK8pCo71jpc0EJ4/uv
S2RlRm9jtarabKm1/jOx7ArDfJkCot/0Uc4JUx7qmhdpDtuCUANuiyn5sdM448aT
dBdotDopJjVVY+0q+0bBsvlFuAwDBSZJLjFILGfrjvVA0uU2v+7ffVvmPCbgt963
Q7jwxcMQSb5+68YTyRyg9bfvfWeirDNJawCCuWlO6ZCDT2cW/vWKtg1W0wHXcnC/
c8WY60Kfu8ryx1x8KmbD38LEsbMBIZW8mdVkgQWQ1ffK+O9mHOawHim3ut5UdoE3
4laCqnJrfpfXlF4dBmPc5yI2t17cxbQoTpRMH28FbmCLE1Kcfo52qV2BZfRvliyF
2Rr7gyNU6lrkcJh4Mj6//LsD0AjnGCbZcY+xMFjXxDjJrNGqY5fPZmkejFYYe1vP
Rh/8htFO7ssBwlHyFET/FS2SVfgq7aKxEKgdf3TvX/wgWRINVJ4CATYnkN5RH87K
eOTl9ihXwo5tnpp8Oy1fAZNhqMVtp4Xtu2oKO7T+p9pYk+N8ILEx5tTMSgl4sxHI
g6z3kKOWyq/XXiR3wnC89aqprXPBwXrhkXFN5iw48cwIKwmRxwTrIEwpjqr9jnRF
XL/S7Q6WkKJDyKq4v8ktEEhayBC1tjPOVDK895nbxCG9uPyUAK9Pd1ow+WumiZWN
YLP/QOD44oKaMptxTjxDKeVQwEjNJmGKlwJnxLXI6jQ60aFbQHkO2qHKpaF/xS2w
toL1XhZMM15rgIuIaUOYaWQEC2QhvGW4ZqI1CUHgzgPxE0C8ZR07TqQX+RdmvAfk
hJpwnY4caaftjpM1ygjjtX3T1s16T4nRMTO00wBWYeqycgG1THtZXsMubpbsH00t
bQ1c32C1BRERRMQvWu079zuExFutWr6/uGpnxLXIg4Nq/ec2s7p+0ewFlE+oLGrT
iGt2m2LL8HTsHu/HL33Mwqumzyc++PredpJTE3lHlCIyBKLK8fwHxFaSLtiqFxnK
lWyRoROOAgrGHi9Au4vMikyUElrlyC4XEiIyAma7P1txsVkeMtUQ2TmiF1C3l+co
Os4MzsMP0/LePW2BY+CsuhXuPCi7y+6BTantFLo9md0hkmeNhHfJlcIzkohRokNR
ITg7VufkiEMFvqIqyjA8QN5tirGi8KLn0Ox7AYfcaYOlNrxfAqZG/bw6jm4m+G28
DZ+5SpCwO6WD48XhR9MPdmAI1k09prcfcJs5Vf84a6wbneM2yj51Bp5rxqYogwV+
iV4fkoO3ok01odzxijwIcCSjuFHqijps4kVIJ6X/w6ipi5Q7yDrF40rH641K+VL0
TK86dboQw0ZcgKnc7zsmDzrvDD+dcX3dp3L/AFulpz/TFZ69pXpoHEwx+TFXkErF
wdAjDiQ5Jpa7Mw2kodQggx3FPgx77Sq0zQxvi3N6yO8FR7RiyiJFdjmBDXUwy9Wp
Gb0EVMaN40PLCeY2CAc4LhipCBEcfRh4gK0fh8Sw5sE7xWNUr9ghiu1FzJlKckek
7BUmPbtKJlzpwW5y9mr/kTGbgWTzZtwvhsMxbACbklEH8BJrjqFdaNqCNyiL/dzx
7ZiBSU5dJn40eMHT6lPssTtawVNIlehWZMiVkRdD6fM0O/DHtH4/LXHup8k7mi8D
VG3n1S30H+WZmJTx6NLJIIArcu1uM4wc+UR8INNSd9riAM2mtWSm2T+OGm6UfuWN
BHQQpnzflhPm4QJ6x3NYP32+fCVZ4vO8Iqe9to//f8+O+b49R0iMVNf+9C4vx4cX
oDUJhllunytkbdhevwGBlsCe5gQsj7EZd12mt3jq1Wff4+qvnPZBSFvofBzYk4lQ
qXSDgN/ilJV0yjzEEahEUGZLr/ZMXvpdHkVaH8WrdEilaS5ZstDVjpMnzPMWUxeR
jY5feomXJG2Y6wzsbGMXrOLRFsS8VqqdRRR8mpesUX0UILXwB9HwgtB0gAp9Jbza
1VMs3YuvSQ+aHXkCAWSS56FhkgPDsntJKC9ju40cKki8a53SfeSAe/x4TjGnqWGT
9OCMtyJctd203IG9pBc1KOYOr7/8x3OVAO9UUr8jnv3zIU5tuKkGOHMj7cLV3f6n
NLQsNhbmPOU3qgohq6Yont+2HmMc2Mh/1mc/SsEY781O7EYO5Lro+YpnnLHbYX0u
kFjg/zjhG99FLSdrCTMsH13HpoDEiYFx7YUae9e/I7wzG34OBBy+jliSDSxwu88q
rKDYrPb6TVMCDnlqyLFCQVcZygFWuWCupPi+/tSvQ8GoLNcZLUu4ButNb8Q/vZ31
C/SAAlEHDBKz7e8NI14UYgWnZNyzo6qwRSbeg+Kb/+BQ/9DwTsj8VdIBcL9NsSfr
VmWFbreRaqT2vzrYDYuWbcniLX0xN/0zwEOM2WHHd5rUx32LjGmKtInkbq4mlagn
2uQ8/9tqZbSMp3egjYRM6dmLRvWkZyFT47MPP2KVsXalMyxXQxIADHJjiWE2T7l9
9+LBzl+NkKRJzak8Ymz2EpAQ7gxkqC0NyFN/H5XBR2uxdu6vB7/uGrFVazIz3JGD
aG7xOCZOnFJmxVfC/i1KR5xKZa45Mq4l2oOZfQq61fy6ZCYhMLTRAV9IeHiPmmvA
k3ZY5/3QU8chqCDsmwzJsRgCqRC892aJ9BQ3SKdmgX2wnOxKfmQolNovEnS+TZuP
hp+PH2O3H+YEy23zbu9TPRGHAC916GXfhOBV00DrLhkDl3AbL9XIiiY6rvZWDdJ4
aixrmwvPhCp0bvf65kVqQvhtqrhqRDkN/ONy2Gi4aOkuU6aXYEF+skuDYYGPS3hV
8UmBuTmQvuYXohzAEdtKvIblvrVFyTZ2go9G7WhzpZnMqhjlPvFJMLF88aDzBB+7
DshEPz4hIBzg3e+Vie+nNrakNlS0GG8shRQAE5mB1ydpkd8p+hk+lsLa+ej+R+kQ
jsCh2r1oEks6s/3Zs/tTs1SXQmwEDFRJrYVAD62YdiB4CpqKa1ESJO4VKX8sVVUG
y3VZFYi66btcQY//qZHn8MQX+/89cIvwtax9KGdZSTBdx1u+8986VBj5KcH4rEsM
05geOZPvY41+YNFBKyeJ+Dm9zhu8fS4QBW3PAeYuiGG0fovDGsn2ESVLZxdu2zS7
zm/nsfKZd3/wx8UCqmRkLpTfVyedo+yGP9C0K00njrILBTtv2cmNjsCTFnlEeHO/
A+2vK17KjiXhdcFCfCUZ0AW5gAVrIRvpA71oV3Lo7rwJ+SX9s90nM7cPTNEo/N+B
yiug8KW5KkbIVZMYBpV3hkitR2zfN0qH1w3AGLLr+nKoThcGj43ORTNZG0ZM7+pC
jDnBgfpCW0n7NuBUm0PUEGYRogNs1Fsuvk80WJQRGbMMXQ6C0z98CUa81wd8A6ET
kzYoQj6z+VxTG1LhOx5J/tNqh8EFhlD4wjQDFgutWK2qzrSoOOayXIHxFe7HrjkN
vGFW8UQ8vocWm2RcXJZHNQhOiYA2yTucQE7y3dzdwFE/rdMQcv4BEhnp8zMM4VVB
Q8xjzCSfwaB4entw9o5rQZAujrMTudgCd3YGmU4emoyPoC6xZYla5ZBoJ83mO0N+
y1DWT+Uwi4MLsxTHXApEwkrPJFk9TpAxBngJsWTQOzq80tyNIiopkCDHGv9T1Cmm
/bO7FiCWVlSxESm+y9yJHaw5knZcjl4PpwXIu4JNYsz0sUJ+F3QKGLhe8GsyuXPL
RDAtDNJYKCR0jNULQMrAJ8SoWVTtHmukrTX/W6/03CIlBIMbjar8ipFOTu77C6YS
YXs2Cs7lwNnKlrTFheHsG2MXoY3gyDOifM6sOv3CAj1G+fyWnA1ODCA7JINOcAwT
L9dRQq1Dv6oFl9BA03YCILPi4XzCvvQ02+0EEde3othfFx0HPPglL2D5FPhu5OuE
yWwBc2VVXfLHP0QN16femvb2L0GeArx4xZNXtGZV3zZMIgHwL9wv/gC+50Oa08VI
mzCLFNA0pdzlVluLeSSDgWqY4ma44SXDwB2Mwq0ndrLpp9a9p1XlLfdCc0+m0ObQ
5SQGZ9QeO4pI4yyD7hhczTHqXRUgSi2clyl7RysbGMzUucOUGCdkw2Nr5R/NutZ8
Auh6JsCBD/AJnPu9t0gkp+6qa2QCsrU6o11Moh8ajaxJxZGtgh9vlHV3WhBJmRuK
C2C6eZXPl3m5taoAyvyemDURDl47bsh/dasGFepinwq18xvML7yqCIEJUSfV7HFk
FXXpL1C69xvlZ/oLMzCUeLVXTnIOND5BTjvtYovfad7K6tmF3N/5acp3XK8OSSIG
Q7g/k01wQ4hlXEPQyd0lmp6+/en0WMlI+KPQ3Wcvd4YqeUOsH2jbgSC6EacvJ7bv
uPRa538cg+9jTaAnqBxg1sqllXLlP3SzwImLvuPZ6R9k+rYtepSwNxssFVUimPwO
dfqHAm/s5yQlQhxF8JKYRnbLFsDjQY1px4owLenlPMjYeTC1DzLICSkFOEcGdUwX
K8A/IN1grPUbnJHpV8vyFGSEYK+VJnTrFlYLRmnXbMY07scpjoCLe91dVC94Q1a+
k5MXNCD5qYlbRVaXd/iTR3rKjmsZYi9fyImfsXUkyFiV28Mla31YRF7lHr9AIemp
CQkPb0RWVe+HT1UaCjchZTtpjgLXHE+zA02RLDfhvHHYxPFrlD7Ec65NyOnzutZ6
yFClITy+6IfmeeORz/AGM6pfsiS2BygJpA79lx0M3l5DjIHZEfuY15Pg6UQFYmcy
bO6jUDdANU40IDJh0YJH5kh9ZzZYHJr8WB5EZ9K9hB5wXDenWQYlvW8vAs/3+KcB
EJAD2q+M997wugL+L+W/cw1TXFQNZKvkJYhXNFNm9xVSEEbxZsZAByXOW1B39K4a
wbxkNFnhaVMl0rR+02jDF7ZvuPsGi/HLyavLD0oRt27mvnURL+xOCbEs4Zd5SXvp
/kE4Q/e614pB3MumOSSimJ9PtWhTT87VQ3nxsZuCf595bdiQ8kIssXHVFOXrKn7M
2lb5LPZpc4GpiSV3+SFqiS+IHkNsN2rac9f3AR5o/7rRDrKSocdz0dDm5l7no/vX
1i+ohYjut06E54vXhPQlsoEylTvCU8D7sArPOU3En3iO0suMTdzN9ZjjIrcnG3mO
kMDKLNFnkVtw85Wk/SpVzzvOauHl0Dbn6lA95pS/j9zdR2XPWkenLEznLPnhKpQO
wL/A8VIWkMrvzj09wzcpxiqmR/BMOn5AmB+UGAEZBd5qnEjeitLQDQbzQIPn98YM
SVYmcLFLweTxQsKnOM1ObfoeqV9xpqeWJ+H35pdh9GpIy6vDysqeifZIqDKz8bK3
JVIO7tA4oCiBjZeeK56JBpDN1dT9I8qBf7QpXYly9FBbz/aDrzx82kgdtiuQSdXJ
s6fhUimgs4NBtZv52NmymUTuejOTyRXR3QmTsIBLMihI0Qtml67u8KOujd5MGxaX
AEQ+8IWvQP/HEIgaNVqGvzgRGy277eBTI1piX8zEpmP8KbcfUiwR6TRRVMNyXRGH
zU3eZ0samPhQMjCgaMb4flgX1YN02TnhSQA+THGGUL4lIcBklbNmLevdBRZ2J2An
f08ScFKxe/6u8gef2lcuHEoSEPRKYoRAnpCCdc1aYI/2aH0JKX4do3OGguEDNVyx
WnVugMP7uqG+rwRKKkF4BNxspjC1k7YOvxfgntg3R4X2Ri3J1L8ZoBlR1habHTtv
P/31hTchZztrHrhcUm7zUASRgMVgBng3Jtd7c2tYIc7KQYBR4Kf6o9WjiEqLyLrN
0y32VJmYF0bVlTC04khERRNq0VIlk9vMlOmeMMhn1WrLdDE9H1GXRDXvqIEMKZ/b
fMUCSlHw/5rdcj/Wzm4oiDTIGKlYbhRSv2biB+ziSNSQFuIfjgGMQaEXuDG4ytSp
nlCSROqhO8BMz9JEFAC7wK/XWPg10yP+f4OAh51T/t/ilBbxiknk8SDHB+pQ0Rkb
2tbYNAbV0tGb7m3FEgjYDLJ+2chFPBN++C97RciEPrQdolDaeTiYmCJnPuBsWFNG
1+JEV0FfHvoDLThQekQc9//cZR65+tjZHW7jlRhj8QBuIdRSBJn7gwZgn10wtjvS
rsN2dmajbhIvOr8+57Ue41iLP5gylmAIRhtSNsavXiKRgvY6/VQBPJrPA/Elm7RI
L9Ve425i4CsKWXY0zN/N5gPdP+tgp02Bi+bvpzJzE6L4ULOXtTsPMDbFStTeKN6/
4BuOtpQvmasMkKJnxlu2BaqtwY+DyWQXwBzMyEnRXOH6FDy8QeJxJUpqeM9prSNA
BuAI4hskQ3FVPOdKSkQsR8oXj5wd95zGJg9uNZ7UlMvOk3ETTZxDe4Wrklvyioce
jRsQ2X7FkXuIE811AxrJO8g17XY9ut2J3XcmgGx6MfKOo2M1TbKMtw+rsYLAmyw8
L9dchPSFZWMXaNQ5HCaF/Cib7FQNRlN5LYJBPpB5aacaOTXRnPCxpXbgloNnRvx5
GhRGJnidgGz6j/9NEXUtVwxbs1z70Ws8yZRklauH18BkfSpH0zxzsk0e6AF8AHUq
AwjZP0IN7INFYHxB3+wjnmsYiIzsnxLwJk5EFbn0x63fJlJR3QsmOr7MwlvVw62+
PakhGAa6UEOJB6Vn/DrKUpjbcy8gENGF6Lphk/KdM7vPMq9M3aiwyxCZkPiiRVVD
dhQG2BL+O+cf+YwNbYAOucjg5mrv85xosabr1YGizfR+1Dom3145p08UMfNMISms
QYgW451lGwAmCp/ptuh9mNQfLnzdW4VaylD2Lw78uPDHJ940z8X7+cB7T1yZIWEv
T4asMzupr2E0onu3V45UAFgRn8Y0imrRtYWivEVJuP2l2E/iUDIda316gQZtvFUc
hWJDd0fUBGuP6i4P/zj2H1kAicfEHggPUXoIqWayvAR1ce2MqbXiXSw+VNPHVDEk
ICf38xQLoX1HtpP3MSi8O6NGbsid6SHMxvFhRA/9Mrc7UvrChV8YqXqpOh1OYwQS
9SiHPSHW8HIPycU7Li+PcbO+HBUT66sD6ltCqhABPGvbx6/oBa2CN3YJrqMGxqkA
cUP6bvLK6fAZaSJbE9fxDTjfWbwjg2igQfRl+wkNmL6+WYCJt9KF9Q/isAZcTu/9
kAMgNqLKVQDOxrZFJmR3cq1h0KCf6rJhewzMy/plJpuF4vp5vkD9f6q7lIdQ8Dzz
c/MvFZUj8cP1EBylfgR/97CHoM/NlVxevqqg1Yl+baQuewXjv44/eZUqpELEQwIl
j31BBrurg9cszfLYyMQT/y6Inrvc2bb7uirGCBF/5F/w32BYbIrkxqOmCJegiZg3
6v1NlPRhI8xl7xS9ww2wPyAxZCo1egXaF9Wc2/hu4VtRekd6gfeXg9daeEwyXGVJ
/IanHZ1piGfaFSNrlyBDqz0KejB15cv68+/lYpoA8WjLbUTZLUlyWdZmgsMeVSLZ
PVMijZ83AFATFqTwWFJ3kXccC9TBwbpvxMOj/3wVvGiicXf9JUbZSpsiziSLlw8x
gkwU/yEeYYRXzKxRkgJRGFGpvNp+K6NSIdtNIkbtCh2WWfOZmGTHWtJPafdAJ63l
idCzh7Cs/Ia1F0Zfso1pCV9eXWzbv461WF/guS/PpAEKdZsGGPqBHbVn22vMOOlO
CekHm9Ynk6ZijLlCKqZl5DF9WVcmo3pOgqb6vmII08tqKWAgilF/7GCau0xYzUQO
90rXqbiYFm57pebSvY/taA00LPhVKG/TH7l3n+9OXmb1wfAsIdlA9RBDRiAA9MhG
pFmDBeSg68kQITM/wq9ljX4BxhkEuLLr1OUMTXdE69+5DgTON89WA8eZdh+Km2zm
lUy8AoJhm8bYcZytZaSRn3fjlGqx9zgRyjrh2lBgW/4q0/RaGz6AcH4g4/lF+Tm8
ybMq1Nww2vaUl4fYC/QncZq5OiXem+GmXfFL6NTZWinBMvHC3umZCO7XJHDHUbb8
Q4vBrga2xKnfv3fIQ/n4tKv1ns0rl4KUw3oS67HQhIHgTcOgBjecDiQ8y91svu/+
dzvqvF6PMOD9c+YcONSA1moJ1PEtT4qGK8+oVfU/tU1U53b7m8vn9PDr/N/nC+kE
o75kx2YNABiIngmou+yFw0ZRDcijDwzpD75lYw+yy5dKi+rmXdiqGY5VgLgzZ3tF
KjRloh4BS4wIq0dNhblYSSuKj9S7kGeoQlstd1tbvLoS6S4CzrbdRwL0LlRicQau
6GywrhpkJpPMVypS7xEVPGvPK1bGfp+y1i9lJ77YmzWbAzrl0a84DCGgAjAF0ZtT
jObPhfdXNOEvo8YYwaCRscnU1xHaZWUuX/F96ej6bR0sGdM4sGyySYOH0gMJQAQ5
+ft06ZZ/rRFAovTbZa8tV/LrZNspwjkjILRD2rw9jkKKP1BuDFLusATMDXAzeySk
05gSIfnpHz566yR7/yurZljJ1Owfm1FHHGZCLD6ecwoaKcvpSlXTiTnUvSDmel+i
iaJNNOIqcOAoP4PZ9DB1HgWqvc77FR2qlM35zH5IoSWg1VVN9f5ZS+wPwo8zRXru
H+ywdu++A8khD6Z6ukzkrKiDAbwjGxzwOqPayzImo/g=
`pragma protect end_protected
//pragma protect end
`resetall
`timescale 1ns/1ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
Xm1S9sj1JuCixXxxRRYRKD14QoS3afZKjplPN6ZSLQnAvIon2j7qx5mq8XGsgaSS
IEzaBn837INyfSUXRKCDbOHB6vgrTaXMb6v0UzxxzPWS+b1IVkFQr8FAS35BRCmT
NbIAI/Yorvx0WO3MSnUTRRpDBG8iOn/eVIjECdf9yJE/4mpgec+WdTcvzPWMSgUN
AC41MmhJ+dYzesMt9m+NxO6FhP6/22rXjdUpKCdKZCyCQFtmRGfykI7AbREfU4zh
oGDWnkWlKck0HShR7nAecXqLfG7+Gq5YF7MGzZ2f7KqpVXIzMVxQ015P2LWLKD0Q
W1FNsNnFrHW1pzexa7KCDQ==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 688 )
`pragma protect data_block
d9NgTXPSU17ADKmxgIGRfmNOqDVkC3xL8aQNJSfELvwqHjM12d0BwF921Y4NSrAB
2hny08w3bwVwZmMrG4mWIOg4TJhZFU8abxx16JZIuWDoFZArp2nzhXyunUk20E18
DjbINy2UJjOconqd57OAgrFbkfE1sjygBNKBfNiWruHnc9ACTZgjNP4kMMKYnP4Q
+C7F9/Xpq93riPzugPgorK6JMDDO0j484pDigDe2pslBOviHjuiG1PusCsYQjS4k
8xyUzI+IMaFD1o2IH2CaHTBym+SFlLR4MF6uh+o2fsJ8sDM4MRnxJqfeQlsbmGsM
JEiYRkbaUze/Ftjp4hhnVIQwlkRQnqhKk2wI3RrFo3wNUKHuEZ9Jt+zFEI8VBUxU
xG5JozZ1GvO3bl3emvy0eqcjgNDycd+VzaGXIFIfkPyFI6t7a+VoPPWd5L5OY+E8
CxORS71knWP3SH21cw/7DBok2mmAPRx6gM4RSmpLWGBILWNMdDEig5Cap21OX7kW
rNGUsqAyTBZZcRbvvubH7ON7IFuJqyGi7KCvM8q0j7GoWeJ66fcn0otjGNjPz3VJ
m2oVkFMjqkHqzDURgMpzkkAY7P9tpeLJEnt/ETbNwEp/epgl5QwjjNrig/HP37yK
t/hyIpWkFjWEjE2Es8U5/qbIaeYOGB3dHbMO+5cV6r8NfqB2hY3HivwDXVpI7pyl
vswOsuKJk9+V0f0jzzr2T2IFXBzer5qGpQhtGTugdfzMu+VsQMEDZWYh9+Ui0PSk
fQ25ZrSBkxXSck2Esed9zLN7WZvAEIeH84e9uGqHV73TJaW8pm6B9uc6S1kz8h2f
JVb0WcSJCfMoycYsEStOZgOpE1mZjhqG24gnM8NYZ1TlgrGwh9Z4kqhhlooetldC
cHL/fnhdSq7YRzoZsgU1lg==
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
YCP7u1cObVZvbCw+OVJy7l9oTBWleoq9pu7Q1OQPRSS0YTyAEOS46qp9gwzKKhwN
0zR5GV65ytGjNdr4ypFsh/u1ryyP+Xi25y1v0IaneY13gDBicykWGwlQqUcNiJM5
hpa+wkVEQE+opumFfZGNlYO6XWC6VPewxzGFLG0jgTqLSxKckpAMOhtJRe9QDDID
1Ogm7c98iqLCmdne915Er6r79LaO2eiQ4skhTnXdhNl4fSnifNNJAOHRzuLqb3Or
nv8PDAzc22u35tJPGB2x/4lyeoh4L4sOlbn1xCyk/GoTqJaaB+cKDb6CkcwK6BMD
W/DKlLnHCsJtQqRpnPB8OA==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 6880 )
`pragma protect data_block
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
S2jcAZTRRhYfI2g/A6k3ew==
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
UHE03qwRSxH7Y3SoeZzOc2GpMslhCPTTv2Gw5RwahMzvF3iwatslvcgDdd8fI2BD
Dlu1c84ye8ZtLWKjSb7N3GsBoo3WL36AoYpYmyVW+heegZ8mZ46dNYCnxJYxoED7
IvzgWWoOU2Bm2YgFxPOT2mKantYJ/ATXd8bVM09X+TEBE0e71DYDwhKvq3zCRpBI
PRftlHhH8DbF/MWedexxU6i66X/9S2mAQwPN4YRBCOf/c7OJ/Ole/Zpf+Dnwo9qX
aJp6T1LTtodRLhqdPlIWFk0iFCi1UWfs2NSsVGEcn05HspdOy/Fp5sIeXIK72cob
oDG+vayEozPxF4e7YU1aAw==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 7968 )
`pragma protect data_block
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
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
Z0bYUsBqE8947zdgGWPpqFrvmEzhq04RKLUN28rQ1wkTNc3p6zFpUJeEKPaQ9Q5V
tCYl0NaYT5qvQhZvCzl+x/jJ8wBpv9J3+d7GNb7nnUIy/NMuLGEslilaFQlBW3Jx
JcuDPbbVPZh2va/NooKz+kXCo82BfGYEKaWptjDHUpp3QHpOXlNpyho/A0yFqBSM
AejUEZks6PR4s5Chf6BKcUmh7/XmEjgEZW9NnltYPxumu4dD/IWfrOuVW8f8xwYR
Z97hT01NAlA3daomFvT8ZWfWFTypxCaR6SyOEXBxs3X3UloqjzT2lLIga9ZeNxnJ
dpGd3a3KAPmgul1Fz5Mtwg==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 816 )
`pragma protect data_block
Pf/yNaDaWKTTpcOJbNx90t35XxwYm/d9wJOyWLKd5c80p1TKmFatZvMBgclEa4wm
8M2luNdoyRCXtgCXi50UFmvDCdnKyfDg4RmdAGBqvP+DQXzbgq0r8Hcu3R2c3wRN
dTOMqbGACK9r8AnAP6JVOPyWpeKNQ6fdAs0PxUHD/zDAy3eIY8xzpFkIH0QIw5Vd
zg3YQ3fLlhg/CMJOliQARr+M0e286QIKm3zg4VEiVvBGJWAVCaM35O9a9Zk+yH6l
or2juNa5ufSiR0AWyOVS6UPlrT5E3bIcuwEhZa9K8mocpS8sd99uS3QYwilx6wTX
xpw3po/K6CcTc2xSIRZuGtIoDL7Nxa2aWlsl/pc2iho2+Y/HYDZThrmd7tw0XvFJ
PtsreaARZHeJ7ANRzyrlQMdPmAvHCT4CjKIiyVKvcbgFUw7D2hMP/688qBFJwEPf
OCQsn9Np7TGUpNWt6QG2R6M66lkyfaWYNx3vhn2qGO40/el4dpXgD1AlrDUgBuRu
ZpBP0qIOOvsxghto0MOUaTuj3+Q/4iCLSc0dJ6d5o2j8sxz0klLbzDJySqdohJrA
41mUZUvEZ4JN/flYe1TRCCHEdSk8h+KkvQfDqqJp/QDS7siyLQzm1JyvTKhFo8xu
9buiNusDvnLILyoCW98w5kFDRf+zHhWKN73zOeHGQKfR0aO7fX3pxXLsEwLhK54b
Wir5u7+9pv3n3v7469KZUa6zWzkjWcFjOHxaYA6DuURi4Smns05T0Y0rMtc8FSbF
iUZCA5mPFRKviK+6VE2SsjuGkMCA2zm8qz9z6Vgh9t9Njkr2HoPnzquYQg3c58Kl
iGHWXfuurDXwM/EkFVUF85ojRFGfXLF7sD1V5UNJYnKp4aQBM/8+TZkMB7aADvGS
/pmGmD4xlwLYjDOWgp/7091/kTLRZSLPoq1OEcfO6Z5VqaAnDiL61UTbl3/DLjMh
cH/jr8xaYKd9boxsCL5d/mSuu+iFFlVTYcZLhaoa8P4MYLRW2eaOjjuciNYperOb
CgHc+0M97uB37gtHJWr/eMavucWdrh9vHieFTjsQ/ov7ZK9++h/m3x0K9faH7SvB
`pragma protect end_protected
//pragma protect end
`resetall
`timescale 1ns/1ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
YgWaHP1VVrn8q56faPuNrQinWLe/8n2gJ9/4MU4MDUiGnK0PUfYovpXAmNkrRzRs
VtwlC6Jj7InRw6kd0R+Y+eTMlcbioFK/qAxJSWfvQxCOPX8d7BT5wuWQFVsUoS+M
oh+4OFFo4X9aa0mI7PEcrjEhR0n13PG73T68EVWvHz7FFgytscWtG8kwqOSOXmav
jLPII6xmu7YPzZm/HiNsnMvvViuwT5aJb2CnGBw6n76GIMmghRK9Q0a/Qiylcaxx
teyYIGLKW29sOz3rZ/ENSLo010LeR2MXNKrLgL+PIW6y4v/FQ362XfI1qYw2kVQm
jpzkoevv37iwQEH6GlMwgg==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 480 )
`pragma protect data_block
Dd6JpxWofdheIkHFwrjiQ2TUBTsSrHi5N4DZxL5ImyVO0a8v8bX+ETlfPNZUE+8r
SwuVh8rOFSay7+0pb14JXUqp+DkrtVuid+Hu0E/AF2LxkH8xuI4mtxHP4wpCkof+
XA15pr/1OIO2oas5XoAkb3d4JYntYFFoODk4+Ry6tArSi0pQCUAbp2xlJccIS+7g
+yQ1oXZ31XRzEQ5dk0k3B51+5qfFF+dKhPCH/Df5via4wF9ZESfu2YPZlRfXdmiL
yy9HzqqqDPfcuBtnGBqdYg7E+a8JV3eJr31WINkRjB466nVEkWlBw8tBpYiaDqZo
u0czdrGrPhk/G0pUqGMW9g8fhtSf8+oKfEhbK/gLqlQ78J4aXdv53kni1ylyInQ3
wV2jwkio/Mz4dx3QJbRxdjGpui22vVZ2a5YkBVEL4E2xARB/u4I0mhdtWP5+FIhJ
TeOjuvTS4qw9jLUgJTmvsHnAjDsfwZzqa+7FQRfiR63Y073cnUHmB0H9CT2EuM8S
Wb0yYNeBSqFL2A2zJNIj6ruwaUeT90eIoNB2hglHXBAkRfqiZM0hdbbuk/CcAjuz
XD31yYRsEQXfcMmJ9P647dvYwdzECtBFUlP/DaczaapgIKvsnSArzKsq6691veHZ
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
mUjzSHf+uYPqL1n4IVyPVci4v0CrLYmPDHLV4awO61biHqpmrq1JTFqZBQseHQkH
6cJcU4LYtSNM3V7yBbMqQgr+2S6WRbMzWLDk7oaYThKqu4qR52i/o1CLubg6qn1I
ZFZY4okKZs8sbexheNKJFEH4N3Wx6tgv6nV7d6h7M2htuzLclk8xDgldmWT/3b+p
G1LAS8Dq6Ll9eTtFx1t7AYLaCpaSUJfGQejrDqvXmTyUs09j8PYV+q84M8ow856B
r6VT7J4TsQhul/FwXdFtG3r6+gx0T6HnCq6M0DDmeoz7gLnekNXKa5FMEstTWXIl
ctxitcmi7/Z40dajl21emA==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 816 )
`pragma protect data_block
VLstfW6D5LEE7ZexczR1r7H5DG8rlhP4PiND05BP4I4l0Z+YIQHuCADYxsh6LEn4
hfTsh68yilbNO1RYyv5EU2gjhG1upfVQG11+GG4wJ+ebrmO38+XL7NE4vKSi/uq1
/FlhR19oRl1Xje3fr8W9zaMTqhu4zTBn09eWOORepwS4fMkhXDRdfK0Lcj6cfR32
DajYlFXlce2ky2kjndjmYy4p+Ii2I3SMM253IdlwVcL/vDCxsPGhRjM1BbXXs3Rl
Fg0A1IZPwQbTFdpIK1uNMjbEGfX1Rd1Axz2dzVQIpouDD7GKfL7fcDbknBi8ax72
z5dSqevuYtuAYkXME8N35J8kSEm+PDHri4PAQn+PTZ7SlAAdwGoCshfev9Wh0FuA
6dBHNnp1Xolo5hgBnLEpwk86eMfpCEmS2SOKT+PtQzbH/9ybtCy9cxyeQa94puNB
pqLt2Yz6ZADpH7a1qHCSWk0R0KsH3G28FWaDVmx3hMo3v1hO69SSL8MaDkY9VaSy
LeByRe8Ocunna3yDiT+ak3nldI6eEkox1A7a7fzP0wr/izyUB1nnoDUKTBTpUjQs
imcM6DvZ12xUdevxNNDoT35XfdHilBxnXNUHukbkfKKa9DgELM763LGt50La05JD
2DRS5asmgZUt3P6om/SMA5wupzfyGwJ1sD64NGeXn+9UY+o3kmQb1PFd3ojnGCSs
Yk09kJiIMVT/Fvaz5kh7T3Fwq4fW54zRwQvkbBzHW0g4v3hQ14CKOY5ay57C1KPA
Xd/gjm3erxvE5KRquwl9qBbPG5HXLdKGYsBkeHO2syi4KI8RepNnQMko2IFoQf3U
Dj4vIBHKC/ghUO9ivy4/445hL4JU9HiC1bFkmP2Ojg6j5gR++CI92d6VcPwzsR7+
5Pan2unlYw3kppVlIX9wgI8lfRtiM5zHhTFf7akTXgwmzfV+L4QWrKzkjoNu56Lm
znT7+JDPsManGGeE+DsdMT6vcBDhrOC0AI82jEGnniFeT6Ftj/Mw9J+x9J8c3/z2
LME6fkFQf6gsTUIeBwvpixHwCM2oIjWDkASPIl9AXmSnqjAWrFqtI7TuJfWIkx7I
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
Ye1kA25/n0nWVEkXGZy9SyuUjU4Y6TvdjEyZxdHOYyJqvaDK62VmGBEQpH39t1uf
G8L8coe+k7Rady+4qr3L1go2bL3nKa6Zs0iyCYjP+pJkLJCd8FNBNVuiXjHTLmaA
iCbjJ2285yoEhYQ48PIBTgBPoG68Vwof5V2YLee39KzlRpYFRuoW4j5BotITbxop
M9I7g2lHQpoxnmuMjZUaCRZOpg9YTqzaJ9bGFkZj/vOS+iLMgBpS8FDmw0+JzJgy
murJ26ZaRXJi9Kd6iHqxOXbae4vBRW9ICST2GFrNJ80p3zPkYroT+xnxhhHDUHEM
CifzZu0QanpCfZ2ZIgURxA==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 1984 )
`pragma protect data_block
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
2CXrv4rMXPfj86GCN4+2Pg==
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
gsiyAh/zL1xUwpmprr6NAQQaIGczBGjhcuuUGvpHL8hMBxgMPcIMpvp8WS1ajEHn
py5FCDlR4mW8uXNvTts5kgng4OG96+DdQ4XdXqST/b20UGq4PinSXtk1LOUv7TFw
yYAQKVWJda29Ami/BKJegEbhdCks1D69roeJH1DSwVfXs4+eMQrjc7MbTbY1mpoi
+36fJivaA7U/YlJiaS+2qIhWoSM5Fyzla5dhoW23p2f9pCfJOwY9bYe6tjCBi/92
qgy3zls0rjtKupkAlBZ6bW8ESkTjiRN/IyOih61JTRjJXR1AGRDFnndbdKW2JBRX
DDpVDAdIo0PQsrjeXscc0A==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 1120 )
`pragma protect data_block
oJzELbB5LZeNsNweu5uYWTTwjiMIVGEKkku/Cry+UEzxU3xbxPijNdpqwF1CUnIu
gyeQXm4W/aABy84cGADozOtQl9tYT+8iEZDzwxiL3TduRCLut952DiLthKX7tDiz
K/Sfo/5K8SoG+5gMrxRT+PS/OgH99ThFjftnZaeUDUL2YAVcGoD4l/tmXQMaYC1s
0Czgtprrh9KgH8U1OZPWXeGSCQ/Wcvby4cJ6waaHQd1XX9mgmkyX/DoGVWjHksfl
ON/V2l80YzUA7kz2S03VWrm4E0gsaemi9zjfxMffXLvxxFfUfh27bbeGbwIrV2P/
e9ACpAixlZbLiy4SPN/TE/N/fx9mmqVCzM5nL5Hx1Y+zloPNKumf+FN8/LHE3vTI
X1HR4/qS0EV9dA01WpmmGNaHi6RZ7hoh80NoK+5VYpuJHrnzM5+ypXOqpKkAjzxA
PyB5y6AMGk75Zjm05EOdWq1bscTch9pxEYwmpnwNrD9SeE6QZK3cSzn6BWR7cGYa
Vh2bY6lwovJVl6uxaJms1dMTnny+SrkIitPqD8Z05k7gsEIdH8UjJnhvlhP9Vzg0
vJx1pS8CW75PYm/7u0U4o8iVOebmW6uHmra+CbWEHrdv08OZ+VZdJhY33uao+Hhm
fKI7YBd4PCnbc9GiFI5j0hxpSxw70bDx4nkVZU1E27kM3unKmi3SkIE7cC7zFQUq
1OSt/GgzDEU9BzLXWd8ghruhmr/a9kORV7mPvMts9jKCMgXxS8LmXeyAwgw8GJYV
6fjbL0qWyPd4UQTGmBZOpQJKadU7ru9JPIrr+1w2kPg+jMqzH8+ctqwHsbx8lqzz
re+6w3Hin7b45rVm3ABrbdS1JwelNH4xoTy0X/oroQFQglbZ0vJPk4X8TLDsz1vK
OnDEtNKwlLg1QZLW+lEXBoSUk5LXQWQEgxmC5YU/svO/VqGARYosvV+pF8aA3pwa
HZkpdtk6kNHxhQO4OlV6Tq9+kp8XrvNYEjtTkwKCzqSuJqNL5cGqKCHMzfz0lmI4
2Hg9HDZv4KxkbAx/5QFoSCAE7sO5sUxRed2562cljCUP1B7HSg5Otgw73Fz1UupU
MIIkAlf4wy8MNnM8pU/YiYqabOUUadN/Vs7mOg3Jnj/UfGRrKxAnYw1YGQTKAI4A
qu4GPVqmPP0dYEi8h06AD28jO4wlSHGwb894S1YlipYskzfVg4PD88UduuEmPkwk
ob9Zgj3JPMAErReBxRpJGxDLrK2CMpTdWGlYONQVoSkdKvTj5C1JEtymuUM4IgP2
/DfWb2DbudqukHzzwVjXUdiXgul0T/LseZLKviSckTQar+nVfwHYH+9YNK+QzQ2E
QhYCBCm2tTG7f2xI7wjqUfEG3hedAoqoYGoq7GWaNHiW0sMK/WPVl9C464c34HWo
RLafYBMUzzXknRsFej2hOrLiGD4VHJFlUPXDEjiyQ194rUWtmjDJ9x+0cfOTPczJ
N17QQBmIYiQGeSX9Q/1rDg==
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
E8dXbDShY+3zW/pawy6A7D9NWDBtkXfCt/ri36z9YJa8KqfJdswpb2811maQtonI
mB3I6Qx3vugXgBL+SuJDYWmPAuuK0s4V7CfYmd1uFx+gIl0nQmwrz7zGXxGxS1IC
Vo7cclA1Ux8nkd5kAV/a7XqDP9d1xr2IqDWp4sIwfXVYSpJ3b3Uv+AvVC5PLbSpW
WLZrBDJ+ktUNqvP25HjEDcwmdyKx+IYXtSdF2F0OTxq+KvyMkkhCjJDno9MKfPla
WDec0k3Tua9WFgnQXwkfgJtsFE7azzWpPTAIYYyNo/vsq82JL9wksdOpMC1Q6/Nc
ldjaRkUQ34XjBHxGGe3nUw==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 16432 )
`pragma protect data_block
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
ZHPg+aKAUszd2jux4LDCxg==
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
l8pSZBuUsKv4mAjlYxaEkiVDG+rJC2E24ChAvazlVAUEO33jqkTqU9mRgJBkqPoX
NHPGUDldGPqKjTPawC+OSftjFiM8lMJzjAkfksW+XarV7lA5cu+qu7v2XbxDukoK
+uhYE4/EAf/rzRsh5USNikDLA+f31pWUZVpinXRjhv/X5UQe+9w9Hm77jKdn2Uwx
V0emfy78QX+lPds+RYQJOL/zv1iBbf5zGLRrdNyKznh5Q4hQem73AFfkn91wDKYZ
OzN+WxeSeYfSzmJ3fSs83IeIOJNsgFhF5z9clPfWlGUh0CkmBV+8OGu+/3+pOfhv
DiIQj8Jx3VxwINYa+WqsqA==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 42304 )
`pragma protect data_block
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
2L7DtE7dWHkPk6WSylj1ZQ==
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
T3JVVv4olTqmMR7B97zmjDKAAUqT1HR3dA4mr7nZg7imRVPYr+xDs+3/lhQy92FC
czhXcdpkyt1b33Rs5P083o4weI51X3sRyi3HEkwCUu1XaupRk6Sw6k0Y36TQtWFJ
tUgv8wnSw1+0UdCO2a87/+reXVlx8SyGA8iDp48yhsqPZMA+RPnemFIyVfrmY6RK
MSstWf9ubliJLYM7oRKCEJzl2BQhLR2vQlKzYLAL5JvvsA11Syrps3oZMNq3TQy4
HNGfGBSOgs26G/gi0Rdm6hP/gylYErMpf2WA72ULhWtBnZnyNGg9+l2l9kwdrWJE
G+hqYrrJLNDYKubNop7Lug==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 13344 )
`pragma protect data_block
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
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
Lz6FbX/pVyGiIjjEfPgmiw9+t39Y8KY/9do6W/TSCEeKEEctN2g6bJQE8v5nII51
HQbGd/vhbqxxBCE+F7odeXY2yLF1W+2PypPquLqJYyk7NUpJl/WduF/X7kY6MeYK
Pk/pHOnHR5bHZpq4LdjlBHexIla4ytk1fbeAUNpGqFXfdxUKHuhg11fsCHtiL9Dq
e1yEAbHO7lBU/2M6Qm7hP579EJ0mRY+Ig1KTH78gvnGxybc7j7db0iL8puxUVdPP
onAP5LlxeZuF4UycDVI368UfvPX6c7VtYauZ3+gl64CbFKm4PNUwhsB5RV8Vh/Jy
YgUU6BkJ4rwDsAJ9lWzKTg==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 1312 )
`pragma protect data_block
Nu8my/ZeIqCKlm3k1LIhDfNqSTp8cd3KJe/bSS0MRXyvIthmdoUEvoeqsfQOFVfD
pp2eufeN3GoCh7J+3r+Phu01vJQLR8Xj6d1wgx5lyrvjCOUmFvFFalaBgF+3uAxT
A8NiL81w4ArWYfTqfTtii2tDTvcptbZSgg7pBn4ylCLXwufQOJfvBLB0Bk8cG5wv
sXg2J3jZyB0MrvgS2aXEE/bN2JWct+PKBKNfUUlbYEJmBe7gw3VUPrBto9CLOHX5
nMPOUKtz4xRZDz8X6YB/FmBQjGMfR8Mxn/2IeGbmZG1jK6vKjjSIfoz9sPybFavN
V/vmHsbaTqB7PJLQZuW/Nk/v8ghiZ/WTOiljvFdHiDbUpLL7O/DBnNiHNZrIKqRS
xKp0D/r+mFHW9Y8qeD0YAFMfTe5ikm9fd/BQacaCJVt9T3I9ls/TF5vhS5INrLMj
TMW7Me8IpXpfzrxVHdSvuSScdayADuCD241qJ9XSStRV16lXAZsOPUYG58D8dPg/
mbQaWZ2bUBKEUDilERYH/PUxcScQUFgRuP5GamoUxzCbKo/LzMFG+sYYtLHn836z
FjHPD8lkfHlbl9mgHF4VVJQw/Rs0Qv69p7xpGLFtOU9bV1y01u0vXio9VsggoKUn
/caeofCscxAH/MOVM4qTcB9cjPQavBQ0pjmsLKpR4C+GWaFRvRs30H2VKUxSUmRo
77yhZZGA5j4kgb3WsTVlsMfH2tPhoooQqfbSbFnDGMNg1SAmwfRv8NPOLDF4Kr0j
0JGbxMmioiKfQaHZBjj85xUhl+ro2mepDdna1r1zgyK/Zjr3DHJuvE8wTukFernn
JGeGkSkcV5kO9WR+DYc6Mec+osrCWn3D5EI+fzUKSgGRJjy/mYecaY8SQ4k5McYX
0GIQoHqm6Quv0auLsYnoi/9m+NV/lwaEMP2TMJ/rOVLXlY8sXy8VU5/bD/QVc4L0
0W0wdxYz9G7gdh2HxLIRIhzq85ig6azxlLndlLJweSmcf9OxT9eA6GxAAjw9Mx6c
PfPz8iYqjG261x7sxJOwH0RkRouIXOmzKNVB16BfaJuXZjHZH02Fw0LCxbT/pbVv
+jbFg+TtbMv3guRyAMcLNwbUVe+8UBEYeaN6uc5pQUfTMtRoHbE80j8NY/jpbudU
m7ApSKt5ICdBSZ/wCHKTA+Re//Cz2BOJ/8u3ltlL8CVRrJ1Y7F8AGVHRpNuX+aXR
nKnpMJfEZw9z/6m8EkLWOa1fiuGYQHg/PLDRPiokyTMWzKbZSzZjmLoZs2dSs97V
X3MgZ1M8JYK/yBEFrnqjFp0I+cMuLaoPVk8Md/yglRpWDeH/rtRUSLZOOvPAYviX
yUceuOLEJcCTs6/lZt6zd79nj7gTp7x6t0kdxyYOP01LjRy7MmQOYaSj2ivIzRIZ
dLlQPtincVC2IuAfhrkLrZHUWk+M6eJy4FSI2FnB/4JZydYWbFgmJcKP46SV4/Sv
zh5cYPsnhA10nthWftm7tqucJ92upyvJUUh4IniyzEMuOWtAdv3I72mCd4e91SRo
su1u1tF6rXt2Y9nU/xZV5cX+xe8V/+tzX0OgsQXyp5nSNY+Sj0fXKJGJ6hw/EUoP
pJqW+FV2bVzlf5V2CS+ztVOS+tV1R3u6k5YtJJYY5qydjUfnZQsl2EhXxK3f5C69
Dk0JiYoUCdkDWyWI9q+XIYEH0mKzhCDcKA2QDwTcULObaug3TwQW8wV7oDWL4O8b
ojats1eBZvP5jP8UkR9o5w==
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
TTxOuiZPb3z5XXLY5O7KZo9Sci79nGV1/MfaMohoe0ccAJaqk1GLzchKYcHE/uM8
mq+Lgt+Lq5ExtX3mWQnmAaV5bf2YjuSduyCMYjYr/WfeFQBrvYNKJLOCq59+YxLz
R1Ad/3JrTQChewzV7VLmOrTi4b6Bi+rDUv/eCPyQZ3m2f4PErw7ca6P7QWDC58DQ
xpUxlnB0Do5YE6IOORhfzH2J+kWMIsNbu5b5aZ6GQN6SQfJD01HlPvwLe/Qd3aVe
PSqjzgzb2QHjnBWsZPDaphU2PQu357OnnEpf3tDzZxPLGgdN4cAJCd98mmfu6wAI
dGHx48AfKfxh4sbfr2V0bA==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 1024 )
`pragma protect data_block
fJNRvOMBPIBRM0scZqncFSaKb9GwamqRassaxCczcSmNF8lcC+CosRzsWGqDDmoh
V3WvSyIsxrrqzsK405YwAg8C9eKJaCdieD9xRWROdJaM8lW4+KOdCYRRwSfNmPwb
Frh1AHi3c/YSX6Zp1iEyyQoiZlnCOgvfrQTUYSZjRMFqklJnLqQpBZOLRkw5X6JF
P/K0VFKoc2rsqnlDPvAzO2+mWAlcnec1pYEM1RElbmT7UpF31swFtOUruI/xU5Gx
y+Nc/Tz4c2rF45s1N8IydbP1VI8IyEzJ0efHLlujJ43Z2Yc9syMX0bzDX+rXHSFA
d+zaFPINa3yszIawwhLSqQlS2oDFwi/oRL1a/xBQiMHn6Bx1ldYGW579tQpqmY+T
dHHBJsV5UwMUv3mujvW2HF9J7XnIZUah3GG86n2VXJdZRMnYeA4ZZxfZdYlBccHV
3rAduoBxGe3tof66Pv9gMhN5pMe+w8a3njKo/CwLLCwK0WUMCphlGGoanAmvtGZf
tRu3d6q4eW1ACzG+qPfSsQK3ngH0Ts998DWee1VntgJr2h30KqUIJooJ0fwGIa8k
ILZKXUR0msmcyh1ti8Di7FlsiuPodnRaUCgXxVirmYalnCYT8kGASRzJYW7OzkHQ
xTZsFbSTactBcHjpvFZSv/qSK3BXR2BMGQtRmTUhVft+O1sLoycki1yTwjoFU2zg
JuenKFxnJmUl1Ac8R78Ikx2Fbn0EEFA4UEHoYRDm9mRwsdFpNEwf/WoZmA6CVYgh
pw/2DFRbirJYlv+QDz4E7xr4srHJfkbnUGr5T8kS6PTt90zGl7U3dvynTPMIAyz4
GyAar2RCSSQKRe5qlWfVwZ2KIrtRWljAvHrq3KOcvll2vzKP9/Xfceqarm9UrydI
41HrB9c4GR5rkIjau5iSSkL7xo1VdUOqfc+l76NataG0KaZhSLL/UGhEfxw9j3qD
ebumDLu85CVO+eeB+xpMUOp1kG9jCIuUWlc2QJY2PSatE4vf7d9WZv3MjE+dCWna
9Zt9YawSS4nXGo5Fh1U3/KEdkMVIwZzEEq+48YTFNaEwxjeMmkWNB3LA7tB4aq2x
dyRdJRzn2ZFnpi+e+5sh1zyUUb/VtKgp67mGY7QYiD8s0Ld16MyjVFbg/8cJ217m
jwOaR8MzRR0YANi2hOfeKppvM2Ev1+fEM1Lce5AdoSSEcNuW2Mq1DJg7QL5TT+m6
Uu+6EuhTWF8eArIXCX/MGms+//DSUYcn3+fjKqnyoiPMAeN4fN7X0qvfDFnuI5wB
P9IQQZrLuaA2YQbnaMCA5JrlclN/C/hGHQhh1VFOEB648lSTs/nnRr7kaMDRpVmx
xGA1BK7JL3oGZnE4JdvgSw==
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
nkhAcPFy5CVC81K2XeH27Rc3XAcv7GTNij0DpNy/tGyGNqkfm8/I1LfCR4iJsPE8
U6wXF59KtCx1ze1dlOrt4lb/rddSlMcjclAf/22Pk/Ic3DCXCY0Ma9YAKx/HDotN
1dAaTDyDrmMf0i4h8jArjVEkdRRMYvXcwIYMQLgdoUxnytiSl/z/kA+HNl9nfVla
F0F/7dY9wlvF2XLOT6OONbt4VXzzSKlXn8yTOKl5QXjp7NZg+R6xKHy8uv95jz7W
GAMfUNRgH0a3b/wnyq6xyxtaUxFg4EqRSmIB3/vuUWN6CTQhUgnUCMIr4vYn5G/S
ow6ZCwubW4TjcOE5DpOfdA==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 17296 )
`pragma protect data_block
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
eM99LElCOhN0M9qbaWYR+A==
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
GI9zPoGKbJfy2uLvVqFFpipF7/f2E0S5JCwnjimYOsXWBfeTRJgBk40QuB7U6ppk
RnRJbZv2OAchR7CcU493ey11kvcRu+CeNfDt8W/FwNevjEwgx6j+pAQG62JczJDr
o/PnmspeWHplQXZHafFrk5KYU72ihYx7h/trZ2z6PscwC7iwkq6yxBspn/mTNfsI
+8dxS8+L4CJWMqe4N2/a8p/cEuapk+wDl7ZL/KiR+F+DZA56sm8QfQ0Lk6Q9Qeqj
hYmgKytI9gqPfVFnHs93nZ3nXu7PLVu/OVCtpZX5R1lTa6klr+sE+NzL6Ni4yPGd
1AlzNXunjlmbzVno8FSMaA==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 1824 )
`pragma protect data_block
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
`pragma protect end_protected
//pragma protect end
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
FriMp8xwFwm0LMCvekNwlbVBo1AZgDrmVtXw5xoD88CNjKwH072pbhCEvnL8vRnl
vwGDwLxlRtlWQ4sJTitZ35eQEa1/sG6RQZQgx3YRT8HTCrZEOstluUKNA65H7R5F
RrDJXRVBFyM87875G2KnKbK1qciEHc7doXhzDW8cxk4WNln7mBb59Q8+4ulz7Jfb
6CzMT/u92j/YQMXR8AhnC6Pja8wdJWzpF6niWmDVnN5I/Cn5/moWgLPZcQGs5uX0
EE61iFIk4nVjslZ2wvRuE2KADoIXbCvvM3dB0EI94cVmNvXbWccVsGk6CSLHTYe0
AJXHTXUxbjKoGNyhUhGkLQ==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 41984 )
`pragma protect data_block
JNjowIfsT2PtKwZSqh31spktaerSsONTTAwEjy3H6YNY2/rvCMy7Z1McdBBZM9K8
4DGBOhpqLlYoul0cZLw02zLTFNumYLtIouMgePR4fj7782eYQuX7+vhemoWeIX7L
sdVpb0P+t12x4i3ph4BHmuHAwZrnfxfcz/38L0wkCzlnbT5ijPg4W5R09jbmOLRy
0U7myUXnbMhP3omnzh8cWV5MmRtg9dqQdLGCCuQlTRmffNwKhxs39uhcCVp64/oQ
7tOXWFgR4cRYs7zNCVtrBPTdDcjFO8dXSYyLqyYaEc8gmSFhSjMbzw1z7HTjJh74
oHL/YUcqEVI3ZF87eh65KzwOXdsk4ni/hdI74CKS8vL+NCKafK7VhzfX7D45sRAU
8nzN4Kapit2hNwrpMmX5krUcziv2tBVteJ/fO6nRqU8RAHfZHITh+a9xH/KpZ57a
7uodaE7uM81gvcnvCy7PQ/2m4Pj1ej0n0yCOO22Gg1iuP8AIx4hzryQce4UbqR49
M6FCFKhwl7SIG/GH1B3ZZ0j3mP3Lt4WIyTYh6Lhlz7H8x3wrQ0MYECsChRbr4ky5
SCoCCUnT11N5btkcj+nrQEu//OACUjkYt4qJUZe8gO7llGR9eG/T12cnh/g+iN4R
do02kRKWo6Tde5fRM19uRHvtXHlH2IIIt6tQh0ceJQzX8HADIPgAASHdHCluRYnK
Nq34VVJ1roK4pK69ecqvfeymIPqCay1NCYUs+JlZcG2S3O0yZfGcNT37m0caga4S
Aao77wX6RlHdl5zBgSpiXZYqO2K+bL8XUUgzFVOu8Rd/eoK/PEagQBbrD6P1cauq
v1ZEAGpPeDm3zBbgz1Ukxa7sGohJlvjzr3MVChXdYQ2x0Wi5tmqSBUaiHLA+qtL9
l13WeEXGsvgaI6X1MHzbOv/BC50PvHB0hMum5fzYgQoGEtt0hgCTTAmIZec5qc/q
0qoEt8Smr4elvH3eUz1EESxvEs+8BnymD8WR29hNTmhqHC124yd5exRszPWkQJXJ
BO02EPTwam6FxxjIttPd/3zwiFSMyoHAQbgdiB4hSZOdu/yuN8NJG63Ffus1Tndd
kyiFmIHVk1QwxeRa+vdfbJWAKuQmnUfY9d1CPeO5pUhG47JBK49XSCQRGklDrx/J
XXffrSFKfp3GbBk9TPhl14SCxCjk3ZKjRZYSKUT8LJxk156didFzni3D3nGvNAUE
r6Wn+R620kauXkypjBYgFfMLwTr/gK1A2SfPlg2taGs/esG6WJqNX75xdR4FXmdx
N4Uf2WaAUH/MxIggTtcx6J28uVGRGNY2wTNLviemtACjUAmbmcwxMnSZTewyIaab
YL687d9OdQyYfJxrXry4wQdd22vRiQDy0ecAowNYRsvLIIfQen1OLm4a9qV+iuh7
zV2zaJdAsarydyHbrn6zwkNhEDrZHB/mWZOuwtWD2PPUjO+hThIoYDf4F91CiY9u
H5lHBIdKodPKpZovm8aCaQi+hQmlIC1sdJzDhhj8AO75WGTM4uTG0CyZCHg6+rTg
bF+5MRublv1HOJvMH26iHs9h2o44iAGQEPyPgiRIXxAnfGLKbJtxxCxESj47EbD2
hM+eXxgv8bi7BPNcP6IOtChFzi9GawFpE/zwkjEMdx4qMaWYbqnmsTT7PF3Prygd
0xirj17+HrxoIBDKB+U4m7ZFRWJeY+elTMfolgn3RDNPWkiBNyx0YYQQhvRGJzDu
58Yj1lQYrjKZOFkJqJA4eb5aGiRxMGFfVjDV0g0MtJ2c5OqsLAk4UoNa1us/xo6z
pzgUlDXoPB1wEu3YVmAnv3A52DlgRxbDAAQhN/un1yebO8bvxQU8mQMwdyg8s0f6
dc0P65NZIEVpXJ2T4/UvwkKL7ScO3eYraUJ0yxkkuV44BrB8q4QUH3QE+piooS0Z
oX1h8XbMXLvIiBEOBF9KqdZYO0XjpQhIZ9idF7pUkJ4oaH+kaWnE4DhdRehX0Eqn
TlTAVF78PGjMx0dBp3MQsP2slAxac7/x5ciIlX6JCqzHu86ue2GNcERRDVfDzrQ9
J5OXnP/M0Y+f3gDfRu6c2knzOv2uTppYxf5VLgggvivkAsJApNyFLvV/fNcKSUL8
MFe3R6whm9WTi7F2ux67pv86Loqqmy7BrCCkpHjuwaznClDtonSu3Ae1cXnUvoyZ
5is7MJjmCK+lPqAIh/uwITmxgNvNLDEN4I/bYI/dMgo7P959ZAwZXyjEDCfWjtl8
xECu1CGLDDaxtLcBEjG6V2/0/bu6oGGY+qLJ6dzdRKhHsVxIPzQB98FgjvuN+i4U
Jf/SEoPgiUFFE3yvRj+tQdAe8t+gpFcbtS7nMFPa73gF5vSHCEZ379Kc7cm5hKjT
k5YX1S91S1LpA/2/sEWIFNBFGs0+lynwk17smQlbmyFbRcmWhgr24VOR9T2CS6Jv
k1/k1kT6nd6qNn2QRHsGSQUryVQa4wXKZezi70y0vDdpd7JQTbJy4dPTUGJfJ/jf
DadsedN6eyRUmDTmZ85lRo/goB8+kTS1WaC2wSXcG3B5JEK9oOam/aVIyymUhDQS
hgv/Cdq45UFwopRPlrTJVk+Ons5vOepNriWqBZH4wSjV0yqq4HeIFTlb0xRHiJsx
mH3ZjYvN9Tyhs0xmqI3yM+kDY7Er8HLKcrpF0iJKoHhUn4ZuT49iBdedG0Vg+YUW
PgvWrjqMgwlBJKKl/KjqVGlMPTf1ghpnW/LFqn5LD2tFONdldCtLBFDGlloPIGsB
ovTr5Gv8CKhPEkJlFtmPSjwRUlhXyQzfj5jd1xdkp3MBscdWQ37UhHfs6ZSQPgML
HcTzIwdOFjKuABA4GdmtF1u04L09gcudVg4YHXUSuji5Y2WbqUk7YfrOPRdSPMus
/f3wjoxCifuhDO1Qquklc2rmm4H4TG+/5RTD0459vtcw/KO36aNEKM0SVLqDkVk0
6qisCRfZatlLWdUooeoAInP4oBxxygi7ya3MDmNsAhLTQLE6W+jF7mdTmvBpE5if
PI4hHuJdBckXiL6OKDu2myfrA5IIOh7iIgJpFW5vKyBHYkl2ECV4PPYobNzjBdx0
lkovNN2VCXhsakgOaK4L/qSEmpt/cuV81WDuhHzmEkNSaQFHE4D3VxhWCkYzadD/
sPk09puy4ReirRxGtciytaCz4FB/DhG6c/jhl46gDrjAQykV/hCZzdcS2FhLuRQ6
wF5/qks7ee3nsPMBu/00RTP3KaOVjQ/EwAKavuDoFMNEqvgxgs9YBUErtyZ5BfdT
lSCWHmZsLh66/SubnAp6VOuQwKM/+Fh9Z3oywGqX5ux4ZraJFmQJYHuiP+m8iU3R
QopK5vcYFMlOedbmUKC3agAC1ef1XBEjHeyUi33Jm7eKOMqL1EsqJmlQTbDPyrGN
yaHQcag7OJyDSQpv8Ms5DVh9mSzjpB4jrXVgAvc0P8EZmUAawpbFWO4FVoHFlklW
pCxckBSx/hUJciMm+Dmenq+7aSdo3xYR9qT3LYlCLw5cgGZeRouPycrzLJ41Z7tB
B+CMDa2mzD/Q1HsHsBoUKWukqmpXN43B/vQ7F3ul9CKB4T67RAniOWPGxWFsrxeq
9YyJe/GqnSF19mb3rwCqQ17oRcxDVZ1XKRiyUP1rwqtZ1zx5cHsfJ9JsAt1VJes4
NzKWgZorJgrVZpkOAeJgsuG1FNDfS9L3sYiwROJb7SkvVTKNV6hSGpLHod8Et64N
3XMlMARMffpfkezHwx8BTlons2LA8++CwR3eOyvtU2rP/k5V4WjUHx9v1SpQszPo
5HQIHKv+6CXmr2J3hf5cp44LJD3BKgmt9f9XFigKzznxtK0qjdd6sOyQWey6k9hp
ewtgA1u0nAT8mliYPtQP01yVvzW2aQI5TB2NSR4+YWFe2hBrcNQaqWCFDnInv7/V
aswU3ZuGrT2htdlziLzuCCon+VbIYmTWLHp+GuwGsnGyudpEFpg1hawhCmHrazDj
fi5R5wTUr+Xty+Ry38YEOkFH6nnTz4jga4zuhjGWE/hkWZk3tH18L/qfMjshqE/T
+uFhmFlJ4l6SNg7Ioj5g3z6gkRmBElskgseYfg4eh6MnqfhXVRc+53wA3Mq1TsBZ
bINIcgDUm0nBloY/DTSWP1sapsQpQ7YL8KE8yJuQmrul70xRQzpYg+hd+JHHqX0U
5L00hs4x3vCNcE23m/kBhpsb5n/HcUcFqY5VWIEhfH5ATLu93/lQGclkSCHsdQpO
Hv5iazW/FaMcfWWnXQ1E1tqNKectMBTzOLf6L1UkrLPJ4lxe/cliE+Rnns3MFCOy
MsVGa4fNp+/jIIDryR1LLobnaKbuY79KkoN0tu+eGrRJRXHsPBRwfAqQ30r7I69g
UeKKH50FKU5/IDeR2wiZxJYWWAXRDz7wTQCwO++J3+RGBPv1JkMM6IpEibPL2Qrw
wZkTg52mmoOrMjIHgzs/nFxmJTxfy0PXTCz5SGGBLLNyx0T0Cq0jXeI8mUKZFNao
ExBxODBF+l5oy2c2OY89pcS6e8WFdtS33/vZ4dp/6bSObtxYm8orFITSNrshV1Wh
wPNo9JiPrx/Q8ebON5r0qF/4X39zl32OfQH5kgrtQ5/i8jDZtgKPtj3PlWjXSPda
1Wu4aK3zrNPoxeC3N0VW9WtuPpH6aKQhnCoRjxGOvNzbqUAZZLJeEhy1mYZZBoSE
og41VlwRpoI8Sqt5BYtByf7iEjc4DWWgXKch7VYhy5/RFG4bq5eqmzSz/VEH5gAR
N6+8NsZ2PSa2lVyc7104iaON15NfMl8CL8nMfZhmdXaUe5MZmssc2lvqXG1B6WvR
MLhmPGJsDwZY6ktLCyrEb2qdCdJUxrwLyO8lCncDwZU/sb0/tRWXvFkhe7mGQr4y
AlKmzXG6S1mFRwoCrqTFo5OMol/xqef+V6BP44NkM0d7KkmIl02K6ooUrxclaHMZ
3vrRmZwkl1XWI67eaCDs2zA742WwMdPs603Iw3nbUVY8vA4Mr+vBXBq2yWfuvT6U
nEkeAyMmdtGUQ1Qvj6sDfhN6RfwNx8K9m81DkucXm371vedli4ctvCgiPTP/Lf20
1P7cE1KCfnDu4NuCBmy6HMHo40PRxhHwmTpKSZwJRGOL9qJ9j8EUCiLShU53HM6I
+lS7e+Bt4+lRvGqr6OMs9Rj+CKndu2I4QyM5cmT6HZxMjL3ifpwA9Xn8b9/z4hFU
VVVpLG0FaE20oa6sTqL638pe3Rs0JAk/96ygCbJRV5Q+0F3YDP9ESqvHAMgZdir5
zTazpRTURSDheRLE7ScVA/aHkr71M1t0opwJXnw1fW9hgAhBXuoTBj40Zn3em5E7
OGmrPWUkbtrv8ZZOzFYoPY5anDCd46mEQAMd6aXgXuQYlzH8vpGLyhUjRtG3iZyz
RWm4lzrna0DmkGZjPB6RpehM347HP9XjnGE/5PH7I6xVkNUK2c5AkXAt+sK/qyyz
vn+l7A7DBoxutCkoy606kx62P+sDnCfLAS+f8BV/f2j5GTNs8x7IvWNfKpfEaRjZ
IHNM0cxvKQHG+k3GmOZzLAYgTNchqdcJ8moMK4f24D2NNKh/kkV047DtMudr30wQ
Yk76A/7zgwaXH2JmwWNlWV8o8USMXJM8R5XcG+TxdxI/e6gdZoQpNS1TOoi2wxYm
sosN+ciBcO18+UqZ1Op5FWpFqaIlAhHQkpiZCy0JD9oUw9z9jJ8QYZbaQvWkMfUr
3+VBXtuhmlw28K5eNG5kKqFXTAxTtuJX9QhLDS3yDfq3LWAmwWBRgoXI6PMVHY2j
ogn5yXZahIaChSIahcKoDNALgjB24zeOjMpFSQw4oE8NAwhXcJXcwBGA9WAl2kD8
8ReCka1ntk1sC9Z6upOgfMD7E+JyDlmaR4WWSbA6/6ReW5FPljmbTh53eoYLkUOq
1O74wy35XO0kj6zmbX263D973MDIu/f64DNWlO2yH8XQFoRPjVPNmZ5dN2QEySYu
8r8fk7UC+bhT/TSSzYUlePlup7NMUINJWMI06j9VSsMycH8aVu5WKC2UnkRrjm6+
qlUv0uNU4xIcNlFRfFyYTC8YX0UdXAYC+gELKyWGFBMkkEsBDDPqx8PkCkWGK1tX
mXbNnpZsJsJM1YhHm47Tu/4CuGlSt55Tg42qRwHtorv04hkHPl2VDFUj5SjS3qZ2
vIkx9aVfq8gu8n+OGhQemm3wJJTYfc4d3qclpaefPxBR8LwZ4CiVAVSH5NtHE8N2
IElvwgUHHH6LzhBpkkJkbh7XLLGY3uEbU5ZjWe81rXJbkJKYGChsxDB7eGEEa3hI
W45vvNR1Aj8tKsOcjfi1TAYxU+wJHYiCN8ptXdQ5kaXKMxx4cueT+VpNuBikRIVI
KhpTr3cOzKJI/7ZZxSo24VKc8zn/Ki5mOIKBdp+ptp6ZulRgZLdf2bF6xfCxnyjS
9uWf1RFZe341SDwowiO/88nQMvse8FBEvBzFtJ5fdAHPyHZbRwTi0Rnt3kysagqA
7N1XUSOxgpxXbYdpVs1wYkLIYNhAVwe1VPzbKQBmk0eqAn12K8DO/B34rHGIyh9g
qoiWtutv22y5WLCKPEpRkuzmeLxGGqAaioPA6HWl2YEQESBKSMsrpYyJgXCNxO7g
/TESBC6ykcbCGhtpdBZgBnUfVadEl3yjuAruzKc5NBfOvL08VEnJeJrdHvUw8dpv
3WTKSjmp55rWG61dw2jBs2cOsOwBVzb7YzRr/XWALEW2+U9JVS9pdEU34c43GILx
ip+hL1+fzV2iuq66ARnKjGoXm+yabfC3zDNY68b34nhr/Zr6sU5pvOgRK308aqWf
3qwLS7NEXHXwf5AgLo8miqM6XRObk7C4HhOBtkhUGJkpDoNmDSBgxVCjZTsrnH9a
8E9VAm18vGPIcYPm49yMCpYe86mcmCMNulN3Dg5AjeaGZ6Sv/S6OIU3P1vTFObPm
ktupdogUiBL07NeyUMwWKnS/3Tr/aukT1nrhpkaorx25Gkzh1gjD8/Ey/P+9ZRtP
umSv/tthgBwZLURRt8Bpq9rIajAEHYsXW+YmzS/+dqQf+MS6IWT2MVS93a4VYQWN
H9HV/Dol5Mg9VRj+UxJwiT/d0b/+hsLq82pHbTspFwOcVd7v/Ld1Pp7wmzKZFrPA
eyiglGp1aNOK7luh/UKxMwIptxgaEYoMoW9gLrdUX+w4Ibm/9mRI0duzTf+GcUoq
wdDosaVA0qIgsCPysPb5Rxs2sUeNF7Rw7lj7zz7Y6oXw44DejE23HD4wbZ8NxcLK
bXxnnDr0Erw1XaYZkpeobMUxubYFDf3gOcmaXlj0N6SVLnd10vW6Y5tSLQ9jAoES
6tmM76LCxmAXGSxqJtjh4UP5yjh0npD2Wy4aSmw4Bdqv80P85sRbf91pJcPwYtwJ
z/t5BfZKKMRUWzD1FkOdvP5g205Kp2v11cYtHZnUdL8AvkOHj/F+vy9c29qRhwDo
JqbgaXW0Rz8JlEmshrs8NY3ncYD4bJntuoqR3HWQ1EqVmxoInCGEamsaFggg2EkY
BI6fw4Gr4GQxzOegaeply2heY86OUi/vQej3eY3S0TZTQ52LP7TbZvIqxNs3QSou
VUwU5TbeaUMIMT1dY4xEioEQb1BQJF0aUXiqQgeJfxeH2elY5LN2ZoXzpWBbjG1R
cUhdfBAFa53rxWAdapuynkj9Sj5A5TiEBAWUM/XkJhNU7gdCIVwQ0OGeNZoHC1Qt
X+SK16n5DOJe9NAesxA+1EIKPaoSkd5EjSb5Xkp+YxbcwvBME0Uwx1uMzKUTGj6+
lJPe+UDwkd8oOisYlE/cvYE2voQi/oiNHHfb5jHkVjCT1ZvMqKmcnLSIx/C1teFf
tRGfYL7cvAviMsSZjjhWykUKv13yF8djZiH+VTTjD604L0xB+jN03mLHDpr0Xy8E
tjyIqcsgASFdYblK0gVKfnHF1SLTcJZa5g4cdBQkbDaLV3pzS01gvEiB2j/nVTpv
im2cY5poB2oI7vMXcAcKb8b8JOTbuH4AFCZGFt7sQR1G/eNRoR7zAqmztJsP0u78
90d0bU10tw9s7el8EX3bEovgZOB5E2/VrpjKJeWlx1o/O6BJuk/8DlzT0GtdaWbh
dL+fqfmTkaSPDkPtYvJNvxY8w3L+FFcXwiHW3zT0Eou+6nnM3bxrgXT8JQYeU3jQ
46mQ4IdaqiS+8wYhe1VYik4f25tke+cN+pWIhHuBjuuRApKG+37Q3ktTrnqwWPRd
QfSfrUDKJMD8q37z3qvmZs/mk9WChGl5R5nOUoa4lS9mSbw/HL9TPn9mx2XxdeWh
j1P/rrZlsdex/z7q6PK6NJzwPKZP1C/fsXZp+pmyNMGKZHMM/ggd5Nr8QHC5D8kh
Ok0I5RrKIYgvvL+rc8mUbgdW7A1z1lm45P+qvcOILymckZqYPVSN09vwEVYQWME1
qwqa4O665oizwmsXydonXyIaWgJIVe1GsPpkh9nZR1hksXtgt8YVSakKWMkUnSwg
oZf41LNcqS8smw8AnSPYx5eHm/+5/TanG06G0o+73IA/QHB0MBNtHpTIv1t/+0Cr
TYwt3PJXVqK+1X1m7FIowqO8+7PkOTcobX6DIVJVsQJi0mkp3w0Y2c08UWA9u1h7
UCsGf8UQjE1o0KHEQyzGKDzGYGbuKMKC66CxDZHU12KLKnhUkjwS4poSYahYRrkC
8kOYsYRx+9S+DXO1FL0htWQujW1Ov2jBNgy/GgBxJ0rje4GKvvqqLcmMPG5IM+lQ
1XuPjk4ch2VX76cstytiuYWelk6SsHhXiDG5yrq4ZSpCdv/FkocGUu02mFzR1waf
ZSELmQ02t7ZX2kJouUfe2YZC2UC6NRBWaPea1mYYFyReNXurMkwTmeP3MeVOke+D
9L1tr04G0knCZ/wkCmX3skMrcAsaXWSZeOFeIA6eU1qkPagI4Xf0i6CBaDsh7AGL
aUY+9Kdq/q+02enczz6KT17m3LETPoCX79ZmRDayeEg+BLHUCBrx/s4kwg4zuNcL
XlJXWdbX+S4/vWp7iP1m38kk98PpPu4n7GMNqF+lykgIGXgVYA1t3YOZzNpOPLg3
4wiyL9qVWWZaeV9rn/YTVG1EfFrWwrcHEyZgVc/UmrYvPvymJX7zzAzhv/0kFSdM
5a/6JYQVfyeE8qtxJ6cxYmasCLvrGPIziEUarUYDXW68N1RXxZBoCoo56BugwCNu
FCz2ibkqJoejsoQOT5oN9g1sttBfbTL0tN6LUUjQtwuIb7NrBh8ms2lPOWjorYh8
9/J8o5LzLL5T5gDPPMwfxi8sS26njjS2FfT34LDv/VQdFJ10cS00w23/5sM2qbSr
snJYS7o7kGiG3MbUHdwddYbpT262fDrpOY9C4JJNgRcV17srf4bLA6+TQ0/j0t7t
lkQ3PaKNAm6ZCSNnjM2p5Z5I6k+D+IRyAI7D9ZnKZmvETONZTbYFvbhAvMKnd5zx
FydBJF94Fuqp20qFS2tAtbVozOblnlw4gIg5T8qD3BVQVLFx9EnUynLR9VKehQ3D
0xtlfhNYx2p16i2W831ferKvH+QmZmAv0/OJdHe3fJS7QCNofLUfJTbzjNaswshY
2836C5vUmtBWk3a6W5EbhSdsLjEUqVUcLLjOHioCo4G9jxydRSdoRJUdpdnbTlZa
X7pIQ30CCyxr0W9JKg7dEzLKohof7egLknkfkyWrb1YpOPMcbZkoYTg46hP6Xzna
oLrwzUZRiI2pl9ajLZFDzlg6SI74miXNqW4/L5mxwTv4YMa1KqzanvW+f4rLuoKd
m9JoeyzBnLuS3JIVvThhmWzFjtKP/+P9gUfhgyV0Q1j+iPdtpXgDMgJcF+Zt4ZFF
MCZrOjztrdEBO73X5zQDOnVzymDdHAwSlbKNdEA4nQnmN9x68xIzf8OJmv8t8SBI
AlOO9LFUongj6jzx6Mjip1Ff7wkzn8X4c5r9+fEbnM2eH/IvXYVY2qeZdHN3zhGw
Kjja1x1+cpyOyf0i6kFDS8cmGHoPM8D+VkISQ/fjz5mU6CuOb0MnE9jLiFgrjaX5
q804lz6dbH0Z6jPtirSV7ySoZU1kde8ObgS75M3NNv4L+zC/YyZJDeKU+2ksIK0x
1GGxk51CKuXV5F/XSCpl72wZtkR4ZfDiRDdwvMILCEvtADbU8LcjI0CiLEy3dRnR
pJWDCUmmNzheTMqsIU4OtpBmu9tLMs8iNufU6mGwEPxVU2pTpTgWefpNu/wwyD1z
fFu529/A7ck/dVyc3qsYzN9l+/RP4EowPsrHIUr0u1D3dO7NXfJEeFCahQxKEwEl
SJpGYEAgWHNMcXi+sv4CP2HT/Fl/hJ42PdV3wqTd3yqALRCmGw/EQ1rltzwDmfTx
E1PBPA5BAzAZgzaTimPxJQb4V9uzTsORg0+oNejfOXw0k8jupFlNpprLuSNmm/k4
yOecv/csDDmH7fg2MVd15inVqE4dJndKfWB3isPfTUepv3OdSWuZnZWOII3/ytUe
XI51emL6VDBlUwEF8lkQrHTa4D5viDHXCOdxCcjUZN4PrTRRAwA1E9Y60ppPtGDi
ZPejXegYqWvqZ7ZJAUeZLHmGAT9ZVOIT9EM99/0tkLSQ30ZSXEL4ZE9WCjAUzwSI
dl9a/HtlQRnC4IIgWG10LYfdKjX5JjG2lMxinVO7jJ3i9RrPfHP7+fdjTFf/b5Hh
AHOpYV49I3cwfKDp6q7MnLw+te2DDavXwWp5/aoPbtCsYmDmfDjnaKNkrauvI4JJ
fBw3E2G42fh5G1Twjt65RmzSlcI6CQqaacpZqCsiTsdm0rrM4NB7rsoM05ihipEb
zqdywqmwAEdA9nO9PcU5L5oyUtViDW9ds6NvkmVzSmFhN+OoLLjqFVApfBsxuDol
qjEk4yF+WVXN3yqEetHs47bY60ItMCJDGvZYQfGgfmXfqYoNk3vWbmWWmSlDX16V
P/bRTj1Q6oqWxsCOjiLUZGI/U7K83y8yaszm2xyBVDCWWMtw9CGLoZN9erskuY0i
Gb4GqG5dhSNEHtreBGFEyCl3yrNofdeFCXiWNhN6mFb4+M5s6RUP+1Chf9V5rcNr
Iwkrvu6OtttkoC9X7CKekzQpST9f1I/iErugphrbw19a2ZITrBGv0e2VLRA5hdGD
+Sy7m2D2eZafliXD2oBFNHxxPQPBJL3rQAgvKdDE+XxlzpCbAc8ex4s8D4yKFgt3
aHbhE+I8zD9QKLgABFOKdnJbu5FBXfq+NPG5md7wrD+6a9bNLuimwsUhKswUu+3x
H9tP1a/IroW5Uq5T6FjiV2QvgmMkzt+9bdzjv4gdUtnm41QRkuVzqQCFpTxcenVd
KWg+WLhkfrf19FTmDneqpnMKyv8wffzQavz171D8avuAK11E+Xe5UcJoGvFP/Vbv
jl4CTsK1rxafT0bObfdu8U1rTSpy/6inGJF0efH/uDUPcTW/YeRoGZNW61WtI1K3
U6DzNFn52xudLhcPiZkjtFhvG9MwraL/aBeJ41MDwDTZiA5FezKEboFV6qeEmge2
UlOJ4FGeIqSmr1x2DCyPlVepK/dJy+4WkV6ejvu9B5mzT+BjkXvvyi3OjDRdGJwr
xL8gJG6x8Vn5SfEqvvLbRiC2d/mm57R3+bWJmm2zSqeY7WGfjHxKBSlm2f9NPSv0
/zv3XY/GLFz8m83yS0crkByyvTgoUgaD/y5DH8ySE3+DxvdXSHnMt+SdLy6FEHzG
a7GLdrK9pg3i52PwxrFYXnmCsTG/pUzJ+Cs+l7y6A/oKBlrAb4b5Qszp2RMEH4oA
8JL2SEm0DT15XgpShSFWSukJal9d/WYmrBLxr+1LeKSTb2T1mTiSHwpDzMHBs3YC
/0MLB47xEmcOIKf4ysmBcI8K/XbzXJXfy3Uz/p7u/kLhRv17B/FOfM7Ph/agYlmf
yJXjDhej0Vfrh6CkpU2zwGodLLEZevof96LHObr1PFpwPAyIih9dcCC3kW7vYLa0
4SFo4+tk4OkBnX08qFUAoZp8znrQtZ370fQNfHSEB+QLrQjByK7LVGFl21xX6zYx
85zNLDdijLLHGpNZAYua4lLp05HV17wSqy2i6L5lheg1vNC1pEOmL9ofCDfYIzUY
w4hoXeIqBCw44Gjcbf8gp1/heDLELYpcV3t6Lh1F7y6LVbU6YzqzZeUyYjpivlB4
EvBLMikp5FgZIKdzKkhreiyjXzj4r0Pg108ITI3Ehnhsvp2UIsd0wzGUETsR4q90
7lTfIp5FiO2gQj1V+u18QXvu7IPn6IuwQkNyBT24XbJF1jP5QqRaNgOz8Qsnf7Dj
HGJB2jZW15hi7/Ur71WwVGBxyHuBxy1GWyvD2s3f7iFp36ledhzof+77vRfm8lRK
9J8ClK0cC/3emcCiTn4pHJp8a95Ul+igy6P0FYhW/L/F+8wAwDlgX141v4LTT6d8
eHKIDL6hS4xxtO026OnGDO7RbBD0A//uYcox/hEKn2xxkGwiR/ZrtqOIvyyaonM4
MR3bHS2s7kDXQTVHHWeXpH33am5F1l6FmslO7nmkGJgTzhPmINi3IGzb+ki0ZnEd
/mJNDqOj5Zjs1bAemwCwGGLyU7QDSVPBvB0HwxhUWsooMc6JZKipa0WUhsPBPngg
EJsFLh396IdiB8us/FGOaPKTjKlMsgu3T48YYDOHI0+UI6t55ZECSAV2Vpf+75Ae
ZRrjnaG22vehtP3lCC+oYGLJPqhF3M0OXH9fybfOCUNo6E9831jgeutxpHYgQjHQ
aCJhV39RdBy0RnhixG4mSwSBwGzreXj8xzaOTLtNlY3zNjmeKQvwagUBF9CVtLmm
OX6KZiID2xqwQgEl8QJQDyc4I3MGsU+RJGWREYK224isib/ZP2QnPWk4zDdezQAC
2SOpv8M8lfN9cWsBE5TweHt0Q3VMdhuDblj0/tHrl4dciwN7tzpwBPQ6QXFOwoLz
ufe4JebPE3guaHiFrYb/6dqqb3Fx2A+aKm1MfKeFp4/qyE7KmSCm0s7mxtWm7cPQ
kAV7y4Z+V2hK1FxuubIk85eL3ZxStvXxNu8dw1T2R3DSsrhzAnvhP2yoeRaO8FST
jJgWwI5N2RYhG8Vqe9sVyGkbtmfOaudJ2BDkJw9ckol7IqjCp+QIhaC/EvjqaOWJ
fQ0UZNIYfQlOgkFQKV3nvt55LzZlA9M2aXCfeAbPEgoOZpkxe1nuAvjuZgxUuBwZ
fy61CJ9ooK6Qc0qF9SytoQ0Z0K19OE7rB70gKgsmOWxF/pA1jYOyqonR5eZIa602
gOXXoa0r/WXHZcD90uKDfnmmaJJ928qPkgYE/0RkUs3BipFnWQ4s9ZSgfOUBoLTi
+ee0yx+XoVP3XhcAqU+d9+W0j4SXcZ4xovXclYAjueVp3trt1PzQqMjJlzmb/gHp
A4UYKJ6DNI4xVeYog6obWCn/L9FR+buK/t3J6rWaOOcLDn/rr7vQojCY1EUQKGSe
3pyUcDK1igOCj/j+/JxM/FDXsV43DRfckiJkClntzmuj890YMSMvng2nNazKbTUs
BK/Z8KR6kX81oum4TH1QT0+drqfIX8cGvnVYRnqoEodzUf9jLEZ0nig21wFWNRuk
s8dnrx2HXtspPzCdYyH1qL/ML5j3YOCkKnlgbxGFNsZcx8d9Mg4ZiXsncsVcNAGL
dyE5yQm3dBUEzkHdli3HfG29/eN3oMaHzoc6gglsm/TsSfUovpcKHrwuZGBcEFYO
vwvz5TQHBA8sJULMc0GisMy4ox6yuTvDp3mMrr1gY27k2RTsAfmvOUkcXIXQOZjS
A5/rkUVmFhzrlvue9v2jLfbc8PLM+oEcP7MymzvJE/griYRrSnCg97bNjZOGMF3j
oCEGiKgSMsJ/5RpMIG5WDTpsK+PbHrrNoHqbbNhsb2wQREe4kj7FWoImExytPE8C
KcoKPdcXFBmxJHZSdlj4WJS+/fczTX0L8HI8wRP5yYBo+ZarQ796F3YxxWtIou3Z
suxroh4OOK4z5QBc4Ifh8WNM5IBryufSRqZ8C92Uyil8h287LpwhI+lSGO8u5b2N
4PHHR4F9n6mrGEDjTxqnyLAqki2PRtlmQ2AAfkRmpc2RhE7Le+369nFr6bBjPslK
+wkxR8qWF/J+L6wpgrUyLdyaIDqkn34pLJt2g00L12xWTI81oMm5Y9BAB3xwgV8a
Sf4I4D1gl2WWzSxAcW3Bho9+unRMAr7ocgIW59JAFWKbvJSEvXhYy8o34AWwG7BY
FJmRNjmrhaofcYPjeZMHJio2h9V9DdlOJXXDJbq+OPoPABSImrPw2ZOWURQwStKn
NLH/YISOpbX6QNpa6AyvCWUAO5e2oIlV54xqQ9tfaS+4ud2cVHDI+3ncqtG1X2Ra
gdZOfxJjp3qEZusA0GDWySbqm6zafP7s3FwEAi0WDGVA+NntAqyzZNs4tRYajXmw
ZbkNNY4hrXOetCnJjajM/ZAST6gDOPlJGjcaW2nXbJQ3DLXcRYlEQWg6rgpiR42u
bBRWQjA5SEz4SXdhV2epacQM+SK4+AGVqSRE8IM9dfX2wxrpLUUI9rNGeWyd4zlX
qMo5uuzKx4+gzi4X/W2GXOPUtZtYuBjvyuuiX6vqdnPt6PaS4iWGJp8a/nHV+uQ3
KgPARiSu6lTSeG8w6aCx+ZXaJ7v222a6DPGXcPYmjCwZXY9wjUTLrftxXaETkn9c
Apc2eYCMPfQin+BDuKTrfv3UD1STSM9SrQaGQIhOGtbQd+5r37wyh04hsdfsoulS
LR9XbtTWC331ruppQorOfV/8k9yh7E2NJ/g6r6M8usycAKV/HcJnh6xDk7inqpac
ZqzUx/cSB9MWx+/lmyjDs5MgDoCNJM2jFCyKaUqc+pXafzbVnaAM/K+Jjaq0htB3
XBmBoa073Q33Q7+1ZI2p9B+lwWBz5fQ1eeJuOlP9uqvvJzU6TBhqfG26D6i1oG2n
BGBevxVQSt01pC85enPLt64965f78Yf7GwkAeThlQeeAOfLJmVND3zOa8MMvPfSC
i2dOAvz2I1Z1qjv1xRQWPnYXAzC/g/EcKCHMR4OlYJ+HS7QP6iHCStFQ4hqThIDs
N1jHVeK29w/bbs7H/Gwq0Qv2caSwN9VGTRWQQ1jNzAjT/eJKTHAjclPuW+gwoz4V
DdiVEp3lDqrJ21Ip3szsvVbVQJ7+McSvOcym+TpDYWP+wvP6E0gVtrO/oHemCWMj
mGaPQeeE1k4r1nMEuHm97eXJNnMHFeP/RPXnUvAQmcZd3KqlOuEc39gqUD/1grL8
VewByYAaVC4uj9fCiiyBmwsWN/jLFsEGkm0+prBFvEngGuJpnJsqA0npENam5HVJ
o/BW2AIDfC61/u8Mwn9Y5g9FnyBmPq7j1ZSY7E0l2Bk3Ig9B4sXUavsxaZzVm7BR
uu2CPLzNDxdb/RCj6wrYL1IiGNKF7Z0KrRPRIvAzrWVH6xadlPd3Yy0LPQ7V+x7J
1AlGj/q0kPD3OXpFI3TpnwORUCG2JNiKFI1juFZvmq+YfTlHXITE41Y5L0Ml3AyK
WNRWBa9z7Cv1PashBDgbuaajwDvyA1H82krtnLVx5C0Jppi8WJEhPXkKEWffdy0d
Bz8vc8IPeqG5Nb4hQIEkBQjcGV0bIhUvHBoQVARQs/q4OmSroZTl/cunmCmMfBZZ
1YrvYcd1EwUloLOaVlA/59ACMAu8YlI2BYdGNjgCZDeUxy1LIJezCSAMrTTOlMz1
kE+BT4ZasdGwgiDQEFlx4mwN7A2om/5sK0np5axqIza4Tm2MjjOKlvtMooEdpIwB
x6jbsIaEnXSb0edOHNzU93p2MnuNRk6dH5U3v3FjN6KRvAj6g8Z+dtqJHfaEx84E
5Sk6JztKoN4EtSxdHp6zCwHmG2sz9ULFduKlssk+Rnk1K7o7Dhi4mvU23uxm6xRM
U8nHmVTKuM0usJ+4WEfQlSRUwPLti3SE/BBOc++ytgjjKoJG+4v+LlyKJ1XkZW6k
8Hmhc0lTRok2uH2GyOrGUBuwFMBH//IAVhaGgcC9btNCEQUJ1gG9kYZZfE2V4sS0
ax1cvzsPi9jIhi3wlc0j+wKoiusyQTEjPC+tYqsBCmMcr6xN4ns+jJWVXlZNULu6
qXhec+EvhI62k8P3/DjURtYM/6FLdHN5hWbmWMA853b4rxG6FKyBXMyVcjM62Z3h
tAjhiUzE1IW0h8rGgxcpJsZLubTHv+LY50yr4zcHwa6TS6J2k1XVVXHg10ozbLA7
KA93wh/XlG7Gz4RhHsTQ2KwEL5sn3LBW2PvxC1RaGSGQsf3Gj57pPaBj5VP4GBf9
ySS8oeXgapGhIEqv/f8196sQSYPmQEvJkJbH0uLgPMRDSSz4vuxB3N4SxJejE3sK
SbGH7TkdSW94RT3PXH3wI+1M0pWD0lujV/2LnlVkXaIFu9keH+SD3hdR1XULewwE
lzdrCY6tn/3BhQlYC/q0hifVkxZVVfZGKCJkMjHjGcYf0FFhFVHNfhjciyugln40
rBOl0IWveZxf9gc0dk9uucqYHYI2CzvtTlU7n0wL3Ec37gF1R2FyJbOaVAZ10fGa
y4U6CBsZECkNiMJ+qPj1Pc7jPBwFrmYD2I0v1n7ArwLdHAJ2vtpwY0a8h1PcsLB9
/WuJLiW4cppgm2nbqtJwP8HiZDkfUFKiBH6A06A6i8g5zYd8a83UpZRbxci8MwgU
cQG1IMJ/fTqZflI/oMRDUO9mfN9NiIFrjRSNM6exwxenjYp3LiCJN11P2hXfDJac
G9yHxkxs0MNOP4131u9QoH1vsH5JSPoy4xSSxTlCFK3DQOPwL49wLV6CFyuJ40bW
SnTJfivIqHIZcQ7WbAPLB7akWRILMbUP9tY6m+NdD+TMiqNO3I09hv/S/JAa5vzz
qDJbIRJ2Gk0MgZ6OFnibSrhyHREe85aflgni22lOWVqZr2kJ4zcLoUh/fd1JnpL9
XKFQ4yGmamHsB+65y1V+VE40U+XCMW/Hul/hskaeWAiPG60AWeQmlVMhBEANupQI
XsFzHhchSvG+KiO6ZCIMOSSyvu3g5qYu5nvHjNrrQb/rieDgwiewcnfFABWrMeWi
sizlxgqf8L4X8WBgDJsestZxJ/mJSKIvrXEEN05q+/7OYAXdN5Z6AnKxFxDpDUe9
6jDIYBDS2JXm9XEvaS93/JCZaJeAjJuMJUJ4gNChyiA0/9TqRQwAkJ29d88msTaE
gftSl6EOGXi4wTF7+Lx9cOj+fLW0DgUW5C8C24S8nLScdeBAPzC1lfORdcXyUWhM
yLUZUehXUzDMlYLm5RMPcWCzbq9LVDgY4bANAQ0+OW3FJ7xrUh4Y/GoRnTW8NVtB
DtFTS9T7r3b+Et3Xzuqc30LokY0peDw7gFOTYX+eXYAM375VQFBC+MCxtIL/ytrH
iTsZiBHpqGkoZEnrAoHeKT8YcAbfd2/hhnkLTvoK7WhLX+MPg1anwxPLS02KEEzA
TXQP1pUqoEcjeSHxEkoz7h5garGUqcr01yTdSkddf+JrttWDbCZhMbCQjcLgD5TF
PiW532mjtGZ7okmqMEJg7Ous74ABuBJOu6DBEiaPJQdd7hMle4Dkx1a9M1NQNvpU
HbpHtC7jeqgQ7XZR21geFbNSpIVbQn+3Ac6hnA0t2yOLo58zJDbBJ2cgxyrkxCy0
Z2ajFBT5Mv6NpvQMlkRqAtw2rx0W9nOFL3VNPH08MwJh6iOciXQxf4QqajBcOR3R
X6NXcB05h9k6CjtC62IE3QiUY4EpFafAD2UnH4+Qty+ND+jgpCW25KHSH9p4/nje
NKnrdCMP7Bps1p32xoO4cn3tIhQri0eulSTGnmjhgxr1iDR0Uo/6qQfeqxiFwdYs
b3ZLuSA+e3LX/7lA2yu5XH0wh9Bda5w6Uarqn6Od9xV7OVBjKoYRLSJdy6K+hJFH
DQiTf27AwymER5s+P7jOF9Sih4dZpP04paizbPeXdfr/D1amGLPGXX966pQKlJSQ
xoFphCGy415FwizhutNY7c6ydN74nbeSGIWBx8j1CH5Ka6O68alvSVU5C1PyGn/X
MyfaooNJBe9Fqkkgq65nigdYy6dZxvVV3y2wMiFox8TfjuTdwa3ct+QsOWUW7WYd
bbzujbBseRRwhcwb7FJqDFUFxrN2lSS+lUxt593FrDppYkNW1QpNXWWNBYvAauDr
8ww1Eb0KDuiByFBCisBae411dBZ7AWdV3KogNOlsk6X+UrvR9nsG61fPDrOJrZvk
8ERnAN3pLrWBzxuL7ZsLPf9VjKS6H03G38L1dhcFqcNCYBYnX0MT3owMBXt3cDEN
gwJKNcluGcbt1Avmq0qqIj0PnF9QTGDdjhWHDFNYPagiJdbuLmzz+lfR+fv4v4eQ
gPB9uRkdDPUUZ6Tj/PtqB5K+hUtNGpuNV7GCVgbvrXGNE5nRXmmKrPJa5k1X4EcU
cfBpUbGsHYyRNQKFtISa9S7bdDLlqBNLDloNJaa3OWlwil918j/8/t5eYg5XV0oB
7CnSTiF8WoxNzKyAPtzxHMDwzev2VV3Z4875+hXBVCPDYYPzSbQJ2cjceIcpvlHk
5tiRNm/idW8sns8myhb+Ov+p5zrprgZxfFpsnjFLNAM/ZcHvaG4OckayD7GTnLDV
ci0KLoit6OWEe5vXoYvLlShdKhLlXAlza6lwi3XjV8UuFFNfdETqfvM1L9CJG3XC
CtaRMraQ92JB1SOfdVwa3+dbPxs9h7LDhDvHZd4Ngal+/bP2seZYw5//gJaUfrId
iXr2yB2uXRteFv7hn7meexaHPMC3VVb+kMx7igFuQQ2pOeEhpqFPUhqJtFhPlZf/
Q+kKCRcRlxm86FH09DNUtfNIjSjERlznOMGpmnjJ8PF0W7evF7frT0+ZArnsZSjP
LeQqgHYYBOK/xWCwYaDoebpzPw+fs3aglJ1g/arfAW+dbZOX5jXnzKhrU56+6EPB
kLlJwXssUjvKT3bDmb5iVFMLYdA6A3nbGN04usX5Pp4Ak5GDq5RjwCouycClxy//
bvZvheK8u4fREErrxMV8UO+TFHyM6FJS0vzk96F9OSiAFYF/R4HO6+ZPl0+flu0C
XsKV1OuTxlgy1bkehtWi3bn7tDJllgaI3GJvqmesYXcqD0sESmKTZ33n/i+sbGVA
0QcI5rdKPSvFoln81x6mCdGDscel5G6ajuef/wD5FvzZ2VbP+5Iwn4BR/71nz11R
E0JGDBpJxUrDwyOnoH2BBy8TYJsIeVt/OCdfV3poM686gu5K0V5FX7hKVaXGJQgJ
Lqh7o5GXaj5oxze1Odl3Qoltl6X1umhU9lKGw+l/4pYzu3QtIxQ24QfFPuq2Evnn
1/IhnLviAfZ0QMqcAeVhoqwJ47S6sh2q00MYlt1lJHouUZTeuUOv/csXHA6Tfzeg
vAw6WSqUVWZifWkPqGUQM7vrcVNHDvZ+9o3OZZMLVFvKtLUvYjXrSu19ovijQmlv
3jh0PJ9qfkIDXfyrcAX5MT0RSbGTb9/SNXDYu5eOeilO3E5N0hufBM/LLT6J6BY3
o66HoT8tZoz1I2HhYbMKdMHn7zJR4AgFAmhSIb1TPZk0vOUWIbMIA/V3in7Zrz0s
ZMb6z78GAp15EhH6ekTpR+WF3hJb7c/AcXfcWQpi9RjZZINEinmBy9ibFXk08tze
h6J3mXraIm0b/l/z4yiPPbsYWpPMe4l2dlLUzKdW3Q8zWOdVybdowUV1qk+km9rq
+M5w5MgD2oU0z44YVQgR4r9wzzgKolWWVZoS2o83N08uufOn0IylEQ6BJl4FlRiC
eT2FtGxA/K9Qkxqp0dCg+6E1yc49VPdf/BHt2zio7LYIdVfpINVsC7bsPXPp3hjE
aJeYtPo64tIKvtQHkx4SpxHCb6S/x/H+Y4jkStuE8CgTn0+8+/uJlQj0v1ZMKr6D
gev0XgC4OzXUYv3ySEiwnSKyE6cdKiOWbjmB5A07WTF5P/qfdX/42p3QvnYGKxCU
sjorhwpt1V+3GxaipjeoyYAFYNPXIY8Ot7f4ZjSQQaTkywmj5wOEvm1JaZ6KUIUs
5HkGZWTffbRqGnLtZymEU7zrg8HaSAjAHk2gdFYvXlyCZAD1mCtW/Wvdq+KIfREf
ejl8t/5fFkl+fXuI8B8KCMJQSqsogPQ0IrH6IFBmuIBj72XZGIOCiJ5RQykrhsCH
gEpM7sxkmJBx+GA5N5nPpRCIjG8useXmQmwojLwV/xdHK1ETC3kGU15Ib3e4bRio
wk9pDrdhLjQiqa0p3qBojK/ebbHnaZW1DR5OusjRiJQ7U/F7wCew0Bubeetsy/9p
r1Uz7Zmg3osMozGIBF4+q0cFxHgVC55kyYgzSOXtVq03EkJVuL0NnJtpqEWJOfB/
eUO4ff8uamuG0EwBPw2+NftoKOCS3noybuPJVwBQ1jq4d6Hp96KaH29spS2142Vp
yQbXwJzk18sp/aOulvWEfk3hukG2tCPH3MxlSUC0uIgQ1Kc34pdeLa3uMkVb348Q
SNYYkW1K/l4nmNu2Yr7T/d2X31r7lTfAC/ZVmrkNbh3pJXhxpSO5vcrosmD688iE
2/IkLxuKyMEd6sdVWJhtA4bnYeHQNFz+G1mnN23Vt+DERZ6K72qt5HUiLHVjeNt6
0yHoekSOMMS5LAHthiH6ugm1NwOrI8zLs6R2dfulPD4YjA7MD0ga4elOfmvF/N8u
2xIBD+Wbm3RB/IQ1IBHmqgLHNfQ9jTfiMnVtVpubO7yP1CX2Wh44KEUHYbk6u7wr
hsErncMr+9NGdnRdSiODSIlusKPk/rb3pthn1rdDFEvB1YGUrEPzcUIp8uPV8C/G
BnOGD9RnJnpZjBADtKkzj24OkwrGrDZhjVzHcjNNcQAbpYSdpCTrbd2SlL21vac4
pGf14JMGx+KGJgfby90b2HcVoPUp+1R245vAu/f1FTgnyUKEKOdhJtnl9SEWwhE4
db6ox2ZC51QP4rL4i7uKoDTeL4XRYfY/nc3FDywgu7mmpRtY/0jXeILUASLLTpfS
E7RmG1/24P1cWmFBJzH63Cgjlg7DBuq0Ufu9uHpvVGIpCR9FZBDzhA0hBRSVaLjJ
GyyQmJ0R7+EQ+UU5RZ9xY06OUe9e0o0AnzBX2dKgHSaexqtXS4PCUK9DhAfyzflI
dglJ2x1ecZ+JISA4zWMAfu5PLNS5NFgYF/kOBZLBM/c60u7xGWsy0tzBpGmqDEwV
wZkNzh3UlE6X8Nk3s1v+Prrd9crKV3UHIB2AH7BuaAcOPGgmlqHbQ6qxOg58XPw6
cRWljv3Scboy0betp2+GHfmrjMcSA9NFei3JBVLLeweCZX33wxy6CjQ+1ZIv3ai+
sE6Sg3pH9UdobHyYUpXMII8bex8+5c/bbeDYobtE3ZR6f56GWpHkEDbi7lOYENB2
JcLcTZsnElUH7Iv1dHhTXMirqyn5ly5hyxA2sMX1e0WQ6fNItiU1//ONX9B4EbuF
rcti4zs0Ubk9U5AQUU5wQq/ml9piJrcAK/1kBGKov78tESApwXIFGk0ZQwZLbD8m
b8Eps/3vDp1BNcM0vEVe4c3e1Qsi9v1E4rBlNnZrLrlsJPVdAxhVsQxDzr15RldI
NqgKSUPlUWwMjMSu3VgQITQMfFij90xRq13pKG9cQ1/DdgXAzj+aLFdm1v/mWq7/
jjS93Yi+lRIYgf1sk+9athSMjOFPe1TpCcAk51jrU7yQgVIsRtPEPx0bmew3xUOS
y9b4endclGYqHlsR5jNvBrRbwVXxPCjhcsrDPUKhE97vUUf17kZnjbDi4GRzLjoJ
YOaCTIan9ktRunTzcIRw3vxdMGrCZfyByN5NPEmYne80O0QAF23EtlR6gv++sbHl
X3F6FMXo86fQzgjkftUTaYapCKnPOBfIPnL92UCTUx9x7TSSzofoY0Hv9jmNpkhY
c/WWaO2uxjslVjE8Lld9Y/94+lk4ItFDa9C9twOC4ikPBj4GB/ShXlQ2aUAj5ApC
cSL8lfmOXg9mrEt0JJQGLmb4uztuVmCkuH8QdNPo6soEm2r4YcGR/W7Oe5DDYjTs
YSw0uFQ2TrL+wJnZgiAKwqxu8yiZoDGpv/HAtaNrK0n2pVqICIEokrZA4pwZ/YlG
vwaNKqLJ69X0dHYwbYOkBZcmD0+fKXTu+fmtVtzo8gbT1GU6jdka3JxvbH16uxAD
aIVvfvRYCRuon2Do+vK9UeNk6CCevOQsrzgijnJt7KZcOuDFEwOkl0HCUxsWqIyZ
ShyiGR13zk7NE1zTEVQTDOJndCAXl/SlPjryiUt+cSFtrG108XB8J0K+shdrEmJp
xt0v9aic4bRSjz9Y/HZkQDhgMfcLlgXIqbOHlBFptittRRYNzG8vJ8B2d1wJm8Ow
emePXQowvprWqzCxttgpa2X/Hl+D4jcoFsEX1scrX7vxbPY0gzTgjTTFDwXG7UQ7
26Zbz+9IqZmvuRVQuI1Y8C8XkpbaZQP7pqbZUINfVFtQ++RD+gqWPpXa7dgYK8Vq
Gi4FbJoufGAJUpBsFUbRajzMFTJAd/HgBWO7MKlcDLfa8yi74QhZA/88oQherccT
Omm1+0LZhfG0dv8nHa8rGoxrY7Fq+JjV8gEJj/IOSOimgEVxskRfTwRvWHwYTOUc
NvdRaPxLWUp6xTded5Vp95b1vaX0Ogb60Qz8tVz9LEzXARHF9sKNo5ZBwoo7T0Th
irT6pLLccDiBf4aFpmS4oQVeJYNnYxhPxLLF2eqlvHHPccCvvCegiOKAevwr2wDG
bWIZYn3wYbmNuGbi/Qt6PL5wrVZwFsVsp/ehhhTlths51NzyfS5MghnmneTat0Hy
IY2rExt5Ekg206IrwCno8pTuI79IEPk4PK/g4uavv4Oj2xxqXR92c746PAoCT4T4
x3pe7sNB+hSlFXhTNdt8iaQjmex/T4y/KoQrKYg1FtiPQfxDHQVfaYclS20dLSkn
9d6T1YcG83bumpiTpmBB9ack0qkujrRjA/gttdNPh+qvOX6F8MbgW80gZVSQaQlv
gcNWkE2J0CD7kgegnk63ZK/mOzVxFB5CtLvuivgz3LKJITV50lZbKjLT//1kFlqI
BTbp6/CLlTVLBOyeNjrxyQDrGTU06dLhBKu+6Bpp7DFmDo9FEx0H+ndoBkoqWakx
r4l83+5wz2Gi3I141ISYzFxJ/QtN1SHxg9sCmddrQauT8IjIbbdBSG4/P/thsBK6
VkrypezHofVdhZnnsxBWtqdO+EWekPM10R8yZKCj4rPhhRNkvwxDA3Qak+jDpHOe
kQmEt1bdTyoHOXgOiN4tQoLYvOPJLbh0S/KGwLsQyY0mKH3nCquLc8DvWCNPsSHs
Oo0d9mqHY6n1BmHZRpzAp25/9npUkvCHqHP6NcS5uVK8pF9A+q7+6eI+XkU3KSXZ
3MuSxwMcmTnKy9jolurat8ilIUrTNN9m5jmb1c/rmcrprRa/I8k5SVtvf7COwbRH
55rOHfS7+E2SmiJbru4VYvJs22VTxFVO9MkdMTWJvD7f8olCFb7OXXhzki0C6I0z
O7AFaZHOiHwPVjoLy1WCMGYO3vamR+i9dnt0wXAmifRSILBPXTKgRUT/U2OFNwVO
CnOsgTCR4r8YoRANC4bzPYJ9EVhB4eD+spOUyRmcR6QXMU2h+HyT9Id4OWamp2J4
xvq9Gv+uw4A2+v/waXwiUQuqya23GUn/pQBkOy45AAsWkzNtajHSa+qslbc1AW7v
+SykQ0C1DY0jCQjyb120R7AawlbGPKYg9rqiC/QCN5Sb7E4IddAbXzRUsIyx5ATA
iGbz/eM5gV9oY7XFXaPiZqog9Sc2hM5Uq5Au+y+mVERiMBiDeg1FJ+xcUcLs7jKD
O4EVV6ApiBt/WzUEeMx8CJTQThja7fL0XqYyoZCE4SgXa3vMcQabnuhU8GcZJOnM
PkF+P7AOEe7WrTwYUxYI370dM6nJmv3FHovO0+DW2oqqmoD16n4FiX6JlU4lYGnV
i4uMzdOdSkH8oL1qvOaHgQllSjev3VH47teXglAp2MnMy2WaLGZjsTcqBXJ2FiLT
AB6+4bDd8NoUh8857MHAsVhPxN2fiyjPubpBCw7lNaScLPOK4clgEkYcym8iv+Qf
bBIANXaoW7Fhl5Vlt+mZV93+N76BD6hbZ0Jf9gFby0nhBz2JytQmqjpxJyAhbfxo
RvnJVzoyHMEfH+ttKblNRNGoL8XBYZW5437xJJhH4ospVzfr0rjhE3sl04A4Q6eR
3OOLsJ9XFUbavPq0vmB/pSAoAgGaoW1jwxFamqiOZN9XT4eLNbZZPtGstjUvjdV9
e43qwY2Yz+vb1yQElleJPdcnxml5OF1VK5bFmMHRviDvltskEOoehP7yCQxSk2+m
pDBwUEeTF+MAOxp2Hw2Oyil/lTVb6g+ExrzNgdsdFe8619vK199hCzQ++0lf7E/n
YrUXLVwXBzQs8bAON6Tk3aHr2ZCI7hj31i/a/8KQqkCpjZE1z8zoPwQcejwzfxDs
uFuNfxkOWm1TX8bI1zKsvlmd+M0bDJIQMnO0sIeEZ9RgvzAnOWdo/2mpD4eHi2Ix
qTZm2FQ3tUID4D9hVnhpY9IJvWrY1wzn5vGfUzzJTxhZ2O6uMUiLJgDeMNorsat3
BqavLmfz5FI8qVHcAyTBGRCfWfJ4FHIwU6pORy8nUV5xLvCCDi9u8U6WfMiruC7q
Q1w2Cw0VT91dZ+/DMhLctP91LJ12tQsdTCprxVHzEy1IHRerqtV5rrX+k3GTFUqf
bkJ7K7BEj7JEkRpG2qbhiahavj6OFghuWJEVJXV7Mzy0mBYPv93iaKE2BcQeTXEE
Ytk+Z9ssTVd6vNIHntqGlzb9k3Pdj559TJpibViy0wRIiDqtfKyIwl/WHF0wvURx
UjwzOy6bEamuR4A1EcGjnZPsqNqMqPSijpOZvhiB6O90+T1W41R+6Zddag9b31Jk
Vjv61w6mcrQXb/0bBpMeHISZOTRKIS7Cn9TRKSWeX6iX4aJtS9MnYX1ux4/aF/bR
kDd862OlIff6xdzL2yH5O0ncGHRAFWfgdWeNfBQvkEs+T3rBGp8Bt7MspHkaUPiA
sou/GhLATGLQgvlGKovVicKiDueBT3uv3DTnuKIX2HOUD0SAXnp7BhWypjWUxhpL
RxrOsxFgpaVJTeMxv1CFxmOD0UFJNmusMxpDKv2fsHwGm8R0faWD94ppfMqKliGg
N0nAzaqGW0g5p5/q0jdxPxp4kBItAbUqxJfPCrYcNFFpGeiiI80Pjyj4IIRIA6Wq
YUmg8vwdtUFuIXds0mcJ54rStR/dqfukmqQgMITJ5lifqfU/SkHQSgiLmEek+v42
uIXo3A9tVlMBeGWUsyGY93NpXmgkSLEXsJE9ua1Hd8RKlAssekLtuGZdrCa5UI4H
BXPEi4w3aW7ZHNtO5JfIN9Kvr4enng04xaixkWCT5HLZNDagasjGCJ7SUTmofXFE
0vX0Uzukxo47Md52bLr05uyoWfZ6+GyDi7cxV/t5w02IcbUPnGf8yASRwxbQDnhi
iNayYaSwIxYFLy2AmH9TECy1ulEQLMIx5otn12Iiz6AMEpunL4cdcvEaIn/XAhpm
V6T36xoGJSxdf+ZhlKzYNX6tczXXuFpHpLB3eCS7pJTeghfGsbnWUvqyWyuV6JDK
rttSBQOP+wLv0KzR0uxnDtoGzk+kDR4EWDKuTseO8QmuGUN7K4SAcaTjC3v/7h+h
tsltDomhd/Ce/uxXtUyRL2Dn+NtMkrA4gdDrJIvxBqU2GUC2LNiuGaxjrzqbnYx2
hbYIZSZA43Z/i6u/tzbBo8v1AyZM3FKOytqbNaqbWfpskXDwtTQEt7n/9lSLPFBI
KF+lfpRwirgWx9WWhspkNy3++c6+iCp/dyqk+pyirp6MIgvC4Y0IoDyts+yPoSYr
XuY5PAXmCv0IrOzX7unx8G/tg9qaMv20KteRc+iSFRHBrt1PduSQ6j1AqwYOuMik
GCCCXTq6SKFLUuI5WK91SAM6sEVOvz4MHBWIiaIgSzzTFtVNFi/P3zZ0jPPm05xH
oVsSOOADrjWataxjsGQF+8xJFrfU6/Ly9tioEp8azSZeU6X/bF6ASSnMhfRheQCG
2NBlZJBvdGfUD93bQGig1HMyqSIOCj/2+hcye++CqdoZ6mAAH/+KVwV8HrPWuC09
BZ/SObbCzkGifSxahgw3U8WIzONEcODTw+lBPX4QQ0N57wJlPSjyg/PfBFwzf7fQ
UsgpWV/PefApv6gP6NhEFWLivWjFxoo/pXKyzRGD543byC/SMd0e4+uSZkqwo3aG
3awy1td6pQAbzx46G/YuvqrJhdHT/CqgQ59uCdPDtn/eY2YmKulUvfHYU8WY6zco
Q/ePVo1XtBN8EaK+MMtAknU/hKXfZzOhy2foXxjXREk+OsiDl60XJXtGDynjKbUy
na4bRKZEPo7AdRgMKSUVL1Bl4Yv1ZZ4nYdR5aZXrkHp1eJIuZ9lpQvMFR/y+7CK9
ZnXsNt+FqP5Ig6LqRtHtXtu26yZNQxyOOd8H3Fqhuqzqg5yONN0bidtX5wld3A4T
2U1No5OMF+kcjl3i5Zv9nM4/IzYfAblA0aAB1nQXIdENIKVOB9YjEIm1XrJ4Um3J
9u4mJ9gwaGXPZ2yynI+6UcbJlC8wlG5NC405nfRtdnQo+zHGO+GrsT3nVvuRs199
pJGUr01nY4kfypxboRJotvei4T7nfTJ6V8S5m7j8NWRyvSIt1eb6fY3TN7rEfugV
PEUH9gWlhwVuRtZqhX+SzMk4hqxi9WDhoX5qjVy4ao+K+2f1Xrsy+xdHVU8sW/hB
bVsGjJVeLAPUqSSQHT8gXdBqNFGDo96KnhwlpGrxi3QHKFzKVoGd9TzoUo8qdrC2
/5T6JYSzO59Ry6Rlj10hTLGnUzevXeBgu0RGCANTqcqczJ2zRW87mdzT868Y6X9b
uBToe4W0gCqcxnuAgKMEcCWH0Jnf+cJ4zgW+6J9zF7uFKaDi50ZdGlhI0UNbmpae
2N6O+GUonQELZ/Dud+bwFf6Tdic/FMc5dEKCme+FvcH8+ut/a2z8b30vXpQ3Le8B
vTo5vvOYQWUfLm3XzOJLqFGmpjV1FBkQ4NA7cE+Gtu8bftPOEMT6bjQ0Cr8Yq3lO
21KGoIQv1hjRzt8fzq3XyPwD6JIIWv3iYQKTd1y821ParuG+qwfhjPiRgwfEMShP
aSKAdCeThhp2JZUTb3S/HFuhbQAg+prAY/GxXcjXHtxximu1OGcumhWRB9YikDmG
U+PPx+URw4wxEQaAOO/6IgnvqtRsazglB7iq5s9Veaj6dETk0386rzcnsX1UqARi
7bziMNQ9iAf4jZasSST/gqcY2BwbnqTAVEZo/AeZCVNiw3MJcVKLPwUHBkgHga97
/oPi/ZM6NliN6KMWsh34pAOFx3yaRryomI/kobDLl4s4wOHgqq7hXKpkzkBxLWZp
lAUiTHrMZKWmuHT26OCBfSUTKn89JzdT494KBLs9JsHfR+V3qRO2uZLsTEyoXtDq
dRivdl+FiZ9VSph13pigaZigd+v5XBR5VszfxSvtT3gJMU2UawEwCVWP4/ZV7yX5
eTQaYgxK3Jf9ysHnYTXUEzANIKQ6PFk2zRsLOOplwPzaS5XLIkClfbGNWHv/YvnG
uS/fRXjXrlGoa5Xj493tQy2z3BTHI9Dn4gRcbJDMbIRJ2ljIdsXljP9NpWJF5vtT
B7MTEFAGPWpQW2OGLX5MB+hnpy9J3WGlA9/j/WVQJoG9PHKcdWSA6Dvn8pk9kyFC
Zi2x1E33c6jyXNaHhPDSCtJm11WFTkbDKgZO+v6Qcj4BGJC9y6XSwchrvlPY4yf6
6T08meufckOrWgS7fJrbMYXq+c7Vxqrg6fTf70voadROvTm8EKYYnN1rR73Yq2Tn
gZLQufMBWYeEkGcqarJZsY2Nz8NdpxA8uag4hYG6K+NceDqWtET+ETymLkIEx+IS
hY9kONdrg83adsEsf0zvozZf8ri0YSEByLF0CYEDJDaR52U9dKCyUSv9FgT6/SJr
sjfMXiKdQfMMwzXYJK++aaaLuUqtaObpky7uTQ0oE+QMtw0WAm87SoLWmJu5QOMc
ISmlEjUcKGEkhJXC4/k58HAX9Asnhm9g+w79cN5Q+c7engwMdBMWlOQMi+eTOfTS
cuPonZFDvR9f3mFGb3R3BDWDT1zAMxJFGMx9YdJgcw8G885ThAmnMbi68v6PNgXe
UzDyBp2R+tmduy0qwlsfG3rXkJRXDOjKb+q+eFpM4P1bsqL2M5IUWlHx4jNGPmF3
2JbLa41CESWjyx1DSawcbhGtLq/+AaG8UvQi/5YYi5RoqOhAYF4+LhTGVXyWJG5/
j/e08gVH/XReaXkszNtPlgddHh5yS/8F4TAP4Hoi5R7UJPWZ/8ZoLYt13jKG8L6O
h4s60T3G4fkMRdPz5nTYQ+shWrHUfLJMtAQ07PY15UWg+8Qr1KHgfuwWqSoOBQQn
ALctRV8bmHXuaZkYtDyIEMjBRY1z++NuXT1AOStbpsaES65cUTKJJKNDkXsMXwA9
YIRqXhuOepRGyh4QCg9WCVF+frCVF77zs8P6b2jDPOWnjp0U4ZY8I0xEB6f+3UUh
f4jPk8NRq535q6E/GOv0dPzQMrTVxvaVwPLNRLzmsgPd99OUmdM/NMKq6VkTxe3b
vcvcb4GKoLKVQ/Z48owSs8c1WEih8k4rWo9rh2uHWa/223KSRs16qA71QECD8LWQ
qTLW5wpDTzHlrbEWneWrJ1CXcbIegEu6hgxwspJW7lTbLIitvyP7GSbeBdEdpDwF
5BiV/dC+zJ9FzYpCzthVMfNl2oAGF1fXvOES4vgjaf/PqkOINjBbDhX+xZXEkt2b
XIvy+IUHRk2JqosKGo939v+nmbZWTE8Ipe57aBCjoQ92hq7cMNu7OnPpWrcwEcc2
FfS/MsMhsljVLisgzs909DEtt2HCeeM7Do8Cl/JxwguEI2PcY1zR9OUJ4Vv8F87e
iJFfuDbQL1As5z5kWmAnQDgDffjms/Y9g8I4qQSPLxzap2sXZS0fGwjsymp5/enf
d4YExpH1inEN3lX2t8x1XRRljOG6yNr3ybACuFVKIFbtgNAjeLDCJPSO/p7pnURz
wztTgWQLXmYfhi1UW5V0L0CwG/9Tf/W2RRZOOqD3J3MYwXNgBCK9R+dMOuYuHAj6
7LjQL4HZalxbHUp5QkNK56HxDMOStVTDz8R0+tCHtKElrhNXwZ2wiXMtPHmOqz9c
Wp+zNuIzqBYKxNwGQnpPQJ+xR6u30D2hSv7u8fMIz4lhTY4p2OiZ4u1IH+u4Sx/s
GdZBnPQBxLv3GQc8d+6hpwV9OwcFaIOWnz6RKT0+dUlCRO+g/YZqtAZ1d0NprWEO
DKE70DH3KRRKvW91e4Z6SE/pBTMjJvBdIBkiVQrXqfhcQftfHeJSTS7Xl/WFcrbJ
/z2dqhSys/4ZQ9USyK06O9pQMHR05RuMbYkC+AZwUy1xc81cqVV7M/ORoaBF+bCn
FbNFp55TNoDrLtuQIfZqFzcnJcJ7fzoo4jYA6i9PPULC2wUtkAt6wS3iVpYvDxn0
SiZSbC9iAPsj2y2fDpycTWM1DJ8TxYk51rTZ5UUcu8HpLpgzAo6wuYL3ATacLU12
82exUDJVJEI0NNcHhZPJM/9151RWrbZdJeGJGrYv+0J5awliPjrN4S9RIPPT37A9
Zoodf6yB64chTe0X/e2Z3BA257/xCwUUYpEXInrRC1744CSgQJ9+p0NvYycqgoEQ
boVtYEFrUzIWhW0kX5uN65qtxj+Mj2px8s0TZpMj6n5lZVi7m7IKLQwbGe4efTD2
tPSMVfdw31DEcL9imNpBN52Qj7N+t8aMR2cJR1tmtI3I8FSj0j8PZgZvNY7lU21p
nqCcMVO/JFhfAm1eyeWMvXhd+1D/c4iCGjClBfJUANnO00C8kiRPO5OjJGisRAjG
uEUoZrjaI/AenbG8RLOhtCa3CKmJYFF8aYLy+hg9wLFsF2EPM6jFk81NzZhMEnOt
pKpkoJ5ahOqNArNhA2nXcveTGqY6tZjHTvL1gczYXaeA991AcwqJDzf6jnK2c/9J
eS7HSQthAvo+FFXVp5oItNt13uiolD9zRQCTw6FGC73pUTWGauGE9Wrc7NqI503S
T3iqRxG1PnwwLAiullFDAoiWFNEax88QawlBHDDwgICS4G/WsNXtS9ia4DuIITt6
ZJhtLb129EcvsFYrpwpWplQIDXBUVvWQeW+KFONtiLUoo0nt1EqqK6F3+oPUR4Oe
tOG8SAw3UuLkMWfSzI0ONMf4tAhdLjYbOxMZWkdY9rdbBx3i/iAhwyknHNW798nS
OhwP7fs2rpbOVjo5eHSvgN8YgEAhnQawxs5Ub0H9RDvMyE/+AsOO63W/TMrsVyri
om9Yff2+BxsDCZ4ZFuH+YTaPst0g9NpN3hIRkLObKn+ZFoRCi7iX6r0giuyPWNbi
wunaZeckX0u4ACtqLu8PDCJHW+EVTawLIfjiIOQfLAlSQZQN8VHECw9Kn2w2lKRF
WdMM476smdwwHO269rGtkfwYF7CnM9s2wiVAe++xAxofhaTf3Qb0xbkNGTrCHxyh
rX1YjD3L7C3dBvz7VNPSTXODiffC8MAswdWIthIousV5P7VUTqZ3UVY4gNOCtHuQ
FqbaTkBva928BbPqg5lwOPCg5yoIV5EMzTQEZC91IlnjH0HmQhJQfpxHK6GaKcDa
PoyCaeIih0siJDPrVM/lG/gS3IvrIswP2H5f7WswfANRdxnSeBqgGKPoAgUGv7aS
T6SAo9wQCns+CwiuEPrzdHOBSfaZYR5D2Da/H5Ix9ppobdV8y+R9ilPcYZKDxIfu
FI75X25EgcMhjzPRt+/E2Dx/+ycdfvTbKTDY5wBBRUoa5ASYjiOLgARx0sJJJSUr
SmB1p4J2yvrc0bJYgGTCF/G2v9KZu9fuJYO3r1XdqAguRB3vmSpMYlFyQ0OKTZAk
rwvd2v/7nu7yX8njV5RTwHU584l5WJ91HiTNJIY2FoSt54AlFXYm91nJCJG1FkWc
DkFzt/pLl866dEcHekQ2RjilOUtNuYblni8tUtSCwqpkJEOIsK4SE/LW/WACnNNT
b1M4N1ETdZZTaciv8Zq9pYxmMAaHwUFzE6SGJzz1t1JezoD1pAZtYdDBz3vc1U0D
dCXu0nIr41Nm3RtW3Xp0zg1EGQFltUlgstLl6dTl2psnzza8lL2RIhlm47yezMBw
29gXfttc6FI7Q7bzE6n/BrfpQZV9L2NO4VViiqG6H7t1+St8KPpWVAd/5A613gge
qulVVP284Iuk67NJvREd6LABe/etsb4RjCly4qHH26DVwU8ysQgmisPms95rt9CT
y9AFIkReAUqIERGbwt2W6vMHtDx4EqxzWSef7FzQsBsZwGtN2nZbozJO4xfoWHDS
jll+IaV5uigBlKYTQPusCOkE4mn2+H8amq92jahbzm05VOd7duXOXUyplKlnE+ub
qGBhJ6Kr82UEXd7DT99zpyJ+pUh2anY+wtDu7sj0cWTaFal/aj3BznvbkGIMnxit
DbJv3JBYH+TzSz4PLDF6LCePT4Kp4L18siRQJuiqHHyTQCBA3sDci7Va1VeJYctO
cDCG00wWr0sKB1o7QpN8cZ/AuueuXgdBJ0DHWIBMtuRgoT3i5APzItvZRkMUDdY0
A5VG1F9+2vebQ7m5tAj6PjwF80QKNgkM+BUeuygVWgwOoH7mjkyazUY4vFypo/sC
QH5Xi34wT6KJWEbaulU7GXRAgDJq2mRw2GZQZMjmPyMz4AzVOkGqOGzXLJi5GIGo
pspzv4/ZDeNs7I5EYQLBbC5itqGMdovkCUAmdeG3K+Y774M2Gwi3sV3w/2ewhFnG
GW9vDNgKtkU38lUtk7FiEiv8Pi8u55hOo66mDW/fnh0sbBg2R9Fiyu7krWlryhNn
1G8u22wys5VmOZC5EGlr7Lctt51zj/s1/KncrKOZ3+wns80AJxl+EvNBJlowy3Lh
0uT0bl2x6+jAY/l7UQ+X4kG+N08ZFq+a7JCTzWRtqgVN1i4NEIJKbF55eENYsQGQ
n8JsMDVT8f44WD8fNz+asjwRR0z8VzJf+nJLi0rG5KiOeCQRASMFxOeJxwKjD1mg
6I0cg2mZFnwTUqy2lkhViWNsigazVclp6YLGR0HpCob9nYiBZ3yRUAasJXQRrBFU
+U0Nve1mPXcA3trb4x3YsZuGfl22VZLebmCpWU0MWxL9lp8iN1CV16XMogqdmGib
eF9RsTIFn6/O6WpDGlsCmUZqfm3vyIuQ6UTI8FICof7P5pJJkGwcga0tSM46hpnP
U6/5jAI31uTJclKyl53R8XI8XzmvEWmaYkFHgqGaFrQhZ0qvmLMw4GS/4mpRd+b/
wo53unDg+gZ/RaOI2u2U+Ai8tu87E4rFf3F7PWZpVdakPQePFJaFqsqkQG2epDNy
cjXKbLOmB7+BApUk6UD9wsm9rhMrIdm4OVB1qmF0OXcZScvFG/bDjddhJ2BImY+6
92RwRqBS4PYLuxwDz1b83nWkV3FgoM/m//tUBoktshVjUhylBOq1Pqt9Xo5Q+JnZ
UncAHc0rkK86YVt5HYdKrKOGsVz3Bok8/MuSiYMXR/IYmSF6AU+5MjMOoTIefhmP
+CFnOjnQ+To1LUSTneIlJbEw834sVLjotXAPNLCi51oAcN+2WrQo8M+C2qsp0o1z
bAlU+oPwLGyURAVMD3h+QuM5oDR8CPcYTJ5wXPathqFra/GcnATsOtwyNnG4j35g
jBi78K+LB1otmM/YwkKZCIC+qrTJ5UCGiElhSg97Q0c1Vd7naDGVIqiHH752hPtc
PMVWCrV92g54n3WpIdpqo3GHq3F/rbaWXwuhZM+O0M9uBbQCbsT4SUsaCYHpF4xm
E8Ma4Ta9msBvRJ4rY98P6NZtf8ZfcbwzdyGn8wzO71BscIIBib6gfMq69EGSx9hX
zjPntUqkgs4K1yVzXUdUzKtHlz58+pIQ45TKRt7pFP+yUxEFpoKQ2G8swdbXBq0X
vDaM0CGHXTOtXgfPFGXpXz3tk5AiD00b+duGGadG88qrFz/XA1IQkOW4Imkkajau
pPaD1wgyFJEuDpDsABfuG+11mvJ5SBk8pnlhtP03+KZn5Gn1g612i68qpVqm5bXV
EtsBamhA1GDCFSY2otDAb5FEWUTxkx259Vt4//UTx8ObGlBxYJu2ddh57NaNWfuT
PLIe9r1TBowP1rb4rZTwLQcJDL14gj5uyZ2VMivb2BsgxcB+39YWAWxK44esunBo
TY8jfznmyOcmg13rD94t7w1i2s99hwHUAlWxxjS2TDaDAYrZaY/FXBHQKaQKZZlW
j5Zet8neaUllr7P9SCD8U0lNdGzz7JclI6dlp70zB85DW6PN4SK9WlLayPJonvmw
b827IOMZt4kPhT5N1PiheDNPHp/TXAIUtHetmy5z4RshmETdvSanpWaBIGRzP+2J
ukm9pH6K4N0wjKyHpGwyJAqSm2uHFnpv7MYOevUIUmBUBu6gygwI0xpQxu0p3pgr
4mDu+Hc/iDcLkhnht65qDLs9FcfvqeULd7b+nNpXeBp/o+eUAhXHcD32vKQNKwOM
9yXCOs8CVJfvLR3BD5EO6tGLzdyypNzlFDlCU6rJ4FskO8sgs3A/MBNVu5N4OmNq
OLW0tryeMESABiqv5Sj1CjBIFjxxSNiICA3VkgYjow10r6sbbk+bR11Tjs99FC4l
W53NlIAC9KLnuly5xF6453HPftVQJCi6oC3L4QhY+sHpbdNLuoEexzXO8JQ3gqj7
ZGvL1ZlsSdnLbyMn6cHeTmaJwIs6+TwlhphLxxMb8JB2QllH+6UtWF51EU230Ah5
FHR53MPHSbxm1r9OyATNQtGSj1cGuZVe+njfzl6Jo53YAeJfJsou7hkxhwKKHY7w
ZQilw5+UcdUWbAeE5oHCZlOmaJWvvs9AytGnD5KCIADJ1o1TTn14I6JIe8wEVez5
Yv5Y+vbB6X6ZfSfCs/N/cf6th9r95hdRP+o4eE5hU9kxsrZqHAnC9/OBBYQY/TzD
8mxpOD2DedaUwCVI5eKE4atkmc4A8zpbmWM25M6uZFcQxr059tG6zBlhH/AXjn7v
+teHjaJrdbbIt9Yflr74k+gId/wa6+HhD4dD/DNzH/t/s43BTXDG+0jKuQY0EHpr
vcv2qWMu/suOwQxDjo2PbVSf1u48mvA/sdLpEjilnMOFZyNld6fmZBEDF+F0uo8W
mhCP3xzY5ViEi8lNfzpbV0ZN+KSAYehipEOSkYyM9HMRn64ntVPxQam0gx+8YQES
ezwln+MgFBiL+nauWrXBovUus1Qt47hLXv3ivJ/+jpnBchiQZGKhyT9UkxDLYpAa
IrxaNmssqsEjaLQAzl9rH2hnandAMSd9a5EaSItYwZW+fwugpC9/NZhGCioLQivl
/6KALOZTQB33jDfRwK94om3hdxt3ozldnofB3Z3RzOYa7Xaz8xbVMvqnSIo5NU3g
5+1KiE34Lo3IXJ6hsGIpC41lA3Z10l96Cs7I+vfFjqfKFyJ92u3mm0+xKZ5OlPTQ
LnqlMtER82jiBlEtgcl/M6We3eD2p47bC6LELe74boUtM8Wn55rOVJLW2pVdeHz4
gS3cTKkPBDLZ6kh9TPeBayRJWwVV9CZ7Mp6BAxDPdWq67BihCVWKp8YxwNxOVCow
YKNHMYyL+cOLPVA/JHJW9ImuU7o7dqk6TVRFuMRMxRe3/cq0Y885T7GqaIOnnqLe
Ja03gGMnGsCamsG9LLv+Zq5KDXxuQycmHWFIovDt9eLHoaY0Dd7cvBVdHatKXx1n
oeThvEXkdapEoIXK97+kC8I6IXkFQgWKNGzB37hRVAGXlzlnRp9keSps7ttPl9Xs
QrwUxHgo7E/QE8zG0GJRbUTCIZ5ULV5AYrrT4EXiknHo5KaS32hHheegw87B3v7/
mBd/kAl39YZwcKHR9e3BZ/iamhXFJ68uzaz6S6gRvcFFRlb91Cq9NqY6Labt5A8j
YlLQCfdaKkXlN9XfpPNMJtpiVBr99EwYfnTN2pBLUcVXYN1r1UNFeRV4wKRcT6nh
YWjUd10fwlTgMly+RNafcC49kdiUndG7fqLUucnRpYSOr7R60h9oeq5GbIVvkbAL
Qa4hUZXeMxWTZ3bL098v3pfn+57tLc/bD3d/HzpS1c1FIYtFMQVhK2y3wyT/tNWr
WgkdFJd2J55QwR4du2jdLjKPaT4wSbImgTkuAv2OCIuV/Zo9sAy4hzvfOTWsLMh+
IIbgKWIjF6MD+s22vKsJXoaGhyEu2UDU2RXcUJ9YOQvEG8zPL5NjriFqtQA2dL2r
fWXLRgOGC0uInG1QJN/sxIUCpe4kS+UUYIYTcG+QcFajf/M4bD4RU02X6MWJHMiH
t+zl13OqaeL6XNiTyg+zB+iGXU1skXYE+PWg2gLcFNNU8hpsjKgsum2cke4RlZni
WJbLfrCYwypQj54E7xTybyU7g64hQQkSS+IUxrowEwmf6nUkeW4SAzPyk2VHVDj5
rrTe7pXQO24A9X732nYTRunDLh5oWtUXgQLN40ocYHvNeirGKxdnJVYzKNuYDvPa
C/s9JJHznubpOfFBOH3xXEHidyUKh5g7gr9fsokaY4X8dWsdfQ5mdjlVYyy1aluT
4c8Zna1g6pbDFSDUKsbYb9oz4hVNwGC/rIYRh2WMuNk6mxigXpq6Kc10pmMHToH7
VIugzgS4NlcICbbVl2S6a35cqdyWdS28CXbDMj/+DtAD6svay9ELPOWyCoujhN9p
BHLkup71zfIQ26mv0CB5L/eqR1iXNMyZ6U4qjuPFvaIOFgB6BkfUvqqQsM4+YNxI
TuZ2E4LfbggJ4Te7qouArpvvkRBX7PsQB3TJL8bmoehh6riIrjyUETWpDIQsk9hE
z1JiKdM11iYEtHv0rLw3ga3W/rt56w/8VZCuc3kNcekwcdMU7u0kmW4OYAD35KE+
+1/5TYUo8PRAuufLx5KwkJVIv0AwpyLsvsqGq3t/p36U4spSsLzXdXNRBk61jQKB
ufLZ6j8tjqXOZ0KgGkC7OEDiLCOzJb7IuteqoppLUZKaKaOk6K79h+CPc9aaVG1k
tZRoWFZS2ZszKD43o+KMRAUUlzYdsQGDlSWXKrFdro2RY7InH+/9SNtI+ea1wilv
nRDy6sHMzPh3TYdrUv/YJ7VsPgMIuiYrD0SqR0dQnJuinUQN+orohcP3nemevBpO
EfOgQDUdmiWm+XsYjPBm0THgD1DnxtL3cQzYqvblt89wahnf/qthrdCx3+VRX5G5
p6eEBTPn2QA2w0Apbz7RrJmGt8omPNOoIaiUz8SrtI7I9mUooDLqaKIvo/fgBwFI
5KEdfPjtNaky6DvnM/H0OV/xK5Tljm/FdaN1Qe1qQ1dAKShMPIKWeIgXC5JmXAaK
R88Cwc3DNvoM55UVTROhZVZ3UTi7ywfM8XrZAX9LhXTrNAZS9LcwR/BU8C61Lckn
qRjd/6dmNnWsehjxYRPQ83oBJr+VAeNX1WxS1WwzNPgIhofBVcoaYei7EXWtLgmt
cHB4w4/2zcN06pJu0d1yPPGnnySIIdVJztr/hOc9XjGKKLbdLRlrXRQp0lmyW9Jx
YNyGm1K68iWsBHXMA8U1R1d0abzUNLj+JxodFXAapGcdQ1VCk1Zd6DH1/NgYClTr
cHMjDFVpbMuDX+ENWrWFbP3L2zMLMdN/PiaIJIy3a2QfjUmDFvPKFMDhz4Qy7Zvo
rFaUjxRaYq3cF3n1l2CA4F7frJ4JBeuQIIu+zgsPtyN2hNPgsHGDC8d4QgTtpyRi
3QFOjeHhdtgwTcdxSuJNbqglJbJVHej9sxbNYRAiZi8JApWXKzfHbUJ0A2mjFMqx
geCxNDFFFov7/qAHgtEyWlqF5qJTWYB1szfeJbUnCY+5ccmfdX10KaluPZFzOqY3
/Xb8d2Zofixq/R/g4NY3YbLNguCwKABh+dw2ewtFUeQREub2H/xK1lQIEA7aaWdT
t6jpYk5jGotk3CUkwA/odiil5N++/6LwO01s6lDkpdeOvrAXNYS5wV4PEUhpOoW4
koScEvbfQVGw5+ySIKLGGyuw3EprWRcyLjQpn4vjwEBYkNHxPtC9tSR+N7+FJVQL
de2UQnKJsqcDLIu9StW3LzKhEfIrhx6b11Fjt9ry2/9jUKrvhrMOFUgxAZgwDNH+
MtDSO8y69Advco479mGdM9Hn1BmRLo6L6hVpy4k5xw14/F35R8I6QiIikr2yue2E
iKdDOyAlnEDkZNyiV0bkWyGPw67ZherFAYQ0CraE6W9kFAdN/dkVCPEmy3BHESw9
tdOMs+WmYmIXrC+Y74uzyGdCldjzhj1UB/jyV4/s2BAmh2HFHeCe2osSncJUc/FK
BftTNG6bGH8RGdSGBhMBrD7dbpiQFh24qAWCuEF6fOg2GrTZlEwiETrmohxHBv0V
Vj5qWLr5lKfm4ipSvmOYLJlRZ2LyRpbHjt6T+sjWg2YB9Ji+lwriG1sczGaUGmEJ
DcsbETgfTA53y6oTC8KclcryJBNj252mkE4KrMnDw9RdnnwyDIOKhdyzxRGy2zYr
sLSQnRvH3bZu9Wl99uwRz2IorGtUuOJXyOu371q/qUNyusvwKG49FxnZstJuUHdi
MCdMwRyNAoLEuf+6AaOOOWMUk43+jZ4d79S1lWtpyrNPFOao8PjsY+byHfeNZxSK
7JnJVdLiv4vzA/tb4xJZPcfFguvE6ERXy5QjDrJN8676+FU8fNgy7oUjMqy6N6Ah
PhRamUHq46TwafUZPof6UttjXeAS6pqsP6rEF85mOXWoQRh8s5jv0ZMHjZ31wyvO
zbaYdMmM49faN4EJVKikzqJRiOT7/FIyeM6/VfroMRGFPtmnSa1oL+AyOjWrUXRh
xXT11Vp74CfiyNo5kFmmvkwXWuU3DA/qT8M88rINUk7byelmsWU74mgkZza6jd6P
WSot1dPSxZGlLJDSgkBAGjbQ6UF91GPJu3psk6hD/BSsHfctKkrGYFTioL7sm/rm
XNgmzwSgCBUrpFddu4SbZceOVNAMOPAlPXsTVieDG3Ny5aVfUkR4gsqXEYLYHc7g
rvZoJmLSGCBe3KZLOG0odHRCcHoLHASk0ZRgC9jOW9+G6XkfGevw3J2iuE3Z9VhX
7H32wwts2kORZ8pWG5DLDB9HApiKFOAtmjZi8kmXyAftvXcSawn8Rw5l/sSte/vP
/eIgRpiQ/Aw6GsBo5OJFim69QQkwjX5Zclw/JVWWIgY+Vk7HrLUUL45IXcwvyj0i
ef4DU6fd18oGBOy3AsgIk79sLnuUpqA7Ue6bhc/kg348R3CscCRGA0lnwpd4zESw
ZtFCOowajWmZ2foPU42wHM3in31R5TutefUs5puLggqkGW4ZRhb9QGdBQPQQmkqR
ivIWyLgdRaYYxA1K5T6dz1Qtwac4Gip6g8IdItUW/URJngsqlMZ0MQ/gXD5fk3Pl
KERL40kYFTl299q7/1NpLBPD0oXPkju8YVQVZ/3Nh9qIcAFErc2cgFXY4m4sC9m8
Vh310EebC771mC1qSaVGLehdyLmrRVJndZrIP06xsFwQJ4wERLlxR/YsRGGrdr4G
mU+r1j4Sl8j5gq2ntEnAJ9PCP9yevZcV5BtarzWPLSEXlic/OwKYUxEm3xXZmkLP
ZUaqDInWEj0bK1db5/p2mFgYotBrj4FDvJwgbIzONjowKT1KGlD/vd9zUik1NetI
EXVkiR1HF5ko8qQKYvA4TW3ct9/O7CCnDGO7qvOgF4yOZLD6h1rzwxpo4LTkVORu
yB6Y+V7gOHYyxroK3U4vV2HyBAvHdLMzB164rRCWLPppzYm8faaf8JKNEsvWu1uz
885/g+M3AdUA7Mc82zwYpVo8jgapou/hFWBxAmKMeXD5ik71ZhJdQ8i/8jpNml6B
WXEPjXUTP051oZvqD0Gzy+K4lzdrajJCRe2647K7QiTDw6wofkrE4hZxXcw43NdJ
17+HWFT/C68tpnUpSzsGHOnlH8Zl75kBmqttl3D19XRbE5oaVPgZytH9ax4mgFDd
800RP6WWfDAX+cfYb6uxXAPQoJ9/7UMJXP/4ZE9b+MyuIHZInCWunVs/RluUxjza
a3a6iwJ+DMenM3WQn5HniQdlgPYzzge/UcHffLXoN/h1ECJWbVU948zvE7UYVyA4
wpHGJsnuJMbWAvkORPaU7lRNWl3Y8vBwUnhItt53EVXkPBqBWm3k94TL7mFiVGbf
9q25jnIsuOwyNeUHM9vxcg6j0KhxZaK6Iel77sVIcCOV1YV53GcCRt4EUhor73uF
rC8jicHaU12R/Z9zQtLGuouQ5d85oror0J8WD8dU4r8cMhEtPgO8LN1XIjAdEmJ8
ghSsynb1jGyW4ggZI2yA3m29GvsEOZdPzR9kfcQbviVvruJH5sgAoi9cJDyZtFYz
CvBspKwsGUtZrsWbYRyNwY33Jcj2zmXfHa7NGUCktWyaEL/QjgTTZQr6UHuglvKV
bYVDuqcq1BiYnGJ88RU2u9IWHXnwRDqbbjIsUC60Wc575wwfLJjxvpnwrjLEtjT4
9OJK617J2RCULNrKv+PL493w0W3BUFOZ7BJkYvXB9Hp2ZBkcdiuXrIgdriPy+e2C
zRbDPZsm3skUPCD8nsE4VxJgp/FQFxUnhIgJQ64ECd+CIJty/2zUWajKFGYzTEKW
bMArHkyCpZJ3vROK9yyTVE5spmKLie4dCYalhBNnWbWv5nRjFNL+Cney3hj6Z6zV
HQdhmn7MFITCDmcYR+muQg7eVoTFy9md5dFwS9pyrOUvVhxUFAxrfYpvNkxHrVBt
R3eHXTJQ9Hq/gy2eKTSndAmWlv4Agkno/jVHMDeph+TFxmc0dtqr2HGvwdAbiOJe
sB3ROE4LnPshWexLffwS2g5GBtZvFgD2h4eRSuRFNevhLWgto3oc1W8fHgdKX2yh
sBEbXtlea11P0OKdw8BIgbvFLJc4qJoQka1bp1K6L/g4GVAuHeXmNkoeJ+fGKD/O
pXAPctm9EZa0Fbqx2gonfZoB/6XCUK3Ylw87Tc0HUkO+qRL4ojwOCaEM2FGWqkoy
H/y8Vg4JnJ9oaCurFvN2ry7bLhs0+Uotx266SCAOvxrZ6UYYHsyDotx6IrPY+GcZ
PJnNIy7M4x/7ao0lhYgblE+Qn0yfCvY9X8wAqNzT9NNU0FG4fSuxaBnStF7g8dJC
wUFDpQKaqndxmNQcm2pQBf7iXCSJYxcuiKO35UlUdP2Idib5PIS27io3niROH7Rs
NA8NB4/0Tc/AFtz8j6M53LYfor+JBLfOCFG96E1aAdB75zVgmYLr7/6ZQltDV9r6
J6ziW8iwP8nb/6lLkhmSHzgLeJsVcvZ4vu7k0GxAGH3OaUGgcT1SH/vNSzIan3Br
kpn45k8SMPo+G/34q7jkk8u47WO8wGHyZmH1kOBE/ghlSbfkwVE4NxjDmjNa3axp
bPuGxwKCkZT4eAfOs7LReUWk8VrIBS6zxieP/O4BYL8cWYeBxr89S4WCfudtMHiw
aaoRjE4ZMoRYb7O/4BEoa6K2wQylj/VPEh0xI303quE1JBnbqh8IMa98CQS3rILD
KhBT9ZLRAvz04kWpqOs5W58Bk0pFFfVtPCqjjU02bd3fAw7lmpX5zg6to/1yipVX
1WX26iD1UP9T2OXsSOpEZTH8+SI9G7onOeXh7s33ovbOb12pTPz9XwQbHoxnlEIw
LRI6X3qv+wEumAKbTr4WB4+JVMEADelrgty7PfsZcwGvO/WbUGJfl2JI95Eg5kSj
+eN9RQU7lTEHeby5/ExhcAosGYzhTYeXtGqbU5FufNHbOn3YkWeysjF4wQglPKhE
WbCVdOQP3SuGZOafFgGxxDenYv3oD+dRCQP/r7QkESr0uBGSALils05YwWyOxCNa
CyCpNNhv7HjlMAzpMnERH6AK2jHBYAm9kma6J30bhJ2tnqZojRlZ+jNboQ/svRe9
sFMbmu3kXYFoslCiUXcxpnMYk8xbvb48p4mZ5RmJjtq3oGA67pIqe+ZzJyLeNmh6
CsAcv+7ZQ5TSUrjgKLy4rvKee7V3mXCy/Q2z1eBdup5j/XQyhqLNdvM4jkoevL65
vcBaK5tWd71TDHEA7FG5HbsF9CQWQiV1YyN0QlDJyCnYF73oIzUxUtwSpQCCqTQA
QKb4/2kB0fOMTF55xlX2dv27zFStlTXEGOBNXdHp+gwCqjyRH5peEjTabPGoyvNv
yFVsyal/tkMAv0g66PIZYBtNWIAtvungEt6OewbcyRRbe4nvl9K0Fx3XQN35V5q3
p02OxXh6GvTlGl92Gi0B3gLdvEzQ2zRnqLciM1UYmcnqrMndrcGwCq9MVDGDzlXU
yCcOnU1yope8Tz2ifdbIXz1P74sIkhPkXsRcL+BFf8aHE4DRc1wJgl0h80StkRIA
VhQuhEirXAJPHxyF91L+jVRVtJHGgFIJR1R9w0r9TZHNtXFdkj0Q8iDDVEG303iY
TFvmQ5Sj+9QGK3dMV+12KrmZjHgJqhkPPMfsu3IovI/WhgyzQvRpg3PDI6MsJdGK
vYpYRTdJqtZAfKALha+MvYNmbhvlYnNWHtifUYnxGwfs3Q6bK1FFQcaWvU2yQLc3
ZfazD/7safKqjFf4/6XTCxRj4dDcrwDr+B0z6Np2uudxmluSV60fDhptfibcurcr
zf4am6Re1NRMvODrvO58EOSD20I3HXgktyQO7kSvt/n8cqz6bBZJ27QJAN8XVTvj
6VkuLPj8TnpSte95I3fkhhi7SYV8ILLQekqKRFLDXK/xW9j6ma422pvi0BP6dozY
UPHtpOgg50x6fwMps/GJdPTlqm+V3tBqBKbLUF0ps9iBY39n6tTp6NFmJdqcGRGf
GlqR8quZ7EyrBiBn3uv57eBguQjlzbit8oSQdmSZjx77/S9fu0oJVkGzTFX+t3ts
45+kZi/GISMfgszpFa4h0BwMe6QeMUoAsmTmYGkZMuXoWyJvcvjvRJBdomEuBkoi
RT/ZDWaLj4WNgv+lHFydKxDDgWsPUuO9Z2Cro1XKEineTopFvyCPXElkuo7NSWoF
XUBKEJT2ELld8LNlYfb9yF01jFmTIm0qIEUtE8NSm42IVoQpBpSEUHdeCoKPkDFT
nlvE3gH+JoBwDo0UF6qNzV/WO5JMXICLs/z6tXiQntzjlH6ZRwbROIe8/0aEF+o0
4xw86N2x22u94WXZbjnKNkDncMBMtg3/6kZEBe0HlFKTLKHYNdbvdIi8zJF2za5Y
BKO1/ouKM/76xRCWotV/4jKkptf/J/siNBpGoV4BTetTrKTdUBV0tVDM2f55VzhA
uHPMky5HNcF3bD4jZmPehwL7UXvoY0TCNXUANNSqyNa6ocoh7jhPO6/GJPVutDGd
nC6AJuiNe35bDuulvybUxCOgVvMXVJoEPVai0fvdsxPZPyWKcmgi4bfIiGgd0jqh
hqVUdrmh5NKtqJAkuU8ekg5pugjwf5QzFdKiIgLKfDE7WMZuN+nLiTlreqX989ki
zc9iJ3xX0lyPzaZ2r/PnH2hlfjKvoOynlKU6vwpUnPYfc8qqx5AxZiwhxOYI77HB
LHM8GFZDJewJrNfQMnRinF1Hy6rlh6rkBtGLGQdOlhVPoOnGOWGnHg6fdfXGHCVH
Gq6WVxHw0Kjemylc1zUFcbV19D4YcpXtMIHuJrhwFoJEU0ShwVAkyAUZHqZbgnz+
K2Fv7fddBOEdENzJ1V9/JIMnz2i4yT8shyFuJmqn6bvlVMYrQs5uE9aqvM8vHBjF
YMY0pjiQsw41MRyZlCHocEO0yNlhCCWeO9RPwbvBZllsD/WV/cU3EFr7m6hyitCP
T8V/Cdr0inmShN6/VsECVnzP/x+w++O7t2d/xkxTdKP0riRfMJcNcPrdgLsLW/eo
F7Ia0nPrHNeQRV6LfUbj7Zy7Eatox0MU2mVYW/yNQMMO5kZFMLn+jRS1E6XQHrx6
2aTeHV2MOFsYa6cKNb616dpRD4XvbiTX542T4Sf8p1vzEVrqyv/jHU/7u0blgn/u
6d7gWyEMTNidLXfNvw4GVpm8b8rCTmStUkTXHQLP/2U+dr3VbP1olE4piQDknvjp
TsUcgTec+ArHzDwgtE5JyN/aFVG7VKCLWltVnLMhwlgX08vkxrCnDa0Q5J0gDRNK
gWkRctIZ9z6Z8txBXxAWdwtdFYQKbkSF1Vzrl2RNMOaUUtjOvDaQw/RzsYV3svho
C+9oVeqPLO5iz+poVp9ph2M3Jpy7nxmsU9aORORAXAuyqEb1Ck0DVyxWjt2z374y
i8d/Wc0zdbjSJYf/2crxJxyhg/IuE0ApUvdIi0im8Rz0dHJNsl5nEhLIgwGOl2HT
PKJmmuAYfPU/MILy04dV1DU393lM3e7XAY9JmzSYrLfYwWgJfOgLHvQhIYIOytH+
2y8e1ENqQizbO9V2jQ3+3pVg0UhLO3EXJCcPfka6wCgHYUnI3U8DlSyMTedR+mYj
Zzhx0hL0pEzpW0mxIw3mC3HaegfKsNCdEox0e3/hqW+n/Uo1J1DBGvjXQJgt0MxC
ydQBcNEF0tVKddlCXegnT+BkSQur0itTCdKBppfaZ8uXLZthaiiJ7oB3Xvlnd/km
8k34c0EevDvznD5e9ChO2ElV7XAA69eBHYKyOIyCe5EgNBE4HQcDzjH6522ysxS1
wXHhBT9SJHazqf2S/0p/07nmRqhT5vBgp7D5yu236ethvUZmRhBVQeQYl4S2eKG8
PKmBhJrrTiU15fZ5EWb1wsb4DjQTMhENIdWcxZa3D//Q9Ihm2ZXlk0hj3dDLSBIE
o+QRDXy0ZS7Ys37bGsac4vDsj4NRizFJ22g8NQBwl9zZKl3rXbOTChHQkSxHic95
5GQudtI7HZZtV3fF51n5C1JtrTCd/BI209GHOdIAda85W2hd+A7xRp/gs+7R+eaS
OrVRLOqyNRnVsqEpC1GtxlLg9/9iZ+jm3eVPKbENdycFRuFBofFj2QUUpQ5bNFRL
SuXBaSmJnCT8k0N+PygJQqcDcnIsBzqherl3muJH0TgfqLimQo9hfcdYZQWWct28
C6HLPsHAZOY27zq/sLYUjIHx+Iu4pFz0gso1D0LVWM0SWeuBrA+HgNCzkkvwKLHH
SuOGgEZ33GpyHqTLbHdcmmcDKLxWtuf9od1Hz7ZRyI6iSCbGsHh1dISwLxHmnJkd
bSJbHgUKVpCNTbcPqfTT9sm2d7qPWUSt9nngaxy7b45YkLifnqhNDfkF6UX07+iH
0uWbZK1QoXhd6s2Jydd5jlOTCgy9UzzxDOZIzVKOl3Vc3Q7PuxfgRJ0EAcC0UF+D
Qh2W+56Nab7fjC93EHJCp15Cv18k5QSR0ng5h1E+GCCK5c8CZA3HuwEEodK7vHXK
7ARQwoRrf5nAKFgBaWNyCH6CaWoJqdLTPaaXCHXdAjDoSFtJijD4hcQxEL2acCQ5
KHmchBPEfqsyQkPo54sI4Yt5TahBvg2sCMT/h8YrO0ifXFpT6CheheOzN7AmF+GE
Qy5EP2wL5y7UWhxqjrP6zn0n67k17+HlT/Bc/AdvZI9Vq5B+8LzaI7izb0QVMk7g
nns5Yic0JpsK68gik2OvICAjp+uPouaZBWPtaQsFp3VU6vgY0wpZe5xDScuk08e6
T9MCsunJdNPMus4EHVSgw7rfO8BsFpiP8uwP3xh0i7quK1v7R7272RiU+RZ4+Uzc
2SDHOuVMvtCxkNT48Fuc0o2NuZRGrm5NIo9wwrH5MblfGBhglaz57feifeWMDRdl
lI4loZwVB46Uw/BFtxc+Q/nm6V5qP3v3Q4lW32DaagGIb+AILnWX55Q2xMhaCwfs
+fRxZ2S1c/QZzNfP1LE5dsuxAvD5oxJw9m59L5eBPvBUKTMMsO2xCkRZp+ooTkD2
Qn7MygL27JV4PlpXNMFsLSNiu9+VxXyTUD+d+VQN8u55qaP2dKrG7M3T4x+qFpvF
FhOEj0ZVbS09kKcUsjkjUgyv4m5nJJCl4Kr1O5TdRtbhG5oHhSwhcYBV5uahpfUm
dkc3LB1Is+d8Vg7ls/qbbPGXLSiTlzmZT8xHscgLFdemimW3LTSV0w1aEt2HWKJq
kPQXoHmFmOs0/m5RzvfcccChyJbwMj9LkZCQTrat8Msqgqj+ZUoS4Xtyp43tUhnp
WVCg9TW6t5v3HNP0Ld9jawX/DNgPmScyUjvfO1LxD9KQuXzBQ5Ox2e5v/3YeHnlP
CLjeFvq5IGGy1iQEMIURIb2FPEaB2JkI0JbHdkNKQm8EldHNpOPXlILGqMd1c+Dl
cRafz36fFYlAC7vR1bhbSoSiWWvCK9nQSSUckDAfCyW3EXD2r/TNHChIlwduZxtm
U9uqqyvvKrz5aJFTR+X56oukSD93wLqVy3w/nk26tY+pqnAlOw8apYLabGzxHWQM
5UgZqBoRDIA8M+ep/jtw45M09gcdFxQcJGZkNHl71MsiZ55mSzIQRcUdQYwunlmT
Og5P4yhMiCKn8z9imHveHjfJ5pNEoRNyxVhAshrQ8c+YAug7sO1gCtCC17avoEGQ
YJtOxwjIARwMHG8XAKkhEQcWtUAtaHDPfW7iiTPiXMj5iBeq2ogA7Qh8Cvm+w5+f
v7IkP0AZ6VcLz+dy/fc59DAtPyz8RXNSrEYgqdxEmCyEcsRlAMHfOCH1hgtPuMX8
zE8DmiJm/iHLdBJFAOoXwTuJjWuUML2PFWky5OqHD7NYvuVks1ak0Gfntl2xfyQB
SjFIwNxBtXerJrv+JIuSYsyvDuOYJegm7qSYPAGn58IwwmsQNynRiYQ0IQpaXZes
tIaitKRw0pdlqm0HwZ3KW8Fjd0yGphUfgRKNgABwge3Afnd4xT7hmwUHnxkBviOg
BgFVu715+5Ih+rcehMbzcx4Iuf/KvyfxDreoYfgiWFbVJ0R3fRSp5JXTydyMOgQb
mL9EXMnIoe3fj/50CgbVyogK1/uBMriNp3ipK5i0nQf4CFbM56Q7FoQdzomoaNUd
ZGjy4A4t8bpJVMBFVsDbkO4dBx5rFFZEkj4nZ3F8y6wHuWAZI0wDrslKNHuxuv62
kziWqsIUmmC3FHzmC8qsZPQ7cXAduJY1Y8DEPJjgvLHT9yGXjuWbLT2XuNSVI/az
175f4TKRc0wCEUNnwKuaY4R2p1Mf2Y0Dfk9QaAUPVeNeXcE9vih5XVSWZJYtreRN
H9WRbnm25FrT8eXa4tsgELpzxLUnc8dod+7UlbYe57kkec0UQCGLzlSDC+fFeiFD
T7VlI1PaJsngKi68QH/ey50bfdDl545Z2tCHoPUmqKn+ei4J1IovuvhJB8y0OajY
islleSYyg4KrS0zFW+T8IxizTlvea6TUw1M5xD29WXhRQ2zxwWqMvR/b6EQBsoQN
faMmj4j+PHxUfJOKF3G54iyMW4FG/sIdM7m62DAGFl9K+Gg6d6x6enDCJq8nMuNs
OzSA/rScUeVu8dT0Q8dC9KyMnXxGNCzoZW2w63NFMLpjqGur30/3w+Fir9NT1DrX
kg1ja7l7NSLsLwap/tu06CY3DpPs6vLv+i4TnngHN97+JJcfRTYz2VjdHqcTkoYj
h4Zzib3m8cpF9k1ZkWvDgyNyp2cD0ToB8QZP1cCJBpJSUB1kQ2iyyNeS674F5z7u
meaAiKJBHUaQoiSkZNB7HnghDXEZwRvtijAeM9BzlXPG+ZYrMvrK4qmFHhcRESU+
Gb3RXc/TQpocFv9qVnuucYqqvv7tJSMeId1N+pQoPc58e0/TCwfbqBOdNCqPeFbr
8VUKf0rucDDc9ZdIo+h86dirLXOJ9ShO87E9SaT2rwAMF7IwhAr8LvVVbZWeSABu
p7KYIo/164GeRC8JwUYOWS37O0bal5l+1VuRZ1ZngwxQ3FeW8syrT6/sh0kEM3nc
qQtC/z6PqVyY+6XgyXgE0FFgV51EYT5QsCD6Lx3oRAxTHVuiEqufhD2MTeWcGDi5
haN0tFjTHC/dkX3/jRqu8XhjR6bJFb6QCWp7vMm7MyYEFalycR8UrmEgh/q3ckoT
icA4fjt1n2tv36uzAVf4gZMXDTNwfJ7F2y4xd006uZ8TFn9TO6uZTOMY2yLEVp+b
2klQ/WaxtGUUf6TnV068ANB2Q92MxcDNy8hSHT7b/6AQEwz5AQwqw99cDGQB0Ft9
ftCX8okvNs8n/RBhzoUZiydvWqe2zFLTY9dkAikD4oLp0p3kU6nGXn77G47pYg54
MpaG5svyl4kT5TaIYBN8P5K92oxPCryabtLCCm+OYpCHDQZ/xmJiUltTOAJPUWNS
uD20A7mQ5Ib8ABygL29yZkmU6Pilxf1+lYlNDcFqssHR1lDEJk+lBu69XdduvoYE
tcnjEVxbLSJgi22tbcS+xmssNTtAub4ff0APfnKNK923H/P8/qt8A9RG7CdXGjzb
Ii614/WjrKV6evtJ4I/QF68Ke2i1yEwJf9xavzUeywshiiGqaY2egZtp1Zq9ap0x
jvcb/uNAk1ckaHonoN086yfCtvc6iUcJ5XQjCxXDWZGxrOKhnExilGwnZlLscP1R
9bGMdCbYDp0sEQ7gcIRZOMPxQ0sArwoLzpaSDJbiRaeK87bvMooX99D9FUNSsfA6
x0bZUNfTzm+tDNLjrBnIvxYzEktLiFp/SzKuSUvMxQxXK+1q8UXtWz01AGgdrPan
bdgZ6Dr9qlaebCCnBr5Lx7tXLkKCR+D1uVNB2zRzygdGljNGk7+K069FZqgCKq07
e5Hif4TeCMK1CNN3eJN14AUudxFViS2ZARdBP5/bw4CH++Zhizfc2TZcJuRbSOEZ
gjiJnZppXBVWtW7H9cJ1SXRcr+QADq0+be04SpquoGaWS57oThhBxv/0VkhpQe3w
Zzj6rQK/9GB62qTPZ+1XtVfU46VNYlJy3L4NIyaMHH7V+0IUz3+RYacSHYwc6ql/
mjYyt/hXssIG76nmzzzepP9UpedptN7gjmKwvTkbSR7oq7PH4W+VqPR1Kl4yGXOb
8sranw0Fr2iXvt9eNQDOpvcw9S5CRMd1a4FUDGROyNz7C6NFngxULrI6ehzciGlA
yGGwHWpEijp04sGzHrmXNWOWxzC4CXEjQpbK8LfFEQM87Bdpj6DGUUzs0c62RGjb
pxBg5MrU/sns+7OTWsztU/nDpHiPaiUXoid9ss5ybw486gQ7Q4WRCA4uEwwkAyxp
n4WlX6Gymmw1bdkHJxIGfp9TW91zSsiV6FtiM1GWlTPDveqcDbS4ToDO53MctDnw
ojTtI85cg/SkjZBv2BxXm/QACuLHDXKJMkJ1DMdOhJ9Kx8RwXJrfIPae1efIK92C
qfw+F1v0swqxYct9AOUbkJP7x/YaC9jtgCBMDHdxirc/Tb/yn94fdhFJ30/NbLYV
PTE5Vf65iBaCnONJOiD05z1BwQr6CqvDla+dIHyTL2pjY5c/LUvzkvUBa01QYCFI
os83K63TLaZDGbP427FSYbePZBWdCx43F0b9mDufZzZ1wfSaPGZ/8yDTe2ld3qvG
d2KaAnv1HXAIiKPCYwFh9xquv3cvbZ5pn9/rJgSc6CuafSWOm9gR2j2zIaM74fvQ
OCDK9GyN1F6joU6sBpJYgXMNIZ7we3WcS4IXD2ia0MrEG3H8iqsKcWbHvWOUs9Wz
aiSKaRGsQqY9tHc6Ztcoozzm9unwqqtJow3E9msFzUJg1DhDDbE7bcgvl2fRVtC+
Ilw1KJ5X3X8kp0+Rzhi1t4HiVqo6wJyUwBuPaS7cDx8d5bIH7sHoOXATPmCipKLl
PXO0JaLgpkiNOKenpav0oQBLBCDSFGUQ4mBKgVTbV43xabuRN1TMUwaSHmVk9DCP
N55kpCKVoJ2beArOQOwB3y0aKuD3Cw6HmaAu/nDK7iVXFgKNb+ueJkfEM+z7ibyd
i2xcK3g8uHpAdrWZ65ag2vKqqk/6oDTevaoK1MVBnwwZ0I9F1VhuV6vbxIehkTm+
HWs7tZnRTN75TedPWNzsh0MRBrtDZE4I4kOX8Co0LiHsuSYLFERs7IzqFBoQ8ogV
t2yuuL9M5XqY+mY9gWw4GgKbsGENz/sMzNJ/WjR0CxYzOJgAtVPnQUwNWGGnKYWo
ECIbsEMmRzPDwvzVaQEITJOJhFcuP8eur55OY+QBHrBAdOGZreKaGoEfG9AAtpyn
+/F/bqooe8XWPhu3sJob2oDZgwo1wGH/l4Cw8em1Je38WuCwWHzN3CHe1AvRJpyF
RDx58nEQ8cXRCQYAE6V84vB+BQUHvEfQjQuW3qy+8RSKvDK7YKc/K6AHNQFodMA9
H49xbMBH7723FhDSRNuCognCZELuZTYpsTda8nARGu1aRNC1BntekT3loKnAEApZ
ShtdBIW0TRuxEJbDxeS7KokgH+bG37oC9L6CQpMbfwIwN0SWjokKnR7/14HVxs9J
Pg4Oyr7vzTaRlv7Te0LrgLcAd6Z2L3KwaBJYpUnPSmbXWaiIhjRsD+LmvYG3dKQI
nMIsgZ6SKg3HIkCjdyWsTlIsnZDIF8DQoGFeD9gsdoNNIJIL1LYTJ+lfmyAv9qp3
N6ppiFATqQ/jSNCtdHlTR5KNNcOg5NeiTTTuCpf99pX3sgHFxc4Qh+kI3Eg5vldO
kttMtryfGsinoww4nsL6azPH/NYGMYF3dAa7UiJQBANFbVHoGgD0Cv4rZPZaPn/l
TNhP9Y4AZSc8r5SMfiKJwUMvHKB9c121WfQaWVKC6IP8PnVzd7jht/b4g/0nU2zB
07Z0mMzqvKnbnkLYmVBnZlbUPJNNdsHucgSw2AIyQeUuASSZnWoVSGCAejzs1zNj
NMSKgF70HGn5FziUOo9QiPO/no9GkO20pI2rS4XDqDkVu/FE24dXfA8/761HiSou
0VZX2oY5rQouWCQrbsLoS/ljff1ma+pVARhhca336Y8mDOkr0y3ve4pAI+zSdbsz
p1g0P9ZCfEH9du1cM4l0wMQqCQohSzu0bUUO+KbClsP9CEGIyRCiuc93H/J9EGDJ
9OIanF67BfU574fM2cc5V4jQaXMXW2bdhHtO/73zg//jHdm6a7ws0gMbisUgGBkp
MsajgD/NU8eY8IRyd6nBESwrxFW1zKOmDQchOE859k1iVoma9onHtYCww0zyz1Mb
zoCoY1nK0HqUmHVBv9NSrZ6BgME3gXPYVX+1Z36WKspQ4br18SofP1EVAdtTzy8G
52dx67sMzA1ui45amt4BelRsOyiUH5nubf9f8i9eM5FsQIfbD06QQ3kwtoy66MRN
6ICy2ZTb67cl0sBsyjMK4W+jfbJMgApg4xrsnL5CC1NyvCvsb5v3VwIIv+Hdn+Tv
cJD+QYCaJr7mi5VqFll4K7E+8gXB1cg7KzzqRwNseMPOsfjM3xMSLGjZl9Rlq98s
YGcclSetfjsZXyShB9/jszNsXvg+H7OJIq8slP5SFRqdVt7WEN46yITwof7Cjjdz
Tm3lwXx8wGejEPlv+Fli1oppzGkL8RgUXAdSiQAwn6D8N52g6Y0sz3ln9+0979QB
gxeFRaXe/IiyfvG4g3/wd17rgCfiIPfj0KLNA7xvUzyVrtYIgHmHeLry/ZvJsSJD
9iVHX8HmND/Cp+TU3hN9L48JJ9Qlr+TseFVek3oya2zuDT9+juzYLACioEM7nZpx
epyVaWdt9rs70xptSVtka9b2ESFPriq9cxPxQRWgfl+rn9Th+nHG7H1CGgwHmcdX
BArKV6dT20jJZzoYZDYzRuxmLflTXan+x2hWOcfUopQrVDoRrywWGeYgPazO3d8b
syrWNwrNRldOFJitL4x3r1jHFHpl/L8bGNnwR2x8UMsXQbYf5ge2HAQM1Hmxu1c0
8wwnOigpud+Hi7NWrO8tLBt5pKHgOlOvMMbOcID8Usj1a5uDZ6ibbwuTgQStscrn
F0/AhD5KjEn6sj3J9TGt+71o2vG6HXXda6x9fYlnohVREEdwlbOfU5CqSrVn54y6
+1jKKXmYNhq0BkDJX8LdCTfemvExy3e3qUVyezQNJRf0bjwRmAN3HZ0fS4zSmVgy
CzPzbqVnppKMPMF8jfp4FQa4vanvQhWR5blpibVu+CP/XsCgw4XsL6snsVVzaKFM
7DO3ka1N/vLYqjLZLMZCOfLCegLTdZNJ660NPKUuLfkGnQ/b9EmelR/SungqE7KJ
MnQPqtVvJEdDiv+ANiwbD42SgPilx/tRcgDSVdmNowM2HZFZkA+9kAFbvEpM9L3P
RmQa/+sYWkyVVljWIN4Ihz5v2F3pwNxyX4p9tsf6WXW0KFB50+WICRi0lA6S/uSD
v264fkPMefir+MEMINuvMe1mkjl4YNIVvLiiXoLjgj9MfXKXgpAXMsWbEIo8RfFW
1iFrnzcLwXowEzPtzmx3ta7kyjZ2i5ReIuHvFhQ6yy1U2fV8YVF4GkzHtvfjiQ1E
I5+tgrFTbMPzZJ/YHI4sYonnBkFBjx6A+3ozDyhGf6Ol/1X1X/mXDSbzFVOmFn4F
VpNsinjNPxS3zzrQfuhmcxJ9xiXKyKt7/nmNDOCOk+ZrNQpo54WtpajlmR3kqdkK
pulWLv3kitFjjeBeUoK9PXKmUPX5XllShROUwTdfZoLNBZ9vP49dr6s+rjv4Nqoi
NlRyuM+2YA2Tx89NUDra1H+/t1y3rPW0YwIVrsK6UE9CtHZ0YYWgrUoA0w+cjC9R
8xV6qGoXS5dWVtbKt2+7Nn75EALdwXPeVKvlLd5c++5j4g3iT9xCdzICv6A9p1pw
be3zfN0hflvBntjxGaHtrkDrSFxtN415A2tcw9uiWjKFUKmkO+vtw1S2h0y4inaw
Kcnh0N2HvzPQhu4j7mliEm1KP8IUVHvb6zWhGKjP3aBO1CYddu0iDrXm22l5oVnj
Ee81Yn85cz9v/p0bj0fBQDZXRbo2LX4f1VGJFZiSXM5gm9ZqKw86tSolEMt2jrE8
5Jw0LEcQjzBhJYyI3McRZ2Bb5PBS7tJv2wMDpT1k4oqLE6hkCO0qW6Jk0mgyQ6Xo
SNT4yQqdjo3Tl30qhKAze3gqI0wcQIt6B4MFFcoGr/+61y9sm5sF8S9kSjy9EPgy
xbJhHLCbZRqzgyKCAiQW1ltyd6/wjRVUythswVsGhCFlgYtWuzojteO7t/F2SSHK
wy/Gs5iSbImt9SXUTbX1XCs1sYb/9wCT/YD4x9sxPwrx7GU8V+WFjVLDubIIiOav
FK4eidf3/eKq0vyvqKXRXoPnMFrER8Iw6Ouk7VrAdp9/UZFiZd1/ejR4qINQFo4n
i2pppTbcaNWtjrKBsokKN2yQ21lIr6kP4OuSuigknddXRaBmV5JPoqS4XpzyF4/c
BhhTFS6q6axuM6NBpErGxTJR5TYDG0H7Xa8Bze7pyjIgdf8/12LyVAt56HDUpGXd
oaC7EMvuS2OBkTAqu9Wqnk7N5FjeTfgNisVB+CmZAW9GBEU7RSuDgr6bOOrNT97h
52IFMicAGEGqO/igClC2nQ5p/bwFvRHj/tPmN+JUkIL/3ePZR5nMnvIy03jGBqrj
+akLAKIYqyqVk2bsZJbPFgzP8W2VossD5ranZcJpYqY6vRoDhRnVDyYRiSh9MOan
J85UIWKd5zTG9ml1us6BJkzPVEa8wmXkEQT0x5LW3RnZvfZGBLmVWec05WZ8nj6w
a38HkKz1/jvcVIS5Ol00iMxGPWols6zj6WvFaOPRVNUH6p8Tri72SEVLia7h9d0k
i2zbntWKwTA5UDpLDvWmlb9o7WajhSRkPXL01pm4afFKJT6vSocqZbJoCQzS5OSS
ayWEIaeFoX0XW10QSWhbja4Q3nY+jbWEoBsxL7PwJAmh8JwK393IdcUxWB52M4o4
q+jnlkGJVLHEqdvLgTVtxMjpq8/PxZZp4RgNhPoe6lju+M/vvPhX65R2nr9byS0k
CxgtfmRduqFfKjT+bWBpqFTC43VqxwEaTHkPnQ4lZZDHFxX/EeKsZlDMUL4+tGdD
+7PWmZRH8N5zxLZqepFU1nOO1mwT+zJcmCWujXzuQhn2oflK1CvvHSmvsYRdpZRK
M1uKZU9IQe5ZXhXzBE5jteTb3qjuRv/tbmsq+3ad28eILlQ02lU2jxY8H6ytU3mt
UnoaU46ylXDaLOiMiYV/VsADwAJltZqRmBLOVReK+i/5s4wztNZVwye6x91GTcNw
WGa4JB3o4FZovI7Juo3Epe0SIHHU/ZtRi6yNskVKkrGzQLs3Op5c+84TMvb/NeP8
uqkYBK+c9ESUA7ie/Mknqz9bMmC6vXMBAQn7TRItS3kqLjqa0Flk2doCkOU2NuJS
RfqBY1mscAvgCxA4mWD8eTyYSKsPam4Im0wAfnm4/fmo+3aqkYd47OWOhfwph2Yu
skUwzzCIM0WTK7F1SN/4571nMzZYyY+1U5gEokyfhGB6Fs8K8bhhl8FWkWxgmf9e
mwAs9O5omJfk4kUxD9vUOH6SgD/uTQb8kgYed2glVT78v5MW+hhQJGNAd+DkMZJI
rFr9ti2Ahs2pQyDMQXYgXt5aL4J6f9sobefo5PN9hjWhLuU5OX7yHaChbPQsCbKe
+SF6MAfRCDrGO7Rzma+PKZclib5g9sizqE2SovNAoaDbd3s2z1Wuw/EuhEhJ50pq
n+MURfi89w6B+Eqz0Nx0lB2OOlehM2EdbIibk9HWPV5qKOV3+bZpC+jDkjO3CFHM
EbEQb07rFPP/ZdrpY+VB/kdLr2SJHRwPBCPTSXn0frzjv6/OLG1wreDLtvkhxJ25
FxLqZg2i3QSzH2fYBgRAlbp7QzXMajeVwpfRXUBdfH7Dd8ppIMzNqmdQqiLOVqPF
X74wVUQHaW9ITDxTTmgMLx01sHMkkH8jojsjBmZXQyCigj3wfs87xVWkNQT2vkN5
VEIiPnnPW6mJ8x2xAWgeAKWcP9vvaQ9lZ1uccuOuX/ouivmMl//ravQIZ+XTPz1r
BcP0CfU3NSM+RVlxKADO+laD4mdirWTbDal9S0t+QCuMD66EsH42lRH0iuHOVBPh
zjKK7+G6RTR2Mlrh2lVLGLOrh59DRg9X26Pn97R3sAjG1eZR8hc9q2Qkh2/Fq2Uw
mGgL5fBBPX9LRg+30MaQaPCh+CcgI7ZUAT8GiMa/CdsptVmYgeEUdPmjq2wYMX+N
wbULr1S0t/AStBUKi4vHNusVvyFqu1iXU0kLqfnqe6+VKsC/RqEf8EYj4DbSe614
o0j5WXACGqHUV636HECh3Fz1bzk5XjtZXXya07FaqXD438AeZZi8W8htmLGwLhZy
CxNo0cpzQHaB8eJSW6T+jdDmqBh6U5TibXiGTtxMoNXBGW81ccMrAPxicN5PttPH
09OqFQMaA2jLznr0U2APkBaZfwdhLgBoAig8ckBiYr0NRJ2UZgHMM6Yqr1cLKT70
9tBkxDd76ygnGWqnTpDz+pMTylRHJ9mxlqFFdApFI3RzT/vCXPYM+p8SBjzPJ4Jm
xcofzZw2Y2OCnvssMYsnvPv22mAsGvtvyD0KBkOdD/KJ6HVZc7B8NUcB5oEGNuEA
wiwicMF/nAJT0ZtVE9fvXSH17rOQZLBNR7DQ8TfqB4sFcVHSHMocfrtIml1bjIQv
OOiTF5ElzJEqf7x304cbcVI6R8jGljdEn5SwS/M5r/KKI8UzzlwgcCXrOafNDdDH
3nOPkZtKBa59HrqBzN50oZS8stfKIs6YJnWhwdZ/hqW4mLKFRNFY5uHMNNQtpfqM
bUhMBCwpUQsgdbxyTNdtQfDOYXhYfTFMlQgkieC+IWxLmImeLf5Po4Yr1Dn0FiCJ
gluYUOMATIsZ0DVHt+ZeOP35QaviTP1g1YQF6u8oATiVTMc3HOTY6vYW9xz2haqG
W98E5fULykkuUkVkI4ckBkQ2N0wPknrmFBg6S2sdMe1GDxPHtaMobg9i4cNfdqu1
xzaniNSG7VcNnWNNltPlH90SvkbKjExUiPqYBQpju6Bp6dJvpKOFfKgHSSxETsTE
YlWtN2yjCaS60D8GCJG7x2lpZwa+WheFcGxZAbxaZ0rwEaNMbJES0bjzFq+3udm/
JIjLl7NQvPhiEYkOeANgDAttvvxKMmHeEsAC/ZgY2bROOXLLqUovMKtCtK0C3s7p
TlDcNkMVNy9AkGgbTCDlzy4kwM0KXJOeqPACOUsIB4GQIYoh1l8scM2+IOR41qk2
capoS4mT1SDiIw6wnHFKM8AM3QbDFwKnlW4AZOAlsBvpd9bajpHMr4PnnPOdgtCJ
ImE+zKnLgMskFFyOQutUnkm5EcjMmDYOhoBf/+ov3cLgxfex3VQ38NhcOf4XxRbC
2dfB7dbXY8Hdz84+/HjMzdyur8HQBLLujnAPds3T2JZJSporm9btl+xlwbVOlv0/
yBeHJ2+0Uo1pdsdayy7R8VUgOf526yeto30uv2plnBihlvfuEmSquVdktWGsJfuh
dK6QPavx+SBgoXHmlZjXlCRRfYi6tNHjpJmx8/cpQQjiZDcnVfKrlKWyza/83fyB
NFy+j1JyCkvkFPNWYwj7aRqo08gpXrZoRSHN1xlCQUuib2Kk9eohU9PoY5g3Kn9V
+EyuusDToBNpF5prWD4JQhBDbwTRr0iWdd5baeXaYZ4g3SW4Dk1Pq2O2K+I9+ISb
5Mic4crU5GZYwqvWk9L8gzftmTE+0qcJrfmy0SOgo96pBEAjswzdNj5Y+Cni16Oi
6uUpMofWOh04+pargm7AV8bctIj4CijKcUJbHo4jnYxPw+VzjUaw9oy+Mq6mwrXC
vs50jCyrPhe2nUczZn8Fv35mH9PG9OsGW54d0lf5iR27ctPOk48mBZeISk6+LAHF
Lk33lADqkiH4fgHir0S/uxNK6wdBqqSDxVceNJD+0ReKrLDDgF4ZcTytfziPIKJU
2qgc+bWiPJEvVqosEkJBS32lLK6SPjiBONmPrLTsE/DYKkYrcfmEpmYCDuEC4ywg
ZPPjCeSAjCj7Yj7Ky3+JMOKFdN98vY0YZN7NDlX3VZ5IE0W95iQMi7TCUdY7D8bd
/ED1TactGMNlMDykPOx/aUB2snslA2NqC7rHMrrXLIo9pps+WjqQSKpJt3bUkM7f
OAuM4URSePUqyQ+NXT3yKsiGrmsE0HivaratDGSj6RfM2MhoYscx3+GDLle+52GL
FEXYXAwFIU+KrjvgzXGj28luy8ZPXDex9B15ORmH5oLUEEMcmz/gTuki+BojjHga
6210vAxd5rKEVjo5bMQbJXQwpSMUronxaHlhbFKWtXPFhtIvM0aS3varaPxrJ0mk
mncXBZiL7nYGmKLyjBybCQu6ZDVT2ROHW54fZeRne9g=
`pragma protect end_protected
//pragma protect end
`timescale 1ns / 1ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
MTh6YEb8fd47amN2cKNawaQawHld8lPdghxaCndTGXumotjbHWt413hSK/NgcsEo
Gnt8Whe7lgFMcFazYmT08o77uaPY9mP8ImzOr6doHD6yp21HOzTAKEHU93tMh13D
H7s4W/dTurxPSDUL0ipbZxO2VZAj35Pme2xieR4PHJUM7jBgdbYEn+Y/ioiS2oFl
KywnU98yjp1OAHaQ+EEa9TUS25IEaVNIOaiFbTaJX6GYvqIgtv1piLkwfSU3PyRz
bvLUm4CsqqlbZrnuxrc7aAru9jx1Yw+hae1UzJQEJRnJ0xdmSx2wjq6SvVT60BfU
tM7iyI/3vbP39OroA7oiyQ==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 27872 )
`pragma protect data_block
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
`pragma protect end_protected
//pragma protect end
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
GgbHzgThm+pxY8qJAenj6M1nMg+PiGn8p88tojq6cijNwxinCZAmPODaDelUBiV/
7pt9zFVTV7grht3KSqQVNS0NNFR2RViANJyed9qeVdSo+i1niQsqbPxS+dVMrEAH
GLcA4c87U2QITQVVg7mqbwa39eel3uSw5jIs/cPWgUVZwOX65uNekkTj2RtXHhFd
d0pI3dQoLqLefXHWCbn9KLkxN0XEZfWthZgyZS3VmSWHt8u7zaOvBv47vhah3n+9
KhPDKZWleg/lH12jwGNtIA+ITKMLpp85nyYO2opdw1uFpHhBC1eWGDzHbnzEyKPz
1lNcyRWK+pqU/AY4z4Ujwg==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 880 )
`pragma protect data_block
a2PDY7wD+DHw8OF9GdySBvuAv9crSSeitt71UCe4rRD8aRaQ7B7JOb87rVKNaP+Y
P/pNSHeTA0LgZbqqvIaFxo2MZorvxVDPD9t+dcY2+NwzC+guE60XPM7TRfEWjuoe
mCDMlV1FgD1JBxxH98/PCJ9FdWIitffatZK/6h0zBd1y20gPL4NCldEah/0dlzsE
ZYlSpoKDOkf4ffYl6KkI7rK5zPl/obVTsYxOGLgnsUf6KPLFF8wfh092jhr35joP
zJPi36aMCfqrd+EVpO1Ba+4f2HgslYMGhgxzSfiDw5+qDox8mLHJrH6YiIkPecqY
DWXyb9xcF53f08/oAFMiYMqaYQZqy0QHCrNw79H6/E15d6BdVnG7SVmAlaJXlAQM
RB0LmInhsRXkwvijDTY656LDiQHUezuR6a8w3gyVo/IODO1LU8C2HZj4/NLID8GP
/VQhkQDYOCWzMwG4flLhavf8TGaLmmcsLpB30ad2uGLu5GkPCWLw/xu3pPbHtZSH
QvuUOUfXPzCXwqDLBvLC0Q3vQktfghuGVwl+G5IUeoz+79V0RJxBwiugsA+9kSPc
adazmz2dYTZQg3XuS5fEwjW/PpvmI4AO5L/to3aLL7ScLIXVnAFG/RqthmRn8UA1
UBBmFSbYLWoZD9+yYC5Z27zL4cpg3aO6/320kboJd09lPyT9dqU7J0sepyAHbSBe
8I/h4S3KDUpk0ZY3p1dq/+WbAAJbFbysshRIobC36fJEPf61smM2n8MSfy33wg0J
Zf7Ox2L7sy2gRSdjOQdz4ewzRS6FowglhyPo5GJOkEVER5oLRxLwmFtNNZ1Z5kgg
/YQ2hAsi7TZWcksSfpM38VL3yRExRkYApK1//eUdZLGG3B0XNL3kMCvO/w7/UyDv
KyZYuYh3rOMk9HN0unGrAYYK1rq4HRc7d+p04AtPql6+UFkj4u7mNkP6Obll0+Xt
RtzuEQvQ0hZvTswe99AhgjofpEIG/YObN9S/FEHmYwBf5CzOg442K4otNJ9USGp6
xEXuVj4EGsrgId2plsBHWdHiUVPZacoxWIRIEpW3Qy5PXHqYMv4rwxPJAciabt3r
gKxplQKOCbzsgNb+UbbiNSVMtBIAYwgkdUZarHuethhgz5M+fEa+AqiLzEkj5N+5
3W39ohLhggzKXrAnuVk7fg==
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
module `IP_MODULE_NAME(sdhc)#(
parameter VERSION = 32'h10,
parameter DATA_BUFFER_DEPTH = 512,
parameter ADMA_DATA_WIDTH = 32,
parameter FAMILY = "TITANIUM"
)
(
input sd_rst,
input sd_base_clk,
output wire sd_int,
input sd_wp,
input sd_cd_n,
input s_axi_aclk,
input [9:0] s_axi_awaddr,
input s_axi_awvalid,
output wire s_axi_awready,
input [31:0] s_axi_wdata,
input [3:0] s_axi_wstrb,
input s_axi_wvalid,
output wire s_axi_wready,
output wire [1:0] s_axi_bresp,
output wire s_axi_bvalid,
input s_axi_bready,
input [9:0] s_axi_araddr,
input s_axi_arvalid,
output wire s_axi_arready,
output wire [1:0] s_axi_rresp,
output wire [31:0] s_axi_rdata,
output wire s_axi_rvalid,
input s_axi_rready,
input m_axi_clk,
output wire m_axi_awvalid,
output wire [31:0] m_axi_awaddr,
output wire [7:0] m_axi_awlen,
output wire [2:0] m_axi_awsize,
output wire [1:0] m_axi_awburst,
output wire [2:0] m_axi_awprot,
output wire [1:0] m_axi_awlock,
output wire [3:0] m_axi_awcache,
input m_axi_awready,
output wire [ADMA_DATA_WIDTH-1:0] m_axi_wdata,
output wire [ADMA_DATA_WIDTH/8-1:0] m_axi_wstrb,
output wire m_axi_wlast,
output wire m_axi_wvalid,
input m_axi_wready,
input [1:0] m_axi_bresp,
input m_axi_bvalid,
output wire m_axi_bready,
output wire m_axi_arvalid,
output wire [31:0] m_axi_araddr,
output wire [7:0] m_axi_arlen,
output wire [2:0] m_axi_arsize,
output wire [1:0] m_axi_arburst,
output wire [2:0] m_axi_arprot,
output wire [1:0] m_axi_arlock,
output wire [3:0] m_axi_arcache,
input m_axi_arready,
input m_axi_rvalid,
input [ADMA_DATA_WIDTH-1:0] m_axi_rdata,
input m_axi_rlast,
input [1:0] m_axi_rresp,
output wire m_axi_rready,
output wire sd_clk_hi,
output wire sd_clk_lo,
input sd_cmd_i,
output wire sd_cmd_o,
output wire sd_cmd_oe,
input [3:0] sd_dat_i,
output wire [3:0] sd_dat_o,
output wire sd_dat_oe
);
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
At8NDOCc4kD0cT6FYsAsqOLQpaMw3bVfTTiE5FP1gKwP5J3rADYscuAA9znbPvis
MBOXI5NN1IOCBhY8docHxSOtWyofhmco6KiZiSxlTAMnmzRtihgtqcUXsQWTNJTE
7whQH53NWjSMVPv2SQrHMa1RpUZnyo5STupbfD+3UW/HzNlYy+PEUQwYAxlOnG2M
LOVENWcTIh7UmStLPYTtgneJd8aOpL+baFyO2aNiHXosS76QIqvTKZQ17Q03p5K3
i8PCPzCbmM0BxPP9kfJ10GKVxW69hi9fUcUUgGpKsloUh/zrI9OINMKLSkzf1fVU
lCxpq+G9vTz3hl52Jvm2Hw==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 47504 )
`pragma protect data_block
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
g9Kl057h2u2lMOEJgq70VItJ99VW+tFKY0o8l9LKyJa92ZQX3XsSrCQ+nRlxMCKD
r6/KZWWo96AvcS5d2knt+bBJNLmYF9VtS9CNzBL7FuZkQw16vR22eANYSfd1Ggel
PPHtcFNQV20uzqjbj6TReU4KUftRlVi/+6qbFQcifMp0i+Ax+dq75f+qdP/hdNeF
cc8mnNfOdtgzvYUEdHErZa4cD5FIvWpPmCna2dUDyrx9qGnUcM1i7ZPuPicztytl
m9dO70SEaTTexJGpHABSBR5s+COzt3ZgbzHaQZRIBQGrBmvxxVKQythOhYB5+k12
XeAlHYjq0tK0AUfaEBXGL6Jo2B9dGOA4oVZoPOr42JmVSCTiTnTqQ2nIJ2QghPlT
HM+IiJ2EVQxxK0qUzaGYqzhlrRfmtBSGR0YUSMxdjJ1qDghhaVDFc36hvwPHJKh0
R/sjuL7GbrtsrP0u7aHym/WW+kUMzjDKNS+R4PUd40L13M4NxN7OnJj65cWfc4gP
5vTPwMq28CEM8Bzoh3ZM3Hx//iYgNA2JyStsWh7V86RB6G4N5eDyoW3+Qch784hq
fyb18lNgjhRoZItQqG2/EqNfZIeobyVO4703Q8arNS7AXWeFD3dx9DVfzQ2/f151
eebY5tMV9YSnxsvLn8y1ZWa3J2ScYLOPMRqxx8wFAN+eGdnF1UfKm/eLA6TIgrbs
YEpVk5KjluTD9b1lkuVadmyOBV+s2YynmbqZ1hg185TiT4wM5YRcPmZZXkXkOMAo
XLX7wkg1XAU+Gk+P+aPKNZeiXSGsNN0+7xreyiU/x9CsA0P/DUvQFDcaBZxMQKrK
dCJ5XrsiPZDB0/xCztaMzeOHLNIS96HVzJRCH2JgHBrWXIhBHPKGcXMTuS6yhy8V
YjMvPfqft5RrjQXMbz2yv1lZuKRb3S0DM6W48DX+D6jbU5Cw/b9YeIZwaAViCl/8
wqFo2r01Eo57ELkhVes/KJvmiMPSzOXFYweUzgPGYrtO1yrGPsomiPdd9NOVy+eF
hUDZB2EgM1+u9JbfSLQIB0M0wr5LkyCksOXSnkaCGqbqOuFljwoyTPT6uNV1JffH
d6T4sJbWLkK1eUsUi1p4wUpled3kfpKxAF0z8aC65f4+5mnlc3iz8a7OGzVJLIlT
HrBl7QBdPxD2aIKMrUriF7ezrWNGS1FaGOcIVmlP8onumsY9YgCA5cOa13bGCunI
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
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
J7KosW2ykKi5EFdAMLz/gyhLImwj2gD50cyEdEtO9kZx69ZgsPaqC2N/Cju0QOVu
OHSsUW3EwVk2dnUxhFc96WyyvuSeNjGSIjL+g0hg7h7U19HwGkjyDWXxI0FszAgU
8MtLn0zyRn7rDX4WKBW6e0eKZyxA+4TEGoEs79gD5JEm5GGH/XXqYNlNZhIY7AnO
PM3n/egkRGqxUxmVys4D/HKwWQJqiijl51581+v420/SeIz8g33QCnsj+FVv8FQY
rG0UviGcyHwANSYYV758eDBgsPuT0uRiqdzQaml7Lr1tI9riDfjD2N92Ga/lsJ2Q
1vT8YIB5wgEhiEjyQJNk8A==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 2848 )
`pragma protect data_block
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
o2AWhMH0WmP0QLXwjMSvXA==
`pragma protect end_protected
//pragma protect end
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
Qd0gHlsfc/XIgslwDiE9K9yr3xlKZY7dRCEA4nolcKqvt+nIsq3FL92/SaoeJGIo
CKSXu7GbU3S4jqPDe0b6FxNbar2owJoFHYDQnYxbcO647ljaPpBiv6x03zTZQgpB
M5+cIbxDDXPyUwmRJLwZAuQE/U8ywGMFDSApNib2YZPLO6URh/xvjhMIO4/ityTH
GRv9t3xhHHvyPfGB2Oa10v7Y98IptlsmWMPEg/cI/gRKKUNcEiTJqTmMFYUELkF+
5iWuLPjdOzB9CLSbubxWA7at8ubRp5/EFs8cAmvD+yzglC9Txz5rkR+x3ryQkXzr
7HxEV+XcVvxiezPBQv4Sog==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 2528 )
`pragma protect data_block
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
`pragma protect end_protected
//pragma protect end
`timescale 1 ns / 1 ns
//pragma protect
//pragma protect begin
/* Encryption Envelope */
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "2021.1"
`pragma protect key_keyowner = "Efinix Inc." , key_keyname = "EFX_K01"
`pragma protect key_method = "rsa"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 )
`pragma protect key_block
DOiPrSoOsOWFMnUIePF5KkkuP9M9CD3sIOJUMse5YjGpsWljrKw3wVgiaNNbbKIA
tZZ89fOVGIkVEtqDKovfN9hhA0AvJ8mf4/+brMg7PR5hv4fEfoTvaSiSOjxminpj
hDAU9j9J0EeKG8IbY8UBCawYm3GdcS+QXpoDDPl8pGbWFzEtgpqHwLPNdotkODuL
Cy/jYYjISPMG6+XBTCDGPlB5wHTuXk4r+btUx0HJQC86NboLhzI5xocnTZkES5xw
eOtqkXEjljvu/nu/NhhumVFQWtjfe6VAKlLnz9mcqkTlGcJBfXBEcJuVurHCods7
hizyF/UB7hJKgVj5ZWx4uQ==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 13568 )
`pragma protect data_block
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
`pragma protect end_protected
//pragma protect end
`undef IP_UUID
`undef IP_NAME_CONCAT
`undef IP_MODULE_NAME