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

1270 lines
71 KiB
Verilog

// =============================================================================
// Generated by efx_ipmgr
// Version: 2025.1.95
// IP Version: 5.4
// =============================================================================
////////////////////////////////////////////////////////////////////////////////
// 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 _c22db128920343a0ae5b4fc5c7fb0e16
`define IP_NAME_CONCAT(a,b) a``b
`define IP_MODULE_NAME(name) `IP_NAME_CONCAT(name,`IP_UUID)
module gTSE_1to2_switch
(
input rst_n,
input clk,
input [0:0] s_axi_awvalid,
input [31:0] s_axi_awaddr,
input [1:0] s_axi_awlock,
output [0:0] s_axi_awready,
input [0:0] s_axi_arvalid,
input [31:0] s_axi_araddr,
input [1:0] s_axi_arlock,
output [0:0] s_axi_arready,
input [0:0] s_axi_wvalid,
input [0:0] s_axi_wlast,
input [7:0] s_axi_wid,
input [0:0] s_axi_bready,
output [1:0] s_axi_bresp,
input [0:0] s_axi_rready,
output [7:0] s_axi_bid,
output [7:0] s_axi_rid,
input [31:0] s_axi_wdata,
output [31:0] s_axi_rdata,
output [1:0] s_axi_rresp,
output [0:0] s_axi_bvalid,
output [0:0] s_axi_rvalid,
output [0:0] s_axi_rlast,
input [3:0] s_axi_wstrb,
output [1:0] m_axi_awvalid,
output [63:0] m_axi_awaddr,
output [3:0] m_axi_awlock,
input [1:0] m_axi_awready,
output [1:0] m_axi_arvalid,
output [63:0] m_axi_araddr,
output [3:0] m_axi_arlock,
input [1:0] m_axi_arready,
output [1:0] m_axi_wvalid,
output [1:0] m_axi_wlast,
output [1:0] m_axi_bready,
input [3:0] m_axi_bresp,
output [1:0] m_axi_rready,
input [15:0] m_axi_bid,
input [15:0] m_axi_rid,
output [63:0] m_axi_wdata,
input [63:0] m_axi_rdata,
input [3:0] m_axi_rresp,
input [1:0] m_axi_bvalid,
input [1:0] m_axi_rvalid,
input [1:0] m_axi_rlast,
output [7:0] m_axi_wstrb,
input [1:0] m_axi_wready,
output [0:0] s_axi_wready
);
`IP_MODULE_NAME(efx_axi_interconnect)
#(
.ARB_MODE ("ROUND_ROBIN_1"),
.S_PORTS (1),
.DATA_WIDTH (32),
.ADDR_WIDTH (32),
.M_PORTS (2),
.ID_WIDTH (8),
.USER_WIDTH (3),
.PROTOCOL ("AXI4_LITE")
)
u_efx_axi_interconnect
(
.rst_n ( rst_n ),
.clk ( clk ),
.s_axi_awvalid ( s_axi_awvalid ),
.s_axi_awaddr ( s_axi_awaddr ),
.s_axi_awlock ( s_axi_awlock ),
.s_axi_awready ( s_axi_awready ),
.s_axi_arvalid ( s_axi_arvalid ),
.s_axi_araddr ( s_axi_araddr ),
.s_axi_arlock ( s_axi_arlock ),
.s_axi_arready ( s_axi_arready ),
.s_axi_wvalid ( s_axi_wvalid ),
.s_axi_wlast ( s_axi_wlast ),
.s_axi_wid ( s_axi_wid ),
.s_axi_bready ( s_axi_bready ),
.s_axi_bresp ( s_axi_bresp ),
.s_axi_rready ( s_axi_rready ),
.s_axi_bid ( s_axi_bid ),
.s_axi_rid ( s_axi_rid ),
.s_axi_wdata ( s_axi_wdata ),
.s_axi_rdata ( s_axi_rdata ),
.s_axi_rresp ( s_axi_rresp ),
.s_axi_bvalid ( s_axi_bvalid ),
.s_axi_rvalid ( s_axi_rvalid ),
.s_axi_rlast ( s_axi_rlast ),
.s_axi_wstrb ( s_axi_wstrb ),
.m_axi_awvalid ( m_axi_awvalid ),
.m_axi_awaddr ( m_axi_awaddr ),
.m_axi_awlock ( m_axi_awlock ),
.m_axi_awready ( m_axi_awready ),
.m_axi_arvalid ( m_axi_arvalid ),
.m_axi_araddr ( m_axi_araddr ),
.m_axi_arlock ( m_axi_arlock ),
.m_axi_arready ( m_axi_arready ),
.m_axi_wvalid ( m_axi_wvalid ),
.m_axi_wlast ( m_axi_wlast ),
.m_axi_bready ( m_axi_bready ),
.m_axi_bresp ( m_axi_bresp ),
.m_axi_rready ( m_axi_rready ),
.m_axi_bid ( m_axi_bid ),
.m_axi_rid ( m_axi_rid ),
.m_axi_wdata ( m_axi_wdata ),
.m_axi_rdata ( m_axi_rdata ),
.m_axi_rresp ( m_axi_rresp ),
.m_axi_bvalid ( m_axi_bvalid ),
.m_axi_rvalid ( m_axi_rvalid ),
.m_axi_rlast ( m_axi_rlast ),
.m_axi_wstrb ( m_axi_wstrb ),
.m_axi_wready ( m_axi_wready ),
.s_axi_wready ( s_axi_wready )
);
endmodule
//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
k0MNGAL+siJuDYrFA58rRJscMTUE6hiuNEylu7uA+mdVk/vCPJpUprjqZIgJ75i6
csRX146zVh4AUQABC09rbvto0kqPbqsZwZGmdOm1W8NmGZIXLCsG4MZs984TiToI
QMOSc+XFr9GVx1rFODfIQCsRVOla6WZCpHrBZzFjmFwY4t9fXFQCs5fSkNbGyG6v
8YDvdegFPMYp5Qu9ccfxeosyrpdCBompAmWscbYmzMrmyFiInvb8Y5dyqCuve1NW
jirl6fz1954ypdomnZDn+X9k8zTCJAxovyf9Qxk6Q+/Pf6e6yRqEYBxT7dtZhWRG
tEQdKP3bt5KBf+EuwdVLuQ==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 9552 )
`pragma protect data_block
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
`pragma protect end_protected
//pragma protect end
module `IP_MODULE_NAME(efx_axi_interconnect) #(
parameter PROTOCOL = "AXI4",
parameter ARB_MODE = "PRIORITY",
parameter S_PORTS = 1,
parameter M_PORTS = 8,
parameter ID_WIDTH = 8,
parameter DATA_WIDTH = 32,
parameter USER_WIDTH = 3,
parameter ADDR_WIDTH = 32,
parameter M_REGIONS = 1,
parameter M_CONNECT_READ = {M_PORTS{{S_PORTS{1'b1}}}},
parameter M_CONNECT_WRITE = {M_PORTS{{S_PORTS{1'b1}}}},
parameter STRB_WIDTH = DATA_WIDTH/8
) (
input wire clk,
input wire rst_n,
input wire [S_PORTS-1:0] s_axi_awvalid,
input wire [S_PORTS*ADDR_WIDTH-1:0] s_axi_awaddr,
input wire [S_PORTS*3-1:0] s_axi_awprot,
input wire [S_PORTS*ID_WIDTH-1:0] s_axi_awid,
input wire [S_PORTS*2-1:0] s_axi_awburst,
input wire [S_PORTS*8-1:0] s_axi_awlen,
input wire [S_PORTS*3-1:0] s_axi_awsize,
input wire [S_PORTS*4-1:0] s_axi_awcache,
input wire [S_PORTS*4-1:0] s_axi_awqos,
input wire [S_PORTS*USER_WIDTH-1:0] s_axi_awuser,
input wire [S_PORTS*2-1:0] s_axi_awlock,
output reg [S_PORTS-1:0] s_axi_awready,
input wire [S_PORTS-1:0] s_axi_wvalid,
input wire [S_PORTS*DATA_WIDTH-1:0] s_axi_wdata,
input wire [S_PORTS*STRB_WIDTH-1:0] s_axi_wstrb,
input wire [S_PORTS-1:0] s_axi_wlast,
input wire [S_PORTS*USER_WIDTH-1:0] s_axi_wuser,
input wire [S_PORTS*ID_WIDTH-1:0] s_axi_wid,
output wire [S_PORTS-1:0] s_axi_wready,
input wire [S_PORTS-1:0] s_axi_bready,
output wire [S_PORTS*2-1:0] s_axi_bresp,
output reg [S_PORTS-1:0] s_axi_bvalid,
output wire [S_PORTS*ID_WIDTH-1:0] s_axi_bid,
output wire [S_PORTS*USER_WIDTH-1:0] s_axi_buser,
input wire [S_PORTS-1:0] s_axi_arvalid,
input wire [S_PORTS*ADDR_WIDTH-1:0] s_axi_araddr,
input wire [S_PORTS*3-1:0] s_axi_arprot,
input wire [S_PORTS*ID_WIDTH-1:0] s_axi_arid,
input wire [S_PORTS*2-1:0] s_axi_arburst,
input wire [S_PORTS*8-1:0] s_axi_arlen,
input wire [S_PORTS*3-1:0] s_axi_arsize,
input wire [S_PORTS*4-1:0] s_axi_arcache,
input wire [S_PORTS*4-1:0] s_axi_arqos,
input wire [S_PORTS*USER_WIDTH-1:0] s_axi_aruser,
input wire [S_PORTS*2-1:0] s_axi_arlock,
output reg [S_PORTS-1:0] s_axi_arready,
input wire [S_PORTS-1:0] s_axi_rready,
output wire [S_PORTS*ID_WIDTH-1:0] s_axi_rid,
output wire [S_PORTS*DATA_WIDTH-1:0] s_axi_rdata,
output wire [S_PORTS*2-1:0] s_axi_rresp,
output wire [S_PORTS-1:0] s_axi_rvalid,
output wire [S_PORTS-1:0] s_axi_rlast,
output wire [S_PORTS*USER_WIDTH-1:0] s_axi_ruser,
output reg [M_PORTS-1:0] m_axi_awvalid,
output wire [M_PORTS*ID_WIDTH-1:0] m_axi_awid,
output wire [M_PORTS*2-1:0] m_axi_awburst,
output wire [M_PORTS*8-1:0] m_axi_awlen,
output wire [M_PORTS*3-1:0] m_axi_awsize,
output wire [M_PORTS*4-1:0] m_axi_awcache,
output wire [M_PORTS*4-1:0] m_axi_awqos,
output wire [M_PORTS*4-1:0] m_axi_awregion,
output wire [M_PORTS*USER_WIDTH-1:0] m_axi_awuser,
output wire [M_PORTS*ADDR_WIDTH-1:0] m_axi_awaddr,
output wire [M_PORTS*3-1:0] m_axi_awprot,
output wire [M_PORTS*2-1:0] m_axi_awlock,
input wire [M_PORTS-1:0] m_axi_awready,
output wire [M_PORTS*DATA_WIDTH-1:0] m_axi_wdata,
output wire [M_PORTS*STRB_WIDTH-1:0] m_axi_wstrb,
output wire [M_PORTS-1:0] m_axi_wvalid,
output wire [M_PORTS-1:0] m_axi_wlast,
output wire [M_PORTS*USER_WIDTH-1:0] m_axi_wuser,
output wire [M_PORTS*ID_WIDTH-1:0] m_axi_wid,
input wire [M_PORTS-1:0] m_axi_wready,
input wire [M_PORTS*2-1:0] m_axi_bresp,
input wire [M_PORTS-1:0] m_axi_bvalid,
input wire [M_PORTS*ID_WIDTH-1:0] m_axi_bid,
input wire [M_PORTS*USER_WIDTH-1:0] m_axi_buser,
output reg [M_PORTS-1:0] m_axi_bready,
output reg [M_PORTS-1:0] m_axi_arvalid,
output wire [M_PORTS*ID_WIDTH-1:0] m_axi_arid,
output wire [M_PORTS*2-1:0] m_axi_arburst,
output wire [M_PORTS*8-1:0] m_axi_arlen,
output wire [M_PORTS*3-1:0] m_axi_arsize,
output wire [M_PORTS*4-1:0] m_axi_arcache,
output wire [M_PORTS*4-1:0] m_axi_arqos,
output wire [M_PORTS*4-1:0] m_axi_arregion,
output wire [M_PORTS*USER_WIDTH-1:0] m_axi_aruser,
output wire [M_PORTS*ADDR_WIDTH-1:0] m_axi_araddr,
output wire [M_PORTS*3-1:0] m_axi_arprot,
output wire [M_PORTS*2-1:0] m_axi_arlock,
input wire [M_PORTS-1:0] m_axi_arready,
input wire [M_PORTS*ID_WIDTH-1:0] m_axi_rid,
input wire [M_PORTS*DATA_WIDTH-1:0] m_axi_rdata,
input wire [M_PORTS*2-1:0] m_axi_rresp,
input wire [M_PORTS-1:0] m_axi_rvalid,
input wire [M_PORTS-1:0] m_axi_rlast,
input wire [M_PORTS*USER_WIDTH-1:0] m_axi_ruser,
output wire [M_PORTS-1:0] m_axi_rready
);
`include "axi_interconnect.vh"
parameter S_PORTS_WIDTH = clog2(S_PORTS);
parameter M_PORTS_WIDTH = clog2(M_PORTS);
parameter M_BASE_ADDR_INT = M_BASE_ADDR ? M_BASE_ADDR : calcBaseAddrs(0);
parameter IDLE = 0,
PORT_GRANT = 1,
ADDR_DECODE = 2,
WR_FORWARD = 3,
WR_RESPONSE = 4,
RD_REQUEST = 5,
RD_RETURN = 6,
DRP_REQUEST = 7,
DRP_WAIT = 8,
END_WAIT = 9;
//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
f0DVmU/kdU862C3ryhjQlDsM4c/0bG91GM/Tt0YfOziNIhVBbdZsoYW2RTSSEC81
yNXUBt7tFmZq4YDopiOye7MWsFmf8WWRQEL3slo6DkYqzPlqCgnjys82AVws5Cco
WGW89TXAcQAYHJy7oG8Ae9oSMdLa3PIQNp7mSA6rz4RhAKHQyvxQU3wr0zXDmYKl
CeyI1ZIu155HAUZL2bXguauGtJWtwaTXIrQO4i5/hXied5l3pm8lCdXsKbM1Enxx
V3E/sk/RBAVETx2fmYxracwCdN363LHRvYHyP4b2qkmUndhj47mK2s4d6wc/G0IJ
HQRhooSUf5bQscVy4yyOxw==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 24464 )
`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
gQ+VauIuH+g40FNOpVzoPSXPaSSXzZWh6rE+e4zt/Higof5lTVqndEO2y+vyS/HT
Uz3/xsHmLa5/hfJOzrQ2WAbWJcFOc0pzmbDqYnUgEw1W4IUS1qcjifpXTLdxvwfy
rSWd00QRecQN7v+pyLFb6xf5TELzzsB2PAr6/xlRVs03sGcC8jpFMP1gppLRrh+C
xnDjMIBVdGmu01tJ1gcEY/913addbws7HLgMcMDLft0U/4zTbjE/rrDoC7+eO+3k
z9ZPUNkRvEPxurfsVZfIuglJuZJSqyaB+Khmc5Q1nMDb9IswcttQUM3RtjEksR13
Y4OcKLh/ejWsVorB6JLJeA==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 1312 )
`pragma protect data_block
fo0JdXfIQsWgrENhFGo0RRW9s/IV4eGBK5upzSxFjRkxTj+wCit1QKkd15jJgDu4
P06Rnw+P2/Cu/tkXRjH7RGfSCa1EZ08cwLiSykEmyb+qQo8wTkOBh8KIag5m0P1t
XTuNeK4lZP50EUwL/4wSSMPuRtdpIAF+0PAXjdoge2gwhduxtVQZpgPO12dwk0Wo
Qyfuxrm/7iyjiETt18QCBk/PXC9JLX6a9hmtr8ujb+7IKQJFj1S7F9WxCZ1yamDs
e1D+l34aYZ5r3sBbAysWrg65oN3fAAd6bhptfeU2+BDBA8oKIcTClBK2f3pBUPul
8YV5xUU0+FGat/Rjkm2ZmKKpm9JD+w7ufesbJ2fqRCCex08yynx+EuV6lNupQQk3
UbxIK2+04eVmLtY7V87103cxyVnLFXqAQY3XaG0AWBpO2Ew1NwH6CU4yFpyUAC84
Bjztc1mHKONeueopzONq61tRDqarI0ex6IhDy04D9/zAOhMyBrEHzeR0UozXtK6Y
TB/qqFBgJmagIMQWcL03s2FYWQgGUU3PRQ4JiB57ubJG6H64M9UJUMXI7VXW245F
S0oLuBSWchTwY4/6zvioNieoCZgdkxOTUqHNuV4Zf7Epcgh3IQIZRzjBSpah3skn
kQwLdkHYbh3EzBAN0L4lF8u4LE/8SqwLPpsl91D8Qck2jzgNTYnbsG+t2tsum6n8
wYvw9H2G6SCXAimDrg2Qy66lpdDA8XQf+1Pu8sYKlEd3GH9lQyGX+l4gx3OLuOtR
fAlYbOhHnFRDXMNE9ZG/I8VKDFToJD1/SjoKUnrz4TdMcQZn3Asrj6LyXsw5CHgd
zhf60BREHK5nXIJRGkqTlV0OyCbaEe0yTgmpWapYbnUcpX4UNu07ijUdSbUBReil
f2PULQwchd1Nh+nj49FyRm0SU4twHeYIMoSC2sMtPiJkuqAZPugzpBpKZUPnKzDd
VmHxPV5Fl4haVbGLfQj4rfl6Mqpqk2DLOiPmwiXnf7CTAjpnwNQ07KsBw6SKxLAe
YS+1RZFe1JQTA73Dv+hAjOEby2uC1tz9V61abAakI4omdhXK1WBGS7AW7VIkOhsa
U2d43C1vqygKdJzTQVB3SVqswMzruIiClRGEypfl8F1L7BIegRA7y6KJYY2lQ69u
7eDX8XmDYmXDiWgXqtWRALbhHrDi8EwOCp5Tts6KK1q+HZNB6UjiGUrGZ2/EhU4H
rNhfbS8YD9wTQtEs/QCi40wIeLIYjIf429BBIRU8k3na6ZwzGLdfxJnqsRLJ6E7X
aCiJk8iag4Wfv0HsAb9J8vDUKzzLHS5OYlHmEss6CTswBAYs7u8/UF9rlfvXy8Mb
z5tfh7xCXqOQpY1gF85w0agvdFKLhhUzfB2Y/XiH+P9zw8608Q4B2irkUuj0fbhU
/VGCOg52ghhNNkaio6JDtzCj/4nMf3QJwdYnJNTiSWLmN/D4rgU8FE7RObm2foEA
5qemSiCt9nYnRGtaRQ0jFh1zieourorN3TI49Lfh/b++M/Hq8OUZh7Uxs5ni4scB
RqEGxATE+29gCCCJ1S3HVi7fcit9xh2mupZnT+m3qHM+Jt01sv59AUJ/UFx/cNYz
qo1oB/NkzOstxVDMlcp8bOO+elF1X4n4wKeC0g/eMM8C+ffQiVT7Rqh2mYLgXQA7
BhBS+E0RB6UhkxYPnRFEgtk0VLL54VPEVDTINYlLs+L3ZsWwYJs39Gen6vvvepYy
bujDTnnouQqtvD9ok3pkbA==
`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
TpRHXtmr81JyoWaAtQOsoLu44jF5UvFDPdO5/CllOd3kdY7PwU2fkKx7bS6RlGe6
282Wvc58pPBGh6uImNRfZkaAKTaspN+giuR1GHAo4nfIKi92dgY2DTW5JbEU67ml
1IGNiK4su606fm7n90PZ69MZadoZPNpUxZxzYbSs+I39eZWsgU+rtoUE2d35qjdW
UyorSD+O2F5Wv51CWlcWJyscNK886BFGFi72CtEY8IdYcolZ7hcONOhQT5jbhGWK
UFFTqjnMO6iVrEodujVvUgcUtFQSTl5/oHSkmacP7CSADA82+06uIHf+rByqHGTp
JNgtSAVN844IRP39n4T5EA==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 1200 )
`pragma protect data_block
dW2N/rFxim9wkWiMqoV2KfFOb7ryaosiEjsKQ5d9XAY99bfh9dHXfxBwbIc/m/4e
C1jjMt+51lGF8ncrYuentPA6MwNEfk27Jwvqv9/Trdq+kOdiWuYmhbZxfJC2L3WJ
BzjhoC/o2ZNSFpgmDKLxln0/pf6iM8sUIldzujq1RDEv/fZvcQ9IXZ0c0cgbXEWf
SfOaD5E2qBGsljqkzqzIKjaiTPnGPsKJ6cZ41jLGbcm+AcbSk6th9Vdeim0hCA9t
HjX+E+Tq77j/ivdd5OuzAehdPAg3IiMJTQxdTNsI3km5GzvomnmxK+pG8L9aCaAh
o+hCsSXZD2QyVCRFZjVT4s0ltvRto5PgSDzzqm1N69eUDE/spFnroMx1TQCLbjBT
zS0w4mCeLkzFlxc0DJduqQlnRMlA8AnBFujD/Q2OAdVMSHQC7YscXbPzF31GPlqx
Eg2t/VyotaMLOGG0wG7ax43UokgdGbSuphzh14sCh3ZSbPueJQLw2MQwK5M2gcvg
/OCrpP6ZQDt10hFz8i/uLrgNIWA93ZzqujdUnYXBBCwUzRJEyHSLnlXX6Ko3rzE5
ct8FuQPGV8vF+t6COL2nQ0qaq+23R5E5PuFtEMyRrDT+p8iXZasw8RECO0NyVnEE
YuX0T1i6imJS88oOkLq+ywGLgMFC+4O26DIlpPh4+UJ/fnt/pVOADhugk3UeF+QA
ZDR1sgxihCZe9rP7QzVpjm2tDiaPt+fklsKWPprWH2eAiuNaia9mSSHNYGF2x2lD
9h3FKeV/2LSUG5mOvvl3sgKhV2fY0MuldurIH+utuZSPbknY3sebf3BKCntClVOm
6zvNgcnFtvD2+A79A8sltui4gm5GYPS2b0YDfju51vT0iTsCH30p3LWNEG/zEtf2
48bHsr15Z/CgHdw169NsY8B3V8RHxaJP+T6zbPLBjVmRFbuTftozxf/dv+m7Rgl2
3kmwmDxauFLyklSGjQ352H678ASYS37eMG1wvn3akQjYEAsrQTdi1sxmk6SACmSb
Ko7v8gOZpn886AO3O4V3iIggxtfGIfRMtOXcoEIX6dRl5GdFkcASHigHwoV56yRO
tlfJEHrrKLKbmqhjLMjDz5jTptQZfwCjZGzki/PYImxPv0ay8+PTa/qXEaJEMsWZ
vWEGZGSO9zphfmPXEJI+qF22X0dYlKGn/U8rzBEsdcxIXyGWQwBJvbo+GhnPURiQ
i1MJHwfOEDztC3XemmsQeaMuSDWZFrnOKXuYkOBj7tD8ir7vJOor8isvwQUz9LGK
g5Vx+0HdaBgE32QEZ/NjYA1V6bM0iUHz9e9qzEVqN/kRww8HFXA6SnpD5lz6hyxy
jFVRtphwYQWmSzwLvFWa2AYQuI4xjU7tJKOCZRqxjD4hiIkjDK6/K/01Gk5QL/3K
12xoSmqSIZRHwxFGBoHiuBmy+wBhSdqqIOdJ/OsoBT+1OwzQ24l0CRjfAk+zBdVi
7A89GoA5JGSeX8OCJopZvuJ/kEWBUL+l+AU3S9Z4l0uVYybFXE7WXuTNCWRjCQFQ
DmofPA/+XPmyr1MT/3DpFQgnMN00C/jJ1eRmmSntrjCcYaPS0vX117igGa1YWfcD
`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
TBCX5/gAT5S6xdVBuY05hYDsXmHLnm/0Yl4d4ayUlKrDe3IUWB3JcRtZJEwtIwhQ
wqO6qIYs21XvVt74eCxdt1SZXHRXXJiT196fD9q5vFrJxAQqeTDvH51bmshhKW+i
DwXpMTwZlLgBsT2BEP5C0RiiICy9chJTycHB7vHEh6lTXT6S/2H7bweTMlFCh6s6
n5aHgBbfjk9BYIUSTuEvOxw9Yki0T44zjqGmjZ3qxkhk5Rae8iPLqCnjRTjNfqOE
zQtaoVQW+8NbATVUmZC4WlgxF/J03hq0TLeqLYfcuWR0uH9vLAWsUzHqlGMZvUSV
23zwmB8p0BqUeaj1cllyzw==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 1984 )
`pragma protect data_block
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
9Jse9KsUSQdI7bnqvPdYIQ==
`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
eiP/26NloMbfJbEe1aU/cN+AkTVidxKZaNv824TVZXkpjf5L1zEVLf4buBzXwSr1
MiO1FaB1qgL+ZgKHLwNzc4IiIP0d7qYOaGR46jDr8/k9N2BVxXC3V0wJJ6yhDom9
O7B9d2Lcm+b0UifdEaFcX3luTwZzXAQW83Bggnm4eVP275Vqog3REHo5wgsstEU3
AG6o+oVDnNjZTPDPyJ4uHq9bjFFyvY3ga+lOo2iVymecnhCiRtjy3AFtvWBJW0ek
uhj8QvNYf04TXkRXdhdRfq/HDLr3M6Qa7/Xn6vGE+drFyRTL1nmH9wkjBBbD3swn
58tiwvvx3ajgMOCJeXfrXQ==
`pragma protect data_method = "aes256-cbc"
`pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 1104 )
`pragma protect data_block
z83CFN/6+XAqqlsaR10y0/0TRdqihm7Mln1SErDagYzHq/tf3472iVn71ufDnRwX
XjpfuAMiYkGYL+YySToA+S247ZqaWHze8oceixrYgRvhox5tY82fxq9Fl8kghDLv
SjC2MS3eD6cYQeQLFqzD1Mn0WKOQZFVCku3VAWFB2lduR5mhayfY/Fa3R/W72ABn
Z0d6Zn4ZBsgSyb/M70GpfeksPL4x3rnLEOyMOaWSU6+bpfwlHv6gwzh9HPzLZxVy
08g2U6/uxm0PBfE3o/LncY5k29GaWHkcOHv6VhXh/m8K01MJZqFeBphDIArYoxxq
PWDxAO8AUxxtI14Tgpa2V285dFMvK+4KnQioTwi0kMw0x+o+AprykzkXPkE/VVzK
KXd3WO23uskN1uRWHMVa+YBeVjuyFSDLn3GxfHH9tkFDow1kssYW0TqHWs0aqHah
qnNS7hoeJjqPZiowmyQrmDxNCJSTzH8quhzu6sXOHqjuy3hV/M2EY8gngXNAKKsb
WbOvs5QeFheEcLGYrod/Zfv9aZk0e3y0m11vKOyZVQVGFJQzc1uQ0fLjWrpSt7yG
qya4/JgJ8aoha2vBdN7gKSQ0jQBRSMhhOkv1iunq1iT+1ZETzOdrs32w7jLu65tq
rkZk2Z9PlyyFm4XlIu3ljYIH3Z1F+BdPGXiUKHiLhEHanApDED/zljh7BDGApCKl
t1zRJJjZMckJfWQclrLgdXSejbEhZFqHfgYNQe4ywo4o/SbWaqGvPgahhDBBVxZV
rvCFFNip8ka1YAIM4x0DqYw1pSFzn0sUmEm44Jl+Eo4D5chLPEJnYyAjsKm0nIFa
We3J6DKurh1q/PmPYqN51Vno2A5tlFLR8v6SH4m4qu3V3skZsRF0vR6BGx84VdVj
bN8BlLOwDEGmTO8UZpg5knVPN5bAfvf/kXvbSbr8KPR5NBZRqz3SXFeMxZYBPfbj
GI8S5ZZZeq5AvybyDwwt8BHWypNkKlsr+UxyAt+phMEA8F/U9gAt5r50llYjO4qu
5tLeotWmT7oFHBktGytHHC+gKwtWEMsJLm7+744JbDfnMvdHRr+AQgpYts9jdNY6
guxuay2WoNBpjmE51Kq8M1xXeO6beJN3h1JAlESUfz7eFKkE8Vkr5Jg6ccn0KUsS
ZZmNyAaAta//k2mRELcX5bJmUCCHy7lAgQBjtv7XZBfyULC/eXy3RUO/ar8/VQKj
wwOLkv6PJN1DfDlpZ+oswIslScrN1ijU4t2buGKO8zI+cQCpYuC9FBN8V8chHOZw
//0ODvW7AEl6D/OUt8ZC6gUirNCSFRQjXz5x+MOrJPH54wUb0gmtQRPSsbnbcm8g
r+J90t6Fz+FSggPmyNbgv8Z+eWprb5Z3QuqJaQlTYxXGJYLXXwcTjZP3Sf58Vd4Q
9PV9zVG1BxTwV5hFTLJrTkIFGs6wyF+96e+3TnhJKuzZ4Qgf0XJPp9crAdiNtxfx
`pragma protect end_protected
//pragma protect end
`undef IP_UUID
`undef IP_NAME_CONCAT
`undef IP_MODULE_NAME