sync chunk 1/12

This commit is contained in:
chunk-sync
2026-09-11 13:20:53 +08:00
parent 25cdd3c44c
commit 6d2eb1c3b1
456 changed files with 1759843 additions and 1 deletions
Binary file not shown.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,57 @@
# (c) Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
# (c) Copyright 2022-2026 Advanced Micro Devices, Inc. All rights reserved.
#
# This file contains confidential and proprietary information
# of AMD and is protected under U.S. and international copyright
# and other intellectual property laws.
#
# DISCLAIMER
# This disclaimer is not a license and does not grant any
# rights to the materials distributed herewith. Except as
# otherwise provided in a valid license issued to you by
# AMD, and to the maximum extent permitted by applicable
# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
# (2) AMD shall not be liable (whether in contract or tort,
# including negligence, or under any other theory of
# liability) for any loss or damage of any kind or nature
# related to, arising under or in connection with these
# materials, including for any direct, or any indirect,
# special, incidental, or consequential loss or damage
# (including loss of data, profits, goodwill, or any type of
# loss or damage suffered as a result of any action brought
# by a third party) even if such damage or loss was
# reasonably foreseeable or AMD had been advised of the
# possibility of the same.
#
# CRITICAL APPLICATIONS
# AMD products are not designed or intended to be fail-
# safe, or for use in any application requiring fail-safe
# performance, such as life-support or safety devices or
# systems, Class III medical devices, nuclear facilities,
# applications related to the deployment of airbags, or any
# other applications that could lead to death, personal
# injury, or severe property or environmental damage
# (individually and collectively, "Critical
# Applications"). Customer assumes the sole risk and
# liability of any use of AMD products in Critical
# Applications, subject only to applicable laws and
# regulations governing limitations on product liability.
#
# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
# PART OF THIS FILE AT ALL TIMES.
#
# DO NOT MODIFY THIS FILE.
# #########################################################
#
# This XDC is used only in OOC mode for synthesis, implementation
#
# #########################################################
create_clock -period 10 -name CLK [get_ports CLK]
@@ -0,0 +1,714 @@
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
// Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.
// --------------------------------------------------------------------------------
// Tool Version: Vivado v.2023.1 (win64) Build 3865809 Sun May 7 15:05:29 MDT 2023
// Date : Wed Jun 24 13:53:34 2026
// Host : DESKTOP-VN054CM running 64-bit major release (build 9200)
// Command : write_verilog -force -mode funcsim
// d:/Project/spinal_stim/pl/spinal_stim_v0/LJS.gen/sources_1/ip/c_add_s16_s32/c_add_s16_s32_sim_netlist.v
// Design : c_add_s16_s32
// Purpose : This verilog netlist is a functional simulation representation of the design and should not be modified
// or synthesized. This netlist cannot be used for SDF annotated simulation.
// Device : xc7z020clg400-2
// --------------------------------------------------------------------------------
`timescale 1 ps / 1 ps
(* CHECK_LICENSE_TYPE = "c_add_s16_s32,c_addsub_v12_0_15,{}" *) (* downgradeipidentifiedwarnings = "yes" *) (* x_core_info = "c_addsub_v12_0_15,Vivado 2023.1" *)
(* NotValidForBitStream *)
module c_add_s16_s32
(A,
B,
CLK,
CE,
SCLR,
S);
(* x_interface_info = "xilinx.com:signal:data:1.0 a_intf DATA" *) (* x_interface_parameter = "XIL_INTERFACENAME a_intf, LAYERED_METADATA undef" *) input [15:0]A;
(* x_interface_info = "xilinx.com:signal:data:1.0 b_intf DATA" *) (* x_interface_parameter = "XIL_INTERFACENAME b_intf, LAYERED_METADATA undef" *) input [31:0]B;
(* x_interface_info = "xilinx.com:signal:clock:1.0 clk_intf CLK" *) (* x_interface_parameter = "XIL_INTERFACENAME clk_intf, ASSOCIATED_BUSIF s_intf:c_out_intf:sinit_intf:sset_intf:bypass_intf:c_in_intf:add_intf:b_intf:a_intf, ASSOCIATED_RESET SCLR, ASSOCIATED_CLKEN CE, FREQ_HZ 100000000, FREQ_TOLERANCE_HZ 0, PHASE 0.0, INSERT_VIP 0" *) input CLK;
(* x_interface_info = "xilinx.com:signal:clockenable:1.0 ce_intf CE" *) (* x_interface_parameter = "XIL_INTERFACENAME ce_intf, POLARITY ACTIVE_HIGH" *) input CE;
(* x_interface_info = "xilinx.com:signal:reset:1.0 sclr_intf RST" *) (* x_interface_parameter = "XIL_INTERFACENAME sclr_intf, POLARITY ACTIVE_HIGH, INSERT_VIP 0" *) input SCLR;
(* x_interface_info = "xilinx.com:signal:data:1.0 s_intf DATA" *) (* x_interface_parameter = "XIL_INTERFACENAME s_intf, LAYERED_METADATA undef" *) output [31:0]S;
wire [15:0]A;
wire [31:0]B;
wire CE;
wire CLK;
wire [31:0]S;
wire SCLR;
wire NLW_U0_C_OUT_UNCONNECTED;
(* C_AINIT_VAL = "0" *)
(* C_BORROW_LOW = "1" *)
(* C_CE_OVERRIDES_BYPASS = "1" *)
(* C_CE_OVERRIDES_SCLR = "0" *)
(* C_HAS_CE = "1" *)
(* C_HAS_SCLR = "1" *)
(* C_HAS_SINIT = "0" *)
(* C_HAS_SSET = "0" *)
(* C_IMPLEMENTATION = "0" *)
(* C_SCLR_OVERRIDES_SSET = "1" *)
(* C_SINIT_VAL = "0" *)
(* C_VERBOSITY = "0" *)
(* C_XDEVICEFAMILY = "zynq" *)
(* c_a_type = "0" *)
(* c_a_width = "16" *)
(* c_add_mode = "0" *)
(* c_b_constant = "0" *)
(* c_b_type = "0" *)
(* c_b_value = "00000000000000000000000000000000" *)
(* c_b_width = "32" *)
(* c_bypass_low = "0" *)
(* c_has_bypass = "0" *)
(* c_has_c_in = "0" *)
(* c_has_c_out = "0" *)
(* c_latency = "1" *)
(* c_out_width = "32" *)
(* downgradeipidentifiedwarnings = "yes" *)
(* is_du_within_envelope = "true" *)
c_add_s16_s32_c_addsub_v12_0_15 U0
(.A(A),
.ADD(1'b1),
.B(B),
.BYPASS(1'b0),
.CE(CE),
.CLK(CLK),
.C_IN(1'b0),
.C_OUT(NLW_U0_C_OUT_UNCONNECTED),
.S(S),
.SCLR(SCLR),
.SINIT(1'b0),
.SSET(1'b0));
endmodule
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "XILINX"
`pragma protect encrypt_agent_info = "Xilinx Encryption Tool 2023.1"
`pragma protect key_keyowner="Synopsys", key_keyname="SNPS-VCS-RSA-2", key_method="rsa"
`pragma protect encoding = (enctype="BASE64", line_length=76, bytes=128)
`pragma protect key_block
nEluQH6zbAqCbx0un3ty7CjKmzIb6EE6u9eMzKEB04v4MBOVFM+Tahu9b35foYTx0ihB8y9vIi1u
WozDAbVIl41ubtYHe98pHqHDDaCjTtGiBRDyfCBDrGxTGZ4brq0UvFaDSbdlQl3n5JemF3KnHqfg
wMYrkU7wFFHkJLVMcTk=
`pragma protect key_keyowner="Aldec", key_keyname="ALDEC15_001", key_method="rsa"
`pragma protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`pragma protect key_block
nW/9GT0jwg0cGJXOm2WNy5LCgMgb0iaGjzfae0GthFaapA92trGlBPZ8CO9WKXJmM5uTS80UB9rD
PuKl8kfF+MG342ST68iI7DEW8s5TwjZk16znEVWSr2bA2Kn0PBosSg+Xmq22Tj/wcxxQcTijzHNd
O60FvXr2XSMC89T28ONefeTtZc6WwvwyL9H5+IkmdoTJ5mAKgqeYLihv1mxycnq+uM8fyoR79tlA
S3p9q+0Y0k6mCABleE1Ze6a4b5wxmpGtGTvbzc3RGTwstzb4UZPpiyAgnW9A4DQCUBY93aPziiKT
c7MisqRYeGnScSQ1FOFsbD6hotYBh+P8LwGGCw==
`pragma protect key_keyowner="Mentor Graphics Corporation", key_keyname="MGC-VELOCE-RSA", key_method="rsa"
`pragma protect encoding = (enctype="BASE64", line_length=76, bytes=128)
`pragma protect key_block
KDiNIUMtatDrhphzmTBFbPhLQnuq6phc0PrJ1hiogLQb7IUEt6plouP9tjwt7I0ZIWDhaRnf5MCk
Gd5vI6wDka/OMxNVtptdLxiIJkVcQbbLuHt+0LQQEt9l+z52R0xVETrazwDGWj83+vCsrNlljbUl
fMz4KSBOf9kOPE6MbqM=
`pragma protect key_keyowner="Mentor Graphics Corporation", key_keyname="MGC-VERIF-SIM-RSA-2", key_method="rsa"
`pragma protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`pragma protect key_block
k3Hey9AcH0q64Q+fl481nMcvpHNQ6Af06OnUlq2GSyZHZ3t2v9ryStnHIvSi1l/SQIJMgrZCgME9
lown5XX21YqIMVQoEyGMSpNBNwfTJGTI61QOeUpcU3LzuNlRl4w47st6eceWqPKVrD6oTR3sXq9T
ctrBzMTMaGg9YZmYGJ7Ot/ADRu8vcaT+f6OfgECwuoGk0UOAQaKF/ADVY9WpFWZ5qlC0Cd8wDuXC
jLLq0Fbcps0ea5PDonxV2Z1kh/nXuE2aSrCoEg703Iy1Vimiwe/kvCqZHRWzwoyrK1sXDJdkt7ni
uGVcdxaCDSuAQBAY+DvKCaHxy8HVe23B9nIm7g==
`pragma protect key_keyowner="Real Intent", key_keyname="RI-RSA-KEY-1", key_method="rsa"
`pragma protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`pragma protect key_block
JgKK/t7ZhsrBmIhtzEHF7fMq/kVx5rC3SDMpxvFJyxvxWyGHc1knzwHpNUZlhxl2+QiWII15PkPH
tRsPxzKmKRUfoUn98Iz+DDEv/t53oxteaulFll9kYXLae5Kr3Z0dSjzo6RhFlK3srBeNbOBQ5kLM
GmLMJXqAg+QCR1zI3uySLoZKPvoArxl0nQXNl+LyCj3NSV6UZbat9kspBEf8Ajes+X3D3fFv6x7R
QFcujdR2uP3rtU2X+kjUyKS68fWQyxeNVQRRtK0+pYzwAjslKl9X2yuZLP8sbivJF+KMMGIR6mDJ
Evvk6N3D/2t3QMFH/QwpvnMzM7FWwR1+A2XB+A==
`pragma protect key_keyowner="Xilinx", key_keyname="xilinxt_2022_10", key_method="rsa"
`pragma protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`pragma protect key_block
l1upFntc7IVck7RcCXkYErX39AcroU+a5uEQXMYfQhip8WAsHSLdZlUa+Pekqto4E2g8SgecRBRu
QrTkaI7ASczWH6LcnIz//dsEIf29ekkxATEsJgnRku8WWT0qoHAHSHdh5/QBxPMMciAaoZZn7Oao
iMi43cgsYOKLrxaRVA1CADZ/GqPdF85TfjeFZM6SbwE9mPf1OSJvOTiaz9xmgcqX6v1Z9g8EnoxJ
6I829suxYY7M6LZ0d0EjjUyaavZjV5HDiB1fssOvW/djjXtxFJRNs2Gjhme3uFqkpCEPEmN552yh
8Dh9ZD+svzOa4souKCgpp+Me8Fjk7DseJZFS+w==
`pragma protect key_keyowner="Metrics Technologies Inc.", key_keyname="DSim", key_method="rsa"
`pragma protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`pragma protect key_block
l7Jl6pHBA954sGX8lOxgRbkjqIY8qsUwlO/a8pzc9ccc3J6g7NH7JFDFJo/lP4EGu33DhHMaekKk
D4zrS/BeJYsvT4iIAxDLg04OtrvXSJldjg34BLszQLhqUGfb3q06Oj0fXD2iEyLNSR/dM1elF9xE
hKaV329dq6ZrzVp7pI0Kl4Phi/0xqfaA4pxpvDmn6jz/v6My3nmy28BMd5KJpLTeEVwRfwf1KaSP
Kbi19ZYAimO73Cj9C1mrQdmzLERkopxYs+N+PKEg/uJ33h3AIIXYALv1dtvCi/kY33mMor2YzciC
cOvpgm0rOl8N+wluwGldTr51jmMU3UgRXnpIcA==
`pragma protect key_keyowner="Atrenta", key_keyname="ATR-SG-RSA-1", key_method="rsa"
`pragma protect encoding = (enctype="BASE64", line_length=76, bytes=384)
`pragma protect key_block
sDLt9yC+aGCruo0Pc7rNmFvG2ac6bXjKm57sR9Rc7vhL9yi9iuJX/dei64d6laIYpv7rKof457yt
dHM3kNbfEvjncjiGOY7W6JH9B9crujUlJSAtPxDBpA1ViiJACab8Tkr/b8aim+gsfCRULaYQf7Em
PZgRR/YsxeTPzLR6+g6rtTiWVwHOSHeRFwlXDUwOHC9ojrEk758fcOul3bUMy5jBkbIrnMckcYNJ
UTIM/NeQ2Z/19PGsmo1DzokYwWzLO/zziA3yzHUXNK/w69M9ML2Iuta7bZVscwAupPOW9l6jLkCf
ml/TslOBHqpc17ZtvXijJ69O/LsO1U2gWTdgP/LZuz80gMWMCxCrdGVp/uSa/4xGr4H3vIXkdIx0
Sg4fr4eszK3MgUcF10OTIa2Q1kSgpDI+mwH+yvUepsWPGRNbJ26keoVN9FUem6TOAoMBjMIrwjVL
ew9v9xzan9X7FYCU+yrylMvdNWv0ozAy2lW5sx96wNHOJF5NyPNMrrgu
`pragma protect key_keyowner="Cadence Design Systems.", key_keyname="CDS_RSA_KEY_VER_1", key_method="rsa"
`pragma protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`pragma protect key_block
G1e/ZtUXcVEpkIPuRVXcxOiovL5iPfoV4SVmgSb0Q/5PbZ5mJDGQX9Sp80Mjta07Bt/3DCSMp0KJ
TCu25lkbgnZpMU/VZ0Q5fpryTT0QlNvXapuLZpwz2mB71FqiOCtJCUJgTkh27JBiAtqXVPo5BzA7
9FlPrsD6aZeAnLU1VNhug43fOPpbojbhxh5A3rYZfHTf2ybdNunH1OhuZxXW6dssnmEmaIhaYP/U
tSLQxjYWOD87MQ4xPqXgJim9qdjCyeahZxxq1nIffw2rSxV1NEvmZCAxL36YKl0GAW3YS4F4uFS8
x1YSENfQJ73Udn5tHSJeGSFENuCPYsx9hzSkZA==
`pragma protect key_keyowner="Mentor Graphics Corporation", key_keyname="MGC-PREC-RSA", key_method="rsa"
`pragma protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`pragma protect key_block
SIwU921jHTiNe4/k/YDNXZV0YfNAC0wLVDvoKgpzKoHVyS51xSZnG4oygikXYbAN0YRKF2ZHNH7H
joB6iPkWB/ZFfPQlpKEVWseuf6XfR8fOfJeh6IeXLHscQ35sL7isuogBPPIs1jCZC4sUGvYM6ALq
hzrZkskx6Wz3pVRAvaj6pxp7Hpm5p6eX7nvLfbDIAwheUid59P2yRQJKKSX6juyqLaFPKzjCoLSL
p4uzNzZtMYgnSIiWgSuMbyBTchoQjLHVTLyN+HQMRVoZKpeQ4F3EoqSZIBAzyjHhEjfrvL0Z8RLW
u3LaFyY9KILy73LjqrLwGqORqtCEwxkHIkbPjQ==
`pragma protect key_keyowner="Synplicity", key_keyname="SYNP15_1", key_method="rsa"
`pragma protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`pragma protect key_block
xd6oDT3AgSunafz98qVEQIc06YQpIG23Jd3o1ln70C4bURkPR1mHAU8mAqcT3k+PBl/clKi9vtKC
zX75XS7+yypDDq+LTfRPmkdC300BdnLOuGUB6cPIXJD056fhQd+/+sb4O4lDJb4wFSXIm4BLCtFu
6kDMhuY4ZPzUcO5Aj+dq9AQSE92b9DdEOf4BCDAsy1WXc0kfj3bCxD4DCZ/cyvsOIqQ/beU8a2WO
/3M53kNPoFRmK9FTMoxCPMtnUjTOstKCbFVmtkpTX9Y+kDn7uI+3QeQOIaXmaTWyrt69NsA8iJma
sSshVyt8l3dM4ddB3o6RvEdbV1RJdCD8s5CYEw==
`pragma protect data_method = "AES128-CBC"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 25312)
`pragma protect data_block
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
SX+V9Q==
`pragma protect end_protected
`ifndef GLBL
`define GLBL
`timescale 1 ps / 1 ps
module glbl ();
parameter ROC_WIDTH = 100000;
parameter TOC_WIDTH = 0;
parameter GRES_WIDTH = 10000;
parameter GRES_START = 10000;
//-------- STARTUP Globals --------------
wire GSR;
wire GTS;
wire GWE;
wire PRLD;
wire GRESTORE;
tri1 p_up_tmp;
tri (weak1, strong0) PLL_LOCKG = p_up_tmp;
wire PROGB_GLBL;
wire CCLKO_GLBL;
wire FCSBO_GLBL;
wire [3:0] DO_GLBL;
wire [3:0] DI_GLBL;
reg GSR_int;
reg GTS_int;
reg PRLD_int;
reg GRESTORE_int;
//-------- JTAG Globals --------------
wire JTAG_TDO_GLBL;
wire JTAG_TCK_GLBL;
wire JTAG_TDI_GLBL;
wire JTAG_TMS_GLBL;
wire JTAG_TRST_GLBL;
reg JTAG_CAPTURE_GLBL;
reg JTAG_RESET_GLBL;
reg JTAG_SHIFT_GLBL;
reg JTAG_UPDATE_GLBL;
reg JTAG_RUNTEST_GLBL;
reg JTAG_SEL1_GLBL = 0;
reg JTAG_SEL2_GLBL = 0 ;
reg JTAG_SEL3_GLBL = 0;
reg JTAG_SEL4_GLBL = 0;
reg JTAG_USER_TDO1_GLBL = 1'bz;
reg JTAG_USER_TDO2_GLBL = 1'bz;
reg JTAG_USER_TDO3_GLBL = 1'bz;
reg JTAG_USER_TDO4_GLBL = 1'bz;
assign (strong1, weak0) GSR = GSR_int;
assign (strong1, weak0) GTS = GTS_int;
assign (weak1, weak0) PRLD = PRLD_int;
assign (strong1, weak0) GRESTORE = GRESTORE_int;
initial begin
GSR_int = 1'b1;
PRLD_int = 1'b1;
#(ROC_WIDTH)
GSR_int = 1'b0;
PRLD_int = 1'b0;
end
initial begin
GTS_int = 1'b1;
#(TOC_WIDTH)
GTS_int = 1'b0;
end
initial begin
GRESTORE_int = 1'b0;
#(GRES_START);
GRESTORE_int = 1'b1;
#(GRES_WIDTH);
GRESTORE_int = 1'b0;
end
endmodule
`endif
@@ -0,0 +1,960 @@
-- Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
-- Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.
-- --------------------------------------------------------------------------------
-- Tool Version: Vivado v.2023.1 (win64) Build 3865809 Sun May 7 15:05:29 MDT 2023
-- Date : Wed Jun 24 13:53:35 2026
-- Host : DESKTOP-VN054CM running 64-bit major release (build 9200)
-- Command : write_vhdl -force -mode funcsim
-- d:/Project/spinal_stim/pl/spinal_stim_v0/LJS.gen/sources_1/ip/c_add_s16_s32/c_add_s16_s32_sim_netlist.vhdl
-- Design : c_add_s16_s32
-- Purpose : This VHDL netlist is a functional simulation representation of the design and should not be modified or
-- synthesized. This netlist cannot be used for SDF annotated simulation.
-- Device : xc7z020clg400-2
-- --------------------------------------------------------------------------------
`protect begin_protected
`protect version = 1
`protect encrypt_agent = "XILINX"
`protect encrypt_agent_info = "Xilinx Encryption Tool 2023.1"
`protect key_keyowner="Synopsys", key_keyname="SNPS-VCS-RSA-2", key_method="rsa"
`protect encoding = (enctype="BASE64", line_length=76, bytes=128)
`protect key_block
KQ82cCUOO4Rll0DJZE6VAOx/pzFxszF3gRIbvLnBls0SruHtmFIdn43AwKqHqjcczzPdsHq2e7q7
ysGqG0XCAKXCgqYcXLbEoA5swkHK6/2M1o5Nk6We80BiV20jTaX2PlUF6thgCyFNS9t1xaJrZgym
d9c32tn+nnKzzv9Th4w=
`protect key_keyowner="Aldec", key_keyname="ALDEC15_001", key_method="rsa"
`protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`protect key_block
HSlmGz2SGCvobOPHMYenk7mU0c+DtBwa7Ax0qqDDZTCg2rpnfjFWk5KT5JPGzDTKCKw1wIEr8Q/h
HFTYvFluC/BfP1CgzX9erJ5lN1UPi513rL0+jPs1xIRxt7/3gUhzfiKp4GRWIbvHTxU0Eph7b1eM
n+X3qExTQsFSz+nJeqC25ZgaZxe4X4Cs5ymEPYJeE8hvekRhJ3t4v4ZTPxAJCgqmW52GZTYRDro/
I6+h8/0dZwUWRNpDZ0Sj5A0kZnCY87PJpQIhmU4EZlAd2vaNQ0/GdOw5V+VEIoKQGZr2FVP3gN3P
bUAEamXp0byrWsvHHiXhXW805SN7ZUCheQZ3kQ==
`protect key_keyowner="Mentor Graphics Corporation", key_keyname="MGC-VELOCE-RSA", key_method="rsa"
`protect encoding = (enctype="BASE64", line_length=76, bytes=128)
`protect key_block
T11EP6KjpQofUHaa2RkUYv1vV/ZNuOziYmezj3esxBsdErBwGPkunhOx4bQO1npLvky5TdRMdO8v
ulO8okfTefde1iwvUNB+700NNvo47Lw1eUFprUO7Qjy1FUSyEwUhgv+ki4AEq8jFLPgeDvwOCERg
02jtBwCa7naR9NTjg9c=
`protect key_keyowner="Mentor Graphics Corporation", key_keyname="MGC-VERIF-SIM-RSA-2", key_method="rsa"
`protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`protect key_block
U9uzJLGLJcFp9272eJr8Pfd5pCoTomvyyHsIQGglVFyEET6ZYQgrEs3nVj75cS5UekUe7yAPvJID
BHPXZs65KLJ5i8KXsPSOwmF1fRVUjNtN4lNIArnk4zeihg1sF+pwd2KOc0OQ0yV0ZXWC0o5ML4sQ
POrc7xLsLM3pBd3h6AjV9L6NoUORULMJTLVND+u1wOk2midHIEuAesk40Ecy7J5lLNfFkUL5SUqA
W0qVNtr9k9mz4zL6jn2lXn9QhvYggkDTmXz0sOoC/TI3F545KGhQM702QraUECP/Ia25H+jzu3Nv
zZFPQ0amuUc0duWwtShFFVku0NgY3S6DiDNY6w==
`protect key_keyowner="Real Intent", key_keyname="RI-RSA-KEY-1", key_method="rsa"
`protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`protect key_block
xPe3eC6JIW9RfU3J3AuiVUBVmTvciSG7OSyTijvAHBK2nRRVDc3rILi1O8N7Dp8ycBHdlmxgbpxg
DmMeux25CbjyPjCeWB4EETeRFiOOdU2UsiHRXq5eONPQSXssj77zLTwTfoV68tuhl/dFLZbvbwj8
dgVbM6rkWiiEF50Cypf/4pb8Jq9mTfOWUrXQBJhtmK61O8FJDV491kSTk1lOY5RmN4e9FdkloqOG
VPBaM+vybkZW493+Fo+WTcNFVGbLIg8onnOQgjO0KK34epqfETpnLToo03vGZ1xBcBfJ3hIhsv5e
rKZv+nOn9IuHKBwSX3I+RPRkAxJtDL6qM4g7pw==
`protect key_keyowner="Xilinx", key_keyname="xilinxt_2022_10", key_method="rsa"
`protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`protect key_block
L024usIpT+z7QXRTfLpAztHJRWGy6SJ0I/Ht1IsEhPm03ACtWJqNTNt0eUPdo/zfQOccpk1YSlHC
TfpGOZ8aj9OROLYh4ZZyTWjpJr2PPTi7Tb1DHlNATD/fYq3Cqhcqz7o558FMd9e8vIKELgAp953u
5BqTebFeBEA4Ms9HJHNq3naCqLILFF+hkxMJTlj1pruXY8+X1s2hQk6WMF3deZ+XRrKcZCuVflAi
DMnHsTPLJc9BBakQVDN5ODt5jDmLpLDq3nKM/f0c1Cfzk30kU361xPvNUWGwcOfqoIoJ4QSpQGVA
Fed/uTNFK1nvYB4GX2GT653Qy7HNx5dvJ4D25w==
`protect key_keyowner="Metrics Technologies Inc.", key_keyname="DSim", key_method="rsa"
`protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`protect key_block
U53JryqO4dujkPwwUS7BGchyy5Q4W7a4MbaBak2vh/LfvIwPjDKT7H+JHXAfFKkI3WSSJDQe9Ea7
JZAzWrbo3PvDDhjrH33MDn2d39H6x/a7dlM5lp/GbVkB04s6ZzX1qStn16BCIdR8MohVbUaoyHcO
t9MKcCfcaojDYOL+u7gsOJxjTMY1caCIUVEm79uWjEJ3FDTNY/iEJA8MyJz8ddwkLqkpX5AdoZzh
5i7d07mZ6asAI97kucAI1p8P6uIGNluivgbjpTnaAUydQhE5BkeWgovXNNlh2AXi5k30Kf0JPKk6
FC1STz3jVmkzLkd5V5EMmIArmuT6h2tCwYbeRQ==
`protect key_keyowner="Atrenta", key_keyname="ATR-SG-RSA-1", key_method="rsa"
`protect encoding = (enctype="BASE64", line_length=76, bytes=384)
`protect key_block
s0TLKy61ir/yfGXeckaJUZLcXLSPAidY8foxVpjf4EfgCMM2KmSBXjc/e37BaNxQnVp6gNX/5YZD
+2dtKPCPwtLEzxKvsH7k7nNzsIZgnPqo4bReamASFG5tVj4b6RIpBe0VoPWZFrFileFikFkfwZo1
/MszPgCFYZPz6dPV72kloTVVGbNFYQuMh+pDgk7AK8Au14Q5YrYrBGQMQ89dzLkEY+ZUJom4cTYd
qeVDW+zn+ySz4QtlBdKz92i/q9u1nghnMhE+nwbHlCLbxPmoAVHZdVpmvqJ8XtLUM96KCXnF5iKV
QP9xBHmtfc7MU67mJglsO0IElK1aP5+8vS4lHIPYIJn2jB7qmZePPxqKA/Nb8euEjBnfOUgsTJfJ
krgcDbSJzK5oGwujCGeIwLbI4lObG+lv2zY9HNa60kurD4MokDp9CBc9MhzzkZP55rkAGOoOPpS+
jNKY2sE8ZZ/G6do/rL4lXcKHc7VLUCe78kcbVqYIJvFW4zbjKmeSVtCo
`protect key_keyowner="Cadence Design Systems.", key_keyname="CDS_RSA_KEY_VER_1", key_method="rsa"
`protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`protect key_block
JPhNykS6D6gHxr3ISGRIQ9/DclsRsZyQ1HAVx2bTr7SNz9q8F41EcuUqwJ5dd10l4ANRtj183P/a
LboPe/q5B7DQ8PUGVW9xy0yPWBeMNBiSuC+Atx97kb3RdmFNg9C/Zqu7WLRxNVbmpcpW/f0HH9HO
ao3Fqf9OIhCJrHhTsLyISKfZEkf+/T7LPAHrG93y6wldzt3LTlRBiujYg11/dF7IsI0h0yqP9+Hf
CIQLrCtejE455glHJc4Zhmpra3ivUJXf4Z3KqTdsQ2Fqir3wlX90yw1hi/lR0EmVxe0wkKLOSUYJ
hPlEeV+saTWifw9zswbe1ObuFK1sG5YfbewQVQ==
`protect key_keyowner="Mentor Graphics Corporation", key_keyname="MGC-PREC-RSA", key_method="rsa"
`protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`protect key_block
Q76ef2xEuqSXOhV27rfd/sSC+eWoM/bcIeFmn7G0uDLXKsGLhDmBX3S8ttf38dueQG1Um353kQtT
CBcw7LEDbWX85p0lHFwSaSezfvA9A9ugAv2GozhRamML+bCG4fO6BUKhVpK8lrNK6Pl51kLImSo/
4GpWDpgMpobMnHFfxg0ZZRGX7snD8KCrzU/R+ZsW8qRkURY6XlRADAFFP/o5eANV9YrdLL+QKXRO
cnFpWdAAg51jWoxMrgQaZheALBtChm3MLhqRjn6dSAug7yDaBAOmPDtDdKoCgd4z6qNJ+SZJIgc+
kGFY1U6+oWYsKTPaSmT2nzW7K1eyT6TKiof9/w==
`protect key_keyowner="Synplicity", key_keyname="SYNP15_1", key_method="rsa"
`protect encoding = (enctype="BASE64", line_length=76, bytes=256)
`protect key_block
5lOH5bv83CDfLWRWys69+R928259L3tJ7/QSM1bMc5ZfYmOEsH2ryWCGUQDaLUT76o+vdBZ0gbfh
JpE6T4P9pH9Ld53k2MLn2LefL2LPKCi97eOOxRpwWI5lmLF6i3GRy14TKFMJOH46uUQZ9PYa90+P
W7kkBnkEH7hDHcCph+h9KAhAqAxdnevBvznN/5mnSTP/GPhrLf95BLMtAKCSH4FGP9iYe4VfZHNv
oBZz5I0+C/aF1aBhfufqR83yU8RLtO8izrIdICpB+CMltq9vY/4HW4t/46bajEHZivxTVLJhMNAH
EfzY0Lg5O+jxs/p0hM9nD8cnpi4rNbMl1Q7eOw==
`protect data_method = "AES128-CBC"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 41648)
`protect data_block
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
`protect end_protected
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
library UNISIM;
use UNISIM.VCOMPONENTS.ALL;
entity c_add_s16_s32 is
port (
A : in STD_LOGIC_VECTOR ( 15 downto 0 );
B : in STD_LOGIC_VECTOR ( 31 downto 0 );
CLK : in STD_LOGIC;
CE : in STD_LOGIC;
SCLR : in STD_LOGIC;
S : out STD_LOGIC_VECTOR ( 31 downto 0 )
);
attribute NotValidForBitStream : boolean;
attribute NotValidForBitStream of c_add_s16_s32 : entity is true;
attribute CHECK_LICENSE_TYPE : string;
attribute CHECK_LICENSE_TYPE of c_add_s16_s32 : entity is "c_add_s16_s32,c_addsub_v12_0_15,{}";
attribute downgradeipidentifiedwarnings : string;
attribute downgradeipidentifiedwarnings of c_add_s16_s32 : entity is "yes";
attribute x_core_info : string;
attribute x_core_info of c_add_s16_s32 : entity is "c_addsub_v12_0_15,Vivado 2023.1";
end c_add_s16_s32;
architecture STRUCTURE of c_add_s16_s32 is
signal NLW_U0_C_OUT_UNCONNECTED : STD_LOGIC;
attribute C_AINIT_VAL : string;
attribute C_AINIT_VAL of U0 : label is "0";
attribute C_BORROW_LOW : integer;
attribute C_BORROW_LOW of U0 : label is 1;
attribute C_CE_OVERRIDES_BYPASS : integer;
attribute C_CE_OVERRIDES_BYPASS of U0 : label is 1;
attribute C_CE_OVERRIDES_SCLR : integer;
attribute C_CE_OVERRIDES_SCLR of U0 : label is 0;
attribute C_HAS_CE : integer;
attribute C_HAS_CE of U0 : label is 1;
attribute C_HAS_SCLR : integer;
attribute C_HAS_SCLR of U0 : label is 1;
attribute C_HAS_SINIT : integer;
attribute C_HAS_SINIT of U0 : label is 0;
attribute C_HAS_SSET : integer;
attribute C_HAS_SSET of U0 : label is 0;
attribute C_IMPLEMENTATION : integer;
attribute C_IMPLEMENTATION of U0 : label is 0;
attribute C_SCLR_OVERRIDES_SSET : integer;
attribute C_SCLR_OVERRIDES_SSET of U0 : label is 1;
attribute C_SINIT_VAL : string;
attribute C_SINIT_VAL of U0 : label is "0";
attribute C_VERBOSITY : integer;
attribute C_VERBOSITY of U0 : label is 0;
attribute C_XDEVICEFAMILY : string;
attribute C_XDEVICEFAMILY of U0 : label is "zynq";
attribute c_a_type : integer;
attribute c_a_type of U0 : label is 0;
attribute c_a_width : integer;
attribute c_a_width of U0 : label is 16;
attribute c_add_mode : integer;
attribute c_add_mode of U0 : label is 0;
attribute c_b_constant : integer;
attribute c_b_constant of U0 : label is 0;
attribute c_b_type : integer;
attribute c_b_type of U0 : label is 0;
attribute c_b_value : string;
attribute c_b_value of U0 : label is "00000000000000000000000000000000";
attribute c_b_width : integer;
attribute c_b_width of U0 : label is 32;
attribute c_bypass_low : integer;
attribute c_bypass_low of U0 : label is 0;
attribute c_has_bypass : integer;
attribute c_has_bypass of U0 : label is 0;
attribute c_has_c_in : integer;
attribute c_has_c_in of U0 : label is 0;
attribute c_has_c_out : integer;
attribute c_has_c_out of U0 : label is 0;
attribute c_latency : integer;
attribute c_latency of U0 : label is 1;
attribute c_out_width : integer;
attribute c_out_width of U0 : label is 32;
attribute downgradeipidentifiedwarnings of U0 : label is "yes";
attribute is_du_within_envelope : string;
attribute is_du_within_envelope of U0 : label is "true";
attribute x_interface_info : string;
attribute x_interface_info of CE : signal is "xilinx.com:signal:clockenable:1.0 ce_intf CE";
attribute x_interface_parameter : string;
attribute x_interface_parameter of CE : signal is "XIL_INTERFACENAME ce_intf, POLARITY ACTIVE_HIGH";
attribute x_interface_info of CLK : signal is "xilinx.com:signal:clock:1.0 clk_intf CLK";
attribute x_interface_parameter of CLK : signal is "XIL_INTERFACENAME clk_intf, ASSOCIATED_BUSIF s_intf:c_out_intf:sinit_intf:sset_intf:bypass_intf:c_in_intf:add_intf:b_intf:a_intf, ASSOCIATED_RESET SCLR, ASSOCIATED_CLKEN CE, FREQ_HZ 100000000, FREQ_TOLERANCE_HZ 0, PHASE 0.0, INSERT_VIP 0";
attribute x_interface_info of SCLR : signal is "xilinx.com:signal:reset:1.0 sclr_intf RST";
attribute x_interface_parameter of SCLR : signal is "XIL_INTERFACENAME sclr_intf, POLARITY ACTIVE_HIGH, INSERT_VIP 0";
attribute x_interface_info of A : signal is "xilinx.com:signal:data:1.0 a_intf DATA";
attribute x_interface_parameter of A : signal is "XIL_INTERFACENAME a_intf, LAYERED_METADATA undef";
attribute x_interface_info of B : signal is "xilinx.com:signal:data:1.0 b_intf DATA";
attribute x_interface_parameter of B : signal is "XIL_INTERFACENAME b_intf, LAYERED_METADATA undef";
attribute x_interface_info of S : signal is "xilinx.com:signal:data:1.0 s_intf DATA";
attribute x_interface_parameter of S : signal is "XIL_INTERFACENAME s_intf, LAYERED_METADATA undef";
begin
U0: entity work.c_add_s16_s32_c_addsub_v12_0_15
port map (
A(15 downto 0) => A(15 downto 0),
ADD => '1',
B(31 downto 0) => B(31 downto 0),
BYPASS => '0',
CE => CE,
CLK => CLK,
C_IN => '0',
C_OUT => NLW_U0_C_OUT_UNCONNECTED,
S(31 downto 0) => S(31 downto 0),
SCLR => SCLR,
SINIT => '0',
SSET => '0'
);
end STRUCTURE;
@@ -0,0 +1,27 @@
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
// Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.
// --------------------------------------------------------------------------------
// Tool Version: Vivado v.2023.1 (win64) Build 3865809 Sun May 7 15:05:29 MDT 2023
// Date : Wed Jun 24 13:53:34 2026
// Host : DESKTOP-VN054CM running 64-bit major release (build 9200)
// Command : write_verilog -force -mode synth_stub
// d:/Project/spinal_stim/pl/spinal_stim_v0/LJS.gen/sources_1/ip/c_add_s16_s32/c_add_s16_s32_stub.v
// Design : c_add_s16_s32
// Purpose : Stub declaration of top-level module interface
// Device : xc7z020clg400-2
// --------------------------------------------------------------------------------
// This empty module with port declaration file causes synthesis tools to infer a black box for IP.
// The synthesis directives are for Synopsys Synplify support to prevent IO buffer insertion.
// Please paste the declaration into a Verilog source file or add the file as an additional source.
(* x_core_info = "c_addsub_v12_0_15,Vivado 2023.1" *)
module c_add_s16_s32(A, B, CLK, CE, SCLR, S)
/* synthesis syn_black_box black_box_pad_pin="A[15:0],B[31:0],CE,SCLR,S[31:0]" */
/* synthesis syn_force_seq_prim="CLK" */;
input [15:0]A;
input [31:0]B;
input CLK /* synthesis syn_isclock = 1 */;
input CE;
input SCLR;
output [31:0]S;
endmodule
@@ -0,0 +1,36 @@
-- Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
-- Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.
-- --------------------------------------------------------------------------------
-- Tool Version: Vivado v.2023.1 (win64) Build 3865809 Sun May 7 15:05:29 MDT 2023
-- Date : Wed Jun 24 13:53:34 2026
-- Host : DESKTOP-VN054CM running 64-bit major release (build 9200)
-- Command : write_vhdl -force -mode synth_stub
-- d:/Project/spinal_stim/pl/spinal_stim_v0/LJS.gen/sources_1/ip/c_add_s16_s32/c_add_s16_s32_stub.vhdl
-- Design : c_add_s16_s32
-- Purpose : Stub declaration of top-level module interface
-- Device : xc7z020clg400-2
-- --------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity c_add_s16_s32 is
Port (
A : in STD_LOGIC_VECTOR ( 15 downto 0 );
B : in STD_LOGIC_VECTOR ( 31 downto 0 );
CLK : in STD_LOGIC;
CE : in STD_LOGIC;
SCLR : in STD_LOGIC;
S : out STD_LOGIC_VECTOR ( 31 downto 0 )
);
end c_add_s16_s32;
architecture stub of c_add_s16_s32 is
attribute syn_black_box : boolean;
attribute black_box_pad_pin : string;
attribute syn_black_box of stub : architecture is true;
attribute black_box_pad_pin of stub : architecture is "A[15:0],B[31:0],CLK,CE,SCLR,S[31:0]";
attribute x_core_info : string;
attribute x_core_info of stub : architecture is "c_addsub_v12_0_15,Vivado 2023.1";
begin
end;
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,556 @@
`protect begin_protected
`protect version = 1
`protect encrypt_agent = "XILINX"
`protect encrypt_agent_info = "Xilinx Encryption Tool 2023.1"
`protect key_keyowner = "Synopsys", key_keyname = "SNPS-VCS-RSA-2", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
`protect key_block
KQ82cCUOO4Rll0DJZE6VAOx/pzFxszF3gRIbvLnBls0SruHtmFIdn43AwKqHqjcczzPdsHq2e7q7
ysGqG0XCAKXCgqYcXLbEoA5swkHK6/2M1o5Nk6We80BiV20jTaX2PlUF6thgCyFNS9t1xaJrZgym
d9c32tn+nnKzzv9Th4w=
`protect key_keyowner = "Aldec", key_keyname = "ALDEC15_001", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
HSlmGz2SGCvobOPHMYenk7mU0c+DtBwa7Ax0qqDDZTCg2rpnfjFWk5KT5JPGzDTKCKw1wIEr8Q/h
HFTYvFluC/BfP1CgzX9erJ5lN1UPi513rL0+jPs1xIRxt7/3gUhzfiKp4GRWIbvHTxU0Eph7b1eM
n+X3qExTQsFSz+nJeqC25ZgaZxe4X4Cs5ymEPYJeE8hvekRhJ3t4v4ZTPxAJCgqmW52GZTYRDro/
I6+h8/0dZwUWRNpDZ0Sj5A0kZnCY87PJpQIhmU4EZlAd2vaNQ0/GdOw5V+VEIoKQGZr2FVP3gN3P
bUAEamXp0byrWsvHHiXhXW805SN7ZUCheQZ3kQ==
`protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-VELOCE-RSA", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
`protect key_block
T11EP6KjpQofUHaa2RkUYv1vV/ZNuOziYmezj3esxBsdErBwGPkunhOx4bQO1npLvky5TdRMdO8v
ulO8okfTefde1iwvUNB+700NNvo47Lw1eUFprUO7Qjy1FUSyEwUhgv+ki4AEq8jFLPgeDvwOCERg
02jtBwCa7naR9NTjg9c=
`protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-VERIF-SIM-RSA-2", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
U9uzJLGLJcFp9272eJr8Pfd5pCoTomvyyHsIQGglVFyEET6ZYQgrEs3nVj75cS5UekUe7yAPvJID
BHPXZs65KLJ5i8KXsPSOwmF1fRVUjNtN4lNIArnk4zeihg1sF+pwd2KOc0OQ0yV0ZXWC0o5ML4sQ
POrc7xLsLM3pBd3h6AjV9L6NoUORULMJTLVND+u1wOk2midHIEuAesk40Ecy7J5lLNfFkUL5SUqA
W0qVNtr9k9mz4zL6jn2lXn9QhvYggkDTmXz0sOoC/TI3F545KGhQM702QraUECP/Ia25H+jzu3Nv
zZFPQ0amuUc0duWwtShFFVku0NgY3S6DiDNY6w==
`protect key_keyowner = "Real Intent", key_keyname = "RI-RSA-KEY-1", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
xPe3eC6JIW9RfU3J3AuiVUBVmTvciSG7OSyTijvAHBK2nRRVDc3rILi1O8N7Dp8ycBHdlmxgbpxg
DmMeux25CbjyPjCeWB4EETeRFiOOdU2UsiHRXq5eONPQSXssj77zLTwTfoV68tuhl/dFLZbvbwj8
dgVbM6rkWiiEF50Cypf/4pb8Jq9mTfOWUrXQBJhtmK61O8FJDV491kSTk1lOY5RmN4e9FdkloqOG
VPBaM+vybkZW493+Fo+WTcNFVGbLIg8onnOQgjO0KK34epqfETpnLToo03vGZ1xBcBfJ3hIhsv5e
rKZv+nOn9IuHKBwSX3I+RPRkAxJtDL6qM4g7pw==
`protect key_keyowner = "Xilinx", key_keyname = "xilinxt_2022_10", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
L024usIpT+z7QXRTfLpAztHJRWGy6SJ0I/Ht1IsEhPm03ACtWJqNTNt0eUPdo/zfQOccpk1YSlHC
TfpGOZ8aj9OROLYh4ZZyTWjpJr2PPTi7Tb1DHlNATD/fYq3Cqhcqz7o558FMd9e8vIKELgAp953u
5BqTebFeBEA4Ms9HJHNq3naCqLILFF+hkxMJTlj1pruXY8+X1s2hQk6WMF3deZ+XRrKcZCuVflAi
DMnHsTPLJc9BBakQVDN5ODt5jDmLpLDq3nKM/f0c1Cfzk30kU361xPvNUWGwcOfqoIoJ4QSpQGVA
Fed/uTNFK1nvYB4GX2GT653Qy7HNx5dvJ4D25w==
`protect key_keyowner = "Metrics Technologies Inc.", key_keyname = "DSim", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
U53JryqO4dujkPwwUS7BGchyy5Q4W7a4MbaBak2vh/LfvIwPjDKT7H+JHXAfFKkI3WSSJDQe9Ea7
JZAzWrbo3PvDDhjrH33MDn2d39H6x/a7dlM5lp/GbVkB04s6ZzX1qStn16BCIdR8MohVbUaoyHcO
t9MKcCfcaojDYOL+u7gsOJxjTMY1caCIUVEm79uWjEJ3FDTNY/iEJA8MyJz8ddwkLqkpX5AdoZzh
5i7d07mZ6asAI97kucAI1p8P6uIGNluivgbjpTnaAUydQhE5BkeWgovXNNlh2AXi5k30Kf0JPKk6
FC1STz3jVmkzLkd5V5EMmIArmuT6h2tCwYbeRQ==
`protect key_keyowner = "Atrenta", key_keyname = "ATR-SG-RSA-1", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 384)
`protect key_block
s0TLKy61ir/yfGXeckaJUZLcXLSPAidY8foxVpjf4EfgCMM2KmSBXjc/e37BaNxQnVp6gNX/5YZD
+2dtKPCPwtLEzxKvsH7k7nNzsIZgnPqo4bReamASFG5tVj4b6RIpBe0VoPWZFrFileFikFkfwZo1
/MszPgCFYZPz6dPV72kloTVVGbNFYQuMh+pDgk7AK8Au14Q5YrYrBGQMQ89dzLkEY+ZUJom4cTYd
qeVDW+zn+ySz4QtlBdKz92i/q9u1nghnMhE+nwbHlCLbxPmoAVHZdVpmvqJ8XtLUM96KCXnF5iKV
QP9xBHmtfc7MU67mJglsO0IElK1aP5+8vS4lHIPYIJn2jB7qmZePPxqKA/Nb8euEjBnfOUgsTJfJ
krgcDbSJzK5oGwujCGeIwLbI4lObG+lv2zY9HNa60kurD4MokDp9CBc9MhzzkZP55rkAGOoOPpS+
jNKY2sE8ZZ/G6do/rL4lXcKHc7VLUCe78kcbVqYIJvFW4zbjKmeSVtCo
`protect key_keyowner = "Cadence Design Systems.", key_keyname = "CDS_RSA_KEY_VER_1", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
JPhNykS6D6gHxr3ISGRIQ9/DclsRsZyQ1HAVx2bTr7SNz9q8F41EcuUqwJ5dd10l4ANRtj183P/a
LboPe/q5B7DQ8PUGVW9xy0yPWBeMNBiSuC+Atx97kb3RdmFNg9C/Zqu7WLRxNVbmpcpW/f0HH9HO
ao3Fqf9OIhCJrHhTsLyISKfZEkf+/T7LPAHrG93y6wldzt3LTlRBiujYg11/dF7IsI0h0yqP9+Hf
CIQLrCtejE455glHJc4Zhmpra3ivUJXf4Z3KqTdsQ2Fqir3wlX90yw1hi/lR0EmVxe0wkKLOSUYJ
hPlEeV+saTWifw9zswbe1ObuFK1sG5YfbewQVQ==
`protect data_method = "AES128-CBC"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 26688)
`protect data_block
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
pVymNs54aqFxMlYA
`protect end_protected
@@ -0,0 +1,492 @@
`protect begin_protected
`protect version = 1
`protect encrypt_agent = "XILINX"
`protect encrypt_agent_info = "Xilinx Encryption Tool 2023.1"
`protect key_keyowner = "Synopsys", key_keyname = "SNPS-VCS-RSA-2", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
`protect key_block
Ght0VeKICZNAmDnMZGSMEDhtkRnEnfJ5A6NLWcsYx0eW3s0etQrV1OAIRfBCVWhj7R81QFqhEMHC
ddoHamRb6XvEM6glQRkgyyDRH1tc/Dr7v3i8nCWBSB8of1/peIAahpcUVhDkYUj23eCo+3mKtVsy
uX24UhjI+kMuKQRzx3g=
`protect key_keyowner = "Aldec", key_keyname = "ALDEC15_001", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
NKCwtAyzuhw2MJUPjWf5dl+BHsWTtDN7AuJ+t0WjPxGxmxL1ixHpnipBFX2mzNiN/WQMxKzYrmzz
5Mc0N+E5bbh0hQHM2Sw+nTuygxt94QwN1pzY9YcZYgXLOm6lPLlSOBsaObZK087zTjVmMo8B0/SG
ce0zL0MWt6neS0xX3dZiS3EV4kuqr4Wc30R7Qiucep9Fi3K7Wj1tNRsodSHzZSmAgHsTKF7iO/On
uX0EFtZItzxSO9PwJl+WHPHNKrdGIKcYvQ4QOxpZ9nBb7F04gt2DhBxpS3QACd3i+Wlh6M4uCBnC
iL5Gqr04bWc1L3is9+Fjy23oDboW3J0I8h91Ww==
`protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-VELOCE-RSA", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
`protect key_block
Z2gg8U2E7rUThId/JIICEmD4BhX8dINS1ygdoHzQ0btOv2j8AagRsmRBpRYCzl4HJqD+E5WiyFkL
9dnz7z4suySBvHTLSuB6ZFPndMUz0n7tUCCGQ2ZxNLKydahXMIm4Aaeq2NhRkGvcZ1BssmohBj58
lnDCvuPo4w92ta86R+g=
`protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-VERIF-SIM-RSA-2", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
mUQhz71v9mSimTADLtHitzouQ+fRdWnlszFQGx46N8RTBT11Zw7BqkyM66SMlQ8/DQe8Qfsl9vKQ
oc8XRTvRZDLTN0YnEDV6lQuQyBbsjCwWPHwMWOpRUusa1s+YrQ8z5P4QBuQiRzi0FPJZkGmvSj/S
I5wZpWCgwN01LxYZdvB9DAR1LyG9IIcReQjlN2DgHw89KjUik5zfsytV//0lithtE6EtQ05sJRtC
6BMB24Va5+Q6o04XpWE2xsUDqp1aNESgoZt++X9LLAE2Rw9Xooas+ToVHO2P17EXu2n84msRVL/R
TRDqk4WbA3mfAN9FI+X80Fk4fb82e6cDh4UPJQ==
`protect key_keyowner = "Real Intent", key_keyname = "RI-RSA-KEY-1", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
Mu9e5zxLmPtnx5tJk75Hz6zl52B6aheAdak/MMrGL656HsqEhqYUSYNGXqA0xFAz6HU27qcW2/h7
JIvqoI024ex+vuXYpBqKWQVk/QR9jht0hHe/HvYqPYUQ1MiAsKdcgZ+4nA3ljezj4BKCzylJQha2
TVrh0grUeE01vpU8Hn0Ns9ErsvoL1+DP7xmYUu3qK5DdKp383/HPXBCJxOQcD0Rg91IANwtFQ+8/
RWsDKkWYE0mvF/L7vfEXeOnODweg8mNIVhwOy/HKWro4SEOIz6vkltljoErWp42emTYhSzth8Pxv
HwBtjAH0ge60TzvqZa3/CXEd3+gW5AnXQGPumQ==
`protect key_keyowner = "Xilinx", key_keyname = "xilinxt_2022_10", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
qLXDYO8ZJurrY47bMIbBWXUzajTIJbnKlmCVC7AqdPnSxcU25yXxFFDxEYa4exIPuKWvoJimSKG8
nIzvYsI+P87rTmKw0ZtsaHc4WBquJoi3/fa1bdv5+mqVD1odLa+ogET/FUH+NxATKgNH5lz/+6+S
59Lh6cSDivQ0GEwhftfCg4ilvouVo3hVYl/sAXqgHVwsJLCBm/kfTPdxSEBxirlw0kyiuFzzZ1HX
tMpO1chFcS+ZF9/vF8yp9cywU9tJuNKaHxHO3HhngPXOblbLa2NaLnXDJHqBvyn+y434QXgplcyM
VwAP3pQYErEL4rPXLqPdGlONV3PZjCtXapnIrg==
`protect key_keyowner = "Metrics Technologies Inc.", key_keyname = "DSim", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
OeNz5OfkX7lbEs94FKyfSjV+TceFfIFqWGAfPAn/nNOqxaQPn9ddY6lJ2n2TdAJoqtgkA2TeCp81
/lzh4MAnAbW+RNpdH2G/bJbGSAZymm8oUwnxJlMNEAe2hXG9h/tkUAiJzwQWODHy6niz3cdJLs/Q
li0P3mCxjsd8sLhFQWJKTUoYoRhzayResto7xmUzWXgASySwuuTkJeX75QMqAShgTj6t0J3M2FTc
Bc/ZjrVp9qLPA1+b1mhyToENvaoS5Xkpe5CKKRHDco2EZbFge8G5egu+sTcomAbHxk+p65jF7Y4P
EA7EBioeTQtwyjAY6Rgl5POG/Hsxns17zo3N/A==
`protect key_keyowner = "Atrenta", key_keyname = "ATR-SG-RSA-1", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 384)
`protect key_block
eIaPidva2V9hEh1hOjfKm3xr+lXHq+2JlwofL+/3NCr1cbxY316zyMXLr6hbu/u5CIPY+ArvVjJR
Z9poK3BDcA1hXZqcCdhpTMe1hgJhA7nUL/92eT2wqq3NN37vsE9bs/xdZAXpHO3SQYFs2vFD98Sv
k6Iim9w0VCCY5bCuQyzXU1Qgxi07YgsOaOefb94Fz1Tt9Dco2E/pivdA7QxHGY3JafWgzKGa64rC
nViU3gUrYO7XWYW6h2Bac3001YcsQ4WK+9XtBzX2pYibm0xPUig7/fQLrIAszxLGPl4dsSJ9zXx8
nrDWzRQV3yTqQSO8m5hWohRLaTrIH0UrER0GIdGDI1YpJUB3qMy+0dqdoVpvSh0dZrM8KuC1GeQb
Ta8DYbf5YBR4QZ+5kmahu2ljaWqHrrDZhAgZa2kxO8frMFsaEYTKinw7P8GhFOw36dpvKlVnxoDG
PbYJpMrhY0N41dc87bEwNhm4u31XFuj+OEYrWGuCCeQ2oVoVtqkIVjvf
`protect key_keyowner = "Cadence Design Systems.", key_keyname = "CDS_RSA_KEY_VER_1", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
AsD76Fxw5cyweE2FX9n04TeZ1VVdKmYoqKAg/fgexAER7KP3S10NFDsXa1ZUNpo8E9iHOKHfXA2l
uEAdRx8aMco389caYqaALvmk2c43Hz6Tov6XOMVY4weLGD1HtgN4uiDno1V5n1BFINu0vUDE+lS4
0faKbrbY6Qe3D+qHgPvNJmp5EjjIC97DKzRcohAe/vExBC8LKQRCGx4Ans8gYZMYzWu6Y4w4sRk0
yJoUY7IDCTHuyO1TQ1BNBi5zH4m1RroqxEDBGlXFXyWsfYFS+ez+v14ohaUWun5X7msh11UwQHsk
jbmWmX9C0Fz+z/2z8gLHQ/wlQCjjM3wzMODxnQ==
`protect data_method = "AES128-CBC"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 23056)
`protect data_block
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
zLrH0tBjyosw7ZvO9tWqrgXULl05KgQ3b8v1aw==
`protect end_protected
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,441 @@
`protect begin_protected
`protect version = 1
`protect encrypt_agent = "XILINX"
`protect encrypt_agent_info = "Xilinx Encryption Tool 2023.1"
`protect key_keyowner = "Synopsys", key_keyname = "SNPS-VCS-RSA-2", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
`protect key_block
HWiYB26hIQjzRmBEQddnk+TkZRIUaU/8hivrhmvGJBwMh3dipoejXvlsU5qLAhbl2DGE27GV3fP8
KkM6IwVBhuZ5is/BVxkeQcooRv8UcydjPbKrA08TzHd/ajeMc2VEMHfmN7z4JzmpIIc/W2LYI4DQ
ODc+zuxyInfai+IG070=
`protect key_keyowner = "Aldec", key_keyname = "ALDEC15_001", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
ocP3xg9YgAYcOUjiB8jaFaFtF0AcSPczXpvtweBlpmrd6X9/U3WHjpB9p85aJ1RDk3aOrx0mPq9T
zdpdYkZg8ztuD4zzK68MT3rK6FxfJLKcdi9jrXLVe0JMfIPofbq8NIptPL1Y7jq8K7NkAQ7ABXt8
JzpvvBsr+O4AgSbIuc8ckolTMq33QIRqr0L/W9Rhslma87cjILZA5PJrfnhYe2P/e0z1ZK0lRSm6
/w5P4+QND0x8GggWICLKlz/N+cnuyXrvWyYL/DGluddbRFxbvLBnvfl30DDgfXKneL/wo/VpjpMC
4WNKwRJQ+n+vHNimdFP0w0/A1Z8tncniHiUfcw==
`protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-VELOCE-RSA", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
`protect key_block
uhJif3F+NRP5cPRWuiq3iyVWhjH7f9SAExNSVRPTcDb77Aqg2nFA8LocD7VZZez3IVxVKYHLjkj0
ycY3Rr//arFtFMozBan/eWmnoQhAALZHjcBdYcVMAIbpg8MG2oF0i5EpM9YnLW6TfKRINFb8xyj/
WrP5vxxn6q9RRFX0AlI=
`protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-VERIF-SIM-RSA-2", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
SfGa/2486C1Kp7Bj59FmB+4NKeZE13D4ZdQvdBMtzCHgtx24gvreQnHc8LUUeMQObb0+iKPATxpw
vsOKyVlLFVhHCnua0vM+sKx5NNIkCe66yQ+3ZpvZ6r1KpWGCI5WwrZw4cEWvDmOT98pK/x6f/7Fx
/+0sr+hrJz6xk5rBmUs+Y5D9a6x4pgwF++cCkHSzrwi8R+fpGCZbzPNxYnMDy4fJeBuzbpVDpf6I
GG1ES8z9Tgd4cLYKku930mggbLpKvoSGqSQWgn2mPEpl6Q2vQX4nxuXGzmjcFzynuEsLVpyE8t2C
ksddhtuQBj54nTnq7xgGS0sVP1sCefTIMJrWFQ==
`protect key_keyowner = "Real Intent", key_keyname = "RI-RSA-KEY-1", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
M8/sOxIhwuLXvyLlpgLgmScrMJvKxYEhTDKn5N6pTqU2zyVJWGWOLP6sjp4xq+PBpdazBek0u8k1
NxsEGqixC1cpRM/SxdnNeXN2QuWqchNOtZISxmQkrIs1PRLa1dfUTMmGElzMxA1LqJKcLw8QHNmw
EP/83dRsmPDbs5k72BVFVxsELPMSY1zez35jNzjoPe14U7Ea/5keMAxqRweAkc6h2PELXjpfO+SF
oSS9r30A0YluSUh8UufABf0iVzLNsBDdisffh16CAg3706OG+GNgV+UgeZBNQJnWXoqJ+NWHUU+t
pMR4k4ZsQVxTsKzbzrg/gqGLYcWTJiEwzSeFng==
`protect key_keyowner = "Xilinx", key_keyname = "xilinxt_2022_10", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
a4NxK0/vqrw4D8MwNXGXAgtLA6UaTDAL8M+2sPr38hL1a6HAQHGxytF5sYrK3C66Rv1268BscC55
zTX1IV5nZEUNjT6vhMCT0mm03IkJm1cFstXGV4N3Ba7RwbqDOEAYjNTFyamY9vfby5YZDwhmI5pi
rct07P7T54Mk47jhY32uHXoRSbApTe4be4C03DX482OTdx3ECQBmUkrGZduYWwNxmTo85nauiVxC
kRoCm/QYJb8u0VM0PCkCt9dQJi0g6sIwTjXZyuzi8zRwEJGqmAazSkOeqkGKV59RNFkq5IOfiNsi
l3+h2XR9QfYy8vMgY2s18xDEEg3Dd95TMhyEyA==
`protect key_keyowner = "Metrics Technologies Inc.", key_keyname = "DSim", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
HGccLIdlLXoxXsOSGwQv+txTsCIaPCJoeA5pBt8xOWiLVpJtpXPmphV/m62/D620CiAQhokC/epw
DdXSJaEjT5wnTaRgSWEDZP0F2miSXD6na7kl8siIOVEIWaidyiyoV77ifJylwqJZZl1bJEpjXKub
pJL1Gd6ihh8agX+WDgymm4v4qQic/1WjYZ6SpudTUEo8ir5DlTAEnRCaEEiIGuZ+CaIz1ryjaEit
SSPj94lxWVo6M7fZ9qjfV3yf+DiknPtdTufVJQn5XwolcZOxP7yzGqODeqvWCZtm078ZeyE74FWB
QOxj8UNCFaBeK4xQibh8u6/ckZHy3joIDDTTVw==
`protect key_keyowner = "Atrenta", key_keyname = "ATR-SG-RSA-1", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 384)
`protect key_block
EPwW7Vdg8ANsiM9LKi8O6WmX2V3wdANDySjO4nGDWt9RpSKaKIACgLs9wFNy/Xibau/14z8670AU
GXVFwiK8IhtCoSc1ELhI98yt8j/t3U1D31VMrpH9Sg5TCPEcRcnd1JRdMgRSPIAKvWet2mZ113ZW
uYoYleSNKyneJ4exfeVlM7ESGtkdm73SAD1oQ6hW1bLD7mLpa05NE4SOvf8lu3HmkID4vd4DprQx
9O6SHExVSg0sTCDoPSauVBm3z+vIpHCT1ADCduYCtZwLZYiCOTrGO8VtKWoVYyYBlXupyQMp8G0D
oLg4EfZ3l2jojAL9+DPAcruHHbdM+OKL3jvNI3i/o/4JMJG4M12N0Qd8jvoh5fRMAR7gzI7U7heC
P/nODQDXXcKnadcmV5OI2Heo9Ainep32d5iqvsrwreOUg2Bd3VtQ7k82FiZOQNuynZV7K4/3+nao
wFiwyaMNIcRWiiGAuEtOvFywWj/lgqvqAKTmgdsHboD6xlyb4tVh4inA
`protect key_keyowner = "Cadence Design Systems.", key_keyname = "CDS_RSA_KEY_VER_1", key_method = "rsa"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`protect key_block
kHlgqnbCkgETi98+zxApV9SufhnhcauxlFyo8M2hG3d8g+YssgCOXXWIqP8EcOJJQ4bhAKcRpYXJ
ZoNCyFHVGUP3TtIIfaiuaGz6x9+/uSPGqTBsPv7jxvmhu5jReTH8q9uRAlc8Xadnty0pcCoaNDlp
IAS9mH75r9gQZGUF1M2HDqG+EBpebEssFR7xzBxYSgTOWgpxeEOWVgSdxVcn8uOxESP+qXRDzuOg
XCiTmqnFJyvc/r21wH57lG8hNd5Q29DEhftkkl/WZ50Q1jPnjGG8QsBBzdhf8bfBu6FwwlGnYoP7
q5XKBhxuMAODMQdlKYQammEkJt+ugtyKakbnlA==
`protect data_method = "AES128-CBC"
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 20128)
`protect data_block
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
LVLH+cIA/g==
`protect end_protected
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,181 @@
-- (c) Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
-- (c) Copyright 2022-2026 Advanced Micro Devices, Inc. All rights reserved.
--
-- This file contains confidential and proprietary information
-- of AMD and is protected under U.S. and international copyright
-- and other intellectual property laws.
--
-- DISCLAIMER
-- This disclaimer is not a license and does not grant any
-- rights to the materials distributed herewith. Except as
-- otherwise provided in a valid license issued to you by
-- AMD, and to the maximum extent permitted by applicable
-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
-- (2) AMD shall not be liable (whether in contract or tort,
-- including negligence, or under any other theory of
-- liability) for any loss or damage of any kind or nature
-- related to, arising under or in connection with these
-- materials, including for any direct, or any indirect,
-- special, incidental, or consequential loss or damage
-- (including loss of data, profits, goodwill, or any type of
-- loss or damage suffered as a result of any action brought
-- by a third party) even if such damage or loss was
-- reasonably foreseeable or AMD had been advised of the
-- possibility of the same.
--
-- CRITICAL APPLICATIONS
-- AMD products are not designed or intended to be fail-
-- safe, or for use in any application requiring fail-safe
-- performance, such as life-support or safety devices or
-- systems, Class III medical devices, nuclear facilities,
-- applications related to the deployment of airbags, or any
-- other applications that could lead to death, personal
-- injury, or severe property or environmental damage
-- (individually and collectively, "Critical
-- Applications"). Customer assumes the sole risk and
-- liability of any use of AMD products in Critical
-- Applications, subject only to applicable laws and
-- regulations governing limitations on product liability.
--
-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
-- PART OF THIS FILE AT ALL TIMES.
--
-- DO NOT MODIFY THIS FILE.
-- IP VLNV: xilinx.com:ip:c_addsub:12.0
-- IP Revision: 15
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
LIBRARY c_addsub_v12_0_15;
USE c_addsub_v12_0_15.c_addsub_v12_0_15;
ENTITY c_add_s16_s32 IS
PORT (
A : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
B : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
CLK : IN STD_LOGIC;
CE : IN STD_LOGIC;
SCLR : IN STD_LOGIC;
S : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
);
END c_add_s16_s32;
ARCHITECTURE c_add_s16_s32_arch OF c_add_s16_s32 IS
ATTRIBUTE DowngradeIPIdentifiedWarnings : STRING;
ATTRIBUTE DowngradeIPIdentifiedWarnings OF c_add_s16_s32_arch: ARCHITECTURE IS "yes";
COMPONENT c_addsub_v12_0_15 IS
GENERIC (
C_VERBOSITY : INTEGER;
C_XDEVICEFAMILY : STRING;
C_IMPLEMENTATION : INTEGER;
C_A_WIDTH : INTEGER;
C_B_WIDTH : INTEGER;
C_OUT_WIDTH : INTEGER;
C_CE_OVERRIDES_SCLR : INTEGER;
C_A_TYPE : INTEGER;
C_B_TYPE : INTEGER;
C_LATENCY : INTEGER;
C_ADD_MODE : INTEGER;
C_B_CONSTANT : INTEGER;
C_B_VALUE : STRING;
C_AINIT_VAL : STRING;
C_SINIT_VAL : STRING;
C_CE_OVERRIDES_BYPASS : INTEGER;
C_BYPASS_LOW : INTEGER;
C_SCLR_OVERRIDES_SSET : INTEGER;
C_HAS_C_IN : INTEGER;
C_HAS_C_OUT : INTEGER;
C_BORROW_LOW : INTEGER;
C_HAS_CE : INTEGER;
C_HAS_BYPASS : INTEGER;
C_HAS_SCLR : INTEGER;
C_HAS_SSET : INTEGER;
C_HAS_SINIT : INTEGER
);
PORT (
A : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
B : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
CLK : IN STD_LOGIC;
ADD : IN STD_LOGIC;
C_IN : IN STD_LOGIC;
CE : IN STD_LOGIC;
BYPASS : IN STD_LOGIC;
SCLR : IN STD_LOGIC;
SSET : IN STD_LOGIC;
SINIT : IN STD_LOGIC;
C_OUT : OUT STD_LOGIC;
S : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
);
END COMPONENT c_addsub_v12_0_15;
ATTRIBUTE X_CORE_INFO : STRING;
ATTRIBUTE X_CORE_INFO OF c_add_s16_s32_arch: ARCHITECTURE IS "c_addsub_v12_0_15,Vivado 2023.1";
ATTRIBUTE CHECK_LICENSE_TYPE : STRING;
ATTRIBUTE CHECK_LICENSE_TYPE OF c_add_s16_s32_arch : ARCHITECTURE IS "c_add_s16_s32,c_addsub_v12_0_15,{}";
ATTRIBUTE CORE_GENERATION_INFO : STRING;
ATTRIBUTE CORE_GENERATION_INFO OF c_add_s16_s32_arch: ARCHITECTURE IS "c_add_s16_s32,c_addsub_v12_0_15,{x_ipProduct=Vivado 2023.1,x_ipVendor=xilinx.com,x_ipLibrary=ip,x_ipName=c_addsub,x_ipVersion=12.0,x_ipCoreRevision=15,x_ipLanguage=VERILOG,x_ipSimLanguage=MIXED,C_VERBOSITY=0,C_XDEVICEFAMILY=zynq,C_IMPLEMENTATION=0,C_A_WIDTH=16,C_B_WIDTH=32,C_OUT_WIDTH=32,C_CE_OVERRIDES_SCLR=0,C_A_TYPE=0,C_B_TYPE=0,C_LATENCY=1,C_ADD_MODE=0,C_B_CONSTANT=0,C_B_VALUE=00000000000000000000000000000000,C_AINIT_VAL=0,C_SINIT_VAL=0,C_CE_OVERRIDES_BYPASS=1,C_BYPASS_LOW=0,C_SCLR_OVERRIDES_" &
"SSET=1,C_HAS_C_IN=0,C_HAS_C_OUT=0,C_BORROW_LOW=1,C_HAS_CE=1,C_HAS_BYPASS=0,C_HAS_SCLR=1,C_HAS_SSET=0,C_HAS_SINIT=0}";
ATTRIBUTE X_INTERFACE_INFO : STRING;
ATTRIBUTE X_INTERFACE_PARAMETER : STRING;
ATTRIBUTE X_INTERFACE_PARAMETER OF A: SIGNAL IS "XIL_INTERFACENAME a_intf, LAYERED_METADATA undef";
ATTRIBUTE X_INTERFACE_INFO OF A: SIGNAL IS "xilinx.com:signal:data:1.0 a_intf DATA";
ATTRIBUTE X_INTERFACE_PARAMETER OF B: SIGNAL IS "XIL_INTERFACENAME b_intf, LAYERED_METADATA undef";
ATTRIBUTE X_INTERFACE_INFO OF B: SIGNAL IS "xilinx.com:signal:data:1.0 b_intf DATA";
ATTRIBUTE X_INTERFACE_PARAMETER OF CE: SIGNAL IS "XIL_INTERFACENAME ce_intf, POLARITY ACTIVE_HIGH";
ATTRIBUTE X_INTERFACE_INFO OF CE: SIGNAL IS "xilinx.com:signal:clockenable:1.0 ce_intf CE";
ATTRIBUTE X_INTERFACE_PARAMETER OF CLK: SIGNAL IS "XIL_INTERFACENAME clk_intf, ASSOCIATED_BUSIF s_intf:c_out_intf:sinit_intf:sset_intf:bypass_intf:c_in_intf:add_intf:b_intf:a_intf, ASSOCIATED_RESET SCLR, ASSOCIATED_CLKEN CE, FREQ_HZ 100000000, FREQ_TOLERANCE_HZ 0, PHASE 0.0, INSERT_VIP 0";
ATTRIBUTE X_INTERFACE_INFO OF CLK: SIGNAL IS "xilinx.com:signal:clock:1.0 clk_intf CLK";
ATTRIBUTE X_INTERFACE_PARAMETER OF S: SIGNAL IS "XIL_INTERFACENAME s_intf, LAYERED_METADATA undef";
ATTRIBUTE X_INTERFACE_INFO OF S: SIGNAL IS "xilinx.com:signal:data:1.0 s_intf DATA";
ATTRIBUTE X_INTERFACE_PARAMETER OF SCLR: SIGNAL IS "XIL_INTERFACENAME sclr_intf, POLARITY ACTIVE_HIGH, INSERT_VIP 0";
ATTRIBUTE X_INTERFACE_INFO OF SCLR: SIGNAL IS "xilinx.com:signal:reset:1.0 sclr_intf RST";
BEGIN
U0 : c_addsub_v12_0_15
GENERIC MAP (
C_VERBOSITY => 0,
C_XDEVICEFAMILY => "zynq",
C_IMPLEMENTATION => 0,
C_A_WIDTH => 16,
C_B_WIDTH => 32,
C_OUT_WIDTH => 32,
C_CE_OVERRIDES_SCLR => 0,
C_A_TYPE => 0,
C_B_TYPE => 0,
C_LATENCY => 1,
C_ADD_MODE => 0,
C_B_CONSTANT => 0,
C_B_VALUE => "00000000000000000000000000000000",
C_AINIT_VAL => "0",
C_SINIT_VAL => "0",
C_CE_OVERRIDES_BYPASS => 1,
C_BYPASS_LOW => 0,
C_SCLR_OVERRIDES_SSET => 1,
C_HAS_C_IN => 0,
C_HAS_C_OUT => 0,
C_BORROW_LOW => 1,
C_HAS_CE => 1,
C_HAS_BYPASS => 0,
C_HAS_SCLR => 1,
C_HAS_SSET => 0,
C_HAS_SINIT => 0
)
PORT MAP (
A => A,
B => B,
CLK => CLK,
ADD => '1',
C_IN => '0',
CE => CE,
BYPASS => '0',
SCLR => SCLR,
SSET => '0',
SINIT => '0',
S => S
);
END c_add_s16_s32_arch;
@@ -0,0 +1,64 @@
################################################################################
# (c) Copyright 2009 - 2013 Xilinx, Inc. All rights reserved.
#
# This file contains confidential and proprietary information
# of Xilinx, Inc. and is protected under U.S. and
# international copyright and other intellectual property
# laws.
#
# DISCLAIMER
# This disclaimer is not a license and does not grant any
# rights to the materials distributed herewith. Except as
# otherwise provided in a valid license issued to you by
# Xilinx, and to the maximum extent permitted by applicable
# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
# (2) Xilinx shall not be liable (whether in contract or tort,
# including negligence, or under any other theory of
# liability) for any loss or damage of any kind or nature
# related to, arising under or in connection with these
# materials, including for any direct, or any indirect,
# special, incidental, or consequential loss or damage
# (including loss of data, profits, goodwill, or any type of
# loss or damage suffered as a result of any action brought
# by a third party) even if such damage or loss was
# reasonably foreseeable or Xilinx had been advised of the
# possibility of the same.
#
# CRITICAL APPLICATIONS
# Xilinx products are not designed or intended to be fail-
# safe, or for use in any application requiring fail-safe
# performance, such as life-support or safety devices or
# systems, Class III medical devices, nuclear facilities,
# applications related to the deployment of airbags, or any
# other applications that could lead to death, personal
# injury, or severe property or environmental damage
# (individually and collectively, "Critical
# Applications"). Customer assumes the sole risk and
# liability of any use of Xilinx products in Critical
# Applications, subject only to applicable laws and
# regulations governing limitations on product liability.
#
# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
# PART OF THIS FILE AT ALL TIMES.
#
################################################################################
#------------------------------------------------------------------------------#
# Native FIFO Constraints #
#------------------------------------------------------------------------------#
################################################################################
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,69 @@
################################################################################
# (c) Copyright 2009 - 2013 Xilinx, Inc. All rights reserved.
#
# This file contains confidential and proprietary information
# of Xilinx, Inc. and is protected under U.S. and
# international copyright and other intellectual property
# laws.
#
# DISCLAIMER
# This disclaimer is not a license and does not grant any
# rights to the materials distributed herewith. Except as
# otherwise provided in a valid license issued to you by
# Xilinx, and to the maximum extent permitted by applicable
# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
# (2) Xilinx shall not be liable (whether in contract or tort,
# including negligence, or under any other theory of
# liability) for any loss or damage of any kind or nature
# related to, arising under or in connection with these
# materials, including for any direct, or any indirect,
# special, incidental, or consequential loss or damage
# (including loss of data, profits, goodwill, or any type of
# loss or damage suffered as a result of any action brought
# by a third party) even if such damage or loss was
# reasonably foreseeable or Xilinx had been advised of the
# possibility of the same.
#
# CRITICAL APPLICATIONS
# Xilinx products are not designed or intended to be fail-
# safe, or for use in any application requiring fail-safe
# performance, such as life-support or safety devices or
# systems, Class III medical devices, nuclear facilities,
# applications related to the deployment of airbags, or any
# other applications that could lead to death, personal
# injury, or severe property or environmental damage
# (individually and collectively, "Critical
# Applications"). Customer assumes the sole risk and
# liability of any use of Xilinx products in Critical
# Applications, subject only to applicable laws and
# regulations governing limitations on product liability.
#
# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
# PART OF THIS FILE AT ALL TIMES.
#
################################################################################
#------------------------------------------------------------------------------#
# Native FIFO Constraints #
#------------------------------------------------------------------------------#
#set wr_clock [get_clocks -of_objects [get_ports wr_clk]]
#set rd_clock [get_clocks -of_objects [get_ports rd_clk]]
#set wr_clk_period [get_property PERIOD $wr_clock]
#set rd_clk_period [get_property PERIOD $rd_clock]
#set skew_value [expr {(($wr_clk_period < $rd_clk_period) ? $wr_clk_period : $rd_clk_period)} ]
# Set max delay on cross clock domain path for Block/Distributed RAM based FIFO
## set_max_delay -from [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*rd_pntr_gc_reg[*]] -to [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*gsync_stage[1].wr_stg_inst/Q_reg_reg[*]] -datapath_only [get_property -min PERIOD $rd_clock]
## set_bus_skew -from [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*rd_pntr_gc_reg[*]] -to [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*gsync_stage[1].wr_stg_inst/Q_reg_reg[*]] $skew_value
## set_max_delay -from [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*wr_pntr_gc_reg[*]] -to [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*gsync_stage[1].rd_stg_inst/Q_reg_reg[*]] -datapath_only [get_property -min PERIOD $wr_clock]
## set_bus_skew -from [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*wr_pntr_gc_reg[*]] -to [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*gsync_stage[1].rd_stg_inst/Q_reg_reg[*]] $skew_value
#set_false_path -from [get_cells -hierarchical -filter {NAME =~ *gsckt_wrst.gic_rst.sckt_wrst_i_reg}] -to [get_cells -hierarchical -filter {NAME =~ *gsckt_wrst.gic_rst.garst_sync_ic[1].rd_rst_inst/Q_reg_reg[0]}]
#set_false_path -from [get_cells -hierarchical -filter {NAME =~ *gsckt_wrst.gic_rst.garst_sync_ic[3].rd_rst_inst/Q_reg_reg[0]}] -to [get_cells -hierarchical -filter {NAME =~ *gsckt_wrst.gic_rst.garst_sync_ic[1].rd_rst_wr_inst/Q_reg_reg[0]}]
################################################################################
@@ -0,0 +1,59 @@
# (c) Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
# (c) Copyright 2022-2026 Advanced Micro Devices, Inc. All rights reserved.
#
# This file contains confidential and proprietary information
# of AMD and is protected under U.S. and international copyright
# and other intellectual property laws.
#
# DISCLAIMER
# This disclaimer is not a license and does not grant any
# rights to the materials distributed herewith. Except as
# otherwise provided in a valid license issued to you by
# AMD, and to the maximum extent permitted by applicable
# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
# (2) AMD shall not be liable (whether in contract or tort,
# including negligence, or under any other theory of
# liability) for any loss or damage of any kind or nature
# related to, arising under or in connection with these
# materials, including for any direct, or any indirect,
# special, incidental, or consequential loss or damage
# (including loss of data, profits, goodwill, or any type of
# loss or damage suffered as a result of any action brought
# by a third party) even if such damage or loss was
# reasonably foreseeable or AMD had been advised of the
# possibility of the same.
#
# CRITICAL APPLICATIONS
# AMD products are not designed or intended to be fail-
# safe, or for use in any application requiring fail-safe
# performance, such as life-support or safety devices or
# systems, Class III medical devices, nuclear facilities,
# applications related to the deployment of airbags, or any
# other applications that could lead to death, personal
# injury, or severe property or environmental damage
# (individually and collectively, "Critical
# Applications"). Customer assumes the sole risk and
# liability of any use of AMD products in Critical
# Applications, subject only to applicable laws and
# regulations governing limitations on product liability.
#
# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
# PART OF THIS FILE AT ALL TIMES.
#
# DO NOT MODIFY THIS FILE.
# #########################################################
#
# This XDC is used only in OOC mode for synthesis, implementation
#
# #########################################################
create_clock -period 10 -name wr_clk [get_ports wr_clk]
create_clock -period 10 -name rd_clk [get_ports rd_clk]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,34 @@
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
// Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.
// --------------------------------------------------------------------------------
// Tool Version: Vivado v.2023.1 (win64) Build 3865809 Sun May 7 15:05:29 MDT 2023
// Date : Wed Jun 24 13:53:58 2026
// Host : DESKTOP-VN054CM running 64-bit major release (build 9200)
// Command : write_verilog -force -mode synth_stub
// d:/Project/spinal_stim/pl/spinal_stim_v0/LJS.gen/sources_1/ip/fifo_generator_1/fifo_generator_1_stub.v
// Design : fifo_generator_1
// Purpose : Stub declaration of top-level module interface
// Device : xc7z020clg400-2
// --------------------------------------------------------------------------------
// This empty module with port declaration file causes synthesis tools to infer a black box for IP.
// The synthesis directives are for Synopsys Synplify support to prevent IO buffer insertion.
// Please paste the declaration into a Verilog source file or add the file as an additional source.
(* x_core_info = "fifo_generator_v13_2_8,Vivado 2023.1" *)
module fifo_generator_1(rst, wr_clk, rd_clk, din, wr_en, rd_en, dout, full,
empty, wr_rst_busy, rd_rst_busy)
/* synthesis syn_black_box black_box_pad_pin="rst,din[31:0],wr_en,rd_en,dout[31:0],full,empty,wr_rst_busy,rd_rst_busy" */
/* synthesis syn_force_seq_prim="wr_clk" */
/* synthesis syn_force_seq_prim="rd_clk" */;
input rst;
input wr_clk /* synthesis syn_isclock = 1 */;
input rd_clk /* synthesis syn_isclock = 1 */;
input [31:0]din;
input wr_en;
input rd_en;
output [31:0]dout;
output full;
output empty;
output wr_rst_busy;
output rd_rst_busy;
endmodule
@@ -0,0 +1,41 @@
-- Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
-- Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.
-- --------------------------------------------------------------------------------
-- Tool Version: Vivado v.2023.1 (win64) Build 3865809 Sun May 7 15:05:29 MDT 2023
-- Date : Wed Jun 24 13:53:58 2026
-- Host : DESKTOP-VN054CM running 64-bit major release (build 9200)
-- Command : write_vhdl -force -mode synth_stub
-- d:/Project/spinal_stim/pl/spinal_stim_v0/LJS.gen/sources_1/ip/fifo_generator_1/fifo_generator_1_stub.vhdl
-- Design : fifo_generator_1
-- Purpose : Stub declaration of top-level module interface
-- Device : xc7z020clg400-2
-- --------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity fifo_generator_1 is
Port (
rst : in STD_LOGIC;
wr_clk : in STD_LOGIC;
rd_clk : in STD_LOGIC;
din : in STD_LOGIC_VECTOR ( 31 downto 0 );
wr_en : in STD_LOGIC;
rd_en : in STD_LOGIC;
dout : out STD_LOGIC_VECTOR ( 31 downto 0 );
full : out STD_LOGIC;
empty : out STD_LOGIC;
wr_rst_busy : out STD_LOGIC;
rd_rst_busy : out STD_LOGIC
);
end fifo_generator_1;
architecture stub of fifo_generator_1 is
attribute syn_black_box : boolean;
attribute black_box_pad_pin : string;
attribute syn_black_box of stub : architecture is true;
attribute black_box_pad_pin of stub : architecture is "rst,wr_clk,rd_clk,din[31:0],wr_en,rd_en,dout[31:0],full,empty,wr_rst_busy,rd_rst_busy";
attribute x_core_info : string;
attribute x_core_info of stub : architecture is "fifo_generator_v13_2_8,Vivado 2023.1";
begin
end;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,862 @@
-- (c) Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
-- (c) Copyright 2022-2026 Advanced Micro Devices, Inc. All rights reserved.
--
-- This file contains confidential and proprietary information
-- of AMD and is protected under U.S. and international copyright
-- and other intellectual property laws.
--
-- DISCLAIMER
-- This disclaimer is not a license and does not grant any
-- rights to the materials distributed herewith. Except as
-- otherwise provided in a valid license issued to you by
-- AMD, and to the maximum extent permitted by applicable
-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
-- (2) AMD shall not be liable (whether in contract or tort,
-- including negligence, or under any other theory of
-- liability) for any loss or damage of any kind or nature
-- related to, arising under or in connection with these
-- materials, including for any direct, or any indirect,
-- special, incidental, or consequential loss or damage
-- (including loss of data, profits, goodwill, or any type of
-- loss or damage suffered as a result of any action brought
-- by a third party) even if such damage or loss was
-- reasonably foreseeable or AMD had been advised of the
-- possibility of the same.
--
-- CRITICAL APPLICATIONS
-- AMD products are not designed or intended to be fail-
-- safe, or for use in any application requiring fail-safe
-- performance, such as life-support or safety devices or
-- systems, Class III medical devices, nuclear facilities,
-- applications related to the deployment of airbags, or any
-- other applications that could lead to death, personal
-- injury, or severe property or environmental damage
-- (individually and collectively, "Critical
-- Applications"). Customer assumes the sole risk and
-- liability of any use of AMD products in Critical
-- Applications, subject only to applicable laws and
-- regulations governing limitations on product liability.
--
-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
-- PART OF THIS FILE AT ALL TIMES.
--
-- DO NOT MODIFY THIS FILE.
-- IP VLNV: xilinx.com:ip:fifo_generator:13.2
-- IP Revision: 8
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
LIBRARY fifo_generator_v13_2_8;
USE fifo_generator_v13_2_8.fifo_generator_v13_2_8;
ENTITY fifo_generator_1 IS
PORT (
rst : IN STD_LOGIC;
wr_clk : IN STD_LOGIC;
rd_clk : IN STD_LOGIC;
din : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
wr_en : IN STD_LOGIC;
rd_en : IN STD_LOGIC;
dout : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
full : OUT STD_LOGIC;
empty : OUT STD_LOGIC;
wr_rst_busy : OUT STD_LOGIC;
rd_rst_busy : OUT STD_LOGIC
);
END fifo_generator_1;
ARCHITECTURE fifo_generator_1_arch OF fifo_generator_1 IS
ATTRIBUTE DowngradeIPIdentifiedWarnings : STRING;
ATTRIBUTE DowngradeIPIdentifiedWarnings OF fifo_generator_1_arch: ARCHITECTURE IS "yes";
COMPONENT fifo_generator_v13_2_8 IS
GENERIC (
C_COMMON_CLOCK : INTEGER;
C_SELECT_XPM : INTEGER;
C_COUNT_TYPE : INTEGER;
C_DATA_COUNT_WIDTH : INTEGER;
C_DEFAULT_VALUE : STRING;
C_DIN_WIDTH : INTEGER;
C_DOUT_RST_VAL : STRING;
C_DOUT_WIDTH : INTEGER;
C_ENABLE_RLOCS : INTEGER;
C_FAMILY : STRING;
C_FULL_FLAGS_RST_VAL : INTEGER;
C_HAS_ALMOST_EMPTY : INTEGER;
C_HAS_ALMOST_FULL : INTEGER;
C_HAS_BACKUP : INTEGER;
C_HAS_DATA_COUNT : INTEGER;
C_HAS_INT_CLK : INTEGER;
C_HAS_MEMINIT_FILE : INTEGER;
C_HAS_OVERFLOW : INTEGER;
C_HAS_RD_DATA_COUNT : INTEGER;
C_HAS_RD_RST : INTEGER;
C_HAS_RST : INTEGER;
C_HAS_SRST : INTEGER;
C_HAS_UNDERFLOW : INTEGER;
C_HAS_VALID : INTEGER;
C_HAS_WR_ACK : INTEGER;
C_HAS_WR_DATA_COUNT : INTEGER;
C_HAS_WR_RST : INTEGER;
C_IMPLEMENTATION_TYPE : INTEGER;
C_INIT_WR_PNTR_VAL : INTEGER;
C_MEMORY_TYPE : INTEGER;
C_MIF_FILE_NAME : STRING;
C_OPTIMIZATION_MODE : INTEGER;
C_OVERFLOW_LOW : INTEGER;
C_PRELOAD_LATENCY : INTEGER;
C_PRELOAD_REGS : INTEGER;
C_PRIM_FIFO_TYPE : STRING;
C_PROG_EMPTY_THRESH_ASSERT_VAL : INTEGER;
C_PROG_EMPTY_THRESH_NEGATE_VAL : INTEGER;
C_PROG_EMPTY_TYPE : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL : INTEGER;
C_PROG_FULL_THRESH_NEGATE_VAL : INTEGER;
C_PROG_FULL_TYPE : INTEGER;
C_RD_DATA_COUNT_WIDTH : INTEGER;
C_RD_DEPTH : INTEGER;
C_RD_FREQ : INTEGER;
C_RD_PNTR_WIDTH : INTEGER;
C_UNDERFLOW_LOW : INTEGER;
C_USE_DOUT_RST : INTEGER;
C_USE_ECC : INTEGER;
C_USE_EMBEDDED_REG : INTEGER;
C_USE_PIPELINE_REG : INTEGER;
C_POWER_SAVING_MODE : INTEGER;
C_USE_FIFO16_FLAGS : INTEGER;
C_USE_FWFT_DATA_COUNT : INTEGER;
C_VALID_LOW : INTEGER;
C_WR_ACK_LOW : INTEGER;
C_WR_DATA_COUNT_WIDTH : INTEGER;
C_WR_DEPTH : INTEGER;
C_WR_FREQ : INTEGER;
C_WR_PNTR_WIDTH : INTEGER;
C_WR_RESPONSE_LATENCY : INTEGER;
C_MSGON_VAL : INTEGER;
C_ENABLE_RST_SYNC : INTEGER;
C_EN_SAFETY_CKT : INTEGER;
C_ERROR_INJECTION_TYPE : INTEGER;
C_SYNCHRONIZER_STAGE : INTEGER;
C_INTERFACE_TYPE : INTEGER;
C_AXI_TYPE : INTEGER;
C_HAS_AXI_WR_CHANNEL : INTEGER;
C_HAS_AXI_RD_CHANNEL : INTEGER;
C_HAS_SLAVE_CE : INTEGER;
C_HAS_MASTER_CE : INTEGER;
C_ADD_NGC_CONSTRAINT : INTEGER;
C_USE_COMMON_OVERFLOW : INTEGER;
C_USE_COMMON_UNDERFLOW : INTEGER;
C_USE_DEFAULT_SETTINGS : INTEGER;
C_AXI_ID_WIDTH : INTEGER;
C_AXI_ADDR_WIDTH : INTEGER;
C_AXI_DATA_WIDTH : INTEGER;
C_AXI_LEN_WIDTH : INTEGER;
C_AXI_LOCK_WIDTH : INTEGER;
C_HAS_AXI_ID : INTEGER;
C_HAS_AXI_AWUSER : INTEGER;
C_HAS_AXI_WUSER : INTEGER;
C_HAS_AXI_BUSER : INTEGER;
C_HAS_AXI_ARUSER : INTEGER;
C_HAS_AXI_RUSER : INTEGER;
C_AXI_ARUSER_WIDTH : INTEGER;
C_AXI_AWUSER_WIDTH : INTEGER;
C_AXI_WUSER_WIDTH : INTEGER;
C_AXI_BUSER_WIDTH : INTEGER;
C_AXI_RUSER_WIDTH : INTEGER;
C_HAS_AXIS_TDATA : INTEGER;
C_HAS_AXIS_TID : INTEGER;
C_HAS_AXIS_TDEST : INTEGER;
C_HAS_AXIS_TUSER : INTEGER;
C_HAS_AXIS_TREADY : INTEGER;
C_HAS_AXIS_TLAST : INTEGER;
C_HAS_AXIS_TSTRB : INTEGER;
C_HAS_AXIS_TKEEP : INTEGER;
C_AXIS_TDATA_WIDTH : INTEGER;
C_AXIS_TID_WIDTH : INTEGER;
C_AXIS_TDEST_WIDTH : INTEGER;
C_AXIS_TUSER_WIDTH : INTEGER;
C_AXIS_TSTRB_WIDTH : INTEGER;
C_AXIS_TKEEP_WIDTH : INTEGER;
C_WACH_TYPE : INTEGER;
C_WDCH_TYPE : INTEGER;
C_WRCH_TYPE : INTEGER;
C_RACH_TYPE : INTEGER;
C_RDCH_TYPE : INTEGER;
C_AXIS_TYPE : INTEGER;
C_IMPLEMENTATION_TYPE_WACH : INTEGER;
C_IMPLEMENTATION_TYPE_WDCH : INTEGER;
C_IMPLEMENTATION_TYPE_WRCH : INTEGER;
C_IMPLEMENTATION_TYPE_RACH : INTEGER;
C_IMPLEMENTATION_TYPE_RDCH : INTEGER;
C_IMPLEMENTATION_TYPE_AXIS : INTEGER;
C_APPLICATION_TYPE_WACH : INTEGER;
C_APPLICATION_TYPE_WDCH : INTEGER;
C_APPLICATION_TYPE_WRCH : INTEGER;
C_APPLICATION_TYPE_RACH : INTEGER;
C_APPLICATION_TYPE_RDCH : INTEGER;
C_APPLICATION_TYPE_AXIS : INTEGER;
C_PRIM_FIFO_TYPE_WACH : STRING;
C_PRIM_FIFO_TYPE_WDCH : STRING;
C_PRIM_FIFO_TYPE_WRCH : STRING;
C_PRIM_FIFO_TYPE_RACH : STRING;
C_PRIM_FIFO_TYPE_RDCH : STRING;
C_PRIM_FIFO_TYPE_AXIS : STRING;
C_USE_ECC_WACH : INTEGER;
C_USE_ECC_WDCH : INTEGER;
C_USE_ECC_WRCH : INTEGER;
C_USE_ECC_RACH : INTEGER;
C_USE_ECC_RDCH : INTEGER;
C_USE_ECC_AXIS : INTEGER;
C_ERROR_INJECTION_TYPE_WACH : INTEGER;
C_ERROR_INJECTION_TYPE_WDCH : INTEGER;
C_ERROR_INJECTION_TYPE_WRCH : INTEGER;
C_ERROR_INJECTION_TYPE_RACH : INTEGER;
C_ERROR_INJECTION_TYPE_RDCH : INTEGER;
C_ERROR_INJECTION_TYPE_AXIS : INTEGER;
C_DIN_WIDTH_WACH : INTEGER;
C_DIN_WIDTH_WDCH : INTEGER;
C_DIN_WIDTH_WRCH : INTEGER;
C_DIN_WIDTH_RACH : INTEGER;
C_DIN_WIDTH_RDCH : INTEGER;
C_DIN_WIDTH_AXIS : INTEGER;
C_WR_DEPTH_WACH : INTEGER;
C_WR_DEPTH_WDCH : INTEGER;
C_WR_DEPTH_WRCH : INTEGER;
C_WR_DEPTH_RACH : INTEGER;
C_WR_DEPTH_RDCH : INTEGER;
C_WR_DEPTH_AXIS : INTEGER;
C_WR_PNTR_WIDTH_WACH : INTEGER;
C_WR_PNTR_WIDTH_WDCH : INTEGER;
C_WR_PNTR_WIDTH_WRCH : INTEGER;
C_WR_PNTR_WIDTH_RACH : INTEGER;
C_WR_PNTR_WIDTH_RDCH : INTEGER;
C_WR_PNTR_WIDTH_AXIS : INTEGER;
C_HAS_DATA_COUNTS_WACH : INTEGER;
C_HAS_DATA_COUNTS_WDCH : INTEGER;
C_HAS_DATA_COUNTS_WRCH : INTEGER;
C_HAS_DATA_COUNTS_RACH : INTEGER;
C_HAS_DATA_COUNTS_RDCH : INTEGER;
C_HAS_DATA_COUNTS_AXIS : INTEGER;
C_HAS_PROG_FLAGS_WACH : INTEGER;
C_HAS_PROG_FLAGS_WDCH : INTEGER;
C_HAS_PROG_FLAGS_WRCH : INTEGER;
C_HAS_PROG_FLAGS_RACH : INTEGER;
C_HAS_PROG_FLAGS_RDCH : INTEGER;
C_HAS_PROG_FLAGS_AXIS : INTEGER;
C_PROG_FULL_TYPE_WACH : INTEGER;
C_PROG_FULL_TYPE_WDCH : INTEGER;
C_PROG_FULL_TYPE_WRCH : INTEGER;
C_PROG_FULL_TYPE_RACH : INTEGER;
C_PROG_FULL_TYPE_RDCH : INTEGER;
C_PROG_FULL_TYPE_AXIS : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL_WACH : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL_WDCH : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL_WRCH : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL_RACH : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL_RDCH : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL_AXIS : INTEGER;
C_PROG_EMPTY_TYPE_WACH : INTEGER;
C_PROG_EMPTY_TYPE_WDCH : INTEGER;
C_PROG_EMPTY_TYPE_WRCH : INTEGER;
C_PROG_EMPTY_TYPE_RACH : INTEGER;
C_PROG_EMPTY_TYPE_RDCH : INTEGER;
C_PROG_EMPTY_TYPE_AXIS : INTEGER;
C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH : INTEGER;
C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH : INTEGER;
C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH : INTEGER;
C_PROG_EMPTY_THRESH_ASSERT_VAL_RACH : INTEGER;
C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH : INTEGER;
C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS : INTEGER;
C_REG_SLICE_MODE_WACH : INTEGER;
C_REG_SLICE_MODE_WDCH : INTEGER;
C_REG_SLICE_MODE_WRCH : INTEGER;
C_REG_SLICE_MODE_RACH : INTEGER;
C_REG_SLICE_MODE_RDCH : INTEGER;
C_REG_SLICE_MODE_AXIS : INTEGER
);
PORT (
backup : IN STD_LOGIC;
backup_marker : IN STD_LOGIC;
clk : IN STD_LOGIC;
rst : IN STD_LOGIC;
srst : IN STD_LOGIC;
wr_clk : IN STD_LOGIC;
wr_rst : IN STD_LOGIC;
rd_clk : IN STD_LOGIC;
rd_rst : IN STD_LOGIC;
din : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
wr_en : IN STD_LOGIC;
rd_en : IN STD_LOGIC;
prog_empty_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
prog_empty_thresh_assert : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
prog_empty_thresh_negate : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
prog_full_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
prog_full_thresh_assert : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
prog_full_thresh_negate : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
int_clk : IN STD_LOGIC;
injectdbiterr : IN STD_LOGIC;
injectsbiterr : IN STD_LOGIC;
sleep : IN STD_LOGIC;
dout : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
full : OUT STD_LOGIC;
almost_full : OUT STD_LOGIC;
wr_ack : OUT STD_LOGIC;
overflow : OUT STD_LOGIC;
empty : OUT STD_LOGIC;
almost_empty : OUT STD_LOGIC;
valid : OUT STD_LOGIC;
underflow : OUT STD_LOGIC;
data_count : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);
rd_data_count : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);
wr_data_count : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);
prog_full : OUT STD_LOGIC;
prog_empty : OUT STD_LOGIC;
sbiterr : OUT STD_LOGIC;
dbiterr : OUT STD_LOGIC;
wr_rst_busy : OUT STD_LOGIC;
rd_rst_busy : OUT STD_LOGIC;
m_aclk : IN STD_LOGIC;
s_aclk : IN STD_LOGIC;
s_aresetn : IN STD_LOGIC;
m_aclk_en : IN STD_LOGIC;
s_aclk_en : IN STD_LOGIC;
s_axi_awid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_awaddr : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
s_axi_awlen : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
s_axi_awsize : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
s_axi_awburst : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
s_axi_awlock : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_awcache : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s_axi_awprot : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
s_axi_awqos : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s_axi_awregion : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s_axi_awuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_awvalid : IN STD_LOGIC;
s_axi_awready : OUT STD_LOGIC;
s_axi_wid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_wdata : IN STD_LOGIC_VECTOR(63 DOWNTO 0);
s_axi_wstrb : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
s_axi_wlast : IN STD_LOGIC;
s_axi_wuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_wvalid : IN STD_LOGIC;
s_axi_wready : OUT STD_LOGIC;
s_axi_bid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_bresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
s_axi_buser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_bvalid : OUT STD_LOGIC;
s_axi_bready : IN STD_LOGIC;
m_axi_awid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_awaddr : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
m_axi_awlen : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
m_axi_awsize : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
m_axi_awburst : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
m_axi_awlock : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_awcache : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axi_awprot : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
m_axi_awqos : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axi_awregion : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axi_awuser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_awvalid : OUT STD_LOGIC;
m_axi_awready : IN STD_LOGIC;
m_axi_wid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_wdata : OUT STD_LOGIC_VECTOR(63 DOWNTO 0);
m_axi_wstrb : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
m_axi_wlast : OUT STD_LOGIC;
m_axi_wuser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_wvalid : OUT STD_LOGIC;
m_axi_wready : IN STD_LOGIC;
m_axi_bid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_bresp : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
m_axi_buser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_bvalid : IN STD_LOGIC;
m_axi_bready : OUT STD_LOGIC;
s_axi_arid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_araddr : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
s_axi_arlen : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
s_axi_arsize : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
s_axi_arburst : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
s_axi_arlock : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_arcache : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s_axi_arprot : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
s_axi_arqos : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s_axi_arregion : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s_axi_aruser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_arvalid : IN STD_LOGIC;
s_axi_arready : OUT STD_LOGIC;
s_axi_rid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_rdata : OUT STD_LOGIC_VECTOR(63 DOWNTO 0);
s_axi_rresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
s_axi_rlast : OUT STD_LOGIC;
s_axi_ruser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_rvalid : OUT STD_LOGIC;
s_axi_rready : IN STD_LOGIC;
m_axi_arid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_araddr : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
m_axi_arlen : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
m_axi_arsize : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
m_axi_arburst : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
m_axi_arlock : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_arcache : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axi_arprot : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
m_axi_arqos : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axi_arregion : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axi_aruser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_arvalid : OUT STD_LOGIC;
m_axi_arready : IN STD_LOGIC;
m_axi_rid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_rdata : IN STD_LOGIC_VECTOR(63 DOWNTO 0);
m_axi_rresp : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
m_axi_rlast : IN STD_LOGIC;
m_axi_ruser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_rvalid : IN STD_LOGIC;
m_axi_rready : OUT STD_LOGIC;
s_axis_tvalid : IN STD_LOGIC;
s_axis_tready : OUT STD_LOGIC;
s_axis_tdata : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
s_axis_tstrb : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axis_tkeep : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axis_tlast : IN STD_LOGIC;
s_axis_tid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axis_tdest : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axis_tuser : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axis_tvalid : OUT STD_LOGIC;
m_axis_tready : IN STD_LOGIC;
m_axis_tdata : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
m_axis_tstrb : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axis_tkeep : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axis_tlast : OUT STD_LOGIC;
m_axis_tid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axis_tdest : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axis_tuser : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_aw_injectsbiterr : IN STD_LOGIC;
axi_aw_injectdbiterr : IN STD_LOGIC;
axi_aw_prog_full_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_aw_prog_empty_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_aw_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_aw_wr_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_aw_rd_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_aw_sbiterr : OUT STD_LOGIC;
axi_aw_dbiterr : OUT STD_LOGIC;
axi_aw_overflow : OUT STD_LOGIC;
axi_aw_underflow : OUT STD_LOGIC;
axi_aw_prog_full : OUT STD_LOGIC;
axi_aw_prog_empty : OUT STD_LOGIC;
axi_w_injectsbiterr : IN STD_LOGIC;
axi_w_injectdbiterr : IN STD_LOGIC;
axi_w_prog_full_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
axi_w_prog_empty_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
axi_w_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axi_w_wr_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axi_w_rd_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axi_w_sbiterr : OUT STD_LOGIC;
axi_w_dbiterr : OUT STD_LOGIC;
axi_w_overflow : OUT STD_LOGIC;
axi_w_underflow : OUT STD_LOGIC;
axi_w_prog_full : OUT STD_LOGIC;
axi_w_prog_empty : OUT STD_LOGIC;
axi_b_injectsbiterr : IN STD_LOGIC;
axi_b_injectdbiterr : IN STD_LOGIC;
axi_b_prog_full_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_b_prog_empty_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_b_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_b_wr_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_b_rd_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_b_sbiterr : OUT STD_LOGIC;
axi_b_dbiterr : OUT STD_LOGIC;
axi_b_overflow : OUT STD_LOGIC;
axi_b_underflow : OUT STD_LOGIC;
axi_b_prog_full : OUT STD_LOGIC;
axi_b_prog_empty : OUT STD_LOGIC;
axi_ar_injectsbiterr : IN STD_LOGIC;
axi_ar_injectdbiterr : IN STD_LOGIC;
axi_ar_prog_full_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_ar_prog_empty_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_ar_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_ar_wr_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_ar_rd_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_ar_sbiterr : OUT STD_LOGIC;
axi_ar_dbiterr : OUT STD_LOGIC;
axi_ar_overflow : OUT STD_LOGIC;
axi_ar_underflow : OUT STD_LOGIC;
axi_ar_prog_full : OUT STD_LOGIC;
axi_ar_prog_empty : OUT STD_LOGIC;
axi_r_injectsbiterr : IN STD_LOGIC;
axi_r_injectdbiterr : IN STD_LOGIC;
axi_r_prog_full_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
axi_r_prog_empty_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
axi_r_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axi_r_wr_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axi_r_rd_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axi_r_sbiterr : OUT STD_LOGIC;
axi_r_dbiterr : OUT STD_LOGIC;
axi_r_overflow : OUT STD_LOGIC;
axi_r_underflow : OUT STD_LOGIC;
axi_r_prog_full : OUT STD_LOGIC;
axi_r_prog_empty : OUT STD_LOGIC;
axis_injectsbiterr : IN STD_LOGIC;
axis_injectdbiterr : IN STD_LOGIC;
axis_prog_full_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
axis_prog_empty_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
axis_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axis_wr_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axis_rd_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axis_sbiterr : OUT STD_LOGIC;
axis_dbiterr : OUT STD_LOGIC;
axis_overflow : OUT STD_LOGIC;
axis_underflow : OUT STD_LOGIC;
axis_prog_full : OUT STD_LOGIC;
axis_prog_empty : OUT STD_LOGIC
);
END COMPONENT fifo_generator_v13_2_8;
ATTRIBUTE X_CORE_INFO : STRING;
ATTRIBUTE X_CORE_INFO OF fifo_generator_1_arch: ARCHITECTURE IS "fifo_generator_v13_2_8,Vivado 2023.1";
ATTRIBUTE CHECK_LICENSE_TYPE : STRING;
ATTRIBUTE CHECK_LICENSE_TYPE OF fifo_generator_1_arch : ARCHITECTURE IS "fifo_generator_1,fifo_generator_v13_2_8,{}";
ATTRIBUTE CORE_GENERATION_INFO : STRING;
ATTRIBUTE CORE_GENERATION_INFO OF fifo_generator_1_arch: ARCHITECTURE IS "fifo_generator_1,fifo_generator_v13_2_8,{x_ipProduct=Vivado 2023.1,x_ipVendor=xilinx.com,x_ipLibrary=ip,x_ipName=fifo_generator,x_ipVersion=13.2,x_ipCoreRevision=8,x_ipLanguage=VERILOG,x_ipSimLanguage=MIXED,C_COMMON_CLOCK=0,C_SELECT_XPM=0,C_COUNT_TYPE=0,C_DATA_COUNT_WIDTH=10,C_DEFAULT_VALUE=BlankString,C_DIN_WIDTH=32,C_DOUT_RST_VAL=0,C_DOUT_WIDTH=32,C_ENABLE_RLOCS=0,C_FAMILY=zynq,C_FULL_FLAGS_RST_VAL=1,C_HAS_ALMOST_EMPTY=0,C_HAS_ALMOST_FULL=0,C_HAS_BACKUP=0,C_HAS_DATA_COUNT=0,C_HAS_INT_CLK=0,C_H" &
"AS_MEMINIT_FILE=0,C_HAS_OVERFLOW=0,C_HAS_RD_DATA_COUNT=0,C_HAS_RD_RST=0,C_HAS_RST=1,C_HAS_SRST=0,C_HAS_UNDERFLOW=0,C_HAS_VALID=0,C_HAS_WR_ACK=0,C_HAS_WR_DATA_COUNT=0,C_HAS_WR_RST=0,C_IMPLEMENTATION_TYPE=2,C_INIT_WR_PNTR_VAL=0,C_MEMORY_TYPE=1,C_MIF_FILE_NAME=BlankString,C_OPTIMIZATION_MODE=0,C_OVERFLOW_LOW=0,C_PRELOAD_LATENCY=1,C_PRELOAD_REGS=0,C_PRIM_FIFO_TYPE=1kx36,C_PROG_EMPTY_THRESH_ASSERT_VAL=2,C_PROG_EMPTY_THRESH_NEGATE_VAL=3,C_PROG_EMPTY_TYPE=0,C_PROG_FULL_THRESH_ASSERT_VAL=1021,C_PROG_FUL" &
"L_THRESH_NEGATE_VAL=1020,C_PROG_FULL_TYPE=0,C_RD_DATA_COUNT_WIDTH=10,C_RD_DEPTH=1024,C_RD_FREQ=1,C_RD_PNTR_WIDTH=10,C_UNDERFLOW_LOW=0,C_USE_DOUT_RST=1,C_USE_ECC=0,C_USE_EMBEDDED_REG=0,C_USE_PIPELINE_REG=0,C_POWER_SAVING_MODE=0,C_USE_FIFO16_FLAGS=0,C_USE_FWFT_DATA_COUNT=0,C_VALID_LOW=0,C_WR_ACK_LOW=0,C_WR_DATA_COUNT_WIDTH=10,C_WR_DEPTH=1024,C_WR_FREQ=1,C_WR_PNTR_WIDTH=10,C_WR_RESPONSE_LATENCY=1,C_MSGON_VAL=1,C_ENABLE_RST_SYNC=1,C_EN_SAFETY_CKT=1,C_ERROR_INJECTION_TYPE=0,C_SYNCHRONIZER_STAGE=2,C_I" &
"NTERFACE_TYPE=0,C_AXI_TYPE=1,C_HAS_AXI_WR_CHANNEL=1,C_HAS_AXI_RD_CHANNEL=1,C_HAS_SLAVE_CE=0,C_HAS_MASTER_CE=0,C_ADD_NGC_CONSTRAINT=0,C_USE_COMMON_OVERFLOW=0,C_USE_COMMON_UNDERFLOW=0,C_USE_DEFAULT_SETTINGS=0,C_AXI_ID_WIDTH=1,C_AXI_ADDR_WIDTH=32,C_AXI_DATA_WIDTH=64,C_AXI_LEN_WIDTH=8,C_AXI_LOCK_WIDTH=1,C_HAS_AXI_ID=0,C_HAS_AXI_AWUSER=0,C_HAS_AXI_WUSER=0,C_HAS_AXI_BUSER=0,C_HAS_AXI_ARUSER=0,C_HAS_AXI_RUSER=0,C_AXI_ARUSER_WIDTH=1,C_AXI_AWUSER_WIDTH=1,C_AXI_WUSER_WIDTH=1,C_AXI_BUSER_WIDTH=1,C_AXI_RUSE" &
"R_WIDTH=1,C_HAS_AXIS_TDATA=1,C_HAS_AXIS_TID=0,C_HAS_AXIS_TDEST=0,C_HAS_AXIS_TUSER=1,C_HAS_AXIS_TREADY=1,C_HAS_AXIS_TLAST=0,C_HAS_AXIS_TSTRB=0,C_HAS_AXIS_TKEEP=0,C_AXIS_TDATA_WIDTH=8,C_AXIS_TID_WIDTH=1,C_AXIS_TDEST_WIDTH=1,C_AXIS_TUSER_WIDTH=4,C_AXIS_TSTRB_WIDTH=1,C_AXIS_TKEEP_WIDTH=1,C_WACH_TYPE=0,C_WDCH_TYPE=0,C_WRCH_TYPE=0,C_RACH_TYPE=0,C_RDCH_TYPE=0,C_AXIS_TYPE=0,C_IMPLEMENTATION_TYPE_WACH=1,C_IMPLEMENTATION_TYPE_WDCH=1,C_IMPLEMENTATION_TYPE_WRCH=1,C_IMPLEMENTATION_TYPE_RACH=1,C_IMPLEMENTATIO" &
"N_TYPE_RDCH=1,C_IMPLEMENTATION_TYPE_AXIS=1,C_APPLICATION_TYPE_WACH=0,C_APPLICATION_TYPE_WDCH=0,C_APPLICATION_TYPE_WRCH=0,C_APPLICATION_TYPE_RACH=0,C_APPLICATION_TYPE_RDCH=0,C_APPLICATION_TYPE_AXIS=0,C_PRIM_FIFO_TYPE_WACH=512x36,C_PRIM_FIFO_TYPE_WDCH=1kx36,C_PRIM_FIFO_TYPE_WRCH=512x36,C_PRIM_FIFO_TYPE_RACH=512x36,C_PRIM_FIFO_TYPE_RDCH=1kx36,C_PRIM_FIFO_TYPE_AXIS=1kx18,C_USE_ECC_WACH=0,C_USE_ECC_WDCH=0,C_USE_ECC_WRCH=0,C_USE_ECC_RACH=0,C_USE_ECC_RDCH=0,C_USE_ECC_AXIS=0,C_ERROR_INJECTION_TYPE_WACH=" &
"0,C_ERROR_INJECTION_TYPE_WDCH=0,C_ERROR_INJECTION_TYPE_WRCH=0,C_ERROR_INJECTION_TYPE_RACH=0,C_ERROR_INJECTION_TYPE_RDCH=0,C_ERROR_INJECTION_TYPE_AXIS=0,C_DIN_WIDTH_WACH=1,C_DIN_WIDTH_WDCH=64,C_DIN_WIDTH_WRCH=2,C_DIN_WIDTH_RACH=32,C_DIN_WIDTH_RDCH=64,C_DIN_WIDTH_AXIS=1,C_WR_DEPTH_WACH=16,C_WR_DEPTH_WDCH=1024,C_WR_DEPTH_WRCH=16,C_WR_DEPTH_RACH=16,C_WR_DEPTH_RDCH=1024,C_WR_DEPTH_AXIS=1024,C_WR_PNTR_WIDTH_WACH=4,C_WR_PNTR_WIDTH_WDCH=10,C_WR_PNTR_WIDTH_WRCH=4,C_WR_PNTR_WIDTH_RACH=4,C_WR_PNTR_WIDTH_RD" &
"CH=10,C_WR_PNTR_WIDTH_AXIS=10,C_HAS_DATA_COUNTS_WACH=0,C_HAS_DATA_COUNTS_WDCH=0,C_HAS_DATA_COUNTS_WRCH=0,C_HAS_DATA_COUNTS_RACH=0,C_HAS_DATA_COUNTS_RDCH=0,C_HAS_DATA_COUNTS_AXIS=0,C_HAS_PROG_FLAGS_WACH=0,C_HAS_PROG_FLAGS_WDCH=0,C_HAS_PROG_FLAGS_WRCH=0,C_HAS_PROG_FLAGS_RACH=0,C_HAS_PROG_FLAGS_RDCH=0,C_HAS_PROG_FLAGS_AXIS=0,C_PROG_FULL_TYPE_WACH=0,C_PROG_FULL_TYPE_WDCH=0,C_PROG_FULL_TYPE_WRCH=0,C_PROG_FULL_TYPE_RACH=0,C_PROG_FULL_TYPE_RDCH=0,C_PROG_FULL_TYPE_AXIS=0,C_PROG_FULL_THRESH_ASSERT_VAL_WA" &
"CH=1023,C_PROG_FULL_THRESH_ASSERT_VAL_WDCH=1023,C_PROG_FULL_THRESH_ASSERT_VAL_WRCH=1023,C_PROG_FULL_THRESH_ASSERT_VAL_RACH=1023,C_PROG_FULL_THRESH_ASSERT_VAL_RDCH=1023,C_PROG_FULL_THRESH_ASSERT_VAL_AXIS=1023,C_PROG_EMPTY_TYPE_WACH=0,C_PROG_EMPTY_TYPE_WDCH=0,C_PROG_EMPTY_TYPE_WRCH=0,C_PROG_EMPTY_TYPE_RACH=0,C_PROG_EMPTY_TYPE_RDCH=0,C_PROG_EMPTY_TYPE_AXIS=0,C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH=1022,C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH=1022,C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH=1022,C_PROG_EMPTY_THRESH" &
"_ASSERT_VAL_RACH=1022,C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH=1022,C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS=1022,C_REG_SLICE_MODE_WACH=0,C_REG_SLICE_MODE_WDCH=0,C_REG_SLICE_MODE_WRCH=0,C_REG_SLICE_MODE_RACH=0,C_REG_SLICE_MODE_RDCH=0,C_REG_SLICE_MODE_AXIS=0}";
ATTRIBUTE X_INTERFACE_INFO : STRING;
ATTRIBUTE X_INTERFACE_PARAMETER : STRING;
ATTRIBUTE X_INTERFACE_INFO OF din: SIGNAL IS "xilinx.com:interface:fifo_write:1.0 FIFO_WRITE WR_DATA";
ATTRIBUTE X_INTERFACE_INFO OF dout: SIGNAL IS "xilinx.com:interface:fifo_read:1.0 FIFO_READ RD_DATA";
ATTRIBUTE X_INTERFACE_INFO OF empty: SIGNAL IS "xilinx.com:interface:fifo_read:1.0 FIFO_READ EMPTY";
ATTRIBUTE X_INTERFACE_INFO OF full: SIGNAL IS "xilinx.com:interface:fifo_write:1.0 FIFO_WRITE FULL";
ATTRIBUTE X_INTERFACE_PARAMETER OF rd_clk: SIGNAL IS "XIL_INTERFACENAME read_clk, FREQ_HZ 100000000, FREQ_TOLERANCE_HZ 0, PHASE 0.0, INSERT_VIP 0";
ATTRIBUTE X_INTERFACE_INFO OF rd_clk: SIGNAL IS "xilinx.com:signal:clock:1.0 read_clk CLK";
ATTRIBUTE X_INTERFACE_INFO OF rd_en: SIGNAL IS "xilinx.com:interface:fifo_read:1.0 FIFO_READ RD_EN";
ATTRIBUTE X_INTERFACE_PARAMETER OF wr_clk: SIGNAL IS "XIL_INTERFACENAME write_clk, FREQ_HZ 100000000, FREQ_TOLERANCE_HZ 0, PHASE 0.0, INSERT_VIP 0";
ATTRIBUTE X_INTERFACE_INFO OF wr_clk: SIGNAL IS "xilinx.com:signal:clock:1.0 write_clk CLK";
ATTRIBUTE X_INTERFACE_INFO OF wr_en: SIGNAL IS "xilinx.com:interface:fifo_write:1.0 FIFO_WRITE WR_EN";
BEGIN
U0 : fifo_generator_v13_2_8
GENERIC MAP (
C_COMMON_CLOCK => 0,
C_SELECT_XPM => 0,
C_COUNT_TYPE => 0,
C_DATA_COUNT_WIDTH => 10,
C_DEFAULT_VALUE => "BlankString",
C_DIN_WIDTH => 32,
C_DOUT_RST_VAL => "0",
C_DOUT_WIDTH => 32,
C_ENABLE_RLOCS => 0,
C_FAMILY => "zynq",
C_FULL_FLAGS_RST_VAL => 1,
C_HAS_ALMOST_EMPTY => 0,
C_HAS_ALMOST_FULL => 0,
C_HAS_BACKUP => 0,
C_HAS_DATA_COUNT => 0,
C_HAS_INT_CLK => 0,
C_HAS_MEMINIT_FILE => 0,
C_HAS_OVERFLOW => 0,
C_HAS_RD_DATA_COUNT => 0,
C_HAS_RD_RST => 0,
C_HAS_RST => 1,
C_HAS_SRST => 0,
C_HAS_UNDERFLOW => 0,
C_HAS_VALID => 0,
C_HAS_WR_ACK => 0,
C_HAS_WR_DATA_COUNT => 0,
C_HAS_WR_RST => 0,
C_IMPLEMENTATION_TYPE => 2,
C_INIT_WR_PNTR_VAL => 0,
C_MEMORY_TYPE => 1,
C_MIF_FILE_NAME => "BlankString",
C_OPTIMIZATION_MODE => 0,
C_OVERFLOW_LOW => 0,
C_PRELOAD_LATENCY => 1,
C_PRELOAD_REGS => 0,
C_PRIM_FIFO_TYPE => "1kx36",
C_PROG_EMPTY_THRESH_ASSERT_VAL => 2,
C_PROG_EMPTY_THRESH_NEGATE_VAL => 3,
C_PROG_EMPTY_TYPE => 0,
C_PROG_FULL_THRESH_ASSERT_VAL => 1021,
C_PROG_FULL_THRESH_NEGATE_VAL => 1020,
C_PROG_FULL_TYPE => 0,
C_RD_DATA_COUNT_WIDTH => 10,
C_RD_DEPTH => 1024,
C_RD_FREQ => 1,
C_RD_PNTR_WIDTH => 10,
C_UNDERFLOW_LOW => 0,
C_USE_DOUT_RST => 1,
C_USE_ECC => 0,
C_USE_EMBEDDED_REG => 0,
C_USE_PIPELINE_REG => 0,
C_POWER_SAVING_MODE => 0,
C_USE_FIFO16_FLAGS => 0,
C_USE_FWFT_DATA_COUNT => 0,
C_VALID_LOW => 0,
C_WR_ACK_LOW => 0,
C_WR_DATA_COUNT_WIDTH => 10,
C_WR_DEPTH => 1024,
C_WR_FREQ => 1,
C_WR_PNTR_WIDTH => 10,
C_WR_RESPONSE_LATENCY => 1,
C_MSGON_VAL => 1,
C_ENABLE_RST_SYNC => 1,
C_EN_SAFETY_CKT => 1,
C_ERROR_INJECTION_TYPE => 0,
C_SYNCHRONIZER_STAGE => 2,
C_INTERFACE_TYPE => 0,
C_AXI_TYPE => 1,
C_HAS_AXI_WR_CHANNEL => 1,
C_HAS_AXI_RD_CHANNEL => 1,
C_HAS_SLAVE_CE => 0,
C_HAS_MASTER_CE => 0,
C_ADD_NGC_CONSTRAINT => 0,
C_USE_COMMON_OVERFLOW => 0,
C_USE_COMMON_UNDERFLOW => 0,
C_USE_DEFAULT_SETTINGS => 0,
C_AXI_ID_WIDTH => 1,
C_AXI_ADDR_WIDTH => 32,
C_AXI_DATA_WIDTH => 64,
C_AXI_LEN_WIDTH => 8,
C_AXI_LOCK_WIDTH => 1,
C_HAS_AXI_ID => 0,
C_HAS_AXI_AWUSER => 0,
C_HAS_AXI_WUSER => 0,
C_HAS_AXI_BUSER => 0,
C_HAS_AXI_ARUSER => 0,
C_HAS_AXI_RUSER => 0,
C_AXI_ARUSER_WIDTH => 1,
C_AXI_AWUSER_WIDTH => 1,
C_AXI_WUSER_WIDTH => 1,
C_AXI_BUSER_WIDTH => 1,
C_AXI_RUSER_WIDTH => 1,
C_HAS_AXIS_TDATA => 1,
C_HAS_AXIS_TID => 0,
C_HAS_AXIS_TDEST => 0,
C_HAS_AXIS_TUSER => 1,
C_HAS_AXIS_TREADY => 1,
C_HAS_AXIS_TLAST => 0,
C_HAS_AXIS_TSTRB => 0,
C_HAS_AXIS_TKEEP => 0,
C_AXIS_TDATA_WIDTH => 8,
C_AXIS_TID_WIDTH => 1,
C_AXIS_TDEST_WIDTH => 1,
C_AXIS_TUSER_WIDTH => 4,
C_AXIS_TSTRB_WIDTH => 1,
C_AXIS_TKEEP_WIDTH => 1,
C_WACH_TYPE => 0,
C_WDCH_TYPE => 0,
C_WRCH_TYPE => 0,
C_RACH_TYPE => 0,
C_RDCH_TYPE => 0,
C_AXIS_TYPE => 0,
C_IMPLEMENTATION_TYPE_WACH => 1,
C_IMPLEMENTATION_TYPE_WDCH => 1,
C_IMPLEMENTATION_TYPE_WRCH => 1,
C_IMPLEMENTATION_TYPE_RACH => 1,
C_IMPLEMENTATION_TYPE_RDCH => 1,
C_IMPLEMENTATION_TYPE_AXIS => 1,
C_APPLICATION_TYPE_WACH => 0,
C_APPLICATION_TYPE_WDCH => 0,
C_APPLICATION_TYPE_WRCH => 0,
C_APPLICATION_TYPE_RACH => 0,
C_APPLICATION_TYPE_RDCH => 0,
C_APPLICATION_TYPE_AXIS => 0,
C_PRIM_FIFO_TYPE_WACH => "512x36",
C_PRIM_FIFO_TYPE_WDCH => "1kx36",
C_PRIM_FIFO_TYPE_WRCH => "512x36",
C_PRIM_FIFO_TYPE_RACH => "512x36",
C_PRIM_FIFO_TYPE_RDCH => "1kx36",
C_PRIM_FIFO_TYPE_AXIS => "1kx18",
C_USE_ECC_WACH => 0,
C_USE_ECC_WDCH => 0,
C_USE_ECC_WRCH => 0,
C_USE_ECC_RACH => 0,
C_USE_ECC_RDCH => 0,
C_USE_ECC_AXIS => 0,
C_ERROR_INJECTION_TYPE_WACH => 0,
C_ERROR_INJECTION_TYPE_WDCH => 0,
C_ERROR_INJECTION_TYPE_WRCH => 0,
C_ERROR_INJECTION_TYPE_RACH => 0,
C_ERROR_INJECTION_TYPE_RDCH => 0,
C_ERROR_INJECTION_TYPE_AXIS => 0,
C_DIN_WIDTH_WACH => 1,
C_DIN_WIDTH_WDCH => 64,
C_DIN_WIDTH_WRCH => 2,
C_DIN_WIDTH_RACH => 32,
C_DIN_WIDTH_RDCH => 64,
C_DIN_WIDTH_AXIS => 1,
C_WR_DEPTH_WACH => 16,
C_WR_DEPTH_WDCH => 1024,
C_WR_DEPTH_WRCH => 16,
C_WR_DEPTH_RACH => 16,
C_WR_DEPTH_RDCH => 1024,
C_WR_DEPTH_AXIS => 1024,
C_WR_PNTR_WIDTH_WACH => 4,
C_WR_PNTR_WIDTH_WDCH => 10,
C_WR_PNTR_WIDTH_WRCH => 4,
C_WR_PNTR_WIDTH_RACH => 4,
C_WR_PNTR_WIDTH_RDCH => 10,
C_WR_PNTR_WIDTH_AXIS => 10,
C_HAS_DATA_COUNTS_WACH => 0,
C_HAS_DATA_COUNTS_WDCH => 0,
C_HAS_DATA_COUNTS_WRCH => 0,
C_HAS_DATA_COUNTS_RACH => 0,
C_HAS_DATA_COUNTS_RDCH => 0,
C_HAS_DATA_COUNTS_AXIS => 0,
C_HAS_PROG_FLAGS_WACH => 0,
C_HAS_PROG_FLAGS_WDCH => 0,
C_HAS_PROG_FLAGS_WRCH => 0,
C_HAS_PROG_FLAGS_RACH => 0,
C_HAS_PROG_FLAGS_RDCH => 0,
C_HAS_PROG_FLAGS_AXIS => 0,
C_PROG_FULL_TYPE_WACH => 0,
C_PROG_FULL_TYPE_WDCH => 0,
C_PROG_FULL_TYPE_WRCH => 0,
C_PROG_FULL_TYPE_RACH => 0,
C_PROG_FULL_TYPE_RDCH => 0,
C_PROG_FULL_TYPE_AXIS => 0,
C_PROG_FULL_THRESH_ASSERT_VAL_WACH => 1023,
C_PROG_FULL_THRESH_ASSERT_VAL_WDCH => 1023,
C_PROG_FULL_THRESH_ASSERT_VAL_WRCH => 1023,
C_PROG_FULL_THRESH_ASSERT_VAL_RACH => 1023,
C_PROG_FULL_THRESH_ASSERT_VAL_RDCH => 1023,
C_PROG_FULL_THRESH_ASSERT_VAL_AXIS => 1023,
C_PROG_EMPTY_TYPE_WACH => 0,
C_PROG_EMPTY_TYPE_WDCH => 0,
C_PROG_EMPTY_TYPE_WRCH => 0,
C_PROG_EMPTY_TYPE_RACH => 0,
C_PROG_EMPTY_TYPE_RDCH => 0,
C_PROG_EMPTY_TYPE_AXIS => 0,
C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH => 1022,
C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH => 1022,
C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH => 1022,
C_PROG_EMPTY_THRESH_ASSERT_VAL_RACH => 1022,
C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH => 1022,
C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS => 1022,
C_REG_SLICE_MODE_WACH => 0,
C_REG_SLICE_MODE_WDCH => 0,
C_REG_SLICE_MODE_WRCH => 0,
C_REG_SLICE_MODE_RACH => 0,
C_REG_SLICE_MODE_RDCH => 0,
C_REG_SLICE_MODE_AXIS => 0
)
PORT MAP (
backup => '0',
backup_marker => '0',
clk => '0',
rst => rst,
srst => '0',
wr_clk => wr_clk,
wr_rst => '0',
rd_clk => rd_clk,
rd_rst => '0',
din => din,
wr_en => wr_en,
rd_en => rd_en,
prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
prog_empty_thresh_assert => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
prog_empty_thresh_negate => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
prog_full_thresh_assert => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
prog_full_thresh_negate => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
int_clk => '0',
injectdbiterr => '0',
injectsbiterr => '0',
sleep => '0',
dout => dout,
full => full,
empty => empty,
wr_rst_busy => wr_rst_busy,
rd_rst_busy => rd_rst_busy,
m_aclk => '0',
s_aclk => '0',
s_aresetn => '0',
m_aclk_en => '0',
s_aclk_en => '0',
s_axi_awid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_awaddr => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 32)),
s_axi_awlen => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
s_axi_awsize => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 3)),
s_axi_awburst => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 2)),
s_axi_awlock => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_awcache => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
s_axi_awprot => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 3)),
s_axi_awqos => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
s_axi_awregion => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
s_axi_awuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_awvalid => '0',
s_axi_wid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_wdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 64)),
s_axi_wstrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
s_axi_wlast => '0',
s_axi_wuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_wvalid => '0',
s_axi_bready => '0',
m_axi_awready => '0',
m_axi_wready => '0',
m_axi_bid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
m_axi_bresp => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 2)),
m_axi_buser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
m_axi_bvalid => '0',
s_axi_arid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_araddr => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 32)),
s_axi_arlen => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
s_axi_arsize => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 3)),
s_axi_arburst => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 2)),
s_axi_arlock => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_arcache => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
s_axi_arprot => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 3)),
s_axi_arqos => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
s_axi_arregion => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
s_axi_aruser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_arvalid => '0',
s_axi_rready => '0',
m_axi_arready => '0',
m_axi_rid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
m_axi_rdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 64)),
m_axi_rresp => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 2)),
m_axi_rlast => '0',
m_axi_ruser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
m_axi_rvalid => '0',
s_axis_tvalid => '0',
s_axis_tdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
s_axis_tstrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axis_tkeep => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axis_tlast => '0',
s_axis_tid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axis_tdest => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axis_tuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
m_axis_tready => '0',
axi_aw_injectsbiterr => '0',
axi_aw_injectdbiterr => '0',
axi_aw_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
axi_aw_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
axi_w_injectsbiterr => '0',
axi_w_injectdbiterr => '0',
axi_w_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
axi_w_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
axi_b_injectsbiterr => '0',
axi_b_injectdbiterr => '0',
axi_b_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
axi_b_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
axi_ar_injectsbiterr => '0',
axi_ar_injectdbiterr => '0',
axi_ar_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
axi_ar_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
axi_r_injectsbiterr => '0',
axi_r_injectdbiterr => '0',
axi_r_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
axi_r_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
axis_injectsbiterr => '0',
axis_injectdbiterr => '0',
axis_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
axis_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10))
);
END fifo_generator_1_arch;
@@ -0,0 +1,75 @@
// (c) Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
// (c) Copyright 2022-2025 Advanced Micro Devices, Inc. All rights reserved.
//
// This file contains confidential and proprietary information
// of AMD and is protected under U.S. and international copyright
// and other intellectual property laws.
//
// DISCLAIMER
// This disclaimer is not a license and does not grant any
// rights to the materials distributed herewith. Except as
// otherwise provided in a valid license issued to you by
// AMD, and to the maximum extent permitted by applicable
// law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
// WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
// AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
// BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
// INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
// (2) AMD shall not be liable (whether in contract or tort,
// including negligence, or under any other theory of
// liability) for any loss or damage of any kind or nature
// related to, arising under or in connection with these
// materials, including for any direct, or any indirect,
// special, incidental, or consequential loss or damage
// (including loss of data, profits, goodwill, or any type of
// loss or damage suffered as a result of any action brought
// by a third party) even if such damage or loss was
// reasonably foreseeable or AMD had been advised of the
// possibility of the same.
//
// CRITICAL APPLICATIONS
// AMD products are not designed or intended to be fail-
// safe, or for use in any application requiring fail-safe
// performance, such as life-support or safety devices or
// systems, Class III medical devices, nuclear facilities,
// applications related to the deployment of airbags, or any
// other applications that could lead to death, personal
// injury, or severe property or environmental damage
// (individually and collectively, "Critical
// Applications"). Customer assumes the sole risk and
// liability of any use of AMD products in Critical
// Applications, subject only to applicable laws and
// regulations governing limitations on product liability.
//
// THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
// PART OF THIS FILE AT ALL TIMES.
//
// DO NOT MODIFY THIS FILE.
// IP VLNV: xilinx.com:ip:fifo_generator:13.2
// IP Revision: 8
// The following must be inserted into your Verilog file for this
// core to be instantiated. Change the instance name and port connections
// (in parentheses) to your own signal names.
//----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG
fifo_generator_3 your_instance_name (
.rst(rst), // input wire rst
.wr_clk(wr_clk), // input wire wr_clk
.rd_clk(rd_clk), // input wire rd_clk
.din(din), // input wire [23 : 0] din
.wr_en(wr_en), // input wire wr_en
.rd_en(rd_en), // input wire rd_en
.dout(dout), // output wire [23 : 0] dout
.full(full), // output wire full
.empty(empty), // output wire empty
.wr_rst_busy(wr_rst_busy), // output wire wr_rst_busy
.rd_rst_busy(rd_rst_busy) // output wire rd_rst_busy
);
// INST_TAG_END ------ End INSTANTIATION Template ---------
// You must compile the wrapper file fifo_generator_3.v when simulating
// the core, fifo_generator_3. When compiling the wrapper file, be sure to
// reference the Verilog simulation library.
@@ -0,0 +1,96 @@
-- (c) Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
-- (c) Copyright 2022-2025 Advanced Micro Devices, Inc. All rights reserved.
--
-- This file contains confidential and proprietary information
-- of AMD and is protected under U.S. and international copyright
-- and other intellectual property laws.
--
-- DISCLAIMER
-- This disclaimer is not a license and does not grant any
-- rights to the materials distributed herewith. Except as
-- otherwise provided in a valid license issued to you by
-- AMD, and to the maximum extent permitted by applicable
-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
-- (2) AMD shall not be liable (whether in contract or tort,
-- including negligence, or under any other theory of
-- liability) for any loss or damage of any kind or nature
-- related to, arising under or in connection with these
-- materials, including for any direct, or any indirect,
-- special, incidental, or consequential loss or damage
-- (including loss of data, profits, goodwill, or any type of
-- loss or damage suffered as a result of any action brought
-- by a third party) even if such damage or loss was
-- reasonably foreseeable or AMD had been advised of the
-- possibility of the same.
--
-- CRITICAL APPLICATIONS
-- AMD products are not designed or intended to be fail-
-- safe, or for use in any application requiring fail-safe
-- performance, such as life-support or safety devices or
-- systems, Class III medical devices, nuclear facilities,
-- applications related to the deployment of airbags, or any
-- other applications that could lead to death, personal
-- injury, or severe property or environmental damage
-- (individually and collectively, "Critical
-- Applications"). Customer assumes the sole risk and
-- liability of any use of AMD products in Critical
-- Applications, subject only to applicable laws and
-- regulations governing limitations on product liability.
--
-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
-- PART OF THIS FILE AT ALL TIMES.
--
-- DO NOT MODIFY THIS FILE.
-- IP VLNV: xilinx.com:ip:fifo_generator:13.2
-- IP Revision: 8
-- The following code must appear in the VHDL architecture header.
------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG
COMPONENT fifo_generator_3
PORT (
rst : IN STD_LOGIC;
wr_clk : IN STD_LOGIC;
rd_clk : IN STD_LOGIC;
din : IN STD_LOGIC_VECTOR(23 DOWNTO 0);
wr_en : IN STD_LOGIC;
rd_en : IN STD_LOGIC;
dout : OUT STD_LOGIC_VECTOR(23 DOWNTO 0);
full : OUT STD_LOGIC;
empty : OUT STD_LOGIC;
wr_rst_busy : OUT STD_LOGIC;
rd_rst_busy : OUT STD_LOGIC
);
END COMPONENT;
-- COMP_TAG_END ------ End COMPONENT Declaration ------------
-- The following code must appear in the VHDL architecture
-- body. Substitute your own instance name and net names.
------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG
your_instance_name : fifo_generator_3
PORT MAP (
rst => rst,
wr_clk => wr_clk,
rd_clk => rd_clk,
din => din,
wr_en => wr_en,
rd_en => rd_en,
dout => dout,
full => full,
empty => empty,
wr_rst_busy => wr_rst_busy,
rd_rst_busy => rd_rst_busy
);
-- INST_TAG_END ------ End INSTANTIATION Template ---------
-- You must compile the wrapper file fifo_generator_3.vhd when simulating
-- the core, fifo_generator_3. When compiling the wrapper file, be sure to
-- reference the VHDL simulation library.
@@ -0,0 +1,64 @@
################################################################################
# (c) Copyright 2009 - 2013 Xilinx, Inc. All rights reserved.
#
# This file contains confidential and proprietary information
# of Xilinx, Inc. and is protected under U.S. and
# international copyright and other intellectual property
# laws.
#
# DISCLAIMER
# This disclaimer is not a license and does not grant any
# rights to the materials distributed herewith. Except as
# otherwise provided in a valid license issued to you by
# Xilinx, and to the maximum extent permitted by applicable
# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
# (2) Xilinx shall not be liable (whether in contract or tort,
# including negligence, or under any other theory of
# liability) for any loss or damage of any kind or nature
# related to, arising under or in connection with these
# materials, including for any direct, or any indirect,
# special, incidental, or consequential loss or damage
# (including loss of data, profits, goodwill, or any type of
# loss or damage suffered as a result of any action brought
# by a third party) even if such damage or loss was
# reasonably foreseeable or Xilinx had been advised of the
# possibility of the same.
#
# CRITICAL APPLICATIONS
# Xilinx products are not designed or intended to be fail-
# safe, or for use in any application requiring fail-safe
# performance, such as life-support or safety devices or
# systems, Class III medical devices, nuclear facilities,
# applications related to the deployment of airbags, or any
# other applications that could lead to death, personal
# injury, or severe property or environmental damage
# (individually and collectively, "Critical
# Applications"). Customer assumes the sole risk and
# liability of any use of Xilinx products in Critical
# Applications, subject only to applicable laws and
# regulations governing limitations on product liability.
#
# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
# PART OF THIS FILE AT ALL TIMES.
#
################################################################################
#------------------------------------------------------------------------------#
# Native FIFO Constraints #
#------------------------------------------------------------------------------#
################################################################################
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,69 @@
################################################################################
# (c) Copyright 2009 - 2013 Xilinx, Inc. All rights reserved.
#
# This file contains confidential and proprietary information
# of Xilinx, Inc. and is protected under U.S. and
# international copyright and other intellectual property
# laws.
#
# DISCLAIMER
# This disclaimer is not a license and does not grant any
# rights to the materials distributed herewith. Except as
# otherwise provided in a valid license issued to you by
# Xilinx, and to the maximum extent permitted by applicable
# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
# (2) Xilinx shall not be liable (whether in contract or tort,
# including negligence, or under any other theory of
# liability) for any loss or damage of any kind or nature
# related to, arising under or in connection with these
# materials, including for any direct, or any indirect,
# special, incidental, or consequential loss or damage
# (including loss of data, profits, goodwill, or any type of
# loss or damage suffered as a result of any action brought
# by a third party) even if such damage or loss was
# reasonably foreseeable or Xilinx had been advised of the
# possibility of the same.
#
# CRITICAL APPLICATIONS
# Xilinx products are not designed or intended to be fail-
# safe, or for use in any application requiring fail-safe
# performance, such as life-support or safety devices or
# systems, Class III medical devices, nuclear facilities,
# applications related to the deployment of airbags, or any
# other applications that could lead to death, personal
# injury, or severe property or environmental damage
# (individually and collectively, "Critical
# Applications"). Customer assumes the sole risk and
# liability of any use of Xilinx products in Critical
# Applications, subject only to applicable laws and
# regulations governing limitations on product liability.
#
# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
# PART OF THIS FILE AT ALL TIMES.
#
################################################################################
#------------------------------------------------------------------------------#
# Native FIFO Constraints #
#------------------------------------------------------------------------------#
#set wr_clock [get_clocks -of_objects [get_ports wr_clk]]
#set rd_clock [get_clocks -of_objects [get_ports rd_clk]]
#set wr_clk_period [get_property PERIOD $wr_clock]
#set rd_clk_period [get_property PERIOD $rd_clock]
#set skew_value [expr {(($wr_clk_period < $rd_clk_period) ? $wr_clk_period : $rd_clk_period)} ]
# Set max delay on cross clock domain path for Block/Distributed RAM based FIFO
## set_max_delay -from [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*rd_pntr_gc_reg[*]] -to [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*gsync_stage[1].wr_stg_inst/Q_reg_reg[*]] -datapath_only [get_property -min PERIOD $rd_clock]
## set_bus_skew -from [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*rd_pntr_gc_reg[*]] -to [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*gsync_stage[1].wr_stg_inst/Q_reg_reg[*]] $skew_value
## set_max_delay -from [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*wr_pntr_gc_reg[*]] -to [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*gsync_stage[1].rd_stg_inst/Q_reg_reg[*]] -datapath_only [get_property -min PERIOD $wr_clock]
## set_bus_skew -from [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*wr_pntr_gc_reg[*]] -to [get_cells inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/*gsync_stage[1].rd_stg_inst/Q_reg_reg[*]] $skew_value
#set_false_path -from [get_cells -hierarchical -filter {NAME =~ *gsckt_wrst.gic_rst.sckt_wrst_i_reg}] -to [get_cells -hierarchical -filter {NAME =~ *gsckt_wrst.gic_rst.garst_sync_ic[1].rd_rst_inst/Q_reg_reg[0]}]
#set_false_path -from [get_cells -hierarchical -filter {NAME =~ *gsckt_wrst.gic_rst.garst_sync_ic[3].rd_rst_inst/Q_reg_reg[0]}] -to [get_cells -hierarchical -filter {NAME =~ *gsckt_wrst.gic_rst.garst_sync_ic[1].rd_rst_wr_inst/Q_reg_reg[0]}]
################################################################################
@@ -0,0 +1,59 @@
# (c) Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
# (c) Copyright 2022-2025 Advanced Micro Devices, Inc. All rights reserved.
#
# This file contains confidential and proprietary information
# of AMD and is protected under U.S. and international copyright
# and other intellectual property laws.
#
# DISCLAIMER
# This disclaimer is not a license and does not grant any
# rights to the materials distributed herewith. Except as
# otherwise provided in a valid license issued to you by
# AMD, and to the maximum extent permitted by applicable
# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
# (2) AMD shall not be liable (whether in contract or tort,
# including negligence, or under any other theory of
# liability) for any loss or damage of any kind or nature
# related to, arising under or in connection with these
# materials, including for any direct, or any indirect,
# special, incidental, or consequential loss or damage
# (including loss of data, profits, goodwill, or any type of
# loss or damage suffered as a result of any action brought
# by a third party) even if such damage or loss was
# reasonably foreseeable or AMD had been advised of the
# possibility of the same.
#
# CRITICAL APPLICATIONS
# AMD products are not designed or intended to be fail-
# safe, or for use in any application requiring fail-safe
# performance, such as life-support or safety devices or
# systems, Class III medical devices, nuclear facilities,
# applications related to the deployment of airbags, or any
# other applications that could lead to death, personal
# injury, or severe property or environmental damage
# (individually and collectively, "Critical
# Applications"). Customer assumes the sole risk and
# liability of any use of AMD products in Critical
# Applications, subject only to applicable laws and
# regulations governing limitations on product liability.
#
# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
# PART OF THIS FILE AT ALL TIMES.
#
# DO NOT MODIFY THIS FILE.
# #########################################################
#
# This XDC is used only in OOC mode for synthesis, implementation
#
# #########################################################
create_clock -period 10 -name wr_clk [get_ports wr_clk]
create_clock -period 10 -name rd_clk [get_ports rd_clk]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,34 @@
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
// Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.
// --------------------------------------------------------------------------------
// Tool Version: Vivado v.2023.1 (win64) Build 3865809 Sun May 7 15:05:29 MDT 2023
// Date : Tue Oct 28 21:01:29 2025
// Host : DESKTOP-VN054CM running 64-bit major release (build 9200)
// Command : write_verilog -force -mode synth_stub
// d:/Project/A64/pl/a64_v0/LJS.gen/sources_1/ip/fifo_generator_3/fifo_generator_3_stub.v
// Design : fifo_generator_3
// Purpose : Stub declaration of top-level module interface
// Device : xc7z020clg400-2
// --------------------------------------------------------------------------------
// This empty module with port declaration file causes synthesis tools to infer a black box for IP.
// The synthesis directives are for Synopsys Synplify support to prevent IO buffer insertion.
// Please paste the declaration into a Verilog source file or add the file as an additional source.
(* x_core_info = "fifo_generator_v13_2_8,Vivado 2023.1" *)
module fifo_generator_3(rst, wr_clk, rd_clk, din, wr_en, rd_en, dout, full,
empty, wr_rst_busy, rd_rst_busy)
/* synthesis syn_black_box black_box_pad_pin="rst,din[23:0],wr_en,rd_en,dout[23:0],full,empty,wr_rst_busy,rd_rst_busy" */
/* synthesis syn_force_seq_prim="wr_clk" */
/* synthesis syn_force_seq_prim="rd_clk" */;
input rst;
input wr_clk /* synthesis syn_isclock = 1 */;
input rd_clk /* synthesis syn_isclock = 1 */;
input [23:0]din;
input wr_en;
input rd_en;
output [23:0]dout;
output full;
output empty;
output wr_rst_busy;
output rd_rst_busy;
endmodule
@@ -0,0 +1,41 @@
-- Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
-- Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.
-- --------------------------------------------------------------------------------
-- Tool Version: Vivado v.2023.1 (win64) Build 3865809 Sun May 7 15:05:29 MDT 2023
-- Date : Tue Oct 28 21:01:29 2025
-- Host : DESKTOP-VN054CM running 64-bit major release (build 9200)
-- Command : write_vhdl -force -mode synth_stub
-- d:/Project/A64/pl/a64_v0/LJS.gen/sources_1/ip/fifo_generator_3/fifo_generator_3_stub.vhdl
-- Design : fifo_generator_3
-- Purpose : Stub declaration of top-level module interface
-- Device : xc7z020clg400-2
-- --------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity fifo_generator_3 is
Port (
rst : in STD_LOGIC;
wr_clk : in STD_LOGIC;
rd_clk : in STD_LOGIC;
din : in STD_LOGIC_VECTOR ( 23 downto 0 );
wr_en : in STD_LOGIC;
rd_en : in STD_LOGIC;
dout : out STD_LOGIC_VECTOR ( 23 downto 0 );
full : out STD_LOGIC;
empty : out STD_LOGIC;
wr_rst_busy : out STD_LOGIC;
rd_rst_busy : out STD_LOGIC
);
end fifo_generator_3;
architecture stub of fifo_generator_3 is
attribute syn_black_box : boolean;
attribute black_box_pad_pin : string;
attribute syn_black_box of stub : architecture is true;
attribute black_box_pad_pin of stub : architecture is "rst,wr_clk,rd_clk,din[23:0],wr_en,rd_en,dout[23:0],full,empty,wr_rst_busy,rd_rst_busy";
attribute x_core_info : string;
attribute x_core_info of stub : architecture is "fifo_generator_v13_2_8,Vivado 2023.1";
begin
end;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,528 @@
// (c) Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
// (c) Copyright 2022-2025 Advanced Micro Devices, Inc. All rights reserved.
//
// This file contains confidential and proprietary information
// of AMD and is protected under U.S. and international copyright
// and other intellectual property laws.
//
// DISCLAIMER
// This disclaimer is not a license and does not grant any
// rights to the materials distributed herewith. Except as
// otherwise provided in a valid license issued to you by
// AMD, and to the maximum extent permitted by applicable
// law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
// WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
// AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
// BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
// INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
// (2) AMD shall not be liable (whether in contract or tort,
// including negligence, or under any other theory of
// liability) for any loss or damage of any kind or nature
// related to, arising under or in connection with these
// materials, including for any direct, or any indirect,
// special, incidental, or consequential loss or damage
// (including loss of data, profits, goodwill, or any type of
// loss or damage suffered as a result of any action brought
// by a third party) even if such damage or loss was
// reasonably foreseeable or AMD had been advised of the
// possibility of the same.
//
// CRITICAL APPLICATIONS
// AMD products are not designed or intended to be fail-
// safe, or for use in any application requiring fail-safe
// performance, such as life-support or safety devices or
// systems, Class III medical devices, nuclear facilities,
// applications related to the deployment of airbags, or any
// other applications that could lead to death, personal
// injury, or severe property or environmental damage
// (individually and collectively, "Critical
// Applications"). Customer assumes the sole risk and
// liability of any use of AMD products in Critical
// Applications, subject only to applicable laws and
// regulations governing limitations on product liability.
//
// THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
// PART OF THIS FILE AT ALL TIMES.
//
// DO NOT MODIFY THIS FILE.
// IP VLNV: xilinx.com:ip:fifo_generator:13.2
// IP Revision: 8
`timescale 1ns/1ps
(* DowngradeIPIdentifiedWarnings = "yes" *)
module fifo_generator_3 (
rst,
wr_clk,
rd_clk,
din,
wr_en,
rd_en,
dout,
full,
empty,
wr_rst_busy,
rd_rst_busy
);
input wire rst;
(* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME write_clk, FREQ_HZ 100000000, FREQ_TOLERANCE_HZ 0, PHASE 0.0, INSERT_VIP 0" *)
(* X_INTERFACE_INFO = "xilinx.com:signal:clock:1.0 write_clk CLK" *)
input wire wr_clk;
(* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME read_clk, FREQ_HZ 100000000, FREQ_TOLERANCE_HZ 0, PHASE 0.0, INSERT_VIP 0" *)
(* X_INTERFACE_INFO = "xilinx.com:signal:clock:1.0 read_clk CLK" *)
input wire rd_clk;
(* X_INTERFACE_INFO = "xilinx.com:interface:fifo_write:1.0 FIFO_WRITE WR_DATA" *)
input wire [23 : 0] din;
(* X_INTERFACE_INFO = "xilinx.com:interface:fifo_write:1.0 FIFO_WRITE WR_EN" *)
input wire wr_en;
(* X_INTERFACE_INFO = "xilinx.com:interface:fifo_read:1.0 FIFO_READ RD_EN" *)
input wire rd_en;
(* X_INTERFACE_INFO = "xilinx.com:interface:fifo_read:1.0 FIFO_READ RD_DATA" *)
output wire [23 : 0] dout;
(* X_INTERFACE_INFO = "xilinx.com:interface:fifo_write:1.0 FIFO_WRITE FULL" *)
output wire full;
(* X_INTERFACE_INFO = "xilinx.com:interface:fifo_read:1.0 FIFO_READ EMPTY" *)
output wire empty;
output wire wr_rst_busy;
output wire rd_rst_busy;
fifo_generator_v13_2_8 #(
.C_COMMON_CLOCK(0),
.C_SELECT_XPM(0),
.C_COUNT_TYPE(0),
.C_DATA_COUNT_WIDTH(10),
.C_DEFAULT_VALUE("BlankString"),
.C_DIN_WIDTH(24),
.C_DOUT_RST_VAL("0"),
.C_DOUT_WIDTH(24),
.C_ENABLE_RLOCS(0),
.C_FAMILY("zynq"),
.C_FULL_FLAGS_RST_VAL(1),
.C_HAS_ALMOST_EMPTY(0),
.C_HAS_ALMOST_FULL(0),
.C_HAS_BACKUP(0),
.C_HAS_DATA_COUNT(0),
.C_HAS_INT_CLK(0),
.C_HAS_MEMINIT_FILE(0),
.C_HAS_OVERFLOW(0),
.C_HAS_RD_DATA_COUNT(0),
.C_HAS_RD_RST(0),
.C_HAS_RST(1),
.C_HAS_SRST(0),
.C_HAS_UNDERFLOW(0),
.C_HAS_VALID(0),
.C_HAS_WR_ACK(0),
.C_HAS_WR_DATA_COUNT(0),
.C_HAS_WR_RST(0),
.C_IMPLEMENTATION_TYPE(2),
.C_INIT_WR_PNTR_VAL(0),
.C_MEMORY_TYPE(1),
.C_MIF_FILE_NAME("BlankString"),
.C_OPTIMIZATION_MODE(0),
.C_OVERFLOW_LOW(0),
.C_PRELOAD_LATENCY(1),
.C_PRELOAD_REGS(0),
.C_PRIM_FIFO_TYPE("1kx36"),
.C_PROG_EMPTY_THRESH_ASSERT_VAL(2),
.C_PROG_EMPTY_THRESH_NEGATE_VAL(3),
.C_PROG_EMPTY_TYPE(0),
.C_PROG_FULL_THRESH_ASSERT_VAL(1021),
.C_PROG_FULL_THRESH_NEGATE_VAL(1020),
.C_PROG_FULL_TYPE(0),
.C_RD_DATA_COUNT_WIDTH(10),
.C_RD_DEPTH(1024),
.C_RD_FREQ(1),
.C_RD_PNTR_WIDTH(10),
.C_UNDERFLOW_LOW(0),
.C_USE_DOUT_RST(1),
.C_USE_ECC(0),
.C_USE_EMBEDDED_REG(0),
.C_USE_PIPELINE_REG(0),
.C_POWER_SAVING_MODE(0),
.C_USE_FIFO16_FLAGS(0),
.C_USE_FWFT_DATA_COUNT(0),
.C_VALID_LOW(0),
.C_WR_ACK_LOW(0),
.C_WR_DATA_COUNT_WIDTH(10),
.C_WR_DEPTH(1024),
.C_WR_FREQ(1),
.C_WR_PNTR_WIDTH(10),
.C_WR_RESPONSE_LATENCY(1),
.C_MSGON_VAL(1),
.C_ENABLE_RST_SYNC(1),
.C_EN_SAFETY_CKT(1),
.C_ERROR_INJECTION_TYPE(0),
.C_SYNCHRONIZER_STAGE(2),
.C_INTERFACE_TYPE(0),
.C_AXI_TYPE(1),
.C_HAS_AXI_WR_CHANNEL(1),
.C_HAS_AXI_RD_CHANNEL(1),
.C_HAS_SLAVE_CE(0),
.C_HAS_MASTER_CE(0),
.C_ADD_NGC_CONSTRAINT(0),
.C_USE_COMMON_OVERFLOW(0),
.C_USE_COMMON_UNDERFLOW(0),
.C_USE_DEFAULT_SETTINGS(0),
.C_AXI_ID_WIDTH(1),
.C_AXI_ADDR_WIDTH(32),
.C_AXI_DATA_WIDTH(64),
.C_AXI_LEN_WIDTH(8),
.C_AXI_LOCK_WIDTH(1),
.C_HAS_AXI_ID(0),
.C_HAS_AXI_AWUSER(0),
.C_HAS_AXI_WUSER(0),
.C_HAS_AXI_BUSER(0),
.C_HAS_AXI_ARUSER(0),
.C_HAS_AXI_RUSER(0),
.C_AXI_ARUSER_WIDTH(1),
.C_AXI_AWUSER_WIDTH(1),
.C_AXI_WUSER_WIDTH(1),
.C_AXI_BUSER_WIDTH(1),
.C_AXI_RUSER_WIDTH(1),
.C_HAS_AXIS_TDATA(1),
.C_HAS_AXIS_TID(0),
.C_HAS_AXIS_TDEST(0),
.C_HAS_AXIS_TUSER(1),
.C_HAS_AXIS_TREADY(1),
.C_HAS_AXIS_TLAST(0),
.C_HAS_AXIS_TSTRB(0),
.C_HAS_AXIS_TKEEP(0),
.C_AXIS_TDATA_WIDTH(8),
.C_AXIS_TID_WIDTH(1),
.C_AXIS_TDEST_WIDTH(1),
.C_AXIS_TUSER_WIDTH(4),
.C_AXIS_TSTRB_WIDTH(1),
.C_AXIS_TKEEP_WIDTH(1),
.C_WACH_TYPE(0),
.C_WDCH_TYPE(0),
.C_WRCH_TYPE(0),
.C_RACH_TYPE(0),
.C_RDCH_TYPE(0),
.C_AXIS_TYPE(0),
.C_IMPLEMENTATION_TYPE_WACH(1),
.C_IMPLEMENTATION_TYPE_WDCH(1),
.C_IMPLEMENTATION_TYPE_WRCH(1),
.C_IMPLEMENTATION_TYPE_RACH(1),
.C_IMPLEMENTATION_TYPE_RDCH(1),
.C_IMPLEMENTATION_TYPE_AXIS(1),
.C_APPLICATION_TYPE_WACH(0),
.C_APPLICATION_TYPE_WDCH(0),
.C_APPLICATION_TYPE_WRCH(0),
.C_APPLICATION_TYPE_RACH(0),
.C_APPLICATION_TYPE_RDCH(0),
.C_APPLICATION_TYPE_AXIS(0),
.C_PRIM_FIFO_TYPE_WACH("512x36"),
.C_PRIM_FIFO_TYPE_WDCH("1kx36"),
.C_PRIM_FIFO_TYPE_WRCH("512x36"),
.C_PRIM_FIFO_TYPE_RACH("512x36"),
.C_PRIM_FIFO_TYPE_RDCH("1kx36"),
.C_PRIM_FIFO_TYPE_AXIS("1kx18"),
.C_USE_ECC_WACH(0),
.C_USE_ECC_WDCH(0),
.C_USE_ECC_WRCH(0),
.C_USE_ECC_RACH(0),
.C_USE_ECC_RDCH(0),
.C_USE_ECC_AXIS(0),
.C_ERROR_INJECTION_TYPE_WACH(0),
.C_ERROR_INJECTION_TYPE_WDCH(0),
.C_ERROR_INJECTION_TYPE_WRCH(0),
.C_ERROR_INJECTION_TYPE_RACH(0),
.C_ERROR_INJECTION_TYPE_RDCH(0),
.C_ERROR_INJECTION_TYPE_AXIS(0),
.C_DIN_WIDTH_WACH(1),
.C_DIN_WIDTH_WDCH(64),
.C_DIN_WIDTH_WRCH(2),
.C_DIN_WIDTH_RACH(32),
.C_DIN_WIDTH_RDCH(64),
.C_DIN_WIDTH_AXIS(1),
.C_WR_DEPTH_WACH(16),
.C_WR_DEPTH_WDCH(1024),
.C_WR_DEPTH_WRCH(16),
.C_WR_DEPTH_RACH(16),
.C_WR_DEPTH_RDCH(1024),
.C_WR_DEPTH_AXIS(1024),
.C_WR_PNTR_WIDTH_WACH(4),
.C_WR_PNTR_WIDTH_WDCH(10),
.C_WR_PNTR_WIDTH_WRCH(4),
.C_WR_PNTR_WIDTH_RACH(4),
.C_WR_PNTR_WIDTH_RDCH(10),
.C_WR_PNTR_WIDTH_AXIS(10),
.C_HAS_DATA_COUNTS_WACH(0),
.C_HAS_DATA_COUNTS_WDCH(0),
.C_HAS_DATA_COUNTS_WRCH(0),
.C_HAS_DATA_COUNTS_RACH(0),
.C_HAS_DATA_COUNTS_RDCH(0),
.C_HAS_DATA_COUNTS_AXIS(0),
.C_HAS_PROG_FLAGS_WACH(0),
.C_HAS_PROG_FLAGS_WDCH(0),
.C_HAS_PROG_FLAGS_WRCH(0),
.C_HAS_PROG_FLAGS_RACH(0),
.C_HAS_PROG_FLAGS_RDCH(0),
.C_HAS_PROG_FLAGS_AXIS(0),
.C_PROG_FULL_TYPE_WACH(0),
.C_PROG_FULL_TYPE_WDCH(0),
.C_PROG_FULL_TYPE_WRCH(0),
.C_PROG_FULL_TYPE_RACH(0),
.C_PROG_FULL_TYPE_RDCH(0),
.C_PROG_FULL_TYPE_AXIS(0),
.C_PROG_FULL_THRESH_ASSERT_VAL_WACH(1023),
.C_PROG_FULL_THRESH_ASSERT_VAL_WDCH(1023),
.C_PROG_FULL_THRESH_ASSERT_VAL_WRCH(1023),
.C_PROG_FULL_THRESH_ASSERT_VAL_RACH(1023),
.C_PROG_FULL_THRESH_ASSERT_VAL_RDCH(1023),
.C_PROG_FULL_THRESH_ASSERT_VAL_AXIS(1023),
.C_PROG_EMPTY_TYPE_WACH(0),
.C_PROG_EMPTY_TYPE_WDCH(0),
.C_PROG_EMPTY_TYPE_WRCH(0),
.C_PROG_EMPTY_TYPE_RACH(0),
.C_PROG_EMPTY_TYPE_RDCH(0),
.C_PROG_EMPTY_TYPE_AXIS(0),
.C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH(1022),
.C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH(1022),
.C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH(1022),
.C_PROG_EMPTY_THRESH_ASSERT_VAL_RACH(1022),
.C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH(1022),
.C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS(1022),
.C_REG_SLICE_MODE_WACH(0),
.C_REG_SLICE_MODE_WDCH(0),
.C_REG_SLICE_MODE_WRCH(0),
.C_REG_SLICE_MODE_RACH(0),
.C_REG_SLICE_MODE_RDCH(0),
.C_REG_SLICE_MODE_AXIS(0)
) inst (
.backup(1'D0),
.backup_marker(1'D0),
.clk(1'D0),
.rst(rst),
.srst(1'D0),
.wr_clk(wr_clk),
.wr_rst(1'D0),
.rd_clk(rd_clk),
.rd_rst(1'D0),
.din(din),
.wr_en(wr_en),
.rd_en(rd_en),
.prog_empty_thresh(10'B0),
.prog_empty_thresh_assert(10'B0),
.prog_empty_thresh_negate(10'B0),
.prog_full_thresh(10'B0),
.prog_full_thresh_assert(10'B0),
.prog_full_thresh_negate(10'B0),
.int_clk(1'D0),
.injectdbiterr(1'D0),
.injectsbiterr(1'D0),
.sleep(1'D0),
.dout(dout),
.full(full),
.almost_full(),
.wr_ack(),
.overflow(),
.empty(empty),
.almost_empty(),
.valid(),
.underflow(),
.data_count(),
.rd_data_count(),
.wr_data_count(),
.prog_full(),
.prog_empty(),
.sbiterr(),
.dbiterr(),
.wr_rst_busy(wr_rst_busy),
.rd_rst_busy(rd_rst_busy),
.m_aclk(1'D0),
.s_aclk(1'D0),
.s_aresetn(1'D0),
.m_aclk_en(1'D0),
.s_aclk_en(1'D0),
.s_axi_awid(1'B0),
.s_axi_awaddr(32'B0),
.s_axi_awlen(8'B0),
.s_axi_awsize(3'B0),
.s_axi_awburst(2'B0),
.s_axi_awlock(1'B0),
.s_axi_awcache(4'B0),
.s_axi_awprot(3'B0),
.s_axi_awqos(4'B0),
.s_axi_awregion(4'B0),
.s_axi_awuser(1'B0),
.s_axi_awvalid(1'D0),
.s_axi_awready(),
.s_axi_wid(1'B0),
.s_axi_wdata(64'B0),
.s_axi_wstrb(8'B0),
.s_axi_wlast(1'D0),
.s_axi_wuser(1'B0),
.s_axi_wvalid(1'D0),
.s_axi_wready(),
.s_axi_bid(),
.s_axi_bresp(),
.s_axi_buser(),
.s_axi_bvalid(),
.s_axi_bready(1'D0),
.m_axi_awid(),
.m_axi_awaddr(),
.m_axi_awlen(),
.m_axi_awsize(),
.m_axi_awburst(),
.m_axi_awlock(),
.m_axi_awcache(),
.m_axi_awprot(),
.m_axi_awqos(),
.m_axi_awregion(),
.m_axi_awuser(),
.m_axi_awvalid(),
.m_axi_awready(1'D0),
.m_axi_wid(),
.m_axi_wdata(),
.m_axi_wstrb(),
.m_axi_wlast(),
.m_axi_wuser(),
.m_axi_wvalid(),
.m_axi_wready(1'D0),
.m_axi_bid(1'B0),
.m_axi_bresp(2'B0),
.m_axi_buser(1'B0),
.m_axi_bvalid(1'D0),
.m_axi_bready(),
.s_axi_arid(1'B0),
.s_axi_araddr(32'B0),
.s_axi_arlen(8'B0),
.s_axi_arsize(3'B0),
.s_axi_arburst(2'B0),
.s_axi_arlock(1'B0),
.s_axi_arcache(4'B0),
.s_axi_arprot(3'B0),
.s_axi_arqos(4'B0),
.s_axi_arregion(4'B0),
.s_axi_aruser(1'B0),
.s_axi_arvalid(1'D0),
.s_axi_arready(),
.s_axi_rid(),
.s_axi_rdata(),
.s_axi_rresp(),
.s_axi_rlast(),
.s_axi_ruser(),
.s_axi_rvalid(),
.s_axi_rready(1'D0),
.m_axi_arid(),
.m_axi_araddr(),
.m_axi_arlen(),
.m_axi_arsize(),
.m_axi_arburst(),
.m_axi_arlock(),
.m_axi_arcache(),
.m_axi_arprot(),
.m_axi_arqos(),
.m_axi_arregion(),
.m_axi_aruser(),
.m_axi_arvalid(),
.m_axi_arready(1'D0),
.m_axi_rid(1'B0),
.m_axi_rdata(64'B0),
.m_axi_rresp(2'B0),
.m_axi_rlast(1'D0),
.m_axi_ruser(1'B0),
.m_axi_rvalid(1'D0),
.m_axi_rready(),
.s_axis_tvalid(1'D0),
.s_axis_tready(),
.s_axis_tdata(8'B0),
.s_axis_tstrb(1'B0),
.s_axis_tkeep(1'B0),
.s_axis_tlast(1'D0),
.s_axis_tid(1'B0),
.s_axis_tdest(1'B0),
.s_axis_tuser(4'B0),
.m_axis_tvalid(),
.m_axis_tready(1'D0),
.m_axis_tdata(),
.m_axis_tstrb(),
.m_axis_tkeep(),
.m_axis_tlast(),
.m_axis_tid(),
.m_axis_tdest(),
.m_axis_tuser(),
.axi_aw_injectsbiterr(1'D0),
.axi_aw_injectdbiterr(1'D0),
.axi_aw_prog_full_thresh(4'B0),
.axi_aw_prog_empty_thresh(4'B0),
.axi_aw_data_count(),
.axi_aw_wr_data_count(),
.axi_aw_rd_data_count(),
.axi_aw_sbiterr(),
.axi_aw_dbiterr(),
.axi_aw_overflow(),
.axi_aw_underflow(),
.axi_aw_prog_full(),
.axi_aw_prog_empty(),
.axi_w_injectsbiterr(1'D0),
.axi_w_injectdbiterr(1'D0),
.axi_w_prog_full_thresh(10'B0),
.axi_w_prog_empty_thresh(10'B0),
.axi_w_data_count(),
.axi_w_wr_data_count(),
.axi_w_rd_data_count(),
.axi_w_sbiterr(),
.axi_w_dbiterr(),
.axi_w_overflow(),
.axi_w_underflow(),
.axi_w_prog_full(),
.axi_w_prog_empty(),
.axi_b_injectsbiterr(1'D0),
.axi_b_injectdbiterr(1'D0),
.axi_b_prog_full_thresh(4'B0),
.axi_b_prog_empty_thresh(4'B0),
.axi_b_data_count(),
.axi_b_wr_data_count(),
.axi_b_rd_data_count(),
.axi_b_sbiterr(),
.axi_b_dbiterr(),
.axi_b_overflow(),
.axi_b_underflow(),
.axi_b_prog_full(),
.axi_b_prog_empty(),
.axi_ar_injectsbiterr(1'D0),
.axi_ar_injectdbiterr(1'D0),
.axi_ar_prog_full_thresh(4'B0),
.axi_ar_prog_empty_thresh(4'B0),
.axi_ar_data_count(),
.axi_ar_wr_data_count(),
.axi_ar_rd_data_count(),
.axi_ar_sbiterr(),
.axi_ar_dbiterr(),
.axi_ar_overflow(),
.axi_ar_underflow(),
.axi_ar_prog_full(),
.axi_ar_prog_empty(),
.axi_r_injectsbiterr(1'D0),
.axi_r_injectdbiterr(1'D0),
.axi_r_prog_full_thresh(10'B0),
.axi_r_prog_empty_thresh(10'B0),
.axi_r_data_count(),
.axi_r_wr_data_count(),
.axi_r_rd_data_count(),
.axi_r_sbiterr(),
.axi_r_dbiterr(),
.axi_r_overflow(),
.axi_r_underflow(),
.axi_r_prog_full(),
.axi_r_prog_empty(),
.axis_injectsbiterr(1'D0),
.axis_injectdbiterr(1'D0),
.axis_prog_full_thresh(10'B0),
.axis_prog_empty_thresh(10'B0),
.axis_data_count(),
.axis_wr_data_count(),
.axis_rd_data_count(),
.axis_sbiterr(),
.axis_dbiterr(),
.axis_overflow(),
.axis_underflow(),
.axis_prog_full(),
.axis_prog_empty()
);
endmodule
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,862 @@
-- (c) Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
-- (c) Copyright 2022-2025 Advanced Micro Devices, Inc. All rights reserved.
--
-- This file contains confidential and proprietary information
-- of AMD and is protected under U.S. and international copyright
-- and other intellectual property laws.
--
-- DISCLAIMER
-- This disclaimer is not a license and does not grant any
-- rights to the materials distributed herewith. Except as
-- otherwise provided in a valid license issued to you by
-- AMD, and to the maximum extent permitted by applicable
-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
-- (2) AMD shall not be liable (whether in contract or tort,
-- including negligence, or under any other theory of
-- liability) for any loss or damage of any kind or nature
-- related to, arising under or in connection with these
-- materials, including for any direct, or any indirect,
-- special, incidental, or consequential loss or damage
-- (including loss of data, profits, goodwill, or any type of
-- loss or damage suffered as a result of any action brought
-- by a third party) even if such damage or loss was
-- reasonably foreseeable or AMD had been advised of the
-- possibility of the same.
--
-- CRITICAL APPLICATIONS
-- AMD products are not designed or intended to be fail-
-- safe, or for use in any application requiring fail-safe
-- performance, such as life-support or safety devices or
-- systems, Class III medical devices, nuclear facilities,
-- applications related to the deployment of airbags, or any
-- other applications that could lead to death, personal
-- injury, or severe property or environmental damage
-- (individually and collectively, "Critical
-- Applications"). Customer assumes the sole risk and
-- liability of any use of AMD products in Critical
-- Applications, subject only to applicable laws and
-- regulations governing limitations on product liability.
--
-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
-- PART OF THIS FILE AT ALL TIMES.
--
-- DO NOT MODIFY THIS FILE.
-- IP VLNV: xilinx.com:ip:fifo_generator:13.2
-- IP Revision: 8
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
LIBRARY fifo_generator_v13_2_8;
USE fifo_generator_v13_2_8.fifo_generator_v13_2_8;
ENTITY fifo_generator_3 IS
PORT (
rst : IN STD_LOGIC;
wr_clk : IN STD_LOGIC;
rd_clk : IN STD_LOGIC;
din : IN STD_LOGIC_VECTOR(23 DOWNTO 0);
wr_en : IN STD_LOGIC;
rd_en : IN STD_LOGIC;
dout : OUT STD_LOGIC_VECTOR(23 DOWNTO 0);
full : OUT STD_LOGIC;
empty : OUT STD_LOGIC;
wr_rst_busy : OUT STD_LOGIC;
rd_rst_busy : OUT STD_LOGIC
);
END fifo_generator_3;
ARCHITECTURE fifo_generator_3_arch OF fifo_generator_3 IS
ATTRIBUTE DowngradeIPIdentifiedWarnings : STRING;
ATTRIBUTE DowngradeIPIdentifiedWarnings OF fifo_generator_3_arch: ARCHITECTURE IS "yes";
COMPONENT fifo_generator_v13_2_8 IS
GENERIC (
C_COMMON_CLOCK : INTEGER;
C_SELECT_XPM : INTEGER;
C_COUNT_TYPE : INTEGER;
C_DATA_COUNT_WIDTH : INTEGER;
C_DEFAULT_VALUE : STRING;
C_DIN_WIDTH : INTEGER;
C_DOUT_RST_VAL : STRING;
C_DOUT_WIDTH : INTEGER;
C_ENABLE_RLOCS : INTEGER;
C_FAMILY : STRING;
C_FULL_FLAGS_RST_VAL : INTEGER;
C_HAS_ALMOST_EMPTY : INTEGER;
C_HAS_ALMOST_FULL : INTEGER;
C_HAS_BACKUP : INTEGER;
C_HAS_DATA_COUNT : INTEGER;
C_HAS_INT_CLK : INTEGER;
C_HAS_MEMINIT_FILE : INTEGER;
C_HAS_OVERFLOW : INTEGER;
C_HAS_RD_DATA_COUNT : INTEGER;
C_HAS_RD_RST : INTEGER;
C_HAS_RST : INTEGER;
C_HAS_SRST : INTEGER;
C_HAS_UNDERFLOW : INTEGER;
C_HAS_VALID : INTEGER;
C_HAS_WR_ACK : INTEGER;
C_HAS_WR_DATA_COUNT : INTEGER;
C_HAS_WR_RST : INTEGER;
C_IMPLEMENTATION_TYPE : INTEGER;
C_INIT_WR_PNTR_VAL : INTEGER;
C_MEMORY_TYPE : INTEGER;
C_MIF_FILE_NAME : STRING;
C_OPTIMIZATION_MODE : INTEGER;
C_OVERFLOW_LOW : INTEGER;
C_PRELOAD_LATENCY : INTEGER;
C_PRELOAD_REGS : INTEGER;
C_PRIM_FIFO_TYPE : STRING;
C_PROG_EMPTY_THRESH_ASSERT_VAL : INTEGER;
C_PROG_EMPTY_THRESH_NEGATE_VAL : INTEGER;
C_PROG_EMPTY_TYPE : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL : INTEGER;
C_PROG_FULL_THRESH_NEGATE_VAL : INTEGER;
C_PROG_FULL_TYPE : INTEGER;
C_RD_DATA_COUNT_WIDTH : INTEGER;
C_RD_DEPTH : INTEGER;
C_RD_FREQ : INTEGER;
C_RD_PNTR_WIDTH : INTEGER;
C_UNDERFLOW_LOW : INTEGER;
C_USE_DOUT_RST : INTEGER;
C_USE_ECC : INTEGER;
C_USE_EMBEDDED_REG : INTEGER;
C_USE_PIPELINE_REG : INTEGER;
C_POWER_SAVING_MODE : INTEGER;
C_USE_FIFO16_FLAGS : INTEGER;
C_USE_FWFT_DATA_COUNT : INTEGER;
C_VALID_LOW : INTEGER;
C_WR_ACK_LOW : INTEGER;
C_WR_DATA_COUNT_WIDTH : INTEGER;
C_WR_DEPTH : INTEGER;
C_WR_FREQ : INTEGER;
C_WR_PNTR_WIDTH : INTEGER;
C_WR_RESPONSE_LATENCY : INTEGER;
C_MSGON_VAL : INTEGER;
C_ENABLE_RST_SYNC : INTEGER;
C_EN_SAFETY_CKT : INTEGER;
C_ERROR_INJECTION_TYPE : INTEGER;
C_SYNCHRONIZER_STAGE : INTEGER;
C_INTERFACE_TYPE : INTEGER;
C_AXI_TYPE : INTEGER;
C_HAS_AXI_WR_CHANNEL : INTEGER;
C_HAS_AXI_RD_CHANNEL : INTEGER;
C_HAS_SLAVE_CE : INTEGER;
C_HAS_MASTER_CE : INTEGER;
C_ADD_NGC_CONSTRAINT : INTEGER;
C_USE_COMMON_OVERFLOW : INTEGER;
C_USE_COMMON_UNDERFLOW : INTEGER;
C_USE_DEFAULT_SETTINGS : INTEGER;
C_AXI_ID_WIDTH : INTEGER;
C_AXI_ADDR_WIDTH : INTEGER;
C_AXI_DATA_WIDTH : INTEGER;
C_AXI_LEN_WIDTH : INTEGER;
C_AXI_LOCK_WIDTH : INTEGER;
C_HAS_AXI_ID : INTEGER;
C_HAS_AXI_AWUSER : INTEGER;
C_HAS_AXI_WUSER : INTEGER;
C_HAS_AXI_BUSER : INTEGER;
C_HAS_AXI_ARUSER : INTEGER;
C_HAS_AXI_RUSER : INTEGER;
C_AXI_ARUSER_WIDTH : INTEGER;
C_AXI_AWUSER_WIDTH : INTEGER;
C_AXI_WUSER_WIDTH : INTEGER;
C_AXI_BUSER_WIDTH : INTEGER;
C_AXI_RUSER_WIDTH : INTEGER;
C_HAS_AXIS_TDATA : INTEGER;
C_HAS_AXIS_TID : INTEGER;
C_HAS_AXIS_TDEST : INTEGER;
C_HAS_AXIS_TUSER : INTEGER;
C_HAS_AXIS_TREADY : INTEGER;
C_HAS_AXIS_TLAST : INTEGER;
C_HAS_AXIS_TSTRB : INTEGER;
C_HAS_AXIS_TKEEP : INTEGER;
C_AXIS_TDATA_WIDTH : INTEGER;
C_AXIS_TID_WIDTH : INTEGER;
C_AXIS_TDEST_WIDTH : INTEGER;
C_AXIS_TUSER_WIDTH : INTEGER;
C_AXIS_TSTRB_WIDTH : INTEGER;
C_AXIS_TKEEP_WIDTH : INTEGER;
C_WACH_TYPE : INTEGER;
C_WDCH_TYPE : INTEGER;
C_WRCH_TYPE : INTEGER;
C_RACH_TYPE : INTEGER;
C_RDCH_TYPE : INTEGER;
C_AXIS_TYPE : INTEGER;
C_IMPLEMENTATION_TYPE_WACH : INTEGER;
C_IMPLEMENTATION_TYPE_WDCH : INTEGER;
C_IMPLEMENTATION_TYPE_WRCH : INTEGER;
C_IMPLEMENTATION_TYPE_RACH : INTEGER;
C_IMPLEMENTATION_TYPE_RDCH : INTEGER;
C_IMPLEMENTATION_TYPE_AXIS : INTEGER;
C_APPLICATION_TYPE_WACH : INTEGER;
C_APPLICATION_TYPE_WDCH : INTEGER;
C_APPLICATION_TYPE_WRCH : INTEGER;
C_APPLICATION_TYPE_RACH : INTEGER;
C_APPLICATION_TYPE_RDCH : INTEGER;
C_APPLICATION_TYPE_AXIS : INTEGER;
C_PRIM_FIFO_TYPE_WACH : STRING;
C_PRIM_FIFO_TYPE_WDCH : STRING;
C_PRIM_FIFO_TYPE_WRCH : STRING;
C_PRIM_FIFO_TYPE_RACH : STRING;
C_PRIM_FIFO_TYPE_RDCH : STRING;
C_PRIM_FIFO_TYPE_AXIS : STRING;
C_USE_ECC_WACH : INTEGER;
C_USE_ECC_WDCH : INTEGER;
C_USE_ECC_WRCH : INTEGER;
C_USE_ECC_RACH : INTEGER;
C_USE_ECC_RDCH : INTEGER;
C_USE_ECC_AXIS : INTEGER;
C_ERROR_INJECTION_TYPE_WACH : INTEGER;
C_ERROR_INJECTION_TYPE_WDCH : INTEGER;
C_ERROR_INJECTION_TYPE_WRCH : INTEGER;
C_ERROR_INJECTION_TYPE_RACH : INTEGER;
C_ERROR_INJECTION_TYPE_RDCH : INTEGER;
C_ERROR_INJECTION_TYPE_AXIS : INTEGER;
C_DIN_WIDTH_WACH : INTEGER;
C_DIN_WIDTH_WDCH : INTEGER;
C_DIN_WIDTH_WRCH : INTEGER;
C_DIN_WIDTH_RACH : INTEGER;
C_DIN_WIDTH_RDCH : INTEGER;
C_DIN_WIDTH_AXIS : INTEGER;
C_WR_DEPTH_WACH : INTEGER;
C_WR_DEPTH_WDCH : INTEGER;
C_WR_DEPTH_WRCH : INTEGER;
C_WR_DEPTH_RACH : INTEGER;
C_WR_DEPTH_RDCH : INTEGER;
C_WR_DEPTH_AXIS : INTEGER;
C_WR_PNTR_WIDTH_WACH : INTEGER;
C_WR_PNTR_WIDTH_WDCH : INTEGER;
C_WR_PNTR_WIDTH_WRCH : INTEGER;
C_WR_PNTR_WIDTH_RACH : INTEGER;
C_WR_PNTR_WIDTH_RDCH : INTEGER;
C_WR_PNTR_WIDTH_AXIS : INTEGER;
C_HAS_DATA_COUNTS_WACH : INTEGER;
C_HAS_DATA_COUNTS_WDCH : INTEGER;
C_HAS_DATA_COUNTS_WRCH : INTEGER;
C_HAS_DATA_COUNTS_RACH : INTEGER;
C_HAS_DATA_COUNTS_RDCH : INTEGER;
C_HAS_DATA_COUNTS_AXIS : INTEGER;
C_HAS_PROG_FLAGS_WACH : INTEGER;
C_HAS_PROG_FLAGS_WDCH : INTEGER;
C_HAS_PROG_FLAGS_WRCH : INTEGER;
C_HAS_PROG_FLAGS_RACH : INTEGER;
C_HAS_PROG_FLAGS_RDCH : INTEGER;
C_HAS_PROG_FLAGS_AXIS : INTEGER;
C_PROG_FULL_TYPE_WACH : INTEGER;
C_PROG_FULL_TYPE_WDCH : INTEGER;
C_PROG_FULL_TYPE_WRCH : INTEGER;
C_PROG_FULL_TYPE_RACH : INTEGER;
C_PROG_FULL_TYPE_RDCH : INTEGER;
C_PROG_FULL_TYPE_AXIS : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL_WACH : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL_WDCH : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL_WRCH : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL_RACH : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL_RDCH : INTEGER;
C_PROG_FULL_THRESH_ASSERT_VAL_AXIS : INTEGER;
C_PROG_EMPTY_TYPE_WACH : INTEGER;
C_PROG_EMPTY_TYPE_WDCH : INTEGER;
C_PROG_EMPTY_TYPE_WRCH : INTEGER;
C_PROG_EMPTY_TYPE_RACH : INTEGER;
C_PROG_EMPTY_TYPE_RDCH : INTEGER;
C_PROG_EMPTY_TYPE_AXIS : INTEGER;
C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH : INTEGER;
C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH : INTEGER;
C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH : INTEGER;
C_PROG_EMPTY_THRESH_ASSERT_VAL_RACH : INTEGER;
C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH : INTEGER;
C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS : INTEGER;
C_REG_SLICE_MODE_WACH : INTEGER;
C_REG_SLICE_MODE_WDCH : INTEGER;
C_REG_SLICE_MODE_WRCH : INTEGER;
C_REG_SLICE_MODE_RACH : INTEGER;
C_REG_SLICE_MODE_RDCH : INTEGER;
C_REG_SLICE_MODE_AXIS : INTEGER
);
PORT (
backup : IN STD_LOGIC;
backup_marker : IN STD_LOGIC;
clk : IN STD_LOGIC;
rst : IN STD_LOGIC;
srst : IN STD_LOGIC;
wr_clk : IN STD_LOGIC;
wr_rst : IN STD_LOGIC;
rd_clk : IN STD_LOGIC;
rd_rst : IN STD_LOGIC;
din : IN STD_LOGIC_VECTOR(23 DOWNTO 0);
wr_en : IN STD_LOGIC;
rd_en : IN STD_LOGIC;
prog_empty_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
prog_empty_thresh_assert : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
prog_empty_thresh_negate : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
prog_full_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
prog_full_thresh_assert : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
prog_full_thresh_negate : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
int_clk : IN STD_LOGIC;
injectdbiterr : IN STD_LOGIC;
injectsbiterr : IN STD_LOGIC;
sleep : IN STD_LOGIC;
dout : OUT STD_LOGIC_VECTOR(23 DOWNTO 0);
full : OUT STD_LOGIC;
almost_full : OUT STD_LOGIC;
wr_ack : OUT STD_LOGIC;
overflow : OUT STD_LOGIC;
empty : OUT STD_LOGIC;
almost_empty : OUT STD_LOGIC;
valid : OUT STD_LOGIC;
underflow : OUT STD_LOGIC;
data_count : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);
rd_data_count : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);
wr_data_count : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);
prog_full : OUT STD_LOGIC;
prog_empty : OUT STD_LOGIC;
sbiterr : OUT STD_LOGIC;
dbiterr : OUT STD_LOGIC;
wr_rst_busy : OUT STD_LOGIC;
rd_rst_busy : OUT STD_LOGIC;
m_aclk : IN STD_LOGIC;
s_aclk : IN STD_LOGIC;
s_aresetn : IN STD_LOGIC;
m_aclk_en : IN STD_LOGIC;
s_aclk_en : IN STD_LOGIC;
s_axi_awid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_awaddr : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
s_axi_awlen : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
s_axi_awsize : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
s_axi_awburst : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
s_axi_awlock : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_awcache : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s_axi_awprot : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
s_axi_awqos : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s_axi_awregion : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s_axi_awuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_awvalid : IN STD_LOGIC;
s_axi_awready : OUT STD_LOGIC;
s_axi_wid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_wdata : IN STD_LOGIC_VECTOR(63 DOWNTO 0);
s_axi_wstrb : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
s_axi_wlast : IN STD_LOGIC;
s_axi_wuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_wvalid : IN STD_LOGIC;
s_axi_wready : OUT STD_LOGIC;
s_axi_bid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_bresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
s_axi_buser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_bvalid : OUT STD_LOGIC;
s_axi_bready : IN STD_LOGIC;
m_axi_awid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_awaddr : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
m_axi_awlen : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
m_axi_awsize : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
m_axi_awburst : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
m_axi_awlock : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_awcache : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axi_awprot : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
m_axi_awqos : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axi_awregion : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axi_awuser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_awvalid : OUT STD_LOGIC;
m_axi_awready : IN STD_LOGIC;
m_axi_wid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_wdata : OUT STD_LOGIC_VECTOR(63 DOWNTO 0);
m_axi_wstrb : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
m_axi_wlast : OUT STD_LOGIC;
m_axi_wuser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_wvalid : OUT STD_LOGIC;
m_axi_wready : IN STD_LOGIC;
m_axi_bid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_bresp : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
m_axi_buser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_bvalid : IN STD_LOGIC;
m_axi_bready : OUT STD_LOGIC;
s_axi_arid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_araddr : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
s_axi_arlen : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
s_axi_arsize : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
s_axi_arburst : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
s_axi_arlock : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_arcache : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s_axi_arprot : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
s_axi_arqos : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s_axi_arregion : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s_axi_aruser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_arvalid : IN STD_LOGIC;
s_axi_arready : OUT STD_LOGIC;
s_axi_rid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_rdata : OUT STD_LOGIC_VECTOR(63 DOWNTO 0);
s_axi_rresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
s_axi_rlast : OUT STD_LOGIC;
s_axi_ruser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axi_rvalid : OUT STD_LOGIC;
s_axi_rready : IN STD_LOGIC;
m_axi_arid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_araddr : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
m_axi_arlen : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
m_axi_arsize : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
m_axi_arburst : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
m_axi_arlock : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_arcache : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axi_arprot : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
m_axi_arqos : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axi_arregion : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axi_aruser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_arvalid : OUT STD_LOGIC;
m_axi_arready : IN STD_LOGIC;
m_axi_rid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_rdata : IN STD_LOGIC_VECTOR(63 DOWNTO 0);
m_axi_rresp : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
m_axi_rlast : IN STD_LOGIC;
m_axi_ruser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axi_rvalid : IN STD_LOGIC;
m_axi_rready : OUT STD_LOGIC;
s_axis_tvalid : IN STD_LOGIC;
s_axis_tready : OUT STD_LOGIC;
s_axis_tdata : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
s_axis_tstrb : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axis_tkeep : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axis_tlast : IN STD_LOGIC;
s_axis_tid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axis_tdest : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
s_axis_tuser : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
m_axis_tvalid : OUT STD_LOGIC;
m_axis_tready : IN STD_LOGIC;
m_axis_tdata : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
m_axis_tstrb : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axis_tkeep : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axis_tlast : OUT STD_LOGIC;
m_axis_tid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axis_tdest : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
m_axis_tuser : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_aw_injectsbiterr : IN STD_LOGIC;
axi_aw_injectdbiterr : IN STD_LOGIC;
axi_aw_prog_full_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_aw_prog_empty_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_aw_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_aw_wr_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_aw_rd_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_aw_sbiterr : OUT STD_LOGIC;
axi_aw_dbiterr : OUT STD_LOGIC;
axi_aw_overflow : OUT STD_LOGIC;
axi_aw_underflow : OUT STD_LOGIC;
axi_aw_prog_full : OUT STD_LOGIC;
axi_aw_prog_empty : OUT STD_LOGIC;
axi_w_injectsbiterr : IN STD_LOGIC;
axi_w_injectdbiterr : IN STD_LOGIC;
axi_w_prog_full_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
axi_w_prog_empty_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
axi_w_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axi_w_wr_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axi_w_rd_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axi_w_sbiterr : OUT STD_LOGIC;
axi_w_dbiterr : OUT STD_LOGIC;
axi_w_overflow : OUT STD_LOGIC;
axi_w_underflow : OUT STD_LOGIC;
axi_w_prog_full : OUT STD_LOGIC;
axi_w_prog_empty : OUT STD_LOGIC;
axi_b_injectsbiterr : IN STD_LOGIC;
axi_b_injectdbiterr : IN STD_LOGIC;
axi_b_prog_full_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_b_prog_empty_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_b_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_b_wr_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_b_rd_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_b_sbiterr : OUT STD_LOGIC;
axi_b_dbiterr : OUT STD_LOGIC;
axi_b_overflow : OUT STD_LOGIC;
axi_b_underflow : OUT STD_LOGIC;
axi_b_prog_full : OUT STD_LOGIC;
axi_b_prog_empty : OUT STD_LOGIC;
axi_ar_injectsbiterr : IN STD_LOGIC;
axi_ar_injectdbiterr : IN STD_LOGIC;
axi_ar_prog_full_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_ar_prog_empty_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
axi_ar_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_ar_wr_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_ar_rd_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
axi_ar_sbiterr : OUT STD_LOGIC;
axi_ar_dbiterr : OUT STD_LOGIC;
axi_ar_overflow : OUT STD_LOGIC;
axi_ar_underflow : OUT STD_LOGIC;
axi_ar_prog_full : OUT STD_LOGIC;
axi_ar_prog_empty : OUT STD_LOGIC;
axi_r_injectsbiterr : IN STD_LOGIC;
axi_r_injectdbiterr : IN STD_LOGIC;
axi_r_prog_full_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
axi_r_prog_empty_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
axi_r_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axi_r_wr_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axi_r_rd_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axi_r_sbiterr : OUT STD_LOGIC;
axi_r_dbiterr : OUT STD_LOGIC;
axi_r_overflow : OUT STD_LOGIC;
axi_r_underflow : OUT STD_LOGIC;
axi_r_prog_full : OUT STD_LOGIC;
axi_r_prog_empty : OUT STD_LOGIC;
axis_injectsbiterr : IN STD_LOGIC;
axis_injectdbiterr : IN STD_LOGIC;
axis_prog_full_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
axis_prog_empty_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
axis_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axis_wr_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axis_rd_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
axis_sbiterr : OUT STD_LOGIC;
axis_dbiterr : OUT STD_LOGIC;
axis_overflow : OUT STD_LOGIC;
axis_underflow : OUT STD_LOGIC;
axis_prog_full : OUT STD_LOGIC;
axis_prog_empty : OUT STD_LOGIC
);
END COMPONENT fifo_generator_v13_2_8;
ATTRIBUTE X_CORE_INFO : STRING;
ATTRIBUTE X_CORE_INFO OF fifo_generator_3_arch: ARCHITECTURE IS "fifo_generator_v13_2_8,Vivado 2023.1";
ATTRIBUTE CHECK_LICENSE_TYPE : STRING;
ATTRIBUTE CHECK_LICENSE_TYPE OF fifo_generator_3_arch : ARCHITECTURE IS "fifo_generator_3,fifo_generator_v13_2_8,{}";
ATTRIBUTE CORE_GENERATION_INFO : STRING;
ATTRIBUTE CORE_GENERATION_INFO OF fifo_generator_3_arch: ARCHITECTURE IS "fifo_generator_3,fifo_generator_v13_2_8,{x_ipProduct=Vivado 2023.1,x_ipVendor=xilinx.com,x_ipLibrary=ip,x_ipName=fifo_generator,x_ipVersion=13.2,x_ipCoreRevision=8,x_ipLanguage=VERILOG,x_ipSimLanguage=MIXED,C_COMMON_CLOCK=0,C_SELECT_XPM=0,C_COUNT_TYPE=0,C_DATA_COUNT_WIDTH=10,C_DEFAULT_VALUE=BlankString,C_DIN_WIDTH=24,C_DOUT_RST_VAL=0,C_DOUT_WIDTH=24,C_ENABLE_RLOCS=0,C_FAMILY=zynq,C_FULL_FLAGS_RST_VAL=1,C_HAS_ALMOST_EMPTY=0,C_HAS_ALMOST_FULL=0,C_HAS_BACKUP=0,C_HAS_DATA_COUNT=0,C_HAS_INT_CLK=0,C_H" &
"AS_MEMINIT_FILE=0,C_HAS_OVERFLOW=0,C_HAS_RD_DATA_COUNT=0,C_HAS_RD_RST=0,C_HAS_RST=1,C_HAS_SRST=0,C_HAS_UNDERFLOW=0,C_HAS_VALID=0,C_HAS_WR_ACK=0,C_HAS_WR_DATA_COUNT=0,C_HAS_WR_RST=0,C_IMPLEMENTATION_TYPE=2,C_INIT_WR_PNTR_VAL=0,C_MEMORY_TYPE=1,C_MIF_FILE_NAME=BlankString,C_OPTIMIZATION_MODE=0,C_OVERFLOW_LOW=0,C_PRELOAD_LATENCY=1,C_PRELOAD_REGS=0,C_PRIM_FIFO_TYPE=1kx36,C_PROG_EMPTY_THRESH_ASSERT_VAL=2,C_PROG_EMPTY_THRESH_NEGATE_VAL=3,C_PROG_EMPTY_TYPE=0,C_PROG_FULL_THRESH_ASSERT_VAL=1021,C_PROG_FUL" &
"L_THRESH_NEGATE_VAL=1020,C_PROG_FULL_TYPE=0,C_RD_DATA_COUNT_WIDTH=10,C_RD_DEPTH=1024,C_RD_FREQ=1,C_RD_PNTR_WIDTH=10,C_UNDERFLOW_LOW=0,C_USE_DOUT_RST=1,C_USE_ECC=0,C_USE_EMBEDDED_REG=0,C_USE_PIPELINE_REG=0,C_POWER_SAVING_MODE=0,C_USE_FIFO16_FLAGS=0,C_USE_FWFT_DATA_COUNT=0,C_VALID_LOW=0,C_WR_ACK_LOW=0,C_WR_DATA_COUNT_WIDTH=10,C_WR_DEPTH=1024,C_WR_FREQ=1,C_WR_PNTR_WIDTH=10,C_WR_RESPONSE_LATENCY=1,C_MSGON_VAL=1,C_ENABLE_RST_SYNC=1,C_EN_SAFETY_CKT=1,C_ERROR_INJECTION_TYPE=0,C_SYNCHRONIZER_STAGE=2,C_I" &
"NTERFACE_TYPE=0,C_AXI_TYPE=1,C_HAS_AXI_WR_CHANNEL=1,C_HAS_AXI_RD_CHANNEL=1,C_HAS_SLAVE_CE=0,C_HAS_MASTER_CE=0,C_ADD_NGC_CONSTRAINT=0,C_USE_COMMON_OVERFLOW=0,C_USE_COMMON_UNDERFLOW=0,C_USE_DEFAULT_SETTINGS=0,C_AXI_ID_WIDTH=1,C_AXI_ADDR_WIDTH=32,C_AXI_DATA_WIDTH=64,C_AXI_LEN_WIDTH=8,C_AXI_LOCK_WIDTH=1,C_HAS_AXI_ID=0,C_HAS_AXI_AWUSER=0,C_HAS_AXI_WUSER=0,C_HAS_AXI_BUSER=0,C_HAS_AXI_ARUSER=0,C_HAS_AXI_RUSER=0,C_AXI_ARUSER_WIDTH=1,C_AXI_AWUSER_WIDTH=1,C_AXI_WUSER_WIDTH=1,C_AXI_BUSER_WIDTH=1,C_AXI_RUSE" &
"R_WIDTH=1,C_HAS_AXIS_TDATA=1,C_HAS_AXIS_TID=0,C_HAS_AXIS_TDEST=0,C_HAS_AXIS_TUSER=1,C_HAS_AXIS_TREADY=1,C_HAS_AXIS_TLAST=0,C_HAS_AXIS_TSTRB=0,C_HAS_AXIS_TKEEP=0,C_AXIS_TDATA_WIDTH=8,C_AXIS_TID_WIDTH=1,C_AXIS_TDEST_WIDTH=1,C_AXIS_TUSER_WIDTH=4,C_AXIS_TSTRB_WIDTH=1,C_AXIS_TKEEP_WIDTH=1,C_WACH_TYPE=0,C_WDCH_TYPE=0,C_WRCH_TYPE=0,C_RACH_TYPE=0,C_RDCH_TYPE=0,C_AXIS_TYPE=0,C_IMPLEMENTATION_TYPE_WACH=1,C_IMPLEMENTATION_TYPE_WDCH=1,C_IMPLEMENTATION_TYPE_WRCH=1,C_IMPLEMENTATION_TYPE_RACH=1,C_IMPLEMENTATIO" &
"N_TYPE_RDCH=1,C_IMPLEMENTATION_TYPE_AXIS=1,C_APPLICATION_TYPE_WACH=0,C_APPLICATION_TYPE_WDCH=0,C_APPLICATION_TYPE_WRCH=0,C_APPLICATION_TYPE_RACH=0,C_APPLICATION_TYPE_RDCH=0,C_APPLICATION_TYPE_AXIS=0,C_PRIM_FIFO_TYPE_WACH=512x36,C_PRIM_FIFO_TYPE_WDCH=1kx36,C_PRIM_FIFO_TYPE_WRCH=512x36,C_PRIM_FIFO_TYPE_RACH=512x36,C_PRIM_FIFO_TYPE_RDCH=1kx36,C_PRIM_FIFO_TYPE_AXIS=1kx18,C_USE_ECC_WACH=0,C_USE_ECC_WDCH=0,C_USE_ECC_WRCH=0,C_USE_ECC_RACH=0,C_USE_ECC_RDCH=0,C_USE_ECC_AXIS=0,C_ERROR_INJECTION_TYPE_WACH=" &
"0,C_ERROR_INJECTION_TYPE_WDCH=0,C_ERROR_INJECTION_TYPE_WRCH=0,C_ERROR_INJECTION_TYPE_RACH=0,C_ERROR_INJECTION_TYPE_RDCH=0,C_ERROR_INJECTION_TYPE_AXIS=0,C_DIN_WIDTH_WACH=1,C_DIN_WIDTH_WDCH=64,C_DIN_WIDTH_WRCH=2,C_DIN_WIDTH_RACH=32,C_DIN_WIDTH_RDCH=64,C_DIN_WIDTH_AXIS=1,C_WR_DEPTH_WACH=16,C_WR_DEPTH_WDCH=1024,C_WR_DEPTH_WRCH=16,C_WR_DEPTH_RACH=16,C_WR_DEPTH_RDCH=1024,C_WR_DEPTH_AXIS=1024,C_WR_PNTR_WIDTH_WACH=4,C_WR_PNTR_WIDTH_WDCH=10,C_WR_PNTR_WIDTH_WRCH=4,C_WR_PNTR_WIDTH_RACH=4,C_WR_PNTR_WIDTH_RD" &
"CH=10,C_WR_PNTR_WIDTH_AXIS=10,C_HAS_DATA_COUNTS_WACH=0,C_HAS_DATA_COUNTS_WDCH=0,C_HAS_DATA_COUNTS_WRCH=0,C_HAS_DATA_COUNTS_RACH=0,C_HAS_DATA_COUNTS_RDCH=0,C_HAS_DATA_COUNTS_AXIS=0,C_HAS_PROG_FLAGS_WACH=0,C_HAS_PROG_FLAGS_WDCH=0,C_HAS_PROG_FLAGS_WRCH=0,C_HAS_PROG_FLAGS_RACH=0,C_HAS_PROG_FLAGS_RDCH=0,C_HAS_PROG_FLAGS_AXIS=0,C_PROG_FULL_TYPE_WACH=0,C_PROG_FULL_TYPE_WDCH=0,C_PROG_FULL_TYPE_WRCH=0,C_PROG_FULL_TYPE_RACH=0,C_PROG_FULL_TYPE_RDCH=0,C_PROG_FULL_TYPE_AXIS=0,C_PROG_FULL_THRESH_ASSERT_VAL_WA" &
"CH=1023,C_PROG_FULL_THRESH_ASSERT_VAL_WDCH=1023,C_PROG_FULL_THRESH_ASSERT_VAL_WRCH=1023,C_PROG_FULL_THRESH_ASSERT_VAL_RACH=1023,C_PROG_FULL_THRESH_ASSERT_VAL_RDCH=1023,C_PROG_FULL_THRESH_ASSERT_VAL_AXIS=1023,C_PROG_EMPTY_TYPE_WACH=0,C_PROG_EMPTY_TYPE_WDCH=0,C_PROG_EMPTY_TYPE_WRCH=0,C_PROG_EMPTY_TYPE_RACH=0,C_PROG_EMPTY_TYPE_RDCH=0,C_PROG_EMPTY_TYPE_AXIS=0,C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH=1022,C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH=1022,C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH=1022,C_PROG_EMPTY_THRESH" &
"_ASSERT_VAL_RACH=1022,C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH=1022,C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS=1022,C_REG_SLICE_MODE_WACH=0,C_REG_SLICE_MODE_WDCH=0,C_REG_SLICE_MODE_WRCH=0,C_REG_SLICE_MODE_RACH=0,C_REG_SLICE_MODE_RDCH=0,C_REG_SLICE_MODE_AXIS=0}";
ATTRIBUTE X_INTERFACE_INFO : STRING;
ATTRIBUTE X_INTERFACE_PARAMETER : STRING;
ATTRIBUTE X_INTERFACE_INFO OF din: SIGNAL IS "xilinx.com:interface:fifo_write:1.0 FIFO_WRITE WR_DATA";
ATTRIBUTE X_INTERFACE_INFO OF dout: SIGNAL IS "xilinx.com:interface:fifo_read:1.0 FIFO_READ RD_DATA";
ATTRIBUTE X_INTERFACE_INFO OF empty: SIGNAL IS "xilinx.com:interface:fifo_read:1.0 FIFO_READ EMPTY";
ATTRIBUTE X_INTERFACE_INFO OF full: SIGNAL IS "xilinx.com:interface:fifo_write:1.0 FIFO_WRITE FULL";
ATTRIBUTE X_INTERFACE_PARAMETER OF rd_clk: SIGNAL IS "XIL_INTERFACENAME read_clk, FREQ_HZ 100000000, FREQ_TOLERANCE_HZ 0, PHASE 0.0, INSERT_VIP 0";
ATTRIBUTE X_INTERFACE_INFO OF rd_clk: SIGNAL IS "xilinx.com:signal:clock:1.0 read_clk CLK";
ATTRIBUTE X_INTERFACE_INFO OF rd_en: SIGNAL IS "xilinx.com:interface:fifo_read:1.0 FIFO_READ RD_EN";
ATTRIBUTE X_INTERFACE_PARAMETER OF wr_clk: SIGNAL IS "XIL_INTERFACENAME write_clk, FREQ_HZ 100000000, FREQ_TOLERANCE_HZ 0, PHASE 0.0, INSERT_VIP 0";
ATTRIBUTE X_INTERFACE_INFO OF wr_clk: SIGNAL IS "xilinx.com:signal:clock:1.0 write_clk CLK";
ATTRIBUTE X_INTERFACE_INFO OF wr_en: SIGNAL IS "xilinx.com:interface:fifo_write:1.0 FIFO_WRITE WR_EN";
BEGIN
U0 : fifo_generator_v13_2_8
GENERIC MAP (
C_COMMON_CLOCK => 0,
C_SELECT_XPM => 0,
C_COUNT_TYPE => 0,
C_DATA_COUNT_WIDTH => 10,
C_DEFAULT_VALUE => "BlankString",
C_DIN_WIDTH => 24,
C_DOUT_RST_VAL => "0",
C_DOUT_WIDTH => 24,
C_ENABLE_RLOCS => 0,
C_FAMILY => "zynq",
C_FULL_FLAGS_RST_VAL => 1,
C_HAS_ALMOST_EMPTY => 0,
C_HAS_ALMOST_FULL => 0,
C_HAS_BACKUP => 0,
C_HAS_DATA_COUNT => 0,
C_HAS_INT_CLK => 0,
C_HAS_MEMINIT_FILE => 0,
C_HAS_OVERFLOW => 0,
C_HAS_RD_DATA_COUNT => 0,
C_HAS_RD_RST => 0,
C_HAS_RST => 1,
C_HAS_SRST => 0,
C_HAS_UNDERFLOW => 0,
C_HAS_VALID => 0,
C_HAS_WR_ACK => 0,
C_HAS_WR_DATA_COUNT => 0,
C_HAS_WR_RST => 0,
C_IMPLEMENTATION_TYPE => 2,
C_INIT_WR_PNTR_VAL => 0,
C_MEMORY_TYPE => 1,
C_MIF_FILE_NAME => "BlankString",
C_OPTIMIZATION_MODE => 0,
C_OVERFLOW_LOW => 0,
C_PRELOAD_LATENCY => 1,
C_PRELOAD_REGS => 0,
C_PRIM_FIFO_TYPE => "1kx36",
C_PROG_EMPTY_THRESH_ASSERT_VAL => 2,
C_PROG_EMPTY_THRESH_NEGATE_VAL => 3,
C_PROG_EMPTY_TYPE => 0,
C_PROG_FULL_THRESH_ASSERT_VAL => 1021,
C_PROG_FULL_THRESH_NEGATE_VAL => 1020,
C_PROG_FULL_TYPE => 0,
C_RD_DATA_COUNT_WIDTH => 10,
C_RD_DEPTH => 1024,
C_RD_FREQ => 1,
C_RD_PNTR_WIDTH => 10,
C_UNDERFLOW_LOW => 0,
C_USE_DOUT_RST => 1,
C_USE_ECC => 0,
C_USE_EMBEDDED_REG => 0,
C_USE_PIPELINE_REG => 0,
C_POWER_SAVING_MODE => 0,
C_USE_FIFO16_FLAGS => 0,
C_USE_FWFT_DATA_COUNT => 0,
C_VALID_LOW => 0,
C_WR_ACK_LOW => 0,
C_WR_DATA_COUNT_WIDTH => 10,
C_WR_DEPTH => 1024,
C_WR_FREQ => 1,
C_WR_PNTR_WIDTH => 10,
C_WR_RESPONSE_LATENCY => 1,
C_MSGON_VAL => 1,
C_ENABLE_RST_SYNC => 1,
C_EN_SAFETY_CKT => 1,
C_ERROR_INJECTION_TYPE => 0,
C_SYNCHRONIZER_STAGE => 2,
C_INTERFACE_TYPE => 0,
C_AXI_TYPE => 1,
C_HAS_AXI_WR_CHANNEL => 1,
C_HAS_AXI_RD_CHANNEL => 1,
C_HAS_SLAVE_CE => 0,
C_HAS_MASTER_CE => 0,
C_ADD_NGC_CONSTRAINT => 0,
C_USE_COMMON_OVERFLOW => 0,
C_USE_COMMON_UNDERFLOW => 0,
C_USE_DEFAULT_SETTINGS => 0,
C_AXI_ID_WIDTH => 1,
C_AXI_ADDR_WIDTH => 32,
C_AXI_DATA_WIDTH => 64,
C_AXI_LEN_WIDTH => 8,
C_AXI_LOCK_WIDTH => 1,
C_HAS_AXI_ID => 0,
C_HAS_AXI_AWUSER => 0,
C_HAS_AXI_WUSER => 0,
C_HAS_AXI_BUSER => 0,
C_HAS_AXI_ARUSER => 0,
C_HAS_AXI_RUSER => 0,
C_AXI_ARUSER_WIDTH => 1,
C_AXI_AWUSER_WIDTH => 1,
C_AXI_WUSER_WIDTH => 1,
C_AXI_BUSER_WIDTH => 1,
C_AXI_RUSER_WIDTH => 1,
C_HAS_AXIS_TDATA => 1,
C_HAS_AXIS_TID => 0,
C_HAS_AXIS_TDEST => 0,
C_HAS_AXIS_TUSER => 1,
C_HAS_AXIS_TREADY => 1,
C_HAS_AXIS_TLAST => 0,
C_HAS_AXIS_TSTRB => 0,
C_HAS_AXIS_TKEEP => 0,
C_AXIS_TDATA_WIDTH => 8,
C_AXIS_TID_WIDTH => 1,
C_AXIS_TDEST_WIDTH => 1,
C_AXIS_TUSER_WIDTH => 4,
C_AXIS_TSTRB_WIDTH => 1,
C_AXIS_TKEEP_WIDTH => 1,
C_WACH_TYPE => 0,
C_WDCH_TYPE => 0,
C_WRCH_TYPE => 0,
C_RACH_TYPE => 0,
C_RDCH_TYPE => 0,
C_AXIS_TYPE => 0,
C_IMPLEMENTATION_TYPE_WACH => 1,
C_IMPLEMENTATION_TYPE_WDCH => 1,
C_IMPLEMENTATION_TYPE_WRCH => 1,
C_IMPLEMENTATION_TYPE_RACH => 1,
C_IMPLEMENTATION_TYPE_RDCH => 1,
C_IMPLEMENTATION_TYPE_AXIS => 1,
C_APPLICATION_TYPE_WACH => 0,
C_APPLICATION_TYPE_WDCH => 0,
C_APPLICATION_TYPE_WRCH => 0,
C_APPLICATION_TYPE_RACH => 0,
C_APPLICATION_TYPE_RDCH => 0,
C_APPLICATION_TYPE_AXIS => 0,
C_PRIM_FIFO_TYPE_WACH => "512x36",
C_PRIM_FIFO_TYPE_WDCH => "1kx36",
C_PRIM_FIFO_TYPE_WRCH => "512x36",
C_PRIM_FIFO_TYPE_RACH => "512x36",
C_PRIM_FIFO_TYPE_RDCH => "1kx36",
C_PRIM_FIFO_TYPE_AXIS => "1kx18",
C_USE_ECC_WACH => 0,
C_USE_ECC_WDCH => 0,
C_USE_ECC_WRCH => 0,
C_USE_ECC_RACH => 0,
C_USE_ECC_RDCH => 0,
C_USE_ECC_AXIS => 0,
C_ERROR_INJECTION_TYPE_WACH => 0,
C_ERROR_INJECTION_TYPE_WDCH => 0,
C_ERROR_INJECTION_TYPE_WRCH => 0,
C_ERROR_INJECTION_TYPE_RACH => 0,
C_ERROR_INJECTION_TYPE_RDCH => 0,
C_ERROR_INJECTION_TYPE_AXIS => 0,
C_DIN_WIDTH_WACH => 1,
C_DIN_WIDTH_WDCH => 64,
C_DIN_WIDTH_WRCH => 2,
C_DIN_WIDTH_RACH => 32,
C_DIN_WIDTH_RDCH => 64,
C_DIN_WIDTH_AXIS => 1,
C_WR_DEPTH_WACH => 16,
C_WR_DEPTH_WDCH => 1024,
C_WR_DEPTH_WRCH => 16,
C_WR_DEPTH_RACH => 16,
C_WR_DEPTH_RDCH => 1024,
C_WR_DEPTH_AXIS => 1024,
C_WR_PNTR_WIDTH_WACH => 4,
C_WR_PNTR_WIDTH_WDCH => 10,
C_WR_PNTR_WIDTH_WRCH => 4,
C_WR_PNTR_WIDTH_RACH => 4,
C_WR_PNTR_WIDTH_RDCH => 10,
C_WR_PNTR_WIDTH_AXIS => 10,
C_HAS_DATA_COUNTS_WACH => 0,
C_HAS_DATA_COUNTS_WDCH => 0,
C_HAS_DATA_COUNTS_WRCH => 0,
C_HAS_DATA_COUNTS_RACH => 0,
C_HAS_DATA_COUNTS_RDCH => 0,
C_HAS_DATA_COUNTS_AXIS => 0,
C_HAS_PROG_FLAGS_WACH => 0,
C_HAS_PROG_FLAGS_WDCH => 0,
C_HAS_PROG_FLAGS_WRCH => 0,
C_HAS_PROG_FLAGS_RACH => 0,
C_HAS_PROG_FLAGS_RDCH => 0,
C_HAS_PROG_FLAGS_AXIS => 0,
C_PROG_FULL_TYPE_WACH => 0,
C_PROG_FULL_TYPE_WDCH => 0,
C_PROG_FULL_TYPE_WRCH => 0,
C_PROG_FULL_TYPE_RACH => 0,
C_PROG_FULL_TYPE_RDCH => 0,
C_PROG_FULL_TYPE_AXIS => 0,
C_PROG_FULL_THRESH_ASSERT_VAL_WACH => 1023,
C_PROG_FULL_THRESH_ASSERT_VAL_WDCH => 1023,
C_PROG_FULL_THRESH_ASSERT_VAL_WRCH => 1023,
C_PROG_FULL_THRESH_ASSERT_VAL_RACH => 1023,
C_PROG_FULL_THRESH_ASSERT_VAL_RDCH => 1023,
C_PROG_FULL_THRESH_ASSERT_VAL_AXIS => 1023,
C_PROG_EMPTY_TYPE_WACH => 0,
C_PROG_EMPTY_TYPE_WDCH => 0,
C_PROG_EMPTY_TYPE_WRCH => 0,
C_PROG_EMPTY_TYPE_RACH => 0,
C_PROG_EMPTY_TYPE_RDCH => 0,
C_PROG_EMPTY_TYPE_AXIS => 0,
C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH => 1022,
C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH => 1022,
C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH => 1022,
C_PROG_EMPTY_THRESH_ASSERT_VAL_RACH => 1022,
C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH => 1022,
C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS => 1022,
C_REG_SLICE_MODE_WACH => 0,
C_REG_SLICE_MODE_WDCH => 0,
C_REG_SLICE_MODE_WRCH => 0,
C_REG_SLICE_MODE_RACH => 0,
C_REG_SLICE_MODE_RDCH => 0,
C_REG_SLICE_MODE_AXIS => 0
)
PORT MAP (
backup => '0',
backup_marker => '0',
clk => '0',
rst => rst,
srst => '0',
wr_clk => wr_clk,
wr_rst => '0',
rd_clk => rd_clk,
rd_rst => '0',
din => din,
wr_en => wr_en,
rd_en => rd_en,
prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
prog_empty_thresh_assert => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
prog_empty_thresh_negate => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
prog_full_thresh_assert => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
prog_full_thresh_negate => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
int_clk => '0',
injectdbiterr => '0',
injectsbiterr => '0',
sleep => '0',
dout => dout,
full => full,
empty => empty,
wr_rst_busy => wr_rst_busy,
rd_rst_busy => rd_rst_busy,
m_aclk => '0',
s_aclk => '0',
s_aresetn => '0',
m_aclk_en => '0',
s_aclk_en => '0',
s_axi_awid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_awaddr => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 32)),
s_axi_awlen => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
s_axi_awsize => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 3)),
s_axi_awburst => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 2)),
s_axi_awlock => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_awcache => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
s_axi_awprot => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 3)),
s_axi_awqos => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
s_axi_awregion => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
s_axi_awuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_awvalid => '0',
s_axi_wid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_wdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 64)),
s_axi_wstrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
s_axi_wlast => '0',
s_axi_wuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_wvalid => '0',
s_axi_bready => '0',
m_axi_awready => '0',
m_axi_wready => '0',
m_axi_bid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
m_axi_bresp => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 2)),
m_axi_buser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
m_axi_bvalid => '0',
s_axi_arid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_araddr => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 32)),
s_axi_arlen => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
s_axi_arsize => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 3)),
s_axi_arburst => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 2)),
s_axi_arlock => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_arcache => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
s_axi_arprot => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 3)),
s_axi_arqos => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
s_axi_arregion => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
s_axi_aruser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axi_arvalid => '0',
s_axi_rready => '0',
m_axi_arready => '0',
m_axi_rid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
m_axi_rdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 64)),
m_axi_rresp => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 2)),
m_axi_rlast => '0',
m_axi_ruser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
m_axi_rvalid => '0',
s_axis_tvalid => '0',
s_axis_tdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
s_axis_tstrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axis_tkeep => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axis_tlast => '0',
s_axis_tid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axis_tdest => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
s_axis_tuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
m_axis_tready => '0',
axi_aw_injectsbiterr => '0',
axi_aw_injectdbiterr => '0',
axi_aw_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
axi_aw_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
axi_w_injectsbiterr => '0',
axi_w_injectdbiterr => '0',
axi_w_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
axi_w_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
axi_b_injectsbiterr => '0',
axi_b_injectdbiterr => '0',
axi_b_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
axi_b_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
axi_ar_injectsbiterr => '0',
axi_ar_injectdbiterr => '0',
axi_ar_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
axi_ar_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
axi_r_injectsbiterr => '0',
axi_r_injectdbiterr => '0',
axi_r_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
axi_r_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
axis_injectsbiterr => '0',
axis_injectdbiterr => '0',
axis_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
axis_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10))
);
END fifo_generator_3_arch;
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,104 @@
/*----------------------------------------------------------------------------
* Copyright (c) 2011 Xilinx, Inc.
* This design is confidential and proprietary of Xilinx, All Rights Reserved.
*-----------------------------------------------------------------------------
* ____ ____
* / /\/ /
* /___/ \ / Vendor: Xilinx
* \ \ \/ Date Created: 2011/04/26
* \ \
* / /
* /___/ /\
* \ \ / \
* \___\/\___\
*
*Device: All
*Purpose:
* General functions used by other Labtools IP cores. Functions will
* be added as needed.
*
*Notes:
* Include the file inside the Verilog module after the module and port
* section. Do not include at the top of the module.
*
*----------------------------------------------------------------------------*/
`include "ltlib_v1_0_0_ver.vh"
function integer clogb2;
input integer depth;
integer d;
begin
if (depth == 0)
clogb2 = 1;
else
begin
d = depth;
for (clogb2=0; d > 0; clogb2 = clogb2+1)
d = d >> 1;
end
end
endfunction
function string_contains;
input [`FAMILY_NAME_LENGTH*8-1:0] familyName;
input [`FAMILY_NAME_LENGTH*8-1:0] expectedName;
input integer expectedLength;
integer i;
integer j;
reg temp_contain;
begin
string_contains = 1;
temp_contain = 0;
for (i=0; i<`FAMILY_NAME_LENGTH; i=i+1)
begin
if (familyName[(8*i)+:8] == expectedName[0+:8])
begin
temp_contain = 1;
for (j=0; j<expectedLength; j=j+1)
begin
if (familyName[((8*i)+(8*j))+:8] != expectedName[(8*j)+:8])
begin
temp_contain = 0;
end
end
end
end
if (temp_contain == 1)
begin
string_contains = 1;
i = `FAMILY_NAME_LENGTH;
end
end
endfunction
function integer supports_bscane2;
input [`FAMILY_NAME_LENGTH-1:0] familyName;
begin
if (string_contains(familyName,`FAMILY_VIRTEX7,`FAMILY_VIRTEX7_LENGTH) == 1 || string_contains(familyName,`FAMILY_KINTEX7,`FAMILY_KINTEX7_LENGTH) == 1 || string_contains(familyName,`FAMILY_ARTIX7,`FAMILY_ARTIX7_LENGTH) == 1 || string_contains(familyName,`FAMILY_ZYNQ,`FAMILY_ZYNQ_LENGTH) == 1)
supports_bscane2 = 1;
else
supports_bscane2 = 0;
end
endfunction
function integer supports_series7_bufr;
input [`FAMILY_NAME_LENGTH-1:0] familyName;
begin
if (string_contains(familyName,`FAMILY_VIRTEX7,`FAMILY_VIRTEX7_LENGTH) == 1 || string_contains(familyName,`FAMILY_KINTEX7,`FAMILY_KINTEX7_LENGTH) == 1 || string_contains(familyName,`FAMILY_ARTIX7,`FAMILY_ARTIX7_LENGTH) == 1 || string_contains(familyName,`FAMILY_ZYNQ,`FAMILY_ZYNQ_LENGTH) == 1)
supports_series7_bufr = 1;
else
supports_series7_bufr = 0;
end
endfunction
function integer supports_series7_startup;
input [`FAMILY_NAME_LENGTH-1:0] familyName;
begin
if (string_contains(familyName,`FAMILY_VIRTEX7,`FAMILY_VIRTEX7_LENGTH) == 1 || string_contains(familyName,`FAMILY_KINTEX7,`FAMILY_KINTEX7_LENGTH) == 1 || string_contains(familyName,`FAMILY_ARTIX7,`FAMILY_ARTIX7_LENGTH) == 1 || string_contains(familyName,`FAMILY_ZYNQ,`FAMILY_ZYNQ_LENGTH) == 1)
supports_series7_startup = 1;
else
supports_series7_startup = 0;
end
endfunction
@@ -0,0 +1,106 @@
/*----------------------------------------------------------------------------
* Copyright (c) 2008 Xilinx, Inc.
* This design is confidential and proprietary of Xilinx, All Rights Reserved.
*-----------------------------------------------------------------------------
* ____ ____
* / /\/ /
* /___/ \ / Vendor: Xilinx
* \ \ \/ Date Created: 2008/08/18
* \ \
* / /
* /___/ /\
* \ \ / \
* \___\/\___\
*
*Device: All
*Purpose:
* Define values for Verilog instatiation of labtools ip
*
*----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
*-- C O N S T A N T S
*-----------------------------------------------------------------------------*/
//
// Core type (non-negative integers from 0 to 255)
//
`define RESERVED_MFG_ID 0
`define XILINX_MFG_ID 1
`define XILINX_AND_AGILENT_MFG_ID 2
`define GC_XILINX_MFG_ID `XILINX_MFG_ID
//
// Core type (non-negative integers from 0 to 255)
//
`define RESERVED_CORE_TYPE 0
`define ICON_CORE_TYPE 1
`define ILA_CORE_TYPE 2
`define IBA_GENERIC_CORE_TYPE 3
`define IBA_OPB_CORE_TYPE 4
`define IBA_PLB_CORE_TYPE 5
`define ILA_ATC_CORE_TYPE 6
`define IBA_OPB_ATC_CORE_TYPE 7
`define IBA_PLB_ATC_CORE_TYPE 8
`define VIO_CORE_TYPE 9
`define ATC2_CORE_TYPE 10
`define ATC3_CORE_TYPE 11
`define GC_RESERVED_CORE_TYPE2 12
`define IBERT_CORE_TYPE 13
`define GC_XSDB_MASTER_V1_0 14
`define GC_ICON_NULL_CORE_TYPE 15
//
// Width of the ChipScope Pro Core CONTROL port
//
`define CONTROL_WIDTH 36
// Match unit type
`define MATCH_UNIT_TYPEA_ALLX 0
//`define MATCH_UNIT_TYPE_GANDOR 2
//`define MATCH_UNIT_TYPE_GANDORX 3
//
// Device family constants
//
`define FAMILY_NAME_LENGTH 15 //leave room for radhard/automotive and low power part names
`define FAMILY_VIRTEX7 "virtex7"
`define FAMILY_VIRTEX7_LENGTH 7
`define FAMILY_KINTEX7 "kintex7"
`define FAMILY_KINTEX7_LENGTH 7
`define FAMILY_ARTIX7 "artix7"
`define FAMILY_ARTIX7_LENGTH 6
`define FAMILY_ZYNQ "zynq"
`define FAMILY_ZYNQ_LENGTH 4
//
// Architecture match type constants, start at 100 so that code can't incorrectly mix up family and match unit type
//
`define ARCH_MATCH_TYPE_A 100
//
// Device JTAG Stuff
//
`define GC_SBT_IR_W 10;
`define GC_SBT_IR_ID_INSTR 10'b1111001001
`define GC_SBT_IR_USER1_INSTR 10'b11_1100_0010
`define GC_CHIP_ID_CHIPSCOPE_SBT 32'b0000_1010_0000_0000_0011_0000_1001_0011
// 0a00_3093
////////////////////////////////////////////////////////////////////////////////
// Virtex7
//
// IR Info
`define GC_V7_IR_W 6
`define GC_V7_IR_ID_INSTR 6'b00_1001
`define GC_V7_IR_USER1_INSTR 6'b00_0010
`define GC_V7_IR_USER2_INSTR 6'b00_0011
`define GC_V7_IR_USER3_INSTR 6'b10_0010
`define GC_V7_IR_USER4_INSTR 6'b10_0011
// Chip IDs
`define GC_CHIP_ID_XC7V285T 32'b0000_0011_1010_0110_0100_0000_1001_0011
// 0424a093
@@ -0,0 +1,50 @@
/*----------------------------------------------------------------------------
* Copyright (c) 2008 Xilinx, Inc.
* This design is confidential and proprietary of Xilinx, All Rights Reserved.
*-----------------------------------------------------------------------------
* ____ ____
* / /\/ /
* /___/ \ / Vendor: Xilinx
* \ \ \/ Date Created: 2008/08/18
* \ \
* / /
* /___/ /\
* \ \ / \
* \___\/\___\
*
*Device: All
*Purpose:
* Define Values for Verilog instatiation of icn2xsdb_mstrbr_ver
*
*----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
*-- C O N S T A N T S
*-----------------------------------------------------------------------------*/
`define GC_XSDB_MSI_SL_SEL_WIDTH 8 /* Slave Select Width */
`define GC_XSDB_MSI_ADDR_WIDTH 17 /* Address Width */
`define GC_XSDB_MSI_BRST_WD_LEN_WIDTH 17
`define GC_XSDB_MSI_DATA_WIDTH 16 /* Data Width */
`define GC_XSDB_MSI_BRST_CNT_WIDTH 16 /* Burst Count Width */
`define GC_XSDB_S_IPORT_WIDTH 37 /* Slave Port input interface width */
`define GC_XSDB_S_OPORT_WIDTH 17 /* Slave Port output interface width */
`define GC_XSDB_S_ADDR_WIDTH `GC_XSDB_MSI_ADDR_WIDTH /* Slave Addr width */
`define GC_XSDB_S_DATA_WIDTH `GC_XSDB_MSI_DATA_WIDTH /* Slave Data width */
`define GC_IPORT_RST_IDX 0
`define GC_IPORT_DCLK_IDX 1
`define GC_IPORT_DEN_IDX 2
`define GC_IPORT_DWE_IDX 3
`define GC_IPORT_DADDR_IDX 4
`define GC_IPORT_DI_IDX `GC_IPORT_DADDR_IDX+`GC_XSDB_S_ADDR_WIDTH
`define GC_OPORT_RDY_IDX 0
`define GC_OPORT_DO_IDX 1
`define GC_ICN_CTL_WIDTH 36
`define GC_ICN_CMD4_WIDTH 3 + `GC_XSDB_MSI_SL_SEL_WIDTH+ `GC_XSDB_MSI_BRST_WD_LEN_WIDTH
`define GC_ICN_CMD5_WIDTH 1 + `GC_XSDB_MSI_ADDR_WIDTH
`define GC_ICN_CMD6_WIDTH `GC_XSDB_MSI_DATA_WIDTH
@@ -0,0 +1,107 @@
/*----------------------------------------------------------------------------
* Copyright (c) 2008 Xilinx, Inc.
* This design is confidential and proprietary of Xilinx, All Rights Reserved.
*-----------------------------------------------------------------------------
* ____ ____
* / /\/ /
* /___/ \ / Vendor: Xilinx
* \ \ \/ Date Created: 2008/08/18
* \ \
* / /
* /___/ /\
* \ \ / \
* \___\/\___\
*
*Device: All
*Purpose:
* Define values for Verilog instatiation of labtools ip
*
*----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
*-- C O N S T A N T S
*-----------------------------------------------------------------------------*/
//
// Core type (non-negative integers from 0 to 255)
//
`define RESERVED_MFG_ID 0
`define XILINX_MFG_ID 1
`define XILINX_AND_AGILENT_MFG_ID 2
`define GC_XILINX_MFG_ID `XILINX_MFG_ID
//
// Core type (non-negative integers from 0 to 255)
//
`define RESERVED_CORE_TYPE 0
`define ICON_CORE_TYPE 1
`define ILA_CORE_TYPE 2
`define IBA_GENERIC_CORE_TYPE 3
`define IBA_OPB_CORE_TYPE 4
`define IBA_PLB_CORE_TYPE 5
`define ILA_ATC_CORE_TYPE 6
`define IBA_OPB_ATC_CORE_TYPE 7
`define IBA_PLB_ATC_CORE_TYPE 8
`define VIO_CORE_TYPE 9
`define ATC2_CORE_TYPE 10
`define ATC3_CORE_TYPE 11
`define GC_RESERVED_CORE_TYPE2 12
`define IBERT_CORE_TYPE 13
`define GC_XSDB_MASTER_V1_0 14
`define GC_ICON_NULL_CORE_TYPE 15
//
// Width of the ChipScope Pro Core CONTROL port
//
`define CONTROL_WIDTH 36
// Match unit type
`define MATCH_UNIT_TYPEA_ALLX 0
//`define MATCH_UNIT_TYPE_GANDOR 2
//`define MATCH_UNIT_TYPE_GANDORX 3
//
// Device family constants
//
`define FAMILY_NAME_LENGTH 15 //leave room for radhard/automotive and low power part names
`define FAMILY_VIRTEX6 "virtex6"
`define FAMILY_VIRTEX7 "virtex7"
`define FAMILY_VIRTEX7_LENGTH 7
`define FAMILY_KINTEX7 "kintex7"
`define FAMILY_KINTEX7_LENGTH 7
`define FAMILY_ARTIX7 "artix7"
`define FAMILY_ARTIX7_LENGTH 6
`define FAMILY_ZYNQ "zynq"
`define FAMILY_ZYNQ_LENGTH 4
//
// Architecture match type constants, start at 100 so that code can't incorrectly mix up family and match unit type
//
`define ARCH_MATCH_TYPE_A 100
//
// Device JTAG Stuff
//
`define GC_SBT_IR_W 10;
`define GC_SBT_IR_ID_INSTR 10'b1111001001
`define GC_SBT_IR_USER1_INSTR 10'b11_1100_0010
`define GC_CHIP_ID_CHIPSCOPE_SBT 32'b0000_1010_0000_0000_0011_0000_1001_0011
// 0a00_3093
////////////////////////////////////////////////////////////////////////////////
// Virtex7
//
// IR Info
`define GC_V7_IR_W 6
`define GC_V7_IR_ID_INSTR 6'b00_1001
`define GC_V7_IR_USER1_INSTR 6'b00_0010
`define GC_V7_IR_USER2_INSTR 6'b00_0011
`define GC_V7_IR_USER3_INSTR 6'b10_0010
`define GC_V7_IR_USER4_INSTR 6'b10_0011
// Chip IDs
`define GC_CHIP_ID_XC7V285T 32'b0000_0011_1010_0110_0100_0000_1001_0011
// 0424a093
@@ -0,0 +1,306 @@
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "XILINX"
`pragma protect encrypt_agent_info = "Xilinx Encryption Tool 2023.1"
`pragma protect key_keyowner = "Synopsys", key_keyname = "SNPS-VCS-RSA-2", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
`pragma protect key_block
fBSLeFFl0UIhg6NZDTfu7ypZinWtFMVad2IjoPHu9PrVtpF4/iEXr2hclNyyVNtSK3rS9o808/xh
evP8t1tgHgzJc3pTiFf0SCFxdYysUbHTzqb2Z0VVNXjG6ST6EQnS1fBhaPWANsocZE42WPKH4pGq
UaD8nMt6HnNQKl7fxto=
`pragma protect key_keyowner = "Aldec", key_keyname = "ALDEC15_001", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
MzvL1RI48mMiPx2gD+ylGViLUm2JpiOsPJad/U8l6wZV6xJqCaUhbsCT8sXuqTEVwbfdYK7lGSGA
plZkU3Sj1wlnVq+yGS5P6TJJ5Mm7GPgOnU5wRg5nZgPxSZGuLTXJHOGhfjhH/mghs3AlxNS7GmAw
qbHfuT7p7pz9Oah2xfjLXaW7HvKd9N92D0qeoICr6xjLSOPHL8Ly+zaMWXZAWiLyLa//riF4XRv3
N7K0SA53BIEuPfBcI9Czrf/6D6b2cKA9iGJOmxUeTZyuJ45SAxjkVHkB7CcUSmTr4UKfTvb9zACi
Mtu8Wg6Q/3OVETaak2qbYD9zZwumSz5HBm03zw==
`pragma protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-VELOCE-RSA", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
`pragma protect key_block
dD3LMSW2XQlBMBTTRMwSXOa/RCG+OACGmaO+611u/OleDoum5VpmkxkWvR/TeLAPQ4wXRJaAc/PV
WwCnpEMayBqjs9/L7J8noaf+DAM/987+jDKn42Q3SUEdxvG50/fSYnVeomOXb9J9WU1oj3wYWwT2
K/pY3JWsKJg7il3eUhA=
`pragma protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-VERIF-SIM-RSA-2", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
NNyiGV2bFhwQQaTXD/hUgqeVVtPXmF5bimKcAE1K5fYgWe3v/ohvwvbHKzJyBYjleCOHh7uhppzQ
2MdP5iqFRBK77jDvMnDZ9Tqz+U3SR2pblq6YhxdY6Zc0I9CNZKTMg1PrHtcRm8e6HgoGuop7FQgr
KevxWNszAVgF+yHmYjd6+zZ0T9jIgGvBEg5YpE1DcjfPvmaK0INQ/P/B47Pk+KaFUi5v5DXERY8h
3tAhOQOj/RbNPan5ew8ENTlu5WxzC3NyEwtoNkLqji9d58n5B4dPG3qf4zJ3JjUPiThvGZHKsnop
+hXSgUzBMxJ9crNwmvFJsQq1Y6awavFZJmm/LQ==
`pragma protect key_keyowner = "Real Intent", key_keyname = "RI-RSA-KEY-1", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
U/vjLHyaDciMldHogERJWxUQ1cwvzDb/eeYwkJWlKW0/8/ErSJnXXqjRRA9fd5fBJMLUwA6FnN5A
nWNCfY1GXtvgVMTEOqnYYlipg98l03QKGYORoU1cGdJ8y9BNfiF0chn4xAD49otAM4UXWF6mKsat
8iV58/eSpV//gTN/V6kf+1ZhoBbZRcNmGyCGZ0KhthR8iOm6EmItNXMa+n2TnK5MyA6NaOnndema
soyuLvVMRREeonlSJRUvX0DAggLT6lX8TYM6KoNaPqKOE8Ix1l4vQ4gcYKnMxXDr7mlmHKHwUbG7
5AmbNufL4nSzQPn9U3thkrGAxzRFj7MNyr/Uxg==
`pragma protect key_keyowner = "Metrics Technologies Inc.", key_keyname = "DSim", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
ECB5/2ZeTEb6P2U9faQYLdHquYo50rHrUiQGnMSiFUVo3CE+IMhTUnBoQ5MbsMTTvV+/vpWHa3/R
j7RXAP6ebEYwxH1rc7se7u+C9JPEHkkqtUf5c8fAGrrTgFH9sX2yegDqCVVnRIlJUMEqphyRoZc8
WUQbxiXDl8OzqDoV6oFx3KzxNYOO2MFeRSZ9qnTd7GJBJUPnvI/K+k0gtWojuKfU9r15mSTYkrwR
TQcNVMnOW0p2RzW9zCAs0FZT/CYJeK3jUNcH+Hh2gWjufVZ+NB/eOVbAYNIEXduhBg/t6XciaWkB
P+bpaXZ3CKcOtXU+DjLyI13M8BFtPQD0CRHKKw==
`pragma protect key_keyowner = "Xilinx", key_keyname = "xilinxt_2022_10", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
wUJwzPBXQ7Yal7NTH2UzEraIeE9khcHISyeUMPFVTwDR4vYiF3ckZxAfoksF7Ct7rtGoFtGCWGhr
FDnjBlnuyTVk9kU7tIzW+nfqiSF4kAPznjq4E7dZSRwZIPTDO7swLv2Ef+F1OfLjtOYUMLxZZfzB
2hwYVUYuVyPO0ojtIjJdI9k4F2jlU3eB0qUVkbJuJm8NgyZCXKMUobnaMH8np6jLTG1sxP68EiDW
2HRiycXorMu8HBioOX7ihCO3FNmdT2corKVjGNJ/S2AGkC+j8E1p0WI5ovZSWJOjbvA+rsHAdqAf
EWEg+xzp8et2lSys5iJ9qxzK/t/M6Nz22Qjwog==
`pragma protect key_keyowner = "Atrenta", key_keyname = "ATR-SG-RSA-1", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 384)
`pragma protect key_block
XKuLPDu2Sna+99vSkwOlXk5wVQ8rXEakmNmlTzc2i4lI3bkhJ0PYuAMO7noI4LqVqU4m7AiMXh0f
y4OwjMjsUfLfkDzbEfSy1QJulNHWjPdGx6jXqwBK3P0zhZQcGYcBrWJ8yocMMPZvbJIErFtKUOcf
zQwp5GQoPokTptPUZ8eafvi4KUxFMFb0uIrmrhs9Adwhtllwtk2RJRDFJ/kpUunyfKjel8RXMDLw
wNboQJpIxdDhm9XgEgX62woedKuwvEhS/59CLrscqKM0F6hBBlI7gZfkkQlokcN0G6susykZdRw8
lcZiKtBiETCbWUh/jmxThK/fr4+hmQ/ENCzUx2ypMcNbfU5n0l4+zyXFvNIK1fL9U5EO4w5YsIS3
q9cXQUaUndYeGnEaO3rSgAWt6gNyOXBN9dbTOr6BXb5CtPqjTronBDqidnETS3XsymEub2lw3fcg
MnuxCLUz3oTahFu4+M2pylRrWEJiD/MD8h0L030+O4f2qVGfEOoZ0POw
`pragma protect key_keyowner = "Cadence Design Systems.", key_keyname = "CDS_RSA_KEY_VER_1", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
WjyQLOg5wK6cekU23+JoX6YPd2aa6aEyPnJ0CizxS5391+IhI2aCDB+mqjCZCCmDQmHYDs45HoT3
BW1GhBA1gMVvX3JpIaCmoje2Qbu1BbKJfnuvdvg+yDPRmpVSj5cRcMMICIigl18KKNCWnzkP6I1S
s6sDGTBb8CRnhLAAcsxTCtohRtMfbVuTZstObr/qQj0Ye37czKV7UMiXmyXLcPfCNX1TDKMj8Gt8
ZERRqV2IEQiMv58pknr2bwlZllYTk4CnWHHAXKOkSyriZH1cBT0N2G7YgSa4Gp6qJHZaDGPuzNKU
afjRNaIkY7GY9Jfvf38DCYTmAR+Mv+j12JdN3w==
`pragma protect data_method = "AES128-CBC"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 12464)
`pragma protect data_block
0XFi6v65kwH2rIOng3NuAFuxA+e5PCjXoqLWEFf+sYRd/EHRK/HJbfrZaaaid65gnhjQYv1wl+/K
KzLr35cYzya9ORpKy2iS0GuAZf2L/bV9i1XREuFYuswdVQyZQY+sSgg6pHKy06S8cfktw1cBmnXT
oygdcbHFFFpSMueczEJTSaQqMBf9Kx08xb3KkgEdHFZaMd1EdC64Qlrxv85UJut7cBhGMCHfVVag
5NSe9G2T/2ByZ+F63hxlRwBDKwaGVNn8kOP4OuDriARZhcMzlkXV1Bpm9kgVMqCzS6KsNU6LeIDn
GU7fNrjozfhxpiR8OVHPS3KNYWbPUiX691COEy6Hxz8X4TcpKFGnJsN+1dJN2KVMrJunlomvCvOj
eUTUEXLD4FuANSBXwX9m+0L3mHiysMOiG8wnn9Aw2SDnrZdLh6DYO8q4cUoB7ZODWDaOxPEYFNCm
8EhkrNQJr2t209mtJJwp7xGNIOGCHtlkWx+apnpu8E08q5mEYzc582C2uQr7tGC3XSkUP7yo7UGI
K+QXlwgKM4X123hwYWHD5WzlcDUhjdioZpmzl+AQJwWhXaJEKZl78o/mq1HVV8X0+/Ld8ic1Il/T
60StZr82OfcPeMKDK/uUa/3/tKnx5yjaGkY6b9Pvb9C3DHhQlK3L6B/i0+eJF2ctAYqczE0PaX+5
g+U7F1jOibGAxYpNEWDV3CiuZivb1F7n8sczCoF25umB/XnhgEfUb4Psjq2WFPhsRVI5C/gbplaX
ZekMskfjnR8Hk2HNCMEvjQ/JsmA1qmts49dCMiQLfYqJhERkLE24cx1nERpdgJ3j8OyfM8n9hSJ0
St6qXncV9vXo68kGVriPLOSEnpww6dXYQuGi2Q0xvqrlLrxPeA0Bh5P7k50eJD5iI289WUGXoKdi
OKemdkjuN2B+JwG61q+0YrFkC8moaibEocZYfgDcZTtHOxMOC9lKQpIcK3JsURgJ8NY74ihSOq3c
PwBc6ozG+JiKgNXNpHIfIy4BUwvJTGStS9iyDeX+YbBx8b5VWv1sxgjCk0jLR5/M7MH2Qc1pRqf/
eqaEcPurVyLbvG2c26//HMKOm4i6AfQ7nJv5jB/fs+16ob7lPP0gPOSsaFw8wLsWRFa/7SbibBP5
z2x9xl2mQMrk5wre1DJwoEQNnPp3pLbJ9Vvz+UqTukUuPunBvsw3qb7A63a70YL7MSLLhRD8+DTJ
nhoDiHw0QcUPxDkXhx2VjisqptR20lkL+iPWtlQ8ld1v88bx17KNAqWx/LGObQeuojp2B8tuQX+9
JYoeBq5JFM37Pdb/Fh15bjLzHD9+W8eNFoihB1x/7K8ALtoB0KOf7Or6oDZIoMyBKMcpMwWSaB/m
FcpBj9rJRdk1MagZeJBY4k5Qdc0RQ+wltJnn2wPKYj4SMJdszImoo8luOjSW1h/f6hTE4thAFtfu
swHsUE9BQ/sTd+dZOaon2AV3NQjRCSw3cUEj9zP8PgW8SaYNUwoQLmA/jmeKnJDJgLdQBXK3FnBk
Z2iHMYbIsC04S+twWgGcuXB5OONj9TA9dnfl3WBYYe5rnxfuZGMVNywp10Jo3sndy5EC51uDfo7o
tZmFTLJwEAZw1OdNt9jkAAM6pdt4tssrLT2ANwLYwvKO/NPf2eylknc/70LQDYDscFgL5KkYbkw4
FYGyiufzWN/uagPXQxoeQVKs4cj+mQ0lXo3gMKlQwcbcZamTNEaxCY/p14XPT9XP2ltuD0X1ZCdr
J+UdZnasmftW4Mc++VgGG/pAYxa1P9e1m4TFuTwZSzahAIdqOml0BTbKptWqShwvMZL1ttZX/hRv
piwXKKtSgy6I6RC/wWdmTf5BESVTm3ZHfMu0H6C1sszggrbuIfA+nd3xm30mCMAZ3upV9wwBX4Cf
U/MTZ/ZYU9Mpq7qX/SO2lsGADxOMYgHPahFOFGqSb+rpjok8fU2OVu4DMisowkMBIeIUvMv+pnVI
SDNC8XaxEfVWeufpiMrOzRV8ZiwN0/m253rAuvIwgjwg+kiAT+XGsaMCPiVaEG3+v/p9QjHcQ+Oa
Jpc/sMfAZ3t3KZ2Jvf5rPgEg6dAwWG3eZktIoRw3D+Kpxeibtpl7E8ohDU3UUL1UyNRj5MVUTayc
g/qhLGFCsuiuVfkcem3vmllaWFvcBwa/2ZPX5EJjszJtIhXeKwj/6wq2bLy/fRDGYlwAh71gXuDi
n23CFC1RnQ/+MYHGv+CUxjWe9FXKTzZa5GfcovYllFyoXl1QrUrN447aVwUhK8k7ysmN43lvs+zZ
N312kEgytnulYDYpr3kYDKXat9pK0cH943e2mil8xW+yjyrbqEpYVBSngkkK+PMM2207r+DhdDLw
i/A3F8AqBdEyjcdr5nK+JP5kBVnpOROCBsP1lkw0A/DqZh1p8b0bKVDVZiWFJGB/vCtvDkqR7S8D
KDb7k29cXvFqp0rvhmyzQ5fjooRQqs5fnIA4smmwAqPJHc8AuKGyV5UeyWRE+c70nUyXIYXs0qUP
OERTb/ptd+yoM9Bf6FaEJZ3olas9JVCrNAVhddNtVk9MAsnDPf2vMr9YVJOXUOZMDGapDTYbDaoG
iPeUGptbIIWbkub45cgy76uLvNLRcV0nB9gVMiwnOrNGerWjInRi0feDVqK+ZU+zcC03cLeaeXYJ
x626LIegdItV86oxKbQOzgwaiNLEXhM86Ce9IKSHph2GljEqxHpqLKwg6AcX69y+kv2xkxqFPwil
nMi9P9wZEWUn5LVkQJnB/EKz1PW1O9o0SZ4a0wGFD1cnt+rHSrtvqY07hSjrfw2wEY4tUTR9nUhH
c+MDiIiUCBCbKUcu/wtU3OLZ1UaSsOMZ91aeGnc2HIFFZ9DuMBpuAT6aMpJS+v3o3/Z0HoJFvbNE
woFuRIvcUCGaAYQur10W+ci6FZQPSSkJN2Su1xjLskodvvocp6w7jkJzfaKmhysHm3/xDcjMCdCr
YB7oQVbJWYTd+vyyG5sg7fN+vyqPK5SIyit3rgku+yuTd8oSOlNacpphaC5jYYCXLGcBrA+C01HM
8584q13wVpt9vyZMmTzzXwA/a42MHkGaJyMWmdlqVyY5k/XJLYiLww23LoSeS4xg7133MXJey5l5
e5I5ocN9olftY6YwAnt4UcwG14GnXcAkki/RlE2pE0IEwsAIdse0xvfQLr/HNJu4cnd2GcJ/a45y
fDwhlW4U++zj+At9IyzXvk1AiKrEYUuUM3uRPPOEGg2alQjN5KEgGdKOKAwl4Rk8W+dta+0eDkit
hKhxBLSXpHt3FOe5H2kdxJx5BPKipF7ogvS0UMdeNlM+oqeRU6HobrGtkalDDUfZHl6VK/wjlprd
S41VIeywm/gbIcBCS9HXG/5xX/oRkbUEWiQHsK+X/ZXCGpqcFK01XTal9yGjc1IObxtVQ8WOP00t
qo+m2nyF26ecSL82wRRPB4Uzbv4zoHxPoRy28ZKYnK9aN3HBxYRLRhYU7YEmf97DuHh+Gr7ntbYZ
Tq3CHxV1ehYBqflvHlUAR/ckpri2r/wWfQpXvgVJ9gsOZcoaudj9kVdXBkI17I8ICHBLh6GaWGNH
gE5vzXeh0WL5SVPrsVaYAwpLzpXt0UXT5Qij1JAlMxwb8dOl3ZRQgSj4zdF23nEFmpmF0LB7Y23E
oD44DZ2gke+tU+C1jh7XuydTxZ5nBq8e1jOOBDDP2jvBXHurBaBCtKXR3rwefT51Oo7NaPsBYcz5
GSFkzTEm5+CuB5CZmcBX2PPGulDQnkIQ4wFBpMJaZMji1AVivAcX6VJtCqcz2kqA2Iz15Ccg9UUg
kO+oPHGfuGz5LZ9rPg9rAETaUvfVewqQ2VPMqHojUuIbHK6nzcUsHbxQF8KvEMOtxfvP37JJXrZB
aBMcT9G4+BcD0bE3nsBbyhE/UyvhFDWHtQSR9MOyDVoJ79d0KQ+uFHgstMhV4R0SfrkmAEszcW3f
BdM4HMxm+/3THXr6VayMju4Oy3BBYGEDSw2+6KktUDgdvjTLAUvom4M6loNnP2iKQLdCA1T5Umtn
UGYyPIOK2bL1WXr8bGGbGow0A9h7u+1cqbb3v5poQY0ZqFDmJyIsjWkMqC0zfg6Gt/TS2Ym63EJC
1dEQ+ZZcIZsxdbj1US9Z+Fa8TLqqs+fDLkG7PRgm2+29MAGAFq1vgFHLh4H2kiWm+CcYPEGoCwrl
aRJZb9HZ3qH2p6hDi225NGMWfCompHZzD/ucT5HWaSA14ZojQ7Qv3XQnFlAM7RyoZG4Pu1iB1IM/
j6f5jVsm2GXh5pZTHEQ/Z6N0YiFKG2fyPvDEXlylUYrEJhfjNfHMAwTxUWBnEobj7RL2XnWgOeZD
94FC8rAY6qfuYHISwPPdsMfaOzyImfRDNuJ4OP8oYpyWSjiShxXdrfYhNZuuzT6O/b2GF6l1qaic
cV28AxuylQmmdfr5OeJc0XYlAKp3CWH4Za6ewT7O3Qz6WQpSSFQSHIgrSTa63/q/PsGAKIg64gqC
J54xTGbUUWJDZl4mwaqDyVkXahgsVPtRXOlV6A6CDW4xsUt/Xqwb+6aonojVu2ccigLlkqDbRytx
eTLPbMryl2Cxp68AXysr5okW3+apTDULbgF9AKRHRp/j/SQGOlKjYJEURGqBJJO+zvH2lsjZDr64
dZGjEDbIFvlplBRZgFnT5DO3mZye/AYd0ez7w7/j9uKOgovXLadba2/ekCI4FFu4jTNcYuU4zYxV
O0DNSShEZ45NPYyody4XnSN4JuQSqVQ+5ahNpDQRJh13v7BBJp8GWEh67dzhld7URBidGhpz5/u7
/GVzvpJmNAymrPYOJYefmfFfITacK9Xr52BmDEOwCgCiAGdgOJytkfTUB+pfBRAb9fX04pESGjux
lNz+MujNuyy3DN0KOdIWkUnGpAxvk592RyaONFTMoPuecU/vy25Kl+x3TcgiNX6TdeCcYiHsXqtq
VNPb90pwH4Z3EK0FOBva2NMFyV5ReZPM1Ho9hneFzEu24nI9lEvEsC1osGwY1PNEWgWiYLTawRXB
+NMZ7IktHuDU3a0BdcdDLbac1uCMByhIkyM0ymwh4vIYstwfeJ2i2iLUT1WUL4XUb7GjC+rlTy3w
E4Gbaoaig6wstwPmyPgpl6Dn0kbDAQlnkghUMkzNqVVqMpfXW8b77xIg0UALFpdavSAZPBo+HTVB
q0G6Ov2FsTROJjD7oVpS729CVmXAf3dJSjVTIQxqbwlnurqCvQ6Pms6+3sE6VmgzIlqwZ+OKnrIg
BphODKd6I7i8AZIgM1yVMLnD/nvBQaRA1xbZQCHtYgh+VJ8ZxuUOF9FrZo50g9phQmWTPJK4+GTU
c/crAz5fx8kxFNpG8eEmvY8BRNe9ZauVlnCXKrv0oA3rfcBcziEkWMedGj/CoT7muCDbQATRJWQU
HMdKVzUXcKcSgNFktRfxKOS1CA3Oczyu8bxS7uqYk9RxVJw4B5sBUG/VHFwuNHR30pkz3h6sVlEE
Kg9SrN+9bMzIoCcANAPBSW9zcuTFvIpbcDXn+eGVQbssBL2S08DFQiWONDcdEE3XbM4u5lqIJ4pW
Ifb3c7o06lijO85sdHVtMt9Mo4KhbAUYjnSTHyO8HufMwexArqahVdYLf6fRPFIk1XHWwH7W81h3
RhTOZ7KHGOR+rphXUINoeKfEqAwnufCvVvXZoCbZjMylOMp/jyYcqGBRbuxt4JRhleRfC3zGEc/O
fVvRO5xvayeRdmBJ6vx5c0pMiI0dfsxd7NXwbeMEzywpsuBat+EUwcjoaNBXqYB1nwMLBoUBEICX
8v2GQjR+KHy2/DI0ot+a5QGUejjrH6cR/TVq/+diQWnqPTgfSvc/PnHtOs3QKcVn8/kChmA+3TWN
5S+hgUlm4ShvZIRA0az1jKcn9dZSy2vtAmwLROUBssbZZlPrzKaW+wIL1BY+Dig9elWRnMFP1Gv3
xz3iefalVPAA/3nPKtvpT6IVDoa4VFE4l6S1Zja1fQ4ncRK1VQJP39LxJt+SQusXhWJt1NbGX78W
Sr3do/3InAKnaCCt3sIlC8e55xGvE0qNpSZ3zZl9iujoLo4Zvvbo4Y5aj+0ucirPLkQNn1/Y1fYe
TrG7LkAy3xiz6Ysb322DlbRjCH9j4W/Nd8qMDqGwNv/PIcjYeyhZBAhHyfkGvLEIRgABdoZ9k0zm
c4sxXUxO9UGGd9yNMQjFcmJvN5wubyk8vGDN2a8oB0NO3ZzgEOyOLMnUiVC3MT6CoOeL55wZvhab
3xGjPup4kHY3U6x+OHsIRcl6oakKiwUGcXKZSO5n/rJ3sJLJyXFZYPRUs+2EOqPNxTsfUwogd7Xp
8Wc5cfG/vq33eTbCbSArPNCqDj1FVkbqc9pu15CBg7ZD8e6SMtrjj7ciV7x6EDeLMvTHHGVQ3Cax
tiRuiRprFM66FQi14AC+upcBGkuymFCAtgVTAWu2EJO2D4yE1Ky64p49y/4kQcEUUVyDDR+m7FDi
GuqMsOrUOIpk5zK/64LpZpC6hmnsOdpYgtFfRgxzriwFZd8FxwwtjaYO4+5i6v+s63JDeOfcAQ9n
vNmePJSu5l8RyZYjbIw3CTagFLV4vxzWyvnBIfcPgjstvz2u71rK57d2e75xZix9Pzmg+RYFFfWt
WL0D5QN8JCEQXCNW4QxfmOltEyrkhBR9mUAfExGOC/Cnk+Gb2xgn/WuAXV+z6CoYp9qo3FbPIUnO
4qqXB3mbQxDZjSoJBkrPbmH7NZiCMrBPVMDHhG2lEguYRk2lghXi4Vp9pDvPYRpr31ZFzVaA+IG7
wibEWdCiz1/LHZFo0rugUZtRSoKL9vtzCe5YKVD11fJEaBUkFy7W5VVH3cii4I1L/rl50Qw2or/d
mU+Bima2vcXtHYRP+psoQb2zD7Hrv33vN4XJpRNOH0IPxq+unobuAUj3D3n+YrRPCXnojYk9MEFT
xINkr0sVgapPO57f8C6NWtG1p2hBqnc/3Q2m3/UUpr2dtrgMYFgcp3qCDOlXPARWzcgdNpe1Dl8z
nPV3NNd1Nsr0g8xLAM+li9yZcuQH/ySnICNQt012aOvZO0IyD8QVOCBtq/R7KMvDElLMe2Nai00K
p1kKwgPZjWdQAyzuB0eukVIqEhq5cbWby8uCy5kzvZP0XWaM5SDOn2rnjdiwLTUgTN8BkZlp/0fY
NK0pQejDfARIx2CIJigaMUq1Jma1cWxKYlUZ5MGglQwLesPXfn/aNV87NkFmjZQpk771IOrQisdD
QDjm2qqejILG1Wift1ZDwsQRfK3eFLPXQo36tFskGzODBHogScyCJvnWXYitRt8H2pRmpZZ3B6TJ
24NsDsNICSvs4p5UXMb48zq3mSU7fKqJOB39TVDVdECsjW0JE2Ahc8pXfd9TG+qpt4rLdjgknx3s
uM19rUDkUvHuTodNvf3miOIHW5CMOaEAet0f9/a0HywhJllehtOcnRgsFJa0pAD+0rW7vaYQZjHW
ykv9MHZh294445EuoYgCwXdyKKlpFQV/mCxB4ZH1tt1jMVEBkXl9G86zuMs64Jy4C2kv5xZEI5ZW
tLE+sA4NLH1+RvxjYJrvlY4Yn/N51wONC1z5CZ+qVsBmo52RqaUzYIcpAsMzCiyuG/4CgUbiDYrO
MinUTkOa2BYHAlDqai9flnwWRcVGtRoPi0K3b8/6SttyDyRj6g7awCDnTzptSq1LZp1F2N4yAfH9
lYIwA1EaQSqEg07ggZAsRplbTDlIfhf52Y02VEJSQBAKQP6J5jARKcS+XMV36NooudO8iXW0wsHe
alHZ8OaInoIaLDDDx2hU3G3YknR+4qlbJaYTmCCLecnyI6qDb+0JwWgZT1QrNVQWTpzKth+pLOs9
3jo+e9MaNqlpbCzdaatSdETb7z/PjOMPkRGiPFPOqDALnmmI8yjjrulMBfCCx5HhjY89f30NFWVZ
E9i7V/yvOIpLOdijD77J1VXcAgYspB/y3ns9UeuFh8agCDGNiDBoq1cR0LOeVWLcFKOuO2VHThdY
t3qxwklddbRC5GHt0n1r8yPylO6Q0k30L7KJXdY+LCRdWRy8I7y4tiiTXnNhGXqoHMLMdKLslaHN
VobG/bdC13YfcCVKOQZI0gun40wlvdwk6w3nN5rSlq+DY6FMGDmXAjJ1crPBUXmqAJg+b6fFuGOn
BP4Smo2mjKefMdhLNlow0vjDc05XiCqu+klyTuOkMarhKA/pDlSlXlA+A5Jt9TSeV/RbP3a6rhxW
zcY33jNxzWgHuVmZGf93vFidhJzNy03iR7W2BURpp2WBZ0JCQZS5qKSZZVFElly1KDyGS9qPInyf
8wnS+F2EmkQVseMrFsTCGqIh22mq/7HSNwtsed1oEZAb341evakaKfeMiOTwMF039FPXxE8prahy
UnCK7uKJyiGAZwe5tsFFa+pMHKQXmhS26Hr99JkM3d6Rvbw5EMfi1hfX04lTOfTal4AE0zJwmvG+
bPHabzjtwWqHnVwAjM8FUl+wRdM8wiFiDE16tr1jqbqXkdRBWYzfQG3aToltTQ9RQzQexNDpWD16
8jYvXEBkV2Wzto/LMTx2119y6iX02l4y6FoSjdSQ1LMWpjBuiZao7q419Vr6rez0KKebkxDWyR+J
MaDRAVPjb2BJnDYXqjDP5TEU85LHk6nJB2+B3MrFbf59SVg0DWPXZs5oA1BVh0Do4v5O6JXh6Kd5
zVdpYSRphyz0Uhl/Izu9a5UOw5nKr80XZoDC0uMm+XVLBiaxl23hudeYD+4V2CKCxV85cY9l/m7z
WYQ/Teki+Ww3Cpf6h8zPRLHrHR5On4vknPL9x/s6bNU2a6Pb9ewXforz7slxMgBE7GtK+qVyBeB2
1kDuQVapXXYmfgjL/BAmyd0WyAv3V6Ouy0Q6dza1k5o08Wr3Yy5hTP9kVjX/RT+Cg6uOZzQRXET2
KI6+Xncn9vsEk/qSJx2RWqLeBW2pPxPXnfPQRag7JiHc0MgNd7K2/P44me033uURpVWcgj0r5bFv
k1p+I7+pJaH200+Ay2VXtpBZIWvyml0jPiMUvJE/bc1UeBXzVP3ioJGkvNTLszjPaohiu0y4fQTF
V5SNX29YxNQD+SsCkaWQdHxKfqtz8WzU+C2NknO8U+AKmNmHRmLombvsRPO/8mpiX4QLQuoijhb+
K1j3CpaHz8n5WiVGHssEu55y8a6cdW3cRtnaG8xd6gSc5R4z2FqTBTR7rpKJAuWgmYW1AZZzOsXb
aazrqp5wkbF4DkctI7at3C+wy4ANIzB/UP8JuoVPdmGSL12CPi++966fXPwUqjxu9czLKIl4Z3jn
XwtFKNpmR2YW6SBTJVmcDYZs4LiUuib4GjvIh0mP/wguXBCl0oSjdT7Yu9GYFWAWxiG997rDShP/
bqykKVKV2w97mHfyNzolLG6M0uZeYHe8kOdbTkddALdI7yvfJDtZaIH1A6Mg4qxEEBCjdhCy3/6x
zZr8WvFtfEWehQuBhgUVjeWEY033HlFetflqGbC4/qkjbD72BS3SW/GZ1L6SLaojs2krfus+r9Bp
8poqcCwNwlP29ckOqBo2kHn72Tpe9t1OvnrM8K35ckbyvcnQgR1braikOV6+hjqincmL/DabYZf7
4nsRkZbVeSRA2sKmO0MYJ8ZUlv5OEX2iYP7bMjuK9QwKk8yxGzJc9lbiXFi+/HxiWPEIK9AgUJWi
hOq4LYMeZaeYyk15e6asKgVDyDeGfkVTBMkNibktq45F4Hh4gdNCL6ECy2ApHJ83nT3XtK2mmOE1
je1KmO1gJ0Ys2/noZ22HnN0tsjP99vrWW6XqIpj9Hal57FKu+xRFrrxynYH8NfecG0TKl/we97ma
7gmwSzcZ5qqTjSGIlKBFfuShZdUWlMLwB9UBBgDcBSQkwAInbCN5C0sojbjuknY38dFwyELCw8Ws
+OhaTRTp8DGVopZBf4Ym6y08b+ilWidtZHW1u80t3/2FxIF8PhoyCn0RZOGRZMYmEJ5E5U3oX1eh
FHdd0R5CPqJf9NCZe5SozcgCO4FsRFff+MFA0E5Jg7k8ocSFX1ux/rBdZWrAilQf6cVAU7PvC8hw
2tFgJXff83CI0R5D9nVhGdOlKbX+G63FRAPeMhZqfeqIRD+9sxdIs5UeTJehso1fJRKjPfIRQPQc
NYw0lVT/EMHM84YK8OGSIhBBTO6dWMi0PyxUXDWu/PZ08OMwFurfEp7eDQSlctnMlWKKHOtXg0qn
vCnIfyyfXOZWvGvZGcx1xOLn2sQ/dYNvo1sps9OjnGOOEN/9fNPp4XkPaRx5SAmSSabOiywkxmeF
PboQVyDkEgsgkQaRyyQCFr/i+kyhx+2RdPipg6ocTiHwfYdTn31bChkpXtZbLweRF8kVRVEv+utT
sdz2z0DSjO+s05SUr83FoHIKsnyMdwnaIq+G8+Kv8b3yDADums3by2u/RqMMeOxfgfq6SNuY+j7H
P8ZbSTt5IvCH+IjpdTf/r049u5vsgWTbJ1+ksKhty8R/rh2Vpm3UCUQc/esCuXIMK4Wz4YRBZsFb
VDiiHwGsjY6Vat9RjpCrCnElDCevpbosEomfin518W8mrQhq9XUKX5Q+6VLh52VXLqCxSQ9eRP4b
RdKPzX8Mo+J4KUZRWyBnXAkfrVmC8I+6IB961fmWNG9aTidDLdWCEA+Sljeo2bcxsd1ww6Yfb/yL
XRZd80dO6bHXXYiE18ppwJyc8HJNH5HFwrZUvsvESJwuKTd8IsaAtkdlc8f2GWmwUFxMCoeDIitD
YRKAYNN0vH6/exrfguenvXkmhTYflI1Wjf4BSvKKH3K5y1GBcg6zhZ5ml+/TiTaoES4brk2kH/JI
uz0V+XK4H2PQa3hzTS0521mJiRqjFCdhC/QK14Ow9jdlkK4D+VoHR5DVn/AXMEr1QBSwep1L335e
xG5XLeSsdYQFBDnCuacFgTWdpH0S09fRi7FlU5pl5EIWLFFOE7/wzdWfLiU/RvbFoTXVP5kR7I5r
I/uvfuztHJmuAtY1JP4T/p0C/zeZ9Gdpr443JJTuYQo2YqcQMWBYjDTU1PH7kBbJ3gCexOSpDTXK
NEXcW1IszBzWW3SKBQ+M4Hpo5dVrD9M37YEE9vd1+KIj1FoK65iJJ6a9qt6NZ4tebKzlt0VU4i//
0NAyritVjuAWtiOxlQoJDttOhP5QAMddbNZYXuNxfdSz/IuXo9l/5PnAWwF9BbJGjxTwqK8RW66T
5zmlecvzbswB/hPQ+FwZTq+ESd9kRGPpLVqsItn9XgiRHh6zhuiugG2kjL5XsjmIfKa8WZTFA/Is
xq4JuUx4V+azrW4UgMmw0G4VAYMGZEfp+iDaP1HPq2K9S8gHfMJUyd3VXN0jvOjUD95Aki5cSdbZ
ZbQQOcE4kYds8lC4f3iBPvrTh/HA/ZhAHUMMFwTqdYUax1gtMBcMRu4K+RQOZtY0E3T+l5f0P31E
2S3mXLZcLLdiH/OdGtYn8GGL55HT/gfXLflYIwE8TmGI6G/LlLJp4R4zlodwZ/rZmwnVuZfS3bHl
BV07i/XjlRLCPjA4zwiu3ua8HEt3ImQWvmb+/54bCMm8YSVuDLW5rNZQWUOnUaR1lJouqAXQuT4V
XXQ7rPLpkfadTh3gzZtVKedg2bwkgBXHAjOCQYvRYKr0pnDxHkbxLVxXZH3+riuSSbhoEBfGXnFq
qcXUwIh/PFDHfIZv0vdPiqKBBCH5J79GjufD12yxWRsXqPK8FPqPZhsBWwr9h7Jz6HU0aimtZqlt
5Z6N4uXpByBBNavTIqdHG0FVDh6TCdQ2NjJnGsTbrKKE2mborgaSxrpfCGDVdWcfcj6WSpNpVLUz
C2aHKZW8tHnf2x2uDvLDHrlm1YH0eR9RQBoUCAGKgps/NNVhOmwHOaupAG5POLIeRWv5cVckoeIb
MPTCSCzpChZAEqz0bKhTPkz9yTM3Xa+/Fnk9zQW66yLb3GxSgm+yBHTaPN/eQValUwf0k1w+g2cP
i3tsbuaifxW4Vij6S2RTRL+LpCSr4l+Ws1F2mJv42Rcg08Q3goi3bB2ToIRkE01OSFoOGtvS1a8r
nsCRuvghICiBBu+RgSjmBr8qZ/rjsQujTdXG5WcDF6dubBbFVltnrMmqXQ+tGCFeesqXLpELC4E9
XFVXgcZhLpuWoiCGROsq51qtgxLcAbV9XMm1mPFwVXZ+gmZRVZ+wTFSOMrfPyNbKi1HTOHTHsnIn
R4qveo3PM+1jtBW0URBVt69gnBx6ivmLp2qmLsMv2jLXZe2DaTy7lQja8ENwxkVGqrsj5Dr4k/VB
/9ZNlciXWZjP4S3R13Q69HqPE5FJTRyYNkHBYypFnPXJ8eSzqCXyS19ZOWD4AZev65JEwmxqxvoZ
kZp3eU0y8aZJNcOSwLDbZR+F6blHsBTW8LRbwvZpF8Z3IJeC02bB93ZWEAt+F0O2Lv+Xbf/SHLX0
RQ9Xk1d1U2jOezN7WKT2lHJReCvX5c/AYAmfnViRuGZCEKikwgwwoKHLZGxoXe89nsJ1cMwUv7dS
w94EsEAmypKTewT4oJ3ZMakm7hu4/MstZnB4BqHwNxJ+8bnOH+bxTjHXc34pILCp72KoElB1r7XP
QsG8nFyW/tOL41cuiR8Xs9pwlNoREsF9tgA35Kjn7ehhS17BqWHUYqI81dAQQEmS7a35Msb9JS76
YAXZm3xU9OdPJPSRomaicET+V+4QqAUS2Jr1WO09xo2j+IttyHINYCiNJt/X15WrF37A7Ne0keMS
EyErG+2dn7eq3+9uR9W9rzqxV3p64wiLP5loGhZKjBO6bxjklfgRxKkwZBbvraX5IYV1wP3knTaz
7w33sBqMVkUOq5i3AC42wGvinZIlC1WZ4MuRxaJYtrqynTGgwdmT+SLKHNI4mHG5hEbnbUF5c3kG
X5/Tg3e3eIYfC/CGiHgh/38S0aYBuHsrIgKcDbQzXvA3lQRm96N6+o49C2JkmQpjOXhwTUvTDhlO
P9VRAgvwoAX2G60NQFgc8Ifouf3pFzrbKS0dvI8oc4xOmN9DJuF8ojIi/DB/uCKigvWZ1+bqtJDC
qXsJqmR0qnuceQOH9Edu7WG15rYPCJ1O3TeWEJFcXRZFvY59FCnhWpmQQcNoG85lFZ3tJpXB6rEV
beRcz+vOPDfeKVbpWKM/rE9F/ytpwVgyoGm046jqaj7BzrH3Uog+N70McQTH1dn0FZOJ3WQPDfZn
fyAD3zNfX+hnp5zeUSoMRqAyY/m4Tu83lUklAhwLIci/V74O2BwkzR7YNrjkQoAjKRXeQcKOwmdt
T4Vq8ClGogY8wY0S5j1Xbw+s757RdM4qFrdgHlaVc1e75tsNzpP0IDV71hqPEYMGAarmWtx2Yo5k
GUAWTSf9JaQNn3DSn/aDy5G+XCLSqskNlpG+81EbIpmw1EUwz5+B0AXCnxLvG8DZQA2HKDzTWe2d
mZVs6g0OSEY3nxuJfkIlkesVP6dQd9i8qlJVTJ984aYp1oPRNmR+/2BuzIDDg1Y4kwoLhVSDWV1i
YIzpvCs6qZWV/0X2V46pT2Am34FwOhaEf+z+GUtnxphO+7NzPL+bpGOt9+mArmhd2oT53P+BS+FN
96rcCLAXZQVqtOeZ09slmnv5EHlIV+A/bQ+SOYu7YwxGSlzay1yqyOjcLZdGdhk6n5T2eK7lNDDY
byBGNrltDp4zAv/3Z0lCyUiXtWnMa3cI32zFina/FMHxj7lon/D14Sj4ItQoSzZt9Y8+MiHpb96t
q5yBzPNj6hQol5MdiNRMoT0La2JZY+YPzbokkUFkxVmOy7k9ixmMmzIy58lEdAcqkAptl7S1Cxtt
8w9ODrZPeE6VJFWCkGGtQFZLt2XSdK9U2zUObQQXCGHBcjooWz1+ZQ43V41M4O0JyI3NmKQDq0oF
nOy9OW147yXTP0EmQUamVJpVRlzrDz+nOucEy7YWu25PQ5rZDwqpvezzc521ejZKqjK2azbbFOsE
ghDqIv/j9Me4/vXxU8SELeTKXr0GQH7E6sNCOXSTH8dqziH7CTaa9iSKTW7MRXuAKrDxNyWOhVfc
W1wDn5KjDPwiMEijlxrXuQM1v8O3gWWpK+Ss33P8T8C631YoEZgxZOPOPpYlsSZpxTooFV3W0RWK
LqWrr9AA/7ceCpgRl/AnUECDtZQNKjcZUQ2+WVcnxjrOU9CH6aCcPIdOyEcKp7t6HGpwPMTUHiMf
EW0d2A854rqwDgm7J7wRq8FbQd5aHlr9TTzpdQoDRWqGWlgxlES+LncjYgRy75OcN7Y9d0Tioekx
4ds4wY5/86Sntp9jG0OkEVzfFLQ1bewWJbOPlJ4oMgSu3JjlFUh+cZPyKmZ7HvquC0NiQaLQvLdk
kEezgrbMV0jtgwkXrbK94zgqISkA1tp9arANdFRamzGKuGXF1Qlgzn0vMMfbty6samhFb8s8I0K1
msOHTMqemqnUkNHHjYRcPsZTUuku6b29MhZCqhMBI5r8WBK+XT80t8M+3CVeGWhI942HiZxB/BE7
kWany4XcGFr0Bv0j2xMP5nEAn/1IWvmCPB8Pv7gdNQ1UobqsTofjLW4mQMpLQjSof3dFMTHTgVh+
GrUTnTYnjBMTOoGZkqcMvP1awiMepVD57Ws4TZy8HAlC0D4nGsXIW6AxUK911TGDH17ikaW76pLq
LOaqpDmw1tzTTfEtqyuZAiOREr5yyoRRfk5j39eOAszQJg4opYY0CUO2tGxpl0Z+yGG+FpW3sk7v
g5kFLtHA0CeqSKFfsXrBh6B5zYXXKAIfVnNLGfcxYzrxUzHbU7mUDo7EoBwiHxh/mKYNWIT7JPz9
cwJy/GnVPj3BIWwHKlMMKrFmLAsJVJ/ZZKQ9gAk08pNWE/9vozzjcf1GWwrSu6a+F4wSDzhliUBk
ypL3sOBavAl6hnZhSXNQ2wBTnY5JWdqlVX8uzhKqzqjS7Esm5Gy7Pjn0QFqHJpL0ESqb1eGsSvaL
tPAqR0EtswnC/y1CD/fUDNMWkZcxJs3Q5k34LuIDyD7cWZ54wrYsY+btB5ExaSpRyICU8jUfsJDP
WX5MN4EFSyhyTXqJfPvz+Cg3x3e4oPhVyJ63e7oHQnBc1LnVRaXwepCOxDgMQy8d4El/42bGoQp3
nrvPYhLvoi5qXdNDbrQGaSOs981szhut/z0txx9gHBA8wU1ekAz6d9/qX7TM9we+4WDvQTMJSJ6o
+dqm5wnv7uH8kf99zc5ThK7+iQRSBXWDvB3N9aJZ5BXjG3BaLr8ChjchtYVpksGAbomAPe60NZog
sOFUNttmCMKvpb9sJcfcmL9w7rTDVEUP+KmpXUhPXtrpihC4Z1K9ARHWLQmC43EgGIBQkxP/H6eI
YMrWDkdMozudKxZkLlNUuGDZM/75U9gxJR5BcYsMXpUf4YtPeUW0P1KoYY0wtl5Agz3MJxDF5/6g
XXNDk5Um4tWPq8Y/vFQfSQXwNoen0z/JeXa2vJhpYXDqjd/+HFpHmT+YxbJ9oDewxxGwlsqReVrJ
Jrwv302aGZ0QHprFB6X5LOGil86x8nqvRpgYhFFfwFv7aovvooW8aocHHiI4lZrFRpPltaOr4NTP
b2xePPCZn8yvbcQgOKAvtQ/LDSHqzsmCkjq6jH3IBCagE5T0WX9V6rP2QdGwK9iuqLgQfDCl6OY0
CCe6+40OQLEYrixqLBZg829Yf+DOCkDpSXaQNF2Rp6Nh4uv9/aM64ceU//PV3w0U02/AkLn678Xj
2NMVfWkh6yjeCUHMvOn8KM1uW0I9Q5C/9G0X6TufyTqQmRAYQ1iXKWgr6TlC2q7TEVY5f0Rn4K//
6GtiK1L2aCJsfETjSg2xhM6nE3XHIlna3jvkVzvFcZpdPsZfIioH9gYhcqpeYVpeP/UWpCCgLdF0
RQf71gwyO4eAU6wpeLImYUaRv8pf3Kn3V8114lg52DuGj92RL3v9OtDl6tWVNJl5WJ+XDtcHLdEf
e2/19fOsvNb6XZw287K77q+/wxRJPH5zIw7yzXxjUQ8EBKVBc/D2FNw9kGJnG/eHmPX8BliTakq+
Ltzj9Udtkne6dyDZtfvP5+ON7QwtWVABwgT1QHaDj9EGlaJSY0wzsF+dmLT/bVaQs6K/hV2owIJP
fa0SEMrojTaFx93Gl0bIrot6rAONThLJxaKFNSbQF/APGAHGpS8P7TVZs+jR0BrjvqI8HeQR96wZ
CNggOnttwfevtmSmxspMfBQuiAkDfOh92Cdih41pAwmIXClDCOknqxtftSqBC3lodY5JdU91axJ+
XIInsyGNypHwHKdmUQiP4uRi+kIa+ENvTg+c5LeN/TWtuJ0lbUPKEuF7XDXoadNI5j7/AuRviJ7R
ARgEARvgODlZZ708l1V1Vi0d3GNzTb42mFmbKs/M9eiyVLtW34A7aHQ2Iyfr0+/COo/4GuhKRWrf
qPMLhZetvf2CdqHjUWOSzv4f1MU66iDNmMEwaI4eqRoCZBUngSB8an8G36thdZ8z67sTDKdr5TGG
URhOm4W17BCyVXzgRzfd/9311vligRRZxn//npzp34I1jNdSpQfKvTImzsmrG0qSwR4+8bcKve+e
PW7+byzdky3ALKiBRVJl2/XBdqVdIeNk1VJz++7BrV3ycyV4gvH8kPSxP1dBbcmoFYgce1tDpXqh
4bqRpCY3luCbVnoHWdAyjskgLcwBSyF8J0EPZ5BGylZcOTU60/0=
`pragma protect end_protected
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,552 @@
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "XILINX"
`pragma protect encrypt_agent_info = "Xilinx Encryption Tool 2023.1"
`pragma protect key_keyowner = "Synopsys", key_keyname = "SNPS-VCS-RSA-2", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
`pragma protect key_block
IYB6YMUpLRG67Sjv6mvLa0lJDa9M83l3pszRl7mNKDbm3JQq1xub6O3MDaxf4WUUoRlbj6UmK+ls
5TT1rZBI42slY2M8d8G/12u9ZwNU0B9Ysw0A9f7H2/gZw+bCFVT2XOufXRtM8469/cgTzPdX6455
eehGCOlFNzztUpCCBuo=
`pragma protect key_keyowner = "Aldec", key_keyname = "ALDEC15_001", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
a/7EQ8W4oMyysM5YxqT496V07EUaiHtsiTeMr+xwggjSXDgZBxdH9zS0ZwSbWGNiHwg8nXSCMzIT
bUcHpdhYenBbvS6lFHc+OYja/GxpeotPfuhlGtbxN3fXZjw43NjXQI/ojWzEeo5ATyxr94HJ8sHD
JA1CsMdglOQT6QZiD9TVY3RkvJVUxzXGEK/4umSz/Fc5dPh6gxxp7cVofeuJ+snpie5VVQQJoj4j
tjyBNmGrIhr0Y0IV+3TgWooJ+r24u/VBLLE6lnzKxh0zYnJ5zUjs4eHuQTqInalvOAdYvbUSVqio
Lzp5Bj6tb7kmD+A/qe86yLb4GbJzLTehOjcfdg==
`pragma protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-VELOCE-RSA", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
`pragma protect key_block
Bm8/8qhHbJitBA3cG0BWpho8+cHGNcXoWDJOit3rZ1HeeUrKdPeoNkL9hkzhf9ZUHxLpbdTUCjkz
uhVRU8UTRMdIPDzL/7HSIQXCDLdOz1nxeYLnDxwllTKxlZ4aRFdGbB0RXQ/iZNRQW2EmaDTFRcRV
v0IjKU+PjNN3ZYIXCkA=
`pragma protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-VERIF-SIM-RSA-2", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
bOGsLKO2Wjd3RNfQsUHtM5NcPLVbC6ZCRWCjSRRmyvuNhRjavSsIHbXkxLZHDjZnlnBuHdEZ8oea
UHHfvapGkuZI0S7deY4irowm1O51aMUIiyYUNQJCaEgTDbqwyEsnkylKzYrQzRU/JO8aErpyMDc+
dxDZeGYfZaF3iUzWGpDyEDaQh7d/AMIR890b/cRJ0JPD6S/d68REfiAIau8ZUsXiSCgHP9ot5Why
yUKZOeml+FbZ2/zqywrRRADVaEpoSqu6cZux0zJFUOfKwG3rO6e2WYwBKucJSM1O+MXqHqUBqEfl
IHl8aYzdxpc89jXiMIYfoqN06f8LwbIAKe3Z+w==
`pragma protect key_keyowner = "Real Intent", key_keyname = "RI-RSA-KEY-1", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
xyJ+44oGcnu3f/PRr5Q/pt05L20B492JqgiTtcs5oGrsK7nBtr3Jek5JEMvW6gatRMUMnyBEipiF
gspt+3c11bhyA0kxxX/8oyNTxGgVhXNyL8HzbkDekMgwRooksQIxmtBQVoCBuyCmgnBOavlrGQRt
FtwkHEj4CcUeXXGnFtAt+WOYFScFD17WfS2yPJ5BpD82DvvacbCh7Hbm8sieB2ImG0NiCZXJ2sTF
lxRVW8XI4p2q8xA0iSwcF5ZUDD8UmYwHHwFaz9VOXtg3i/iphI/xnKYZ2IQeHkkRf3JRQEAhLQCN
mywjCvcVbMSrJkkJ6lHrazZzzBU8tJ9SXhvc1A==
`pragma protect key_keyowner = "Metrics Technologies Inc.", key_keyname = "DSim", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
DKpQGvLhbUl8BJ/8XLn/tPRtGzCl6Z5B9dlBIZ3hIdMpvX5L6qTHJiPL+EPJzvKR3hwn+y3Kf0/e
56tD0N9yqf/8HSBzUPN1Wx83eiE7+pWNxuGq7e15dNN7e3+AcR7gjUu0hLG5jSqOt75iiFr0vqqy
UPb39HUFrCDaIRNh0fCFdGbydh7zEuizbnn7GRErU0r//wJ+WqhZsjKAuSH/9rkJXt5VJzrFRh2H
2zZzduUfRWhphNTH09M8QAQ5RSWmlr7t9fXON4HIIaNpt14zvilBmCZgEfyV1N7+Mbi8zISGSVwM
r20FpLJcMjFy8H4kZ7SMF51dIlCCySUMitZhBw==
`pragma protect key_keyowner = "Xilinx", key_keyname = "xilinxt_2022_10", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
ahGj9cu5vw+TGhDRETTpUmguNUrGkzj4c4HpfbBQWexaOi1CnxDewq4mIuyo2pPRt9bsxMyxinAi
yqfZSys3iKpMLTF2rLlaJR5DR+s7MHg3TXo6DwE4YOUz2kUn+kcmB5Oipr2uxn5fY/2OTA6236rk
kg96Xfcnb3hsRdNnyl3s8r1r/GO6lcYCfWw2HtuVB73JqZOdMK5WQnRs2nCzyarDak52q8w92CuR
jtBAO6iM8C8YYYtdY3bZrNoY2ErKwC2x21gWULEUfsaHyjjhoA1gN+VnA1jThgYsbf0kWw13Grhs
2COb8mAkB/0fC26SxfxSy30x8trX0jLDnfntAQ==
`pragma protect key_keyowner = "Atrenta", key_keyname = "ATR-SG-RSA-1", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 384)
`pragma protect key_block
pM202SIs14RGJlgktq4skB0l7ESlGSPOj1+hAC77mcDHHrczLsAhEpxsiJCrX4tT1I8gJAEoUAhT
2AzFczZHKP8ix8wKM9R2i6LZSGPqwG9iMYU/dt/a2tE9vfVY+OxeI0NfGXBvslCOEUGuPq0cQ0cw
fSFkfZVVzwr6bhw/htrvJgxFLZKoinkKaocnUwx9C7QHy8rnQ4M8wUbcwoxHDObwJaC6LyVWMmZu
kMgZFSpo6p7KOE051S7v8SN2jC64Qu804IoG5zXsnLp60dS4+1fgc7fwF+IiN4mOjBz208J/gcB6
0Zjf5PrRbObEBaQt8a9CnelDkWVdP3uTr1rSFz+syFbYPJ/3XU2G/yLmk16QYP9kCQo9CAcIjwxh
g41o91RxGZj8PwCpcnZrAoW7se6+/H5h2JrNvoOz8Yr09ZkOhWM0r75h8Rx3OyutUqeqr3BQ1b9B
lvB/+l6p6intfTshH8BsTtE0j292jiNGV5cvexC4cczkPuzrIeMxa/xJ
`pragma protect key_keyowner = "Cadence Design Systems.", key_keyname = "CDS_RSA_KEY_VER_1", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
eSvh9J2q6NyrGpZqUatGKIA8QDMInI2iwKgziwfCT+i9aojxHhLpFdTm0zLW6vVDbs/IusTTBrYn
NVfkcSUH5/jvLRUwLbq9vzH+BhvxZBvdurXPgSJdE/TAka47qAK1KWzgbQ6eoz88SN7MyuoSGGc2
6gS0Ba5hhKYx1b8sr66Gjx3DlfaRtcEogEfV8f3DF6j6eL2oGyE6eN3jJQqh8Pb+VBypaE4ia9pR
761fYKzcrhd3nvqYI+jRFosC0ZHv3akRZ/GMMOUX9fnkYWn3o4X9t46tehxqU8PXPrS3v/ZJ5wrY
YQ/jig9XDE4QndCSZD1niwWxZJrJd1mXs1KKGg==
`pragma protect key_keyowner = "Synplicity", key_keyname = "SYNP15_1", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
ff7t8AbFHBpUzmzv37xcV3BaELGXwW2FFoCl9wmbcAMmSLJEeoiYqjiI3XDM4XpMM3cFNM8gQmKz
BgEuusWTof+slNUrSsJ5oD354i7b4BucHhOJi1f+LOwqns8ZlfE/Rrpmykq3ApSBIOhbi9mNKfnK
0MBBVAY6hK/VLC5VYOy/Nhmbs3uqrr3hY4m+IK3Chy3QTHRdwhQwtRH2hUniNN2nHd1JIS4VwB8x
uPCb97uEaIy8cz6h1SApBmWrY9IZKiXvZnBlqAzoVGxsqGB41TtpIISbliL2hGXUFSu0bz8RHT2F
fkM9u94uhLFDP/QYjq/SfpByClx8fogg7ejfDA==
`pragma protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-PREC-RSA", key_method = "rsa"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
`pragma protect key_block
oBc5fYhhP4GDV60D8m6mIIi+6Xspsu6fa6mpRPbQL3lyyZOIW7aY9ehXKE4SewCv0/fpmHMByAsF
aFhoGiVGdHT2TtQShdlc5CHrugjHogcTwVhX0awKmb62UeeyTfMrM2krGBcv+KTY+E9Yt4zJZAVM
Sf+2Tmup8qb8oKz98yBNuBAlfxqK/VJZfPBeAYq5W5l7vgUBXOhnsiIKqnEuaPcfRrrjrrsrueT9
RmvfXIlDjIIC1Vo8LUH+sn4SFtvEa6+9wj+hYFhalOtpexbpZgcDdBcHxxVsqh4fdv9fY6R1msRB
ZZFKiIK50d7XvGw4Rs5DAg9ESYyF7BOlcRBOsg==
`pragma protect data_method = "AES128-CBC"
`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 25472)
`pragma protect data_block
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
`pragma protect end_protected
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,67 @@
# file: vio_cur_flt_state.xdc
#////////////////////////////////////////////////////////////////////////////
#/$Date: 2012/02/06 10:34:16 $
#/$RCSfile: $
#/$Revision: 1.2 $
#//////////////////////////////////////////////////////////////////////////////
#/ ____ ____
#/ / /\/ /
#/ /___/ \ / Vendor: Xilinx
#/ \ \ \/ Version : 2.00
#/ \ \ Application : VIO V2.00a
#/ / / Filename : vio_cur_flt_state.xdc
#/ /___/ /\
#/ \ \ / \
#/ \___\/\___\
#/
#/ (c) Copyright 2010 Xilinx, Inc. All rights reserved.
#/
#/ This file contains confidential and proprietary information
#/ of Xilinx, Inc. and is protected under U.S. and
#/ international copyright and other intellectual property
#/ laws.
#/
#/ DISCLAIMER
#/ This disclaimer is not a license and does not grant any
#/ rights to the materials distributed herewith. Except as
#/ otherwise provided in a valid license issued to you by
#/ Xilinx, and to the maximum extent permitted by applicable
#/ law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
#/ WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
#/ AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
#/ BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
#/ INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
#/ (2) Xilinx shall not be liable (whether in contract or tort,
#/ including negligence, or under any other theory of
#/ liability) for any loss or damage of any kind or nature
#/ related to, arising under or in connection with these
#/ materials, including for any direct, or any indirect,
#/ special, incidental, or consequential loss or damage
#/ (including loss of data, profits, goodwill, or any type of
#/ loss or damage suffered as a result of any action brought
#/ by a third party) even if such damage or loss was
#/ reasonably foreseeable or Xilinx had been advised of the
#/ possibility of the same.
#/
#/ CRITICAL APPLICATIONS
#/ Xilinx products are not designed or intended to be fail-
#/ safe, or for use in any application requiring fail-safe
#/ performance, such as life-support or safety devices or
#/ systems, Class III medical devices, nuclear facilities,
#/ applications related to the deployment of airbags, or any
#/ other applications that could lead to death, personal
#/ injury, or severe property or environmental damage
#/ (individually and collectively, "Critical
#/ Applications"). Customer assumes the sole risk and
#/ liability of any use of Xilinx products in Critical
#/ Applications, subject only to applicable laws and
#/ regulations governing limitations on product liability.
#/
#/ THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
#/ PART OF THIS FILE AT ALL TIMES.
#Created by Constraints Editor
set_false_path -from [get_cells -hierarchical -filter { NAME =~ "*Hold_probe_in*" && IS_SEQUENTIAL } ] -to [get_cells -hierarchical -filter { NAME =~ "*PROBE_IN_INST/probe_in_reg*" && IS_SEQUENTIAL} ]
set_false_path -from [get_cells -hierarchical -filter { NAME =~ "*PROBE_IN_INST/probe_in_reg*" && IS_SEQUENTIAL} ] -to [get_cells -hierarchical -filter { NAME =~ "*data_int_sync1*" && IS_SEQUENTIAL } ]
create_waiver -type CDC -id CDC-4 -from [get_pins -filter {REF_PIN_NAME=~C} -of_objects [get_cells -hierarchical -filter {NAME =~ "*probe_in_reg_reg*"}]] -to [get_pins -filter {REF_PIN_NAME=~D} -of_objects [get_cells -hierarchical -filter {NAME =~ "*data_int_sync1_reg*"}]] -user "vio" -description {The path has combinational circuit. But from hardware prospective the design works perfectly and the signals crossing happen after a very long time from the source has the value.} -tags "1050886" -scope -internal
create_waiver -type CDC -id CDC-1 -from [get_pins -filter {REF_PIN_NAME=~C} -of_objects [get_cells -hierarchical -filter { NAME =~ "*Hold_probe_in*" && IS_SEQUENTIAL } ]] -to [get_pins -filter {REF_PIN_NAME=~CE} -of_objects [get_cells -hierarchical -filter { NAME =~ "*PROBE_IN_INST/probe_in_reg*" && IS_SEQUENTIAL} ]] -user "vio" -description {The path has combinational circuit. But from hardware prospective the design works perfectly and the signals crossing happen after a very long time from the source has the value.} -tags "1050886" -scope -internal
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,57 @@
# (c) Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
# (c) Copyright 2022-2026 Advanced Micro Devices, Inc. All rights reserved.
#
# This file contains confidential and proprietary information
# of AMD and is protected under U.S. and international copyright
# and other intellectual property laws.
#
# DISCLAIMER
# This disclaimer is not a license and does not grant any
# rights to the materials distributed herewith. Except as
# otherwise provided in a valid license issued to you by
# AMD, and to the maximum extent permitted by applicable
# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
# (2) AMD shall not be liable (whether in contract or tort,
# including negligence, or under any other theory of
# liability) for any loss or damage of any kind or nature
# related to, arising under or in connection with these
# materials, including for any direct, or any indirect,
# special, incidental, or consequential loss or damage
# (including loss of data, profits, goodwill, or any type of
# loss or damage suffered as a result of any action brought
# by a third party) even if such damage or loss was
# reasonably foreseeable or AMD had been advised of the
# possibility of the same.
#
# CRITICAL APPLICATIONS
# AMD products are not designed or intended to be fail-
# safe, or for use in any application requiring fail-safe
# performance, such as life-support or safety devices or
# systems, Class III medical devices, nuclear facilities,
# applications related to the deployment of airbags, or any
# other applications that could lead to death, personal
# injury, or severe property or environmental damage
# (individually and collectively, "Critical
# Applications"). Customer assumes the sole risk and
# liability of any use of AMD products in Critical
# Applications, subject only to applicable laws and
# regulations governing limitations on product liability.
#
# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
# PART OF THIS FILE AT ALL TIMES.
#
# DO NOT MODIFY THIS FILE.
# #########################################################
#
# This XDC is used only in OOC mode for synthesis, implementation
#
# #########################################################
create_clock -period 10 -name clk [get_ports clk]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,25 @@
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
// Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.
// --------------------------------------------------------------------------------
// Tool Version: Vivado v.2023.1 (win64) Build 3865809 Sun May 7 15:05:29 MDT 2023
// Date : Wed Jun 24 13:53:39 2026
// Host : DESKTOP-VN054CM running 64-bit major release (build 9200)
// Command : write_verilog -force -mode synth_stub
// d:/Project/spinal_stim/pl/spinal_stim_v0/LJS.gen/sources_1/ip/vio_cur_flt_state/vio_cur_flt_state_stub.v
// Design : vio_cur_flt_state
// Purpose : Stub declaration of top-level module interface
// Device : xc7z020clg400-2
// --------------------------------------------------------------------------------
// This empty module with port declaration file causes synthesis tools to infer a black box for IP.
// The synthesis directives are for Synopsys Synplify support to prevent IO buffer insertion.
// Please paste the declaration into a Verilog source file or add the file as an additional source.
(* X_CORE_INFO = "vio,Vivado 2023.1" *)
module vio_cur_flt_state(clk, probe_in0, probe_in1, probe_in2)
/* synthesis syn_black_box black_box_pad_pin="probe_in0[0:0],probe_in1[31:0],probe_in2[63:0]" */
/* synthesis syn_force_seq_prim="clk" */;
input clk /* synthesis syn_isclock = 1 */;
input [0:0]probe_in0;
input [31:0]probe_in1;
input [63:0]probe_in2;
endmodule
@@ -0,0 +1,34 @@
-- Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
-- Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.
-- --------------------------------------------------------------------------------
-- Tool Version: Vivado v.2023.1 (win64) Build 3865809 Sun May 7 15:05:29 MDT 2023
-- Date : Wed Jun 24 13:53:39 2026
-- Host : DESKTOP-VN054CM running 64-bit major release (build 9200)
-- Command : write_vhdl -force -mode synth_stub
-- d:/Project/spinal_stim/pl/spinal_stim_v0/LJS.gen/sources_1/ip/vio_cur_flt_state/vio_cur_flt_state_stub.vhdl
-- Design : vio_cur_flt_state
-- Purpose : Stub declaration of top-level module interface
-- Device : xc7z020clg400-2
-- --------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity vio_cur_flt_state is
Port (
clk : in STD_LOGIC;
probe_in0 : in STD_LOGIC_VECTOR ( 0 to 0 );
probe_in1 : in STD_LOGIC_VECTOR ( 31 downto 0 );
probe_in2 : in STD_LOGIC_VECTOR ( 63 downto 0 )
);
end vio_cur_flt_state;
architecture stub of vio_cur_flt_state is
attribute syn_black_box : boolean;
attribute black_box_pad_pin : string;
attribute syn_black_box of stub : architecture is true;
attribute black_box_pad_pin of stub : architecture is "clk,probe_in0[0:0],probe_in1[31:0],probe_in2[63:0]";
attribute X_CORE_INFO : string;
attribute X_CORE_INFO of stub : architecture is "vio,Vivado 2023.1";
begin
end;