MeasDataFifo.vhd 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855
  1. -- (c) Copyright 1995-2023 Xilinx, Inc. All rights reserved.
  2. --
  3. -- This file contains confidential and proprietary information
  4. -- of Xilinx, Inc. and is protected under U.S. and
  5. -- international copyright and other intellectual property
  6. -- laws.
  7. --
  8. -- DISCLAIMER
  9. -- This disclaimer is not a license and does not grant any
  10. -- rights to the materials distributed herewith. Except as
  11. -- otherwise provided in a valid license issued to you by
  12. -- Xilinx, and to the maximum extent permitted by applicable
  13. -- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
  14. -- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
  15. -- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
  16. -- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
  17. -- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
  18. -- (2) Xilinx shall not be liable (whether in contract or tort,
  19. -- including negligence, or under any other theory of
  20. -- liability) for any loss or damage of any kind or nature
  21. -- related to, arising under or in connection with these
  22. -- materials, including for any direct, or any indirect,
  23. -- special, incidental, or consequential loss or damage
  24. -- (including loss of data, profits, goodwill, or any type of
  25. -- loss or damage suffered as a result of any action brought
  26. -- by a third party) even if such damage or loss was
  27. -- reasonably foreseeable or Xilinx had been advised of the
  28. -- possibility of the same.
  29. --
  30. -- CRITICAL APPLICATIONS
  31. -- Xilinx products are not designed or intended to be fail-
  32. -- safe, or for use in any application requiring fail-safe
  33. -- performance, such as life-support or safety devices or
  34. -- systems, Class III medical devices, nuclear facilities,
  35. -- applications related to the deployment of airbags, or any
  36. -- other applications that could lead to death, personal
  37. -- injury, or severe property or environmental damage
  38. -- (individually and collectively, "Critical
  39. -- Applications"). Customer assumes the sole risk and
  40. -- liability of any use of Xilinx products in Critical
  41. -- Applications, subject only to applicable laws and
  42. -- regulations governing limitations on product liability.
  43. --
  44. -- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
  45. -- PART OF THIS FILE AT ALL TIMES.
  46. --
  47. -- DO NOT MODIFY THIS FILE.
  48. -- IP VLNV: xilinx.com:ip:fifo_generator:13.2
  49. -- IP Revision: 5
  50. LIBRARY ieee;
  51. USE ieee.std_logic_1164.ALL;
  52. USE ieee.numeric_std.ALL;
  53. LIBRARY fifo_generator_v13_2_5;
  54. USE fifo_generator_v13_2_5.fifo_generator_v13_2_5;
  55. ENTITY MeasDataFifo IS
  56. PORT (
  57. clk : IN STD_LOGIC;
  58. srst : IN STD_LOGIC;
  59. din : IN STD_LOGIC_VECTOR(255 DOWNTO 0);
  60. wr_en : IN STD_LOGIC;
  61. rd_en : IN STD_LOGIC;
  62. dout : OUT STD_LOGIC_VECTOR(255 DOWNTO 0);
  63. full : OUT STD_LOGIC;
  64. empty : OUT STD_LOGIC
  65. );
  66. END MeasDataFifo;
  67. ARCHITECTURE MeasDataFifo_arch OF MeasDataFifo IS
  68. ATTRIBUTE DowngradeIPIdentifiedWarnings : STRING;
  69. ATTRIBUTE DowngradeIPIdentifiedWarnings OF MeasDataFifo_arch: ARCHITECTURE IS "yes";
  70. COMPONENT fifo_generator_v13_2_5 IS
  71. GENERIC (
  72. C_COMMON_CLOCK : INTEGER;
  73. C_SELECT_XPM : INTEGER;
  74. C_COUNT_TYPE : INTEGER;
  75. C_DATA_COUNT_WIDTH : INTEGER;
  76. C_DEFAULT_VALUE : STRING;
  77. C_DIN_WIDTH : INTEGER;
  78. C_DOUT_RST_VAL : STRING;
  79. C_DOUT_WIDTH : INTEGER;
  80. C_ENABLE_RLOCS : INTEGER;
  81. C_FAMILY : STRING;
  82. C_FULL_FLAGS_RST_VAL : INTEGER;
  83. C_HAS_ALMOST_EMPTY : INTEGER;
  84. C_HAS_ALMOST_FULL : INTEGER;
  85. C_HAS_BACKUP : INTEGER;
  86. C_HAS_DATA_COUNT : INTEGER;
  87. C_HAS_INT_CLK : INTEGER;
  88. C_HAS_MEMINIT_FILE : INTEGER;
  89. C_HAS_OVERFLOW : INTEGER;
  90. C_HAS_RD_DATA_COUNT : INTEGER;
  91. C_HAS_RD_RST : INTEGER;
  92. C_HAS_RST : INTEGER;
  93. C_HAS_SRST : INTEGER;
  94. C_HAS_UNDERFLOW : INTEGER;
  95. C_HAS_VALID : INTEGER;
  96. C_HAS_WR_ACK : INTEGER;
  97. C_HAS_WR_DATA_COUNT : INTEGER;
  98. C_HAS_WR_RST : INTEGER;
  99. C_IMPLEMENTATION_TYPE : INTEGER;
  100. C_INIT_WR_PNTR_VAL : INTEGER;
  101. C_MEMORY_TYPE : INTEGER;
  102. C_MIF_FILE_NAME : STRING;
  103. C_OPTIMIZATION_MODE : INTEGER;
  104. C_OVERFLOW_LOW : INTEGER;
  105. C_PRELOAD_LATENCY : INTEGER;
  106. C_PRELOAD_REGS : INTEGER;
  107. C_PRIM_FIFO_TYPE : STRING;
  108. C_PROG_EMPTY_THRESH_ASSERT_VAL : INTEGER;
  109. C_PROG_EMPTY_THRESH_NEGATE_VAL : INTEGER;
  110. C_PROG_EMPTY_TYPE : INTEGER;
  111. C_PROG_FULL_THRESH_ASSERT_VAL : INTEGER;
  112. C_PROG_FULL_THRESH_NEGATE_VAL : INTEGER;
  113. C_PROG_FULL_TYPE : INTEGER;
  114. C_RD_DATA_COUNT_WIDTH : INTEGER;
  115. C_RD_DEPTH : INTEGER;
  116. C_RD_FREQ : INTEGER;
  117. C_RD_PNTR_WIDTH : INTEGER;
  118. C_UNDERFLOW_LOW : INTEGER;
  119. C_USE_DOUT_RST : INTEGER;
  120. C_USE_ECC : INTEGER;
  121. C_USE_EMBEDDED_REG : INTEGER;
  122. C_USE_PIPELINE_REG : INTEGER;
  123. C_POWER_SAVING_MODE : INTEGER;
  124. C_USE_FIFO16_FLAGS : INTEGER;
  125. C_USE_FWFT_DATA_COUNT : INTEGER;
  126. C_VALID_LOW : INTEGER;
  127. C_WR_ACK_LOW : INTEGER;
  128. C_WR_DATA_COUNT_WIDTH : INTEGER;
  129. C_WR_DEPTH : INTEGER;
  130. C_WR_FREQ : INTEGER;
  131. C_WR_PNTR_WIDTH : INTEGER;
  132. C_WR_RESPONSE_LATENCY : INTEGER;
  133. C_MSGON_VAL : INTEGER;
  134. C_ENABLE_RST_SYNC : INTEGER;
  135. C_EN_SAFETY_CKT : INTEGER;
  136. C_ERROR_INJECTION_TYPE : INTEGER;
  137. C_SYNCHRONIZER_STAGE : INTEGER;
  138. C_INTERFACE_TYPE : INTEGER;
  139. C_AXI_TYPE : INTEGER;
  140. C_HAS_AXI_WR_CHANNEL : INTEGER;
  141. C_HAS_AXI_RD_CHANNEL : INTEGER;
  142. C_HAS_SLAVE_CE : INTEGER;
  143. C_HAS_MASTER_CE : INTEGER;
  144. C_ADD_NGC_CONSTRAINT : INTEGER;
  145. C_USE_COMMON_OVERFLOW : INTEGER;
  146. C_USE_COMMON_UNDERFLOW : INTEGER;
  147. C_USE_DEFAULT_SETTINGS : INTEGER;
  148. C_AXI_ID_WIDTH : INTEGER;
  149. C_AXI_ADDR_WIDTH : INTEGER;
  150. C_AXI_DATA_WIDTH : INTEGER;
  151. C_AXI_LEN_WIDTH : INTEGER;
  152. C_AXI_LOCK_WIDTH : INTEGER;
  153. C_HAS_AXI_ID : INTEGER;
  154. C_HAS_AXI_AWUSER : INTEGER;
  155. C_HAS_AXI_WUSER : INTEGER;
  156. C_HAS_AXI_BUSER : INTEGER;
  157. C_HAS_AXI_ARUSER : INTEGER;
  158. C_HAS_AXI_RUSER : INTEGER;
  159. C_AXI_ARUSER_WIDTH : INTEGER;
  160. C_AXI_AWUSER_WIDTH : INTEGER;
  161. C_AXI_WUSER_WIDTH : INTEGER;
  162. C_AXI_BUSER_WIDTH : INTEGER;
  163. C_AXI_RUSER_WIDTH : INTEGER;
  164. C_HAS_AXIS_TDATA : INTEGER;
  165. C_HAS_AXIS_TID : INTEGER;
  166. C_HAS_AXIS_TDEST : INTEGER;
  167. C_HAS_AXIS_TUSER : INTEGER;
  168. C_HAS_AXIS_TREADY : INTEGER;
  169. C_HAS_AXIS_TLAST : INTEGER;
  170. C_HAS_AXIS_TSTRB : INTEGER;
  171. C_HAS_AXIS_TKEEP : INTEGER;
  172. C_AXIS_TDATA_WIDTH : INTEGER;
  173. C_AXIS_TID_WIDTH : INTEGER;
  174. C_AXIS_TDEST_WIDTH : INTEGER;
  175. C_AXIS_TUSER_WIDTH : INTEGER;
  176. C_AXIS_TSTRB_WIDTH : INTEGER;
  177. C_AXIS_TKEEP_WIDTH : INTEGER;
  178. C_WACH_TYPE : INTEGER;
  179. C_WDCH_TYPE : INTEGER;
  180. C_WRCH_TYPE : INTEGER;
  181. C_RACH_TYPE : INTEGER;
  182. C_RDCH_TYPE : INTEGER;
  183. C_AXIS_TYPE : INTEGER;
  184. C_IMPLEMENTATION_TYPE_WACH : INTEGER;
  185. C_IMPLEMENTATION_TYPE_WDCH : INTEGER;
  186. C_IMPLEMENTATION_TYPE_WRCH : INTEGER;
  187. C_IMPLEMENTATION_TYPE_RACH : INTEGER;
  188. C_IMPLEMENTATION_TYPE_RDCH : INTEGER;
  189. C_IMPLEMENTATION_TYPE_AXIS : INTEGER;
  190. C_APPLICATION_TYPE_WACH : INTEGER;
  191. C_APPLICATION_TYPE_WDCH : INTEGER;
  192. C_APPLICATION_TYPE_WRCH : INTEGER;
  193. C_APPLICATION_TYPE_RACH : INTEGER;
  194. C_APPLICATION_TYPE_RDCH : INTEGER;
  195. C_APPLICATION_TYPE_AXIS : INTEGER;
  196. C_PRIM_FIFO_TYPE_WACH : STRING;
  197. C_PRIM_FIFO_TYPE_WDCH : STRING;
  198. C_PRIM_FIFO_TYPE_WRCH : STRING;
  199. C_PRIM_FIFO_TYPE_RACH : STRING;
  200. C_PRIM_FIFO_TYPE_RDCH : STRING;
  201. C_PRIM_FIFO_TYPE_AXIS : STRING;
  202. C_USE_ECC_WACH : INTEGER;
  203. C_USE_ECC_WDCH : INTEGER;
  204. C_USE_ECC_WRCH : INTEGER;
  205. C_USE_ECC_RACH : INTEGER;
  206. C_USE_ECC_RDCH : INTEGER;
  207. C_USE_ECC_AXIS : INTEGER;
  208. C_ERROR_INJECTION_TYPE_WACH : INTEGER;
  209. C_ERROR_INJECTION_TYPE_WDCH : INTEGER;
  210. C_ERROR_INJECTION_TYPE_WRCH : INTEGER;
  211. C_ERROR_INJECTION_TYPE_RACH : INTEGER;
  212. C_ERROR_INJECTION_TYPE_RDCH : INTEGER;
  213. C_ERROR_INJECTION_TYPE_AXIS : INTEGER;
  214. C_DIN_WIDTH_WACH : INTEGER;
  215. C_DIN_WIDTH_WDCH : INTEGER;
  216. C_DIN_WIDTH_WRCH : INTEGER;
  217. C_DIN_WIDTH_RACH : INTEGER;
  218. C_DIN_WIDTH_RDCH : INTEGER;
  219. C_DIN_WIDTH_AXIS : INTEGER;
  220. C_WR_DEPTH_WACH : INTEGER;
  221. C_WR_DEPTH_WDCH : INTEGER;
  222. C_WR_DEPTH_WRCH : INTEGER;
  223. C_WR_DEPTH_RACH : INTEGER;
  224. C_WR_DEPTH_RDCH : INTEGER;
  225. C_WR_DEPTH_AXIS : INTEGER;
  226. C_WR_PNTR_WIDTH_WACH : INTEGER;
  227. C_WR_PNTR_WIDTH_WDCH : INTEGER;
  228. C_WR_PNTR_WIDTH_WRCH : INTEGER;
  229. C_WR_PNTR_WIDTH_RACH : INTEGER;
  230. C_WR_PNTR_WIDTH_RDCH : INTEGER;
  231. C_WR_PNTR_WIDTH_AXIS : INTEGER;
  232. C_HAS_DATA_COUNTS_WACH : INTEGER;
  233. C_HAS_DATA_COUNTS_WDCH : INTEGER;
  234. C_HAS_DATA_COUNTS_WRCH : INTEGER;
  235. C_HAS_DATA_COUNTS_RACH : INTEGER;
  236. C_HAS_DATA_COUNTS_RDCH : INTEGER;
  237. C_HAS_DATA_COUNTS_AXIS : INTEGER;
  238. C_HAS_PROG_FLAGS_WACH : INTEGER;
  239. C_HAS_PROG_FLAGS_WDCH : INTEGER;
  240. C_HAS_PROG_FLAGS_WRCH : INTEGER;
  241. C_HAS_PROG_FLAGS_RACH : INTEGER;
  242. C_HAS_PROG_FLAGS_RDCH : INTEGER;
  243. C_HAS_PROG_FLAGS_AXIS : INTEGER;
  244. C_PROG_FULL_TYPE_WACH : INTEGER;
  245. C_PROG_FULL_TYPE_WDCH : INTEGER;
  246. C_PROG_FULL_TYPE_WRCH : INTEGER;
  247. C_PROG_FULL_TYPE_RACH : INTEGER;
  248. C_PROG_FULL_TYPE_RDCH : INTEGER;
  249. C_PROG_FULL_TYPE_AXIS : INTEGER;
  250. C_PROG_FULL_THRESH_ASSERT_VAL_WACH : INTEGER;
  251. C_PROG_FULL_THRESH_ASSERT_VAL_WDCH : INTEGER;
  252. C_PROG_FULL_THRESH_ASSERT_VAL_WRCH : INTEGER;
  253. C_PROG_FULL_THRESH_ASSERT_VAL_RACH : INTEGER;
  254. C_PROG_FULL_THRESH_ASSERT_VAL_RDCH : INTEGER;
  255. C_PROG_FULL_THRESH_ASSERT_VAL_AXIS : INTEGER;
  256. C_PROG_EMPTY_TYPE_WACH : INTEGER;
  257. C_PROG_EMPTY_TYPE_WDCH : INTEGER;
  258. C_PROG_EMPTY_TYPE_WRCH : INTEGER;
  259. C_PROG_EMPTY_TYPE_RACH : INTEGER;
  260. C_PROG_EMPTY_TYPE_RDCH : INTEGER;
  261. C_PROG_EMPTY_TYPE_AXIS : INTEGER;
  262. C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH : INTEGER;
  263. C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH : INTEGER;
  264. C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH : INTEGER;
  265. C_PROG_EMPTY_THRESH_ASSERT_VAL_RACH : INTEGER;
  266. C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH : INTEGER;
  267. C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS : INTEGER;
  268. C_REG_SLICE_MODE_WACH : INTEGER;
  269. C_REG_SLICE_MODE_WDCH : INTEGER;
  270. C_REG_SLICE_MODE_WRCH : INTEGER;
  271. C_REG_SLICE_MODE_RACH : INTEGER;
  272. C_REG_SLICE_MODE_RDCH : INTEGER;
  273. C_REG_SLICE_MODE_AXIS : INTEGER
  274. );
  275. PORT (
  276. backup : IN STD_LOGIC;
  277. backup_marker : IN STD_LOGIC;
  278. clk : IN STD_LOGIC;
  279. rst : IN STD_LOGIC;
  280. srst : IN STD_LOGIC;
  281. wr_clk : IN STD_LOGIC;
  282. wr_rst : IN STD_LOGIC;
  283. rd_clk : IN STD_LOGIC;
  284. rd_rst : IN STD_LOGIC;
  285. din : IN STD_LOGIC_VECTOR(255 DOWNTO 0);
  286. wr_en : IN STD_LOGIC;
  287. rd_en : IN STD_LOGIC;
  288. prog_empty_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
  289. prog_empty_thresh_assert : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
  290. prog_empty_thresh_negate : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
  291. prog_full_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
  292. prog_full_thresh_assert : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
  293. prog_full_thresh_negate : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
  294. int_clk : IN STD_LOGIC;
  295. injectdbiterr : IN STD_LOGIC;
  296. injectsbiterr : IN STD_LOGIC;
  297. sleep : IN STD_LOGIC;
  298. dout : OUT STD_LOGIC_VECTOR(255 DOWNTO 0);
  299. full : OUT STD_LOGIC;
  300. almost_full : OUT STD_LOGIC;
  301. wr_ack : OUT STD_LOGIC;
  302. overflow : OUT STD_LOGIC;
  303. empty : OUT STD_LOGIC;
  304. almost_empty : OUT STD_LOGIC;
  305. valid : OUT STD_LOGIC;
  306. underflow : OUT STD_LOGIC;
  307. data_count : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);
  308. rd_data_count : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);
  309. wr_data_count : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);
  310. prog_full : OUT STD_LOGIC;
  311. prog_empty : OUT STD_LOGIC;
  312. sbiterr : OUT STD_LOGIC;
  313. dbiterr : OUT STD_LOGIC;
  314. wr_rst_busy : OUT STD_LOGIC;
  315. rd_rst_busy : OUT STD_LOGIC;
  316. m_aclk : IN STD_LOGIC;
  317. s_aclk : IN STD_LOGIC;
  318. s_aresetn : IN STD_LOGIC;
  319. m_aclk_en : IN STD_LOGIC;
  320. s_aclk_en : IN STD_LOGIC;
  321. s_axi_awid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  322. s_axi_awaddr : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
  323. s_axi_awlen : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
  324. s_axi_awsize : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
  325. s_axi_awburst : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
  326. s_axi_awlock : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  327. s_axi_awcache : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  328. s_axi_awprot : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
  329. s_axi_awqos : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  330. s_axi_awregion : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  331. s_axi_awuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  332. s_axi_awvalid : IN STD_LOGIC;
  333. s_axi_awready : OUT STD_LOGIC;
  334. s_axi_wid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  335. s_axi_wdata : IN STD_LOGIC_VECTOR(63 DOWNTO 0);
  336. s_axi_wstrb : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
  337. s_axi_wlast : IN STD_LOGIC;
  338. s_axi_wuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  339. s_axi_wvalid : IN STD_LOGIC;
  340. s_axi_wready : OUT STD_LOGIC;
  341. s_axi_bid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  342. s_axi_bresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
  343. s_axi_buser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  344. s_axi_bvalid : OUT STD_LOGIC;
  345. s_axi_bready : IN STD_LOGIC;
  346. m_axi_awid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  347. m_axi_awaddr : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
  348. m_axi_awlen : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
  349. m_axi_awsize : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
  350. m_axi_awburst : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
  351. m_axi_awlock : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  352. m_axi_awcache : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
  353. m_axi_awprot : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
  354. m_axi_awqos : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
  355. m_axi_awregion : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
  356. m_axi_awuser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  357. m_axi_awvalid : OUT STD_LOGIC;
  358. m_axi_awready : IN STD_LOGIC;
  359. m_axi_wid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  360. m_axi_wdata : OUT STD_LOGIC_VECTOR(63 DOWNTO 0);
  361. m_axi_wstrb : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
  362. m_axi_wlast : OUT STD_LOGIC;
  363. m_axi_wuser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  364. m_axi_wvalid : OUT STD_LOGIC;
  365. m_axi_wready : IN STD_LOGIC;
  366. m_axi_bid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  367. m_axi_bresp : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
  368. m_axi_buser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  369. m_axi_bvalid : IN STD_LOGIC;
  370. m_axi_bready : OUT STD_LOGIC;
  371. s_axi_arid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  372. s_axi_araddr : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
  373. s_axi_arlen : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
  374. s_axi_arsize : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
  375. s_axi_arburst : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
  376. s_axi_arlock : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  377. s_axi_arcache : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  378. s_axi_arprot : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
  379. s_axi_arqos : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  380. s_axi_arregion : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  381. s_axi_aruser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  382. s_axi_arvalid : IN STD_LOGIC;
  383. s_axi_arready : OUT STD_LOGIC;
  384. s_axi_rid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  385. s_axi_rdata : OUT STD_LOGIC_VECTOR(63 DOWNTO 0);
  386. s_axi_rresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
  387. s_axi_rlast : OUT STD_LOGIC;
  388. s_axi_ruser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  389. s_axi_rvalid : OUT STD_LOGIC;
  390. s_axi_rready : IN STD_LOGIC;
  391. m_axi_arid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  392. m_axi_araddr : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
  393. m_axi_arlen : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
  394. m_axi_arsize : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
  395. m_axi_arburst : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
  396. m_axi_arlock : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  397. m_axi_arcache : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
  398. m_axi_arprot : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
  399. m_axi_arqos : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
  400. m_axi_arregion : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
  401. m_axi_aruser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  402. m_axi_arvalid : OUT STD_LOGIC;
  403. m_axi_arready : IN STD_LOGIC;
  404. m_axi_rid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  405. m_axi_rdata : IN STD_LOGIC_VECTOR(63 DOWNTO 0);
  406. m_axi_rresp : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
  407. m_axi_rlast : IN STD_LOGIC;
  408. m_axi_ruser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  409. m_axi_rvalid : IN STD_LOGIC;
  410. m_axi_rready : OUT STD_LOGIC;
  411. s_axis_tvalid : IN STD_LOGIC;
  412. s_axis_tready : OUT STD_LOGIC;
  413. s_axis_tdata : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
  414. s_axis_tstrb : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  415. s_axis_tkeep : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  416. s_axis_tlast : IN STD_LOGIC;
  417. s_axis_tid : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  418. s_axis_tdest : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
  419. s_axis_tuser : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  420. m_axis_tvalid : OUT STD_LOGIC;
  421. m_axis_tready : IN STD_LOGIC;
  422. m_axis_tdata : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
  423. m_axis_tstrb : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  424. m_axis_tkeep : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  425. m_axis_tlast : OUT STD_LOGIC;
  426. m_axis_tid : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  427. m_axis_tdest : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
  428. m_axis_tuser : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
  429. axi_aw_injectsbiterr : IN STD_LOGIC;
  430. axi_aw_injectdbiterr : IN STD_LOGIC;
  431. axi_aw_prog_full_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  432. axi_aw_prog_empty_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  433. axi_aw_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
  434. axi_aw_wr_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
  435. axi_aw_rd_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
  436. axi_aw_sbiterr : OUT STD_LOGIC;
  437. axi_aw_dbiterr : OUT STD_LOGIC;
  438. axi_aw_overflow : OUT STD_LOGIC;
  439. axi_aw_underflow : OUT STD_LOGIC;
  440. axi_aw_prog_full : OUT STD_LOGIC;
  441. axi_aw_prog_empty : OUT STD_LOGIC;
  442. axi_w_injectsbiterr : IN STD_LOGIC;
  443. axi_w_injectdbiterr : IN STD_LOGIC;
  444. axi_w_prog_full_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
  445. axi_w_prog_empty_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
  446. axi_w_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
  447. axi_w_wr_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
  448. axi_w_rd_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
  449. axi_w_sbiterr : OUT STD_LOGIC;
  450. axi_w_dbiterr : OUT STD_LOGIC;
  451. axi_w_overflow : OUT STD_LOGIC;
  452. axi_w_underflow : OUT STD_LOGIC;
  453. axi_w_prog_full : OUT STD_LOGIC;
  454. axi_w_prog_empty : OUT STD_LOGIC;
  455. axi_b_injectsbiterr : IN STD_LOGIC;
  456. axi_b_injectdbiterr : IN STD_LOGIC;
  457. axi_b_prog_full_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  458. axi_b_prog_empty_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  459. axi_b_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
  460. axi_b_wr_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
  461. axi_b_rd_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
  462. axi_b_sbiterr : OUT STD_LOGIC;
  463. axi_b_dbiterr : OUT STD_LOGIC;
  464. axi_b_overflow : OUT STD_LOGIC;
  465. axi_b_underflow : OUT STD_LOGIC;
  466. axi_b_prog_full : OUT STD_LOGIC;
  467. axi_b_prog_empty : OUT STD_LOGIC;
  468. axi_ar_injectsbiterr : IN STD_LOGIC;
  469. axi_ar_injectdbiterr : IN STD_LOGIC;
  470. axi_ar_prog_full_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  471. axi_ar_prog_empty_thresh : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
  472. axi_ar_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
  473. axi_ar_wr_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
  474. axi_ar_rd_data_count : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
  475. axi_ar_sbiterr : OUT STD_LOGIC;
  476. axi_ar_dbiterr : OUT STD_LOGIC;
  477. axi_ar_overflow : OUT STD_LOGIC;
  478. axi_ar_underflow : OUT STD_LOGIC;
  479. axi_ar_prog_full : OUT STD_LOGIC;
  480. axi_ar_prog_empty : OUT STD_LOGIC;
  481. axi_r_injectsbiterr : IN STD_LOGIC;
  482. axi_r_injectdbiterr : IN STD_LOGIC;
  483. axi_r_prog_full_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
  484. axi_r_prog_empty_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
  485. axi_r_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
  486. axi_r_wr_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
  487. axi_r_rd_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
  488. axi_r_sbiterr : OUT STD_LOGIC;
  489. axi_r_dbiterr : OUT STD_LOGIC;
  490. axi_r_overflow : OUT STD_LOGIC;
  491. axi_r_underflow : OUT STD_LOGIC;
  492. axi_r_prog_full : OUT STD_LOGIC;
  493. axi_r_prog_empty : OUT STD_LOGIC;
  494. axis_injectsbiterr : IN STD_LOGIC;
  495. axis_injectdbiterr : IN STD_LOGIC;
  496. axis_prog_full_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
  497. axis_prog_empty_thresh : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
  498. axis_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
  499. axis_wr_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
  500. axis_rd_data_count : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);
  501. axis_sbiterr : OUT STD_LOGIC;
  502. axis_dbiterr : OUT STD_LOGIC;
  503. axis_overflow : OUT STD_LOGIC;
  504. axis_underflow : OUT STD_LOGIC;
  505. axis_prog_full : OUT STD_LOGIC;
  506. axis_prog_empty : OUT STD_LOGIC
  507. );
  508. END COMPONENT fifo_generator_v13_2_5;
  509. ATTRIBUTE X_CORE_INFO : STRING;
  510. ATTRIBUTE X_CORE_INFO OF MeasDataFifo_arch: ARCHITECTURE IS "fifo_generator_v13_2_5,Vivado 2020.2";
  511. ATTRIBUTE CHECK_LICENSE_TYPE : STRING;
  512. ATTRIBUTE CHECK_LICENSE_TYPE OF MeasDataFifo_arch : ARCHITECTURE IS "MeasDataFifo,fifo_generator_v13_2_5,{}";
  513. ATTRIBUTE CORE_GENERATION_INFO : STRING;
  514. ATTRIBUTE CORE_GENERATION_INFO OF MeasDataFifo_arch: ARCHITECTURE IS "MeasDataFifo,fifo_generator_v13_2_5,{x_ipProduct=Vivado 2020.2,x_ipVendor=xilinx.com,x_ipLibrary=ip,x_ipName=fifo_generator,x_ipVersion=13.2,x_ipCoreRevision=5,x_ipLanguage=VERILOG,x_ipSimLanguage=VERILOG,C_COMMON_CLOCK=1,C_SELECT_XPM=0,C_COUNT_TYPE=0,C_DATA_COUNT_WIDTH=10,C_DEFAULT_VALUE=BlankString,C_DIN_WIDTH=256,C_DOUT_RST_VAL=0,C_DOUT_WIDTH=256,C_ENABLE_RLOCS=0,C_FAMILY=spartan7,C_FULL_FLAGS_RST_VAL=0,C_HAS_ALMOST_EMPTY=0,C_HAS_ALMOST_FULL=0,C_HAS_BACKUP=0,C_HAS_DATA_COUNT=0,C_HAS_INT_CLK=0" &
  515. ",C_HAS_MEMINIT_FILE=0,C_HAS_OVERFLOW=0,C_HAS_RD_DATA_COUNT=0,C_HAS_RD_RST=0,C_HAS_RST=0,C_HAS_SRST=1,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=0,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=1022,C_PROG" &
  516. "_FULL_THRESH_NEGATE_VAL=1021,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=0,C_ERROR_INJECTION_TYPE=0,C_SYNCHRONIZER_STAGE=2" &
  517. ",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_" &
  518. "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_IMPLEMENT" &
  519. "ATION_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_W" &
  520. "ACH=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_WIDT" &
  521. "H_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_VA" &
  522. "L_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_TH" &
  523. "RESH_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}";
  524. ATTRIBUTE X_INTERFACE_INFO : STRING;
  525. ATTRIBUTE X_INTERFACE_PARAMETER : STRING;
  526. ATTRIBUTE X_INTERFACE_INFO OF empty: SIGNAL IS "xilinx.com:interface:fifo_read:1.0 FIFO_READ EMPTY";
  527. ATTRIBUTE X_INTERFACE_INFO OF full: SIGNAL IS "xilinx.com:interface:fifo_write:1.0 FIFO_WRITE FULL";
  528. ATTRIBUTE X_INTERFACE_INFO OF dout: SIGNAL IS "xilinx.com:interface:fifo_read:1.0 FIFO_READ RD_DATA";
  529. ATTRIBUTE X_INTERFACE_INFO OF rd_en: SIGNAL IS "xilinx.com:interface:fifo_read:1.0 FIFO_READ RD_EN";
  530. ATTRIBUTE X_INTERFACE_INFO OF wr_en: SIGNAL IS "xilinx.com:interface:fifo_write:1.0 FIFO_WRITE WR_EN";
  531. ATTRIBUTE X_INTERFACE_INFO OF din: SIGNAL IS "xilinx.com:interface:fifo_write:1.0 FIFO_WRITE WR_DATA";
  532. ATTRIBUTE X_INTERFACE_PARAMETER OF clk: SIGNAL IS "XIL_INTERFACENAME core_clk, FREQ_HZ 100000000, FREQ_TOLERANCE_HZ 0, PHASE 0.000, INSERT_VIP 0";
  533. ATTRIBUTE X_INTERFACE_INFO OF clk: SIGNAL IS "xilinx.com:signal:clock:1.0 core_clk CLK";
  534. BEGIN
  535. U0 : fifo_generator_v13_2_5
  536. GENERIC MAP (
  537. C_COMMON_CLOCK => 1,
  538. C_SELECT_XPM => 0,
  539. C_COUNT_TYPE => 0,
  540. C_DATA_COUNT_WIDTH => 10,
  541. C_DEFAULT_VALUE => "BlankString",
  542. C_DIN_WIDTH => 256,
  543. C_DOUT_RST_VAL => "0",
  544. C_DOUT_WIDTH => 256,
  545. C_ENABLE_RLOCS => 0,
  546. C_FAMILY => "spartan7",
  547. C_FULL_FLAGS_RST_VAL => 0,
  548. C_HAS_ALMOST_EMPTY => 0,
  549. C_HAS_ALMOST_FULL => 0,
  550. C_HAS_BACKUP => 0,
  551. C_HAS_DATA_COUNT => 0,
  552. C_HAS_INT_CLK => 0,
  553. C_HAS_MEMINIT_FILE => 0,
  554. C_HAS_OVERFLOW => 0,
  555. C_HAS_RD_DATA_COUNT => 0,
  556. C_HAS_RD_RST => 0,
  557. C_HAS_RST => 0,
  558. C_HAS_SRST => 1,
  559. C_HAS_UNDERFLOW => 0,
  560. C_HAS_VALID => 0,
  561. C_HAS_WR_ACK => 0,
  562. C_HAS_WR_DATA_COUNT => 0,
  563. C_HAS_WR_RST => 0,
  564. C_IMPLEMENTATION_TYPE => 0,
  565. C_INIT_WR_PNTR_VAL => 0,
  566. C_MEMORY_TYPE => 1,
  567. C_MIF_FILE_NAME => "BlankString",
  568. C_OPTIMIZATION_MODE => 0,
  569. C_OVERFLOW_LOW => 0,
  570. C_PRELOAD_LATENCY => 1,
  571. C_PRELOAD_REGS => 0,
  572. C_PRIM_FIFO_TYPE => "1kx36",
  573. C_PROG_EMPTY_THRESH_ASSERT_VAL => 2,
  574. C_PROG_EMPTY_THRESH_NEGATE_VAL => 3,
  575. C_PROG_EMPTY_TYPE => 0,
  576. C_PROG_FULL_THRESH_ASSERT_VAL => 1022,
  577. C_PROG_FULL_THRESH_NEGATE_VAL => 1021,
  578. C_PROG_FULL_TYPE => 0,
  579. C_RD_DATA_COUNT_WIDTH => 10,
  580. C_RD_DEPTH => 1024,
  581. C_RD_FREQ => 1,
  582. C_RD_PNTR_WIDTH => 10,
  583. C_UNDERFLOW_LOW => 0,
  584. C_USE_DOUT_RST => 1,
  585. C_USE_ECC => 0,
  586. C_USE_EMBEDDED_REG => 0,
  587. C_USE_PIPELINE_REG => 0,
  588. C_POWER_SAVING_MODE => 0,
  589. C_USE_FIFO16_FLAGS => 0,
  590. C_USE_FWFT_DATA_COUNT => 0,
  591. C_VALID_LOW => 0,
  592. C_WR_ACK_LOW => 0,
  593. C_WR_DATA_COUNT_WIDTH => 10,
  594. C_WR_DEPTH => 1024,
  595. C_WR_FREQ => 1,
  596. C_WR_PNTR_WIDTH => 10,
  597. C_WR_RESPONSE_LATENCY => 1,
  598. C_MSGON_VAL => 1,
  599. C_ENABLE_RST_SYNC => 1,
  600. C_EN_SAFETY_CKT => 0,
  601. C_ERROR_INJECTION_TYPE => 0,
  602. C_SYNCHRONIZER_STAGE => 2,
  603. C_INTERFACE_TYPE => 0,
  604. C_AXI_TYPE => 1,
  605. C_HAS_AXI_WR_CHANNEL => 1,
  606. C_HAS_AXI_RD_CHANNEL => 1,
  607. C_HAS_SLAVE_CE => 0,
  608. C_HAS_MASTER_CE => 0,
  609. C_ADD_NGC_CONSTRAINT => 0,
  610. C_USE_COMMON_OVERFLOW => 0,
  611. C_USE_COMMON_UNDERFLOW => 0,
  612. C_USE_DEFAULT_SETTINGS => 0,
  613. C_AXI_ID_WIDTH => 1,
  614. C_AXI_ADDR_WIDTH => 32,
  615. C_AXI_DATA_WIDTH => 64,
  616. C_AXI_LEN_WIDTH => 8,
  617. C_AXI_LOCK_WIDTH => 1,
  618. C_HAS_AXI_ID => 0,
  619. C_HAS_AXI_AWUSER => 0,
  620. C_HAS_AXI_WUSER => 0,
  621. C_HAS_AXI_BUSER => 0,
  622. C_HAS_AXI_ARUSER => 0,
  623. C_HAS_AXI_RUSER => 0,
  624. C_AXI_ARUSER_WIDTH => 1,
  625. C_AXI_AWUSER_WIDTH => 1,
  626. C_AXI_WUSER_WIDTH => 1,
  627. C_AXI_BUSER_WIDTH => 1,
  628. C_AXI_RUSER_WIDTH => 1,
  629. C_HAS_AXIS_TDATA => 1,
  630. C_HAS_AXIS_TID => 0,
  631. C_HAS_AXIS_TDEST => 0,
  632. C_HAS_AXIS_TUSER => 1,
  633. C_HAS_AXIS_TREADY => 1,
  634. C_HAS_AXIS_TLAST => 0,
  635. C_HAS_AXIS_TSTRB => 0,
  636. C_HAS_AXIS_TKEEP => 0,
  637. C_AXIS_TDATA_WIDTH => 8,
  638. C_AXIS_TID_WIDTH => 1,
  639. C_AXIS_TDEST_WIDTH => 1,
  640. C_AXIS_TUSER_WIDTH => 4,
  641. C_AXIS_TSTRB_WIDTH => 1,
  642. C_AXIS_TKEEP_WIDTH => 1,
  643. C_WACH_TYPE => 0,
  644. C_WDCH_TYPE => 0,
  645. C_WRCH_TYPE => 0,
  646. C_RACH_TYPE => 0,
  647. C_RDCH_TYPE => 0,
  648. C_AXIS_TYPE => 0,
  649. C_IMPLEMENTATION_TYPE_WACH => 1,
  650. C_IMPLEMENTATION_TYPE_WDCH => 1,
  651. C_IMPLEMENTATION_TYPE_WRCH => 1,
  652. C_IMPLEMENTATION_TYPE_RACH => 1,
  653. C_IMPLEMENTATION_TYPE_RDCH => 1,
  654. C_IMPLEMENTATION_TYPE_AXIS => 1,
  655. C_APPLICATION_TYPE_WACH => 0,
  656. C_APPLICATION_TYPE_WDCH => 0,
  657. C_APPLICATION_TYPE_WRCH => 0,
  658. C_APPLICATION_TYPE_RACH => 0,
  659. C_APPLICATION_TYPE_RDCH => 0,
  660. C_APPLICATION_TYPE_AXIS => 0,
  661. C_PRIM_FIFO_TYPE_WACH => "512x36",
  662. C_PRIM_FIFO_TYPE_WDCH => "1kx36",
  663. C_PRIM_FIFO_TYPE_WRCH => "512x36",
  664. C_PRIM_FIFO_TYPE_RACH => "512x36",
  665. C_PRIM_FIFO_TYPE_RDCH => "1kx36",
  666. C_PRIM_FIFO_TYPE_AXIS => "1kx18",
  667. C_USE_ECC_WACH => 0,
  668. C_USE_ECC_WDCH => 0,
  669. C_USE_ECC_WRCH => 0,
  670. C_USE_ECC_RACH => 0,
  671. C_USE_ECC_RDCH => 0,
  672. C_USE_ECC_AXIS => 0,
  673. C_ERROR_INJECTION_TYPE_WACH => 0,
  674. C_ERROR_INJECTION_TYPE_WDCH => 0,
  675. C_ERROR_INJECTION_TYPE_WRCH => 0,
  676. C_ERROR_INJECTION_TYPE_RACH => 0,
  677. C_ERROR_INJECTION_TYPE_RDCH => 0,
  678. C_ERROR_INJECTION_TYPE_AXIS => 0,
  679. C_DIN_WIDTH_WACH => 1,
  680. C_DIN_WIDTH_WDCH => 64,
  681. C_DIN_WIDTH_WRCH => 2,
  682. C_DIN_WIDTH_RACH => 32,
  683. C_DIN_WIDTH_RDCH => 64,
  684. C_DIN_WIDTH_AXIS => 1,
  685. C_WR_DEPTH_WACH => 16,
  686. C_WR_DEPTH_WDCH => 1024,
  687. C_WR_DEPTH_WRCH => 16,
  688. C_WR_DEPTH_RACH => 16,
  689. C_WR_DEPTH_RDCH => 1024,
  690. C_WR_DEPTH_AXIS => 1024,
  691. C_WR_PNTR_WIDTH_WACH => 4,
  692. C_WR_PNTR_WIDTH_WDCH => 10,
  693. C_WR_PNTR_WIDTH_WRCH => 4,
  694. C_WR_PNTR_WIDTH_RACH => 4,
  695. C_WR_PNTR_WIDTH_RDCH => 10,
  696. C_WR_PNTR_WIDTH_AXIS => 10,
  697. C_HAS_DATA_COUNTS_WACH => 0,
  698. C_HAS_DATA_COUNTS_WDCH => 0,
  699. C_HAS_DATA_COUNTS_WRCH => 0,
  700. C_HAS_DATA_COUNTS_RACH => 0,
  701. C_HAS_DATA_COUNTS_RDCH => 0,
  702. C_HAS_DATA_COUNTS_AXIS => 0,
  703. C_HAS_PROG_FLAGS_WACH => 0,
  704. C_HAS_PROG_FLAGS_WDCH => 0,
  705. C_HAS_PROG_FLAGS_WRCH => 0,
  706. C_HAS_PROG_FLAGS_RACH => 0,
  707. C_HAS_PROG_FLAGS_RDCH => 0,
  708. C_HAS_PROG_FLAGS_AXIS => 0,
  709. C_PROG_FULL_TYPE_WACH => 0,
  710. C_PROG_FULL_TYPE_WDCH => 0,
  711. C_PROG_FULL_TYPE_WRCH => 0,
  712. C_PROG_FULL_TYPE_RACH => 0,
  713. C_PROG_FULL_TYPE_RDCH => 0,
  714. C_PROG_FULL_TYPE_AXIS => 0,
  715. C_PROG_FULL_THRESH_ASSERT_VAL_WACH => 1023,
  716. C_PROG_FULL_THRESH_ASSERT_VAL_WDCH => 1023,
  717. C_PROG_FULL_THRESH_ASSERT_VAL_WRCH => 1023,
  718. C_PROG_FULL_THRESH_ASSERT_VAL_RACH => 1023,
  719. C_PROG_FULL_THRESH_ASSERT_VAL_RDCH => 1023,
  720. C_PROG_FULL_THRESH_ASSERT_VAL_AXIS => 1023,
  721. C_PROG_EMPTY_TYPE_WACH => 0,
  722. C_PROG_EMPTY_TYPE_WDCH => 0,
  723. C_PROG_EMPTY_TYPE_WRCH => 0,
  724. C_PROG_EMPTY_TYPE_RACH => 0,
  725. C_PROG_EMPTY_TYPE_RDCH => 0,
  726. C_PROG_EMPTY_TYPE_AXIS => 0,
  727. C_PROG_EMPTY_THRESH_ASSERT_VAL_WACH => 1022,
  728. C_PROG_EMPTY_THRESH_ASSERT_VAL_WDCH => 1022,
  729. C_PROG_EMPTY_THRESH_ASSERT_VAL_WRCH => 1022,
  730. C_PROG_EMPTY_THRESH_ASSERT_VAL_RACH => 1022,
  731. C_PROG_EMPTY_THRESH_ASSERT_VAL_RDCH => 1022,
  732. C_PROG_EMPTY_THRESH_ASSERT_VAL_AXIS => 1022,
  733. C_REG_SLICE_MODE_WACH => 0,
  734. C_REG_SLICE_MODE_WDCH => 0,
  735. C_REG_SLICE_MODE_WRCH => 0,
  736. C_REG_SLICE_MODE_RACH => 0,
  737. C_REG_SLICE_MODE_RDCH => 0,
  738. C_REG_SLICE_MODE_AXIS => 0
  739. )
  740. PORT MAP (
  741. backup => '0',
  742. backup_marker => '0',
  743. clk => clk,
  744. rst => '0',
  745. srst => srst,
  746. wr_clk => '0',
  747. wr_rst => '0',
  748. rd_clk => '0',
  749. rd_rst => '0',
  750. din => din,
  751. wr_en => wr_en,
  752. rd_en => rd_en,
  753. prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
  754. prog_empty_thresh_assert => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
  755. prog_empty_thresh_negate => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
  756. prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
  757. prog_full_thresh_assert => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
  758. prog_full_thresh_negate => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
  759. int_clk => '0',
  760. injectdbiterr => '0',
  761. injectsbiterr => '0',
  762. sleep => '0',
  763. dout => dout,
  764. full => full,
  765. empty => empty,
  766. m_aclk => '0',
  767. s_aclk => '0',
  768. s_aresetn => '0',
  769. m_aclk_en => '0',
  770. s_aclk_en => '0',
  771. s_axi_awid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  772. s_axi_awaddr => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 32)),
  773. s_axi_awlen => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
  774. s_axi_awsize => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 3)),
  775. s_axi_awburst => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 2)),
  776. s_axi_awlock => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  777. s_axi_awcache => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  778. s_axi_awprot => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 3)),
  779. s_axi_awqos => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  780. s_axi_awregion => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  781. s_axi_awuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  782. s_axi_awvalid => '0',
  783. s_axi_wid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  784. s_axi_wdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 64)),
  785. s_axi_wstrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
  786. s_axi_wlast => '0',
  787. s_axi_wuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  788. s_axi_wvalid => '0',
  789. s_axi_bready => '0',
  790. m_axi_awready => '0',
  791. m_axi_wready => '0',
  792. m_axi_bid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  793. m_axi_bresp => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 2)),
  794. m_axi_buser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  795. m_axi_bvalid => '0',
  796. s_axi_arid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  797. s_axi_araddr => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 32)),
  798. s_axi_arlen => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
  799. s_axi_arsize => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 3)),
  800. s_axi_arburst => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 2)),
  801. s_axi_arlock => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  802. s_axi_arcache => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  803. s_axi_arprot => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 3)),
  804. s_axi_arqos => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  805. s_axi_arregion => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  806. s_axi_aruser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  807. s_axi_arvalid => '0',
  808. s_axi_rready => '0',
  809. m_axi_arready => '0',
  810. m_axi_rid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  811. m_axi_rdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 64)),
  812. m_axi_rresp => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 2)),
  813. m_axi_rlast => '0',
  814. m_axi_ruser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  815. m_axi_rvalid => '0',
  816. s_axis_tvalid => '0',
  817. s_axis_tdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
  818. s_axis_tstrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  819. s_axis_tkeep => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  820. s_axis_tlast => '0',
  821. s_axis_tid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  822. s_axis_tdest => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
  823. s_axis_tuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  824. m_axis_tready => '0',
  825. axi_aw_injectsbiterr => '0',
  826. axi_aw_injectdbiterr => '0',
  827. axi_aw_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  828. axi_aw_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  829. axi_w_injectsbiterr => '0',
  830. axi_w_injectdbiterr => '0',
  831. axi_w_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
  832. axi_w_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
  833. axi_b_injectsbiterr => '0',
  834. axi_b_injectdbiterr => '0',
  835. axi_b_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  836. axi_b_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  837. axi_ar_injectsbiterr => '0',
  838. axi_ar_injectdbiterr => '0',
  839. axi_ar_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  840. axi_ar_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
  841. axi_r_injectsbiterr => '0',
  842. axi_r_injectdbiterr => '0',
  843. axi_r_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
  844. axi_r_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
  845. axis_injectsbiterr => '0',
  846. axis_injectdbiterr => '0',
  847. axis_prog_full_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10)),
  848. axis_prog_empty_thresh => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 10))
  849. );
  850. END MeasDataFifo_arch;