//////////////////////////////////////////////////////////////////////////////////////////////////////////
//// SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
//////////////////////////////////////////////////////////////////////////////////////////////////////////


module odd_even_gen
  # ( 
    parameter D_WIDTH = 64,
    parameter PIPE_DEPTH = 3,
    parameter SORT_DEPTH = 21,
    parameter RESOLUTION = 1,
    parameter SEL_WIDTH = 543
) (
    input                  clk,
    input [D_WIDTH-1:0]    din,
    input [SEL_WIDTH-1:0]  sel,
    output [D_WIDTH-1:0]   dout,
    input                  bypass
);





//put a blank line above


`pragma protect begin_protected
`pragma protect version=1
`pragma protect author="NVIDIA"
`pragma protect author_info="HOLOLINK"
`pragma protect encrypt_agent="Radiant encrypt_hdl"
`pragma protect encrypt_agent_info="Radiant encrypt_hdl Version 1.0"

`pragma protect encoding=(enctype="base64", line_length=64, bytes=256)
`pragma protect key_keyowner="Lattice Semiconductor"
`pragma protect key_keyname="LSCC_RADIANT_2"
`pragma protect key_method="rsa"
`pragma protect key_block
bqZyXah4zNptaj6Nevyjm9RAF6N4l2KVlkMmJYXzNwGI2tAVZhgenqBsHhspEuIC
xbz4h6tqcZ1CJArFPxx+7KPCSIzdmquePePF8FB5zrpx9xte4JW7cTFh6Mr1n8Wu
r1rSy57HUpMlXFyQfTN+E6baPl9sYK/mGlHlOBfj18dB3DoviXjj7y8r2LBIfCaF
1W3NX/Ho8rdcXwpkDkbfcL+SQd01NtNb5lBBw1juE+H/wUhWTtyMmnFlcM+u6WLt
EUP3gJqB/XElcoFmoXsHOtfdb3BCMHGB2VYY+o8GKvTKsui+sMKIx+U7NaIFtAAo
1TUDwTYyQ5LTQoL7LEgSiQ==

`pragma protect encoding=(enctype="base64", line_length=64, bytes=128)
`pragma protect key_keyowner="Synopsys"
`pragma protect key_keyname="SNPS-VCS-RSA-1"
`pragma protect key_method="rsa"
`pragma protect key_block
dzJoNPEQ8MRjYUJWS81/bX50Kz39vgjD+NF0Yd6Og70KgqFMcWv6J7XU6R1f2qRc
QSpOP2fJHnpcV60O31uSqUdwtRoSnmc9um0zZz9rH+CjQCSPdXzGVK2Ght787nx2
kcVsyEpSoLfXozR2KmauUFGqsPsbU1d6ofHtP2lBd/c=

`pragma protect encoding=(enctype="base64", line_length=64, bytes=256)
`pragma protect key_keyowner="Intel Corporation"
`pragma protect key_keyname="Intel-FPGA-Quartus-RSA-1"
`pragma protect key_method="rsa"
`pragma protect key_block
nuq1h3IE/9pGuGIjJrJTrN/T/8ZHsD19DfjYsyjLEviBOA5rGWDVXLu3zy5LK45v
EaPRpKhtgie40VNiLpWwBusUHLjUMAL3Dad5SjJColzhOE+SB7iJStT1KCT0erbX
SARwcFQFH1/jNe7IT13ruOB1ol2s9C11ZXVCePMsuKgyBAzvex0SOwZMdx/E+Xwj
5iIPOORZeVUyNQPaXaD7/xZtIaaZIXkKRnX3h0TgFYxYbvh5ka6gG+Cr32GcuFR9
RNMtG6MXwMuolM1y9lhIZHQxMHG1jDHj5WqeIEdfxhUc4TwA+pNNRdlKIXwZvOYO
Z9AbZGAaB2zgD2CRgnnfQg==

`pragma protect encoding=(enctype="base64", line_length=64, bytes=256)
`pragma protect key_keyowner="Xilinx"
`pragma protect key_keyname="xilinxt_2019_02"
`pragma protect key_method="rsa"
`pragma protect key_block
HL3diBy4yI+iLbjorJ2IDOor6wnLpDAhX70yM7O5jT1n4Z0dGxt42bkAXsuxekem
w56vuMgMxNRvT82AtHKsH3CQVpyP1ws0afuP6m3Keti3Q+vpsriGE8rG47KuNdfN
L2oClrojPJMbQGKzOa6yYOpaSPIJ5pIvCEwFHkIyVn8rqZdw3fXOdKUYbBcHzufS
H0GP5BmuH+WVdTKmOK++FMGuMiCHKTF0KRxLxc4xVaOLWp8IFx+MuSCSOxwBihiP
rbu1nnjeXmSgCNC+BDum593EMyPnlMj02y/qZqt/kZm4g2dTnU2pWS+vNsLrryxA
OdZsf1jpKKI+DmRujkuOyw==

`pragma protect encoding=(enctype="base64", line_length=64, bytes=256)
`pragma protect key_keyowner="Synplicity"
`pragma protect key_keyname="SYNP15_1"
`pragma protect key_method="rsa"
`pragma protect key_block
JwaUbAwqOO5D/KyrtjijD3OqP/Y+qbyZ41/lvbCyzwGXAxS89+8+fzq3fL+VGJ/i
FcqUlcy3sWcuyNkZ4sDexB3IvYk+ZHNxLn0nyDIMypBfOLInao2BRqUoGfIK1beC
q1cFXmpG1Dc4U0OsFX/sckadrBLTP6Dflno0Ugzvg2ZIlNDXSdtVFgIpHwcYsunQ
v852Pe+Ermu+o51er3OU5jMN3gFWClzywEotcHmZ5BTrAS/ksrwWPaPI5UPwamLj
P6pS/RXoPjG3qr+jtg7urkpV0zOSkTick9jQaty2NA7XWYCD7yr8tjPMHZEtz2U1
Ylq5ouNAybjsV+McGJY/NA==

`pragma protect encoding=(enctype="base64", line_length=64, bytes=256)
`pragma protect key_keyowner="Synplicity"
`pragma protect key_keyname="SYNP05_001"
`pragma protect key_method="rsa"
`pragma protect key_block
Ag85WVlsOyf4ouhNmWJwPv9ihw3tnf6cn1EplIgqI8vKDuKg9UboNp+Fl7oWVIpz
odgksKUHpJkRCnYmfzOisjDEI3FI/A8X9tilIdhCpCfuHKIqECrECiMN7fum0NtB
1VleFr+8jPbqEy1l+Uezq9D2B0/mUmlAkoyUarbKx2ULO5JDOhnomhuCoxkE0V2T
fiGhAWdGoVbbsbyiQ5UqSiVQKepb0X8X2c0rFyhW7VoSZBLoQVo/v1FRumCjR90a
Obprkq9yCwsMoZ+dIb8i635uzOWTunCNySXsiiNX7tbKRyDCaOVC5SY8EsfwuWHY
6ocTzLLnRSaq2eP2B5BCQw==

`pragma protect encoding=(enctype="base64", line_length=64, bytes=960)
`pragma protect key_keyowner="Microsemi Corporation"
`pragma protect key_keyname="MSC-IP-KEY-RSA"
`pragma protect key_method="rsa"
`pragma protect key_block
dUVc44gQwkQEKUkqb7+XJAcMjLPwbwYLHt0Ycy+RiEzsscN2Ixq3JpTLbtGSQv/9
Qe4oWniS1ptsna/R3stVUJe/ugy+nYJwXPtVOJjKm1F0vD4QAAPTVWxSGWS4QjCV
ar2S0tBvEmNW7XVRYEqza/vjiXiYX9QPBgItVrgAa0LQFbcWk6HYj2V6nlClLeU7
TGUCLvYBPXQrYw6VrcJan5wYvdQteBY63iOwlqUr+MyZN5wThs9pPKN3aUChUpoq
dn5+B25b/lxvuCCmKbO76HIN0zUHyFDRbkLWSIPjAiN5NlmDDA8Tg0tsqk/vxrCz
I8ZtFEqP9fItNhl1/dN16+awBGAIFdz4yfNI838inDqIriUEgL2uAG6RCcctXptM
29RP/NM2GVi+evDodhSWfwy8zjAeDDlxsryll23KvX0AH33L/hhXN5jxR6yLAP9Z
s1NgwgH2oOsxOTY9BX8VggKLSWSndKo8hEk+udITx2+vLbBZBLXGy9tGOq2XsRpH
pFoSC914p76kOYwF1L0O4BTzaY1kuCfzWMbs2BfZ4gGiferV55+Lx8eL/VXt9e5L
GGkvB1IsLaJ/efo/Pd0ftVGpZgdEsyqohCr0PFTV8EAaFT6JoEQYad4xGCzW/eyS
eefmI0ON0uDH75KjPjP4VFEabP8ZVhGGnQFf9+35o93YuURduLCG308O1wFFnX3S
A1J7DJyQqSrahxx2eL1jRohC+8Iu2EHbrsv/FUaUrnC/FcInFa6dTpi/FinYtDHP
1eYQMIezKGltp0jTlVeupL1SwU1RxABXSMaIwmYR0dVlGTojnEi8mP8Cf/DlHBTq
CLVuv7bwoTwetiF2JB5Q3zhwoExvQgQdwVlnvesyG/rnhvsG+9RlGgLzdlonRRGn
fEUOT9l6nfP/WT0l5VNdJAdJUmEcZ4iecJaPNRJLyO6frjdk95NWeCEEZna+9cLH
7/4ZFYO8e/F/dBAlUJkGpXxUOj9AxWh9XnSX9CTjtLdHUm10ee/29RRFe2atdyK2
GAYzRvacyfzKQTTSE/ieuPiir/v8qQlqPv7LMtS09XNjVsZanP98Qt24QwVRJ9go
W1KTObxqrQZ7FqcuNOMqAwAOLXVw8m/7yNbf5fZG9LbjQ0Y5EVLupgmjlpn3/Vcs
fiqGN8QvXjBXPhItj+IUjQbc32vaUkIzSu7ufeSY9kbq4+fxDxcQmV4mEkIjfjom
SRhZkR8zh1iDI9ig+L4k1+vWXwUvGaUJnPAKildt7hTpWjRi7kdhSDSyMDg286vH

`pragma protect encoding=(enctype="base64", line_length=64, bytes=128)
`pragma protect key_keyowner="Mentor Graphics Corporation"
`pragma protect key_keyname="MGC-VERIFSIM-RSA-1"
`pragma protect key_method="rsa"
`pragma protect key_block
fGd6YBXbHVh4SozVCHADulOGxl6WDVOL2YKmpRm6SfKC+0MpvUOTnVOo+dgy4OUX
ITjH9Hy3YF/keIBTcVSSdzbQ2BhGHyeuI7i4A+iAHMcRSng/JlNmmz9ofDlw0m1V
qr5PIU2OXcoDCg/RFZpWVu93466zFgiHgtkHQqOWmTY=

`pragma protect data_method="aes128-cbc"
`pragma protect encoding=(enctype="base64", line_length=64, bytes=1760)
`pragma protect data_block
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

`pragma protect end_protected

endmodule


