update to 01/03
parent
4a39dfe368
commit
cb82fcdf4e
|
|
@ -0,0 +1,402 @@
|
|||
memory_initialization_radix=2;
|
||||
memory_initialization_vector=111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
101010111111,
|
||||
011110001110,
|
||||
011101111110,
|
||||
100110101110,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
100110101110,
|
||||
011101111110,
|
||||
011110001110,
|
||||
101010111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111011101111,
|
||||
001001001101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
001000111101,
|
||||
110111011111,
|
||||
110111011111,
|
||||
001000111101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
001001001101,
|
||||
111011101111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
010001011110,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
001000111101,
|
||||
001000111101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
010001011110,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
101110111111,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
101110111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
011001111110,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
011001111110,
|
||||
111111111111,
|
||||
111111111111,
|
||||
001101001101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
001101001101,
|
||||
111111111111,
|
||||
111111111111,
|
||||
011101111110,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
011101111110,
|
||||
111111111111,
|
||||
111111111111,
|
||||
101110111111,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
101110111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
010001011110,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
010001011110,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
110011001111,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
110011001111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
101111001111,
|
||||
000100111101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000100101101,
|
||||
101010111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
110011011111,
|
||||
000100111101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000100101101,
|
||||
101110111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
110111011111,
|
||||
001101001101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
001101001101,
|
||||
110111011111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
010101101110,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
000000011101,
|
||||
010101101110,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
100010011110,
|
||||
000000101101,
|
||||
000000101101,
|
||||
100010011110,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
101110111111,
|
||||
101110111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
111111111111,
|
||||
;
|
||||
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,207 @@
|
|||
2019.2:
|
||||
* Version 8.4 (Rev. 4)
|
||||
* Feature Enhancement: Read Latency parameters exposed to IP GUI for URAM configurations
|
||||
|
||||
2019.1.3:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* No changes
|
||||
|
||||
2019.1.2:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* No changes
|
||||
|
||||
2019.1.1:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* No changes
|
||||
|
||||
2019.1:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* General: Internal device family change, no functional changes
|
||||
|
||||
2018.3.1:
|
||||
* Version 8.4 (Rev. 2)
|
||||
* No changes
|
||||
|
||||
2018.3:
|
||||
* Version 8.4 (Rev. 2)
|
||||
* Feature Enhancement: Read Latency Support added for URAM when selected through IP Integrator
|
||||
* Other: Power Calculations disabled for URAM primitives in IP GUI, no functional changes
|
||||
* Other: Internal device family change, no functional changes
|
||||
|
||||
2018.2:
|
||||
* Version 8.4 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2018.1:
|
||||
* Version 8.4 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2017.4:
|
||||
* Version 8.4 (Rev. 1)
|
||||
* General: Write depth shown in IP GUI is now dependent on number of BRAMs available in a chosen device, no functional changes
|
||||
|
||||
2017.3:
|
||||
* Version 8.4
|
||||
* General: Safety Circuit option is enabled by default if reset option in any one port is enabled
|
||||
|
||||
2017.2:
|
||||
* Version 8.3 (Rev. 6)
|
||||
* No changes
|
||||
|
||||
2017.1:
|
||||
* Version 8.3 (Rev. 6)
|
||||
* General: Internal device family change, no functional changes
|
||||
* General: When common_clock is selected clkb is internally connected to clka, but the interface remains same to support the backword compatiability. User make sure of connecting the both the clocks to same clock source when in common_clock mode
|
||||
|
||||
2016.4:
|
||||
* Version 8.3 (Rev. 5)
|
||||
* General: Fixes for behavioral Model issues when built-IN ECC is enabled (to be consistent with RTL)
|
||||
|
||||
2016.3:
|
||||
* Version 8.3 (Rev. 4)
|
||||
* Feature Enhancement: URAM addressing updates while calling XPM_Memory when 32-bit addressing is enabled
|
||||
* Other: Enable support for future devices
|
||||
* Other: Source HDL files are concatenated into a single file to speed up synthesis and simulation. No changes required by the user
|
||||
|
||||
2016.2:
|
||||
* Version 8.3 (Rev. 3)
|
||||
* updated the IP,not to set WRITE_DEPTH parameter to 8192 everytime when the mode is switched to BRAM_Controller
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2016.1:
|
||||
* Version 8.3 (Rev. 2)
|
||||
* Updated the IP to deliver only verilog behavioral model
|
||||
* Updated the IP to support UltraRAM in IP Integrator
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2015.4.2:
|
||||
* Version 8.3 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2015.4.1:
|
||||
* Version 8.3 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2015.4:
|
||||
* Version 8.3 (Rev. 1)
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2015.3:
|
||||
* Version 8.3
|
||||
* IP revision number added to HDL module, library, and include file names, to support designs with both locked and upgraded IP instances
|
||||
* New ports rsta_busy and rstb_busy are added to enable the safety circuitry to minimize the occurrence of BRAM data corruption
|
||||
* Simulation models are delivered in VHDL only
|
||||
|
||||
2015.2.1:
|
||||
* Version 8.2 (Rev. 5)
|
||||
* No changes
|
||||
|
||||
2015.2:
|
||||
* Version 8.2 (Rev. 5)
|
||||
* No changes
|
||||
|
||||
2015.1:
|
||||
* Version 8.2 (Rev. 5)
|
||||
* Delivering non encrypted behavioral models
|
||||
* Supported memory depth is increased up to 1M words
|
||||
* Added the power saving feature (RDADDRCHG) for ultrascale devices
|
||||
* Supported devices and production status are now determined automatically, to simplify support for future devices
|
||||
|
||||
2014.4.1:
|
||||
* Version 8.2 (Rev. 4)
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2014.4:
|
||||
* Version 8.2 (Rev. 3)
|
||||
* Encrypted source files are concatenated together to reduce the number of files and to reduce simulator compile time
|
||||
* Added support for 7-series Automotive (XA) and Defense Grade (XQ) devices
|
||||
* Internal device family change, no functional changes
|
||||
|
||||
2014.3:
|
||||
* Version 8.2 (Rev. 2)
|
||||
* Fixed the Memory Resource Doubling issue in Simple Dual Port RAM when aspect ratio is used
|
||||
* Fixed the GUI crash in Simple Dual Port RAM
|
||||
* Added support of all write modes in Simple Dual Port RAM when ECC is not used
|
||||
* Increased the supported depth to a maximum value of 256k
|
||||
|
||||
2014.2:
|
||||
* Version 8.2 (Rev. 1)
|
||||
* Updated the GUI tool tip for Byte write enable in the page-1 of block memory generator GUI
|
||||
|
||||
2014.1:
|
||||
* Version 8.2
|
||||
* Added support of the cascaded Primitives of widths 1 and 2 for ultra-scale devices
|
||||
* Added support of the ECCPIPE register in the built-in ecc mode for ultra-scale devices
|
||||
* Added support of the dynamic power saving for ultra-scale devices
|
||||
* Improved timing efficiency in the IP Integrator by minimizing the use of output mux for the 7-series devices
|
||||
* Internal device family name change, no functional changes
|
||||
|
||||
2013.4:
|
||||
* Version 8.1
|
||||
* The Primitive output registers are made "ON" by default in the stand alone mode
|
||||
* Added cascaded support for ultrascale devices to construct 64Kx1 primitive by using two 32Kx1 primitives
|
||||
* Added support for ultrascale devices
|
||||
|
||||
2013.3:
|
||||
* Version 8.0 (Rev. 2)
|
||||
* Added parameter "CTRL_ECC_ALGO" for supporting ECC in IP Integrator.
|
||||
* Improved GUI speed and responsivness, no functional changes
|
||||
* Reduced synthesis and simulation warnings
|
||||
* Added support for Cadence IES and Synopsys VCS simulators
|
||||
* Changed the default option of ENABLE PORT TYPE to "USE_ENA_PIN"
|
||||
* Changed BRAM Interface DIN and DOUT to match bus interface directions.
|
||||
|
||||
2013.2:
|
||||
* Version 8.0 (Rev. 1)
|
||||
* No Changes
|
||||
|
||||
2013.1:
|
||||
* Version 8.0
|
||||
* Native Vivado Release
|
||||
* There have been no functional or interface changes to this IP. The version number has changed to support unique versioning in Vivado starting with 2013.1.
|
||||
|
||||
(c) Copyright 2002 - 2019 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.
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,400 @@
|
|||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
101010111111
|
||||
011110001110
|
||||
011101111110
|
||||
100110101110
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
100110101110
|
||||
011101111110
|
||||
011110001110
|
||||
101010111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111011101111
|
||||
001001001101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
001000111101
|
||||
110111011111
|
||||
110111011111
|
||||
001000111101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
001001001101
|
||||
111011101111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
010001011110
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
001000111101
|
||||
001000111101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
010001011110
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
101110111111
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
101110111111
|
||||
111111111111
|
||||
111111111111
|
||||
011001111110
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
011001111110
|
||||
111111111111
|
||||
111111111111
|
||||
001101001101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
001101001101
|
||||
111111111111
|
||||
111111111111
|
||||
011101111110
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
011101111110
|
||||
111111111111
|
||||
111111111111
|
||||
101110111111
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
101110111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
010001011110
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
010001011110
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
110011001111
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
110011001111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
101111001111
|
||||
000100111101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000100101101
|
||||
101010111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
110011011111
|
||||
000100111101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000100101101
|
||||
101110111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
110111011111
|
||||
001101001101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
001101001101
|
||||
110111011111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
010101101110
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
000000011101
|
||||
010101101110
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
100010011110
|
||||
000000101101
|
||||
000000101101
|
||||
100010011110
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
101110111111
|
||||
101110111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
111111111111
|
||||
|
|
@ -0,0 +1,312 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<spirit:vendor>xilinx.com</spirit:vendor>
|
||||
<spirit:library>xci</spirit:library>
|
||||
<spirit:name>unknown</spirit:name>
|
||||
<spirit:version>1.0</spirit:version>
|
||||
<spirit:componentInstances>
|
||||
<spirit:componentInstance>
|
||||
<spirit:instanceName>heart_20_20</spirit:instanceName>
|
||||
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="blk_mem_gen" spirit:version="8.4"/>
|
||||
<spirit:configurableElementValues>
|
||||
<spirit:configurableElementValue spirit:referenceId="ADDRBLOCK_RANGE.S_1.Mem0">4096</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MASTER_TYPE">OTHER</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MEM_ECC">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MEM_SIZE">8192</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MEM_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.READ_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.READ_WRITE_MODE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MASTER_TYPE">OTHER</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MEM_ECC">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MEM_SIZE">8192</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MEM_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.READ_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.READ_WRITE_MODE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RST.ARESETN.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ADDRA_WIDTH">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ADDRB_WIDTH">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ALGORITHM">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ID_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_SLAVE_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_BYTE_SIZE">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COMMON_CLK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_18K_BRAM">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_36K_BRAM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CTRL_ECC_ALGO">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DEFAULT_DATA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DISABLE_WARN_BHV_COLL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DISABLE_WARN_BHV_RANGE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ELABORATION_DIR">./</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_32BIT_ADDRESS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_DEEPSLEEP_PIN">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_ECC_PIPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_RDADDRA_CHG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_RDADDRB_CHG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SAFETY_CKT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SHUTDOWN_PIN">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SLEEP_PIN">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EST_POWER_SUMMARY">Estimated Power for IP : 2.5432 mW</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FAMILY">artix7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ENA">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ENB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_INJECTERR">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEM_OUTPUT_REGS_A">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEM_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MUX_OUTPUT_REGS_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MUX_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_REGCEA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_REGCEB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RSTA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RSTB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SOFTECC_INPUT_REGS_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SOFTECC_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INITA_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INITB_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INIT_FILE">heart_20_20.mem</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INIT_FILE_NAME">heart_20_20.mif</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INTERFACE_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_LOAD_INIT_FILE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MEM_TYPE">3</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MUX_PIPELINE_STAGES">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_DEPTH_A">400</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_DEPTH_B">400</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_LATENCY_A">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_LATENCY_B">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_WIDTH_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_WIDTH_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RSTRAM_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RSTRAM_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RST_PRIORITY_A">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RST_PRIORITY_B">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SIM_COLLISION_CHECK">ALL</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_BRAM_BLOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_BYTE_WEA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_BYTE_WEB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_DEFAULT_DATA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_SOFTECC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_URAM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WEA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WEB_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_DEPTH_A">400</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_DEPTH_B">400</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_MODE_A">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_MODE_B">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_WIDTH_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_WIDTH_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_XDEVICEFAMILY">artix7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXI_ID_Width">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXI_Slave_Type">Memory_Slave</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXI_Type">AXI4_Full</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Additional_Inputs_for_Power_Estimation">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Algorithm">Minimum_Area</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Assume_Synchronous_Clk">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Byte_Size">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CTRL_ECC_ALGO">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Coe_File">../../../pic/heart_20_20.coe</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Collision_Warnings">ALL</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Component_Name">heart_20_20</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Collision_Warnings">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Out_of_Range_Warnings">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ECC">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_DEEPSLEEP_PIN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_ECC_PIPE">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SAFETY_CKT">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SHUTDOWN_PIN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SLEEP_PIN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_32bit_Address">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_A">Use_ENA_Pin</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_B">Always_Enabled</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Error_Injection_Type">Single_Bit_Error_Injection</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Fill_Remaining_Memory_Locations">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Interface_Type">Native</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Load_Init_File">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MEM_FILE">no_mem_loaded</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Memory_Type">Single_Port_ROM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Operating_Mode_A">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Operating_Mode_B">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Reset_Value_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Reset_Value_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.PRIM_type_to_Implement">BRAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Pipeline_Stages">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_A_Clock">100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_A_Enable_Rate">100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_A_Write_Rate">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_B_Clock">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_B_Enable_Rate">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_B_Write_Rate">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Primitive">8kx2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RD_ADDR_CHNG_A">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RD_ADDR_CHNG_B">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.READ_LATENCY_A">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.READ_LATENCY_B">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Width_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Width_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortA_Output_of_Memory_Core">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortA_Output_of_Memory_Primitives">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortB_Output_of_Memory_Core">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortB_Output_of_Memory_Primitives">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Remaining_Memory_Locations">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Memory_Latch_A">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Memory_Latch_B">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Priority_A">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Priority_B">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Type">SYNC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_AXI_ID">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Byte_Write_Enable">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Error_Injection_Pins">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_REGCEA_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_REGCEB_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_RSTA_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_RSTB_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Depth_A">400</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Width_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Width_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ecctype">No_ECC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.register_porta_input_of_softecc">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.register_portb_output_of_softecc">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.softecc">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.use_bram_block">Stand_Alone</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.ARCHITECTURE">artix7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BASE_BOARD_PART"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BOARD_CONNECTIONS"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.DEVICE">xc7a100t</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PACKAGE">csg324</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PREFHDL">VERILOG</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SILICON_REVISION"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SIMULATOR_LANGUAGE">MIXED</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SPEEDGRADE">-1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.STATIC_POWER"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.TEMPERATURE_GRADE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_CUSTOMIZATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_GENERATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPCONTEXT">IP_Flow</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPREVISION">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.MANAGED">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SELECTEDSIMMODEL"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SWVERSION">2019.2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SYNTHESISFLOW">OUT_OF_CONTEXT</spirit:configurableElementValue>
|
||||
</spirit:configurableElementValues>
|
||||
<spirit:vendorExtensions>
|
||||
<xilinx:componentInstanceExtensions>
|
||||
<xilinx:configElementInfos>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ARUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.AWUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_CACHE" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_PROT" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ARUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.AWUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_CACHE" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_PROT" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Coe_File" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Load_Init_File" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Memory_Type" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Port_A_Write_Rate" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Read_Width_A" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Read_Width_B" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Depth_A" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Width_A" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Width_B" xilinx:valueSource="user"/>
|
||||
</xilinx:configElementInfos>
|
||||
</xilinx:componentInstanceExtensions>
|
||||
</spirit:vendorExtensions>
|
||||
</spirit:componentInstance>
|
||||
</spirit:componentInstances>
|
||||
</spirit:design>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,55 @@
|
|||
################################################################################
|
||||
#
|
||||
# (c) Copyright 2002 - 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.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# Core Period Constraint. This constraint can be modified, and is
|
||||
# valid as long as it is met after place and route.
|
||||
create_clock -name "TS_CLKA" -period 20.0 [ get_ports clka ]
|
||||
set_property HD.CLK_SRC BUFGCTRL_X0Y0 [ get_ports clka ]
|
||||
################################################################################
|
||||
|
|
@ -0,0 +1,755 @@
|
|||
// Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
// --------------------------------------------------------------------------------
|
||||
// Tool Version: Vivado v.2019.2 (win64) Build 2708876 Wed Nov 6 21:40:23 MST 2019
|
||||
// Date : Sun Jan 3 16:20:00 2021
|
||||
// Host : cxz666 running 64-bit major release (build 9200)
|
||||
// Command : write_verilog -force -mode funcsim
|
||||
// e:/linux/Compressed/FPGA-TankGame/TankGame.srcs/sources_1/ip/heart_20_20/heart_20_20_sim_netlist.v
|
||||
// Design : heart_20_20
|
||||
// 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 : xc7a100tcsg324-1
|
||||
// --------------------------------------------------------------------------------
|
||||
`timescale 1 ps / 1 ps
|
||||
|
||||
(* CHECK_LICENSE_TYPE = "heart_20_20,blk_mem_gen_v8_4_4,{}" *) (* downgradeipidentifiedwarnings = "yes" *) (* x_core_info = "blk_mem_gen_v8_4_4,Vivado 2019.2" *)
|
||||
(* NotValidForBitStream *)
|
||||
module heart_20_20
|
||||
(clka,
|
||||
ena,
|
||||
addra,
|
||||
douta);
|
||||
(* x_interface_info = "xilinx.com:interface:bram:1.0 BRAM_PORTA CLK" *) (* x_interface_parameter = "XIL_INTERFACENAME BRAM_PORTA, MEM_SIZE 8192, MEM_WIDTH 32, MEM_ECC NONE, MASTER_TYPE OTHER, READ_LATENCY 1" *) input clka;
|
||||
(* x_interface_info = "xilinx.com:interface:bram:1.0 BRAM_PORTA EN" *) input ena;
|
||||
(* x_interface_info = "xilinx.com:interface:bram:1.0 BRAM_PORTA ADDR" *) input [8:0]addra;
|
||||
(* x_interface_info = "xilinx.com:interface:bram:1.0 BRAM_PORTA DOUT" *) output [11:0]douta;
|
||||
|
||||
wire [8:0]addra;
|
||||
wire clka;
|
||||
wire [11:0]douta;
|
||||
wire ena;
|
||||
wire NLW_U0_dbiterr_UNCONNECTED;
|
||||
wire NLW_U0_rsta_busy_UNCONNECTED;
|
||||
wire NLW_U0_rstb_busy_UNCONNECTED;
|
||||
wire NLW_U0_s_axi_arready_UNCONNECTED;
|
||||
wire NLW_U0_s_axi_awready_UNCONNECTED;
|
||||
wire NLW_U0_s_axi_bvalid_UNCONNECTED;
|
||||
wire NLW_U0_s_axi_dbiterr_UNCONNECTED;
|
||||
wire NLW_U0_s_axi_rlast_UNCONNECTED;
|
||||
wire NLW_U0_s_axi_rvalid_UNCONNECTED;
|
||||
wire NLW_U0_s_axi_sbiterr_UNCONNECTED;
|
||||
wire NLW_U0_s_axi_wready_UNCONNECTED;
|
||||
wire NLW_U0_sbiterr_UNCONNECTED;
|
||||
wire [11:0]NLW_U0_doutb_UNCONNECTED;
|
||||
wire [8:0]NLW_U0_rdaddrecc_UNCONNECTED;
|
||||
wire [3:0]NLW_U0_s_axi_bid_UNCONNECTED;
|
||||
wire [1:0]NLW_U0_s_axi_bresp_UNCONNECTED;
|
||||
wire [8:0]NLW_U0_s_axi_rdaddrecc_UNCONNECTED;
|
||||
wire [11:0]NLW_U0_s_axi_rdata_UNCONNECTED;
|
||||
wire [3:0]NLW_U0_s_axi_rid_UNCONNECTED;
|
||||
wire [1:0]NLW_U0_s_axi_rresp_UNCONNECTED;
|
||||
|
||||
(* C_ADDRA_WIDTH = "9" *)
|
||||
(* C_ADDRB_WIDTH = "9" *)
|
||||
(* C_ALGORITHM = "1" *)
|
||||
(* C_AXI_ID_WIDTH = "4" *)
|
||||
(* C_AXI_SLAVE_TYPE = "0" *)
|
||||
(* C_AXI_TYPE = "1" *)
|
||||
(* C_BYTE_SIZE = "9" *)
|
||||
(* C_COMMON_CLK = "0" *)
|
||||
(* C_COUNT_18K_BRAM = "1" *)
|
||||
(* C_COUNT_36K_BRAM = "0" *)
|
||||
(* C_CTRL_ECC_ALGO = "NONE" *)
|
||||
(* C_DEFAULT_DATA = "0" *)
|
||||
(* C_DISABLE_WARN_BHV_COLL = "0" *)
|
||||
(* C_DISABLE_WARN_BHV_RANGE = "0" *)
|
||||
(* C_ELABORATION_DIR = "./" *)
|
||||
(* C_ENABLE_32BIT_ADDRESS = "0" *)
|
||||
(* C_EN_DEEPSLEEP_PIN = "0" *)
|
||||
(* C_EN_ECC_PIPE = "0" *)
|
||||
(* C_EN_RDADDRA_CHG = "0" *)
|
||||
(* C_EN_RDADDRB_CHG = "0" *)
|
||||
(* C_EN_SAFETY_CKT = "0" *)
|
||||
(* C_EN_SHUTDOWN_PIN = "0" *)
|
||||
(* C_EN_SLEEP_PIN = "0" *)
|
||||
(* C_EST_POWER_SUMMARY = "Estimated Power for IP : 2.5432 mW" *)
|
||||
(* C_FAMILY = "artix7" *)
|
||||
(* C_HAS_AXI_ID = "0" *)
|
||||
(* C_HAS_ENA = "1" *)
|
||||
(* C_HAS_ENB = "0" *)
|
||||
(* C_HAS_INJECTERR = "0" *)
|
||||
(* C_HAS_MEM_OUTPUT_REGS_A = "1" *)
|
||||
(* C_HAS_MEM_OUTPUT_REGS_B = "0" *)
|
||||
(* C_HAS_MUX_OUTPUT_REGS_A = "0" *)
|
||||
(* C_HAS_MUX_OUTPUT_REGS_B = "0" *)
|
||||
(* C_HAS_REGCEA = "0" *)
|
||||
(* C_HAS_REGCEB = "0" *)
|
||||
(* C_HAS_RSTA = "0" *)
|
||||
(* C_HAS_RSTB = "0" *)
|
||||
(* C_HAS_SOFTECC_INPUT_REGS_A = "0" *)
|
||||
(* C_HAS_SOFTECC_OUTPUT_REGS_B = "0" *)
|
||||
(* C_INITA_VAL = "0" *)
|
||||
(* C_INITB_VAL = "0" *)
|
||||
(* C_INIT_FILE = "heart_20_20.mem" *)
|
||||
(* C_INIT_FILE_NAME = "heart_20_20.mif" *)
|
||||
(* C_INTERFACE_TYPE = "0" *)
|
||||
(* C_LOAD_INIT_FILE = "1" *)
|
||||
(* C_MEM_TYPE = "3" *)
|
||||
(* C_MUX_PIPELINE_STAGES = "0" *)
|
||||
(* C_PRIM_TYPE = "1" *)
|
||||
(* C_READ_DEPTH_A = "400" *)
|
||||
(* C_READ_DEPTH_B = "400" *)
|
||||
(* C_READ_LATENCY_A = "1" *)
|
||||
(* C_READ_LATENCY_B = "1" *)
|
||||
(* C_READ_WIDTH_A = "12" *)
|
||||
(* C_READ_WIDTH_B = "12" *)
|
||||
(* C_RSTRAM_A = "0" *)
|
||||
(* C_RSTRAM_B = "0" *)
|
||||
(* C_RST_PRIORITY_A = "CE" *)
|
||||
(* C_RST_PRIORITY_B = "CE" *)
|
||||
(* C_SIM_COLLISION_CHECK = "ALL" *)
|
||||
(* C_USE_BRAM_BLOCK = "0" *)
|
||||
(* C_USE_BYTE_WEA = "0" *)
|
||||
(* C_USE_BYTE_WEB = "0" *)
|
||||
(* C_USE_DEFAULT_DATA = "0" *)
|
||||
(* C_USE_ECC = "0" *)
|
||||
(* C_USE_SOFTECC = "0" *)
|
||||
(* C_USE_URAM = "0" *)
|
||||
(* C_WEA_WIDTH = "1" *)
|
||||
(* C_WEB_WIDTH = "1" *)
|
||||
(* C_WRITE_DEPTH_A = "400" *)
|
||||
(* C_WRITE_DEPTH_B = "400" *)
|
||||
(* C_WRITE_MODE_A = "WRITE_FIRST" *)
|
||||
(* C_WRITE_MODE_B = "WRITE_FIRST" *)
|
||||
(* C_WRITE_WIDTH_A = "12" *)
|
||||
(* C_WRITE_WIDTH_B = "12" *)
|
||||
(* C_XDEVICEFAMILY = "artix7" *)
|
||||
(* downgradeipidentifiedwarnings = "yes" *)
|
||||
heart_20_20_blk_mem_gen_v8_4_4 U0
|
||||
(.addra(addra),
|
||||
.addrb({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
|
||||
.clka(clka),
|
||||
.clkb(1'b0),
|
||||
.dbiterr(NLW_U0_dbiterr_UNCONNECTED),
|
||||
.deepsleep(1'b0),
|
||||
.dina({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
|
||||
.dinb({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
|
||||
.douta(douta),
|
||||
.doutb(NLW_U0_doutb_UNCONNECTED[11:0]),
|
||||
.eccpipece(1'b0),
|
||||
.ena(ena),
|
||||
.enb(1'b0),
|
||||
.injectdbiterr(1'b0),
|
||||
.injectsbiterr(1'b0),
|
||||
.rdaddrecc(NLW_U0_rdaddrecc_UNCONNECTED[8:0]),
|
||||
.regcea(1'b0),
|
||||
.regceb(1'b0),
|
||||
.rsta(1'b0),
|
||||
.rsta_busy(NLW_U0_rsta_busy_UNCONNECTED),
|
||||
.rstb(1'b0),
|
||||
.rstb_busy(NLW_U0_rstb_busy_UNCONNECTED),
|
||||
.s_aclk(1'b0),
|
||||
.s_aresetn(1'b0),
|
||||
.s_axi_araddr({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
|
||||
.s_axi_arburst({1'b0,1'b0}),
|
||||
.s_axi_arid({1'b0,1'b0,1'b0,1'b0}),
|
||||
.s_axi_arlen({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
|
||||
.s_axi_arready(NLW_U0_s_axi_arready_UNCONNECTED),
|
||||
.s_axi_arsize({1'b0,1'b0,1'b0}),
|
||||
.s_axi_arvalid(1'b0),
|
||||
.s_axi_awaddr({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
|
||||
.s_axi_awburst({1'b0,1'b0}),
|
||||
.s_axi_awid({1'b0,1'b0,1'b0,1'b0}),
|
||||
.s_axi_awlen({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
|
||||
.s_axi_awready(NLW_U0_s_axi_awready_UNCONNECTED),
|
||||
.s_axi_awsize({1'b0,1'b0,1'b0}),
|
||||
.s_axi_awvalid(1'b0),
|
||||
.s_axi_bid(NLW_U0_s_axi_bid_UNCONNECTED[3:0]),
|
||||
.s_axi_bready(1'b0),
|
||||
.s_axi_bresp(NLW_U0_s_axi_bresp_UNCONNECTED[1:0]),
|
||||
.s_axi_bvalid(NLW_U0_s_axi_bvalid_UNCONNECTED),
|
||||
.s_axi_dbiterr(NLW_U0_s_axi_dbiterr_UNCONNECTED),
|
||||
.s_axi_injectdbiterr(1'b0),
|
||||
.s_axi_injectsbiterr(1'b0),
|
||||
.s_axi_rdaddrecc(NLW_U0_s_axi_rdaddrecc_UNCONNECTED[8:0]),
|
||||
.s_axi_rdata(NLW_U0_s_axi_rdata_UNCONNECTED[11:0]),
|
||||
.s_axi_rid(NLW_U0_s_axi_rid_UNCONNECTED[3:0]),
|
||||
.s_axi_rlast(NLW_U0_s_axi_rlast_UNCONNECTED),
|
||||
.s_axi_rready(1'b0),
|
||||
.s_axi_rresp(NLW_U0_s_axi_rresp_UNCONNECTED[1:0]),
|
||||
.s_axi_rvalid(NLW_U0_s_axi_rvalid_UNCONNECTED),
|
||||
.s_axi_sbiterr(NLW_U0_s_axi_sbiterr_UNCONNECTED),
|
||||
.s_axi_wdata({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
|
||||
.s_axi_wlast(1'b0),
|
||||
.s_axi_wready(NLW_U0_s_axi_wready_UNCONNECTED),
|
||||
.s_axi_wstrb(1'b0),
|
||||
.s_axi_wvalid(1'b0),
|
||||
.sbiterr(NLW_U0_sbiterr_UNCONNECTED),
|
||||
.shutdown(1'b0),
|
||||
.sleep(1'b0),
|
||||
.wea(1'b0),
|
||||
.web(1'b0));
|
||||
endmodule
|
||||
|
||||
(* ORIG_REF_NAME = "blk_mem_gen_generic_cstr" *)
|
||||
module heart_20_20_blk_mem_gen_generic_cstr
|
||||
(douta,
|
||||
clka,
|
||||
ena,
|
||||
addra);
|
||||
output [11:0]douta;
|
||||
input clka;
|
||||
input ena;
|
||||
input [8:0]addra;
|
||||
|
||||
wire [8:0]addra;
|
||||
wire clka;
|
||||
wire [11:0]douta;
|
||||
wire ena;
|
||||
|
||||
heart_20_20_blk_mem_gen_prim_width \ramloop[0].ram.r
|
||||
(.addra(addra),
|
||||
.clka(clka),
|
||||
.douta(douta),
|
||||
.ena(ena));
|
||||
endmodule
|
||||
|
||||
(* ORIG_REF_NAME = "blk_mem_gen_prim_width" *)
|
||||
module heart_20_20_blk_mem_gen_prim_width
|
||||
(douta,
|
||||
clka,
|
||||
ena,
|
||||
addra);
|
||||
output [11:0]douta;
|
||||
input clka;
|
||||
input ena;
|
||||
input [8:0]addra;
|
||||
|
||||
wire [8:0]addra;
|
||||
wire clka;
|
||||
wire [11:0]douta;
|
||||
wire ena;
|
||||
|
||||
heart_20_20_blk_mem_gen_prim_wrapper_init \prim_init.ram
|
||||
(.addra(addra),
|
||||
.clka(clka),
|
||||
.douta(douta),
|
||||
.ena(ena));
|
||||
endmodule
|
||||
|
||||
(* ORIG_REF_NAME = "blk_mem_gen_prim_wrapper_init" *)
|
||||
module heart_20_20_blk_mem_gen_prim_wrapper_init
|
||||
(douta,
|
||||
clka,
|
||||
ena,
|
||||
addra);
|
||||
output [11:0]douta;
|
||||
input clka;
|
||||
input ena;
|
||||
input [8:0]addra;
|
||||
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_0 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_1 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_10 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_11 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_12 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_16 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_17 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_18 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_19 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_2 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_20 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_24 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_25 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_26 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_27 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_28 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_3 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_32 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_33 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_34 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_35 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_4 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_8 ;
|
||||
wire \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_9 ;
|
||||
wire [8:0]addra;
|
||||
wire clka;
|
||||
wire [11:0]douta;
|
||||
wire ena;
|
||||
|
||||
(* box_type = "PRIMITIVE" *)
|
||||
RAMB18E1 #(
|
||||
.DOA_REG(1),
|
||||
.DOB_REG(1),
|
||||
.INITP_00(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INITP_01(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INITP_02(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INITP_03(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INITP_04(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INITP_05(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INITP_06(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INITP_07(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_00(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_01(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_02(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_03(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_04(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_05(256'h0406050603050706030601060502070707070707070707070707070707070707),
|
||||
.INIT_06(256'h0502070703060106030507060406050607070707070707070707070707070707),
|
||||
.INIT_07(256'h0101010507030507070707070707070707070707070707070707070707070707),
|
||||
.INIT_08(256'h0100070506070307060703070100070500000305000003050000030500000305),
|
||||
.INIT_09(256'h0707070707070707070305070101010500000305000003050000030500000305),
|
||||
.INIT_0A(256'h0000030500000305000003050000030500000305020103060707070707070707),
|
||||
.INIT_0B(256'h0000030500000305000003050000030500000305010007050100070500000305),
|
||||
.INIT_0C(256'h0000030500000305050607070707070707070707070707070201030600000305),
|
||||
.INIT_0D(256'h0000030500000305000003050000030500000305000003050000030500000305),
|
||||
.INIT_0E(256'h0707070705060707000003050000030500000305000003050000030500000305),
|
||||
.INIT_0F(256'h0000030500000305000003050000030500000305000003050301070607070707),
|
||||
.INIT_10(256'h0000030500000305000003050000030500000305000003050000030500000305),
|
||||
.INIT_11(256'h0000030500000305010501050707070707070707030107060000030500000305),
|
||||
.INIT_12(256'h0000030500000305000003050000030500000305000003050000030500000305),
|
||||
.INIT_13(256'h0707070701050105000003050000030500000305000003050000030500000305),
|
||||
.INIT_14(256'h0000030500000305000003050000030500000305000003050305070607070707),
|
||||
.INIT_15(256'h0000030500000305000003050000030500000305000003050000030500000305),
|
||||
.INIT_16(256'h0000030500000305050607070707070707070707030507060000030500000305),
|
||||
.INIT_17(256'h0000030500000305000003050000030500000305000003050000030500000305),
|
||||
.INIT_18(256'h0707070705060707000003050000030500000305000003050000030500000305),
|
||||
.INIT_19(256'h0000030500000305000003050000030500000305020103060707070707070707),
|
||||
.INIT_1A(256'h0000030500000305000003050000030500000305000003050000030500000305),
|
||||
.INIT_1B(256'h0000030506030107070707070707070707070707070707070201030600000305),
|
||||
.INIT_1C(256'h0000030500000305000003050000030500000305000003050000030500000305),
|
||||
.INIT_1D(256'h0707070707070707060301070000030500000305000003050000030500000305),
|
||||
.INIT_1E(256'h0000030500000305000003050004070505070107070707070707070707070707),
|
||||
.INIT_1F(256'h0004050500000305000003050000030500000305000003050000030500000305),
|
||||
.INIT_20(256'h0707070707070707070707070707070707070707070707070707070705020707),
|
||||
.INIT_21(256'h0000030500000305000003050000030500000305000003050004070506030307),
|
||||
.INIT_22(256'h0707070707070707070707070707070705060707000405050000030500000305),
|
||||
.INIT_23(256'h0000030501050105060703070707070707070707070707070707070707070707),
|
||||
.INIT_24(256'h0707070706070307010501050000030500000305000003050000030500000305),
|
||||
.INIT_25(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_26(256'h0000030500000305000003050000030502050506070707070707070707070707),
|
||||
.INIT_27(256'h0707070707070707070707070707070707070707070707070707070702050506),
|
||||
.INIT_28(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_29(256'h0707070707070707070707070707070704020306000005050000050504020306),
|
||||
.INIT_2A(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_2B(256'h0707070705060707050607070707070707070707070707070707070707070707),
|
||||
.INIT_2C(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_2D(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_2E(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_2F(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_30(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_31(256'h0707070707070707070707070707070707070707070707070707070707070707),
|
||||
.INIT_32(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_33(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_34(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_35(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_36(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_37(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_38(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_39(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_3A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_3B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_3C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_3D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_3E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_3F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_A(18'h00000),
|
||||
.INIT_B(18'h00000),
|
||||
.INIT_FILE("NONE"),
|
||||
.IS_CLKARDCLK_INVERTED(1'b0),
|
||||
.IS_CLKBWRCLK_INVERTED(1'b0),
|
||||
.IS_ENARDEN_INVERTED(1'b0),
|
||||
.IS_ENBWREN_INVERTED(1'b0),
|
||||
.IS_RSTRAMARSTRAM_INVERTED(1'b0),
|
||||
.IS_RSTRAMB_INVERTED(1'b0),
|
||||
.IS_RSTREGARSTREG_INVERTED(1'b0),
|
||||
.IS_RSTREGB_INVERTED(1'b0),
|
||||
.RAM_MODE("TDP"),
|
||||
.RDADDR_COLLISION_HWCONFIG("PERFORMANCE"),
|
||||
.READ_WIDTH_A(18),
|
||||
.READ_WIDTH_B(18),
|
||||
.RSTREG_PRIORITY_A("REGCE"),
|
||||
.RSTREG_PRIORITY_B("REGCE"),
|
||||
.SIM_COLLISION_CHECK("ALL"),
|
||||
.SIM_DEVICE("7SERIES"),
|
||||
.SRVAL_A(18'h00000),
|
||||
.SRVAL_B(18'h00000),
|
||||
.WRITE_MODE_A("WRITE_FIRST"),
|
||||
.WRITE_MODE_B("WRITE_FIRST"),
|
||||
.WRITE_WIDTH_A(18),
|
||||
.WRITE_WIDTH_B(18))
|
||||
\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram
|
||||
(.ADDRARDADDR({addra,1'b0,1'b0,1'b0,1'b0,1'b0}),
|
||||
.ADDRBWRADDR({addra,1'b1,1'b0,1'b0,1'b0,1'b0}),
|
||||
.CLKARDCLK(clka),
|
||||
.CLKBWRCLK(clka),
|
||||
.DIADI({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
|
||||
.DIBDI({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
|
||||
.DIPADIP({1'b0,1'b0}),
|
||||
.DIPBDIP({1'b0,1'b0}),
|
||||
.DOADO({\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_0 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_1 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_2 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_3 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_4 ,douta[5:3],\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_8 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_9 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_10 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_11 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_12 ,douta[2:0]}),
|
||||
.DOBDO({\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_16 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_17 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_18 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_19 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_20 ,douta[11:9],\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_24 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_25 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_26 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_27 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_28 ,douta[8:6]}),
|
||||
.DOPADOP({\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_32 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_33 }),
|
||||
.DOPBDOP({\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_34 ,\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_35 }),
|
||||
.ENARDEN(ena),
|
||||
.ENBWREN(ena),
|
||||
.REGCEAREGCE(ena),
|
||||
.REGCEB(ena),
|
||||
.RSTRAMARSTRAM(1'b0),
|
||||
.RSTRAMB(1'b0),
|
||||
.RSTREGARSTREG(1'b0),
|
||||
.RSTREGB(1'b0),
|
||||
.WEA({1'b0,1'b0}),
|
||||
.WEBWE({1'b0,1'b0,1'b0,1'b0}));
|
||||
endmodule
|
||||
|
||||
(* ORIG_REF_NAME = "blk_mem_gen_top" *)
|
||||
module heart_20_20_blk_mem_gen_top
|
||||
(douta,
|
||||
clka,
|
||||
ena,
|
||||
addra);
|
||||
output [11:0]douta;
|
||||
input clka;
|
||||
input ena;
|
||||
input [8:0]addra;
|
||||
|
||||
wire [8:0]addra;
|
||||
wire clka;
|
||||
wire [11:0]douta;
|
||||
wire ena;
|
||||
|
||||
heart_20_20_blk_mem_gen_generic_cstr \valid.cstr
|
||||
(.addra(addra),
|
||||
.clka(clka),
|
||||
.douta(douta),
|
||||
.ena(ena));
|
||||
endmodule
|
||||
|
||||
(* C_ADDRA_WIDTH = "9" *) (* C_ADDRB_WIDTH = "9" *) (* C_ALGORITHM = "1" *)
|
||||
(* C_AXI_ID_WIDTH = "4" *) (* C_AXI_SLAVE_TYPE = "0" *) (* C_AXI_TYPE = "1" *)
|
||||
(* C_BYTE_SIZE = "9" *) (* C_COMMON_CLK = "0" *) (* C_COUNT_18K_BRAM = "1" *)
|
||||
(* C_COUNT_36K_BRAM = "0" *) (* C_CTRL_ECC_ALGO = "NONE" *) (* C_DEFAULT_DATA = "0" *)
|
||||
(* C_DISABLE_WARN_BHV_COLL = "0" *) (* C_DISABLE_WARN_BHV_RANGE = "0" *) (* C_ELABORATION_DIR = "./" *)
|
||||
(* C_ENABLE_32BIT_ADDRESS = "0" *) (* C_EN_DEEPSLEEP_PIN = "0" *) (* C_EN_ECC_PIPE = "0" *)
|
||||
(* C_EN_RDADDRA_CHG = "0" *) (* C_EN_RDADDRB_CHG = "0" *) (* C_EN_SAFETY_CKT = "0" *)
|
||||
(* C_EN_SHUTDOWN_PIN = "0" *) (* C_EN_SLEEP_PIN = "0" *) (* C_EST_POWER_SUMMARY = "Estimated Power for IP : 2.5432 mW" *)
|
||||
(* C_FAMILY = "artix7" *) (* C_HAS_AXI_ID = "0" *) (* C_HAS_ENA = "1" *)
|
||||
(* C_HAS_ENB = "0" *) (* C_HAS_INJECTERR = "0" *) (* C_HAS_MEM_OUTPUT_REGS_A = "1" *)
|
||||
(* C_HAS_MEM_OUTPUT_REGS_B = "0" *) (* C_HAS_MUX_OUTPUT_REGS_A = "0" *) (* C_HAS_MUX_OUTPUT_REGS_B = "0" *)
|
||||
(* C_HAS_REGCEA = "0" *) (* C_HAS_REGCEB = "0" *) (* C_HAS_RSTA = "0" *)
|
||||
(* C_HAS_RSTB = "0" *) (* C_HAS_SOFTECC_INPUT_REGS_A = "0" *) (* C_HAS_SOFTECC_OUTPUT_REGS_B = "0" *)
|
||||
(* C_INITA_VAL = "0" *) (* C_INITB_VAL = "0" *) (* C_INIT_FILE = "heart_20_20.mem" *)
|
||||
(* C_INIT_FILE_NAME = "heart_20_20.mif" *) (* C_INTERFACE_TYPE = "0" *) (* C_LOAD_INIT_FILE = "1" *)
|
||||
(* C_MEM_TYPE = "3" *) (* C_MUX_PIPELINE_STAGES = "0" *) (* C_PRIM_TYPE = "1" *)
|
||||
(* C_READ_DEPTH_A = "400" *) (* C_READ_DEPTH_B = "400" *) (* C_READ_LATENCY_A = "1" *)
|
||||
(* C_READ_LATENCY_B = "1" *) (* C_READ_WIDTH_A = "12" *) (* C_READ_WIDTH_B = "12" *)
|
||||
(* C_RSTRAM_A = "0" *) (* C_RSTRAM_B = "0" *) (* C_RST_PRIORITY_A = "CE" *)
|
||||
(* C_RST_PRIORITY_B = "CE" *) (* C_SIM_COLLISION_CHECK = "ALL" *) (* C_USE_BRAM_BLOCK = "0" *)
|
||||
(* C_USE_BYTE_WEA = "0" *) (* C_USE_BYTE_WEB = "0" *) (* C_USE_DEFAULT_DATA = "0" *)
|
||||
(* C_USE_ECC = "0" *) (* C_USE_SOFTECC = "0" *) (* C_USE_URAM = "0" *)
|
||||
(* C_WEA_WIDTH = "1" *) (* C_WEB_WIDTH = "1" *) (* C_WRITE_DEPTH_A = "400" *)
|
||||
(* C_WRITE_DEPTH_B = "400" *) (* C_WRITE_MODE_A = "WRITE_FIRST" *) (* C_WRITE_MODE_B = "WRITE_FIRST" *)
|
||||
(* C_WRITE_WIDTH_A = "12" *) (* C_WRITE_WIDTH_B = "12" *) (* C_XDEVICEFAMILY = "artix7" *)
|
||||
(* ORIG_REF_NAME = "blk_mem_gen_v8_4_4" *) (* downgradeipidentifiedwarnings = "yes" *)
|
||||
module heart_20_20_blk_mem_gen_v8_4_4
|
||||
(clka,
|
||||
rsta,
|
||||
ena,
|
||||
regcea,
|
||||
wea,
|
||||
addra,
|
||||
dina,
|
||||
douta,
|
||||
clkb,
|
||||
rstb,
|
||||
enb,
|
||||
regceb,
|
||||
web,
|
||||
addrb,
|
||||
dinb,
|
||||
doutb,
|
||||
injectsbiterr,
|
||||
injectdbiterr,
|
||||
eccpipece,
|
||||
sbiterr,
|
||||
dbiterr,
|
||||
rdaddrecc,
|
||||
sleep,
|
||||
deepsleep,
|
||||
shutdown,
|
||||
rsta_busy,
|
||||
rstb_busy,
|
||||
s_aclk,
|
||||
s_aresetn,
|
||||
s_axi_awid,
|
||||
s_axi_awaddr,
|
||||
s_axi_awlen,
|
||||
s_axi_awsize,
|
||||
s_axi_awburst,
|
||||
s_axi_awvalid,
|
||||
s_axi_awready,
|
||||
s_axi_wdata,
|
||||
s_axi_wstrb,
|
||||
s_axi_wlast,
|
||||
s_axi_wvalid,
|
||||
s_axi_wready,
|
||||
s_axi_bid,
|
||||
s_axi_bresp,
|
||||
s_axi_bvalid,
|
||||
s_axi_bready,
|
||||
s_axi_arid,
|
||||
s_axi_araddr,
|
||||
s_axi_arlen,
|
||||
s_axi_arsize,
|
||||
s_axi_arburst,
|
||||
s_axi_arvalid,
|
||||
s_axi_arready,
|
||||
s_axi_rid,
|
||||
s_axi_rdata,
|
||||
s_axi_rresp,
|
||||
s_axi_rlast,
|
||||
s_axi_rvalid,
|
||||
s_axi_rready,
|
||||
s_axi_injectsbiterr,
|
||||
s_axi_injectdbiterr,
|
||||
s_axi_sbiterr,
|
||||
s_axi_dbiterr,
|
||||
s_axi_rdaddrecc);
|
||||
input clka;
|
||||
input rsta;
|
||||
input ena;
|
||||
input regcea;
|
||||
input [0:0]wea;
|
||||
input [8:0]addra;
|
||||
input [11:0]dina;
|
||||
output [11:0]douta;
|
||||
input clkb;
|
||||
input rstb;
|
||||
input enb;
|
||||
input regceb;
|
||||
input [0:0]web;
|
||||
input [8:0]addrb;
|
||||
input [11:0]dinb;
|
||||
output [11:0]doutb;
|
||||
input injectsbiterr;
|
||||
input injectdbiterr;
|
||||
input eccpipece;
|
||||
output sbiterr;
|
||||
output dbiterr;
|
||||
output [8:0]rdaddrecc;
|
||||
input sleep;
|
||||
input deepsleep;
|
||||
input shutdown;
|
||||
output rsta_busy;
|
||||
output rstb_busy;
|
||||
input s_aclk;
|
||||
input s_aresetn;
|
||||
input [3:0]s_axi_awid;
|
||||
input [31:0]s_axi_awaddr;
|
||||
input [7:0]s_axi_awlen;
|
||||
input [2:0]s_axi_awsize;
|
||||
input [1:0]s_axi_awburst;
|
||||
input s_axi_awvalid;
|
||||
output s_axi_awready;
|
||||
input [11:0]s_axi_wdata;
|
||||
input [0:0]s_axi_wstrb;
|
||||
input s_axi_wlast;
|
||||
input s_axi_wvalid;
|
||||
output s_axi_wready;
|
||||
output [3:0]s_axi_bid;
|
||||
output [1:0]s_axi_bresp;
|
||||
output s_axi_bvalid;
|
||||
input s_axi_bready;
|
||||
input [3:0]s_axi_arid;
|
||||
input [31:0]s_axi_araddr;
|
||||
input [7:0]s_axi_arlen;
|
||||
input [2:0]s_axi_arsize;
|
||||
input [1:0]s_axi_arburst;
|
||||
input s_axi_arvalid;
|
||||
output s_axi_arready;
|
||||
output [3:0]s_axi_rid;
|
||||
output [11:0]s_axi_rdata;
|
||||
output [1:0]s_axi_rresp;
|
||||
output s_axi_rlast;
|
||||
output s_axi_rvalid;
|
||||
input s_axi_rready;
|
||||
input s_axi_injectsbiterr;
|
||||
input s_axi_injectdbiterr;
|
||||
output s_axi_sbiterr;
|
||||
output s_axi_dbiterr;
|
||||
output [8:0]s_axi_rdaddrecc;
|
||||
|
||||
wire \<const0> ;
|
||||
wire [8:0]addra;
|
||||
wire clka;
|
||||
wire [11:0]douta;
|
||||
wire ena;
|
||||
|
||||
assign dbiterr = \<const0> ;
|
||||
assign doutb[11] = \<const0> ;
|
||||
assign doutb[10] = \<const0> ;
|
||||
assign doutb[9] = \<const0> ;
|
||||
assign doutb[8] = \<const0> ;
|
||||
assign doutb[7] = \<const0> ;
|
||||
assign doutb[6] = \<const0> ;
|
||||
assign doutb[5] = \<const0> ;
|
||||
assign doutb[4] = \<const0> ;
|
||||
assign doutb[3] = \<const0> ;
|
||||
assign doutb[2] = \<const0> ;
|
||||
assign doutb[1] = \<const0> ;
|
||||
assign doutb[0] = \<const0> ;
|
||||
assign rdaddrecc[8] = \<const0> ;
|
||||
assign rdaddrecc[7] = \<const0> ;
|
||||
assign rdaddrecc[6] = \<const0> ;
|
||||
assign rdaddrecc[5] = \<const0> ;
|
||||
assign rdaddrecc[4] = \<const0> ;
|
||||
assign rdaddrecc[3] = \<const0> ;
|
||||
assign rdaddrecc[2] = \<const0> ;
|
||||
assign rdaddrecc[1] = \<const0> ;
|
||||
assign rdaddrecc[0] = \<const0> ;
|
||||
assign rsta_busy = \<const0> ;
|
||||
assign rstb_busy = \<const0> ;
|
||||
assign s_axi_arready = \<const0> ;
|
||||
assign s_axi_awready = \<const0> ;
|
||||
assign s_axi_bid[3] = \<const0> ;
|
||||
assign s_axi_bid[2] = \<const0> ;
|
||||
assign s_axi_bid[1] = \<const0> ;
|
||||
assign s_axi_bid[0] = \<const0> ;
|
||||
assign s_axi_bresp[1] = \<const0> ;
|
||||
assign s_axi_bresp[0] = \<const0> ;
|
||||
assign s_axi_bvalid = \<const0> ;
|
||||
assign s_axi_dbiterr = \<const0> ;
|
||||
assign s_axi_rdaddrecc[8] = \<const0> ;
|
||||
assign s_axi_rdaddrecc[7] = \<const0> ;
|
||||
assign s_axi_rdaddrecc[6] = \<const0> ;
|
||||
assign s_axi_rdaddrecc[5] = \<const0> ;
|
||||
assign s_axi_rdaddrecc[4] = \<const0> ;
|
||||
assign s_axi_rdaddrecc[3] = \<const0> ;
|
||||
assign s_axi_rdaddrecc[2] = \<const0> ;
|
||||
assign s_axi_rdaddrecc[1] = \<const0> ;
|
||||
assign s_axi_rdaddrecc[0] = \<const0> ;
|
||||
assign s_axi_rdata[11] = \<const0> ;
|
||||
assign s_axi_rdata[10] = \<const0> ;
|
||||
assign s_axi_rdata[9] = \<const0> ;
|
||||
assign s_axi_rdata[8] = \<const0> ;
|
||||
assign s_axi_rdata[7] = \<const0> ;
|
||||
assign s_axi_rdata[6] = \<const0> ;
|
||||
assign s_axi_rdata[5] = \<const0> ;
|
||||
assign s_axi_rdata[4] = \<const0> ;
|
||||
assign s_axi_rdata[3] = \<const0> ;
|
||||
assign s_axi_rdata[2] = \<const0> ;
|
||||
assign s_axi_rdata[1] = \<const0> ;
|
||||
assign s_axi_rdata[0] = \<const0> ;
|
||||
assign s_axi_rid[3] = \<const0> ;
|
||||
assign s_axi_rid[2] = \<const0> ;
|
||||
assign s_axi_rid[1] = \<const0> ;
|
||||
assign s_axi_rid[0] = \<const0> ;
|
||||
assign s_axi_rlast = \<const0> ;
|
||||
assign s_axi_rresp[1] = \<const0> ;
|
||||
assign s_axi_rresp[0] = \<const0> ;
|
||||
assign s_axi_rvalid = \<const0> ;
|
||||
assign s_axi_sbiterr = \<const0> ;
|
||||
assign s_axi_wready = \<const0> ;
|
||||
assign sbiterr = \<const0> ;
|
||||
GND GND
|
||||
(.G(\<const0> ));
|
||||
heart_20_20_blk_mem_gen_v8_4_4_synth inst_blk_mem_gen
|
||||
(.addra(addra),
|
||||
.clka(clka),
|
||||
.douta(douta),
|
||||
.ena(ena));
|
||||
endmodule
|
||||
|
||||
(* ORIG_REF_NAME = "blk_mem_gen_v8_4_4_synth" *)
|
||||
module heart_20_20_blk_mem_gen_v8_4_4_synth
|
||||
(douta,
|
||||
clka,
|
||||
ena,
|
||||
addra);
|
||||
output [11:0]douta;
|
||||
input clka;
|
||||
input ena;
|
||||
input [8:0]addra;
|
||||
|
||||
wire [8:0]addra;
|
||||
wire clka;
|
||||
wire [11:0]douta;
|
||||
wire ena;
|
||||
|
||||
heart_20_20_blk_mem_gen_top \gnbram.gnativebmg.native_blk_mem_gen
|
||||
(.addra(addra),
|
||||
.clka(clka),
|
||||
.douta(douta),
|
||||
.ena(ena));
|
||||
endmodule
|
||||
`ifndef GLBL
|
||||
`define GLBL
|
||||
`timescale 1 ps / 1 ps
|
||||
|
||||
module glbl ();
|
||||
|
||||
parameter ROC_WIDTH = 100000;
|
||||
parameter TOC_WIDTH = 0;
|
||||
|
||||
//-------- STARTUP Globals --------------
|
||||
wire GSR;
|
||||
wire GTS;
|
||||
wire GWE;
|
||||
wire PRLD;
|
||||
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;
|
||||
|
||||
//-------- 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;
|
||||
|
||||
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
|
||||
|
||||
endmodule
|
||||
`endif
|
||||
|
|
@ -0,0 +1,883 @@
|
|||
-- Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- Tool Version: Vivado v.2019.2 (win64) Build 2708876 Wed Nov 6 21:40:23 MST 2019
|
||||
-- Date : Sun Jan 3 16:20:00 2021
|
||||
-- Host : cxz666 running 64-bit major release (build 9200)
|
||||
-- Command : write_vhdl -force -mode funcsim
|
||||
-- e:/linux/Compressed/FPGA-TankGame/TankGame.srcs/sources_1/ip/heart_20_20/heart_20_20_sim_netlist.vhdl
|
||||
-- Design : heart_20_20
|
||||
-- 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 : xc7a100tcsg324-1
|
||||
-- --------------------------------------------------------------------------------
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity heart_20_20_blk_mem_gen_prim_wrapper_init is
|
||||
port (
|
||||
douta : out STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
clka : in STD_LOGIC;
|
||||
ena : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 8 downto 0 )
|
||||
);
|
||||
attribute ORIG_REF_NAME : string;
|
||||
attribute ORIG_REF_NAME of heart_20_20_blk_mem_gen_prim_wrapper_init : entity is "blk_mem_gen_prim_wrapper_init";
|
||||
end heart_20_20_blk_mem_gen_prim_wrapper_init;
|
||||
|
||||
architecture STRUCTURE of heart_20_20_blk_mem_gen_prim_wrapper_init is
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_0\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_1\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_10\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_11\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_12\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_16\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_17\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_18\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_19\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_2\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_20\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_24\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_25\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_26\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_27\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_28\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_3\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_32\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_33\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_34\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_35\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_4\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_8\ : STD_LOGIC;
|
||||
signal \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_9\ : STD_LOGIC;
|
||||
attribute box_type : string;
|
||||
attribute box_type of \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram\ : label is "PRIMITIVE";
|
||||
begin
|
||||
\DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram\: unisim.vcomponents.RAMB18E1
|
||||
generic map(
|
||||
DOA_REG => 1,
|
||||
DOB_REG => 1,
|
||||
INITP_00 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INITP_01 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INITP_02 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INITP_03 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INITP_04 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INITP_05 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INITP_06 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INITP_07 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_00 => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_01 => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_02 => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_03 => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_04 => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_05 => X"0406050603050706030601060502070707070707070707070707070707070707",
|
||||
INIT_06 => X"0502070703060106030507060406050607070707070707070707070707070707",
|
||||
INIT_07 => X"0101010507030507070707070707070707070707070707070707070707070707",
|
||||
INIT_08 => X"0100070506070307060703070100070500000305000003050000030500000305",
|
||||
INIT_09 => X"0707070707070707070305070101010500000305000003050000030500000305",
|
||||
INIT_0A => X"0000030500000305000003050000030500000305020103060707070707070707",
|
||||
INIT_0B => X"0000030500000305000003050000030500000305010007050100070500000305",
|
||||
INIT_0C => X"0000030500000305050607070707070707070707070707070201030600000305",
|
||||
INIT_0D => X"0000030500000305000003050000030500000305000003050000030500000305",
|
||||
INIT_0E => X"0707070705060707000003050000030500000305000003050000030500000305",
|
||||
INIT_0F => X"0000030500000305000003050000030500000305000003050301070607070707",
|
||||
INIT_10 => X"0000030500000305000003050000030500000305000003050000030500000305",
|
||||
INIT_11 => X"0000030500000305010501050707070707070707030107060000030500000305",
|
||||
INIT_12 => X"0000030500000305000003050000030500000305000003050000030500000305",
|
||||
INIT_13 => X"0707070701050105000003050000030500000305000003050000030500000305",
|
||||
INIT_14 => X"0000030500000305000003050000030500000305000003050305070607070707",
|
||||
INIT_15 => X"0000030500000305000003050000030500000305000003050000030500000305",
|
||||
INIT_16 => X"0000030500000305050607070707070707070707030507060000030500000305",
|
||||
INIT_17 => X"0000030500000305000003050000030500000305000003050000030500000305",
|
||||
INIT_18 => X"0707070705060707000003050000030500000305000003050000030500000305",
|
||||
INIT_19 => X"0000030500000305000003050000030500000305020103060707070707070707",
|
||||
INIT_1A => X"0000030500000305000003050000030500000305000003050000030500000305",
|
||||
INIT_1B => X"0000030506030107070707070707070707070707070707070201030600000305",
|
||||
INIT_1C => X"0000030500000305000003050000030500000305000003050000030500000305",
|
||||
INIT_1D => X"0707070707070707060301070000030500000305000003050000030500000305",
|
||||
INIT_1E => X"0000030500000305000003050004070505070107070707070707070707070707",
|
||||
INIT_1F => X"0004050500000305000003050000030500000305000003050000030500000305",
|
||||
INIT_20 => X"0707070707070707070707070707070707070707070707070707070705020707",
|
||||
INIT_21 => X"0000030500000305000003050000030500000305000003050004070506030307",
|
||||
INIT_22 => X"0707070707070707070707070707070705060707000405050000030500000305",
|
||||
INIT_23 => X"0000030501050105060703070707070707070707070707070707070707070707",
|
||||
INIT_24 => X"0707070706070307010501050000030500000305000003050000030500000305",
|
||||
INIT_25 => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_26 => X"0000030500000305000003050000030502050506070707070707070707070707",
|
||||
INIT_27 => X"0707070707070707070707070707070707070707070707070707070702050506",
|
||||
INIT_28 => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_29 => X"0707070707070707070707070707070704020306000005050000050504020306",
|
||||
INIT_2A => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_2B => X"0707070705060707050607070707070707070707070707070707070707070707",
|
||||
INIT_2C => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_2D => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_2E => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_2F => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_30 => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_31 => X"0707070707070707070707070707070707070707070707070707070707070707",
|
||||
INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_A => X"00000",
|
||||
INIT_B => X"00000",
|
||||
INIT_FILE => "NONE",
|
||||
IS_CLKARDCLK_INVERTED => '0',
|
||||
IS_CLKBWRCLK_INVERTED => '0',
|
||||
IS_ENARDEN_INVERTED => '0',
|
||||
IS_ENBWREN_INVERTED => '0',
|
||||
IS_RSTRAMARSTRAM_INVERTED => '0',
|
||||
IS_RSTRAMB_INVERTED => '0',
|
||||
IS_RSTREGARSTREG_INVERTED => '0',
|
||||
IS_RSTREGB_INVERTED => '0',
|
||||
RAM_MODE => "TDP",
|
||||
RDADDR_COLLISION_HWCONFIG => "PERFORMANCE",
|
||||
READ_WIDTH_A => 18,
|
||||
READ_WIDTH_B => 18,
|
||||
RSTREG_PRIORITY_A => "REGCE",
|
||||
RSTREG_PRIORITY_B => "REGCE",
|
||||
SIM_COLLISION_CHECK => "ALL",
|
||||
SIM_DEVICE => "7SERIES",
|
||||
SRVAL_A => X"00000",
|
||||
SRVAL_B => X"00000",
|
||||
WRITE_MODE_A => "WRITE_FIRST",
|
||||
WRITE_MODE_B => "WRITE_FIRST",
|
||||
WRITE_WIDTH_A => 18,
|
||||
WRITE_WIDTH_B => 18
|
||||
)
|
||||
port map (
|
||||
ADDRARDADDR(13 downto 5) => addra(8 downto 0),
|
||||
ADDRARDADDR(4 downto 0) => B"00000",
|
||||
ADDRBWRADDR(13 downto 5) => addra(8 downto 0),
|
||||
ADDRBWRADDR(4 downto 0) => B"10000",
|
||||
CLKARDCLK => clka,
|
||||
CLKBWRCLK => clka,
|
||||
DIADI(15 downto 0) => B"0000000000000000",
|
||||
DIBDI(15 downto 0) => B"0000000000000000",
|
||||
DIPADIP(1 downto 0) => B"00",
|
||||
DIPBDIP(1 downto 0) => B"00",
|
||||
DOADO(15) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_0\,
|
||||
DOADO(14) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_1\,
|
||||
DOADO(13) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_2\,
|
||||
DOADO(12) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_3\,
|
||||
DOADO(11) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_4\,
|
||||
DOADO(10 downto 8) => douta(5 downto 3),
|
||||
DOADO(7) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_8\,
|
||||
DOADO(6) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_9\,
|
||||
DOADO(5) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_10\,
|
||||
DOADO(4) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_11\,
|
||||
DOADO(3) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_12\,
|
||||
DOADO(2 downto 0) => douta(2 downto 0),
|
||||
DOBDO(15) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_16\,
|
||||
DOBDO(14) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_17\,
|
||||
DOBDO(13) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_18\,
|
||||
DOBDO(12) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_19\,
|
||||
DOBDO(11) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_20\,
|
||||
DOBDO(10 downto 8) => douta(11 downto 9),
|
||||
DOBDO(7) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_24\,
|
||||
DOBDO(6) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_25\,
|
||||
DOBDO(5) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_26\,
|
||||
DOBDO(4) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_27\,
|
||||
DOBDO(3) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_28\,
|
||||
DOBDO(2 downto 0) => douta(8 downto 6),
|
||||
DOPADOP(1) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_32\,
|
||||
DOPADOP(0) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_33\,
|
||||
DOPBDOP(1) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_34\,
|
||||
DOPBDOP(0) => \DEVICE_7SERIES.NO_BMM_INFO.SP.WIDE_PRIM18.ram_n_35\,
|
||||
ENARDEN => ena,
|
||||
ENBWREN => ena,
|
||||
REGCEAREGCE => ena,
|
||||
REGCEB => ena,
|
||||
RSTRAMARSTRAM => '0',
|
||||
RSTRAMB => '0',
|
||||
RSTREGARSTREG => '0',
|
||||
RSTREGB => '0',
|
||||
WEA(1 downto 0) => B"00",
|
||||
WEBWE(3 downto 0) => B"0000"
|
||||
);
|
||||
end STRUCTURE;
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity heart_20_20_blk_mem_gen_prim_width is
|
||||
port (
|
||||
douta : out STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
clka : in STD_LOGIC;
|
||||
ena : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 8 downto 0 )
|
||||
);
|
||||
attribute ORIG_REF_NAME : string;
|
||||
attribute ORIG_REF_NAME of heart_20_20_blk_mem_gen_prim_width : entity is "blk_mem_gen_prim_width";
|
||||
end heart_20_20_blk_mem_gen_prim_width;
|
||||
|
||||
architecture STRUCTURE of heart_20_20_blk_mem_gen_prim_width is
|
||||
begin
|
||||
\prim_init.ram\: entity work.heart_20_20_blk_mem_gen_prim_wrapper_init
|
||||
port map (
|
||||
addra(8 downto 0) => addra(8 downto 0),
|
||||
clka => clka,
|
||||
douta(11 downto 0) => douta(11 downto 0),
|
||||
ena => ena
|
||||
);
|
||||
end STRUCTURE;
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity heart_20_20_blk_mem_gen_generic_cstr is
|
||||
port (
|
||||
douta : out STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
clka : in STD_LOGIC;
|
||||
ena : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 8 downto 0 )
|
||||
);
|
||||
attribute ORIG_REF_NAME : string;
|
||||
attribute ORIG_REF_NAME of heart_20_20_blk_mem_gen_generic_cstr : entity is "blk_mem_gen_generic_cstr";
|
||||
end heart_20_20_blk_mem_gen_generic_cstr;
|
||||
|
||||
architecture STRUCTURE of heart_20_20_blk_mem_gen_generic_cstr is
|
||||
begin
|
||||
\ramloop[0].ram.r\: entity work.heart_20_20_blk_mem_gen_prim_width
|
||||
port map (
|
||||
addra(8 downto 0) => addra(8 downto 0),
|
||||
clka => clka,
|
||||
douta(11 downto 0) => douta(11 downto 0),
|
||||
ena => ena
|
||||
);
|
||||
end STRUCTURE;
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity heart_20_20_blk_mem_gen_top is
|
||||
port (
|
||||
douta : out STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
clka : in STD_LOGIC;
|
||||
ena : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 8 downto 0 )
|
||||
);
|
||||
attribute ORIG_REF_NAME : string;
|
||||
attribute ORIG_REF_NAME of heart_20_20_blk_mem_gen_top : entity is "blk_mem_gen_top";
|
||||
end heart_20_20_blk_mem_gen_top;
|
||||
|
||||
architecture STRUCTURE of heart_20_20_blk_mem_gen_top is
|
||||
begin
|
||||
\valid.cstr\: entity work.heart_20_20_blk_mem_gen_generic_cstr
|
||||
port map (
|
||||
addra(8 downto 0) => addra(8 downto 0),
|
||||
clka => clka,
|
||||
douta(11 downto 0) => douta(11 downto 0),
|
||||
ena => ena
|
||||
);
|
||||
end STRUCTURE;
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity heart_20_20_blk_mem_gen_v8_4_4_synth is
|
||||
port (
|
||||
douta : out STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
clka : in STD_LOGIC;
|
||||
ena : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 8 downto 0 )
|
||||
);
|
||||
attribute ORIG_REF_NAME : string;
|
||||
attribute ORIG_REF_NAME of heart_20_20_blk_mem_gen_v8_4_4_synth : entity is "blk_mem_gen_v8_4_4_synth";
|
||||
end heart_20_20_blk_mem_gen_v8_4_4_synth;
|
||||
|
||||
architecture STRUCTURE of heart_20_20_blk_mem_gen_v8_4_4_synth is
|
||||
begin
|
||||
\gnbram.gnativebmg.native_blk_mem_gen\: entity work.heart_20_20_blk_mem_gen_top
|
||||
port map (
|
||||
addra(8 downto 0) => addra(8 downto 0),
|
||||
clka => clka,
|
||||
douta(11 downto 0) => douta(11 downto 0),
|
||||
ena => ena
|
||||
);
|
||||
end STRUCTURE;
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity heart_20_20_blk_mem_gen_v8_4_4 is
|
||||
port (
|
||||
clka : in STD_LOGIC;
|
||||
rsta : in STD_LOGIC;
|
||||
ena : in STD_LOGIC;
|
||||
regcea : in STD_LOGIC;
|
||||
wea : in STD_LOGIC_VECTOR ( 0 to 0 );
|
||||
addra : in STD_LOGIC_VECTOR ( 8 downto 0 );
|
||||
dina : in STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
douta : out STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
clkb : in STD_LOGIC;
|
||||
rstb : in STD_LOGIC;
|
||||
enb : in STD_LOGIC;
|
||||
regceb : in STD_LOGIC;
|
||||
web : in STD_LOGIC_VECTOR ( 0 to 0 );
|
||||
addrb : in STD_LOGIC_VECTOR ( 8 downto 0 );
|
||||
dinb : in STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
doutb : out STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
injectsbiterr : in STD_LOGIC;
|
||||
injectdbiterr : in STD_LOGIC;
|
||||
eccpipece : in STD_LOGIC;
|
||||
sbiterr : out STD_LOGIC;
|
||||
dbiterr : out STD_LOGIC;
|
||||
rdaddrecc : out STD_LOGIC_VECTOR ( 8 downto 0 );
|
||||
sleep : in STD_LOGIC;
|
||||
deepsleep : in STD_LOGIC;
|
||||
shutdown : in STD_LOGIC;
|
||||
rsta_busy : out STD_LOGIC;
|
||||
rstb_busy : out STD_LOGIC;
|
||||
s_aclk : in STD_LOGIC;
|
||||
s_aresetn : in STD_LOGIC;
|
||||
s_axi_awid : in STD_LOGIC_VECTOR ( 3 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_awvalid : in STD_LOGIC;
|
||||
s_axi_awready : out STD_LOGIC;
|
||||
s_axi_wdata : in STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
s_axi_wstrb : in STD_LOGIC_VECTOR ( 0 to 0 );
|
||||
s_axi_wlast : in STD_LOGIC;
|
||||
s_axi_wvalid : in STD_LOGIC;
|
||||
s_axi_wready : out STD_LOGIC;
|
||||
s_axi_bid : out STD_LOGIC_VECTOR ( 3 downto 0 );
|
||||
s_axi_bresp : out STD_LOGIC_VECTOR ( 1 downto 0 );
|
||||
s_axi_bvalid : out STD_LOGIC;
|
||||
s_axi_bready : in STD_LOGIC;
|
||||
s_axi_arid : in STD_LOGIC_VECTOR ( 3 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_arvalid : in STD_LOGIC;
|
||||
s_axi_arready : out STD_LOGIC;
|
||||
s_axi_rid : out STD_LOGIC_VECTOR ( 3 downto 0 );
|
||||
s_axi_rdata : out STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
s_axi_rresp : out STD_LOGIC_VECTOR ( 1 downto 0 );
|
||||
s_axi_rlast : out STD_LOGIC;
|
||||
s_axi_rvalid : out STD_LOGIC;
|
||||
s_axi_rready : in STD_LOGIC;
|
||||
s_axi_injectsbiterr : in STD_LOGIC;
|
||||
s_axi_injectdbiterr : in STD_LOGIC;
|
||||
s_axi_sbiterr : out STD_LOGIC;
|
||||
s_axi_dbiterr : out STD_LOGIC;
|
||||
s_axi_rdaddrecc : out STD_LOGIC_VECTOR ( 8 downto 0 )
|
||||
);
|
||||
attribute C_ADDRA_WIDTH : integer;
|
||||
attribute C_ADDRA_WIDTH of heart_20_20_blk_mem_gen_v8_4_4 : entity is 9;
|
||||
attribute C_ADDRB_WIDTH : integer;
|
||||
attribute C_ADDRB_WIDTH of heart_20_20_blk_mem_gen_v8_4_4 : entity is 9;
|
||||
attribute C_ALGORITHM : integer;
|
||||
attribute C_ALGORITHM of heart_20_20_blk_mem_gen_v8_4_4 : entity is 1;
|
||||
attribute C_AXI_ID_WIDTH : integer;
|
||||
attribute C_AXI_ID_WIDTH of heart_20_20_blk_mem_gen_v8_4_4 : entity is 4;
|
||||
attribute C_AXI_SLAVE_TYPE : integer;
|
||||
attribute C_AXI_SLAVE_TYPE of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_AXI_TYPE : integer;
|
||||
attribute C_AXI_TYPE of heart_20_20_blk_mem_gen_v8_4_4 : entity is 1;
|
||||
attribute C_BYTE_SIZE : integer;
|
||||
attribute C_BYTE_SIZE of heart_20_20_blk_mem_gen_v8_4_4 : entity is 9;
|
||||
attribute C_COMMON_CLK : integer;
|
||||
attribute C_COMMON_CLK of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_COUNT_18K_BRAM : string;
|
||||
attribute C_COUNT_18K_BRAM of heart_20_20_blk_mem_gen_v8_4_4 : entity is "1";
|
||||
attribute C_COUNT_36K_BRAM : string;
|
||||
attribute C_COUNT_36K_BRAM of heart_20_20_blk_mem_gen_v8_4_4 : entity is "0";
|
||||
attribute C_CTRL_ECC_ALGO : string;
|
||||
attribute C_CTRL_ECC_ALGO of heart_20_20_blk_mem_gen_v8_4_4 : entity is "NONE";
|
||||
attribute C_DEFAULT_DATA : string;
|
||||
attribute C_DEFAULT_DATA of heart_20_20_blk_mem_gen_v8_4_4 : entity is "0";
|
||||
attribute C_DISABLE_WARN_BHV_COLL : integer;
|
||||
attribute C_DISABLE_WARN_BHV_COLL of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_DISABLE_WARN_BHV_RANGE : integer;
|
||||
attribute C_DISABLE_WARN_BHV_RANGE of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_ELABORATION_DIR : string;
|
||||
attribute C_ELABORATION_DIR of heart_20_20_blk_mem_gen_v8_4_4 : entity is "./";
|
||||
attribute C_ENABLE_32BIT_ADDRESS : integer;
|
||||
attribute C_ENABLE_32BIT_ADDRESS of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_EN_DEEPSLEEP_PIN : integer;
|
||||
attribute C_EN_DEEPSLEEP_PIN of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_EN_ECC_PIPE : integer;
|
||||
attribute C_EN_ECC_PIPE of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_EN_RDADDRA_CHG : integer;
|
||||
attribute C_EN_RDADDRA_CHG of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_EN_RDADDRB_CHG : integer;
|
||||
attribute C_EN_RDADDRB_CHG of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_EN_SAFETY_CKT : integer;
|
||||
attribute C_EN_SAFETY_CKT of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_EN_SHUTDOWN_PIN : integer;
|
||||
attribute C_EN_SHUTDOWN_PIN of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_EN_SLEEP_PIN : integer;
|
||||
attribute C_EN_SLEEP_PIN of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_EST_POWER_SUMMARY : string;
|
||||
attribute C_EST_POWER_SUMMARY of heart_20_20_blk_mem_gen_v8_4_4 : entity is "Estimated Power for IP : 2.5432 mW";
|
||||
attribute C_FAMILY : string;
|
||||
attribute C_FAMILY of heart_20_20_blk_mem_gen_v8_4_4 : entity is "artix7";
|
||||
attribute C_HAS_AXI_ID : integer;
|
||||
attribute C_HAS_AXI_ID of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_HAS_ENA : integer;
|
||||
attribute C_HAS_ENA of heart_20_20_blk_mem_gen_v8_4_4 : entity is 1;
|
||||
attribute C_HAS_ENB : integer;
|
||||
attribute C_HAS_ENB of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_HAS_INJECTERR : integer;
|
||||
attribute C_HAS_INJECTERR of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_HAS_MEM_OUTPUT_REGS_A : integer;
|
||||
attribute C_HAS_MEM_OUTPUT_REGS_A of heart_20_20_blk_mem_gen_v8_4_4 : entity is 1;
|
||||
attribute C_HAS_MEM_OUTPUT_REGS_B : integer;
|
||||
attribute C_HAS_MEM_OUTPUT_REGS_B of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_HAS_MUX_OUTPUT_REGS_A : integer;
|
||||
attribute C_HAS_MUX_OUTPUT_REGS_A of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_HAS_MUX_OUTPUT_REGS_B : integer;
|
||||
attribute C_HAS_MUX_OUTPUT_REGS_B of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_HAS_REGCEA : integer;
|
||||
attribute C_HAS_REGCEA of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_HAS_REGCEB : integer;
|
||||
attribute C_HAS_REGCEB of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_HAS_RSTA : integer;
|
||||
attribute C_HAS_RSTA of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_HAS_RSTB : integer;
|
||||
attribute C_HAS_RSTB of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_HAS_SOFTECC_INPUT_REGS_A : integer;
|
||||
attribute C_HAS_SOFTECC_INPUT_REGS_A of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_HAS_SOFTECC_OUTPUT_REGS_B : integer;
|
||||
attribute C_HAS_SOFTECC_OUTPUT_REGS_B of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_INITA_VAL : string;
|
||||
attribute C_INITA_VAL of heart_20_20_blk_mem_gen_v8_4_4 : entity is "0";
|
||||
attribute C_INITB_VAL : string;
|
||||
attribute C_INITB_VAL of heart_20_20_blk_mem_gen_v8_4_4 : entity is "0";
|
||||
attribute C_INIT_FILE : string;
|
||||
attribute C_INIT_FILE of heart_20_20_blk_mem_gen_v8_4_4 : entity is "heart_20_20.mem";
|
||||
attribute C_INIT_FILE_NAME : string;
|
||||
attribute C_INIT_FILE_NAME of heart_20_20_blk_mem_gen_v8_4_4 : entity is "heart_20_20.mif";
|
||||
attribute C_INTERFACE_TYPE : integer;
|
||||
attribute C_INTERFACE_TYPE of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_LOAD_INIT_FILE : integer;
|
||||
attribute C_LOAD_INIT_FILE of heart_20_20_blk_mem_gen_v8_4_4 : entity is 1;
|
||||
attribute C_MEM_TYPE : integer;
|
||||
attribute C_MEM_TYPE of heart_20_20_blk_mem_gen_v8_4_4 : entity is 3;
|
||||
attribute C_MUX_PIPELINE_STAGES : integer;
|
||||
attribute C_MUX_PIPELINE_STAGES of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_PRIM_TYPE : integer;
|
||||
attribute C_PRIM_TYPE of heart_20_20_blk_mem_gen_v8_4_4 : entity is 1;
|
||||
attribute C_READ_DEPTH_A : integer;
|
||||
attribute C_READ_DEPTH_A of heart_20_20_blk_mem_gen_v8_4_4 : entity is 400;
|
||||
attribute C_READ_DEPTH_B : integer;
|
||||
attribute C_READ_DEPTH_B of heart_20_20_blk_mem_gen_v8_4_4 : entity is 400;
|
||||
attribute C_READ_LATENCY_A : integer;
|
||||
attribute C_READ_LATENCY_A of heart_20_20_blk_mem_gen_v8_4_4 : entity is 1;
|
||||
attribute C_READ_LATENCY_B : integer;
|
||||
attribute C_READ_LATENCY_B of heart_20_20_blk_mem_gen_v8_4_4 : entity is 1;
|
||||
attribute C_READ_WIDTH_A : integer;
|
||||
attribute C_READ_WIDTH_A of heart_20_20_blk_mem_gen_v8_4_4 : entity is 12;
|
||||
attribute C_READ_WIDTH_B : integer;
|
||||
attribute C_READ_WIDTH_B of heart_20_20_blk_mem_gen_v8_4_4 : entity is 12;
|
||||
attribute C_RSTRAM_A : integer;
|
||||
attribute C_RSTRAM_A of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_RSTRAM_B : integer;
|
||||
attribute C_RSTRAM_B of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_RST_PRIORITY_A : string;
|
||||
attribute C_RST_PRIORITY_A of heart_20_20_blk_mem_gen_v8_4_4 : entity is "CE";
|
||||
attribute C_RST_PRIORITY_B : string;
|
||||
attribute C_RST_PRIORITY_B of heart_20_20_blk_mem_gen_v8_4_4 : entity is "CE";
|
||||
attribute C_SIM_COLLISION_CHECK : string;
|
||||
attribute C_SIM_COLLISION_CHECK of heart_20_20_blk_mem_gen_v8_4_4 : entity is "ALL";
|
||||
attribute C_USE_BRAM_BLOCK : integer;
|
||||
attribute C_USE_BRAM_BLOCK of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_USE_BYTE_WEA : integer;
|
||||
attribute C_USE_BYTE_WEA of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_USE_BYTE_WEB : integer;
|
||||
attribute C_USE_BYTE_WEB of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_USE_DEFAULT_DATA : integer;
|
||||
attribute C_USE_DEFAULT_DATA of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_USE_ECC : integer;
|
||||
attribute C_USE_ECC of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_USE_SOFTECC : integer;
|
||||
attribute C_USE_SOFTECC of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_USE_URAM : integer;
|
||||
attribute C_USE_URAM of heart_20_20_blk_mem_gen_v8_4_4 : entity is 0;
|
||||
attribute C_WEA_WIDTH : integer;
|
||||
attribute C_WEA_WIDTH of heart_20_20_blk_mem_gen_v8_4_4 : entity is 1;
|
||||
attribute C_WEB_WIDTH : integer;
|
||||
attribute C_WEB_WIDTH of heart_20_20_blk_mem_gen_v8_4_4 : entity is 1;
|
||||
attribute C_WRITE_DEPTH_A : integer;
|
||||
attribute C_WRITE_DEPTH_A of heart_20_20_blk_mem_gen_v8_4_4 : entity is 400;
|
||||
attribute C_WRITE_DEPTH_B : integer;
|
||||
attribute C_WRITE_DEPTH_B of heart_20_20_blk_mem_gen_v8_4_4 : entity is 400;
|
||||
attribute C_WRITE_MODE_A : string;
|
||||
attribute C_WRITE_MODE_A of heart_20_20_blk_mem_gen_v8_4_4 : entity is "WRITE_FIRST";
|
||||
attribute C_WRITE_MODE_B : string;
|
||||
attribute C_WRITE_MODE_B of heart_20_20_blk_mem_gen_v8_4_4 : entity is "WRITE_FIRST";
|
||||
attribute C_WRITE_WIDTH_A : integer;
|
||||
attribute C_WRITE_WIDTH_A of heart_20_20_blk_mem_gen_v8_4_4 : entity is 12;
|
||||
attribute C_WRITE_WIDTH_B : integer;
|
||||
attribute C_WRITE_WIDTH_B of heart_20_20_blk_mem_gen_v8_4_4 : entity is 12;
|
||||
attribute C_XDEVICEFAMILY : string;
|
||||
attribute C_XDEVICEFAMILY of heart_20_20_blk_mem_gen_v8_4_4 : entity is "artix7";
|
||||
attribute ORIG_REF_NAME : string;
|
||||
attribute ORIG_REF_NAME of heart_20_20_blk_mem_gen_v8_4_4 : entity is "blk_mem_gen_v8_4_4";
|
||||
attribute downgradeipidentifiedwarnings : string;
|
||||
attribute downgradeipidentifiedwarnings of heart_20_20_blk_mem_gen_v8_4_4 : entity is "yes";
|
||||
end heart_20_20_blk_mem_gen_v8_4_4;
|
||||
|
||||
architecture STRUCTURE of heart_20_20_blk_mem_gen_v8_4_4 is
|
||||
signal \<const0>\ : STD_LOGIC;
|
||||
begin
|
||||
dbiterr <= \<const0>\;
|
||||
doutb(11) <= \<const0>\;
|
||||
doutb(10) <= \<const0>\;
|
||||
doutb(9) <= \<const0>\;
|
||||
doutb(8) <= \<const0>\;
|
||||
doutb(7) <= \<const0>\;
|
||||
doutb(6) <= \<const0>\;
|
||||
doutb(5) <= \<const0>\;
|
||||
doutb(4) <= \<const0>\;
|
||||
doutb(3) <= \<const0>\;
|
||||
doutb(2) <= \<const0>\;
|
||||
doutb(1) <= \<const0>\;
|
||||
doutb(0) <= \<const0>\;
|
||||
rdaddrecc(8) <= \<const0>\;
|
||||
rdaddrecc(7) <= \<const0>\;
|
||||
rdaddrecc(6) <= \<const0>\;
|
||||
rdaddrecc(5) <= \<const0>\;
|
||||
rdaddrecc(4) <= \<const0>\;
|
||||
rdaddrecc(3) <= \<const0>\;
|
||||
rdaddrecc(2) <= \<const0>\;
|
||||
rdaddrecc(1) <= \<const0>\;
|
||||
rdaddrecc(0) <= \<const0>\;
|
||||
rsta_busy <= \<const0>\;
|
||||
rstb_busy <= \<const0>\;
|
||||
s_axi_arready <= \<const0>\;
|
||||
s_axi_awready <= \<const0>\;
|
||||
s_axi_bid(3) <= \<const0>\;
|
||||
s_axi_bid(2) <= \<const0>\;
|
||||
s_axi_bid(1) <= \<const0>\;
|
||||
s_axi_bid(0) <= \<const0>\;
|
||||
s_axi_bresp(1) <= \<const0>\;
|
||||
s_axi_bresp(0) <= \<const0>\;
|
||||
s_axi_bvalid <= \<const0>\;
|
||||
s_axi_dbiterr <= \<const0>\;
|
||||
s_axi_rdaddrecc(8) <= \<const0>\;
|
||||
s_axi_rdaddrecc(7) <= \<const0>\;
|
||||
s_axi_rdaddrecc(6) <= \<const0>\;
|
||||
s_axi_rdaddrecc(5) <= \<const0>\;
|
||||
s_axi_rdaddrecc(4) <= \<const0>\;
|
||||
s_axi_rdaddrecc(3) <= \<const0>\;
|
||||
s_axi_rdaddrecc(2) <= \<const0>\;
|
||||
s_axi_rdaddrecc(1) <= \<const0>\;
|
||||
s_axi_rdaddrecc(0) <= \<const0>\;
|
||||
s_axi_rdata(11) <= \<const0>\;
|
||||
s_axi_rdata(10) <= \<const0>\;
|
||||
s_axi_rdata(9) <= \<const0>\;
|
||||
s_axi_rdata(8) <= \<const0>\;
|
||||
s_axi_rdata(7) <= \<const0>\;
|
||||
s_axi_rdata(6) <= \<const0>\;
|
||||
s_axi_rdata(5) <= \<const0>\;
|
||||
s_axi_rdata(4) <= \<const0>\;
|
||||
s_axi_rdata(3) <= \<const0>\;
|
||||
s_axi_rdata(2) <= \<const0>\;
|
||||
s_axi_rdata(1) <= \<const0>\;
|
||||
s_axi_rdata(0) <= \<const0>\;
|
||||
s_axi_rid(3) <= \<const0>\;
|
||||
s_axi_rid(2) <= \<const0>\;
|
||||
s_axi_rid(1) <= \<const0>\;
|
||||
s_axi_rid(0) <= \<const0>\;
|
||||
s_axi_rlast <= \<const0>\;
|
||||
s_axi_rresp(1) <= \<const0>\;
|
||||
s_axi_rresp(0) <= \<const0>\;
|
||||
s_axi_rvalid <= \<const0>\;
|
||||
s_axi_sbiterr <= \<const0>\;
|
||||
s_axi_wready <= \<const0>\;
|
||||
sbiterr <= \<const0>\;
|
||||
GND: unisim.vcomponents.GND
|
||||
port map (
|
||||
G => \<const0>\
|
||||
);
|
||||
inst_blk_mem_gen: entity work.heart_20_20_blk_mem_gen_v8_4_4_synth
|
||||
port map (
|
||||
addra(8 downto 0) => addra(8 downto 0),
|
||||
clka => clka,
|
||||
douta(11 downto 0) => douta(11 downto 0),
|
||||
ena => ena
|
||||
);
|
||||
end STRUCTURE;
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity heart_20_20 is
|
||||
port (
|
||||
clka : in STD_LOGIC;
|
||||
ena : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 8 downto 0 );
|
||||
douta : out STD_LOGIC_VECTOR ( 11 downto 0 )
|
||||
);
|
||||
attribute NotValidForBitStream : boolean;
|
||||
attribute NotValidForBitStream of heart_20_20 : entity is true;
|
||||
attribute CHECK_LICENSE_TYPE : string;
|
||||
attribute CHECK_LICENSE_TYPE of heart_20_20 : entity is "heart_20_20,blk_mem_gen_v8_4_4,{}";
|
||||
attribute downgradeipidentifiedwarnings : string;
|
||||
attribute downgradeipidentifiedwarnings of heart_20_20 : entity is "yes";
|
||||
attribute x_core_info : string;
|
||||
attribute x_core_info of heart_20_20 : entity is "blk_mem_gen_v8_4_4,Vivado 2019.2";
|
||||
end heart_20_20;
|
||||
|
||||
architecture STRUCTURE of heart_20_20 is
|
||||
signal NLW_U0_dbiterr_UNCONNECTED : STD_LOGIC;
|
||||
signal NLW_U0_rsta_busy_UNCONNECTED : STD_LOGIC;
|
||||
signal NLW_U0_rstb_busy_UNCONNECTED : STD_LOGIC;
|
||||
signal NLW_U0_s_axi_arready_UNCONNECTED : STD_LOGIC;
|
||||
signal NLW_U0_s_axi_awready_UNCONNECTED : STD_LOGIC;
|
||||
signal NLW_U0_s_axi_bvalid_UNCONNECTED : STD_LOGIC;
|
||||
signal NLW_U0_s_axi_dbiterr_UNCONNECTED : STD_LOGIC;
|
||||
signal NLW_U0_s_axi_rlast_UNCONNECTED : STD_LOGIC;
|
||||
signal NLW_U0_s_axi_rvalid_UNCONNECTED : STD_LOGIC;
|
||||
signal NLW_U0_s_axi_sbiterr_UNCONNECTED : STD_LOGIC;
|
||||
signal NLW_U0_s_axi_wready_UNCONNECTED : STD_LOGIC;
|
||||
signal NLW_U0_sbiterr_UNCONNECTED : STD_LOGIC;
|
||||
signal NLW_U0_doutb_UNCONNECTED : STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
signal NLW_U0_rdaddrecc_UNCONNECTED : STD_LOGIC_VECTOR ( 8 downto 0 );
|
||||
signal NLW_U0_s_axi_bid_UNCONNECTED : STD_LOGIC_VECTOR ( 3 downto 0 );
|
||||
signal NLW_U0_s_axi_bresp_UNCONNECTED : STD_LOGIC_VECTOR ( 1 downto 0 );
|
||||
signal NLW_U0_s_axi_rdaddrecc_UNCONNECTED : STD_LOGIC_VECTOR ( 8 downto 0 );
|
||||
signal NLW_U0_s_axi_rdata_UNCONNECTED : STD_LOGIC_VECTOR ( 11 downto 0 );
|
||||
signal NLW_U0_s_axi_rid_UNCONNECTED : STD_LOGIC_VECTOR ( 3 downto 0 );
|
||||
signal NLW_U0_s_axi_rresp_UNCONNECTED : STD_LOGIC_VECTOR ( 1 downto 0 );
|
||||
attribute C_ADDRA_WIDTH : integer;
|
||||
attribute C_ADDRA_WIDTH of U0 : label is 9;
|
||||
attribute C_ADDRB_WIDTH : integer;
|
||||
attribute C_ADDRB_WIDTH of U0 : label is 9;
|
||||
attribute C_ALGORITHM : integer;
|
||||
attribute C_ALGORITHM of U0 : label is 1;
|
||||
attribute C_AXI_ID_WIDTH : integer;
|
||||
attribute C_AXI_ID_WIDTH of U0 : label is 4;
|
||||
attribute C_AXI_SLAVE_TYPE : integer;
|
||||
attribute C_AXI_SLAVE_TYPE of U0 : label is 0;
|
||||
attribute C_AXI_TYPE : integer;
|
||||
attribute C_AXI_TYPE of U0 : label is 1;
|
||||
attribute C_BYTE_SIZE : integer;
|
||||
attribute C_BYTE_SIZE of U0 : label is 9;
|
||||
attribute C_COMMON_CLK : integer;
|
||||
attribute C_COMMON_CLK of U0 : label is 0;
|
||||
attribute C_COUNT_18K_BRAM : string;
|
||||
attribute C_COUNT_18K_BRAM of U0 : label is "1";
|
||||
attribute C_COUNT_36K_BRAM : string;
|
||||
attribute C_COUNT_36K_BRAM of U0 : label is "0";
|
||||
attribute C_CTRL_ECC_ALGO : string;
|
||||
attribute C_CTRL_ECC_ALGO of U0 : label is "NONE";
|
||||
attribute C_DEFAULT_DATA : string;
|
||||
attribute C_DEFAULT_DATA of U0 : label is "0";
|
||||
attribute C_DISABLE_WARN_BHV_COLL : integer;
|
||||
attribute C_DISABLE_WARN_BHV_COLL of U0 : label is 0;
|
||||
attribute C_DISABLE_WARN_BHV_RANGE : integer;
|
||||
attribute C_DISABLE_WARN_BHV_RANGE of U0 : label is 0;
|
||||
attribute C_ELABORATION_DIR : string;
|
||||
attribute C_ELABORATION_DIR of U0 : label is "./";
|
||||
attribute C_ENABLE_32BIT_ADDRESS : integer;
|
||||
attribute C_ENABLE_32BIT_ADDRESS of U0 : label is 0;
|
||||
attribute C_EN_DEEPSLEEP_PIN : integer;
|
||||
attribute C_EN_DEEPSLEEP_PIN of U0 : label is 0;
|
||||
attribute C_EN_ECC_PIPE : integer;
|
||||
attribute C_EN_ECC_PIPE of U0 : label is 0;
|
||||
attribute C_EN_RDADDRA_CHG : integer;
|
||||
attribute C_EN_RDADDRA_CHG of U0 : label is 0;
|
||||
attribute C_EN_RDADDRB_CHG : integer;
|
||||
attribute C_EN_RDADDRB_CHG of U0 : label is 0;
|
||||
attribute C_EN_SAFETY_CKT : integer;
|
||||
attribute C_EN_SAFETY_CKT of U0 : label is 0;
|
||||
attribute C_EN_SHUTDOWN_PIN : integer;
|
||||
attribute C_EN_SHUTDOWN_PIN of U0 : label is 0;
|
||||
attribute C_EN_SLEEP_PIN : integer;
|
||||
attribute C_EN_SLEEP_PIN of U0 : label is 0;
|
||||
attribute C_EST_POWER_SUMMARY : string;
|
||||
attribute C_EST_POWER_SUMMARY of U0 : label is "Estimated Power for IP : 2.5432 mW";
|
||||
attribute C_FAMILY : string;
|
||||
attribute C_FAMILY of U0 : label is "artix7";
|
||||
attribute C_HAS_AXI_ID : integer;
|
||||
attribute C_HAS_AXI_ID of U0 : label is 0;
|
||||
attribute C_HAS_ENA : integer;
|
||||
attribute C_HAS_ENA of U0 : label is 1;
|
||||
attribute C_HAS_ENB : integer;
|
||||
attribute C_HAS_ENB of U0 : label is 0;
|
||||
attribute C_HAS_INJECTERR : integer;
|
||||
attribute C_HAS_INJECTERR of U0 : label is 0;
|
||||
attribute C_HAS_MEM_OUTPUT_REGS_A : integer;
|
||||
attribute C_HAS_MEM_OUTPUT_REGS_A of U0 : label is 1;
|
||||
attribute C_HAS_MEM_OUTPUT_REGS_B : integer;
|
||||
attribute C_HAS_MEM_OUTPUT_REGS_B of U0 : label is 0;
|
||||
attribute C_HAS_MUX_OUTPUT_REGS_A : integer;
|
||||
attribute C_HAS_MUX_OUTPUT_REGS_A of U0 : label is 0;
|
||||
attribute C_HAS_MUX_OUTPUT_REGS_B : integer;
|
||||
attribute C_HAS_MUX_OUTPUT_REGS_B of U0 : label is 0;
|
||||
attribute C_HAS_REGCEA : integer;
|
||||
attribute C_HAS_REGCEA of U0 : label is 0;
|
||||
attribute C_HAS_REGCEB : integer;
|
||||
attribute C_HAS_REGCEB of U0 : label is 0;
|
||||
attribute C_HAS_RSTA : integer;
|
||||
attribute C_HAS_RSTA of U0 : label is 0;
|
||||
attribute C_HAS_RSTB : integer;
|
||||
attribute C_HAS_RSTB of U0 : label is 0;
|
||||
attribute C_HAS_SOFTECC_INPUT_REGS_A : integer;
|
||||
attribute C_HAS_SOFTECC_INPUT_REGS_A of U0 : label is 0;
|
||||
attribute C_HAS_SOFTECC_OUTPUT_REGS_B : integer;
|
||||
attribute C_HAS_SOFTECC_OUTPUT_REGS_B of U0 : label is 0;
|
||||
attribute C_INITA_VAL : string;
|
||||
attribute C_INITA_VAL of U0 : label is "0";
|
||||
attribute C_INITB_VAL : string;
|
||||
attribute C_INITB_VAL of U0 : label is "0";
|
||||
attribute C_INIT_FILE : string;
|
||||
attribute C_INIT_FILE of U0 : label is "heart_20_20.mem";
|
||||
attribute C_INIT_FILE_NAME : string;
|
||||
attribute C_INIT_FILE_NAME of U0 : label is "heart_20_20.mif";
|
||||
attribute C_INTERFACE_TYPE : integer;
|
||||
attribute C_INTERFACE_TYPE of U0 : label is 0;
|
||||
attribute C_LOAD_INIT_FILE : integer;
|
||||
attribute C_LOAD_INIT_FILE of U0 : label is 1;
|
||||
attribute C_MEM_TYPE : integer;
|
||||
attribute C_MEM_TYPE of U0 : label is 3;
|
||||
attribute C_MUX_PIPELINE_STAGES : integer;
|
||||
attribute C_MUX_PIPELINE_STAGES of U0 : label is 0;
|
||||
attribute C_PRIM_TYPE : integer;
|
||||
attribute C_PRIM_TYPE of U0 : label is 1;
|
||||
attribute C_READ_DEPTH_A : integer;
|
||||
attribute C_READ_DEPTH_A of U0 : label is 400;
|
||||
attribute C_READ_DEPTH_B : integer;
|
||||
attribute C_READ_DEPTH_B of U0 : label is 400;
|
||||
attribute C_READ_LATENCY_A : integer;
|
||||
attribute C_READ_LATENCY_A of U0 : label is 1;
|
||||
attribute C_READ_LATENCY_B : integer;
|
||||
attribute C_READ_LATENCY_B of U0 : label is 1;
|
||||
attribute C_READ_WIDTH_A : integer;
|
||||
attribute C_READ_WIDTH_A of U0 : label is 12;
|
||||
attribute C_READ_WIDTH_B : integer;
|
||||
attribute C_READ_WIDTH_B of U0 : label is 12;
|
||||
attribute C_RSTRAM_A : integer;
|
||||
attribute C_RSTRAM_A of U0 : label is 0;
|
||||
attribute C_RSTRAM_B : integer;
|
||||
attribute C_RSTRAM_B of U0 : label is 0;
|
||||
attribute C_RST_PRIORITY_A : string;
|
||||
attribute C_RST_PRIORITY_A of U0 : label is "CE";
|
||||
attribute C_RST_PRIORITY_B : string;
|
||||
attribute C_RST_PRIORITY_B of U0 : label is "CE";
|
||||
attribute C_SIM_COLLISION_CHECK : string;
|
||||
attribute C_SIM_COLLISION_CHECK of U0 : label is "ALL";
|
||||
attribute C_USE_BRAM_BLOCK : integer;
|
||||
attribute C_USE_BRAM_BLOCK of U0 : label is 0;
|
||||
attribute C_USE_BYTE_WEA : integer;
|
||||
attribute C_USE_BYTE_WEA of U0 : label is 0;
|
||||
attribute C_USE_BYTE_WEB : integer;
|
||||
attribute C_USE_BYTE_WEB of U0 : label is 0;
|
||||
attribute C_USE_DEFAULT_DATA : integer;
|
||||
attribute C_USE_DEFAULT_DATA of U0 : label is 0;
|
||||
attribute C_USE_ECC : integer;
|
||||
attribute C_USE_ECC of U0 : label is 0;
|
||||
attribute C_USE_SOFTECC : integer;
|
||||
attribute C_USE_SOFTECC of U0 : label is 0;
|
||||
attribute C_USE_URAM : integer;
|
||||
attribute C_USE_URAM of U0 : label is 0;
|
||||
attribute C_WEA_WIDTH : integer;
|
||||
attribute C_WEA_WIDTH of U0 : label is 1;
|
||||
attribute C_WEB_WIDTH : integer;
|
||||
attribute C_WEB_WIDTH of U0 : label is 1;
|
||||
attribute C_WRITE_DEPTH_A : integer;
|
||||
attribute C_WRITE_DEPTH_A of U0 : label is 400;
|
||||
attribute C_WRITE_DEPTH_B : integer;
|
||||
attribute C_WRITE_DEPTH_B of U0 : label is 400;
|
||||
attribute C_WRITE_MODE_A : string;
|
||||
attribute C_WRITE_MODE_A of U0 : label is "WRITE_FIRST";
|
||||
attribute C_WRITE_MODE_B : string;
|
||||
attribute C_WRITE_MODE_B of U0 : label is "WRITE_FIRST";
|
||||
attribute C_WRITE_WIDTH_A : integer;
|
||||
attribute C_WRITE_WIDTH_A of U0 : label is 12;
|
||||
attribute C_WRITE_WIDTH_B : integer;
|
||||
attribute C_WRITE_WIDTH_B of U0 : label is 12;
|
||||
attribute C_XDEVICEFAMILY : string;
|
||||
attribute C_XDEVICEFAMILY of U0 : label is "artix7";
|
||||
attribute downgradeipidentifiedwarnings of U0 : label is "yes";
|
||||
attribute x_interface_info : string;
|
||||
attribute x_interface_info of clka : signal is "xilinx.com:interface:bram:1.0 BRAM_PORTA CLK";
|
||||
attribute x_interface_parameter : string;
|
||||
attribute x_interface_parameter of clka : signal is "XIL_INTERFACENAME BRAM_PORTA, MEM_SIZE 8192, MEM_WIDTH 32, MEM_ECC NONE, MASTER_TYPE OTHER, READ_LATENCY 1";
|
||||
attribute x_interface_info of ena : signal is "xilinx.com:interface:bram:1.0 BRAM_PORTA EN";
|
||||
attribute x_interface_info of addra : signal is "xilinx.com:interface:bram:1.0 BRAM_PORTA ADDR";
|
||||
attribute x_interface_info of douta : signal is "xilinx.com:interface:bram:1.0 BRAM_PORTA DOUT";
|
||||
begin
|
||||
U0: entity work.heart_20_20_blk_mem_gen_v8_4_4
|
||||
port map (
|
||||
addra(8 downto 0) => addra(8 downto 0),
|
||||
addrb(8 downto 0) => B"000000000",
|
||||
clka => clka,
|
||||
clkb => '0',
|
||||
dbiterr => NLW_U0_dbiterr_UNCONNECTED,
|
||||
deepsleep => '0',
|
||||
dina(11 downto 0) => B"000000000000",
|
||||
dinb(11 downto 0) => B"000000000000",
|
||||
douta(11 downto 0) => douta(11 downto 0),
|
||||
doutb(11 downto 0) => NLW_U0_doutb_UNCONNECTED(11 downto 0),
|
||||
eccpipece => '0',
|
||||
ena => ena,
|
||||
enb => '0',
|
||||
injectdbiterr => '0',
|
||||
injectsbiterr => '0',
|
||||
rdaddrecc(8 downto 0) => NLW_U0_rdaddrecc_UNCONNECTED(8 downto 0),
|
||||
regcea => '0',
|
||||
regceb => '0',
|
||||
rsta => '0',
|
||||
rsta_busy => NLW_U0_rsta_busy_UNCONNECTED,
|
||||
rstb => '0',
|
||||
rstb_busy => NLW_U0_rstb_busy_UNCONNECTED,
|
||||
s_aclk => '0',
|
||||
s_aresetn => '0',
|
||||
s_axi_araddr(31 downto 0) => B"00000000000000000000000000000000",
|
||||
s_axi_arburst(1 downto 0) => B"00",
|
||||
s_axi_arid(3 downto 0) => B"0000",
|
||||
s_axi_arlen(7 downto 0) => B"00000000",
|
||||
s_axi_arready => NLW_U0_s_axi_arready_UNCONNECTED,
|
||||
s_axi_arsize(2 downto 0) => B"000",
|
||||
s_axi_arvalid => '0',
|
||||
s_axi_awaddr(31 downto 0) => B"00000000000000000000000000000000",
|
||||
s_axi_awburst(1 downto 0) => B"00",
|
||||
s_axi_awid(3 downto 0) => B"0000",
|
||||
s_axi_awlen(7 downto 0) => B"00000000",
|
||||
s_axi_awready => NLW_U0_s_axi_awready_UNCONNECTED,
|
||||
s_axi_awsize(2 downto 0) => B"000",
|
||||
s_axi_awvalid => '0',
|
||||
s_axi_bid(3 downto 0) => NLW_U0_s_axi_bid_UNCONNECTED(3 downto 0),
|
||||
s_axi_bready => '0',
|
||||
s_axi_bresp(1 downto 0) => NLW_U0_s_axi_bresp_UNCONNECTED(1 downto 0),
|
||||
s_axi_bvalid => NLW_U0_s_axi_bvalid_UNCONNECTED,
|
||||
s_axi_dbiterr => NLW_U0_s_axi_dbiterr_UNCONNECTED,
|
||||
s_axi_injectdbiterr => '0',
|
||||
s_axi_injectsbiterr => '0',
|
||||
s_axi_rdaddrecc(8 downto 0) => NLW_U0_s_axi_rdaddrecc_UNCONNECTED(8 downto 0),
|
||||
s_axi_rdata(11 downto 0) => NLW_U0_s_axi_rdata_UNCONNECTED(11 downto 0),
|
||||
s_axi_rid(3 downto 0) => NLW_U0_s_axi_rid_UNCONNECTED(3 downto 0),
|
||||
s_axi_rlast => NLW_U0_s_axi_rlast_UNCONNECTED,
|
||||
s_axi_rready => '0',
|
||||
s_axi_rresp(1 downto 0) => NLW_U0_s_axi_rresp_UNCONNECTED(1 downto 0),
|
||||
s_axi_rvalid => NLW_U0_s_axi_rvalid_UNCONNECTED,
|
||||
s_axi_sbiterr => NLW_U0_s_axi_sbiterr_UNCONNECTED,
|
||||
s_axi_wdata(11 downto 0) => B"000000000000",
|
||||
s_axi_wlast => '0',
|
||||
s_axi_wready => NLW_U0_s_axi_wready_UNCONNECTED,
|
||||
s_axi_wstrb(0) => '0',
|
||||
s_axi_wvalid => '0',
|
||||
sbiterr => NLW_U0_sbiterr_UNCONNECTED,
|
||||
shutdown => '0',
|
||||
sleep => '0',
|
||||
wea(0) => '0',
|
||||
web(0) => '0'
|
||||
);
|
||||
end STRUCTURE;
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
|
||||
entity blk_mem_gen_v8_4_4 is
|
||||
generic (
|
||||
C_FAMILY : string := "virtex7";
|
||||
C_XDEVICEFAMILY : string := "virtex7";
|
||||
C_ELABORATION_DIR : string := "";
|
||||
C_INTERFACE_TYPE : integer := 0;
|
||||
C_AXI_TYPE : integer := 1;
|
||||
C_AXI_SLAVE_TYPE : integer := 0;
|
||||
C_USE_BRAM_BLOCK : integer := 0;
|
||||
C_ENABLE_32BIT_ADDRESS : integer := 0;
|
||||
C_CTRL_ECC_ALGO : string := "ECCHSIAO32-7";
|
||||
C_HAS_AXI_ID : integer := 0;
|
||||
C_AXI_ID_WIDTH : integer := 4;
|
||||
C_MEM_TYPE : integer := 2;
|
||||
C_BYTE_SIZE : integer := 9;
|
||||
C_ALGORITHM : integer := 0;
|
||||
C_PRIM_TYPE : integer := 3;
|
||||
C_LOAD_INIT_FILE : integer := 0;
|
||||
C_INIT_FILE_NAME : string := "no_coe_file_loaded";
|
||||
C_INIT_FILE : string := "no_mem_file_loaded";
|
||||
C_USE_DEFAULT_DATA : integer := 0;
|
||||
C_DEFAULT_DATA : string := "0";
|
||||
C_HAS_RSTA : integer := 0;
|
||||
C_RST_PRIORITY_A : string := "ce";
|
||||
C_RSTRAM_A : integer := 0;
|
||||
C_INITA_VAL : string := "0";
|
||||
C_HAS_ENA : integer := 1;
|
||||
C_HAS_REGCEA : integer := 0;
|
||||
C_USE_BYTE_WEA : integer := 0;
|
||||
C_WEA_WIDTH : integer := 1;
|
||||
C_WRITE_MODE_A : string := "WRITE_FIRST";
|
||||
C_WRITE_WIDTH_A : integer := 9;
|
||||
C_READ_WIDTH_A : integer := 9;
|
||||
C_WRITE_DEPTH_A : integer := 2048;
|
||||
C_READ_DEPTH_A : integer := 2048;
|
||||
C_ADDRA_WIDTH : integer := 11;
|
||||
C_HAS_RSTB : integer := 0;
|
||||
C_RST_PRIORITY_B : string := "ce";
|
||||
C_RSTRAM_B : integer := 0;
|
||||
C_INITB_VAL : string := "0";
|
||||
C_HAS_ENB : integer := 1;
|
||||
C_HAS_REGCEB : integer := 0;
|
||||
C_USE_BYTE_WEB : integer := 0;
|
||||
C_WEB_WIDTH : integer := 1;
|
||||
C_WRITE_MODE_B : string := "WRITE_FIRST";
|
||||
C_WRITE_WIDTH_B : integer := 9;
|
||||
C_READ_WIDTH_B : integer := 9;
|
||||
C_WRITE_DEPTH_B : integer := 2048;
|
||||
C_READ_DEPTH_B : integer := 2048;
|
||||
C_ADDRB_WIDTH : integer := 11;
|
||||
C_HAS_MEM_OUTPUT_REGS_A : integer := 0;
|
||||
C_HAS_MEM_OUTPUT_REGS_B : integer := 0;
|
||||
C_HAS_MUX_OUTPUT_REGS_A : integer := 0;
|
||||
C_HAS_MUX_OUTPUT_REGS_B : integer := 0;
|
||||
C_MUX_PIPELINE_STAGES : integer := 0;
|
||||
C_HAS_SOFTECC_INPUT_REGS_A : integer := 0;
|
||||
C_HAS_SOFTECC_OUTPUT_REGS_B : integer := 0;
|
||||
C_USE_SOFTECC : integer := 0;
|
||||
C_USE_ECC : integer := 0;
|
||||
C_EN_ECC_PIPE : integer := 0;
|
||||
C_HAS_INJECTERR : integer := 0;
|
||||
C_SIM_COLLISION_CHECK : string := "none";
|
||||
C_COMMON_CLK : integer := 0;
|
||||
C_DISABLE_WARN_BHV_COLL : integer := 0;
|
||||
C_EN_SLEEP_PIN : integer := 0;
|
||||
C_USE_URAM : integer := 0;
|
||||
C_EN_RDADDRA_CHG : integer := 0;
|
||||
C_EN_RDADDRB_CHG : integer := 0;
|
||||
C_EN_DEEPSLEEP_PIN : integer := 0;
|
||||
C_EN_SHUTDOWN_PIN : integer := 0;
|
||||
C_EN_SAFETY_CKT : integer := 0;
|
||||
C_DISABLE_WARN_BHV_RANGE : integer := 0;
|
||||
C_COUNT_36K_BRAM : string := "";
|
||||
C_COUNT_18K_BRAM : string := "";
|
||||
C_EST_POWER_SUMMARY : string := ""
|
||||
);
|
||||
port (
|
||||
clka : in std_logic := '0';
|
||||
rsta : in std_logic := '0';
|
||||
ena : in std_logic := '0';
|
||||
regcea : in std_logic := '0';
|
||||
wea : in std_logic_vector(c_wea_width - 1 downto 0) := (others => '0');
|
||||
addra : in std_logic_vector(c_addra_width - 1 downto 0) := (others => '0');
|
||||
dina : in std_logic_vector(c_write_width_a - 1 downto 0) := (others => '0');
|
||||
douta : out std_logic_vector(c_read_width_a - 1 downto 0);
|
||||
clkb : in std_logic := '0';
|
||||
rstb : in std_logic := '0';
|
||||
enb : in std_logic := '0';
|
||||
regceb : in std_logic := '0';
|
||||
web : in std_logic_vector(c_web_width - 1 downto 0) := (others => '0');
|
||||
addrb : in std_logic_vector(c_addrb_width - 1 downto 0) := (others => '0');
|
||||
dinb : in std_logic_vector(c_write_width_b - 1 downto 0) := (others => '0');
|
||||
doutb : out std_logic_vector(c_read_width_b - 1 downto 0);
|
||||
injectsbiterr : in std_logic := '0';
|
||||
injectdbiterr : in std_logic := '0';
|
||||
eccpipece : in std_logic := '0';
|
||||
sbiterr : out std_logic;
|
||||
dbiterr : out std_logic;
|
||||
rdaddrecc : out std_logic_vector(c_addrb_width - 1 downto 0);
|
||||
sleep : in std_logic := '0';
|
||||
deepsleep : in std_logic := '0';
|
||||
shutdown : in std_logic := '0';
|
||||
rsta_busy : out std_logic;
|
||||
rstb_busy : out std_logic;
|
||||
s_aclk : in std_logic := '0';
|
||||
s_aresetn : in std_logic := '0';
|
||||
s_axi_awid : in std_logic_vector(c_axi_id_width - 1 downto 0) := (others => '0');
|
||||
s_axi_awaddr : in std_logic_vector(31 downto 0) := (others => '0');
|
||||
s_axi_awlen : in std_logic_vector(7 downto 0) := (others => '0');
|
||||
s_axi_awsize : in std_logic_vector(2 downto 0) := (others => '0');
|
||||
s_axi_awburst : in std_logic_vector(1 downto 0) := (others => '0');
|
||||
s_axi_awvalid : in std_logic := '0';
|
||||
s_axi_awready : out std_logic;
|
||||
s_axi_wdata : in std_logic_vector(c_write_width_a - 1 downto 0) := (others => '0');
|
||||
s_axi_wstrb : in std_logic_vector(c_wea_width - 1 downto 0) := (others => '0');
|
||||
s_axi_wlast : in std_logic := '0';
|
||||
s_axi_wvalid : in std_logic := '0';
|
||||
s_axi_wready : out std_logic;
|
||||
s_axi_bid : out std_logic_vector(c_axi_id_width - 1 downto 0);
|
||||
s_axi_bresp : out std_logic_vector(1 downto 0);
|
||||
s_axi_bvalid : out std_logic;
|
||||
s_axi_bready : in std_logic := '0';
|
||||
s_axi_arid : in std_logic_vector(c_axi_id_width - 1 downto 0) := (others => '0');
|
||||
s_axi_araddr : in std_logic_vector(31 downto 0) := (others => '0');
|
||||
s_axi_arlen : in std_logic_vector(8 - 1 downto 0) := (others => '0');
|
||||
s_axi_arsize : in std_logic_vector(2 downto 0) := (others => '0');
|
||||
s_axi_arburst : in std_logic_vector(1 downto 0) := (others => '0');
|
||||
s_axi_arvalid : in std_logic := '0';
|
||||
s_axi_arready : out std_logic;
|
||||
s_axi_rid : out std_logic_vector(c_axi_id_width - 1 downto 0);
|
||||
s_axi_rdata : out std_logic_vector(c_write_width_b - 1 downto 0);
|
||||
s_axi_rresp : out std_logic_vector(2 - 1 downto 0);
|
||||
s_axi_rlast : out std_logic;
|
||||
s_axi_rvalid : out std_logic;
|
||||
s_axi_rready : in std_logic := '0';
|
||||
s_axi_injectsbiterr : in std_logic := '0';
|
||||
s_axi_injectdbiterr : in std_logic := '0';
|
||||
s_axi_sbiterr : out std_logic;
|
||||
s_axi_dbiterr : out std_logic;
|
||||
s_axi_rdaddrecc : out std_logic_vector(c_addrb_width - 1 downto 0)
|
||||
);
|
||||
end entity blk_mem_gen_v8_4_4;
|
||||
|
||||
architecture xilinx of blk_mem_gen_v8_4_4 is
|
||||
begin
|
||||
end
|
||||
architecture xilinx;
|
||||
|
|
@ -0,0 +1,214 @@
|
|||
// (c) Copyright 1995-2021 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.
|
||||
//
|
||||
// DO NOT MODIFY THIS FILE.
|
||||
|
||||
|
||||
// IP VLNV: xilinx.com:ip:blk_mem_gen:8.4
|
||||
// IP Revision: 4
|
||||
|
||||
`timescale 1ns/1ps
|
||||
|
||||
(* DowngradeIPIdentifiedWarnings = "yes" *)
|
||||
module heart_20_20 (
|
||||
clka,
|
||||
ena,
|
||||
addra,
|
||||
douta
|
||||
);
|
||||
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA CLK" *)
|
||||
input wire clka;
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA EN" *)
|
||||
input wire ena;
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA ADDR" *)
|
||||
input wire [8 : 0] addra;
|
||||
(* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME BRAM_PORTA, MEM_SIZE 8192, MEM_WIDTH 32, MEM_ECC NONE, MASTER_TYPE OTHER, READ_LATENCY 1" *)
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA DOUT" *)
|
||||
output wire [11 : 0] douta;
|
||||
|
||||
blk_mem_gen_v8_4_4 #(
|
||||
.C_FAMILY("artix7"),
|
||||
.C_XDEVICEFAMILY("artix7"),
|
||||
.C_ELABORATION_DIR("./"),
|
||||
.C_INTERFACE_TYPE(0),
|
||||
.C_AXI_TYPE(1),
|
||||
.C_AXI_SLAVE_TYPE(0),
|
||||
.C_USE_BRAM_BLOCK(0),
|
||||
.C_ENABLE_32BIT_ADDRESS(0),
|
||||
.C_CTRL_ECC_ALGO("NONE"),
|
||||
.C_HAS_AXI_ID(0),
|
||||
.C_AXI_ID_WIDTH(4),
|
||||
.C_MEM_TYPE(3),
|
||||
.C_BYTE_SIZE(9),
|
||||
.C_ALGORITHM(1),
|
||||
.C_PRIM_TYPE(1),
|
||||
.C_LOAD_INIT_FILE(1),
|
||||
.C_INIT_FILE_NAME("heart_20_20.mif"),
|
||||
.C_INIT_FILE("heart_20_20.mem"),
|
||||
.C_USE_DEFAULT_DATA(0),
|
||||
.C_DEFAULT_DATA("0"),
|
||||
.C_HAS_RSTA(0),
|
||||
.C_RST_PRIORITY_A("CE"),
|
||||
.C_RSTRAM_A(0),
|
||||
.C_INITA_VAL("0"),
|
||||
.C_HAS_ENA(1),
|
||||
.C_HAS_REGCEA(0),
|
||||
.C_USE_BYTE_WEA(0),
|
||||
.C_WEA_WIDTH(1),
|
||||
.C_WRITE_MODE_A("WRITE_FIRST"),
|
||||
.C_WRITE_WIDTH_A(12),
|
||||
.C_READ_WIDTH_A(12),
|
||||
.C_WRITE_DEPTH_A(400),
|
||||
.C_READ_DEPTH_A(400),
|
||||
.C_ADDRA_WIDTH(9),
|
||||
.C_HAS_RSTB(0),
|
||||
.C_RST_PRIORITY_B("CE"),
|
||||
.C_RSTRAM_B(0),
|
||||
.C_INITB_VAL("0"),
|
||||
.C_HAS_ENB(0),
|
||||
.C_HAS_REGCEB(0),
|
||||
.C_USE_BYTE_WEB(0),
|
||||
.C_WEB_WIDTH(1),
|
||||
.C_WRITE_MODE_B("WRITE_FIRST"),
|
||||
.C_WRITE_WIDTH_B(12),
|
||||
.C_READ_WIDTH_B(12),
|
||||
.C_WRITE_DEPTH_B(400),
|
||||
.C_READ_DEPTH_B(400),
|
||||
.C_ADDRB_WIDTH(9),
|
||||
.C_HAS_MEM_OUTPUT_REGS_A(1),
|
||||
.C_HAS_MEM_OUTPUT_REGS_B(0),
|
||||
.C_HAS_MUX_OUTPUT_REGS_A(0),
|
||||
.C_HAS_MUX_OUTPUT_REGS_B(0),
|
||||
.C_MUX_PIPELINE_STAGES(0),
|
||||
.C_HAS_SOFTECC_INPUT_REGS_A(0),
|
||||
.C_HAS_SOFTECC_OUTPUT_REGS_B(0),
|
||||
.C_USE_SOFTECC(0),
|
||||
.C_USE_ECC(0),
|
||||
.C_EN_ECC_PIPE(0),
|
||||
.C_READ_LATENCY_A(1),
|
||||
.C_READ_LATENCY_B(1),
|
||||
.C_HAS_INJECTERR(0),
|
||||
.C_SIM_COLLISION_CHECK("ALL"),
|
||||
.C_COMMON_CLK(0),
|
||||
.C_DISABLE_WARN_BHV_COLL(0),
|
||||
.C_EN_SLEEP_PIN(0),
|
||||
.C_USE_URAM(0),
|
||||
.C_EN_RDADDRA_CHG(0),
|
||||
.C_EN_RDADDRB_CHG(0),
|
||||
.C_EN_DEEPSLEEP_PIN(0),
|
||||
.C_EN_SHUTDOWN_PIN(0),
|
||||
.C_EN_SAFETY_CKT(0),
|
||||
.C_DISABLE_WARN_BHV_RANGE(0),
|
||||
.C_COUNT_36K_BRAM("0"),
|
||||
.C_COUNT_18K_BRAM("1"),
|
||||
.C_EST_POWER_SUMMARY("Estimated Power for IP : 2.5432 mW")
|
||||
) inst (
|
||||
.clka(clka),
|
||||
.rsta(1'D0),
|
||||
.ena(ena),
|
||||
.regcea(1'D0),
|
||||
.wea(1'B0),
|
||||
.addra(addra),
|
||||
.dina(12'B0),
|
||||
.douta(douta),
|
||||
.clkb(1'D0),
|
||||
.rstb(1'D0),
|
||||
.enb(1'D0),
|
||||
.regceb(1'D0),
|
||||
.web(1'B0),
|
||||
.addrb(9'B0),
|
||||
.dinb(12'B0),
|
||||
.doutb(),
|
||||
.injectsbiterr(1'D0),
|
||||
.injectdbiterr(1'D0),
|
||||
.eccpipece(1'D0),
|
||||
.sbiterr(),
|
||||
.dbiterr(),
|
||||
.rdaddrecc(),
|
||||
.sleep(1'D0),
|
||||
.deepsleep(1'D0),
|
||||
.shutdown(1'D0),
|
||||
.rsta_busy(),
|
||||
.rstb_busy(),
|
||||
.s_aclk(1'H0),
|
||||
.s_aresetn(1'D0),
|
||||
.s_axi_awid(4'B0),
|
||||
.s_axi_awaddr(32'B0),
|
||||
.s_axi_awlen(8'B0),
|
||||
.s_axi_awsize(3'B0),
|
||||
.s_axi_awburst(2'B0),
|
||||
.s_axi_awvalid(1'D0),
|
||||
.s_axi_awready(),
|
||||
.s_axi_wdata(12'B0),
|
||||
.s_axi_wstrb(1'B0),
|
||||
.s_axi_wlast(1'D0),
|
||||
.s_axi_wvalid(1'D0),
|
||||
.s_axi_wready(),
|
||||
.s_axi_bid(),
|
||||
.s_axi_bresp(),
|
||||
.s_axi_bvalid(),
|
||||
.s_axi_bready(1'D0),
|
||||
.s_axi_arid(4'B0),
|
||||
.s_axi_araddr(32'B0),
|
||||
.s_axi_arlen(8'B0),
|
||||
.s_axi_arsize(3'B0),
|
||||
.s_axi_arburst(2'B0),
|
||||
.s_axi_arvalid(1'D0),
|
||||
.s_axi_arready(),
|
||||
.s_axi_rid(),
|
||||
.s_axi_rdata(),
|
||||
.s_axi_rresp(),
|
||||
.s_axi_rlast(),
|
||||
.s_axi_rvalid(),
|
||||
.s_axi_rready(1'D0),
|
||||
.s_axi_injectsbiterr(1'D0),
|
||||
.s_axi_injectdbiterr(1'D0),
|
||||
.s_axi_sbiterr(),
|
||||
.s_axi_dbiterr(),
|
||||
.s_axi_rdaddrecc()
|
||||
);
|
||||
endmodule
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,355 @@
|
|||
-- (c) Copyright 1995-2021 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.
|
||||
--
|
||||
-- DO NOT MODIFY THIS FILE.
|
||||
|
||||
-- IP VLNV: xilinx.com:ip:blk_mem_gen:8.4
|
||||
-- IP Revision: 4
|
||||
|
||||
LIBRARY ieee;
|
||||
USE ieee.std_logic_1164.ALL;
|
||||
USE ieee.numeric_std.ALL;
|
||||
|
||||
LIBRARY blk_mem_gen_v8_4_4;
|
||||
USE blk_mem_gen_v8_4_4.blk_mem_gen_v8_4_4;
|
||||
|
||||
ENTITY heart_20_20 IS
|
||||
PORT (
|
||||
clka : IN STD_LOGIC;
|
||||
ena : IN STD_LOGIC;
|
||||
addra : IN STD_LOGIC_VECTOR(8 DOWNTO 0);
|
||||
douta : OUT STD_LOGIC_VECTOR(11 DOWNTO 0)
|
||||
);
|
||||
END heart_20_20;
|
||||
|
||||
ARCHITECTURE heart_20_20_arch OF heart_20_20 IS
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings : STRING;
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings OF heart_20_20_arch: ARCHITECTURE IS "yes";
|
||||
COMPONENT blk_mem_gen_v8_4_4 IS
|
||||
GENERIC (
|
||||
C_FAMILY : STRING;
|
||||
C_XDEVICEFAMILY : STRING;
|
||||
C_ELABORATION_DIR : STRING;
|
||||
C_INTERFACE_TYPE : INTEGER;
|
||||
C_AXI_TYPE : INTEGER;
|
||||
C_AXI_SLAVE_TYPE : INTEGER;
|
||||
C_USE_BRAM_BLOCK : INTEGER;
|
||||
C_ENABLE_32BIT_ADDRESS : INTEGER;
|
||||
C_CTRL_ECC_ALGO : STRING;
|
||||
C_HAS_AXI_ID : INTEGER;
|
||||
C_AXI_ID_WIDTH : INTEGER;
|
||||
C_MEM_TYPE : INTEGER;
|
||||
C_BYTE_SIZE : INTEGER;
|
||||
C_ALGORITHM : INTEGER;
|
||||
C_PRIM_TYPE : INTEGER;
|
||||
C_LOAD_INIT_FILE : INTEGER;
|
||||
C_INIT_FILE_NAME : STRING;
|
||||
C_INIT_FILE : STRING;
|
||||
C_USE_DEFAULT_DATA : INTEGER;
|
||||
C_DEFAULT_DATA : STRING;
|
||||
C_HAS_RSTA : INTEGER;
|
||||
C_RST_PRIORITY_A : STRING;
|
||||
C_RSTRAM_A : INTEGER;
|
||||
C_INITA_VAL : STRING;
|
||||
C_HAS_ENA : INTEGER;
|
||||
C_HAS_REGCEA : INTEGER;
|
||||
C_USE_BYTE_WEA : INTEGER;
|
||||
C_WEA_WIDTH : INTEGER;
|
||||
C_WRITE_MODE_A : STRING;
|
||||
C_WRITE_WIDTH_A : INTEGER;
|
||||
C_READ_WIDTH_A : INTEGER;
|
||||
C_WRITE_DEPTH_A : INTEGER;
|
||||
C_READ_DEPTH_A : INTEGER;
|
||||
C_ADDRA_WIDTH : INTEGER;
|
||||
C_HAS_RSTB : INTEGER;
|
||||
C_RST_PRIORITY_B : STRING;
|
||||
C_RSTRAM_B : INTEGER;
|
||||
C_INITB_VAL : STRING;
|
||||
C_HAS_ENB : INTEGER;
|
||||
C_HAS_REGCEB : INTEGER;
|
||||
C_USE_BYTE_WEB : INTEGER;
|
||||
C_WEB_WIDTH : INTEGER;
|
||||
C_WRITE_MODE_B : STRING;
|
||||
C_WRITE_WIDTH_B : INTEGER;
|
||||
C_READ_WIDTH_B : INTEGER;
|
||||
C_WRITE_DEPTH_B : INTEGER;
|
||||
C_READ_DEPTH_B : INTEGER;
|
||||
C_ADDRB_WIDTH : INTEGER;
|
||||
C_HAS_MEM_OUTPUT_REGS_A : INTEGER;
|
||||
C_HAS_MEM_OUTPUT_REGS_B : INTEGER;
|
||||
C_HAS_MUX_OUTPUT_REGS_A : INTEGER;
|
||||
C_HAS_MUX_OUTPUT_REGS_B : INTEGER;
|
||||
C_MUX_PIPELINE_STAGES : INTEGER;
|
||||
C_HAS_SOFTECC_INPUT_REGS_A : INTEGER;
|
||||
C_HAS_SOFTECC_OUTPUT_REGS_B : INTEGER;
|
||||
C_USE_SOFTECC : INTEGER;
|
||||
C_USE_ECC : INTEGER;
|
||||
C_EN_ECC_PIPE : INTEGER;
|
||||
C_READ_LATENCY_A : INTEGER;
|
||||
C_READ_LATENCY_B : INTEGER;
|
||||
C_HAS_INJECTERR : INTEGER;
|
||||
C_SIM_COLLISION_CHECK : STRING;
|
||||
C_COMMON_CLK : INTEGER;
|
||||
C_DISABLE_WARN_BHV_COLL : INTEGER;
|
||||
C_EN_SLEEP_PIN : INTEGER;
|
||||
C_USE_URAM : INTEGER;
|
||||
C_EN_RDADDRA_CHG : INTEGER;
|
||||
C_EN_RDADDRB_CHG : INTEGER;
|
||||
C_EN_DEEPSLEEP_PIN : INTEGER;
|
||||
C_EN_SHUTDOWN_PIN : INTEGER;
|
||||
C_EN_SAFETY_CKT : INTEGER;
|
||||
C_DISABLE_WARN_BHV_RANGE : INTEGER;
|
||||
C_COUNT_36K_BRAM : STRING;
|
||||
C_COUNT_18K_BRAM : STRING;
|
||||
C_EST_POWER_SUMMARY : STRING
|
||||
);
|
||||
PORT (
|
||||
clka : IN STD_LOGIC;
|
||||
rsta : IN STD_LOGIC;
|
||||
ena : IN STD_LOGIC;
|
||||
regcea : IN STD_LOGIC;
|
||||
wea : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
addra : IN STD_LOGIC_VECTOR(8 DOWNTO 0);
|
||||
dina : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
douta : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
clkb : IN STD_LOGIC;
|
||||
rstb : IN STD_LOGIC;
|
||||
enb : IN STD_LOGIC;
|
||||
regceb : IN STD_LOGIC;
|
||||
web : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
addrb : IN STD_LOGIC_VECTOR(8 DOWNTO 0);
|
||||
dinb : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
doutb : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
injectsbiterr : IN STD_LOGIC;
|
||||
injectdbiterr : IN STD_LOGIC;
|
||||
eccpipece : IN STD_LOGIC;
|
||||
sbiterr : OUT STD_LOGIC;
|
||||
dbiterr : OUT STD_LOGIC;
|
||||
rdaddrecc : OUT STD_LOGIC_VECTOR(8 DOWNTO 0);
|
||||
sleep : IN STD_LOGIC;
|
||||
deepsleep : IN STD_LOGIC;
|
||||
shutdown : IN STD_LOGIC;
|
||||
rsta_busy : OUT STD_LOGIC;
|
||||
rstb_busy : OUT STD_LOGIC;
|
||||
s_aclk : IN STD_LOGIC;
|
||||
s_aresetn : IN STD_LOGIC;
|
||||
s_axi_awid : IN STD_LOGIC_VECTOR(3 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_awvalid : IN STD_LOGIC;
|
||||
s_axi_awready : OUT STD_LOGIC;
|
||||
s_axi_wdata : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
s_axi_wstrb : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
s_axi_wlast : IN STD_LOGIC;
|
||||
s_axi_wvalid : IN STD_LOGIC;
|
||||
s_axi_wready : OUT STD_LOGIC;
|
||||
s_axi_bid : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
|
||||
s_axi_bresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
|
||||
s_axi_bvalid : OUT STD_LOGIC;
|
||||
s_axi_bready : IN STD_LOGIC;
|
||||
s_axi_arid : IN STD_LOGIC_VECTOR(3 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_arvalid : IN STD_LOGIC;
|
||||
s_axi_arready : OUT STD_LOGIC;
|
||||
s_axi_rid : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
|
||||
s_axi_rdata : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
s_axi_rresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
|
||||
s_axi_rlast : OUT STD_LOGIC;
|
||||
s_axi_rvalid : OUT STD_LOGIC;
|
||||
s_axi_rready : IN STD_LOGIC;
|
||||
s_axi_injectsbiterr : IN STD_LOGIC;
|
||||
s_axi_injectdbiterr : IN STD_LOGIC;
|
||||
s_axi_sbiterr : OUT STD_LOGIC;
|
||||
s_axi_dbiterr : OUT STD_LOGIC;
|
||||
s_axi_rdaddrecc : OUT STD_LOGIC_VECTOR(8 DOWNTO 0)
|
||||
);
|
||||
END COMPONENT blk_mem_gen_v8_4_4;
|
||||
ATTRIBUTE X_CORE_INFO : STRING;
|
||||
ATTRIBUTE X_CORE_INFO OF heart_20_20_arch: ARCHITECTURE IS "blk_mem_gen_v8_4_4,Vivado 2019.2";
|
||||
ATTRIBUTE CHECK_LICENSE_TYPE : STRING;
|
||||
ATTRIBUTE CHECK_LICENSE_TYPE OF heart_20_20_arch : ARCHITECTURE IS "heart_20_20,blk_mem_gen_v8_4_4,{}";
|
||||
ATTRIBUTE CORE_GENERATION_INFO : STRING;
|
||||
ATTRIBUTE CORE_GENERATION_INFO OF heart_20_20_arch: ARCHITECTURE IS "heart_20_20,blk_mem_gen_v8_4_4,{x_ipProduct=Vivado 2019.2,x_ipVendor=xilinx.com,x_ipLibrary=ip,x_ipName=blk_mem_gen,x_ipVersion=8.4,x_ipCoreRevision=4,x_ipLanguage=VERILOG,x_ipSimLanguage=MIXED,C_FAMILY=artix7,C_XDEVICEFAMILY=artix7,C_ELABORATION_DIR=./,C_INTERFACE_TYPE=0,C_AXI_TYPE=1,C_AXI_SLAVE_TYPE=0,C_USE_BRAM_BLOCK=0,C_ENABLE_32BIT_ADDRESS=0,C_CTRL_ECC_ALGO=NONE,C_HAS_AXI_ID=0,C_AXI_ID_WIDTH=4,C_MEM_TYPE=3,C_BYTE_SIZE=9,C_ALGORITHM=1,C_PRIM_TYPE=1,C_LOAD_INIT_FILE=1,C_INIT_FILE_NAME=heart_2" &
|
||||
"0_20.mif,C_INIT_FILE=heart_20_20.mem,C_USE_DEFAULT_DATA=0,C_DEFAULT_DATA=0,C_HAS_RSTA=0,C_RST_PRIORITY_A=CE,C_RSTRAM_A=0,C_INITA_VAL=0,C_HAS_ENA=1,C_HAS_REGCEA=0,C_USE_BYTE_WEA=0,C_WEA_WIDTH=1,C_WRITE_MODE_A=WRITE_FIRST,C_WRITE_WIDTH_A=12,C_READ_WIDTH_A=12,C_WRITE_DEPTH_A=400,C_READ_DEPTH_A=400,C_ADDRA_WIDTH=9,C_HAS_RSTB=0,C_RST_PRIORITY_B=CE,C_RSTRAM_B=0,C_INITB_VAL=0,C_HAS_ENB=0,C_HAS_REGCEB=0,C_USE_BYTE_WEB=0,C_WEB_WIDTH=1,C_WRITE_MODE_B=WRITE_FIRST,C_WRITE_WIDTH_B=12,C_READ_WIDTH_B=12,C_WRIT" &
|
||||
"E_DEPTH_B=400,C_READ_DEPTH_B=400,C_ADDRB_WIDTH=9,C_HAS_MEM_OUTPUT_REGS_A=1,C_HAS_MEM_OUTPUT_REGS_B=0,C_HAS_MUX_OUTPUT_REGS_A=0,C_HAS_MUX_OUTPUT_REGS_B=0,C_MUX_PIPELINE_STAGES=0,C_HAS_SOFTECC_INPUT_REGS_A=0,C_HAS_SOFTECC_OUTPUT_REGS_B=0,C_USE_SOFTECC=0,C_USE_ECC=0,C_EN_ECC_PIPE=0,C_READ_LATENCY_A=1,C_READ_LATENCY_B=1,C_HAS_INJECTERR=0,C_SIM_COLLISION_CHECK=ALL,C_COMMON_CLK=0,C_DISABLE_WARN_BHV_COLL=0,C_EN_SLEEP_PIN=0,C_USE_URAM=0,C_EN_RDADDRA_CHG=0,C_EN_RDADDRB_CHG=0,C_EN_DEEPSLEEP_PIN=0,C_EN_SHU" &
|
||||
"TDOWN_PIN=0,C_EN_SAFETY_CKT=0,C_DISABLE_WARN_BHV_RANGE=0,C_COUNT_36K_BRAM=0,C_COUNT_18K_BRAM=1,C_EST_POWER_SUMMARY=Estimated Power for IP _ 2.5432 mW}";
|
||||
ATTRIBUTE X_INTERFACE_INFO : STRING;
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER : STRING;
|
||||
ATTRIBUTE X_INTERFACE_INFO OF douta: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA DOUT";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF addra: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA ADDR";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF ena: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA EN";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF clka: SIGNAL IS "XIL_INTERFACENAME BRAM_PORTA, MEM_SIZE 8192, MEM_WIDTH 32, MEM_ECC NONE, MASTER_TYPE OTHER, READ_LATENCY 1";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF clka: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA CLK";
|
||||
BEGIN
|
||||
U0 : blk_mem_gen_v8_4_4
|
||||
GENERIC MAP (
|
||||
C_FAMILY => "artix7",
|
||||
C_XDEVICEFAMILY => "artix7",
|
||||
C_ELABORATION_DIR => "./",
|
||||
C_INTERFACE_TYPE => 0,
|
||||
C_AXI_TYPE => 1,
|
||||
C_AXI_SLAVE_TYPE => 0,
|
||||
C_USE_BRAM_BLOCK => 0,
|
||||
C_ENABLE_32BIT_ADDRESS => 0,
|
||||
C_CTRL_ECC_ALGO => "NONE",
|
||||
C_HAS_AXI_ID => 0,
|
||||
C_AXI_ID_WIDTH => 4,
|
||||
C_MEM_TYPE => 3,
|
||||
C_BYTE_SIZE => 9,
|
||||
C_ALGORITHM => 1,
|
||||
C_PRIM_TYPE => 1,
|
||||
C_LOAD_INIT_FILE => 1,
|
||||
C_INIT_FILE_NAME => "heart_20_20.mif",
|
||||
C_INIT_FILE => "heart_20_20.mem",
|
||||
C_USE_DEFAULT_DATA => 0,
|
||||
C_DEFAULT_DATA => "0",
|
||||
C_HAS_RSTA => 0,
|
||||
C_RST_PRIORITY_A => "CE",
|
||||
C_RSTRAM_A => 0,
|
||||
C_INITA_VAL => "0",
|
||||
C_HAS_ENA => 1,
|
||||
C_HAS_REGCEA => 0,
|
||||
C_USE_BYTE_WEA => 0,
|
||||
C_WEA_WIDTH => 1,
|
||||
C_WRITE_MODE_A => "WRITE_FIRST",
|
||||
C_WRITE_WIDTH_A => 12,
|
||||
C_READ_WIDTH_A => 12,
|
||||
C_WRITE_DEPTH_A => 400,
|
||||
C_READ_DEPTH_A => 400,
|
||||
C_ADDRA_WIDTH => 9,
|
||||
C_HAS_RSTB => 0,
|
||||
C_RST_PRIORITY_B => "CE",
|
||||
C_RSTRAM_B => 0,
|
||||
C_INITB_VAL => "0",
|
||||
C_HAS_ENB => 0,
|
||||
C_HAS_REGCEB => 0,
|
||||
C_USE_BYTE_WEB => 0,
|
||||
C_WEB_WIDTH => 1,
|
||||
C_WRITE_MODE_B => "WRITE_FIRST",
|
||||
C_WRITE_WIDTH_B => 12,
|
||||
C_READ_WIDTH_B => 12,
|
||||
C_WRITE_DEPTH_B => 400,
|
||||
C_READ_DEPTH_B => 400,
|
||||
C_ADDRB_WIDTH => 9,
|
||||
C_HAS_MEM_OUTPUT_REGS_A => 1,
|
||||
C_HAS_MEM_OUTPUT_REGS_B => 0,
|
||||
C_HAS_MUX_OUTPUT_REGS_A => 0,
|
||||
C_HAS_MUX_OUTPUT_REGS_B => 0,
|
||||
C_MUX_PIPELINE_STAGES => 0,
|
||||
C_HAS_SOFTECC_INPUT_REGS_A => 0,
|
||||
C_HAS_SOFTECC_OUTPUT_REGS_B => 0,
|
||||
C_USE_SOFTECC => 0,
|
||||
C_USE_ECC => 0,
|
||||
C_EN_ECC_PIPE => 0,
|
||||
C_READ_LATENCY_A => 1,
|
||||
C_READ_LATENCY_B => 1,
|
||||
C_HAS_INJECTERR => 0,
|
||||
C_SIM_COLLISION_CHECK => "ALL",
|
||||
C_COMMON_CLK => 0,
|
||||
C_DISABLE_WARN_BHV_COLL => 0,
|
||||
C_EN_SLEEP_PIN => 0,
|
||||
C_USE_URAM => 0,
|
||||
C_EN_RDADDRA_CHG => 0,
|
||||
C_EN_RDADDRB_CHG => 0,
|
||||
C_EN_DEEPSLEEP_PIN => 0,
|
||||
C_EN_SHUTDOWN_PIN => 0,
|
||||
C_EN_SAFETY_CKT => 0,
|
||||
C_DISABLE_WARN_BHV_RANGE => 0,
|
||||
C_COUNT_36K_BRAM => "0",
|
||||
C_COUNT_18K_BRAM => "1",
|
||||
C_EST_POWER_SUMMARY => "Estimated Power for IP : 2.5432 mW"
|
||||
)
|
||||
PORT MAP (
|
||||
clka => clka,
|
||||
rsta => '0',
|
||||
ena => ena,
|
||||
regcea => '0',
|
||||
wea => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
addra => addra,
|
||||
dina => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 12)),
|
||||
douta => douta,
|
||||
clkb => '0',
|
||||
rstb => '0',
|
||||
enb => '0',
|
||||
regceb => '0',
|
||||
web => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
addrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 9)),
|
||||
dinb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 12)),
|
||||
injectsbiterr => '0',
|
||||
injectdbiterr => '0',
|
||||
eccpipece => '0',
|
||||
sleep => '0',
|
||||
deepsleep => '0',
|
||||
shutdown => '0',
|
||||
s_aclk => '0',
|
||||
s_aresetn => '0',
|
||||
s_axi_awid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
|
||||
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_awvalid => '0',
|
||||
s_axi_wdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 12)),
|
||||
s_axi_wstrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
s_axi_wlast => '0',
|
||||
s_axi_wvalid => '0',
|
||||
s_axi_bready => '0',
|
||||
s_axi_arid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
|
||||
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_arvalid => '0',
|
||||
s_axi_rready => '0',
|
||||
s_axi_injectsbiterr => '0',
|
||||
s_axi_injectdbiterr => '0'
|
||||
);
|
||||
END heart_20_20_arch;
|
||||
|
|
@ -0,0 +1,207 @@
|
|||
2019.2:
|
||||
* Version 8.4 (Rev. 4)
|
||||
* Feature Enhancement: Read Latency parameters exposed to IP GUI for URAM configurations
|
||||
|
||||
2019.1.3:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* No changes
|
||||
|
||||
2019.1.2:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* No changes
|
||||
|
||||
2019.1.1:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* No changes
|
||||
|
||||
2019.1:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* General: Internal device family change, no functional changes
|
||||
|
||||
2018.3.1:
|
||||
* Version 8.4 (Rev. 2)
|
||||
* No changes
|
||||
|
||||
2018.3:
|
||||
* Version 8.4 (Rev. 2)
|
||||
* Feature Enhancement: Read Latency Support added for URAM when selected through IP Integrator
|
||||
* Other: Power Calculations disabled for URAM primitives in IP GUI, no functional changes
|
||||
* Other: Internal device family change, no functional changes
|
||||
|
||||
2018.2:
|
||||
* Version 8.4 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2018.1:
|
||||
* Version 8.4 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2017.4:
|
||||
* Version 8.4 (Rev. 1)
|
||||
* General: Write depth shown in IP GUI is now dependent on number of BRAMs available in a chosen device, no functional changes
|
||||
|
||||
2017.3:
|
||||
* Version 8.4
|
||||
* General: Safety Circuit option is enabled by default if reset option in any one port is enabled
|
||||
|
||||
2017.2:
|
||||
* Version 8.3 (Rev. 6)
|
||||
* No changes
|
||||
|
||||
2017.1:
|
||||
* Version 8.3 (Rev. 6)
|
||||
* General: Internal device family change, no functional changes
|
||||
* General: When common_clock is selected clkb is internally connected to clka, but the interface remains same to support the backword compatiability. User make sure of connecting the both the clocks to same clock source when in common_clock mode
|
||||
|
||||
2016.4:
|
||||
* Version 8.3 (Rev. 5)
|
||||
* General: Fixes for behavioral Model issues when built-IN ECC is enabled (to be consistent with RTL)
|
||||
|
||||
2016.3:
|
||||
* Version 8.3 (Rev. 4)
|
||||
* Feature Enhancement: URAM addressing updates while calling XPM_Memory when 32-bit addressing is enabled
|
||||
* Other: Enable support for future devices
|
||||
* Other: Source HDL files are concatenated into a single file to speed up synthesis and simulation. No changes required by the user
|
||||
|
||||
2016.2:
|
||||
* Version 8.3 (Rev. 3)
|
||||
* updated the IP,not to set WRITE_DEPTH parameter to 8192 everytime when the mode is switched to BRAM_Controller
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2016.1:
|
||||
* Version 8.3 (Rev. 2)
|
||||
* Updated the IP to deliver only verilog behavioral model
|
||||
* Updated the IP to support UltraRAM in IP Integrator
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2015.4.2:
|
||||
* Version 8.3 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2015.4.1:
|
||||
* Version 8.3 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2015.4:
|
||||
* Version 8.3 (Rev. 1)
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2015.3:
|
||||
* Version 8.3
|
||||
* IP revision number added to HDL module, library, and include file names, to support designs with both locked and upgraded IP instances
|
||||
* New ports rsta_busy and rstb_busy are added to enable the safety circuitry to minimize the occurrence of BRAM data corruption
|
||||
* Simulation models are delivered in VHDL only
|
||||
|
||||
2015.2.1:
|
||||
* Version 8.2 (Rev. 5)
|
||||
* No changes
|
||||
|
||||
2015.2:
|
||||
* Version 8.2 (Rev. 5)
|
||||
* No changes
|
||||
|
||||
2015.1:
|
||||
* Version 8.2 (Rev. 5)
|
||||
* Delivering non encrypted behavioral models
|
||||
* Supported memory depth is increased up to 1M words
|
||||
* Added the power saving feature (RDADDRCHG) for ultrascale devices
|
||||
* Supported devices and production status are now determined automatically, to simplify support for future devices
|
||||
|
||||
2014.4.1:
|
||||
* Version 8.2 (Rev. 4)
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2014.4:
|
||||
* Version 8.2 (Rev. 3)
|
||||
* Encrypted source files are concatenated together to reduce the number of files and to reduce simulator compile time
|
||||
* Added support for 7-series Automotive (XA) and Defense Grade (XQ) devices
|
||||
* Internal device family change, no functional changes
|
||||
|
||||
2014.3:
|
||||
* Version 8.2 (Rev. 2)
|
||||
* Fixed the Memory Resource Doubling issue in Simple Dual Port RAM when aspect ratio is used
|
||||
* Fixed the GUI crash in Simple Dual Port RAM
|
||||
* Added support of all write modes in Simple Dual Port RAM when ECC is not used
|
||||
* Increased the supported depth to a maximum value of 256k
|
||||
|
||||
2014.2:
|
||||
* Version 8.2 (Rev. 1)
|
||||
* Updated the GUI tool tip for Byte write enable in the page-1 of block memory generator GUI
|
||||
|
||||
2014.1:
|
||||
* Version 8.2
|
||||
* Added support of the cascaded Primitives of widths 1 and 2 for ultra-scale devices
|
||||
* Added support of the ECCPIPE register in the built-in ecc mode for ultra-scale devices
|
||||
* Added support of the dynamic power saving for ultra-scale devices
|
||||
* Improved timing efficiency in the IP Integrator by minimizing the use of output mux for the 7-series devices
|
||||
* Internal device family name change, no functional changes
|
||||
|
||||
2013.4:
|
||||
* Version 8.1
|
||||
* The Primitive output registers are made "ON" by default in the stand alone mode
|
||||
* Added cascaded support for ultrascale devices to construct 64Kx1 primitive by using two 32Kx1 primitives
|
||||
* Added support for ultrascale devices
|
||||
|
||||
2013.3:
|
||||
* Version 8.0 (Rev. 2)
|
||||
* Added parameter "CTRL_ECC_ALGO" for supporting ECC in IP Integrator.
|
||||
* Improved GUI speed and responsivness, no functional changes
|
||||
* Reduced synthesis and simulation warnings
|
||||
* Added support for Cadence IES and Synopsys VCS simulators
|
||||
* Changed the default option of ENABLE PORT TYPE to "USE_ENA_PIN"
|
||||
* Changed BRAM Interface DIN and DOUT to match bus interface directions.
|
||||
|
||||
2013.2:
|
||||
* Version 8.0 (Rev. 1)
|
||||
* No Changes
|
||||
|
||||
2013.1:
|
||||
* Version 8.0
|
||||
* Native Vivado Release
|
||||
* There have been no functional or interface changes to this IP. The version number has changed to support unique versioning in Vivado starting with 2013.1.
|
||||
|
||||
(c) Copyright 2002 - 2019 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.
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,150 @@
|
|||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
|
||||
entity blk_mem_gen_v8_4_4 is
|
||||
generic (
|
||||
C_FAMILY : string := "virtex7";
|
||||
C_XDEVICEFAMILY : string := "virtex7";
|
||||
C_ELABORATION_DIR : string := "";
|
||||
C_INTERFACE_TYPE : integer := 0;
|
||||
C_AXI_TYPE : integer := 1;
|
||||
C_AXI_SLAVE_TYPE : integer := 0;
|
||||
C_USE_BRAM_BLOCK : integer := 0;
|
||||
C_ENABLE_32BIT_ADDRESS : integer := 0;
|
||||
C_CTRL_ECC_ALGO : string := "ECCHSIAO32-7";
|
||||
C_HAS_AXI_ID : integer := 0;
|
||||
C_AXI_ID_WIDTH : integer := 4;
|
||||
C_MEM_TYPE : integer := 2;
|
||||
C_BYTE_SIZE : integer := 9;
|
||||
C_ALGORITHM : integer := 0;
|
||||
C_PRIM_TYPE : integer := 3;
|
||||
C_LOAD_INIT_FILE : integer := 0;
|
||||
C_INIT_FILE_NAME : string := "no_coe_file_loaded";
|
||||
C_INIT_FILE : string := "no_mem_file_loaded";
|
||||
C_USE_DEFAULT_DATA : integer := 0;
|
||||
C_DEFAULT_DATA : string := "0";
|
||||
C_HAS_RSTA : integer := 0;
|
||||
C_RST_PRIORITY_A : string := "ce";
|
||||
C_RSTRAM_A : integer := 0;
|
||||
C_INITA_VAL : string := "0";
|
||||
C_HAS_ENA : integer := 1;
|
||||
C_HAS_REGCEA : integer := 0;
|
||||
C_USE_BYTE_WEA : integer := 0;
|
||||
C_WEA_WIDTH : integer := 1;
|
||||
C_WRITE_MODE_A : string := "WRITE_FIRST";
|
||||
C_WRITE_WIDTH_A : integer := 9;
|
||||
C_READ_WIDTH_A : integer := 9;
|
||||
C_WRITE_DEPTH_A : integer := 2048;
|
||||
C_READ_DEPTH_A : integer := 2048;
|
||||
C_ADDRA_WIDTH : integer := 11;
|
||||
C_HAS_RSTB : integer := 0;
|
||||
C_RST_PRIORITY_B : string := "ce";
|
||||
C_RSTRAM_B : integer := 0;
|
||||
C_INITB_VAL : string := "0";
|
||||
C_HAS_ENB : integer := 1;
|
||||
C_HAS_REGCEB : integer := 0;
|
||||
C_USE_BYTE_WEB : integer := 0;
|
||||
C_WEB_WIDTH : integer := 1;
|
||||
C_WRITE_MODE_B : string := "WRITE_FIRST";
|
||||
C_WRITE_WIDTH_B : integer := 9;
|
||||
C_READ_WIDTH_B : integer := 9;
|
||||
C_WRITE_DEPTH_B : integer := 2048;
|
||||
C_READ_DEPTH_B : integer := 2048;
|
||||
C_ADDRB_WIDTH : integer := 11;
|
||||
C_HAS_MEM_OUTPUT_REGS_A : integer := 0;
|
||||
C_HAS_MEM_OUTPUT_REGS_B : integer := 0;
|
||||
C_HAS_MUX_OUTPUT_REGS_A : integer := 0;
|
||||
C_HAS_MUX_OUTPUT_REGS_B : integer := 0;
|
||||
C_MUX_PIPELINE_STAGES : integer := 0;
|
||||
C_HAS_SOFTECC_INPUT_REGS_A : integer := 0;
|
||||
C_HAS_SOFTECC_OUTPUT_REGS_B : integer := 0;
|
||||
C_USE_SOFTECC : integer := 0;
|
||||
C_USE_ECC : integer := 0;
|
||||
C_EN_ECC_PIPE : integer := 0;
|
||||
C_HAS_INJECTERR : integer := 0;
|
||||
C_SIM_COLLISION_CHECK : string := "none";
|
||||
C_COMMON_CLK : integer := 0;
|
||||
C_DISABLE_WARN_BHV_COLL : integer := 0;
|
||||
C_EN_SLEEP_PIN : integer := 0;
|
||||
C_USE_URAM : integer := 0;
|
||||
C_EN_RDADDRA_CHG : integer := 0;
|
||||
C_EN_RDADDRB_CHG : integer := 0;
|
||||
C_EN_DEEPSLEEP_PIN : integer := 0;
|
||||
C_EN_SHUTDOWN_PIN : integer := 0;
|
||||
C_EN_SAFETY_CKT : integer := 0;
|
||||
C_DISABLE_WARN_BHV_RANGE : integer := 0;
|
||||
C_COUNT_36K_BRAM : string := "";
|
||||
C_COUNT_18K_BRAM : string := "";
|
||||
C_EST_POWER_SUMMARY : string := ""
|
||||
);
|
||||
port (
|
||||
clka : in std_logic := '0';
|
||||
rsta : in std_logic := '0';
|
||||
ena : in std_logic := '0';
|
||||
regcea : in std_logic := '0';
|
||||
wea : in std_logic_vector(c_wea_width - 1 downto 0) := (others => '0');
|
||||
addra : in std_logic_vector(c_addra_width - 1 downto 0) := (others => '0');
|
||||
dina : in std_logic_vector(c_write_width_a - 1 downto 0) := (others => '0');
|
||||
douta : out std_logic_vector(c_read_width_a - 1 downto 0);
|
||||
clkb : in std_logic := '0';
|
||||
rstb : in std_logic := '0';
|
||||
enb : in std_logic := '0';
|
||||
regceb : in std_logic := '0';
|
||||
web : in std_logic_vector(c_web_width - 1 downto 0) := (others => '0');
|
||||
addrb : in std_logic_vector(c_addrb_width - 1 downto 0) := (others => '0');
|
||||
dinb : in std_logic_vector(c_write_width_b - 1 downto 0) := (others => '0');
|
||||
doutb : out std_logic_vector(c_read_width_b - 1 downto 0);
|
||||
injectsbiterr : in std_logic := '0';
|
||||
injectdbiterr : in std_logic := '0';
|
||||
eccpipece : in std_logic := '0';
|
||||
sbiterr : out std_logic;
|
||||
dbiterr : out std_logic;
|
||||
rdaddrecc : out std_logic_vector(c_addrb_width - 1 downto 0);
|
||||
sleep : in std_logic := '0';
|
||||
deepsleep : in std_logic := '0';
|
||||
shutdown : in std_logic := '0';
|
||||
rsta_busy : out std_logic;
|
||||
rstb_busy : out std_logic;
|
||||
s_aclk : in std_logic := '0';
|
||||
s_aresetn : in std_logic := '0';
|
||||
s_axi_awid : in std_logic_vector(c_axi_id_width - 1 downto 0) := (others => '0');
|
||||
s_axi_awaddr : in std_logic_vector(31 downto 0) := (others => '0');
|
||||
s_axi_awlen : in std_logic_vector(7 downto 0) := (others => '0');
|
||||
s_axi_awsize : in std_logic_vector(2 downto 0) := (others => '0');
|
||||
s_axi_awburst : in std_logic_vector(1 downto 0) := (others => '0');
|
||||
s_axi_awvalid : in std_logic := '0';
|
||||
s_axi_awready : out std_logic;
|
||||
s_axi_wdata : in std_logic_vector(c_write_width_a - 1 downto 0) := (others => '0');
|
||||
s_axi_wstrb : in std_logic_vector(c_wea_width - 1 downto 0) := (others => '0');
|
||||
s_axi_wlast : in std_logic := '0';
|
||||
s_axi_wvalid : in std_logic := '0';
|
||||
s_axi_wready : out std_logic;
|
||||
s_axi_bid : out std_logic_vector(c_axi_id_width - 1 downto 0);
|
||||
s_axi_bresp : out std_logic_vector(1 downto 0);
|
||||
s_axi_bvalid : out std_logic;
|
||||
s_axi_bready : in std_logic := '0';
|
||||
s_axi_arid : in std_logic_vector(c_axi_id_width - 1 downto 0) := (others => '0');
|
||||
s_axi_araddr : in std_logic_vector(31 downto 0) := (others => '0');
|
||||
s_axi_arlen : in std_logic_vector(8 - 1 downto 0) := (others => '0');
|
||||
s_axi_arsize : in std_logic_vector(2 downto 0) := (others => '0');
|
||||
s_axi_arburst : in std_logic_vector(1 downto 0) := (others => '0');
|
||||
s_axi_arvalid : in std_logic := '0';
|
||||
s_axi_arready : out std_logic;
|
||||
s_axi_rid : out std_logic_vector(c_axi_id_width - 1 downto 0);
|
||||
s_axi_rdata : out std_logic_vector(c_write_width_b - 1 downto 0);
|
||||
s_axi_rresp : out std_logic_vector(2 - 1 downto 0);
|
||||
s_axi_rlast : out std_logic;
|
||||
s_axi_rvalid : out std_logic;
|
||||
s_axi_rready : in std_logic := '0';
|
||||
s_axi_injectsbiterr : in std_logic := '0';
|
||||
s_axi_injectdbiterr : in std_logic := '0';
|
||||
s_axi_sbiterr : out std_logic;
|
||||
s_axi_dbiterr : out std_logic;
|
||||
s_axi_rdaddrecc : out std_logic_vector(c_addrb_width - 1 downto 0)
|
||||
);
|
||||
end entity blk_mem_gen_v8_4_4;
|
||||
|
||||
architecture xilinx of blk_mem_gen_v8_4_4 is
|
||||
begin
|
||||
end
|
||||
architecture xilinx;
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,312 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<spirit:vendor>xilinx.com</spirit:vendor>
|
||||
<spirit:library>xci</spirit:library>
|
||||
<spirit:name>unknown</spirit:name>
|
||||
<spirit:version>1.0</spirit:version>
|
||||
<spirit:componentInstances>
|
||||
<spirit:componentInstance>
|
||||
<spirit:instanceName>player1win_180_32</spirit:instanceName>
|
||||
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="blk_mem_gen" spirit:version="8.4"/>
|
||||
<spirit:configurableElementValues>
|
||||
<spirit:configurableElementValue spirit:referenceId="ADDRBLOCK_RANGE.S_1.Mem0">4096</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MASTER_TYPE">OTHER</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MEM_ECC">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MEM_SIZE">8192</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MEM_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.READ_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.READ_WRITE_MODE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MASTER_TYPE">OTHER</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MEM_ECC">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MEM_SIZE">8192</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MEM_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.READ_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.READ_WRITE_MODE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RST.ARESETN.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ADDRA_WIDTH">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ADDRB_WIDTH">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ALGORITHM">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ID_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_SLAVE_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_BYTE_SIZE">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COMMON_CLK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_18K_BRAM">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_36K_BRAM">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CTRL_ECC_ALGO">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DEFAULT_DATA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DISABLE_WARN_BHV_COLL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DISABLE_WARN_BHV_RANGE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ELABORATION_DIR">./</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_32BIT_ADDRESS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_DEEPSLEEP_PIN">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_ECC_PIPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_RDADDRA_CHG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_RDADDRB_CHG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SAFETY_CKT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SHUTDOWN_PIN">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SLEEP_PIN">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EST_POWER_SUMMARY">Estimated Power for IP : 4.291207 mW</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FAMILY">artix7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ENA">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ENB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_INJECTERR">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEM_OUTPUT_REGS_A">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEM_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MUX_OUTPUT_REGS_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MUX_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_REGCEA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_REGCEB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RSTA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RSTB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SOFTECC_INPUT_REGS_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SOFTECC_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INITA_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INITB_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INIT_FILE">player1win_180_32.mem</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INIT_FILE_NAME">player1win_180_32.mif</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INTERFACE_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_LOAD_INIT_FILE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MEM_TYPE">3</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MUX_PIPELINE_STAGES">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_DEPTH_A">5760</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_DEPTH_B">5760</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_LATENCY_A">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_LATENCY_B">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_WIDTH_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_WIDTH_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RSTRAM_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RSTRAM_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RST_PRIORITY_A">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RST_PRIORITY_B">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SIM_COLLISION_CHECK">ALL</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_BRAM_BLOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_BYTE_WEA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_BYTE_WEB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_DEFAULT_DATA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_SOFTECC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_URAM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WEA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WEB_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_DEPTH_A">5760</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_DEPTH_B">5760</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_MODE_A">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_MODE_B">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_WIDTH_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_WIDTH_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_XDEVICEFAMILY">artix7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXI_ID_Width">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXI_Slave_Type">Memory_Slave</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXI_Type">AXI4_Full</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Additional_Inputs_for_Power_Estimation">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Algorithm">Minimum_Area</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Assume_Synchronous_Clk">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Byte_Size">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CTRL_ECC_ALGO">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Coe_File">../../../pic/player1win_180_32.coe</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Collision_Warnings">ALL</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Component_Name">player1win_180_32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Collision_Warnings">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Out_of_Range_Warnings">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ECC">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_DEEPSLEEP_PIN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_ECC_PIPE">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SAFETY_CKT">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SHUTDOWN_PIN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SLEEP_PIN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_32bit_Address">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_A">Use_ENA_Pin</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_B">Always_Enabled</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Error_Injection_Type">Single_Bit_Error_Injection</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Fill_Remaining_Memory_Locations">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Interface_Type">Native</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Load_Init_File">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MEM_FILE">no_mem_loaded</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Memory_Type">Single_Port_ROM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Operating_Mode_A">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Operating_Mode_B">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Reset_Value_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Reset_Value_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.PRIM_type_to_Implement">BRAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Pipeline_Stages">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_A_Clock">100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_A_Enable_Rate">100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_A_Write_Rate">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_B_Clock">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_B_Enable_Rate">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_B_Write_Rate">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Primitive">8kx2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RD_ADDR_CHNG_A">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RD_ADDR_CHNG_B">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.READ_LATENCY_A">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.READ_LATENCY_B">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Width_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Width_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortA_Output_of_Memory_Core">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortA_Output_of_Memory_Primitives">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortB_Output_of_Memory_Core">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortB_Output_of_Memory_Primitives">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Remaining_Memory_Locations">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Memory_Latch_A">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Memory_Latch_B">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Priority_A">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Priority_B">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Type">SYNC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_AXI_ID">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Byte_Write_Enable">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Error_Injection_Pins">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_REGCEA_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_REGCEB_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_RSTA_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_RSTB_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Depth_A">5760</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Width_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Width_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ecctype">No_ECC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.register_porta_input_of_softecc">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.register_portb_output_of_softecc">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.softecc">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.use_bram_block">Stand_Alone</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.ARCHITECTURE">artix7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BASE_BOARD_PART"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BOARD_CONNECTIONS"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.DEVICE">xc7a100t</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PACKAGE">csg324</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PREFHDL">VERILOG</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SILICON_REVISION"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SIMULATOR_LANGUAGE">MIXED</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SPEEDGRADE">-1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.STATIC_POWER"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.TEMPERATURE_GRADE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_CUSTOMIZATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_GENERATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPCONTEXT">IP_Flow</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPREVISION">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.MANAGED">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SELECTEDSIMMODEL"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SWVERSION">2019.2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SYNTHESISFLOW">OUT_OF_CONTEXT</spirit:configurableElementValue>
|
||||
</spirit:configurableElementValues>
|
||||
<spirit:vendorExtensions>
|
||||
<xilinx:componentInstanceExtensions>
|
||||
<xilinx:configElementInfos>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ARUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.AWUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_CACHE" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_PROT" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ARUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.AWUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_CACHE" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_PROT" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Coe_File" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Load_Init_File" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Memory_Type" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Port_A_Write_Rate" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Read_Width_A" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Read_Width_B" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Depth_A" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Width_A" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Width_B" xilinx:valueSource="user"/>
|
||||
</xilinx:configElementInfos>
|
||||
</xilinx:componentInstanceExtensions>
|
||||
</spirit:vendorExtensions>
|
||||
</spirit:componentInstance>
|
||||
</spirit:componentInstances>
|
||||
</spirit:design>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,55 @@
|
|||
################################################################################
|
||||
#
|
||||
# (c) Copyright 2002 - 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.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# Core Period Constraint. This constraint can be modified, and is
|
||||
# valid as long as it is met after place and route.
|
||||
create_clock -name "TS_CLKA" -period 20.0 [ get_ports clka ]
|
||||
set_property HD.CLK_SRC BUFGCTRL_X0Y0 [ get_ports clka ]
|
||||
################################################################################
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,214 @@
|
|||
// (c) Copyright 1995-2021 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.
|
||||
//
|
||||
// DO NOT MODIFY THIS FILE.
|
||||
|
||||
|
||||
// IP VLNV: xilinx.com:ip:blk_mem_gen:8.4
|
||||
// IP Revision: 4
|
||||
|
||||
`timescale 1ns/1ps
|
||||
|
||||
(* DowngradeIPIdentifiedWarnings = "yes" *)
|
||||
module player1win_180_32 (
|
||||
clka,
|
||||
ena,
|
||||
addra,
|
||||
douta
|
||||
);
|
||||
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA CLK" *)
|
||||
input wire clka;
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA EN" *)
|
||||
input wire ena;
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA ADDR" *)
|
||||
input wire [12 : 0] addra;
|
||||
(* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME BRAM_PORTA, MEM_SIZE 8192, MEM_WIDTH 32, MEM_ECC NONE, MASTER_TYPE OTHER, READ_LATENCY 1" *)
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA DOUT" *)
|
||||
output wire [11 : 0] douta;
|
||||
|
||||
blk_mem_gen_v8_4_4 #(
|
||||
.C_FAMILY("artix7"),
|
||||
.C_XDEVICEFAMILY("artix7"),
|
||||
.C_ELABORATION_DIR("./"),
|
||||
.C_INTERFACE_TYPE(0),
|
||||
.C_AXI_TYPE(1),
|
||||
.C_AXI_SLAVE_TYPE(0),
|
||||
.C_USE_BRAM_BLOCK(0),
|
||||
.C_ENABLE_32BIT_ADDRESS(0),
|
||||
.C_CTRL_ECC_ALGO("NONE"),
|
||||
.C_HAS_AXI_ID(0),
|
||||
.C_AXI_ID_WIDTH(4),
|
||||
.C_MEM_TYPE(3),
|
||||
.C_BYTE_SIZE(9),
|
||||
.C_ALGORITHM(1),
|
||||
.C_PRIM_TYPE(1),
|
||||
.C_LOAD_INIT_FILE(1),
|
||||
.C_INIT_FILE_NAME("player1win_180_32.mif"),
|
||||
.C_INIT_FILE("player1win_180_32.mem"),
|
||||
.C_USE_DEFAULT_DATA(0),
|
||||
.C_DEFAULT_DATA("0"),
|
||||
.C_HAS_RSTA(0),
|
||||
.C_RST_PRIORITY_A("CE"),
|
||||
.C_RSTRAM_A(0),
|
||||
.C_INITA_VAL("0"),
|
||||
.C_HAS_ENA(1),
|
||||
.C_HAS_REGCEA(0),
|
||||
.C_USE_BYTE_WEA(0),
|
||||
.C_WEA_WIDTH(1),
|
||||
.C_WRITE_MODE_A("WRITE_FIRST"),
|
||||
.C_WRITE_WIDTH_A(12),
|
||||
.C_READ_WIDTH_A(12),
|
||||
.C_WRITE_DEPTH_A(5760),
|
||||
.C_READ_DEPTH_A(5760),
|
||||
.C_ADDRA_WIDTH(13),
|
||||
.C_HAS_RSTB(0),
|
||||
.C_RST_PRIORITY_B("CE"),
|
||||
.C_RSTRAM_B(0),
|
||||
.C_INITB_VAL("0"),
|
||||
.C_HAS_ENB(0),
|
||||
.C_HAS_REGCEB(0),
|
||||
.C_USE_BYTE_WEB(0),
|
||||
.C_WEB_WIDTH(1),
|
||||
.C_WRITE_MODE_B("WRITE_FIRST"),
|
||||
.C_WRITE_WIDTH_B(12),
|
||||
.C_READ_WIDTH_B(12),
|
||||
.C_WRITE_DEPTH_B(5760),
|
||||
.C_READ_DEPTH_B(5760),
|
||||
.C_ADDRB_WIDTH(13),
|
||||
.C_HAS_MEM_OUTPUT_REGS_A(1),
|
||||
.C_HAS_MEM_OUTPUT_REGS_B(0),
|
||||
.C_HAS_MUX_OUTPUT_REGS_A(0),
|
||||
.C_HAS_MUX_OUTPUT_REGS_B(0),
|
||||
.C_MUX_PIPELINE_STAGES(0),
|
||||
.C_HAS_SOFTECC_INPUT_REGS_A(0),
|
||||
.C_HAS_SOFTECC_OUTPUT_REGS_B(0),
|
||||
.C_USE_SOFTECC(0),
|
||||
.C_USE_ECC(0),
|
||||
.C_EN_ECC_PIPE(0),
|
||||
.C_READ_LATENCY_A(1),
|
||||
.C_READ_LATENCY_B(1),
|
||||
.C_HAS_INJECTERR(0),
|
||||
.C_SIM_COLLISION_CHECK("ALL"),
|
||||
.C_COMMON_CLK(0),
|
||||
.C_DISABLE_WARN_BHV_COLL(0),
|
||||
.C_EN_SLEEP_PIN(0),
|
||||
.C_USE_URAM(0),
|
||||
.C_EN_RDADDRA_CHG(0),
|
||||
.C_EN_RDADDRB_CHG(0),
|
||||
.C_EN_DEEPSLEEP_PIN(0),
|
||||
.C_EN_SHUTDOWN_PIN(0),
|
||||
.C_EN_SAFETY_CKT(0),
|
||||
.C_DISABLE_WARN_BHV_RANGE(0),
|
||||
.C_COUNT_36K_BRAM("2"),
|
||||
.C_COUNT_18K_BRAM("1"),
|
||||
.C_EST_POWER_SUMMARY("Estimated Power for IP : 4.291207 mW")
|
||||
) inst (
|
||||
.clka(clka),
|
||||
.rsta(1'D0),
|
||||
.ena(ena),
|
||||
.regcea(1'D0),
|
||||
.wea(1'B0),
|
||||
.addra(addra),
|
||||
.dina(12'B0),
|
||||
.douta(douta),
|
||||
.clkb(1'D0),
|
||||
.rstb(1'D0),
|
||||
.enb(1'D0),
|
||||
.regceb(1'D0),
|
||||
.web(1'B0),
|
||||
.addrb(13'B0),
|
||||
.dinb(12'B0),
|
||||
.doutb(),
|
||||
.injectsbiterr(1'D0),
|
||||
.injectdbiterr(1'D0),
|
||||
.eccpipece(1'D0),
|
||||
.sbiterr(),
|
||||
.dbiterr(),
|
||||
.rdaddrecc(),
|
||||
.sleep(1'D0),
|
||||
.deepsleep(1'D0),
|
||||
.shutdown(1'D0),
|
||||
.rsta_busy(),
|
||||
.rstb_busy(),
|
||||
.s_aclk(1'H0),
|
||||
.s_aresetn(1'D0),
|
||||
.s_axi_awid(4'B0),
|
||||
.s_axi_awaddr(32'B0),
|
||||
.s_axi_awlen(8'B0),
|
||||
.s_axi_awsize(3'B0),
|
||||
.s_axi_awburst(2'B0),
|
||||
.s_axi_awvalid(1'D0),
|
||||
.s_axi_awready(),
|
||||
.s_axi_wdata(12'B0),
|
||||
.s_axi_wstrb(1'B0),
|
||||
.s_axi_wlast(1'D0),
|
||||
.s_axi_wvalid(1'D0),
|
||||
.s_axi_wready(),
|
||||
.s_axi_bid(),
|
||||
.s_axi_bresp(),
|
||||
.s_axi_bvalid(),
|
||||
.s_axi_bready(1'D0),
|
||||
.s_axi_arid(4'B0),
|
||||
.s_axi_araddr(32'B0),
|
||||
.s_axi_arlen(8'B0),
|
||||
.s_axi_arsize(3'B0),
|
||||
.s_axi_arburst(2'B0),
|
||||
.s_axi_arvalid(1'D0),
|
||||
.s_axi_arready(),
|
||||
.s_axi_rid(),
|
||||
.s_axi_rdata(),
|
||||
.s_axi_rresp(),
|
||||
.s_axi_rlast(),
|
||||
.s_axi_rvalid(),
|
||||
.s_axi_rready(1'D0),
|
||||
.s_axi_injectsbiterr(1'D0),
|
||||
.s_axi_injectdbiterr(1'D0),
|
||||
.s_axi_sbiterr(),
|
||||
.s_axi_dbiterr(),
|
||||
.s_axi_rdaddrecc()
|
||||
);
|
||||
endmodule
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,355 @@
|
|||
-- (c) Copyright 1995-2021 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.
|
||||
--
|
||||
-- DO NOT MODIFY THIS FILE.
|
||||
|
||||
-- IP VLNV: xilinx.com:ip:blk_mem_gen:8.4
|
||||
-- IP Revision: 4
|
||||
|
||||
LIBRARY ieee;
|
||||
USE ieee.std_logic_1164.ALL;
|
||||
USE ieee.numeric_std.ALL;
|
||||
|
||||
LIBRARY blk_mem_gen_v8_4_4;
|
||||
USE blk_mem_gen_v8_4_4.blk_mem_gen_v8_4_4;
|
||||
|
||||
ENTITY player1win_180_32 IS
|
||||
PORT (
|
||||
clka : IN STD_LOGIC;
|
||||
ena : IN STD_LOGIC;
|
||||
addra : IN STD_LOGIC_VECTOR(12 DOWNTO 0);
|
||||
douta : OUT STD_LOGIC_VECTOR(11 DOWNTO 0)
|
||||
);
|
||||
END player1win_180_32;
|
||||
|
||||
ARCHITECTURE player1win_180_32_arch OF player1win_180_32 IS
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings : STRING;
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings OF player1win_180_32_arch: ARCHITECTURE IS "yes";
|
||||
COMPONENT blk_mem_gen_v8_4_4 IS
|
||||
GENERIC (
|
||||
C_FAMILY : STRING;
|
||||
C_XDEVICEFAMILY : STRING;
|
||||
C_ELABORATION_DIR : STRING;
|
||||
C_INTERFACE_TYPE : INTEGER;
|
||||
C_AXI_TYPE : INTEGER;
|
||||
C_AXI_SLAVE_TYPE : INTEGER;
|
||||
C_USE_BRAM_BLOCK : INTEGER;
|
||||
C_ENABLE_32BIT_ADDRESS : INTEGER;
|
||||
C_CTRL_ECC_ALGO : STRING;
|
||||
C_HAS_AXI_ID : INTEGER;
|
||||
C_AXI_ID_WIDTH : INTEGER;
|
||||
C_MEM_TYPE : INTEGER;
|
||||
C_BYTE_SIZE : INTEGER;
|
||||
C_ALGORITHM : INTEGER;
|
||||
C_PRIM_TYPE : INTEGER;
|
||||
C_LOAD_INIT_FILE : INTEGER;
|
||||
C_INIT_FILE_NAME : STRING;
|
||||
C_INIT_FILE : STRING;
|
||||
C_USE_DEFAULT_DATA : INTEGER;
|
||||
C_DEFAULT_DATA : STRING;
|
||||
C_HAS_RSTA : INTEGER;
|
||||
C_RST_PRIORITY_A : STRING;
|
||||
C_RSTRAM_A : INTEGER;
|
||||
C_INITA_VAL : STRING;
|
||||
C_HAS_ENA : INTEGER;
|
||||
C_HAS_REGCEA : INTEGER;
|
||||
C_USE_BYTE_WEA : INTEGER;
|
||||
C_WEA_WIDTH : INTEGER;
|
||||
C_WRITE_MODE_A : STRING;
|
||||
C_WRITE_WIDTH_A : INTEGER;
|
||||
C_READ_WIDTH_A : INTEGER;
|
||||
C_WRITE_DEPTH_A : INTEGER;
|
||||
C_READ_DEPTH_A : INTEGER;
|
||||
C_ADDRA_WIDTH : INTEGER;
|
||||
C_HAS_RSTB : INTEGER;
|
||||
C_RST_PRIORITY_B : STRING;
|
||||
C_RSTRAM_B : INTEGER;
|
||||
C_INITB_VAL : STRING;
|
||||
C_HAS_ENB : INTEGER;
|
||||
C_HAS_REGCEB : INTEGER;
|
||||
C_USE_BYTE_WEB : INTEGER;
|
||||
C_WEB_WIDTH : INTEGER;
|
||||
C_WRITE_MODE_B : STRING;
|
||||
C_WRITE_WIDTH_B : INTEGER;
|
||||
C_READ_WIDTH_B : INTEGER;
|
||||
C_WRITE_DEPTH_B : INTEGER;
|
||||
C_READ_DEPTH_B : INTEGER;
|
||||
C_ADDRB_WIDTH : INTEGER;
|
||||
C_HAS_MEM_OUTPUT_REGS_A : INTEGER;
|
||||
C_HAS_MEM_OUTPUT_REGS_B : INTEGER;
|
||||
C_HAS_MUX_OUTPUT_REGS_A : INTEGER;
|
||||
C_HAS_MUX_OUTPUT_REGS_B : INTEGER;
|
||||
C_MUX_PIPELINE_STAGES : INTEGER;
|
||||
C_HAS_SOFTECC_INPUT_REGS_A : INTEGER;
|
||||
C_HAS_SOFTECC_OUTPUT_REGS_B : INTEGER;
|
||||
C_USE_SOFTECC : INTEGER;
|
||||
C_USE_ECC : INTEGER;
|
||||
C_EN_ECC_PIPE : INTEGER;
|
||||
C_READ_LATENCY_A : INTEGER;
|
||||
C_READ_LATENCY_B : INTEGER;
|
||||
C_HAS_INJECTERR : INTEGER;
|
||||
C_SIM_COLLISION_CHECK : STRING;
|
||||
C_COMMON_CLK : INTEGER;
|
||||
C_DISABLE_WARN_BHV_COLL : INTEGER;
|
||||
C_EN_SLEEP_PIN : INTEGER;
|
||||
C_USE_URAM : INTEGER;
|
||||
C_EN_RDADDRA_CHG : INTEGER;
|
||||
C_EN_RDADDRB_CHG : INTEGER;
|
||||
C_EN_DEEPSLEEP_PIN : INTEGER;
|
||||
C_EN_SHUTDOWN_PIN : INTEGER;
|
||||
C_EN_SAFETY_CKT : INTEGER;
|
||||
C_DISABLE_WARN_BHV_RANGE : INTEGER;
|
||||
C_COUNT_36K_BRAM : STRING;
|
||||
C_COUNT_18K_BRAM : STRING;
|
||||
C_EST_POWER_SUMMARY : STRING
|
||||
);
|
||||
PORT (
|
||||
clka : IN STD_LOGIC;
|
||||
rsta : IN STD_LOGIC;
|
||||
ena : IN STD_LOGIC;
|
||||
regcea : IN STD_LOGIC;
|
||||
wea : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
addra : IN STD_LOGIC_VECTOR(12 DOWNTO 0);
|
||||
dina : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
douta : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
clkb : IN STD_LOGIC;
|
||||
rstb : IN STD_LOGIC;
|
||||
enb : IN STD_LOGIC;
|
||||
regceb : IN STD_LOGIC;
|
||||
web : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
addrb : IN STD_LOGIC_VECTOR(12 DOWNTO 0);
|
||||
dinb : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
doutb : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
injectsbiterr : IN STD_LOGIC;
|
||||
injectdbiterr : IN STD_LOGIC;
|
||||
eccpipece : IN STD_LOGIC;
|
||||
sbiterr : OUT STD_LOGIC;
|
||||
dbiterr : OUT STD_LOGIC;
|
||||
rdaddrecc : OUT STD_LOGIC_VECTOR(12 DOWNTO 0);
|
||||
sleep : IN STD_LOGIC;
|
||||
deepsleep : IN STD_LOGIC;
|
||||
shutdown : IN STD_LOGIC;
|
||||
rsta_busy : OUT STD_LOGIC;
|
||||
rstb_busy : OUT STD_LOGIC;
|
||||
s_aclk : IN STD_LOGIC;
|
||||
s_aresetn : IN STD_LOGIC;
|
||||
s_axi_awid : IN STD_LOGIC_VECTOR(3 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_awvalid : IN STD_LOGIC;
|
||||
s_axi_awready : OUT STD_LOGIC;
|
||||
s_axi_wdata : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
s_axi_wstrb : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
s_axi_wlast : IN STD_LOGIC;
|
||||
s_axi_wvalid : IN STD_LOGIC;
|
||||
s_axi_wready : OUT STD_LOGIC;
|
||||
s_axi_bid : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
|
||||
s_axi_bresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
|
||||
s_axi_bvalid : OUT STD_LOGIC;
|
||||
s_axi_bready : IN STD_LOGIC;
|
||||
s_axi_arid : IN STD_LOGIC_VECTOR(3 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_arvalid : IN STD_LOGIC;
|
||||
s_axi_arready : OUT STD_LOGIC;
|
||||
s_axi_rid : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
|
||||
s_axi_rdata : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
s_axi_rresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
|
||||
s_axi_rlast : OUT STD_LOGIC;
|
||||
s_axi_rvalid : OUT STD_LOGIC;
|
||||
s_axi_rready : IN STD_LOGIC;
|
||||
s_axi_injectsbiterr : IN STD_LOGIC;
|
||||
s_axi_injectdbiterr : IN STD_LOGIC;
|
||||
s_axi_sbiterr : OUT STD_LOGIC;
|
||||
s_axi_dbiterr : OUT STD_LOGIC;
|
||||
s_axi_rdaddrecc : OUT STD_LOGIC_VECTOR(12 DOWNTO 0)
|
||||
);
|
||||
END COMPONENT blk_mem_gen_v8_4_4;
|
||||
ATTRIBUTE X_CORE_INFO : STRING;
|
||||
ATTRIBUTE X_CORE_INFO OF player1win_180_32_arch: ARCHITECTURE IS "blk_mem_gen_v8_4_4,Vivado 2019.2";
|
||||
ATTRIBUTE CHECK_LICENSE_TYPE : STRING;
|
||||
ATTRIBUTE CHECK_LICENSE_TYPE OF player1win_180_32_arch : ARCHITECTURE IS "player1win_180_32,blk_mem_gen_v8_4_4,{}";
|
||||
ATTRIBUTE CORE_GENERATION_INFO : STRING;
|
||||
ATTRIBUTE CORE_GENERATION_INFO OF player1win_180_32_arch: ARCHITECTURE IS "player1win_180_32,blk_mem_gen_v8_4_4,{x_ipProduct=Vivado 2019.2,x_ipVendor=xilinx.com,x_ipLibrary=ip,x_ipName=blk_mem_gen,x_ipVersion=8.4,x_ipCoreRevision=4,x_ipLanguage=VERILOG,x_ipSimLanguage=MIXED,C_FAMILY=artix7,C_XDEVICEFAMILY=artix7,C_ELABORATION_DIR=./,C_INTERFACE_TYPE=0,C_AXI_TYPE=1,C_AXI_SLAVE_TYPE=0,C_USE_BRAM_BLOCK=0,C_ENABLE_32BIT_ADDRESS=0,C_CTRL_ECC_ALGO=NONE,C_HAS_AXI_ID=0,C_AXI_ID_WIDTH=4,C_MEM_TYPE=3,C_BYTE_SIZE=9,C_ALGORITHM=1,C_PRIM_TYPE=1,C_LOAD_INIT_FILE=1,C_INIT_FILE_NAME=p" &
|
||||
"layer1win_180_32.mif,C_INIT_FILE=player1win_180_32.mem,C_USE_DEFAULT_DATA=0,C_DEFAULT_DATA=0,C_HAS_RSTA=0,C_RST_PRIORITY_A=CE,C_RSTRAM_A=0,C_INITA_VAL=0,C_HAS_ENA=1,C_HAS_REGCEA=0,C_USE_BYTE_WEA=0,C_WEA_WIDTH=1,C_WRITE_MODE_A=WRITE_FIRST,C_WRITE_WIDTH_A=12,C_READ_WIDTH_A=12,C_WRITE_DEPTH_A=5760,C_READ_DEPTH_A=5760,C_ADDRA_WIDTH=13,C_HAS_RSTB=0,C_RST_PRIORITY_B=CE,C_RSTRAM_B=0,C_INITB_VAL=0,C_HAS_ENB=0,C_HAS_REGCEB=0,C_USE_BYTE_WEB=0,C_WEB_WIDTH=1,C_WRITE_MODE_B=WRITE_FIRST,C_WRITE_WIDTH_B=12,C_R" &
|
||||
"EAD_WIDTH_B=12,C_WRITE_DEPTH_B=5760,C_READ_DEPTH_B=5760,C_ADDRB_WIDTH=13,C_HAS_MEM_OUTPUT_REGS_A=1,C_HAS_MEM_OUTPUT_REGS_B=0,C_HAS_MUX_OUTPUT_REGS_A=0,C_HAS_MUX_OUTPUT_REGS_B=0,C_MUX_PIPELINE_STAGES=0,C_HAS_SOFTECC_INPUT_REGS_A=0,C_HAS_SOFTECC_OUTPUT_REGS_B=0,C_USE_SOFTECC=0,C_USE_ECC=0,C_EN_ECC_PIPE=0,C_READ_LATENCY_A=1,C_READ_LATENCY_B=1,C_HAS_INJECTERR=0,C_SIM_COLLISION_CHECK=ALL,C_COMMON_CLK=0,C_DISABLE_WARN_BHV_COLL=0,C_EN_SLEEP_PIN=0,C_USE_URAM=0,C_EN_RDADDRA_CHG=0,C_EN_RDADDRB_CHG=0,C_EN_" &
|
||||
"DEEPSLEEP_PIN=0,C_EN_SHUTDOWN_PIN=0,C_EN_SAFETY_CKT=0,C_DISABLE_WARN_BHV_RANGE=0,C_COUNT_36K_BRAM=2,C_COUNT_18K_BRAM=1,C_EST_POWER_SUMMARY=Estimated Power for IP _ 4.291207 mW}";
|
||||
ATTRIBUTE X_INTERFACE_INFO : STRING;
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER : STRING;
|
||||
ATTRIBUTE X_INTERFACE_INFO OF douta: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA DOUT";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF addra: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA ADDR";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF ena: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA EN";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF clka: SIGNAL IS "XIL_INTERFACENAME BRAM_PORTA, MEM_SIZE 8192, MEM_WIDTH 32, MEM_ECC NONE, MASTER_TYPE OTHER, READ_LATENCY 1";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF clka: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA CLK";
|
||||
BEGIN
|
||||
U0 : blk_mem_gen_v8_4_4
|
||||
GENERIC MAP (
|
||||
C_FAMILY => "artix7",
|
||||
C_XDEVICEFAMILY => "artix7",
|
||||
C_ELABORATION_DIR => "./",
|
||||
C_INTERFACE_TYPE => 0,
|
||||
C_AXI_TYPE => 1,
|
||||
C_AXI_SLAVE_TYPE => 0,
|
||||
C_USE_BRAM_BLOCK => 0,
|
||||
C_ENABLE_32BIT_ADDRESS => 0,
|
||||
C_CTRL_ECC_ALGO => "NONE",
|
||||
C_HAS_AXI_ID => 0,
|
||||
C_AXI_ID_WIDTH => 4,
|
||||
C_MEM_TYPE => 3,
|
||||
C_BYTE_SIZE => 9,
|
||||
C_ALGORITHM => 1,
|
||||
C_PRIM_TYPE => 1,
|
||||
C_LOAD_INIT_FILE => 1,
|
||||
C_INIT_FILE_NAME => "player1win_180_32.mif",
|
||||
C_INIT_FILE => "player1win_180_32.mem",
|
||||
C_USE_DEFAULT_DATA => 0,
|
||||
C_DEFAULT_DATA => "0",
|
||||
C_HAS_RSTA => 0,
|
||||
C_RST_PRIORITY_A => "CE",
|
||||
C_RSTRAM_A => 0,
|
||||
C_INITA_VAL => "0",
|
||||
C_HAS_ENA => 1,
|
||||
C_HAS_REGCEA => 0,
|
||||
C_USE_BYTE_WEA => 0,
|
||||
C_WEA_WIDTH => 1,
|
||||
C_WRITE_MODE_A => "WRITE_FIRST",
|
||||
C_WRITE_WIDTH_A => 12,
|
||||
C_READ_WIDTH_A => 12,
|
||||
C_WRITE_DEPTH_A => 5760,
|
||||
C_READ_DEPTH_A => 5760,
|
||||
C_ADDRA_WIDTH => 13,
|
||||
C_HAS_RSTB => 0,
|
||||
C_RST_PRIORITY_B => "CE",
|
||||
C_RSTRAM_B => 0,
|
||||
C_INITB_VAL => "0",
|
||||
C_HAS_ENB => 0,
|
||||
C_HAS_REGCEB => 0,
|
||||
C_USE_BYTE_WEB => 0,
|
||||
C_WEB_WIDTH => 1,
|
||||
C_WRITE_MODE_B => "WRITE_FIRST",
|
||||
C_WRITE_WIDTH_B => 12,
|
||||
C_READ_WIDTH_B => 12,
|
||||
C_WRITE_DEPTH_B => 5760,
|
||||
C_READ_DEPTH_B => 5760,
|
||||
C_ADDRB_WIDTH => 13,
|
||||
C_HAS_MEM_OUTPUT_REGS_A => 1,
|
||||
C_HAS_MEM_OUTPUT_REGS_B => 0,
|
||||
C_HAS_MUX_OUTPUT_REGS_A => 0,
|
||||
C_HAS_MUX_OUTPUT_REGS_B => 0,
|
||||
C_MUX_PIPELINE_STAGES => 0,
|
||||
C_HAS_SOFTECC_INPUT_REGS_A => 0,
|
||||
C_HAS_SOFTECC_OUTPUT_REGS_B => 0,
|
||||
C_USE_SOFTECC => 0,
|
||||
C_USE_ECC => 0,
|
||||
C_EN_ECC_PIPE => 0,
|
||||
C_READ_LATENCY_A => 1,
|
||||
C_READ_LATENCY_B => 1,
|
||||
C_HAS_INJECTERR => 0,
|
||||
C_SIM_COLLISION_CHECK => "ALL",
|
||||
C_COMMON_CLK => 0,
|
||||
C_DISABLE_WARN_BHV_COLL => 0,
|
||||
C_EN_SLEEP_PIN => 0,
|
||||
C_USE_URAM => 0,
|
||||
C_EN_RDADDRA_CHG => 0,
|
||||
C_EN_RDADDRB_CHG => 0,
|
||||
C_EN_DEEPSLEEP_PIN => 0,
|
||||
C_EN_SHUTDOWN_PIN => 0,
|
||||
C_EN_SAFETY_CKT => 0,
|
||||
C_DISABLE_WARN_BHV_RANGE => 0,
|
||||
C_COUNT_36K_BRAM => "2",
|
||||
C_COUNT_18K_BRAM => "1",
|
||||
C_EST_POWER_SUMMARY => "Estimated Power for IP : 4.291207 mW"
|
||||
)
|
||||
PORT MAP (
|
||||
clka => clka,
|
||||
rsta => '0',
|
||||
ena => ena,
|
||||
regcea => '0',
|
||||
wea => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
addra => addra,
|
||||
dina => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 12)),
|
||||
douta => douta,
|
||||
clkb => '0',
|
||||
rstb => '0',
|
||||
enb => '0',
|
||||
regceb => '0',
|
||||
web => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
addrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 13)),
|
||||
dinb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 12)),
|
||||
injectsbiterr => '0',
|
||||
injectdbiterr => '0',
|
||||
eccpipece => '0',
|
||||
sleep => '0',
|
||||
deepsleep => '0',
|
||||
shutdown => '0',
|
||||
s_aclk => '0',
|
||||
s_aresetn => '0',
|
||||
s_axi_awid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
|
||||
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_awvalid => '0',
|
||||
s_axi_wdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 12)),
|
||||
s_axi_wstrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
s_axi_wlast => '0',
|
||||
s_axi_wvalid => '0',
|
||||
s_axi_bready => '0',
|
||||
s_axi_arid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
|
||||
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_arvalid => '0',
|
||||
s_axi_rready => '0',
|
||||
s_axi_injectsbiterr => '0',
|
||||
s_axi_injectdbiterr => '0'
|
||||
);
|
||||
END player1win_180_32_arch;
|
||||
|
|
@ -0,0 +1,207 @@
|
|||
2019.2:
|
||||
* Version 8.4 (Rev. 4)
|
||||
* Feature Enhancement: Read Latency parameters exposed to IP GUI for URAM configurations
|
||||
|
||||
2019.1.3:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* No changes
|
||||
|
||||
2019.1.2:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* No changes
|
||||
|
||||
2019.1.1:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* No changes
|
||||
|
||||
2019.1:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* General: Internal device family change, no functional changes
|
||||
|
||||
2018.3.1:
|
||||
* Version 8.4 (Rev. 2)
|
||||
* No changes
|
||||
|
||||
2018.3:
|
||||
* Version 8.4 (Rev. 2)
|
||||
* Feature Enhancement: Read Latency Support added for URAM when selected through IP Integrator
|
||||
* Other: Power Calculations disabled for URAM primitives in IP GUI, no functional changes
|
||||
* Other: Internal device family change, no functional changes
|
||||
|
||||
2018.2:
|
||||
* Version 8.4 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2018.1:
|
||||
* Version 8.4 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2017.4:
|
||||
* Version 8.4 (Rev. 1)
|
||||
* General: Write depth shown in IP GUI is now dependent on number of BRAMs available in a chosen device, no functional changes
|
||||
|
||||
2017.3:
|
||||
* Version 8.4
|
||||
* General: Safety Circuit option is enabled by default if reset option in any one port is enabled
|
||||
|
||||
2017.2:
|
||||
* Version 8.3 (Rev. 6)
|
||||
* No changes
|
||||
|
||||
2017.1:
|
||||
* Version 8.3 (Rev. 6)
|
||||
* General: Internal device family change, no functional changes
|
||||
* General: When common_clock is selected clkb is internally connected to clka, but the interface remains same to support the backword compatiability. User make sure of connecting the both the clocks to same clock source when in common_clock mode
|
||||
|
||||
2016.4:
|
||||
* Version 8.3 (Rev. 5)
|
||||
* General: Fixes for behavioral Model issues when built-IN ECC is enabled (to be consistent with RTL)
|
||||
|
||||
2016.3:
|
||||
* Version 8.3 (Rev. 4)
|
||||
* Feature Enhancement: URAM addressing updates while calling XPM_Memory when 32-bit addressing is enabled
|
||||
* Other: Enable support for future devices
|
||||
* Other: Source HDL files are concatenated into a single file to speed up synthesis and simulation. No changes required by the user
|
||||
|
||||
2016.2:
|
||||
* Version 8.3 (Rev. 3)
|
||||
* updated the IP,not to set WRITE_DEPTH parameter to 8192 everytime when the mode is switched to BRAM_Controller
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2016.1:
|
||||
* Version 8.3 (Rev. 2)
|
||||
* Updated the IP to deliver only verilog behavioral model
|
||||
* Updated the IP to support UltraRAM in IP Integrator
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2015.4.2:
|
||||
* Version 8.3 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2015.4.1:
|
||||
* Version 8.3 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2015.4:
|
||||
* Version 8.3 (Rev. 1)
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2015.3:
|
||||
* Version 8.3
|
||||
* IP revision number added to HDL module, library, and include file names, to support designs with both locked and upgraded IP instances
|
||||
* New ports rsta_busy and rstb_busy are added to enable the safety circuitry to minimize the occurrence of BRAM data corruption
|
||||
* Simulation models are delivered in VHDL only
|
||||
|
||||
2015.2.1:
|
||||
* Version 8.2 (Rev. 5)
|
||||
* No changes
|
||||
|
||||
2015.2:
|
||||
* Version 8.2 (Rev. 5)
|
||||
* No changes
|
||||
|
||||
2015.1:
|
||||
* Version 8.2 (Rev. 5)
|
||||
* Delivering non encrypted behavioral models
|
||||
* Supported memory depth is increased up to 1M words
|
||||
* Added the power saving feature (RDADDRCHG) for ultrascale devices
|
||||
* Supported devices and production status are now determined automatically, to simplify support for future devices
|
||||
|
||||
2014.4.1:
|
||||
* Version 8.2 (Rev. 4)
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2014.4:
|
||||
* Version 8.2 (Rev. 3)
|
||||
* Encrypted source files are concatenated together to reduce the number of files and to reduce simulator compile time
|
||||
* Added support for 7-series Automotive (XA) and Defense Grade (XQ) devices
|
||||
* Internal device family change, no functional changes
|
||||
|
||||
2014.3:
|
||||
* Version 8.2 (Rev. 2)
|
||||
* Fixed the Memory Resource Doubling issue in Simple Dual Port RAM when aspect ratio is used
|
||||
* Fixed the GUI crash in Simple Dual Port RAM
|
||||
* Added support of all write modes in Simple Dual Port RAM when ECC is not used
|
||||
* Increased the supported depth to a maximum value of 256k
|
||||
|
||||
2014.2:
|
||||
* Version 8.2 (Rev. 1)
|
||||
* Updated the GUI tool tip for Byte write enable in the page-1 of block memory generator GUI
|
||||
|
||||
2014.1:
|
||||
* Version 8.2
|
||||
* Added support of the cascaded Primitives of widths 1 and 2 for ultra-scale devices
|
||||
* Added support of the ECCPIPE register in the built-in ecc mode for ultra-scale devices
|
||||
* Added support of the dynamic power saving for ultra-scale devices
|
||||
* Improved timing efficiency in the IP Integrator by minimizing the use of output mux for the 7-series devices
|
||||
* Internal device family name change, no functional changes
|
||||
|
||||
2013.4:
|
||||
* Version 8.1
|
||||
* The Primitive output registers are made "ON" by default in the stand alone mode
|
||||
* Added cascaded support for ultrascale devices to construct 64Kx1 primitive by using two 32Kx1 primitives
|
||||
* Added support for ultrascale devices
|
||||
|
||||
2013.3:
|
||||
* Version 8.0 (Rev. 2)
|
||||
* Added parameter "CTRL_ECC_ALGO" for supporting ECC in IP Integrator.
|
||||
* Improved GUI speed and responsivness, no functional changes
|
||||
* Reduced synthesis and simulation warnings
|
||||
* Added support for Cadence IES and Synopsys VCS simulators
|
||||
* Changed the default option of ENABLE PORT TYPE to "USE_ENA_PIN"
|
||||
* Changed BRAM Interface DIN and DOUT to match bus interface directions.
|
||||
|
||||
2013.2:
|
||||
* Version 8.0 (Rev. 1)
|
||||
* No Changes
|
||||
|
||||
2013.1:
|
||||
* Version 8.0
|
||||
* Native Vivado Release
|
||||
* There have been no functional or interface changes to this IP. The version number has changed to support unique versioning in Vivado starting with 2013.1.
|
||||
|
||||
(c) Copyright 2002 - 2019 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.
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,150 @@
|
|||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
|
||||
entity blk_mem_gen_v8_4_4 is
|
||||
generic (
|
||||
C_FAMILY : string := "virtex7";
|
||||
C_XDEVICEFAMILY : string := "virtex7";
|
||||
C_ELABORATION_DIR : string := "";
|
||||
C_INTERFACE_TYPE : integer := 0;
|
||||
C_AXI_TYPE : integer := 1;
|
||||
C_AXI_SLAVE_TYPE : integer := 0;
|
||||
C_USE_BRAM_BLOCK : integer := 0;
|
||||
C_ENABLE_32BIT_ADDRESS : integer := 0;
|
||||
C_CTRL_ECC_ALGO : string := "ECCHSIAO32-7";
|
||||
C_HAS_AXI_ID : integer := 0;
|
||||
C_AXI_ID_WIDTH : integer := 4;
|
||||
C_MEM_TYPE : integer := 2;
|
||||
C_BYTE_SIZE : integer := 9;
|
||||
C_ALGORITHM : integer := 0;
|
||||
C_PRIM_TYPE : integer := 3;
|
||||
C_LOAD_INIT_FILE : integer := 0;
|
||||
C_INIT_FILE_NAME : string := "no_coe_file_loaded";
|
||||
C_INIT_FILE : string := "no_mem_file_loaded";
|
||||
C_USE_DEFAULT_DATA : integer := 0;
|
||||
C_DEFAULT_DATA : string := "0";
|
||||
C_HAS_RSTA : integer := 0;
|
||||
C_RST_PRIORITY_A : string := "ce";
|
||||
C_RSTRAM_A : integer := 0;
|
||||
C_INITA_VAL : string := "0";
|
||||
C_HAS_ENA : integer := 1;
|
||||
C_HAS_REGCEA : integer := 0;
|
||||
C_USE_BYTE_WEA : integer := 0;
|
||||
C_WEA_WIDTH : integer := 1;
|
||||
C_WRITE_MODE_A : string := "WRITE_FIRST";
|
||||
C_WRITE_WIDTH_A : integer := 9;
|
||||
C_READ_WIDTH_A : integer := 9;
|
||||
C_WRITE_DEPTH_A : integer := 2048;
|
||||
C_READ_DEPTH_A : integer := 2048;
|
||||
C_ADDRA_WIDTH : integer := 11;
|
||||
C_HAS_RSTB : integer := 0;
|
||||
C_RST_PRIORITY_B : string := "ce";
|
||||
C_RSTRAM_B : integer := 0;
|
||||
C_INITB_VAL : string := "0";
|
||||
C_HAS_ENB : integer := 1;
|
||||
C_HAS_REGCEB : integer := 0;
|
||||
C_USE_BYTE_WEB : integer := 0;
|
||||
C_WEB_WIDTH : integer := 1;
|
||||
C_WRITE_MODE_B : string := "WRITE_FIRST";
|
||||
C_WRITE_WIDTH_B : integer := 9;
|
||||
C_READ_WIDTH_B : integer := 9;
|
||||
C_WRITE_DEPTH_B : integer := 2048;
|
||||
C_READ_DEPTH_B : integer := 2048;
|
||||
C_ADDRB_WIDTH : integer := 11;
|
||||
C_HAS_MEM_OUTPUT_REGS_A : integer := 0;
|
||||
C_HAS_MEM_OUTPUT_REGS_B : integer := 0;
|
||||
C_HAS_MUX_OUTPUT_REGS_A : integer := 0;
|
||||
C_HAS_MUX_OUTPUT_REGS_B : integer := 0;
|
||||
C_MUX_PIPELINE_STAGES : integer := 0;
|
||||
C_HAS_SOFTECC_INPUT_REGS_A : integer := 0;
|
||||
C_HAS_SOFTECC_OUTPUT_REGS_B : integer := 0;
|
||||
C_USE_SOFTECC : integer := 0;
|
||||
C_USE_ECC : integer := 0;
|
||||
C_EN_ECC_PIPE : integer := 0;
|
||||
C_HAS_INJECTERR : integer := 0;
|
||||
C_SIM_COLLISION_CHECK : string := "none";
|
||||
C_COMMON_CLK : integer := 0;
|
||||
C_DISABLE_WARN_BHV_COLL : integer := 0;
|
||||
C_EN_SLEEP_PIN : integer := 0;
|
||||
C_USE_URAM : integer := 0;
|
||||
C_EN_RDADDRA_CHG : integer := 0;
|
||||
C_EN_RDADDRB_CHG : integer := 0;
|
||||
C_EN_DEEPSLEEP_PIN : integer := 0;
|
||||
C_EN_SHUTDOWN_PIN : integer := 0;
|
||||
C_EN_SAFETY_CKT : integer := 0;
|
||||
C_DISABLE_WARN_BHV_RANGE : integer := 0;
|
||||
C_COUNT_36K_BRAM : string := "";
|
||||
C_COUNT_18K_BRAM : string := "";
|
||||
C_EST_POWER_SUMMARY : string := ""
|
||||
);
|
||||
port (
|
||||
clka : in std_logic := '0';
|
||||
rsta : in std_logic := '0';
|
||||
ena : in std_logic := '0';
|
||||
regcea : in std_logic := '0';
|
||||
wea : in std_logic_vector(c_wea_width - 1 downto 0) := (others => '0');
|
||||
addra : in std_logic_vector(c_addra_width - 1 downto 0) := (others => '0');
|
||||
dina : in std_logic_vector(c_write_width_a - 1 downto 0) := (others => '0');
|
||||
douta : out std_logic_vector(c_read_width_a - 1 downto 0);
|
||||
clkb : in std_logic := '0';
|
||||
rstb : in std_logic := '0';
|
||||
enb : in std_logic := '0';
|
||||
regceb : in std_logic := '0';
|
||||
web : in std_logic_vector(c_web_width - 1 downto 0) := (others => '0');
|
||||
addrb : in std_logic_vector(c_addrb_width - 1 downto 0) := (others => '0');
|
||||
dinb : in std_logic_vector(c_write_width_b - 1 downto 0) := (others => '0');
|
||||
doutb : out std_logic_vector(c_read_width_b - 1 downto 0);
|
||||
injectsbiterr : in std_logic := '0';
|
||||
injectdbiterr : in std_logic := '0';
|
||||
eccpipece : in std_logic := '0';
|
||||
sbiterr : out std_logic;
|
||||
dbiterr : out std_logic;
|
||||
rdaddrecc : out std_logic_vector(c_addrb_width - 1 downto 0);
|
||||
sleep : in std_logic := '0';
|
||||
deepsleep : in std_logic := '0';
|
||||
shutdown : in std_logic := '0';
|
||||
rsta_busy : out std_logic;
|
||||
rstb_busy : out std_logic;
|
||||
s_aclk : in std_logic := '0';
|
||||
s_aresetn : in std_logic := '0';
|
||||
s_axi_awid : in std_logic_vector(c_axi_id_width - 1 downto 0) := (others => '0');
|
||||
s_axi_awaddr : in std_logic_vector(31 downto 0) := (others => '0');
|
||||
s_axi_awlen : in std_logic_vector(7 downto 0) := (others => '0');
|
||||
s_axi_awsize : in std_logic_vector(2 downto 0) := (others => '0');
|
||||
s_axi_awburst : in std_logic_vector(1 downto 0) := (others => '0');
|
||||
s_axi_awvalid : in std_logic := '0';
|
||||
s_axi_awready : out std_logic;
|
||||
s_axi_wdata : in std_logic_vector(c_write_width_a - 1 downto 0) := (others => '0');
|
||||
s_axi_wstrb : in std_logic_vector(c_wea_width - 1 downto 0) := (others => '0');
|
||||
s_axi_wlast : in std_logic := '0';
|
||||
s_axi_wvalid : in std_logic := '0';
|
||||
s_axi_wready : out std_logic;
|
||||
s_axi_bid : out std_logic_vector(c_axi_id_width - 1 downto 0);
|
||||
s_axi_bresp : out std_logic_vector(1 downto 0);
|
||||
s_axi_bvalid : out std_logic;
|
||||
s_axi_bready : in std_logic := '0';
|
||||
s_axi_arid : in std_logic_vector(c_axi_id_width - 1 downto 0) := (others => '0');
|
||||
s_axi_araddr : in std_logic_vector(31 downto 0) := (others => '0');
|
||||
s_axi_arlen : in std_logic_vector(8 - 1 downto 0) := (others => '0');
|
||||
s_axi_arsize : in std_logic_vector(2 downto 0) := (others => '0');
|
||||
s_axi_arburst : in std_logic_vector(1 downto 0) := (others => '0');
|
||||
s_axi_arvalid : in std_logic := '0';
|
||||
s_axi_arready : out std_logic;
|
||||
s_axi_rid : out std_logic_vector(c_axi_id_width - 1 downto 0);
|
||||
s_axi_rdata : out std_logic_vector(c_write_width_b - 1 downto 0);
|
||||
s_axi_rresp : out std_logic_vector(2 - 1 downto 0);
|
||||
s_axi_rlast : out std_logic;
|
||||
s_axi_rvalid : out std_logic;
|
||||
s_axi_rready : in std_logic := '0';
|
||||
s_axi_injectsbiterr : in std_logic := '0';
|
||||
s_axi_injectdbiterr : in std_logic := '0';
|
||||
s_axi_sbiterr : out std_logic;
|
||||
s_axi_dbiterr : out std_logic;
|
||||
s_axi_rdaddrecc : out std_logic_vector(c_addrb_width - 1 downto 0)
|
||||
);
|
||||
end entity blk_mem_gen_v8_4_4;
|
||||
|
||||
architecture xilinx of blk_mem_gen_v8_4_4 is
|
||||
begin
|
||||
end
|
||||
architecture xilinx;
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,312 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<spirit:vendor>xilinx.com</spirit:vendor>
|
||||
<spirit:library>xci</spirit:library>
|
||||
<spirit:name>unknown</spirit:name>
|
||||
<spirit:version>1.0</spirit:version>
|
||||
<spirit:componentInstances>
|
||||
<spirit:componentInstance>
|
||||
<spirit:instanceName>player2win_180_32</spirit:instanceName>
|
||||
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="blk_mem_gen" spirit:version="8.4"/>
|
||||
<spirit:configurableElementValues>
|
||||
<spirit:configurableElementValue spirit:referenceId="ADDRBLOCK_RANGE.S_1.Mem0">4096</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MASTER_TYPE">OTHER</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MEM_ECC">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MEM_SIZE">8192</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MEM_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.READ_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.READ_WRITE_MODE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MASTER_TYPE">OTHER</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MEM_ECC">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MEM_SIZE">8192</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MEM_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.READ_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.READ_WRITE_MODE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RST.ARESETN.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ADDRA_WIDTH">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ADDRB_WIDTH">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ALGORITHM">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ID_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_SLAVE_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_BYTE_SIZE">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COMMON_CLK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_18K_BRAM">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_36K_BRAM">2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CTRL_ECC_ALGO">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DEFAULT_DATA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DISABLE_WARN_BHV_COLL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DISABLE_WARN_BHV_RANGE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ELABORATION_DIR">./</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_32BIT_ADDRESS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_DEEPSLEEP_PIN">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_ECC_PIPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_RDADDRA_CHG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_RDADDRB_CHG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SAFETY_CKT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SHUTDOWN_PIN">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SLEEP_PIN">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EST_POWER_SUMMARY">Estimated Power for IP : 4.291207 mW</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FAMILY">artix7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ENA">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ENB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_INJECTERR">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEM_OUTPUT_REGS_A">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEM_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MUX_OUTPUT_REGS_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MUX_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_REGCEA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_REGCEB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RSTA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RSTB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SOFTECC_INPUT_REGS_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SOFTECC_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INITA_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INITB_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INIT_FILE">player2win_180_32.mem</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INIT_FILE_NAME">player2win_180_32.mif</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INTERFACE_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_LOAD_INIT_FILE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MEM_TYPE">3</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MUX_PIPELINE_STAGES">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_DEPTH_A">5760</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_DEPTH_B">5760</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_LATENCY_A">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_LATENCY_B">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_WIDTH_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_WIDTH_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RSTRAM_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RSTRAM_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RST_PRIORITY_A">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RST_PRIORITY_B">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SIM_COLLISION_CHECK">ALL</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_BRAM_BLOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_BYTE_WEA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_BYTE_WEB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_DEFAULT_DATA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_SOFTECC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_URAM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WEA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WEB_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_DEPTH_A">5760</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_DEPTH_B">5760</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_MODE_A">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_MODE_B">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_WIDTH_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_WIDTH_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_XDEVICEFAMILY">artix7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXI_ID_Width">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXI_Slave_Type">Memory_Slave</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXI_Type">AXI4_Full</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Additional_Inputs_for_Power_Estimation">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Algorithm">Minimum_Area</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Assume_Synchronous_Clk">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Byte_Size">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CTRL_ECC_ALGO">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Coe_File">../../../pic/player2win_180_32.coe</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Collision_Warnings">ALL</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Component_Name">player2win_180_32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Collision_Warnings">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Out_of_Range_Warnings">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ECC">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_DEEPSLEEP_PIN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_ECC_PIPE">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SAFETY_CKT">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SHUTDOWN_PIN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SLEEP_PIN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_32bit_Address">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_A">Use_ENA_Pin</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_B">Always_Enabled</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Error_Injection_Type">Single_Bit_Error_Injection</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Fill_Remaining_Memory_Locations">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Interface_Type">Native</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Load_Init_File">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MEM_FILE">no_mem_loaded</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Memory_Type">Single_Port_ROM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Operating_Mode_A">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Operating_Mode_B">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Reset_Value_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Reset_Value_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.PRIM_type_to_Implement">BRAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Pipeline_Stages">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_A_Clock">100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_A_Enable_Rate">100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_A_Write_Rate">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_B_Clock">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_B_Enable_Rate">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_B_Write_Rate">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Primitive">8kx2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RD_ADDR_CHNG_A">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RD_ADDR_CHNG_B">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.READ_LATENCY_A">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.READ_LATENCY_B">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Width_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Width_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortA_Output_of_Memory_Core">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortA_Output_of_Memory_Primitives">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortB_Output_of_Memory_Core">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortB_Output_of_Memory_Primitives">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Remaining_Memory_Locations">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Memory_Latch_A">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Memory_Latch_B">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Priority_A">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Priority_B">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Type">SYNC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_AXI_ID">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Byte_Write_Enable">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Error_Injection_Pins">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_REGCEA_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_REGCEB_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_RSTA_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_RSTB_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Depth_A">5760</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Width_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Width_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ecctype">No_ECC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.register_porta_input_of_softecc">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.register_portb_output_of_softecc">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.softecc">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.use_bram_block">Stand_Alone</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.ARCHITECTURE">artix7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BASE_BOARD_PART"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BOARD_CONNECTIONS"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.DEVICE">xc7a100t</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PACKAGE">csg324</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PREFHDL">VERILOG</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SILICON_REVISION"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SIMULATOR_LANGUAGE">MIXED</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SPEEDGRADE">-1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.STATIC_POWER"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.TEMPERATURE_GRADE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_CUSTOMIZATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_GENERATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPCONTEXT">IP_Flow</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPREVISION">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.MANAGED">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SELECTEDSIMMODEL"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SWVERSION">2019.2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SYNTHESISFLOW">OUT_OF_CONTEXT</spirit:configurableElementValue>
|
||||
</spirit:configurableElementValues>
|
||||
<spirit:vendorExtensions>
|
||||
<xilinx:componentInstanceExtensions>
|
||||
<xilinx:configElementInfos>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ARUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.AWUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_CACHE" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_PROT" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ARUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.AWUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_CACHE" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_PROT" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Coe_File" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Load_Init_File" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Memory_Type" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Port_A_Write_Rate" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Read_Width_A" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Read_Width_B" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Depth_A" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Width_A" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Width_B" xilinx:valueSource="user"/>
|
||||
</xilinx:configElementInfos>
|
||||
</xilinx:componentInstanceExtensions>
|
||||
</spirit:vendorExtensions>
|
||||
</spirit:componentInstance>
|
||||
</spirit:componentInstances>
|
||||
</spirit:design>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,55 @@
|
|||
################################################################################
|
||||
#
|
||||
# (c) Copyright 2002 - 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.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# Core Period Constraint. This constraint can be modified, and is
|
||||
# valid as long as it is met after place and route.
|
||||
create_clock -name "TS_CLKA" -period 20.0 [ get_ports clka ]
|
||||
set_property HD.CLK_SRC BUFGCTRL_X0Y0 [ get_ports clka ]
|
||||
################################################################################
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,214 @@
|
|||
// (c) Copyright 1995-2021 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.
|
||||
//
|
||||
// DO NOT MODIFY THIS FILE.
|
||||
|
||||
|
||||
// IP VLNV: xilinx.com:ip:blk_mem_gen:8.4
|
||||
// IP Revision: 4
|
||||
|
||||
`timescale 1ns/1ps
|
||||
|
||||
(* DowngradeIPIdentifiedWarnings = "yes" *)
|
||||
module player2win_180_32 (
|
||||
clka,
|
||||
ena,
|
||||
addra,
|
||||
douta
|
||||
);
|
||||
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA CLK" *)
|
||||
input wire clka;
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA EN" *)
|
||||
input wire ena;
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA ADDR" *)
|
||||
input wire [12 : 0] addra;
|
||||
(* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME BRAM_PORTA, MEM_SIZE 8192, MEM_WIDTH 32, MEM_ECC NONE, MASTER_TYPE OTHER, READ_LATENCY 1" *)
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA DOUT" *)
|
||||
output wire [11 : 0] douta;
|
||||
|
||||
blk_mem_gen_v8_4_4 #(
|
||||
.C_FAMILY("artix7"),
|
||||
.C_XDEVICEFAMILY("artix7"),
|
||||
.C_ELABORATION_DIR("./"),
|
||||
.C_INTERFACE_TYPE(0),
|
||||
.C_AXI_TYPE(1),
|
||||
.C_AXI_SLAVE_TYPE(0),
|
||||
.C_USE_BRAM_BLOCK(0),
|
||||
.C_ENABLE_32BIT_ADDRESS(0),
|
||||
.C_CTRL_ECC_ALGO("NONE"),
|
||||
.C_HAS_AXI_ID(0),
|
||||
.C_AXI_ID_WIDTH(4),
|
||||
.C_MEM_TYPE(3),
|
||||
.C_BYTE_SIZE(9),
|
||||
.C_ALGORITHM(1),
|
||||
.C_PRIM_TYPE(1),
|
||||
.C_LOAD_INIT_FILE(1),
|
||||
.C_INIT_FILE_NAME("player2win_180_32.mif"),
|
||||
.C_INIT_FILE("player2win_180_32.mem"),
|
||||
.C_USE_DEFAULT_DATA(0),
|
||||
.C_DEFAULT_DATA("0"),
|
||||
.C_HAS_RSTA(0),
|
||||
.C_RST_PRIORITY_A("CE"),
|
||||
.C_RSTRAM_A(0),
|
||||
.C_INITA_VAL("0"),
|
||||
.C_HAS_ENA(1),
|
||||
.C_HAS_REGCEA(0),
|
||||
.C_USE_BYTE_WEA(0),
|
||||
.C_WEA_WIDTH(1),
|
||||
.C_WRITE_MODE_A("WRITE_FIRST"),
|
||||
.C_WRITE_WIDTH_A(12),
|
||||
.C_READ_WIDTH_A(12),
|
||||
.C_WRITE_DEPTH_A(5760),
|
||||
.C_READ_DEPTH_A(5760),
|
||||
.C_ADDRA_WIDTH(13),
|
||||
.C_HAS_RSTB(0),
|
||||
.C_RST_PRIORITY_B("CE"),
|
||||
.C_RSTRAM_B(0),
|
||||
.C_INITB_VAL("0"),
|
||||
.C_HAS_ENB(0),
|
||||
.C_HAS_REGCEB(0),
|
||||
.C_USE_BYTE_WEB(0),
|
||||
.C_WEB_WIDTH(1),
|
||||
.C_WRITE_MODE_B("WRITE_FIRST"),
|
||||
.C_WRITE_WIDTH_B(12),
|
||||
.C_READ_WIDTH_B(12),
|
||||
.C_WRITE_DEPTH_B(5760),
|
||||
.C_READ_DEPTH_B(5760),
|
||||
.C_ADDRB_WIDTH(13),
|
||||
.C_HAS_MEM_OUTPUT_REGS_A(1),
|
||||
.C_HAS_MEM_OUTPUT_REGS_B(0),
|
||||
.C_HAS_MUX_OUTPUT_REGS_A(0),
|
||||
.C_HAS_MUX_OUTPUT_REGS_B(0),
|
||||
.C_MUX_PIPELINE_STAGES(0),
|
||||
.C_HAS_SOFTECC_INPUT_REGS_A(0),
|
||||
.C_HAS_SOFTECC_OUTPUT_REGS_B(0),
|
||||
.C_USE_SOFTECC(0),
|
||||
.C_USE_ECC(0),
|
||||
.C_EN_ECC_PIPE(0),
|
||||
.C_READ_LATENCY_A(1),
|
||||
.C_READ_LATENCY_B(1),
|
||||
.C_HAS_INJECTERR(0),
|
||||
.C_SIM_COLLISION_CHECK("ALL"),
|
||||
.C_COMMON_CLK(0),
|
||||
.C_DISABLE_WARN_BHV_COLL(0),
|
||||
.C_EN_SLEEP_PIN(0),
|
||||
.C_USE_URAM(0),
|
||||
.C_EN_RDADDRA_CHG(0),
|
||||
.C_EN_RDADDRB_CHG(0),
|
||||
.C_EN_DEEPSLEEP_PIN(0),
|
||||
.C_EN_SHUTDOWN_PIN(0),
|
||||
.C_EN_SAFETY_CKT(0),
|
||||
.C_DISABLE_WARN_BHV_RANGE(0),
|
||||
.C_COUNT_36K_BRAM("2"),
|
||||
.C_COUNT_18K_BRAM("1"),
|
||||
.C_EST_POWER_SUMMARY("Estimated Power for IP : 4.291207 mW")
|
||||
) inst (
|
||||
.clka(clka),
|
||||
.rsta(1'D0),
|
||||
.ena(ena),
|
||||
.regcea(1'D0),
|
||||
.wea(1'B0),
|
||||
.addra(addra),
|
||||
.dina(12'B0),
|
||||
.douta(douta),
|
||||
.clkb(1'D0),
|
||||
.rstb(1'D0),
|
||||
.enb(1'D0),
|
||||
.regceb(1'D0),
|
||||
.web(1'B0),
|
||||
.addrb(13'B0),
|
||||
.dinb(12'B0),
|
||||
.doutb(),
|
||||
.injectsbiterr(1'D0),
|
||||
.injectdbiterr(1'D0),
|
||||
.eccpipece(1'D0),
|
||||
.sbiterr(),
|
||||
.dbiterr(),
|
||||
.rdaddrecc(),
|
||||
.sleep(1'D0),
|
||||
.deepsleep(1'D0),
|
||||
.shutdown(1'D0),
|
||||
.rsta_busy(),
|
||||
.rstb_busy(),
|
||||
.s_aclk(1'H0),
|
||||
.s_aresetn(1'D0),
|
||||
.s_axi_awid(4'B0),
|
||||
.s_axi_awaddr(32'B0),
|
||||
.s_axi_awlen(8'B0),
|
||||
.s_axi_awsize(3'B0),
|
||||
.s_axi_awburst(2'B0),
|
||||
.s_axi_awvalid(1'D0),
|
||||
.s_axi_awready(),
|
||||
.s_axi_wdata(12'B0),
|
||||
.s_axi_wstrb(1'B0),
|
||||
.s_axi_wlast(1'D0),
|
||||
.s_axi_wvalid(1'D0),
|
||||
.s_axi_wready(),
|
||||
.s_axi_bid(),
|
||||
.s_axi_bresp(),
|
||||
.s_axi_bvalid(),
|
||||
.s_axi_bready(1'D0),
|
||||
.s_axi_arid(4'B0),
|
||||
.s_axi_araddr(32'B0),
|
||||
.s_axi_arlen(8'B0),
|
||||
.s_axi_arsize(3'B0),
|
||||
.s_axi_arburst(2'B0),
|
||||
.s_axi_arvalid(1'D0),
|
||||
.s_axi_arready(),
|
||||
.s_axi_rid(),
|
||||
.s_axi_rdata(),
|
||||
.s_axi_rresp(),
|
||||
.s_axi_rlast(),
|
||||
.s_axi_rvalid(),
|
||||
.s_axi_rready(1'D0),
|
||||
.s_axi_injectsbiterr(1'D0),
|
||||
.s_axi_injectdbiterr(1'D0),
|
||||
.s_axi_sbiterr(),
|
||||
.s_axi_dbiterr(),
|
||||
.s_axi_rdaddrecc()
|
||||
);
|
||||
endmodule
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,355 @@
|
|||
-- (c) Copyright 1995-2021 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.
|
||||
--
|
||||
-- DO NOT MODIFY THIS FILE.
|
||||
|
||||
-- IP VLNV: xilinx.com:ip:blk_mem_gen:8.4
|
||||
-- IP Revision: 4
|
||||
|
||||
LIBRARY ieee;
|
||||
USE ieee.std_logic_1164.ALL;
|
||||
USE ieee.numeric_std.ALL;
|
||||
|
||||
LIBRARY blk_mem_gen_v8_4_4;
|
||||
USE blk_mem_gen_v8_4_4.blk_mem_gen_v8_4_4;
|
||||
|
||||
ENTITY player2win_180_32 IS
|
||||
PORT (
|
||||
clka : IN STD_LOGIC;
|
||||
ena : IN STD_LOGIC;
|
||||
addra : IN STD_LOGIC_VECTOR(12 DOWNTO 0);
|
||||
douta : OUT STD_LOGIC_VECTOR(11 DOWNTO 0)
|
||||
);
|
||||
END player2win_180_32;
|
||||
|
||||
ARCHITECTURE player2win_180_32_arch OF player2win_180_32 IS
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings : STRING;
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings OF player2win_180_32_arch: ARCHITECTURE IS "yes";
|
||||
COMPONENT blk_mem_gen_v8_4_4 IS
|
||||
GENERIC (
|
||||
C_FAMILY : STRING;
|
||||
C_XDEVICEFAMILY : STRING;
|
||||
C_ELABORATION_DIR : STRING;
|
||||
C_INTERFACE_TYPE : INTEGER;
|
||||
C_AXI_TYPE : INTEGER;
|
||||
C_AXI_SLAVE_TYPE : INTEGER;
|
||||
C_USE_BRAM_BLOCK : INTEGER;
|
||||
C_ENABLE_32BIT_ADDRESS : INTEGER;
|
||||
C_CTRL_ECC_ALGO : STRING;
|
||||
C_HAS_AXI_ID : INTEGER;
|
||||
C_AXI_ID_WIDTH : INTEGER;
|
||||
C_MEM_TYPE : INTEGER;
|
||||
C_BYTE_SIZE : INTEGER;
|
||||
C_ALGORITHM : INTEGER;
|
||||
C_PRIM_TYPE : INTEGER;
|
||||
C_LOAD_INIT_FILE : INTEGER;
|
||||
C_INIT_FILE_NAME : STRING;
|
||||
C_INIT_FILE : STRING;
|
||||
C_USE_DEFAULT_DATA : INTEGER;
|
||||
C_DEFAULT_DATA : STRING;
|
||||
C_HAS_RSTA : INTEGER;
|
||||
C_RST_PRIORITY_A : STRING;
|
||||
C_RSTRAM_A : INTEGER;
|
||||
C_INITA_VAL : STRING;
|
||||
C_HAS_ENA : INTEGER;
|
||||
C_HAS_REGCEA : INTEGER;
|
||||
C_USE_BYTE_WEA : INTEGER;
|
||||
C_WEA_WIDTH : INTEGER;
|
||||
C_WRITE_MODE_A : STRING;
|
||||
C_WRITE_WIDTH_A : INTEGER;
|
||||
C_READ_WIDTH_A : INTEGER;
|
||||
C_WRITE_DEPTH_A : INTEGER;
|
||||
C_READ_DEPTH_A : INTEGER;
|
||||
C_ADDRA_WIDTH : INTEGER;
|
||||
C_HAS_RSTB : INTEGER;
|
||||
C_RST_PRIORITY_B : STRING;
|
||||
C_RSTRAM_B : INTEGER;
|
||||
C_INITB_VAL : STRING;
|
||||
C_HAS_ENB : INTEGER;
|
||||
C_HAS_REGCEB : INTEGER;
|
||||
C_USE_BYTE_WEB : INTEGER;
|
||||
C_WEB_WIDTH : INTEGER;
|
||||
C_WRITE_MODE_B : STRING;
|
||||
C_WRITE_WIDTH_B : INTEGER;
|
||||
C_READ_WIDTH_B : INTEGER;
|
||||
C_WRITE_DEPTH_B : INTEGER;
|
||||
C_READ_DEPTH_B : INTEGER;
|
||||
C_ADDRB_WIDTH : INTEGER;
|
||||
C_HAS_MEM_OUTPUT_REGS_A : INTEGER;
|
||||
C_HAS_MEM_OUTPUT_REGS_B : INTEGER;
|
||||
C_HAS_MUX_OUTPUT_REGS_A : INTEGER;
|
||||
C_HAS_MUX_OUTPUT_REGS_B : INTEGER;
|
||||
C_MUX_PIPELINE_STAGES : INTEGER;
|
||||
C_HAS_SOFTECC_INPUT_REGS_A : INTEGER;
|
||||
C_HAS_SOFTECC_OUTPUT_REGS_B : INTEGER;
|
||||
C_USE_SOFTECC : INTEGER;
|
||||
C_USE_ECC : INTEGER;
|
||||
C_EN_ECC_PIPE : INTEGER;
|
||||
C_READ_LATENCY_A : INTEGER;
|
||||
C_READ_LATENCY_B : INTEGER;
|
||||
C_HAS_INJECTERR : INTEGER;
|
||||
C_SIM_COLLISION_CHECK : STRING;
|
||||
C_COMMON_CLK : INTEGER;
|
||||
C_DISABLE_WARN_BHV_COLL : INTEGER;
|
||||
C_EN_SLEEP_PIN : INTEGER;
|
||||
C_USE_URAM : INTEGER;
|
||||
C_EN_RDADDRA_CHG : INTEGER;
|
||||
C_EN_RDADDRB_CHG : INTEGER;
|
||||
C_EN_DEEPSLEEP_PIN : INTEGER;
|
||||
C_EN_SHUTDOWN_PIN : INTEGER;
|
||||
C_EN_SAFETY_CKT : INTEGER;
|
||||
C_DISABLE_WARN_BHV_RANGE : INTEGER;
|
||||
C_COUNT_36K_BRAM : STRING;
|
||||
C_COUNT_18K_BRAM : STRING;
|
||||
C_EST_POWER_SUMMARY : STRING
|
||||
);
|
||||
PORT (
|
||||
clka : IN STD_LOGIC;
|
||||
rsta : IN STD_LOGIC;
|
||||
ena : IN STD_LOGIC;
|
||||
regcea : IN STD_LOGIC;
|
||||
wea : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
addra : IN STD_LOGIC_VECTOR(12 DOWNTO 0);
|
||||
dina : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
douta : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
clkb : IN STD_LOGIC;
|
||||
rstb : IN STD_LOGIC;
|
||||
enb : IN STD_LOGIC;
|
||||
regceb : IN STD_LOGIC;
|
||||
web : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
addrb : IN STD_LOGIC_VECTOR(12 DOWNTO 0);
|
||||
dinb : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
doutb : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
injectsbiterr : IN STD_LOGIC;
|
||||
injectdbiterr : IN STD_LOGIC;
|
||||
eccpipece : IN STD_LOGIC;
|
||||
sbiterr : OUT STD_LOGIC;
|
||||
dbiterr : OUT STD_LOGIC;
|
||||
rdaddrecc : OUT STD_LOGIC_VECTOR(12 DOWNTO 0);
|
||||
sleep : IN STD_LOGIC;
|
||||
deepsleep : IN STD_LOGIC;
|
||||
shutdown : IN STD_LOGIC;
|
||||
rsta_busy : OUT STD_LOGIC;
|
||||
rstb_busy : OUT STD_LOGIC;
|
||||
s_aclk : IN STD_LOGIC;
|
||||
s_aresetn : IN STD_LOGIC;
|
||||
s_axi_awid : IN STD_LOGIC_VECTOR(3 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_awvalid : IN STD_LOGIC;
|
||||
s_axi_awready : OUT STD_LOGIC;
|
||||
s_axi_wdata : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
s_axi_wstrb : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
s_axi_wlast : IN STD_LOGIC;
|
||||
s_axi_wvalid : IN STD_LOGIC;
|
||||
s_axi_wready : OUT STD_LOGIC;
|
||||
s_axi_bid : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
|
||||
s_axi_bresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
|
||||
s_axi_bvalid : OUT STD_LOGIC;
|
||||
s_axi_bready : IN STD_LOGIC;
|
||||
s_axi_arid : IN STD_LOGIC_VECTOR(3 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_arvalid : IN STD_LOGIC;
|
||||
s_axi_arready : OUT STD_LOGIC;
|
||||
s_axi_rid : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
|
||||
s_axi_rdata : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
s_axi_rresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
|
||||
s_axi_rlast : OUT STD_LOGIC;
|
||||
s_axi_rvalid : OUT STD_LOGIC;
|
||||
s_axi_rready : IN STD_LOGIC;
|
||||
s_axi_injectsbiterr : IN STD_LOGIC;
|
||||
s_axi_injectdbiterr : IN STD_LOGIC;
|
||||
s_axi_sbiterr : OUT STD_LOGIC;
|
||||
s_axi_dbiterr : OUT STD_LOGIC;
|
||||
s_axi_rdaddrecc : OUT STD_LOGIC_VECTOR(12 DOWNTO 0)
|
||||
);
|
||||
END COMPONENT blk_mem_gen_v8_4_4;
|
||||
ATTRIBUTE X_CORE_INFO : STRING;
|
||||
ATTRIBUTE X_CORE_INFO OF player2win_180_32_arch: ARCHITECTURE IS "blk_mem_gen_v8_4_4,Vivado 2019.2";
|
||||
ATTRIBUTE CHECK_LICENSE_TYPE : STRING;
|
||||
ATTRIBUTE CHECK_LICENSE_TYPE OF player2win_180_32_arch : ARCHITECTURE IS "player2win_180_32,blk_mem_gen_v8_4_4,{}";
|
||||
ATTRIBUTE CORE_GENERATION_INFO : STRING;
|
||||
ATTRIBUTE CORE_GENERATION_INFO OF player2win_180_32_arch: ARCHITECTURE IS "player2win_180_32,blk_mem_gen_v8_4_4,{x_ipProduct=Vivado 2019.2,x_ipVendor=xilinx.com,x_ipLibrary=ip,x_ipName=blk_mem_gen,x_ipVersion=8.4,x_ipCoreRevision=4,x_ipLanguage=VERILOG,x_ipSimLanguage=MIXED,C_FAMILY=artix7,C_XDEVICEFAMILY=artix7,C_ELABORATION_DIR=./,C_INTERFACE_TYPE=0,C_AXI_TYPE=1,C_AXI_SLAVE_TYPE=0,C_USE_BRAM_BLOCK=0,C_ENABLE_32BIT_ADDRESS=0,C_CTRL_ECC_ALGO=NONE,C_HAS_AXI_ID=0,C_AXI_ID_WIDTH=4,C_MEM_TYPE=3,C_BYTE_SIZE=9,C_ALGORITHM=1,C_PRIM_TYPE=1,C_LOAD_INIT_FILE=1,C_INIT_FILE_NAME=p" &
|
||||
"layer2win_180_32.mif,C_INIT_FILE=player2win_180_32.mem,C_USE_DEFAULT_DATA=0,C_DEFAULT_DATA=0,C_HAS_RSTA=0,C_RST_PRIORITY_A=CE,C_RSTRAM_A=0,C_INITA_VAL=0,C_HAS_ENA=1,C_HAS_REGCEA=0,C_USE_BYTE_WEA=0,C_WEA_WIDTH=1,C_WRITE_MODE_A=WRITE_FIRST,C_WRITE_WIDTH_A=12,C_READ_WIDTH_A=12,C_WRITE_DEPTH_A=5760,C_READ_DEPTH_A=5760,C_ADDRA_WIDTH=13,C_HAS_RSTB=0,C_RST_PRIORITY_B=CE,C_RSTRAM_B=0,C_INITB_VAL=0,C_HAS_ENB=0,C_HAS_REGCEB=0,C_USE_BYTE_WEB=0,C_WEB_WIDTH=1,C_WRITE_MODE_B=WRITE_FIRST,C_WRITE_WIDTH_B=12,C_R" &
|
||||
"EAD_WIDTH_B=12,C_WRITE_DEPTH_B=5760,C_READ_DEPTH_B=5760,C_ADDRB_WIDTH=13,C_HAS_MEM_OUTPUT_REGS_A=1,C_HAS_MEM_OUTPUT_REGS_B=0,C_HAS_MUX_OUTPUT_REGS_A=0,C_HAS_MUX_OUTPUT_REGS_B=0,C_MUX_PIPELINE_STAGES=0,C_HAS_SOFTECC_INPUT_REGS_A=0,C_HAS_SOFTECC_OUTPUT_REGS_B=0,C_USE_SOFTECC=0,C_USE_ECC=0,C_EN_ECC_PIPE=0,C_READ_LATENCY_A=1,C_READ_LATENCY_B=1,C_HAS_INJECTERR=0,C_SIM_COLLISION_CHECK=ALL,C_COMMON_CLK=0,C_DISABLE_WARN_BHV_COLL=0,C_EN_SLEEP_PIN=0,C_USE_URAM=0,C_EN_RDADDRA_CHG=0,C_EN_RDADDRB_CHG=0,C_EN_" &
|
||||
"DEEPSLEEP_PIN=0,C_EN_SHUTDOWN_PIN=0,C_EN_SAFETY_CKT=0,C_DISABLE_WARN_BHV_RANGE=0,C_COUNT_36K_BRAM=2,C_COUNT_18K_BRAM=1,C_EST_POWER_SUMMARY=Estimated Power for IP _ 4.291207 mW}";
|
||||
ATTRIBUTE X_INTERFACE_INFO : STRING;
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER : STRING;
|
||||
ATTRIBUTE X_INTERFACE_INFO OF douta: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA DOUT";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF addra: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA ADDR";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF ena: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA EN";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF clka: SIGNAL IS "XIL_INTERFACENAME BRAM_PORTA, MEM_SIZE 8192, MEM_WIDTH 32, MEM_ECC NONE, MASTER_TYPE OTHER, READ_LATENCY 1";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF clka: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA CLK";
|
||||
BEGIN
|
||||
U0 : blk_mem_gen_v8_4_4
|
||||
GENERIC MAP (
|
||||
C_FAMILY => "artix7",
|
||||
C_XDEVICEFAMILY => "artix7",
|
||||
C_ELABORATION_DIR => "./",
|
||||
C_INTERFACE_TYPE => 0,
|
||||
C_AXI_TYPE => 1,
|
||||
C_AXI_SLAVE_TYPE => 0,
|
||||
C_USE_BRAM_BLOCK => 0,
|
||||
C_ENABLE_32BIT_ADDRESS => 0,
|
||||
C_CTRL_ECC_ALGO => "NONE",
|
||||
C_HAS_AXI_ID => 0,
|
||||
C_AXI_ID_WIDTH => 4,
|
||||
C_MEM_TYPE => 3,
|
||||
C_BYTE_SIZE => 9,
|
||||
C_ALGORITHM => 1,
|
||||
C_PRIM_TYPE => 1,
|
||||
C_LOAD_INIT_FILE => 1,
|
||||
C_INIT_FILE_NAME => "player2win_180_32.mif",
|
||||
C_INIT_FILE => "player2win_180_32.mem",
|
||||
C_USE_DEFAULT_DATA => 0,
|
||||
C_DEFAULT_DATA => "0",
|
||||
C_HAS_RSTA => 0,
|
||||
C_RST_PRIORITY_A => "CE",
|
||||
C_RSTRAM_A => 0,
|
||||
C_INITA_VAL => "0",
|
||||
C_HAS_ENA => 1,
|
||||
C_HAS_REGCEA => 0,
|
||||
C_USE_BYTE_WEA => 0,
|
||||
C_WEA_WIDTH => 1,
|
||||
C_WRITE_MODE_A => "WRITE_FIRST",
|
||||
C_WRITE_WIDTH_A => 12,
|
||||
C_READ_WIDTH_A => 12,
|
||||
C_WRITE_DEPTH_A => 5760,
|
||||
C_READ_DEPTH_A => 5760,
|
||||
C_ADDRA_WIDTH => 13,
|
||||
C_HAS_RSTB => 0,
|
||||
C_RST_PRIORITY_B => "CE",
|
||||
C_RSTRAM_B => 0,
|
||||
C_INITB_VAL => "0",
|
||||
C_HAS_ENB => 0,
|
||||
C_HAS_REGCEB => 0,
|
||||
C_USE_BYTE_WEB => 0,
|
||||
C_WEB_WIDTH => 1,
|
||||
C_WRITE_MODE_B => "WRITE_FIRST",
|
||||
C_WRITE_WIDTH_B => 12,
|
||||
C_READ_WIDTH_B => 12,
|
||||
C_WRITE_DEPTH_B => 5760,
|
||||
C_READ_DEPTH_B => 5760,
|
||||
C_ADDRB_WIDTH => 13,
|
||||
C_HAS_MEM_OUTPUT_REGS_A => 1,
|
||||
C_HAS_MEM_OUTPUT_REGS_B => 0,
|
||||
C_HAS_MUX_OUTPUT_REGS_A => 0,
|
||||
C_HAS_MUX_OUTPUT_REGS_B => 0,
|
||||
C_MUX_PIPELINE_STAGES => 0,
|
||||
C_HAS_SOFTECC_INPUT_REGS_A => 0,
|
||||
C_HAS_SOFTECC_OUTPUT_REGS_B => 0,
|
||||
C_USE_SOFTECC => 0,
|
||||
C_USE_ECC => 0,
|
||||
C_EN_ECC_PIPE => 0,
|
||||
C_READ_LATENCY_A => 1,
|
||||
C_READ_LATENCY_B => 1,
|
||||
C_HAS_INJECTERR => 0,
|
||||
C_SIM_COLLISION_CHECK => "ALL",
|
||||
C_COMMON_CLK => 0,
|
||||
C_DISABLE_WARN_BHV_COLL => 0,
|
||||
C_EN_SLEEP_PIN => 0,
|
||||
C_USE_URAM => 0,
|
||||
C_EN_RDADDRA_CHG => 0,
|
||||
C_EN_RDADDRB_CHG => 0,
|
||||
C_EN_DEEPSLEEP_PIN => 0,
|
||||
C_EN_SHUTDOWN_PIN => 0,
|
||||
C_EN_SAFETY_CKT => 0,
|
||||
C_DISABLE_WARN_BHV_RANGE => 0,
|
||||
C_COUNT_36K_BRAM => "2",
|
||||
C_COUNT_18K_BRAM => "1",
|
||||
C_EST_POWER_SUMMARY => "Estimated Power for IP : 4.291207 mW"
|
||||
)
|
||||
PORT MAP (
|
||||
clka => clka,
|
||||
rsta => '0',
|
||||
ena => ena,
|
||||
regcea => '0',
|
||||
wea => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
addra => addra,
|
||||
dina => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 12)),
|
||||
douta => douta,
|
||||
clkb => '0',
|
||||
rstb => '0',
|
||||
enb => '0',
|
||||
regceb => '0',
|
||||
web => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
addrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 13)),
|
||||
dinb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 12)),
|
||||
injectsbiterr => '0',
|
||||
injectdbiterr => '0',
|
||||
eccpipece => '0',
|
||||
sleep => '0',
|
||||
deepsleep => '0',
|
||||
shutdown => '0',
|
||||
s_aclk => '0',
|
||||
s_aresetn => '0',
|
||||
s_axi_awid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
|
||||
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_awvalid => '0',
|
||||
s_axi_wdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 12)),
|
||||
s_axi_wstrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
s_axi_wlast => '0',
|
||||
s_axi_wvalid => '0',
|
||||
s_axi_bready => '0',
|
||||
s_axi_arid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
|
||||
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_arvalid => '0',
|
||||
s_axi_rready => '0',
|
||||
s_axi_injectsbiterr => '0',
|
||||
s_axi_injectdbiterr => '0'
|
||||
);
|
||||
END player2win_180_32_arch;
|
||||
|
|
@ -0,0 +1,207 @@
|
|||
2019.2:
|
||||
* Version 8.4 (Rev. 4)
|
||||
* Feature Enhancement: Read Latency parameters exposed to IP GUI for URAM configurations
|
||||
|
||||
2019.1.3:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* No changes
|
||||
|
||||
2019.1.2:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* No changes
|
||||
|
||||
2019.1.1:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* No changes
|
||||
|
||||
2019.1:
|
||||
* Version 8.4 (Rev. 3)
|
||||
* General: Internal device family change, no functional changes
|
||||
|
||||
2018.3.1:
|
||||
* Version 8.4 (Rev. 2)
|
||||
* No changes
|
||||
|
||||
2018.3:
|
||||
* Version 8.4 (Rev. 2)
|
||||
* Feature Enhancement: Read Latency Support added for URAM when selected through IP Integrator
|
||||
* Other: Power Calculations disabled for URAM primitives in IP GUI, no functional changes
|
||||
* Other: Internal device family change, no functional changes
|
||||
|
||||
2018.2:
|
||||
* Version 8.4 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2018.1:
|
||||
* Version 8.4 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2017.4:
|
||||
* Version 8.4 (Rev. 1)
|
||||
* General: Write depth shown in IP GUI is now dependent on number of BRAMs available in a chosen device, no functional changes
|
||||
|
||||
2017.3:
|
||||
* Version 8.4
|
||||
* General: Safety Circuit option is enabled by default if reset option in any one port is enabled
|
||||
|
||||
2017.2:
|
||||
* Version 8.3 (Rev. 6)
|
||||
* No changes
|
||||
|
||||
2017.1:
|
||||
* Version 8.3 (Rev. 6)
|
||||
* General: Internal device family change, no functional changes
|
||||
* General: When common_clock is selected clkb is internally connected to clka, but the interface remains same to support the backword compatiability. User make sure of connecting the both the clocks to same clock source when in common_clock mode
|
||||
|
||||
2016.4:
|
||||
* Version 8.3 (Rev. 5)
|
||||
* General: Fixes for behavioral Model issues when built-IN ECC is enabled (to be consistent with RTL)
|
||||
|
||||
2016.3:
|
||||
* Version 8.3 (Rev. 4)
|
||||
* Feature Enhancement: URAM addressing updates while calling XPM_Memory when 32-bit addressing is enabled
|
||||
* Other: Enable support for future devices
|
||||
* Other: Source HDL files are concatenated into a single file to speed up synthesis and simulation. No changes required by the user
|
||||
|
||||
2016.2:
|
||||
* Version 8.3 (Rev. 3)
|
||||
* updated the IP,not to set WRITE_DEPTH parameter to 8192 everytime when the mode is switched to BRAM_Controller
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2016.1:
|
||||
* Version 8.3 (Rev. 2)
|
||||
* Updated the IP to deliver only verilog behavioral model
|
||||
* Updated the IP to support UltraRAM in IP Integrator
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2015.4.2:
|
||||
* Version 8.3 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2015.4.1:
|
||||
* Version 8.3 (Rev. 1)
|
||||
* No changes
|
||||
|
||||
2015.4:
|
||||
* Version 8.3 (Rev. 1)
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2015.3:
|
||||
* Version 8.3
|
||||
* IP revision number added to HDL module, library, and include file names, to support designs with both locked and upgraded IP instances
|
||||
* New ports rsta_busy and rstb_busy are added to enable the safety circuitry to minimize the occurrence of BRAM data corruption
|
||||
* Simulation models are delivered in VHDL only
|
||||
|
||||
2015.2.1:
|
||||
* Version 8.2 (Rev. 5)
|
||||
* No changes
|
||||
|
||||
2015.2:
|
||||
* Version 8.2 (Rev. 5)
|
||||
* No changes
|
||||
|
||||
2015.1:
|
||||
* Version 8.2 (Rev. 5)
|
||||
* Delivering non encrypted behavioral models
|
||||
* Supported memory depth is increased up to 1M words
|
||||
* Added the power saving feature (RDADDRCHG) for ultrascale devices
|
||||
* Supported devices and production status are now determined automatically, to simplify support for future devices
|
||||
|
||||
2014.4.1:
|
||||
* Version 8.2 (Rev. 4)
|
||||
* Updated the IP to support the device package changes
|
||||
|
||||
2014.4:
|
||||
* Version 8.2 (Rev. 3)
|
||||
* Encrypted source files are concatenated together to reduce the number of files and to reduce simulator compile time
|
||||
* Added support for 7-series Automotive (XA) and Defense Grade (XQ) devices
|
||||
* Internal device family change, no functional changes
|
||||
|
||||
2014.3:
|
||||
* Version 8.2 (Rev. 2)
|
||||
* Fixed the Memory Resource Doubling issue in Simple Dual Port RAM when aspect ratio is used
|
||||
* Fixed the GUI crash in Simple Dual Port RAM
|
||||
* Added support of all write modes in Simple Dual Port RAM when ECC is not used
|
||||
* Increased the supported depth to a maximum value of 256k
|
||||
|
||||
2014.2:
|
||||
* Version 8.2 (Rev. 1)
|
||||
* Updated the GUI tool tip for Byte write enable in the page-1 of block memory generator GUI
|
||||
|
||||
2014.1:
|
||||
* Version 8.2
|
||||
* Added support of the cascaded Primitives of widths 1 and 2 for ultra-scale devices
|
||||
* Added support of the ECCPIPE register in the built-in ecc mode for ultra-scale devices
|
||||
* Added support of the dynamic power saving for ultra-scale devices
|
||||
* Improved timing efficiency in the IP Integrator by minimizing the use of output mux for the 7-series devices
|
||||
* Internal device family name change, no functional changes
|
||||
|
||||
2013.4:
|
||||
* Version 8.1
|
||||
* The Primitive output registers are made "ON" by default in the stand alone mode
|
||||
* Added cascaded support for ultrascale devices to construct 64Kx1 primitive by using two 32Kx1 primitives
|
||||
* Added support for ultrascale devices
|
||||
|
||||
2013.3:
|
||||
* Version 8.0 (Rev. 2)
|
||||
* Added parameter "CTRL_ECC_ALGO" for supporting ECC in IP Integrator.
|
||||
* Improved GUI speed and responsivness, no functional changes
|
||||
* Reduced synthesis and simulation warnings
|
||||
* Added support for Cadence IES and Synopsys VCS simulators
|
||||
* Changed the default option of ENABLE PORT TYPE to "USE_ENA_PIN"
|
||||
* Changed BRAM Interface DIN and DOUT to match bus interface directions.
|
||||
|
||||
2013.2:
|
||||
* Version 8.0 (Rev. 1)
|
||||
* No Changes
|
||||
|
||||
2013.1:
|
||||
* Version 8.0
|
||||
* Native Vivado Release
|
||||
* There have been no functional or interface changes to this IP. The version number has changed to support unique versioning in Vivado starting with 2013.1.
|
||||
|
||||
(c) Copyright 2002 - 2019 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.
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,150 @@
|
|||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
|
||||
entity blk_mem_gen_v8_4_4 is
|
||||
generic (
|
||||
C_FAMILY : string := "virtex7";
|
||||
C_XDEVICEFAMILY : string := "virtex7";
|
||||
C_ELABORATION_DIR : string := "";
|
||||
C_INTERFACE_TYPE : integer := 0;
|
||||
C_AXI_TYPE : integer := 1;
|
||||
C_AXI_SLAVE_TYPE : integer := 0;
|
||||
C_USE_BRAM_BLOCK : integer := 0;
|
||||
C_ENABLE_32BIT_ADDRESS : integer := 0;
|
||||
C_CTRL_ECC_ALGO : string := "ECCHSIAO32-7";
|
||||
C_HAS_AXI_ID : integer := 0;
|
||||
C_AXI_ID_WIDTH : integer := 4;
|
||||
C_MEM_TYPE : integer := 2;
|
||||
C_BYTE_SIZE : integer := 9;
|
||||
C_ALGORITHM : integer := 0;
|
||||
C_PRIM_TYPE : integer := 3;
|
||||
C_LOAD_INIT_FILE : integer := 0;
|
||||
C_INIT_FILE_NAME : string := "no_coe_file_loaded";
|
||||
C_INIT_FILE : string := "no_mem_file_loaded";
|
||||
C_USE_DEFAULT_DATA : integer := 0;
|
||||
C_DEFAULT_DATA : string := "0";
|
||||
C_HAS_RSTA : integer := 0;
|
||||
C_RST_PRIORITY_A : string := "ce";
|
||||
C_RSTRAM_A : integer := 0;
|
||||
C_INITA_VAL : string := "0";
|
||||
C_HAS_ENA : integer := 1;
|
||||
C_HAS_REGCEA : integer := 0;
|
||||
C_USE_BYTE_WEA : integer := 0;
|
||||
C_WEA_WIDTH : integer := 1;
|
||||
C_WRITE_MODE_A : string := "WRITE_FIRST";
|
||||
C_WRITE_WIDTH_A : integer := 9;
|
||||
C_READ_WIDTH_A : integer := 9;
|
||||
C_WRITE_DEPTH_A : integer := 2048;
|
||||
C_READ_DEPTH_A : integer := 2048;
|
||||
C_ADDRA_WIDTH : integer := 11;
|
||||
C_HAS_RSTB : integer := 0;
|
||||
C_RST_PRIORITY_B : string := "ce";
|
||||
C_RSTRAM_B : integer := 0;
|
||||
C_INITB_VAL : string := "0";
|
||||
C_HAS_ENB : integer := 1;
|
||||
C_HAS_REGCEB : integer := 0;
|
||||
C_USE_BYTE_WEB : integer := 0;
|
||||
C_WEB_WIDTH : integer := 1;
|
||||
C_WRITE_MODE_B : string := "WRITE_FIRST";
|
||||
C_WRITE_WIDTH_B : integer := 9;
|
||||
C_READ_WIDTH_B : integer := 9;
|
||||
C_WRITE_DEPTH_B : integer := 2048;
|
||||
C_READ_DEPTH_B : integer := 2048;
|
||||
C_ADDRB_WIDTH : integer := 11;
|
||||
C_HAS_MEM_OUTPUT_REGS_A : integer := 0;
|
||||
C_HAS_MEM_OUTPUT_REGS_B : integer := 0;
|
||||
C_HAS_MUX_OUTPUT_REGS_A : integer := 0;
|
||||
C_HAS_MUX_OUTPUT_REGS_B : integer := 0;
|
||||
C_MUX_PIPELINE_STAGES : integer := 0;
|
||||
C_HAS_SOFTECC_INPUT_REGS_A : integer := 0;
|
||||
C_HAS_SOFTECC_OUTPUT_REGS_B : integer := 0;
|
||||
C_USE_SOFTECC : integer := 0;
|
||||
C_USE_ECC : integer := 0;
|
||||
C_EN_ECC_PIPE : integer := 0;
|
||||
C_HAS_INJECTERR : integer := 0;
|
||||
C_SIM_COLLISION_CHECK : string := "none";
|
||||
C_COMMON_CLK : integer := 0;
|
||||
C_DISABLE_WARN_BHV_COLL : integer := 0;
|
||||
C_EN_SLEEP_PIN : integer := 0;
|
||||
C_USE_URAM : integer := 0;
|
||||
C_EN_RDADDRA_CHG : integer := 0;
|
||||
C_EN_RDADDRB_CHG : integer := 0;
|
||||
C_EN_DEEPSLEEP_PIN : integer := 0;
|
||||
C_EN_SHUTDOWN_PIN : integer := 0;
|
||||
C_EN_SAFETY_CKT : integer := 0;
|
||||
C_DISABLE_WARN_BHV_RANGE : integer := 0;
|
||||
C_COUNT_36K_BRAM : string := "";
|
||||
C_COUNT_18K_BRAM : string := "";
|
||||
C_EST_POWER_SUMMARY : string := ""
|
||||
);
|
||||
port (
|
||||
clka : in std_logic := '0';
|
||||
rsta : in std_logic := '0';
|
||||
ena : in std_logic := '0';
|
||||
regcea : in std_logic := '0';
|
||||
wea : in std_logic_vector(c_wea_width - 1 downto 0) := (others => '0');
|
||||
addra : in std_logic_vector(c_addra_width - 1 downto 0) := (others => '0');
|
||||
dina : in std_logic_vector(c_write_width_a - 1 downto 0) := (others => '0');
|
||||
douta : out std_logic_vector(c_read_width_a - 1 downto 0);
|
||||
clkb : in std_logic := '0';
|
||||
rstb : in std_logic := '0';
|
||||
enb : in std_logic := '0';
|
||||
regceb : in std_logic := '0';
|
||||
web : in std_logic_vector(c_web_width - 1 downto 0) := (others => '0');
|
||||
addrb : in std_logic_vector(c_addrb_width - 1 downto 0) := (others => '0');
|
||||
dinb : in std_logic_vector(c_write_width_b - 1 downto 0) := (others => '0');
|
||||
doutb : out std_logic_vector(c_read_width_b - 1 downto 0);
|
||||
injectsbiterr : in std_logic := '0';
|
||||
injectdbiterr : in std_logic := '0';
|
||||
eccpipece : in std_logic := '0';
|
||||
sbiterr : out std_logic;
|
||||
dbiterr : out std_logic;
|
||||
rdaddrecc : out std_logic_vector(c_addrb_width - 1 downto 0);
|
||||
sleep : in std_logic := '0';
|
||||
deepsleep : in std_logic := '0';
|
||||
shutdown : in std_logic := '0';
|
||||
rsta_busy : out std_logic;
|
||||
rstb_busy : out std_logic;
|
||||
s_aclk : in std_logic := '0';
|
||||
s_aresetn : in std_logic := '0';
|
||||
s_axi_awid : in std_logic_vector(c_axi_id_width - 1 downto 0) := (others => '0');
|
||||
s_axi_awaddr : in std_logic_vector(31 downto 0) := (others => '0');
|
||||
s_axi_awlen : in std_logic_vector(7 downto 0) := (others => '0');
|
||||
s_axi_awsize : in std_logic_vector(2 downto 0) := (others => '0');
|
||||
s_axi_awburst : in std_logic_vector(1 downto 0) := (others => '0');
|
||||
s_axi_awvalid : in std_logic := '0';
|
||||
s_axi_awready : out std_logic;
|
||||
s_axi_wdata : in std_logic_vector(c_write_width_a - 1 downto 0) := (others => '0');
|
||||
s_axi_wstrb : in std_logic_vector(c_wea_width - 1 downto 0) := (others => '0');
|
||||
s_axi_wlast : in std_logic := '0';
|
||||
s_axi_wvalid : in std_logic := '0';
|
||||
s_axi_wready : out std_logic;
|
||||
s_axi_bid : out std_logic_vector(c_axi_id_width - 1 downto 0);
|
||||
s_axi_bresp : out std_logic_vector(1 downto 0);
|
||||
s_axi_bvalid : out std_logic;
|
||||
s_axi_bready : in std_logic := '0';
|
||||
s_axi_arid : in std_logic_vector(c_axi_id_width - 1 downto 0) := (others => '0');
|
||||
s_axi_araddr : in std_logic_vector(31 downto 0) := (others => '0');
|
||||
s_axi_arlen : in std_logic_vector(8 - 1 downto 0) := (others => '0');
|
||||
s_axi_arsize : in std_logic_vector(2 downto 0) := (others => '0');
|
||||
s_axi_arburst : in std_logic_vector(1 downto 0) := (others => '0');
|
||||
s_axi_arvalid : in std_logic := '0';
|
||||
s_axi_arready : out std_logic;
|
||||
s_axi_rid : out std_logic_vector(c_axi_id_width - 1 downto 0);
|
||||
s_axi_rdata : out std_logic_vector(c_write_width_b - 1 downto 0);
|
||||
s_axi_rresp : out std_logic_vector(2 - 1 downto 0);
|
||||
s_axi_rlast : out std_logic;
|
||||
s_axi_rvalid : out std_logic;
|
||||
s_axi_rready : in std_logic := '0';
|
||||
s_axi_injectsbiterr : in std_logic := '0';
|
||||
s_axi_injectdbiterr : in std_logic := '0';
|
||||
s_axi_sbiterr : out std_logic;
|
||||
s_axi_dbiterr : out std_logic;
|
||||
s_axi_rdaddrecc : out std_logic_vector(c_addrb_width - 1 downto 0)
|
||||
);
|
||||
end entity blk_mem_gen_v8_4_4;
|
||||
|
||||
architecture xilinx of blk_mem_gen_v8_4_4 is
|
||||
begin
|
||||
end
|
||||
architecture xilinx;
|
||||
|
|
@ -0,0 +1,214 @@
|
|||
// (c) Copyright 1995-2021 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.
|
||||
//
|
||||
// DO NOT MODIFY THIS FILE.
|
||||
|
||||
|
||||
// IP VLNV: xilinx.com:ip:blk_mem_gen:8.4
|
||||
// IP Revision: 4
|
||||
|
||||
`timescale 1ns/1ps
|
||||
|
||||
(* DowngradeIPIdentifiedWarnings = "yes" *)
|
||||
module timeisup_180_38 (
|
||||
clka,
|
||||
ena,
|
||||
addra,
|
||||
douta
|
||||
);
|
||||
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA CLK" *)
|
||||
input wire clka;
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA EN" *)
|
||||
input wire ena;
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA ADDR" *)
|
||||
input wire [12 : 0] addra;
|
||||
(* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME BRAM_PORTA, MEM_SIZE 8192, MEM_WIDTH 32, MEM_ECC NONE, MASTER_TYPE OTHER, READ_LATENCY 1" *)
|
||||
(* X_INTERFACE_INFO = "xilinx.com:interface:bram:1.0 BRAM_PORTA DOUT" *)
|
||||
output wire [11 : 0] douta;
|
||||
|
||||
blk_mem_gen_v8_4_4 #(
|
||||
.C_FAMILY("artix7"),
|
||||
.C_XDEVICEFAMILY("artix7"),
|
||||
.C_ELABORATION_DIR("./"),
|
||||
.C_INTERFACE_TYPE(0),
|
||||
.C_AXI_TYPE(1),
|
||||
.C_AXI_SLAVE_TYPE(0),
|
||||
.C_USE_BRAM_BLOCK(0),
|
||||
.C_ENABLE_32BIT_ADDRESS(0),
|
||||
.C_CTRL_ECC_ALGO("NONE"),
|
||||
.C_HAS_AXI_ID(0),
|
||||
.C_AXI_ID_WIDTH(4),
|
||||
.C_MEM_TYPE(3),
|
||||
.C_BYTE_SIZE(9),
|
||||
.C_ALGORITHM(1),
|
||||
.C_PRIM_TYPE(1),
|
||||
.C_LOAD_INIT_FILE(1),
|
||||
.C_INIT_FILE_NAME("timeisup_180_38.mif"),
|
||||
.C_INIT_FILE("timeisup_180_38.mem"),
|
||||
.C_USE_DEFAULT_DATA(0),
|
||||
.C_DEFAULT_DATA("0"),
|
||||
.C_HAS_RSTA(0),
|
||||
.C_RST_PRIORITY_A("CE"),
|
||||
.C_RSTRAM_A(0),
|
||||
.C_INITA_VAL("0"),
|
||||
.C_HAS_ENA(1),
|
||||
.C_HAS_REGCEA(0),
|
||||
.C_USE_BYTE_WEA(0),
|
||||
.C_WEA_WIDTH(1),
|
||||
.C_WRITE_MODE_A("WRITE_FIRST"),
|
||||
.C_WRITE_WIDTH_A(12),
|
||||
.C_READ_WIDTH_A(12),
|
||||
.C_WRITE_DEPTH_A(6840),
|
||||
.C_READ_DEPTH_A(6840),
|
||||
.C_ADDRA_WIDTH(13),
|
||||
.C_HAS_RSTB(0),
|
||||
.C_RST_PRIORITY_B("CE"),
|
||||
.C_RSTRAM_B(0),
|
||||
.C_INITB_VAL("0"),
|
||||
.C_HAS_ENB(0),
|
||||
.C_HAS_REGCEB(0),
|
||||
.C_USE_BYTE_WEB(0),
|
||||
.C_WEB_WIDTH(1),
|
||||
.C_WRITE_MODE_B("WRITE_FIRST"),
|
||||
.C_WRITE_WIDTH_B(12),
|
||||
.C_READ_WIDTH_B(12),
|
||||
.C_WRITE_DEPTH_B(6840),
|
||||
.C_READ_DEPTH_B(6840),
|
||||
.C_ADDRB_WIDTH(13),
|
||||
.C_HAS_MEM_OUTPUT_REGS_A(1),
|
||||
.C_HAS_MEM_OUTPUT_REGS_B(0),
|
||||
.C_HAS_MUX_OUTPUT_REGS_A(0),
|
||||
.C_HAS_MUX_OUTPUT_REGS_B(0),
|
||||
.C_MUX_PIPELINE_STAGES(0),
|
||||
.C_HAS_SOFTECC_INPUT_REGS_A(0),
|
||||
.C_HAS_SOFTECC_OUTPUT_REGS_B(0),
|
||||
.C_USE_SOFTECC(0),
|
||||
.C_USE_ECC(0),
|
||||
.C_EN_ECC_PIPE(0),
|
||||
.C_READ_LATENCY_A(1),
|
||||
.C_READ_LATENCY_B(1),
|
||||
.C_HAS_INJECTERR(0),
|
||||
.C_SIM_COLLISION_CHECK("ALL"),
|
||||
.C_COMMON_CLK(0),
|
||||
.C_DISABLE_WARN_BHV_COLL(0),
|
||||
.C_EN_SLEEP_PIN(0),
|
||||
.C_USE_URAM(0),
|
||||
.C_EN_RDADDRA_CHG(0),
|
||||
.C_EN_RDADDRB_CHG(0),
|
||||
.C_EN_DEEPSLEEP_PIN(0),
|
||||
.C_EN_SHUTDOWN_PIN(0),
|
||||
.C_EN_SAFETY_CKT(0),
|
||||
.C_DISABLE_WARN_BHV_RANGE(0),
|
||||
.C_COUNT_36K_BRAM("3"),
|
||||
.C_COUNT_18K_BRAM("0"),
|
||||
.C_EST_POWER_SUMMARY("Estimated Power for IP : 4.62695 mW")
|
||||
) inst (
|
||||
.clka(clka),
|
||||
.rsta(1'D0),
|
||||
.ena(ena),
|
||||
.regcea(1'D0),
|
||||
.wea(1'B0),
|
||||
.addra(addra),
|
||||
.dina(12'B0),
|
||||
.douta(douta),
|
||||
.clkb(1'D0),
|
||||
.rstb(1'D0),
|
||||
.enb(1'D0),
|
||||
.regceb(1'D0),
|
||||
.web(1'B0),
|
||||
.addrb(13'B0),
|
||||
.dinb(12'B0),
|
||||
.doutb(),
|
||||
.injectsbiterr(1'D0),
|
||||
.injectdbiterr(1'D0),
|
||||
.eccpipece(1'D0),
|
||||
.sbiterr(),
|
||||
.dbiterr(),
|
||||
.rdaddrecc(),
|
||||
.sleep(1'D0),
|
||||
.deepsleep(1'D0),
|
||||
.shutdown(1'D0),
|
||||
.rsta_busy(),
|
||||
.rstb_busy(),
|
||||
.s_aclk(1'H0),
|
||||
.s_aresetn(1'D0),
|
||||
.s_axi_awid(4'B0),
|
||||
.s_axi_awaddr(32'B0),
|
||||
.s_axi_awlen(8'B0),
|
||||
.s_axi_awsize(3'B0),
|
||||
.s_axi_awburst(2'B0),
|
||||
.s_axi_awvalid(1'D0),
|
||||
.s_axi_awready(),
|
||||
.s_axi_wdata(12'B0),
|
||||
.s_axi_wstrb(1'B0),
|
||||
.s_axi_wlast(1'D0),
|
||||
.s_axi_wvalid(1'D0),
|
||||
.s_axi_wready(),
|
||||
.s_axi_bid(),
|
||||
.s_axi_bresp(),
|
||||
.s_axi_bvalid(),
|
||||
.s_axi_bready(1'D0),
|
||||
.s_axi_arid(4'B0),
|
||||
.s_axi_araddr(32'B0),
|
||||
.s_axi_arlen(8'B0),
|
||||
.s_axi_arsize(3'B0),
|
||||
.s_axi_arburst(2'B0),
|
||||
.s_axi_arvalid(1'D0),
|
||||
.s_axi_arready(),
|
||||
.s_axi_rid(),
|
||||
.s_axi_rdata(),
|
||||
.s_axi_rresp(),
|
||||
.s_axi_rlast(),
|
||||
.s_axi_rvalid(),
|
||||
.s_axi_rready(1'D0),
|
||||
.s_axi_injectsbiterr(1'D0),
|
||||
.s_axi_injectdbiterr(1'D0),
|
||||
.s_axi_sbiterr(),
|
||||
.s_axi_dbiterr(),
|
||||
.s_axi_rdaddrecc()
|
||||
);
|
||||
endmodule
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,355 @@
|
|||
-- (c) Copyright 1995-2021 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.
|
||||
--
|
||||
-- DO NOT MODIFY THIS FILE.
|
||||
|
||||
-- IP VLNV: xilinx.com:ip:blk_mem_gen:8.4
|
||||
-- IP Revision: 4
|
||||
|
||||
LIBRARY ieee;
|
||||
USE ieee.std_logic_1164.ALL;
|
||||
USE ieee.numeric_std.ALL;
|
||||
|
||||
LIBRARY blk_mem_gen_v8_4_4;
|
||||
USE blk_mem_gen_v8_4_4.blk_mem_gen_v8_4_4;
|
||||
|
||||
ENTITY timeisup_180_38 IS
|
||||
PORT (
|
||||
clka : IN STD_LOGIC;
|
||||
ena : IN STD_LOGIC;
|
||||
addra : IN STD_LOGIC_VECTOR(12 DOWNTO 0);
|
||||
douta : OUT STD_LOGIC_VECTOR(11 DOWNTO 0)
|
||||
);
|
||||
END timeisup_180_38;
|
||||
|
||||
ARCHITECTURE timeisup_180_38_arch OF timeisup_180_38 IS
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings : STRING;
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings OF timeisup_180_38_arch: ARCHITECTURE IS "yes";
|
||||
COMPONENT blk_mem_gen_v8_4_4 IS
|
||||
GENERIC (
|
||||
C_FAMILY : STRING;
|
||||
C_XDEVICEFAMILY : STRING;
|
||||
C_ELABORATION_DIR : STRING;
|
||||
C_INTERFACE_TYPE : INTEGER;
|
||||
C_AXI_TYPE : INTEGER;
|
||||
C_AXI_SLAVE_TYPE : INTEGER;
|
||||
C_USE_BRAM_BLOCK : INTEGER;
|
||||
C_ENABLE_32BIT_ADDRESS : INTEGER;
|
||||
C_CTRL_ECC_ALGO : STRING;
|
||||
C_HAS_AXI_ID : INTEGER;
|
||||
C_AXI_ID_WIDTH : INTEGER;
|
||||
C_MEM_TYPE : INTEGER;
|
||||
C_BYTE_SIZE : INTEGER;
|
||||
C_ALGORITHM : INTEGER;
|
||||
C_PRIM_TYPE : INTEGER;
|
||||
C_LOAD_INIT_FILE : INTEGER;
|
||||
C_INIT_FILE_NAME : STRING;
|
||||
C_INIT_FILE : STRING;
|
||||
C_USE_DEFAULT_DATA : INTEGER;
|
||||
C_DEFAULT_DATA : STRING;
|
||||
C_HAS_RSTA : INTEGER;
|
||||
C_RST_PRIORITY_A : STRING;
|
||||
C_RSTRAM_A : INTEGER;
|
||||
C_INITA_VAL : STRING;
|
||||
C_HAS_ENA : INTEGER;
|
||||
C_HAS_REGCEA : INTEGER;
|
||||
C_USE_BYTE_WEA : INTEGER;
|
||||
C_WEA_WIDTH : INTEGER;
|
||||
C_WRITE_MODE_A : STRING;
|
||||
C_WRITE_WIDTH_A : INTEGER;
|
||||
C_READ_WIDTH_A : INTEGER;
|
||||
C_WRITE_DEPTH_A : INTEGER;
|
||||
C_READ_DEPTH_A : INTEGER;
|
||||
C_ADDRA_WIDTH : INTEGER;
|
||||
C_HAS_RSTB : INTEGER;
|
||||
C_RST_PRIORITY_B : STRING;
|
||||
C_RSTRAM_B : INTEGER;
|
||||
C_INITB_VAL : STRING;
|
||||
C_HAS_ENB : INTEGER;
|
||||
C_HAS_REGCEB : INTEGER;
|
||||
C_USE_BYTE_WEB : INTEGER;
|
||||
C_WEB_WIDTH : INTEGER;
|
||||
C_WRITE_MODE_B : STRING;
|
||||
C_WRITE_WIDTH_B : INTEGER;
|
||||
C_READ_WIDTH_B : INTEGER;
|
||||
C_WRITE_DEPTH_B : INTEGER;
|
||||
C_READ_DEPTH_B : INTEGER;
|
||||
C_ADDRB_WIDTH : INTEGER;
|
||||
C_HAS_MEM_OUTPUT_REGS_A : INTEGER;
|
||||
C_HAS_MEM_OUTPUT_REGS_B : INTEGER;
|
||||
C_HAS_MUX_OUTPUT_REGS_A : INTEGER;
|
||||
C_HAS_MUX_OUTPUT_REGS_B : INTEGER;
|
||||
C_MUX_PIPELINE_STAGES : INTEGER;
|
||||
C_HAS_SOFTECC_INPUT_REGS_A : INTEGER;
|
||||
C_HAS_SOFTECC_OUTPUT_REGS_B : INTEGER;
|
||||
C_USE_SOFTECC : INTEGER;
|
||||
C_USE_ECC : INTEGER;
|
||||
C_EN_ECC_PIPE : INTEGER;
|
||||
C_READ_LATENCY_A : INTEGER;
|
||||
C_READ_LATENCY_B : INTEGER;
|
||||
C_HAS_INJECTERR : INTEGER;
|
||||
C_SIM_COLLISION_CHECK : STRING;
|
||||
C_COMMON_CLK : INTEGER;
|
||||
C_DISABLE_WARN_BHV_COLL : INTEGER;
|
||||
C_EN_SLEEP_PIN : INTEGER;
|
||||
C_USE_URAM : INTEGER;
|
||||
C_EN_RDADDRA_CHG : INTEGER;
|
||||
C_EN_RDADDRB_CHG : INTEGER;
|
||||
C_EN_DEEPSLEEP_PIN : INTEGER;
|
||||
C_EN_SHUTDOWN_PIN : INTEGER;
|
||||
C_EN_SAFETY_CKT : INTEGER;
|
||||
C_DISABLE_WARN_BHV_RANGE : INTEGER;
|
||||
C_COUNT_36K_BRAM : STRING;
|
||||
C_COUNT_18K_BRAM : STRING;
|
||||
C_EST_POWER_SUMMARY : STRING
|
||||
);
|
||||
PORT (
|
||||
clka : IN STD_LOGIC;
|
||||
rsta : IN STD_LOGIC;
|
||||
ena : IN STD_LOGIC;
|
||||
regcea : IN STD_LOGIC;
|
||||
wea : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
addra : IN STD_LOGIC_VECTOR(12 DOWNTO 0);
|
||||
dina : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
douta : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
clkb : IN STD_LOGIC;
|
||||
rstb : IN STD_LOGIC;
|
||||
enb : IN STD_LOGIC;
|
||||
regceb : IN STD_LOGIC;
|
||||
web : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
addrb : IN STD_LOGIC_VECTOR(12 DOWNTO 0);
|
||||
dinb : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
doutb : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
injectsbiterr : IN STD_LOGIC;
|
||||
injectdbiterr : IN STD_LOGIC;
|
||||
eccpipece : IN STD_LOGIC;
|
||||
sbiterr : OUT STD_LOGIC;
|
||||
dbiterr : OUT STD_LOGIC;
|
||||
rdaddrecc : OUT STD_LOGIC_VECTOR(12 DOWNTO 0);
|
||||
sleep : IN STD_LOGIC;
|
||||
deepsleep : IN STD_LOGIC;
|
||||
shutdown : IN STD_LOGIC;
|
||||
rsta_busy : OUT STD_LOGIC;
|
||||
rstb_busy : OUT STD_LOGIC;
|
||||
s_aclk : IN STD_LOGIC;
|
||||
s_aresetn : IN STD_LOGIC;
|
||||
s_axi_awid : IN STD_LOGIC_VECTOR(3 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_awvalid : IN STD_LOGIC;
|
||||
s_axi_awready : OUT STD_LOGIC;
|
||||
s_axi_wdata : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
s_axi_wstrb : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
s_axi_wlast : IN STD_LOGIC;
|
||||
s_axi_wvalid : IN STD_LOGIC;
|
||||
s_axi_wready : OUT STD_LOGIC;
|
||||
s_axi_bid : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
|
||||
s_axi_bresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
|
||||
s_axi_bvalid : OUT STD_LOGIC;
|
||||
s_axi_bready : IN STD_LOGIC;
|
||||
s_axi_arid : IN STD_LOGIC_VECTOR(3 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_arvalid : IN STD_LOGIC;
|
||||
s_axi_arready : OUT STD_LOGIC;
|
||||
s_axi_rid : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
|
||||
s_axi_rdata : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||||
s_axi_rresp : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
|
||||
s_axi_rlast : OUT STD_LOGIC;
|
||||
s_axi_rvalid : OUT STD_LOGIC;
|
||||
s_axi_rready : IN STD_LOGIC;
|
||||
s_axi_injectsbiterr : IN STD_LOGIC;
|
||||
s_axi_injectdbiterr : IN STD_LOGIC;
|
||||
s_axi_sbiterr : OUT STD_LOGIC;
|
||||
s_axi_dbiterr : OUT STD_LOGIC;
|
||||
s_axi_rdaddrecc : OUT STD_LOGIC_VECTOR(12 DOWNTO 0)
|
||||
);
|
||||
END COMPONENT blk_mem_gen_v8_4_4;
|
||||
ATTRIBUTE X_CORE_INFO : STRING;
|
||||
ATTRIBUTE X_CORE_INFO OF timeisup_180_38_arch: ARCHITECTURE IS "blk_mem_gen_v8_4_4,Vivado 2019.2";
|
||||
ATTRIBUTE CHECK_LICENSE_TYPE : STRING;
|
||||
ATTRIBUTE CHECK_LICENSE_TYPE OF timeisup_180_38_arch : ARCHITECTURE IS "timeisup_180_38,blk_mem_gen_v8_4_4,{}";
|
||||
ATTRIBUTE CORE_GENERATION_INFO : STRING;
|
||||
ATTRIBUTE CORE_GENERATION_INFO OF timeisup_180_38_arch: ARCHITECTURE IS "timeisup_180_38,blk_mem_gen_v8_4_4,{x_ipProduct=Vivado 2019.2,x_ipVendor=xilinx.com,x_ipLibrary=ip,x_ipName=blk_mem_gen,x_ipVersion=8.4,x_ipCoreRevision=4,x_ipLanguage=VERILOG,x_ipSimLanguage=MIXED,C_FAMILY=artix7,C_XDEVICEFAMILY=artix7,C_ELABORATION_DIR=./,C_INTERFACE_TYPE=0,C_AXI_TYPE=1,C_AXI_SLAVE_TYPE=0,C_USE_BRAM_BLOCK=0,C_ENABLE_32BIT_ADDRESS=0,C_CTRL_ECC_ALGO=NONE,C_HAS_AXI_ID=0,C_AXI_ID_WIDTH=4,C_MEM_TYPE=3,C_BYTE_SIZE=9,C_ALGORITHM=1,C_PRIM_TYPE=1,C_LOAD_INIT_FILE=1,C_INIT_FILE_NAME=tim" &
|
||||
"eisup_180_38.mif,C_INIT_FILE=timeisup_180_38.mem,C_USE_DEFAULT_DATA=0,C_DEFAULT_DATA=0,C_HAS_RSTA=0,C_RST_PRIORITY_A=CE,C_RSTRAM_A=0,C_INITA_VAL=0,C_HAS_ENA=1,C_HAS_REGCEA=0,C_USE_BYTE_WEA=0,C_WEA_WIDTH=1,C_WRITE_MODE_A=WRITE_FIRST,C_WRITE_WIDTH_A=12,C_READ_WIDTH_A=12,C_WRITE_DEPTH_A=6840,C_READ_DEPTH_A=6840,C_ADDRA_WIDTH=13,C_HAS_RSTB=0,C_RST_PRIORITY_B=CE,C_RSTRAM_B=0,C_INITB_VAL=0,C_HAS_ENB=0,C_HAS_REGCEB=0,C_USE_BYTE_WEB=0,C_WEB_WIDTH=1,C_WRITE_MODE_B=WRITE_FIRST,C_WRITE_WIDTH_B=12,C_READ_WI" &
|
||||
"DTH_B=12,C_WRITE_DEPTH_B=6840,C_READ_DEPTH_B=6840,C_ADDRB_WIDTH=13,C_HAS_MEM_OUTPUT_REGS_A=1,C_HAS_MEM_OUTPUT_REGS_B=0,C_HAS_MUX_OUTPUT_REGS_A=0,C_HAS_MUX_OUTPUT_REGS_B=0,C_MUX_PIPELINE_STAGES=0,C_HAS_SOFTECC_INPUT_REGS_A=0,C_HAS_SOFTECC_OUTPUT_REGS_B=0,C_USE_SOFTECC=0,C_USE_ECC=0,C_EN_ECC_PIPE=0,C_READ_LATENCY_A=1,C_READ_LATENCY_B=1,C_HAS_INJECTERR=0,C_SIM_COLLISION_CHECK=ALL,C_COMMON_CLK=0,C_DISABLE_WARN_BHV_COLL=0,C_EN_SLEEP_PIN=0,C_USE_URAM=0,C_EN_RDADDRA_CHG=0,C_EN_RDADDRB_CHG=0,C_EN_DEEPSL" &
|
||||
"EEP_PIN=0,C_EN_SHUTDOWN_PIN=0,C_EN_SAFETY_CKT=0,C_DISABLE_WARN_BHV_RANGE=0,C_COUNT_36K_BRAM=3,C_COUNT_18K_BRAM=0,C_EST_POWER_SUMMARY=Estimated Power for IP _ 4.62695 mW}";
|
||||
ATTRIBUTE X_INTERFACE_INFO : STRING;
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER : STRING;
|
||||
ATTRIBUTE X_INTERFACE_INFO OF douta: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA DOUT";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF addra: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA ADDR";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF ena: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA EN";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF clka: SIGNAL IS "XIL_INTERFACENAME BRAM_PORTA, MEM_SIZE 8192, MEM_WIDTH 32, MEM_ECC NONE, MASTER_TYPE OTHER, READ_LATENCY 1";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF clka: SIGNAL IS "xilinx.com:interface:bram:1.0 BRAM_PORTA CLK";
|
||||
BEGIN
|
||||
U0 : blk_mem_gen_v8_4_4
|
||||
GENERIC MAP (
|
||||
C_FAMILY => "artix7",
|
||||
C_XDEVICEFAMILY => "artix7",
|
||||
C_ELABORATION_DIR => "./",
|
||||
C_INTERFACE_TYPE => 0,
|
||||
C_AXI_TYPE => 1,
|
||||
C_AXI_SLAVE_TYPE => 0,
|
||||
C_USE_BRAM_BLOCK => 0,
|
||||
C_ENABLE_32BIT_ADDRESS => 0,
|
||||
C_CTRL_ECC_ALGO => "NONE",
|
||||
C_HAS_AXI_ID => 0,
|
||||
C_AXI_ID_WIDTH => 4,
|
||||
C_MEM_TYPE => 3,
|
||||
C_BYTE_SIZE => 9,
|
||||
C_ALGORITHM => 1,
|
||||
C_PRIM_TYPE => 1,
|
||||
C_LOAD_INIT_FILE => 1,
|
||||
C_INIT_FILE_NAME => "timeisup_180_38.mif",
|
||||
C_INIT_FILE => "timeisup_180_38.mem",
|
||||
C_USE_DEFAULT_DATA => 0,
|
||||
C_DEFAULT_DATA => "0",
|
||||
C_HAS_RSTA => 0,
|
||||
C_RST_PRIORITY_A => "CE",
|
||||
C_RSTRAM_A => 0,
|
||||
C_INITA_VAL => "0",
|
||||
C_HAS_ENA => 1,
|
||||
C_HAS_REGCEA => 0,
|
||||
C_USE_BYTE_WEA => 0,
|
||||
C_WEA_WIDTH => 1,
|
||||
C_WRITE_MODE_A => "WRITE_FIRST",
|
||||
C_WRITE_WIDTH_A => 12,
|
||||
C_READ_WIDTH_A => 12,
|
||||
C_WRITE_DEPTH_A => 6840,
|
||||
C_READ_DEPTH_A => 6840,
|
||||
C_ADDRA_WIDTH => 13,
|
||||
C_HAS_RSTB => 0,
|
||||
C_RST_PRIORITY_B => "CE",
|
||||
C_RSTRAM_B => 0,
|
||||
C_INITB_VAL => "0",
|
||||
C_HAS_ENB => 0,
|
||||
C_HAS_REGCEB => 0,
|
||||
C_USE_BYTE_WEB => 0,
|
||||
C_WEB_WIDTH => 1,
|
||||
C_WRITE_MODE_B => "WRITE_FIRST",
|
||||
C_WRITE_WIDTH_B => 12,
|
||||
C_READ_WIDTH_B => 12,
|
||||
C_WRITE_DEPTH_B => 6840,
|
||||
C_READ_DEPTH_B => 6840,
|
||||
C_ADDRB_WIDTH => 13,
|
||||
C_HAS_MEM_OUTPUT_REGS_A => 1,
|
||||
C_HAS_MEM_OUTPUT_REGS_B => 0,
|
||||
C_HAS_MUX_OUTPUT_REGS_A => 0,
|
||||
C_HAS_MUX_OUTPUT_REGS_B => 0,
|
||||
C_MUX_PIPELINE_STAGES => 0,
|
||||
C_HAS_SOFTECC_INPUT_REGS_A => 0,
|
||||
C_HAS_SOFTECC_OUTPUT_REGS_B => 0,
|
||||
C_USE_SOFTECC => 0,
|
||||
C_USE_ECC => 0,
|
||||
C_EN_ECC_PIPE => 0,
|
||||
C_READ_LATENCY_A => 1,
|
||||
C_READ_LATENCY_B => 1,
|
||||
C_HAS_INJECTERR => 0,
|
||||
C_SIM_COLLISION_CHECK => "ALL",
|
||||
C_COMMON_CLK => 0,
|
||||
C_DISABLE_WARN_BHV_COLL => 0,
|
||||
C_EN_SLEEP_PIN => 0,
|
||||
C_USE_URAM => 0,
|
||||
C_EN_RDADDRA_CHG => 0,
|
||||
C_EN_RDADDRB_CHG => 0,
|
||||
C_EN_DEEPSLEEP_PIN => 0,
|
||||
C_EN_SHUTDOWN_PIN => 0,
|
||||
C_EN_SAFETY_CKT => 0,
|
||||
C_DISABLE_WARN_BHV_RANGE => 0,
|
||||
C_COUNT_36K_BRAM => "3",
|
||||
C_COUNT_18K_BRAM => "0",
|
||||
C_EST_POWER_SUMMARY => "Estimated Power for IP : 4.62695 mW"
|
||||
)
|
||||
PORT MAP (
|
||||
clka => clka,
|
||||
rsta => '0',
|
||||
ena => ena,
|
||||
regcea => '0',
|
||||
wea => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
addra => addra,
|
||||
dina => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 12)),
|
||||
douta => douta,
|
||||
clkb => '0',
|
||||
rstb => '0',
|
||||
enb => '0',
|
||||
regceb => '0',
|
||||
web => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
addrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 13)),
|
||||
dinb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 12)),
|
||||
injectsbiterr => '0',
|
||||
injectdbiterr => '0',
|
||||
eccpipece => '0',
|
||||
sleep => '0',
|
||||
deepsleep => '0',
|
||||
shutdown => '0',
|
||||
s_aclk => '0',
|
||||
s_aresetn => '0',
|
||||
s_axi_awid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
|
||||
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_awvalid => '0',
|
||||
s_axi_wdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 12)),
|
||||
s_axi_wstrb => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
s_axi_wlast => '0',
|
||||
s_axi_wvalid => '0',
|
||||
s_axi_bready => '0',
|
||||
s_axi_arid => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 4)),
|
||||
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_arvalid => '0',
|
||||
s_axi_rready => '0',
|
||||
s_axi_injectsbiterr => '0',
|
||||
s_axi_injectdbiterr => '0'
|
||||
);
|
||||
END timeisup_180_38_arch;
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,312 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<spirit:vendor>xilinx.com</spirit:vendor>
|
||||
<spirit:library>xci</spirit:library>
|
||||
<spirit:name>unknown</spirit:name>
|
||||
<spirit:version>1.0</spirit:version>
|
||||
<spirit:componentInstances>
|
||||
<spirit:componentInstance>
|
||||
<spirit:instanceName>timeisup_180_38</spirit:instanceName>
|
||||
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="blk_mem_gen" spirit:version="8.4"/>
|
||||
<spirit:configurableElementValues>
|
||||
<spirit:configurableElementValue spirit:referenceId="ADDRBLOCK_RANGE.S_1.Mem0">4096</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ADDR_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ARUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.AWUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.BUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.DATA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_CACHE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_LOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_PROT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_QOS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_REGION">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_RRESP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_WSTRB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ID_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.MAX_BURST_LENGTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_READ_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_READ_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_WRITE_OUTSTANDING">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.NUM_WRITE_THREADS">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PROTOCOL">AXI4LITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.READ_WRITE_MODE">READ_WRITE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.SUPPORTS_NARROW_BURST">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_BITS_PER_BYTE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_WIDTH">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MASTER_TYPE">OTHER</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MEM_ECC">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MEM_SIZE">8192</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.MEM_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.READ_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTA.READ_WRITE_MODE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MASTER_TYPE">OTHER</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MEM_ECC">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MEM_SIZE">8192</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.MEM_WIDTH">32</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.READ_LATENCY">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.BRAM_PORTB.READ_WRITE_MODE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.CLK_DOMAIN"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.FREQ_HZ">100000000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.CLK.ACLK.PHASE">0.000</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="BUSIFPARAM_VALUE.RST.ARESETN.INSERT_VIP">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ADDRA_WIDTH">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ADDRB_WIDTH">13</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ALGORITHM">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_ID_WIDTH">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_SLAVE_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_BYTE_SIZE">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COMMON_CLK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_18K_BRAM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_36K_BRAM">3</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CTRL_ECC_ALGO">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DEFAULT_DATA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DISABLE_WARN_BHV_COLL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DISABLE_WARN_BHV_RANGE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ELABORATION_DIR">./</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_ENABLE_32BIT_ADDRESS">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_DEEPSLEEP_PIN">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_ECC_PIPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_RDADDRA_CHG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_RDADDRB_CHG">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SAFETY_CKT">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SHUTDOWN_PIN">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EN_SLEEP_PIN">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EST_POWER_SUMMARY">Estimated Power for IP : 4.62695 mW</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FAMILY">artix7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ID">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ENA">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ENB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_INJECTERR">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEM_OUTPUT_REGS_A">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEM_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MUX_OUTPUT_REGS_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MUX_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_REGCEA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_REGCEB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RSTA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_RSTB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SOFTECC_INPUT_REGS_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_SOFTECC_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INITA_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INITB_VAL">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INIT_FILE">timeisup_180_38.mem</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INIT_FILE_NAME">timeisup_180_38.mif</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_INTERFACE_TYPE">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_LOAD_INIT_FILE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MEM_TYPE">3</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MUX_PIPELINE_STAGES">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_TYPE">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_DEPTH_A">6840</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_DEPTH_B">6840</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_LATENCY_A">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_LATENCY_B">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_WIDTH_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_READ_WIDTH_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RSTRAM_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RSTRAM_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RST_PRIORITY_A">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RST_PRIORITY_B">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_SIM_COLLISION_CHECK">ALL</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_BRAM_BLOCK">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_BYTE_WEA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_BYTE_WEB">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_DEFAULT_DATA">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_ECC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_SOFTECC">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_USE_URAM">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WEA_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WEB_WIDTH">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_DEPTH_A">6840</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_DEPTH_B">6840</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_MODE_A">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_MODE_B">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_WIDTH_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRITE_WIDTH_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_XDEVICEFAMILY">artix7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXI_ID_Width">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXI_Slave_Type">Memory_Slave</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.AXI_Type">AXI4_Full</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Additional_Inputs_for_Power_Estimation">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Algorithm">Minimum_Area</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Assume_Synchronous_Clk">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Byte_Size">9</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CTRL_ECC_ALGO">NONE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Coe_File">../../../pic/timeisup_180_38.coe</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Collision_Warnings">ALL</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Component_Name">timeisup_180_38</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Collision_Warnings">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Out_of_Range_Warnings">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ECC">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_DEEPSLEEP_PIN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_ECC_PIPE">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SAFETY_CKT">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SHUTDOWN_PIN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SLEEP_PIN">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_32bit_Address">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_A">Use_ENA_Pin</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_B">Always_Enabled</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Error_Injection_Type">Single_Bit_Error_Injection</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Fill_Remaining_Memory_Locations">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Interface_Type">Native</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Load_Init_File">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MEM_FILE">no_mem_loaded</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Memory_Type">Single_Port_ROM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Operating_Mode_A">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Operating_Mode_B">WRITE_FIRST</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Reset_Value_A">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Reset_Value_B">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.PRIM_type_to_Implement">BRAM</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Pipeline_Stages">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_A_Clock">100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_A_Enable_Rate">100</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_A_Write_Rate">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_B_Clock">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_B_Enable_Rate">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Port_B_Write_Rate">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Primitive">8kx2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RD_ADDR_CHNG_A">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RD_ADDR_CHNG_B">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.READ_LATENCY_A">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.READ_LATENCY_B">1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Width_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Width_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortA_Output_of_Memory_Core">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortA_Output_of_Memory_Primitives">true</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortB_Output_of_Memory_Core">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_PortB_Output_of_Memory_Primitives">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Remaining_Memory_Locations">0</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Memory_Latch_A">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Memory_Latch_B">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Priority_A">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Priority_B">CE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Reset_Type">SYNC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_AXI_ID">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Byte_Write_Enable">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_Error_Injection_Pins">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_REGCEA_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_REGCEB_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_RSTA_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Use_RSTB_Pin">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Depth_A">6840</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Width_A">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Width_B">12</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.ecctype">No_ECC</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.register_porta_input_of_softecc">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.register_portb_output_of_softecc">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.softecc">false</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.use_bram_block">Stand_Alone</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.ARCHITECTURE">artix7</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BASE_BOARD_PART"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.BOARD_CONNECTIONS"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.DEVICE">xc7a100t</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PACKAGE">csg324</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.PREFHDL">VERILOG</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SILICON_REVISION"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SIMULATOR_LANGUAGE">MIXED</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.SPEEDGRADE">-1</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.STATIC_POWER"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.TEMPERATURE_GRADE"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_CUSTOMIZATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="PROJECT_PARAM.USE_RDI_GENERATION">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPCONTEXT">IP_Flow</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.IPREVISION">4</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.MANAGED">TRUE</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.OUTPUTDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SELECTEDSIMMODEL"/>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SHAREDDIR">.</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SWVERSION">2019.2</spirit:configurableElementValue>
|
||||
<spirit:configurableElementValue spirit:referenceId="RUNTIME_PARAM.SYNTHESISFLOW">OUT_OF_CONTEXT</spirit:configurableElementValue>
|
||||
</spirit:configurableElementValues>
|
||||
<spirit:vendorExtensions>
|
||||
<xilinx:componentInstanceExtensions>
|
||||
<xilinx:configElementInfos>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.ARUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.AWUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_CACHE" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_PROT" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXILITE_SLAVE_S_AXI.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ADDR_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.ARUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.AWUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.BUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.DATA_WIDTH" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_BURST" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_CACHE" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_LOCK" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_PROT" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_QOS" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_REGION" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_RRESP" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.HAS_WSTRB" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Coe_File" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Load_Init_File" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Memory_Type" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Port_A_Write_Rate" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Read_Width_A" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Read_Width_B" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Depth_A" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Width_A" xilinx:valueSource="user"/>
|
||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Write_Width_B" xilinx:valueSource="user"/>
|
||||
</xilinx:configElementInfos>
|
||||
</xilinx:componentInstanceExtensions>
|
||||
</spirit:vendorExtensions>
|
||||
</spirit:componentInstance>
|
||||
</spirit:componentInstances>
|
||||
</spirit:design>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,55 @@
|
|||
################################################################################
|
||||
#
|
||||
# (c) Copyright 2002 - 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.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# Core Period Constraint. This constraint can be modified, and is
|
||||
# valid as long as it is met after place and route.
|
||||
create_clock -name "TS_CLKA" -period 20.0 [ get_ports clka ]
|
||||
set_property HD.CLK_SRC BUFGCTRL_X0Y0 [ get_ports clka ]
|
||||
################################################################################
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -27,7 +27,7 @@ module SegAndLed(
|
|||
input wire [ 15: 0 ] led_infinity,
|
||||
input wire [ 7: 0 ] score_classic,
|
||||
input wire [ 7: 0 ] score_infinity,
|
||||
input wire [ 31: 0 ] default_num, //when mode is 0
|
||||
input wire [ 31: 0 ] default_num, //when mode is 0
|
||||
input wire [ 4: 0 ] timer,
|
||||
input wire enable_game_classic,
|
||||
input wire enable_game_infinity,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,66 @@
|
|||
|
||||
|
||||
|
||||
module SegAndLed_K7(
|
||||
input wire clk,
|
||||
input wire [ 2: 0 ] mode,
|
||||
input wire [ 15: 0 ] led_classic,
|
||||
input wire [ 15: 0 ] led_infinity,
|
||||
input wire [ 7: 0 ] score_classic,
|
||||
input wire [ 7: 0 ] score_infinity,
|
||||
input wire [ 31: 0 ] default_num, //when mode is 0
|
||||
input wire [ 4: 0 ] timer,
|
||||
input wire enable_game_classic,
|
||||
input wire enable_game_infinity,
|
||||
input wire player1_tank_en,
|
||||
input wire player2_tank_en,
|
||||
output wire [ 3: 0 ] AN ,
|
||||
output wire [ 7: 0 ] Segment,
|
||||
output reg [ 7: 0 ] LED,
|
||||
output ledclk,
|
||||
output ledsout,
|
||||
output wire ledclrn,
|
||||
output LEDEN ,
|
||||
output seg_clk,
|
||||
output seg_sout,
|
||||
output SEG_PEN,
|
||||
output seg_clrn
|
||||
);
|
||||
|
||||
|
||||
reg [ 31: 0 ] num;
|
||||
initial begin
|
||||
LED <= 0;
|
||||
num <= 0;
|
||||
end
|
||||
|
||||
|
||||
|
||||
always @( posedge clk ) begin
|
||||
if ( enable_game_classic == 0 && enable_game_infinity == 0 ) begin
|
||||
LED <= 0;
|
||||
end
|
||||
else begin
|
||||
if ( enable_game_classic ) begin
|
||||
LED <= led_classic;
|
||||
end
|
||||
else if ( enable_game_infinity ) begin
|
||||
LED <= led_infinity;
|
||||
end
|
||||
end
|
||||
end
|
||||
always @( posedge clk ) begin
|
||||
case ( mode )
|
||||
2'b00:
|
||||
num <= default_num;
|
||||
2'b01:
|
||||
num <= { 4'b1010, 3'b000, player1_tank_en, score_classic[ 3: 0 ], 4'b000, 4'b1011, 3'b000, player2_tank_en, score_classic[ 7: 4 ], 4'b000 };
|
||||
2'b10:
|
||||
num <= { 4'b1010, 3'b000, player1_tank_en, 3'b000, player2_tank_en, score_infinity[ 3: 0 ], 4'b1011, score_infinity[ 7: 4 ], 3'b000, timer };
|
||||
2'b11:
|
||||
num <= { 4'b1000, 4'b1000, 4'b1000, 4'b1000, 4'b1000, 4'b1000, 4'b1000, 4'b1000 };
|
||||
default num <= 0;
|
||||
|
||||
endcase
|
||||
end
|
||||
endmodule
|
||||
|
|
@ -42,7 +42,7 @@ wire item_addtime;
|
|||
wire item_test;
|
||||
wire [ 10: 0 ] vgaH, vgaV;
|
||||
wire [ 11: 0 ] VGAData;
|
||||
wire [ 11: 0 ] backgroundData, game_information_data;
|
||||
wire [ 11: 0 ] backgroundData, game_information_data, heart_gametips_data;
|
||||
wire [ 1 : 0 ] player1_tank_dir, player2_tank_dir;
|
||||
wire [ 1: 0 ] enermy1_tank_dir, enermy2_tank_dir, enermy3_tank_dir, enermy4_tank_dir;
|
||||
wire [ 10: 0 ] player1_tank_H, player1_tank_V, player2_tank_H, player2_tank_V;
|
||||
|
|
@ -99,7 +99,8 @@ wire [ 2: 0 ] enermy1_bullet_dir, enermy2_bullet_dir, enermy3_bullet_dir, enermy
|
|||
wire player1_revive, player2_revive;
|
||||
wire enermy1_revive, enermy2_revive, enermy3_revive, enermy4_revive;
|
||||
wire player1_scored, player2_scored;
|
||||
|
||||
wire [ 1: 0 ] winner;
|
||||
wire timeup;
|
||||
assign reset_n = ~BTNC;
|
||||
|
||||
clock MyClock(
|
||||
|
|
@ -124,7 +125,7 @@ game_mode u_game_mode(
|
|||
.clk( clk ),
|
||||
.btn_confirm( BTNC ),
|
||||
.btn_mode_sel( SW[ 0 ] ),
|
||||
.btn_return( BTNU ), //the under button is used for return to the game
|
||||
.btn_return( BTNU ), //the under button is used for return to the game
|
||||
.gameover_classic( gameover_classic ),
|
||||
.gameover_infinity( gameover_infinity ),
|
||||
.enable_shell1( enable_enermy1_bullet ),
|
||||
|
|
@ -174,7 +175,8 @@ game_logic_classic u_game_logic_classic(
|
|||
.HP2_value( player2_HP ),
|
||||
.gameover_classic( gameover_classic ),
|
||||
.led_classic( LED_classic ),
|
||||
.score_classic( score_classic )
|
||||
.score_classic( score_classic ),
|
||||
.winner( winner )
|
||||
);
|
||||
game_logic_infinity u_game_logic_infinity(
|
||||
.clk( clk ),
|
||||
|
|
@ -197,7 +199,8 @@ game_logic_infinity u_game_logic_infinity(
|
|||
.timer( timer ),
|
||||
.gameover_infinity( gameover_infinity ),
|
||||
.led_infinity( LED_infinity ),
|
||||
.score_infinity( score_infinity )
|
||||
.score_infinity( score_infinity ),
|
||||
.timeup( timeup )
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -241,7 +244,7 @@ vga_data_selector u_vga_data_selector(
|
|||
.in12( enermy3_bullet_data ),
|
||||
.in13( enermy4_bullet_data ),
|
||||
.in14( game_information_data ),
|
||||
.in15(),
|
||||
.in15( heart_gametips_data ),
|
||||
.in16(),
|
||||
.in17(),
|
||||
.out( VGAData )
|
||||
|
|
@ -652,6 +655,21 @@ game_information_display u_game_information_display(
|
|||
.vgaV( vgaV ),
|
||||
.VGA_data( game_information_data )
|
||||
);
|
||||
|
||||
vga_data_heart_gametips u_vga_data_heart_gametips(
|
||||
.clk( clk ),
|
||||
.mode( mode ),
|
||||
.vgaH( vgaH ),
|
||||
.vgaV( vgaV ),
|
||||
.winner( winner ),
|
||||
.timeup( timeup ),
|
||||
.gameover_classic( gameover_classic ),
|
||||
.gameover_infinity( gameover_infinity ),
|
||||
.HP1_value( player1_HP ),
|
||||
.HP2_value( player2_HP ),
|
||||
.score_classic( score_classic ),
|
||||
.vgaData( heart_gametips_data )
|
||||
);
|
||||
assign item_faster = 0;
|
||||
assign item_addtime = 0;
|
||||
assign item_invincible = 0;
|
||||
|
|
@ -685,7 +703,7 @@ SegAndLed u_SegAndLed(
|
|||
.score_classic( score_classic ),
|
||||
.score_infinity( score_infinity ),
|
||||
.timer( timer ),
|
||||
.default_num( num ), //when mode ==00(before begin mode) then output num ,you can also use it as debug
|
||||
.default_num( num ), //when mode ==00(before begin mode) then output num ,you can also use it as debug
|
||||
.enable_game_classic( enable_game_classic ),
|
||||
.enable_game_infinity( enable_game_infinity ),
|
||||
.player1_tank_en( player1_tank_en ),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,710 @@
|
|||
|
||||
module Top_K7(
|
||||
input wire clk,
|
||||
input wire PS2_CLK,
|
||||
input wire PS2_DAT,
|
||||
|
||||
input wire BTNL,
|
||||
input wire BTNR,
|
||||
input wire BTNU,
|
||||
input wire BTND,
|
||||
input wire BTNC,
|
||||
//实现A,B两个操作数每按一下加1
|
||||
input wire [ 3: 0 ] SW,
|
||||
|
||||
|
||||
|
||||
output wire [ 3: 0 ] VGARed,
|
||||
output wire [ 3: 0 ] VGABlue,
|
||||
output wire [ 3: 0 ] VGAGreen,
|
||||
output wire Hsync,
|
||||
output wire Vsync,
|
||||
output [ 7: 0 ] LED,
|
||||
output [ 3: 0 ] AN,
|
||||
output [ 7: 0 ] Segment,
|
||||
output wire ledclk,
|
||||
output wire ledsout,
|
||||
output wire ledclrn,
|
||||
output wire LEDEN,
|
||||
output wire seg_clk,
|
||||
output wire seg_sout,
|
||||
output wire SEG_PEN,
|
||||
output wire seg_clrn
|
||||
|
||||
);
|
||||
wire clk_2Hz;
|
||||
wire clk_4Hz;
|
||||
wire clk_8Hz;
|
||||
wire clk_10ms;
|
||||
wire clk_100MHz;
|
||||
wire clk_VGA;
|
||||
|
||||
wire [ 9: 0 ] KeyBoard_Output;
|
||||
|
||||
wire item_faster;
|
||||
wire item_invincible;
|
||||
wire item_addtime;
|
||||
wire item_test;
|
||||
wire [ 10: 0 ] vgaH, vgaV;
|
||||
wire [ 11: 0 ] VGAData;
|
||||
wire [ 11: 0 ] backgroundData, game_information_data;
|
||||
wire [ 1 : 0 ] player1_tank_dir, player2_tank_dir;
|
||||
wire [ 1: 0 ] enermy1_tank_dir, enermy2_tank_dir, enermy3_tank_dir, enermy4_tank_dir;
|
||||
wire [ 10: 0 ] player1_tank_H, player1_tank_V, player2_tank_H, player2_tank_V;
|
||||
wire [ 10: 0 ] enermy1_tank_H, enermy1_tank_V, enermy2_tank_H, enermy2_tank_V, enermy3_tank_H, enermy3_tank_V, enermy4_tank_H, enermy4_tank_V;
|
||||
wire [ 11: 0 ] player1_bullet_data, player2_bullet_data;
|
||||
wire [ 11: 0 ] enermy1_bullet_data, enermy2_bullet_data, enermy3_bullet_data, enermy4_bullet_data;
|
||||
wire [ 11: 0 ] player1_tank_data, player2_tank_data;
|
||||
wire [ 11: 0 ] enermy1_tank_data, enermy2_tank_data, enermy3_tank_data, enermy4_tank_data;
|
||||
wire [ 2: 0 ] player1_tank_dir_feedback, player2_tank_dir_feedback;
|
||||
wire [ 2: 0 ] enermy1_tank_dir_feedback, enermy2_tank_dir_feedback, enermy3_tank_dir_feedback, enermy4_tank_dir_feedback;
|
||||
wire player1_tank_en, player2_tank_en;
|
||||
wire player1_tank_en_feedback, player2_tank_en_feedback;
|
||||
wire enermy1_tank_en, enermy2_tank_en, enermy3_tank_en, enermy4_tank_en;
|
||||
wire enermy1_tank_en_feedback, enermy2_tank_en_feedback, enermy3_tank_en_feedback, enermy4_tank_en_feedback;
|
||||
wire [ 2: 0 ] player1_tank_moving_direction, player2_tank_moving_direction;
|
||||
wire [ 2: 0 ] enermy1_tank_moving_direction, enermy2_tank_moving_direction, enermy3_tank_moving_direction, enermy4_tank_moving_direction;
|
||||
wire reset_n;
|
||||
|
||||
wire gameover_classic, gameover_infinity; //stop the game signal
|
||||
wire enable_game_classic, enable_game_infinity; //the mode signal
|
||||
wire start_protect; //when we button the begin button, it will continue 3000000 times until begin, and this will be 1 in this time
|
||||
wire [ 2: 0 ] mode;
|
||||
wire enable_music;
|
||||
wire enable_player1_control, enable_player2_control, enable_player1_display,
|
||||
enable_player2_display, enable_player1_bullet, enable_player2_bullet;
|
||||
wire enable_enermy1_control, enable_enermy2_control, enable_enermy3_control, enable_enermy4_control;
|
||||
wire enable_enermy1_display, enable_enermy2_display, enable_enermy3_display, enable_enermy4_display;
|
||||
wire enable_enermy1_bullet, enable_enermy2_bullet, enable_enermy3_bullet, enable_enermy4_bullet;
|
||||
|
||||
wire player1_fire, player2_fire, enermy1_fire, enermy2_fire, enermy3_fire, enermy4_fire;
|
||||
|
||||
wire enable_reward;
|
||||
|
||||
wire [ 3: 0 ] scorea1, scoreb1;
|
||||
wire [ 3: 0 ] scorea2, scoreb2;
|
||||
wire [ 3: 0 ] scorec1, scorec2;
|
||||
wire [ 3: 0 ] scored1, scored2;
|
||||
wire [ 3: 0 ] player1_HP, player2_HP;
|
||||
|
||||
wire [ 15: 0 ] LED_classic, LED_infinity;
|
||||
wire [ 7: 0 ] score_classic, score_infinity;
|
||||
wire [ 4: 0 ] timer;
|
||||
|
||||
|
||||
wire player1_bullet_en_feedback, player2_bullet_en_feedback;
|
||||
wire player1_bullet_en, player2_bullet_en;
|
||||
wire enermy1_bullet_en_feedback, enermy2_bullet_en_feedback, enermy3_bullet_en_feedback, enermy4_bullet_en_feedback;
|
||||
wire enermy1_bullet_en, enermy2_bullet_en, enermy3_bullet_en, enermy4_bullet_en;
|
||||
wire [ 10: 0 ] player1_bullet_H, player1_bullet_V, player2_bullet_H, player2_bullet_V;
|
||||
wire [ 10: 0 ] enermy1_bullet_H, enermy1_bullet_V, enermy2_bullet_H, enermy2_bullet_V,
|
||||
enermy3_bullet_H, enermy3_bullet_V, enermy4_bullet_H, enermy4_bullet_V;
|
||||
wire [ 2: 0 ] player1_bullet_dir, player2_bullet_dir;
|
||||
wire [ 2: 0 ] enermy1_bullet_dir, enermy2_bullet_dir, enermy3_bullet_dir, enermy4_bullet_dir;
|
||||
wire player1_revive, player2_revive;
|
||||
wire enermy1_revive, enermy2_revive, enermy3_revive, enermy4_revive;
|
||||
wire player1_scored, player2_scored;
|
||||
|
||||
assign reset_n = ~BTNC;
|
||||
|
||||
clock MyClock(
|
||||
.clk_100MHz( clk ),
|
||||
.item_faster( item_faster ),
|
||||
.clk_2Hz( clk_2Hz ),
|
||||
.clk_4Hz( clk_4Hz ),
|
||||
.clk_8Hz( clk_8Hz ),
|
||||
.clk_10ms( clk_10ms )
|
||||
);
|
||||
KeyBoard_PS2 My_Ps2(
|
||||
.clk_in( clk ),
|
||||
.rst_n_in( 1'b1 ),
|
||||
.key_clk( PS2_CLK ),
|
||||
.key_data( PS2_DAT ),
|
||||
.out( KeyBoard_Output )
|
||||
);
|
||||
clk_wiz_0 clk_vga( .clk_in1( clk ), .reset( 1'b0 ), .clk_25m( clk_VGA ) , .locked() );
|
||||
|
||||
|
||||
game_mode u_game_mode(
|
||||
.clk( clk ),
|
||||
.btn_confirm( BTNC ),
|
||||
.btn_mode_sel( SW[ 0 ] ),
|
||||
.btn_return( BTNU ), //the under button is used for return to the game
|
||||
.gameover_classic( gameover_classic ),
|
||||
.gameover_infinity( gameover_infinity ),
|
||||
.enable_shell1( enable_enermy1_bullet ),
|
||||
.enable_shell2( enable_enermy2_bullet ),
|
||||
.enable_shell3( enable_enermy3_bullet ),
|
||||
.enable_shell4( enable_enermy4_bullet ),
|
||||
.enable_enemytank1_control( enable_enermy1_control ),
|
||||
.enable_enemytank2_control( enable_enermy2_control ),
|
||||
.enable_enemytank3_control( enable_enermy3_control ),
|
||||
.enable_enemytank4_control( enable_enermy4_control ),
|
||||
.enable_enemytank1_display( enable_enermy1_display ),
|
||||
.enable_enemytank2_display( enable_enermy2_display ),
|
||||
.enable_enemytank3_display( enable_enermy3_display ),
|
||||
.enable_enemytank4_display( enable_enermy4_display ),
|
||||
|
||||
.enable_myshell1( enable_player1_bullet ),
|
||||
.enable_myshell2( enable_player2_bullet ),
|
||||
.enable_mytank1_control( enable_player1_control ),
|
||||
.enable_mytank2_control( enable_player2_control ),
|
||||
.enable_mytank1_display( enable_player1_display ),
|
||||
.enable_mytank2_display( enable_player2_display ),
|
||||
|
||||
.enable_game_classic( enable_game_classic ),
|
||||
.enable_game_infinity( enable_game_infinity ),
|
||||
.enable_reward( enable_reward ),
|
||||
.start_protect( start_protect ),
|
||||
.enable_gamemusic( enable_gamemusic ),
|
||||
.mode( mode )
|
||||
);
|
||||
game_logic_classic u_game_logic_classic(
|
||||
.clk( clk ),
|
||||
.btn_return( BTNU ),
|
||||
.btn_stop( BTND ),
|
||||
.enable_game_classic( enable_game_classic ),
|
||||
.mytank1_state( player1_tank_en ),
|
||||
.mytank2_state( player2_tank_en ),
|
||||
.scorea1( scorea1 ),
|
||||
.scorea2( scorea2 ),
|
||||
.scoreb1( scoreb1 ),
|
||||
.scoreb2( scoreb2 ),
|
||||
.scorec1( scorec1 ),
|
||||
.scorec2( scorec2 ),
|
||||
.scored1( scored1 ),
|
||||
.scored2( scored2 ),
|
||||
.item_invincible( item_invincible ),
|
||||
.HP1_value( player1_HP ),
|
||||
.HP2_value( player2_HP ),
|
||||
.gameover_classic( gameover_classic ),
|
||||
.led_classic( LED_classic ),
|
||||
.score_classic( score_classic )
|
||||
);
|
||||
game_logic_infinity u_game_logic_infinity(
|
||||
.clk( clk ),
|
||||
.btn_return( BTNU ),
|
||||
.btn_stop( BTND ),
|
||||
.enable_game_infinity( enable_game_infinity ),
|
||||
.mytank1_state( player1_tank_en ),
|
||||
.mytank2_state( player2_tank_en ),
|
||||
.scorea1( scorea1 ),
|
||||
.scorea2( scorea2 ),
|
||||
.scoreb1( scoreb1 ),
|
||||
.scoreb2( scoreb2 ),
|
||||
.scorec1( scorec1 ),
|
||||
.scorec2( scorec2 ),
|
||||
.scored1( scored1 ),
|
||||
.scored2( scored2 ),
|
||||
.item_addtime( item_addtime ),
|
||||
.item_test( item_test ),
|
||||
.item_invincible( item_invincible ),
|
||||
.timer( timer ),
|
||||
.gameover_infinity( gameover_infinity ),
|
||||
.led_infinity( LED_infinity ),
|
||||
.score_infinity( score_infinity )
|
||||
);
|
||||
|
||||
|
||||
|
||||
vga_driver u_vga_driver(
|
||||
.clk_vga( clk_VGA ),
|
||||
.rst_n( 1'b1 ),
|
||||
.vga_en( ),
|
||||
.HSync( Hsync ),
|
||||
.VSync( Vsync ),
|
||||
.vgaRed( VGARed ),
|
||||
.vgaBlue( VGABlue ),
|
||||
.vgaGreen( VGAGreen ),
|
||||
.vgaData( VGAData ),
|
||||
.vgaH( vgaH ),
|
||||
.vgaV( vgaV )
|
||||
);
|
||||
|
||||
vga_data_background u_data_background(
|
||||
.clk( clk ),
|
||||
.vgaH( vgaH ),
|
||||
.vgaV( vgaV ),
|
||||
.sw_mode_sel( SW[ 0 ] ),
|
||||
.mode( mode ),
|
||||
.vgaData( backgroundData )
|
||||
);
|
||||
|
||||
vga_data_selector u_vga_data_selector(
|
||||
.clk( clk ),
|
||||
.in1( backgroundData ),
|
||||
.in2( player1_tank_data ),
|
||||
.in3( player1_bullet_data ),
|
||||
.in4( player2_tank_data ),
|
||||
.in5( player2_bullet_data ),
|
||||
.in6( enermy1_tank_data ),
|
||||
.in7( enermy2_tank_data ),
|
||||
.in8( enermy3_tank_data ),
|
||||
.in9( enermy4_tank_data ),
|
||||
.in10( enermy1_bullet_data ),
|
||||
.in11( enermy2_bullet_data ),
|
||||
.in12( enermy3_bullet_data ),
|
||||
.in13( enermy4_bullet_data ),
|
||||
.in14( game_information_data ),
|
||||
.in15(),
|
||||
.in16(),
|
||||
.in17(),
|
||||
.out( VGAData )
|
||||
);
|
||||
|
||||
tank_display u_tank1_display(
|
||||
.clk( clk ),
|
||||
.tankDir( player1_tank_dir ),
|
||||
.tank_destroyed( ~player1_tank_en ),
|
||||
.mode( mode ),
|
||||
.tank_revive( player1_revive ),
|
||||
.player_enermy( 1'b0 ),
|
||||
.vgaH( vgaH ),
|
||||
.vgaV( vgaV ),
|
||||
.tankH( player1_tank_H ),
|
||||
.tankV( player1_tank_V ),
|
||||
.tankData( player1_tank_data )
|
||||
);
|
||||
|
||||
tank_display u_tank2_display(
|
||||
.clk( clk ),
|
||||
.tankDir( player2_tank_dir ),
|
||||
.tank_destroyed( ~player2_tank_en ),
|
||||
.mode( mode ),
|
||||
.tank_revive( player1_revive ),
|
||||
.player_enermy( 1'b0 ),
|
||||
.vgaH( vgaH ),
|
||||
.vgaV( vgaV ),
|
||||
.tankH( player2_tank_H ),
|
||||
.tankV( player2_tank_V ),
|
||||
.tankData( player2_tank_data )
|
||||
);
|
||||
tank_display enermy1_tank_display(
|
||||
.clk( clk ),
|
||||
.tankDir( enermy1_tank_dir ),
|
||||
.tank_destroyed( ~enermy1_tank_en ),
|
||||
.mode( mode ),
|
||||
.tank_revive( player1_revive ),
|
||||
.player_enermy( 1'b1 ),
|
||||
.vgaH( vgaH ),
|
||||
.vgaV( vgaV ),
|
||||
.tankH( enermy1_tank_H ),
|
||||
.tankV( enermy1_tank_V ),
|
||||
.tankData( enermy1_tank_data )
|
||||
);
|
||||
|
||||
tank_display enermy2_tank_display(
|
||||
.clk( clk ),
|
||||
.tankDir( enermy2_tank_dir ),
|
||||
.tank_destroyed( ~enermy2_tank_en ),
|
||||
.mode( mode ),
|
||||
.tank_revive( player1_revive ),
|
||||
.player_enermy( 1'b1 ),
|
||||
.vgaH( vgaH ),
|
||||
.vgaV( vgaV ),
|
||||
.tankH( enermy2_tank_H ),
|
||||
.tankV( enermy2_tank_V ),
|
||||
.tankData( enermy2_tank_data )
|
||||
);
|
||||
tank_display enermy3_tank_display(
|
||||
.clk( clk ),
|
||||
.tankDir( enermy3_tank_dir ),
|
||||
.tank_destroyed( ~enermy3_tank_en ),
|
||||
.mode( mode ),
|
||||
.tank_revive( player1_revive ),
|
||||
.player_enermy( 1'b1 ),
|
||||
.vgaH( vgaH ),
|
||||
.vgaV( vgaV ),
|
||||
.tankH( enermy3_tank_H ),
|
||||
.tankV( enermy3_tank_V ),
|
||||
.tankData( enermy3_tank_data )
|
||||
);
|
||||
tank_display enermy4_tank_display(
|
||||
.clk( clk ),
|
||||
.tankDir( enermy4_tank_dir ),
|
||||
.tank_destroyed( ~enermy4_tank_en ),
|
||||
.mode( mode ),
|
||||
.tank_revive( player1_revive ),
|
||||
.player_enermy( 1'b1 ),
|
||||
.vgaH( vgaH ),
|
||||
.vgaV( vgaV ),
|
||||
.tankH( enermy4_tank_H ),
|
||||
.tankV( enermy4_tank_V ),
|
||||
.tankData( enermy4_tank_data )
|
||||
);
|
||||
|
||||
tank_move player1_tank_move(
|
||||
clk, reset_n, 1,
|
||||
150, 150,
|
||||
player1_tank_dir, player1_tank_en, player1_tank_move_en, 1'b0, player1_moving,
|
||||
player1_tank_H, player1_tank_V, player1_tank_moving_direction
|
||||
);
|
||||
|
||||
tank_move player2_tank_move(
|
||||
clk, reset_n, 1,
|
||||
350, 350,
|
||||
player2_tank_dir, player2_tank_en, player2_tank_move_en, 1'b0, player2_moving,
|
||||
player2_tank_H, player2_tank_V, player2_tank_moving_direction
|
||||
);
|
||||
|
||||
tank_move enermy1_tank_move(
|
||||
clk, reset_n, 1,
|
||||
0, 0,
|
||||
enermy1_tank_dir, enermy1_tank_en, enermy1_tank_move_en, 1'b1, enermy1_moving,
|
||||
enermy1_tank_H, enermy1_tank_V, enermy1_tank_moving_direction
|
||||
);
|
||||
|
||||
tank_move enermy2_tank_move(
|
||||
clk, reset_n, 1,
|
||||
540, 0,
|
||||
enermy2_tank_dir, enermy2_tank_en, enermy2_tank_move_en, 1'b1, enermy2_moving,
|
||||
enermy2_tank_H, enermy2_tank_V, enermy2_tank_moving_direction
|
||||
);
|
||||
tank_move enermy3_tank_move(
|
||||
clk, reset_n, 1,
|
||||
0, 350,
|
||||
enermy3_tank_dir, enermy3_tank_en, enermy3_tank_move_en, 1'b1, enermy3_moving,
|
||||
enermy3_tank_H, enermy3_tank_V, enermy3_tank_moving_direction
|
||||
);
|
||||
|
||||
tank_move enermy4_tank_move(
|
||||
clk, reset_n, 1,
|
||||
540, 350,
|
||||
enermy4_tank_dir, enermy4_tank_en, enermy4_tank_move_en, 1'b1, enermy4_moving,
|
||||
enermy4_tank_H, enermy4_tank_V, enermy4_tank_moving_direction
|
||||
);
|
||||
|
||||
control u_control(
|
||||
.clk( clk ),
|
||||
.ps2_output( KeyBoard_Output ),
|
||||
.player1_dir_feedback( player1_tank_dir ),
|
||||
.player1_fire( player1_fire ),
|
||||
.player1_moving( player1_moving ),
|
||||
.player2_dir_feedback( player2_tank_dir ),
|
||||
.player2_fire( player2_fire ),
|
||||
.player2_moving( player2_moving )
|
||||
);
|
||||
enermy_control enermy1_control(
|
||||
.clk_8Hz( clk_8Hz ),
|
||||
.clk_2Hz( clk_2Hz ),
|
||||
.clk_10ms( clk_10ms ),
|
||||
.flag( 2'b00 ),
|
||||
.player1_H( player1_tank_H ),
|
||||
.player1_V( player1_tank_V ),
|
||||
.player2_H( player2_tank_H ),
|
||||
.player2_V( player2_tank_V ),
|
||||
.player1_bullet_H( player1_bullet_H ),
|
||||
.player1_bullet_V( player1_bullet_V ),
|
||||
.player1_bullet_dir( player1_bullet_dir ),
|
||||
.player2_bullet_H( player2_bullet_H ),
|
||||
.player2_bullet_V( player2_bullet_V ),
|
||||
.player2_bullet_dir( player2_bullet_dir ),
|
||||
|
||||
.enermy_H( enermy1_tank_H ),
|
||||
.enermy_V( enermy1_tank_V ),
|
||||
.enermy_tank_en( enermy1_tank_en ),
|
||||
.enermy_dir_feedback( enermy1_tank_dir ),
|
||||
.enermy_fire( enermy1_fire ),
|
||||
.enermy_moving( enermy1_moving )
|
||||
);
|
||||
|
||||
enermy_control enermy2_control(
|
||||
.clk_8Hz( clk_8Hz ),
|
||||
.clk_2Hz( clk_2Hz ),
|
||||
.clk_10ms( clk_10ms ),
|
||||
.flag( 2'b01 ),
|
||||
|
||||
.player1_H( player1_tank_H ),
|
||||
.player1_V( player1_tank_V ),
|
||||
.player2_H( player2_tank_H ),
|
||||
.player2_V( player2_tank_V ),
|
||||
.player1_bullet_H( player1_bullet_H ),
|
||||
.player1_bullet_V( player1_bullet_V ),
|
||||
.player1_bullet_dir( player1_bullet_dir ),
|
||||
.player2_bullet_H( player2_bullet_H ),
|
||||
.player2_bullet_V( player2_bullet_V ),
|
||||
.player2_bullet_dir( player2_bullet_dir ),
|
||||
|
||||
.enermy_H( enermy2_tank_H ),
|
||||
.enermy_V( enermy2_tank_V ),
|
||||
.enermy_tank_en( enermy2_tank_en ),
|
||||
.enermy_dir_feedback( enermy2_tank_dir ),
|
||||
.enermy_fire( enermy2_fire ),
|
||||
.enermy_moving( enermy2_moving )
|
||||
);
|
||||
|
||||
enermy_control enermy3_control(
|
||||
.clk_8Hz( clk_8Hz ),
|
||||
.clk_2Hz( clk_2Hz ),
|
||||
.clk_10ms( clk_10ms ),
|
||||
.flag( 2'b10 ),
|
||||
|
||||
.player1_H( player1_tank_H ),
|
||||
.player1_V( player1_tank_V ),
|
||||
.player2_H( player2_tank_H ),
|
||||
.player2_V( player2_tank_V ),
|
||||
.player1_bullet_H( player1_bullet_H ),
|
||||
.player1_bullet_V( player1_bullet_V ),
|
||||
.player1_bullet_dir( player1_bullet_dir ),
|
||||
.player2_bullet_H( player2_bullet_H ),
|
||||
.player2_bullet_V( player2_bullet_V ),
|
||||
.player2_bullet_dir( player2_bullet_dir ),
|
||||
|
||||
.enermy_H( enermy3_tank_H ),
|
||||
.enermy_V( enermy3_tank_V ),
|
||||
.enermy_tank_en( enermy3_tank_en ),
|
||||
.enermy_dir_feedback( enermy3_tank_dir ),
|
||||
.enermy_fire( enermy3_fire ),
|
||||
.enermy_moving( enermy3_moving )
|
||||
);
|
||||
enermy_control enermy4_control(
|
||||
.clk_8Hz( clk_8Hz ),
|
||||
.clk_2Hz( clk_2Hz ),
|
||||
.clk_10ms( clk_10ms ),
|
||||
.flag( 2'b11 ),
|
||||
|
||||
.player1_H( player1_tank_H ),
|
||||
.player1_V( player1_tank_V ),
|
||||
.player2_H( player2_tank_H ),
|
||||
.player2_V( player2_tank_V ),
|
||||
.player1_bullet_H( player1_bullet_H ),
|
||||
.player1_bullet_V( player1_bullet_V ),
|
||||
.player1_bullet_dir( player1_bullet_dir ),
|
||||
.player2_bullet_H( player2_bullet_H ),
|
||||
.player2_bullet_V( player2_bullet_V ),
|
||||
.player2_bullet_dir( player2_bullet_dir ),
|
||||
|
||||
.enermy_H( enermy4_tank_H ),
|
||||
.enermy_V( enermy4_tank_V ),
|
||||
.enermy_tank_en( enermy4_tank_en ),
|
||||
.enermy_dir_feedback( enermy4_tank_dir ),
|
||||
.enermy_fire( enermy4_fire ),
|
||||
.enermy_moving( enermy4_moving )
|
||||
);
|
||||
|
||||
|
||||
|
||||
control_signals u_control_signals(
|
||||
clk, reset_n,
|
||||
player1_bullet_H, player1_bullet_V, player2_bullet_H, player2_bullet_V,
|
||||
enermy1_bullet_H, enermy1_bullet_V,
|
||||
enermy2_bullet_H, enermy2_bullet_V,
|
||||
enermy3_bullet_H, enermy3_bullet_V,
|
||||
enermy4_bullet_H, enermy4_bullet_V,
|
||||
player1_bullet_dir, player2_bullet_dir,
|
||||
enermy1_bullet_dir, enermy2_bullet_dir, enermy3_bullet_dir, enermy4_bullet_dir,
|
||||
player1_tank_H, player1_tank_V, player2_tank_H, player2_tank_V,
|
||||
enermy1_tank_H, enermy1_tank_V,
|
||||
enermy2_tank_H, enermy2_tank_V,
|
||||
enermy3_tank_H, enermy3_tank_V,
|
||||
enermy4_tank_H, enermy4_tank_V,
|
||||
// player1_tank_en, player2_tank_en,
|
||||
player1_moving, player2_moving,
|
||||
enermy1_moving, enermy2_moving, enermy3_moving, enermy4_moving,
|
||||
player1_tank_dir, player2_tank_dir,
|
||||
enermy1_tank_dir, enermy2_tank_dir, enermy3_tank_dir, enermy4_tank_dir,
|
||||
player1_revive, player2_revive,
|
||||
enermy1_revive, enermy2_revive, enermy3_revive, enermy4_revive,
|
||||
player1_tank_en, player2_tank_en,
|
||||
enermy1_tank_en, enermy2_tank_en, enermy3_tank_en, enermy4_tank_en,
|
||||
player1_tank_move_en, player2_tank_move_en,
|
||||
enermy1_tank_move_en, enermy2_tank_move_en, enermy3_tank_move_en, enermy4_tank_move_en,
|
||||
player1_bullet_en, player2_bullet_en,
|
||||
enermy1_bullet_en, enermy2_bullet_en, enermy3_bullet_en, enermy4_bullet_en, player1_scored, player2_scored
|
||||
// scorea1, scorea2, scoreb1, scoreb2, scorec1, scorec2, scored1, scored2
|
||||
|
||||
);
|
||||
|
||||
|
||||
bullet_control bullet_player1(
|
||||
.clk( clk ),
|
||||
.reset_n( 1 ),
|
||||
.mode( mode ),
|
||||
.tank_H( player1_tank_H ),
|
||||
.tank_V( player1_tank_V ),
|
||||
.tank_en( player1_tank_en ),
|
||||
.tank_dir( player1_tank_dir ),
|
||||
.tank_fire( player1_fire ),
|
||||
.player_enermy( 1'b0 ),
|
||||
|
||||
.vgaV( vgaV ),
|
||||
.vgaH( vgaH ),
|
||||
.start( 1 ),
|
||||
.ready( player1_bullet_en ),
|
||||
.bulletData( player1_bullet_data ),
|
||||
.bullet_H_feedback( player1_bullet_H ),
|
||||
.bullet_V_feedback( player1_bullet_V ),
|
||||
.bullet_direction( player1_bullet_dir )
|
||||
);
|
||||
bullet_control bullet_player2(
|
||||
.clk( clk ),
|
||||
.reset_n( 1 ),
|
||||
.mode( mode ),
|
||||
.tank_H( player2_tank_H ),
|
||||
.tank_V( player2_tank_V ),
|
||||
.tank_en( player2_tank_en ),
|
||||
.tank_dir( player2_tank_dir ),
|
||||
.tank_fire( player2_fire ),
|
||||
.player_enermy( 1'b0 ),
|
||||
|
||||
.vgaV( vgaV ),
|
||||
.vgaH( vgaH ),
|
||||
.start( 1 ),
|
||||
.ready( player2_bullet_en ),
|
||||
.bulletData( player2_bullet_data ),
|
||||
.bullet_H_feedback( player2_bullet_H ),
|
||||
.bullet_V_feedback( player2_bullet_V ),
|
||||
.bullet_direction( player2_bullet_dir )
|
||||
);
|
||||
bullet_control bullet_enermy1(
|
||||
.clk( clk ),
|
||||
.reset_n( 1 ),
|
||||
.mode( mode ),
|
||||
.tank_H( enermy1_tank_H ),
|
||||
.tank_V( enermy1_tank_V ),
|
||||
.tank_en( enermy1_tank_en ),
|
||||
.tank_dir( enermy1_tank_dir ),
|
||||
.tank_fire( enermy1_fire ),
|
||||
.player_enermy( 1'b1 ),
|
||||
|
||||
.vgaV( vgaV ),
|
||||
.vgaH( vgaH ),
|
||||
.start( 1 ),
|
||||
.ready( enermy1_bullet_en ),
|
||||
.bulletData( enermy1_bullet_data ),
|
||||
.bullet_H_feedback( enermy1_bullet_H ),
|
||||
.bullet_V_feedback( enermy1_bullet_V ),
|
||||
.bullet_direction( enermy1_bullet_dir )
|
||||
);
|
||||
bullet_control bullet_enermy2(
|
||||
.clk( clk ),
|
||||
.reset_n( 1 ),
|
||||
.mode( mode ),
|
||||
.tank_H( enermy2_tank_H ),
|
||||
.tank_V( enermy2_tank_V ),
|
||||
.tank_en( enermy2_tank_en ),
|
||||
.tank_dir( enermy2_tank_dir ),
|
||||
.tank_fire( enermy2_fire ),
|
||||
.player_enermy( 1'b1 ),
|
||||
|
||||
.vgaV( vgaV ),
|
||||
.vgaH( vgaH ),
|
||||
.start( 1 ),
|
||||
.ready( enermy2_bullet_en ),
|
||||
.bulletData( enermy2_bullet_data ),
|
||||
.bullet_H_feedback( enermy2_bullet_H ),
|
||||
.bullet_V_feedback( enermy2_bullet_V ),
|
||||
.bullet_direction( enermy2_bullet_dir )
|
||||
);
|
||||
bullet_control bullet_enermy3(
|
||||
.clk( clk ),
|
||||
.reset_n( 1 ),
|
||||
.mode( mode ),
|
||||
.tank_H( enermy3_tank_H ),
|
||||
.tank_V( enermy3_tank_V ),
|
||||
.tank_en( enermy3_tank_en ),
|
||||
.tank_dir( enermy3_tank_dir ),
|
||||
.tank_fire( enermy3_fire ),
|
||||
.player_enermy( 1'b1 ),
|
||||
|
||||
.vgaV( vgaV ),
|
||||
.vgaH( vgaH ),
|
||||
.start( 1 ),
|
||||
.ready( enermy3_bullet_en ),
|
||||
.bulletData( enermy3_bullet_data ),
|
||||
.bullet_H_feedback( enermy3_bullet_H ),
|
||||
.bullet_V_feedback( enermy3_bullet_V ),
|
||||
.bullet_direction( enermy3_bullet_dir )
|
||||
);
|
||||
bullet_control bullet_enermy4(
|
||||
.clk( clk ),
|
||||
.reset_n( 1 ),
|
||||
.mode( mode ),
|
||||
.tank_H( enermy4_tank_H ),
|
||||
.tank_V( enermy4_tank_V ),
|
||||
.tank_en( enermy4_tank_en ),
|
||||
.tank_dir( enermy4_tank_dir ),
|
||||
.tank_fire( enermy4_fire ),
|
||||
.player_enermy( 1'b1 ),
|
||||
|
||||
.vgaV( vgaV ),
|
||||
.vgaH( vgaH ),
|
||||
.start( 1 ),
|
||||
.ready( enermy4_bullet_en ),
|
||||
.bulletData( enermy4_bullet_data ),
|
||||
.bullet_H_feedback( enermy4_bullet_H ),
|
||||
.bullet_V_feedback( enermy4_bullet_V ),
|
||||
.bullet_direction( enermy4_bullet_dir )
|
||||
);
|
||||
cal_score u_cal_score(
|
||||
clk, reset_n, enermy1_tank_en, enermy2_tank_en, enermy3_tank_en, enermy4_tank_en,
|
||||
player1_scored, player2_scored, scorea1, scorea2, scoreb1, scoreb2, scorec1, scorec2, scored1, scored2
|
||||
);
|
||||
|
||||
tank_generate u_tank_generate(
|
||||
clk_4Hz, player1_tank_en, player2_tank_en,
|
||||
enermy1_tank_en, enermy2_tank_en, enermy3_tank_en, enermy4_tank_en,
|
||||
player1_revive, player2_revive, enermy1_revive, enermy2_revive,
|
||||
enermy3_revive, enermy4_revive
|
||||
);
|
||||
game_information_display u_game_information_display(
|
||||
.clk( clk ),
|
||||
.enable_game_classic( enable_game_classic ),
|
||||
.enable_game_infinity( enable_game_infinity ),
|
||||
.score_classic( score_classic ),
|
||||
.timer( timer ),
|
||||
.vgaH( vgaH ),
|
||||
.vgaV( vgaV ),
|
||||
.VGA_data( game_information_data )
|
||||
);
|
||||
assign item_faster = 0;
|
||||
assign item_addtime = 0;
|
||||
assign item_invincible = 0;
|
||||
assign item_test = 0;
|
||||
|
||||
|
||||
|
||||
wire [ 31: 0 ] num ;
|
||||
// assign num = { 3'b000, KeyBoard_Output[ 0 ], 3'b000, KeyBoard_Output[ 1 ], 3'b000, KeyBoard_Output[ 2 ], 3'b000, KeyBoard_Output[ 3 ],
|
||||
// 3'b000, KeyBoard_Output[ 4 ], 3'b000, KeyBoard_Output[ 5 ], 3'b000, KeyBoard_Output[ 6 ], 3'b000, KeyBoard_Output[ 7 ] };
|
||||
// assign num = { 20'b0000_0000_0000_0000_0000, VGARed[ 3: 0 ], VGAGreen[ 3: 0 ], VGABlue[ 3: 0 ] };
|
||||
// assign num = { 3'b000, player1_tank_collide[7], 3'b000, player1_tank_collide[6], 3'b000, player1_tank_collide[5], 3'b000, player1_tank_collide[4],
|
||||
// player1_bullet_H[7:0], player1_bullet_V[7:0] };
|
||||
|
||||
assign num = { 3'b000, player1_moving, 3'b000, player1_tank_dir[ 1 ], 3'b000, player1_tank_dir[ 0 ], 4'b0000, 3'b000, player1_moving, 3'b000, player1_tank_en, 3'b000, player2_tank_en, 3'b000, player1_tank_move_en };
|
||||
// Disp_Num my_Disp_Num(
|
||||
// .clk( clk ),
|
||||
// .RST( 1'b0 ),
|
||||
// .HEXS( num ),
|
||||
// .points( 8'b1 ),
|
||||
// .LES( 8'b0 ),
|
||||
// .AN( AN ),
|
||||
// .Segment( SEGMENT1 )
|
||||
// );
|
||||
|
||||
SegAndLed_K7 u_SegAndLed(
|
||||
.clk( clk ),
|
||||
.mode( mode ),
|
||||
.led_classic( LED_classic ),
|
||||
.led_infinity( LED_infinity ),
|
||||
.score_classic( score_classic ),
|
||||
.score_infinity( score_infinity ),
|
||||
.timer( timer ),
|
||||
.default_num( num ), //when mode ==00(before begin mode) then output num ,you can also use it as debug
|
||||
.enable_game_classic( enable_game_classic ),
|
||||
.enable_game_infinity( enable_game_infinity ),
|
||||
.player1_tank_en( player1_tank_en ),
|
||||
.player2_tank_en( player2_tank_en ),
|
||||
.AN( AN ),
|
||||
.Segment( Segment ),
|
||||
.LED( LED ),
|
||||
.ledclk( ledclk ),
|
||||
.ledsout( ledsout ),
|
||||
.ledclrn( ledclrn ),
|
||||
.LEDEN( LEDEN ),
|
||||
.seg_clk( seg_clk ),
|
||||
.seg_sout( seg_sout ),
|
||||
.SEG_PEN( SEG_PEN ),
|
||||
.seg_clrn( seg_clrn )
|
||||
);
|
||||
endmodule
|
||||
|
|
@ -1,166 +0,0 @@
|
|||
`timescale 1ns / 1ps
|
||||
|
||||
module collide_detection(
|
||||
input mode,
|
||||
input [ 10: 0 ] player1_tank_H,
|
||||
input [ 10: 0 ] player1_tank_V,
|
||||
input [ 1: 0 ] player1_tank_dir,
|
||||
input player1_tank_en,
|
||||
input [ 10: 0 ] player1_bullet_H,
|
||||
input [ 10: 0 ] player1_bullet_V,
|
||||
input player1_bullet_en,
|
||||
input [ 1: 0 ] player1_bullet_dir,
|
||||
output reg [ 7: 0 ] player1_collide, // [bullet4, bullet3, bullet2, bullet1, tank4, tank3, tank2, tank1]
|
||||
|
||||
input [ 10: 0 ] player2_tank_H,
|
||||
input [ 10: 0 ] player2_tank_V,
|
||||
input [ 1: 0 ] player2_tank_dir,
|
||||
input player2_tank_en,
|
||||
input [ 10: 0 ] player2_bullet_H,
|
||||
input [ 10: 0 ] player2_bullet_V,
|
||||
input player2_bullet_en,
|
||||
input [ 10: 0 ] player2_bullet_dir,
|
||||
output reg [ 7: 0 ] player2_collide // Reserved for other bullets and tanks
|
||||
);
|
||||
|
||||
parameter TANK_WIDTH = 32;
|
||||
parameter TANK_HEIGHT = 32;
|
||||
parameter BULLET_LONGER = 10;
|
||||
parameter BULLET_SHORTER = 5;
|
||||
|
||||
wire [ 10: 0 ] player1_bullet_RBound, player1_bullet_DBound;
|
||||
wire [ 10: 0 ] player2_bullet_RBound, player2_bullet_DBound;
|
||||
wire [ 10: 0 ] player1_tank_RBound, player1_tank_DBound;
|
||||
wire [ 10: 0 ] player2_tank_RBound, player2_tank_DBound;
|
||||
reg [ 3: 0 ] player1_tank_collide_dir, player2_tank_collide_dir;
|
||||
|
||||
assign player1_bullet_RBound = player1_bullet_H + ( player1_bullet_dir == 2'b11 || 2'b10 ) ? BULLET_LONGER : BULLET_SHORTER;
|
||||
assign player1_bullet_DBound = player1_bullet_V + ( player1_bullet_dir == 2'b00 || 2'b01 ) ? BULLET_LONGER : BULLET_SHORTER;
|
||||
|
||||
assign player2_bullet_RBound = player2_bullet_H + ( player2_bullet_dir == 2'b11 || 2'b10 ) ? BULLET_LONGER : BULLET_SHORTER;
|
||||
assign player2_bullet_DBound = player2_bullet_V + ( player2_bullet_dir == 2'b00 || 2'b01 ) ? BULLET_LONGER : BULLET_SHORTER;
|
||||
|
||||
assign player1_tank_RBound = player1_tank_H + TANK_WIDTH - 1;
|
||||
assign player1_tank_DBound = player1_tank_V + TANK_HEIGHT - 1;
|
||||
|
||||
assign player2_tank_RBound = player2_tank_H + TANK_WIDTH - 1;
|
||||
assign player2_tank_DBound = player2_tank_V + TANK_HEIGHT - 1;
|
||||
|
||||
initial begin
|
||||
player1_collide <= 0;
|
||||
player2_collide <= 0;
|
||||
end
|
||||
|
||||
always @( * ) begin
|
||||
if ( player1_tank_en ) begin
|
||||
if ( player2_bullet_en ) begin
|
||||
if ( player1_tank_H >= player2_bullet_H && player1_tank_H <= player2_bullet_RBound &&
|
||||
player1_tank_V >= player2_bullet_V && player1_tank_V <= player2_bullet_RBound ) begin
|
||||
player1_collide[ 5 ] <= 1;
|
||||
end
|
||||
else begin
|
||||
player1_collide[ 5 ] <= 0;
|
||||
end
|
||||
end
|
||||
|
||||
if ( player2_tank_en && player1_tank_RBound <= player2_tank_RBound && player1_tank_RBound >= player2_tank_H &&
|
||||
~( player1_tank_DBound < player2_tank_V || player1_tank_V > player2_tank_DBound ) ) begin
|
||||
player1_tank_collide_dir[ 3 ] <= 1;
|
||||
end
|
||||
else begin
|
||||
player1_tank_collide_dir[ 3 ] <= 0;
|
||||
end
|
||||
|
||||
if ( player2_tank_en && player1_tank_H <= player2_tank_RBound && player1_tank_H >= player2_tank_H &&
|
||||
~( player1_tank_DBound < player2_tank_V || player1_tank_V > player2_tank_DBound ) ) begin
|
||||
player1_tank_collide_dir[ 2 ] <= 1;
|
||||
end
|
||||
else begin
|
||||
player1_tank_collide_dir[ 2 ] <= 0;
|
||||
end
|
||||
|
||||
if ( player2_tank_en && player1_tank_V <= player2_tank_DBound && player1_tank_V >= player2_tank_V
|
||||
&& ~( player1_tank_RBound < player2_tank_H || player1_tank_H > player2_tank_RBound ) ) begin
|
||||
player1_tank_collide_dir[ 0 ] <= 1;
|
||||
end
|
||||
else begin
|
||||
player1_tank_collide_dir[ 0 ] <= 0;
|
||||
end
|
||||
|
||||
if ( player2_tank_en && player1_tank_DBound <= player2_tank_DBound && player1_tank_DBound >= player2_tank_V
|
||||
&& ~( player1_tank_RBound < player2_tank_H || player1_tank_H > player2_tank_RBound ) ) begin
|
||||
player1_tank_collide_dir[ 1 ] <= 1;
|
||||
end
|
||||
else begin
|
||||
player1_tank_collide_dir[ 1 ] <= 0;
|
||||
end
|
||||
player1_collide[ 1 ] <= player1_tank_collide_dir[ player1_tank_dir ];
|
||||
end
|
||||
/*
|
||||
object_collide_detection player1_2(
|
||||
.object1_H(player1_tank_H),
|
||||
.object1_V(player1_tank_V),
|
||||
.object1_dir(player1_tank_dir),
|
||||
.object1_en(player1_tank_en),
|
||||
.object1_RBound(player1_tank_RBound),
|
||||
.object1_DBound(player1_tank_DBound),
|
||||
.object2_H(player2_tank_H),
|
||||
.object2_V(player2_tank_V),
|
||||
.object2_dir(player2_tank_dir),
|
||||
.object2_en(player2_tank_en),
|
||||
.object2_RBound(player2_tank_RBound),
|
||||
.object2_DBound(player2_tank_DBound),
|
||||
.object1_collide(),
|
||||
.object2_collide());
|
||||
*/
|
||||
end
|
||||
|
||||
always @( * ) begin
|
||||
if ( player2_tank_en ) begin
|
||||
if ( player1_bullet_en ) begin
|
||||
if ( player2_tank_H >= player1_bullet_H && player2_tank_H <= player1_bullet_RBound &&
|
||||
player2_tank_V >= player1_bullet_V && player2_tank_V <= player1_bullet_RBound ) begin
|
||||
player2_collide[ 4 ] <= 1;
|
||||
end
|
||||
else begin
|
||||
player2_collide[ 4 ] <= 0;
|
||||
end
|
||||
end
|
||||
|
||||
if ( player1_tank_en && player2_tank_RBound <= player1_tank_RBound && player2_tank_RBound >= player1_tank_H &&
|
||||
~( player2_tank_DBound < player1_tank_V || player2_tank_V > player1_tank_DBound ) ) begin
|
||||
player2_tank_collide_dir[ 3 ] <= 1;
|
||||
end
|
||||
else begin
|
||||
player2_tank_collide_dir[ 3 ] <= 0;
|
||||
end
|
||||
|
||||
if ( player1_tank_en && player2_tank_H <= player1_tank_RBound && player2_tank_H >= player1_tank_H &&
|
||||
~( player2_tank_DBound < player1_tank_V || player2_tank_V > player1_tank_DBound ) ) begin
|
||||
player2_tank_collide_dir[ 2 ] <= 1;
|
||||
end
|
||||
else begin
|
||||
player2_tank_collide_dir[ 2 ] <= 0;
|
||||
end
|
||||
|
||||
if ( player1_tank_en && player2_tank_V <= player1_tank_DBound && player2_tank_V >= player1_tank_V
|
||||
&& ~( player2_tank_RBound < player1_tank_H || player2_tank_H > player1_tank_RBound ) ) begin
|
||||
player2_tank_collide_dir[ 0 ] <= 1;
|
||||
end
|
||||
else begin
|
||||
player2_tank_collide_dir[ 0 ] <= 0;
|
||||
end
|
||||
|
||||
if ( player1_tank_en && player2_tank_DBound <= player1_tank_DBound && player2_tank_DBound >= player1_tank_V
|
||||
&& ~( player2_tank_RBound < player1_tank_H || player2_tank_H > player1_tank_RBound ) ) begin
|
||||
player2_tank_collide_dir[ 1 ] <= 1;
|
||||
end
|
||||
else begin
|
||||
player2_tank_collide_dir[ 1 ] <= 0;
|
||||
end
|
||||
player2_collide[ 1 ] <= player2_tank_collide_dir[ player2_tank_dir ];
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
endmodule
|
||||
|
|
@ -98,13 +98,16 @@ initial begin
|
|||
// scored2 <= 0;
|
||||
end
|
||||
|
||||
wire [ 7: 0 ] player1_bullet_collide, player2_bullet_collide;
|
||||
wire [ 7: 0 ] player1_bullet_collide_last, player2_bullet_collide_last;
|
||||
wire [ 7: 0 ] enermy_bullet_collide;
|
||||
wire [ 7: 0 ] player1_tank_collide, player2_tank_collide;
|
||||
wire [ 3: 0 ] player1_bullet_collide, player2_bullet_collide;
|
||||
wire [ 3: 0 ] player2_tank_collide_tmp, player1_tank_collide_tmp;
|
||||
wire [ 7: 0 ] enermy_tank_collide;
|
||||
wire [ 1: 0 ] enermy1_bullet_collide, enermy2_bullet_collide, enermy3_bullet_collide, enermy4_bullet_collide;
|
||||
|
||||
wire [ 3: 0 ] player1_tank_collide, player2_tank_collide;
|
||||
wire [ 4: 0 ] enermy1_tank_collide, enermy2_tank_collide, enermy3_tank_collide, enermy4_tank_collide;
|
||||
wire [ 3: 0 ] player1_tank_tmp, player2_tank_tmp;
|
||||
wire [ 4: 0 ] enermy1_tank_tmp, enermy2_tank_tmp, enermy3_tank_tmp, enermy4_tank_tmp;
|
||||
|
||||
// reg player1_tank_destroyed, player2_tank_destroyed;
|
||||
// object_collide_detection enermy1_mytank1(
|
||||
// enermy1_bullet_H, enermy1_bullet_V, ~enermy1_bullet_dir[ 2 ], enermy1_bullet_dir[ 1: 0 ],
|
||||
|
|
@ -114,62 +117,276 @@ wire [ 1: 0 ] enermy1_bullet_collide, enermy2_bullet_collide, enermy3_bullet_col
|
|||
// player1_bullet_collide[ 0 ], enermy_tank_collide[ 0 ]
|
||||
// );
|
||||
|
||||
//tank's collide not bullet
|
||||
//player1 's tank
|
||||
object_collide_detection tank1_enermy1(
|
||||
player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy1_tank_H, enermy1_tank_V, enermy1_tank_en_feedback, enermy1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player1_tank_collide[ 0 ], player1_tank_tmp[ 0 ]
|
||||
);
|
||||
object_collide_detection tank1_enermy2(
|
||||
player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy2_tank_H, enermy2_tank_V, enermy2_tank_en_feedback, enermy2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player1_tank_collide[ 1 ], player1_tank_tmp[ 1 ]
|
||||
);
|
||||
object_collide_detection tank1_enermy3(
|
||||
player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy3_tank_H, enermy3_tank_V, enermy3_tank_en_feedback, enermy3_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player1_tank_collide[ 2 ], player1_tank_tmp[ 2 ]
|
||||
);
|
||||
object_collide_detection tank1_enermy4(
|
||||
player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy4_tank_H, enermy4_tank_V, enermy4_tank_en_feedback, enermy4_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player1_tank_collide[ 3 ], player1_tank_tmp[ 3 ]
|
||||
);
|
||||
|
||||
|
||||
//player2 's tank
|
||||
object_collide_detection tank2_enermy1(
|
||||
player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy1_tank_H, enermy1_tank_V, enermy1_tank_en_feedback, enermy1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player2_tank_collide[ 0 ], player2_tank_tmp[ 0 ]
|
||||
);
|
||||
object_collide_detection tank2_enermy2(
|
||||
player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy2_tank_H, enermy2_tank_V, enermy2_tank_en_feedback, enermy2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player2_tank_collide[ 1 ], player2_tank_tmp[ 1 ]
|
||||
);
|
||||
object_collide_detection tank2_enermy3(
|
||||
player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy3_tank_H, enermy3_tank_V, enermy3_tank_en_feedback, enermy3_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player2_tank_collide[ 2 ], player2_tank_tmp[ 2 ]
|
||||
);
|
||||
object_collide_detection tank2_enermy4(
|
||||
player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy4_tank_H, enermy4_tank_V, enermy4_tank_en_feedback, enermy4_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player2_tank_collide[ 3 ], player2_tank_tmp[ 3 ]
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
//here is enermy tank's collide
|
||||
object_collide_detection enermy1_tank1(
|
||||
enermy1_tank_H, enermy1_tank_V, enermy1_tank_en_feedback, enermy1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy1_tank_collide[ 0 ], enermy1_tank_tmp[ 0 ]
|
||||
);
|
||||
object_collide_detection enermy1_tank2(
|
||||
enermy1_tank_H, enermy1_tank_V, enermy1_tank_en_feedback, enermy1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy1_tank_collide[ 1 ], enermy1_tank_tmp[ 1 ]
|
||||
);
|
||||
object_collide_detection enermy1_enermy2(
|
||||
enermy1_tank_H, enermy1_tank_V, enermy1_tank_en_feedback, enermy1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy2_tank_H, enermy2_tank_V, enermy2_tank_en_feedback, enermy2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy1_tank_collide[ 2 ], enermy1_tank_tmp[ 2 ]
|
||||
);
|
||||
object_collide_detection enermy1_enermy3(
|
||||
enermy1_tank_H, enermy1_tank_V, enermy1_tank_en_feedback, enermy1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy3_tank_H, enermy3_tank_V, enermy3_tank_en_feedback, enermy3_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy1_tank_collide[ 3 ], enermy1_tank_tmp[ 3 ]
|
||||
);
|
||||
object_collide_detection enermy1_enermy4(
|
||||
enermy1_tank_H, enermy1_tank_V, enermy1_tank_en_feedback, enermy1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy4_tank_H, enermy4_tank_V, enermy4_tank_en_feedback, enermy4_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy1_tank_collide[ 4 ], enermy1_tank_tmp[ 4 ]
|
||||
);
|
||||
|
||||
|
||||
|
||||
object_collide_detection enermy2_tank1(
|
||||
enermy2_tank_H, enermy2_tank_V, enermy2_tank_en_feedback, enermy2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy2_tank_collide[ 0 ], enermy2_tank_tmp[ 0 ]
|
||||
);
|
||||
object_collide_detection enermy2_tank2(
|
||||
enermy2_tank_H, enermy2_tank_V, enermy2_tank_en_feedback, enermy2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy2_tank_collide[ 1 ], enermy2_tank_tmp[ 1 ]
|
||||
);
|
||||
object_collide_detection enermy2_enermy1(
|
||||
enermy2_tank_H, enermy2_tank_V, enermy2_tank_en_feedback, enermy2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy1_tank_H, enermy1_tank_V, enermy1_tank_en_feedback, enermy1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy2_tank_collide[ 2 ], enermy2_tank_tmp[ 2 ]
|
||||
);
|
||||
object_collide_detection enermy2_enermy3(
|
||||
enermy2_tank_H, enermy2_tank_V, enermy2_tank_en_feedback, enermy2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy3_tank_H, enermy3_tank_V, enermy3_tank_en_feedback, enermy3_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy2_tank_collide[ 3 ], enermy2_tank_tmp[ 3 ]
|
||||
);
|
||||
object_collide_detection enermy2_enermy4(
|
||||
enermy2_tank_H, enermy2_tank_V, enermy2_tank_en_feedback, enermy2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy4_tank_H, enermy4_tank_V, enermy4_tank_en_feedback, enermy4_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy2_tank_collide[ 4 ], enermy2_tank_tmp[ 4 ]
|
||||
);
|
||||
|
||||
|
||||
object_collide_detection enermy3_tank1(
|
||||
enermy3_tank_H, enermy3_tank_V, enermy3_tank_en_feedback, enermy3_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy3_tank_collide[ 0 ], enermy3_tank_tmp[ 0 ]
|
||||
);
|
||||
object_collide_detection enermy3_tank2(
|
||||
enermy3_tank_H, enermy3_tank_V, enermy3_tank_en_feedback, enermy3_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy3_tank_collide[ 1 ], enermy3_tank_tmp[ 1 ]
|
||||
);
|
||||
object_collide_detection enermy3_enermy1(
|
||||
enermy3_tank_H, enermy3_tank_V, enermy3_tank_en_feedback, enermy3_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy1_tank_H, enermy1_tank_V, enermy1_tank_en_feedback, enermy1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy3_tank_collide[ 2 ], enermy3_tank_tmp[ 2 ]
|
||||
);
|
||||
object_collide_detection enermy3_enermy2(
|
||||
enermy3_tank_H, enermy3_tank_V, enermy3_tank_en_feedback, enermy3_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy2_tank_H, enermy2_tank_V, enermy2_tank_en_feedback, enermy2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy3_tank_collide[ 3 ], enermy3_tank_tmp[ 3 ]
|
||||
);
|
||||
object_collide_detection enermy3_enermy4(
|
||||
enermy3_tank_H, enermy3_tank_V, enermy3_tank_en_feedback, enermy3_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy4_tank_H, enermy4_tank_V, enermy4_tank_en_feedback, enermy4_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy3_tank_collide[ 4 ], enermy3_tank_tmp[ 4 ]
|
||||
);
|
||||
|
||||
|
||||
object_collide_detection enermy4_tank1(
|
||||
enermy4_tank_H, enermy4_tank_V, enermy4_tank_en_feedback, enermy4_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy4_tank_collide[ 0 ], enermy4_tank_tmp[ 0 ]
|
||||
);
|
||||
object_collide_detection enermy4_tank2(
|
||||
enermy4_tank_H, enermy4_tank_V, enermy4_tank_en_feedback, enermy4_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy4_tank_collide[ 1 ], enermy4_tank_tmp[ 1 ]
|
||||
);
|
||||
object_collide_detection enermy4_enermy1(
|
||||
enermy4_tank_H, enermy4_tank_V, enermy4_tank_en_feedback, enermy4_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy1_tank_H, enermy1_tank_V, enermy1_tank_en_feedback, enermy1_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy4_tank_collide[ 2 ], enermy4_tank_tmp[ 2 ]
|
||||
);
|
||||
object_collide_detection enermy4_enermy2(
|
||||
enermy4_tank_H, enermy4_tank_V, enermy4_tank_en_feedback, enermy4_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy2_tank_H, enermy2_tank_V, enermy2_tank_en_feedback, enermy2_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy4_tank_collide[ 3 ], enermy4_tank_tmp[ 3 ]
|
||||
);
|
||||
object_collide_detection enermy4_enermy3(
|
||||
enermy4_tank_H, enermy4_tank_V, enermy4_tank_en_feedback, enermy4_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy3_tank_H, enermy3_tank_V, enermy3_tank_en_feedback, enermy3_tank_dir,
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy4_tank_collide[ 4 ], enermy4_tank_tmp[ 4 ]
|
||||
);
|
||||
|
||||
//here is bullet collide
|
||||
object_collide_detection enermy1_mytank1(
|
||||
enermy1_bullet_H, enermy1_bullet_V, ~enermy1_bullet_dir[ 2 ], enermy1_bullet_dir[ 1: 0 ],
|
||||
BULLET_LONGER, BULLET_SHORTER,
|
||||
player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir[ 1: 0 ],
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy1_bullet_collide[ 0 ], player1_tank_collide[ 0 ]
|
||||
enermy1_bullet_collide[ 0 ], player1_tank_collide_tmp[ 0 ]
|
||||
);
|
||||
object_collide_detection enermy2_mytank1(
|
||||
enermy2_bullet_H, enermy2_bullet_V, ~enermy2_bullet_dir[ 2 ], enermy2_bullet_dir[ 1: 0 ],
|
||||
BULLET_LONGER, BULLET_SHORTER,
|
||||
player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir[ 1: 0 ],
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy2_bullet_collide[ 0 ], player1_tank_collide[ 1 ]
|
||||
enermy2_bullet_collide[ 0 ], player1_tank_collide_tmp[ 1 ]
|
||||
);
|
||||
object_collide_detection enermy3_mytank1(
|
||||
enermy3_bullet_H, enermy3_bullet_V, ~enermy3_bullet_dir[ 2 ], enermy3_bullet_dir[ 1: 0 ],
|
||||
BULLET_LONGER, BULLET_SHORTER,
|
||||
player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir[ 1: 0 ],
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy3_bullet_collide[ 0 ], player1_tank_collide[ 2 ]
|
||||
enermy3_bullet_collide[ 0 ], player1_tank_collide_tmp[ 2 ]
|
||||
);
|
||||
object_collide_detection enermy4_mytank1(
|
||||
enermy4_bullet_H, enermy4_bullet_V, ~enermy4_bullet_dir[ 2 ], enermy4_bullet_dir[ 1: 0 ],
|
||||
BULLET_LONGER, BULLET_SHORTER,
|
||||
player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir[ 1: 0 ],
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy4_bullet_collide[ 0 ], player1_tank_collide[ 3 ]
|
||||
enermy4_bullet_collide[ 0 ], player1_tank_collide_tmp[ 3 ]
|
||||
);
|
||||
object_collide_detection enermy1_mytank2(
|
||||
enermy1_bullet_H, enermy1_bullet_V, ~enermy1_bullet_dir[ 2 ], enermy1_bullet_dir[ 1: 0 ],
|
||||
BULLET_LONGER, BULLET_SHORTER,
|
||||
player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir[ 1: 0 ],
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy1_bullet_collide[ 1 ], player2_tank_collide[ 0 ]
|
||||
enermy1_bullet_collide[ 1 ], player2_tank_collide_tmp[ 0 ]
|
||||
);
|
||||
object_collide_detection enermy2_mytank2(
|
||||
enermy2_bullet_H, enermy2_bullet_V, ~enermy2_bullet_dir[ 2 ], enermy2_bullet_dir[ 1: 0 ],
|
||||
BULLET_LONGER, BULLET_SHORTER,
|
||||
player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir[ 1: 0 ],
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy2_bullet_collide[ 1 ], player2_tank_collide[ 1 ]
|
||||
enermy2_bullet_collide[ 1 ], player2_tank_collide_tmp[ 1 ]
|
||||
);
|
||||
object_collide_detection enermy3_mytank2(
|
||||
enermy3_bullet_H, enermy3_bullet_V, ~enermy3_bullet_dir[ 2 ], enermy3_bullet_dir[ 1: 0 ],
|
||||
BULLET_LONGER, BULLET_SHORTER,
|
||||
player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir[ 1: 0 ],
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy3_bullet_collide[ 1 ], player2_tank_collide[ 2 ]
|
||||
enermy3_bullet_collide[ 1 ], player2_tank_collide_tmp[ 2 ]
|
||||
);
|
||||
object_collide_detection enermy4_mytank2(
|
||||
enermy4_bullet_H, enermy4_bullet_V, ~enermy4_bullet_dir[ 2 ], enermy4_bullet_dir[ 1: 0 ],
|
||||
BULLET_LONGER, BULLET_SHORTER,
|
||||
player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir[ 1: 0 ],
|
||||
TANK_HEIGHT, TANK_WIDTH,
|
||||
enermy4_bullet_collide[ 1 ], player2_tank_collide[ 3 ]
|
||||
enermy4_bullet_collide[ 1 ], player2_tank_collide_tmp[ 3 ]
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -246,13 +463,7 @@ object_collide_detection mytank2_enermy4(
|
|||
// player2_bullet_collide[ 1 ], player1_tank_collide[ 4 ]
|
||||
// );
|
||||
|
||||
// object_collide_detection tank1_tank2(
|
||||
// player1_tank_H, player1_tank_V, player1_tank_en_feedback, player1_tank_dir,
|
||||
// TANK_HEIGHT, TANK_WIDTH,
|
||||
// player2_tank_H, player2_tank_V, player2_tank_en_feedback, player2_tank_dir,
|
||||
// TANK_HEIGHT, TANK_WIDTH,
|
||||
// player1_tank_collide[ 1 ], player2_tank_collide[ 0 ]
|
||||
// );
|
||||
|
||||
|
||||
// always @( posedge player1_bullet_collide[ 0 ] or posedge player1_bullet_collide[ 1 ] or posedge player1_bullet_collide[ 2 ] or posedge player1_bullet_collide[ 3 ] ) begin
|
||||
// if ( reset_n ) begin
|
||||
|
|
@ -464,10 +675,10 @@ always @( posedge clk ) begin: enermy_tank_enable_signal
|
|||
player2_scored <= 1;
|
||||
end
|
||||
end
|
||||
enermy1_tank_move_en <= 1;
|
||||
enermy2_tank_move_en <= 1;
|
||||
enermy3_tank_move_en <= 1;
|
||||
enermy4_tank_move_en <= 1;
|
||||
enermy1_tank_move_en <= ~( | enermy1_tank_collide );
|
||||
enermy2_tank_move_en <= ~( | enermy2_tank_collide );
|
||||
enermy3_tank_move_en <= ~( | enermy3_tank_collide );
|
||||
enermy4_tank_move_en <= ~( | enermy4_tank_collide );
|
||||
|
||||
end
|
||||
// always @( posedge clk ) begin: enermy1_tank_enable_signal
|
||||
|
|
@ -592,10 +803,7 @@ always @( posedge clk ) begin: player2_tank_enable_signal
|
|||
|
||||
// player2_tank_en_feedback <= ~player1_bullet_collide[1];
|
||||
|
||||
player2_tank_move_en <= 1;
|
||||
if ( player2_tank_collide[ 0 ] && player2_moving ) begin
|
||||
player2_tank_move_en <= 0;
|
||||
end
|
||||
player2_tank_move_en <= ~( | player2_tank_collide );
|
||||
end
|
||||
|
||||
|
||||
|
|
@ -612,10 +820,7 @@ always @( posedge clk ) begin: player1_tank_enable_signal
|
|||
end
|
||||
|
||||
|
||||
player1_tank_move_en <= 1;
|
||||
if ( player1_tank_collide[ 1 ] && player1_moving ) begin
|
||||
player1_tank_move_en <= 0;
|
||||
end
|
||||
player1_tank_move_en <= ~( | player1_tank_collide );
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
`timescale 1ns / 1ps
|
||||
|
||||
|
||||
module display_scene(
|
||||
input clk,
|
||||
input player1_H,
|
||||
input player1_V
|
||||
);
|
||||
|
||||
tank_display u_tank_display(
|
||||
.clk(clk),
|
||||
.tankDir(2'b01),
|
||||
.vgaH(vgaH),
|
||||
.vgaV(vgaV),
|
||||
.tankH(player1_H),
|
||||
.tankV(player1_V),
|
||||
.tankData(tankData)
|
||||
|
||||
|
||||
);
|
||||
endmodule
|
||||
|
|
@ -24,7 +24,7 @@ module enermy_control(
|
|||
input clk_8Hz,
|
||||
input clk_2Hz,
|
||||
input clk_10ms,
|
||||
input [ 1: 0 ] flag, //00 01 10 11 four tanks
|
||||
input [ 1: 0 ] flag, //00 01 10 11 four tanks
|
||||
input [ 10: 0 ] player1_H,
|
||||
input [ 10: 0 ] player1_V,
|
||||
input [ 10: 0 ] player2_H,
|
||||
|
|
@ -71,12 +71,17 @@ reg rand; // 0 is player2 and 1 is player1
|
|||
wire [ 10: 0 ] chase_tank_H = rand ? player1_H : player2_H;
|
||||
wire [ 10: 0 ] chase_tank_V = rand ? player1_V : player2_V;
|
||||
|
||||
reg Continue;
|
||||
reg [ 2: 0 ] Continue_num;
|
||||
|
||||
assign enermy_moving = enermy_tank_en;
|
||||
|
||||
initial begin
|
||||
enermy_fire <= 1'b0;
|
||||
counter_num <= flag;
|
||||
rand <= flag[ 0 ];
|
||||
Continue <= 0;
|
||||
Continue_num <= 0;
|
||||
end
|
||||
|
||||
Random u_Random(
|
||||
|
|
@ -85,12 +90,13 @@ Random u_Random(
|
|||
.flag( flag ),
|
||||
.random( rand_num )
|
||||
);
|
||||
always @( posedge clk_8Hz ) begin
|
||||
if ( !player1_bullet_dir[ 2 ] ) begin
|
||||
always @( posedge clk_2Hz ) begin
|
||||
if ( !player1_bullet_dir[ 2 ] && !Continue ) begin
|
||||
case ( player1_bullet_dir[ 1 ] )
|
||||
|
||||
1'b0: begin
|
||||
if ( player1_bullet_H <= tank_RBound && player1_bullet_H + BULLET_SHORTER >= enermy_H ) begin
|
||||
Continue <= 1'b1;
|
||||
if ( ( enermy_V < player1_bullet_V && ~player1_bullet_dir[ 0 ] ) || ( enermy_V > player1_bullet_V && player1_bullet_dir[ 0 ] ) ) begin
|
||||
if ( enermy_H < WIDTH / 6 ) begin
|
||||
|
||||
|
|
@ -114,6 +120,8 @@ always @( posedge clk_8Hz ) begin
|
|||
|
||||
1'b1: begin
|
||||
if ( player1_bullet_V <= tank_DBound && player1_bullet_V + BULLET_SHORTER >= enermy_V ) begin
|
||||
Continue <= 1'b1;
|
||||
|
||||
if ( ( enermy_H < player1_bullet_H && ~player1_bullet_dir[ 0 ] ) || ( enermy_H > player1_bullet_H && player1_bullet_dir[ 0 ] ) ) begin
|
||||
if ( enermy_V < HEIGHT / 6 ) begin
|
||||
enermy_dir_feedback_tmp <= 2'b01;
|
||||
|
|
@ -137,11 +145,12 @@ always @( posedge clk_8Hz ) begin
|
|||
end
|
||||
|
||||
|
||||
else if ( !player2_bullet_dir[ 2 ] ) begin
|
||||
else if ( !player2_bullet_dir[ 2 ] && !Continue ) begin
|
||||
case ( player2_bullet_dir[ 1 ] )
|
||||
|
||||
1'b0: begin
|
||||
if ( player2_bullet_H <= tank_RBound && player2_bullet_H + BULLET_SHORTER >= enermy_H ) begin
|
||||
Continue <= 1'b1;
|
||||
if ( ( enermy_V < player2_bullet_V && ~player2_bullet_dir[ 0 ] ) || ( enermy_V > player2_bullet_V && player2_bullet_dir[ 0 ] ) ) begin
|
||||
if ( enermy_H < WIDTH / 6 ) begin
|
||||
|
||||
|
|
@ -165,6 +174,7 @@ always @( posedge clk_8Hz ) begin
|
|||
|
||||
1'b1: begin
|
||||
if ( player2_bullet_V <= tank_DBound && player2_bullet_V + BULLET_SHORTER >= enermy_V ) begin
|
||||
Continue <= 1'b1;
|
||||
if ( ( enermy_H < player2_bullet_H && ~player2_bullet_dir[ 0 ] ) || ( enermy_H > player2_bullet_H && player2_bullet_dir[ 0 ] ) ) begin
|
||||
if ( enermy_V < HEIGHT / 6 ) begin
|
||||
enermy_dir_feedback_tmp <= 2'b01;
|
||||
|
|
@ -224,10 +234,7 @@ always @( posedge clk_8Hz ) begin
|
|||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
always @( posedge clk_2Hz ) begin
|
||||
if ( counter_num % 3 > 0 ) begin
|
||||
if ( counter_num % 4 != flag ) begin
|
||||
enermy_dir_feedback <= enermy_dir_feedback_tmp;
|
||||
end
|
||||
else begin
|
||||
|
|
@ -238,6 +245,13 @@ always @( posedge clk_2Hz ) begin
|
|||
counter_num <= 0;
|
||||
rand <= rand_num[ 0 ] ;
|
||||
end
|
||||
Continue_num <= Continue_num + 1'b1;
|
||||
if ( Continue_num == 4 ) begin
|
||||
Continue_num <= 0;
|
||||
Continue <= 0;
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
endmodule
|
||||
|
|
|
|||
|
|
@ -42,7 +42,8 @@ module game_logic_classic(
|
|||
|
||||
output reg gameover_classic,
|
||||
output wire [ 15: 0 ] led_classic,
|
||||
output reg [ 7: 0 ] score_classic //[7:4] is player2 ,[3:0] is player1
|
||||
output reg [ 7: 0 ] score_classic, //[7:4] is player2 ,[3:0] is player1
|
||||
output reg [ 1: 0 ] winner
|
||||
);
|
||||
reg [ 3: 0 ] score1;
|
||||
reg [ 3: 0 ] score2;
|
||||
|
|
@ -51,7 +52,7 @@ initial begin
|
|||
gameover_classic <= 0;
|
||||
|
||||
score_classic <= 0;
|
||||
|
||||
winner <= 0;
|
||||
score1 <= 0;
|
||||
score2 <= 0;
|
||||
score_classic <= 0;
|
||||
|
|
@ -108,6 +109,7 @@ always @( posedge clk ) begin
|
|||
score1 <= 0;
|
||||
score2 <= 0;
|
||||
score_classic <= 0;
|
||||
winner <= 2'b00;
|
||||
end
|
||||
else begin
|
||||
score_classic[ 7: 4 ] <= score2[ 3: 0 ];
|
||||
|
|
@ -122,6 +124,12 @@ always @( posedge clk ) begin
|
|||
score_classic[ 3: 0 ] <= score1[ 3: 0 ];
|
||||
if ( HP1_value == 0 || HP2_value == 0 || score1 >= 8 || score2 >= 8 ) begin
|
||||
gameover_classic <= 1;
|
||||
if ( HP2_value == 0 || score1 >= 8 ) begin
|
||||
winner <= 2'b10;
|
||||
end
|
||||
else begin
|
||||
winner <= 2'b11;
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
|
|
@ -45,7 +45,8 @@ module game_logic_infinity(
|
|||
output reg gameover_infinity,
|
||||
|
||||
output wire [ 15: 0 ] led_infinity,
|
||||
output reg [ 7: 0 ] score_infinity //[7:4] is player2 ,[3:0] is player1
|
||||
output reg [ 7: 0 ] score_infinity, //[7:4] is player2 ,[3:0] is player1
|
||||
output reg timeup
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -68,6 +69,7 @@ initial begin
|
|||
item_flag <= 0;
|
||||
HP1_value <= 2;
|
||||
HP2_value <= 2;
|
||||
timeup <= 0;
|
||||
end
|
||||
|
||||
always @( posedge clk ) begin
|
||||
|
|
@ -125,6 +127,7 @@ always @( posedge clk ) begin
|
|||
score1 <= 0;
|
||||
score2 <= 0;
|
||||
score_infinity <= 0;
|
||||
timeup <= 0;
|
||||
end
|
||||
else begin
|
||||
score_infinity[ 7: 4 ] <= score2[ 3: 0 ];
|
||||
|
|
@ -136,6 +139,7 @@ always @( posedge clk ) begin
|
|||
if ( timer == 0 || btn_stop || ( | HP1_value == 0 ) || ( | HP2_value == 0 ) ) begin
|
||||
timer <= 16;
|
||||
gameover_infinity <= 1;
|
||||
timeup <= 1'b1;
|
||||
end
|
||||
else begin
|
||||
if ( score1 < scorea1 + scoreb1 + scorec1 + scored1 ) begin
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
`timescale 1ns / 1ps
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Company:
|
||||
// Engineer:
|
||||
//
|
||||
// Create Date: 12/29/2020 09:37:23 PM
|
||||
// Design Name:
|
||||
// Module Name: game_startshow
|
||||
// Project Name:
|
||||
// Target Devices:
|
||||
// Tool Versions:
|
||||
// Description:
|
||||
//
|
||||
// Dependencies:
|
||||
//
|
||||
// Revision:
|
||||
// Revision 0.01 - File Created
|
||||
// Additional Comments:
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
module game_startshow(
|
||||
|
||||
);
|
||||
endmodule
|
||||
|
|
@ -22,13 +22,13 @@ reg [ 3: 0 ] object1_collide_dir, object2_collide_dir;
|
|||
wire [ 10: 0 ] object1_RBound, object1_DBound;
|
||||
wire [ 10: 0 ] object2_RBound, object2_DBound;
|
||||
|
||||
assign object1_RBound = object1_H + ( ( object1_dir >= 2'b10 ) ? object1_LONGER : object1_SHORTER) ;
|
||||
assign object1_DBound = object1_V + ( ( object1_dir >= 2'b10 ) ? object1_SHORTER : object1_LONGER) ;
|
||||
assign object2_RBound = object2_H + ( ( object2_dir >= 2'b10 ) ? object2_LONGER : object2_SHORTER) ;
|
||||
assign object2_DBound = object2_V + ( ( object2_dir >= 2'b10 ) ? object2_SHORTER : object2_LONGER) ;
|
||||
assign object1_RBound = object1_H + ( ( object1_dir >= 2'b10 ) ? object1_LONGER : object1_SHORTER ) ;
|
||||
assign object1_DBound = object1_V + ( ( object1_dir >= 2'b10 ) ? object1_SHORTER : object1_LONGER ) ;
|
||||
assign object2_RBound = object2_H + ( ( object2_dir >= 2'b10 ) ? object2_LONGER : object2_SHORTER ) ;
|
||||
assign object2_DBound = object2_V + ( ( object2_dir >= 2'b10 ) ? object2_SHORTER : object2_LONGER ) ;
|
||||
|
||||
always @( * ) begin
|
||||
if ( object2_en && object1_RBound <= object2_RBound && object1_RBound >= object2_H &&
|
||||
if ( object1_en && object2_en && object1_RBound <= object2_RBound && object1_RBound >= object2_H &&
|
||||
~( object1_DBound < object2_V || object1_V > object2_DBound ) ) begin
|
||||
object1_collide_dir[ 3 ] <= 1;
|
||||
end
|
||||
|
|
@ -36,7 +36,7 @@ always @( * ) begin
|
|||
object1_collide_dir[ 3 ] <= 0;
|
||||
end
|
||||
|
||||
if ( object2_en && object1_H <= object2_RBound && object1_H >= object2_H &&
|
||||
if ( object1_en && object2_en && object1_H <= object2_RBound && object1_H >= object2_H &&
|
||||
~( object1_DBound < object2_V || object1_V > object2_DBound ) ) begin
|
||||
object1_collide_dir[ 2 ] <= 1;
|
||||
end
|
||||
|
|
@ -44,7 +44,7 @@ always @( * ) begin
|
|||
object1_collide_dir[ 2 ] <= 0;
|
||||
end
|
||||
|
||||
if ( object2_en && object1_V <= object2_DBound && object1_V >= object2_V
|
||||
if ( object1_en && object2_en && object1_V <= object2_DBound && object1_V >= object2_V
|
||||
&& ~( object1_RBound < object2_H || object1_H > object2_RBound ) ) begin
|
||||
object1_collide_dir[ 0 ] <= 1;
|
||||
end
|
||||
|
|
@ -52,7 +52,7 @@ always @( * ) begin
|
|||
object1_collide_dir[ 0 ] <= 0;
|
||||
end
|
||||
|
||||
if ( object2_en && object1_DBound <= object2_DBound && object1_DBound >= object2_V
|
||||
if ( object1_en && object2_en && object1_DBound <= object2_DBound && object1_DBound >= object2_V
|
||||
&& ~( object1_RBound < object2_H || object1_H > object2_RBound ) ) begin
|
||||
object1_collide_dir[ 1 ] <= 1;
|
||||
end
|
||||
|
|
@ -63,7 +63,7 @@ always @( * ) begin
|
|||
end
|
||||
|
||||
always @( * ) begin
|
||||
if ( object1_en && object2_RBound <= object1_RBound && object2_RBound >= object1_H &&
|
||||
if ( object1_en && object2_en && object2_RBound <= object1_RBound && object2_RBound >= object1_H &&
|
||||
~( object2_DBound < object1_V || object2_V > object1_DBound ) ) begin
|
||||
object2_collide_dir[ 3 ] <= 1;
|
||||
end
|
||||
|
|
@ -71,7 +71,7 @@ always @( * ) begin
|
|||
object2_collide_dir[ 3 ] <= 0;
|
||||
end
|
||||
|
||||
if ( object1_en && object2_H <= object1_RBound && object2_H >= object1_H &&
|
||||
if ( object1_en && object2_en && object2_H <= object1_RBound && object2_H >= object1_H &&
|
||||
~( object2_DBound < object1_V || object2_V > object1_DBound ) ) begin
|
||||
object2_collide_dir[ 2 ] <= 1;
|
||||
end
|
||||
|
|
@ -79,7 +79,7 @@ always @( * ) begin
|
|||
object2_collide_dir[ 2 ] <= 0;
|
||||
end
|
||||
|
||||
if ( object1_en && object2_V <= object1_DBound && object2_V >= object1_V
|
||||
if ( object1_en && object2_en && object2_V <= object1_DBound && object2_V >= object1_V
|
||||
&& ~( object2_RBound < object1_H || object2_H > object1_RBound ) ) begin
|
||||
object2_collide_dir[ 0 ] <= 1;
|
||||
end
|
||||
|
|
@ -87,7 +87,7 @@ always @( * ) begin
|
|||
object2_collide_dir[ 0 ] <= 0;
|
||||
end
|
||||
|
||||
if ( object1_en && object2_DBound <= object1_DBound && object2_DBound >= object1_V
|
||||
if ( object1_en && object2_en && object2_DBound <= object1_DBound && object2_DBound >= object1_V
|
||||
&& ~( object2_RBound < object1_H || object2_H > object1_RBound ) ) begin
|
||||
object2_collide_dir[ 1 ] <= 1;
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
`timescale 1ns / 1ps
|
||||
|
||||
module tank_logic(
|
||||
|
||||
);
|
||||
endmodule
|
||||
|
|
@ -0,0 +1,160 @@
|
|||
`timescale 1ns / 1ps
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Company:
|
||||
// Engineer:
|
||||
//
|
||||
// Create Date: 01/03/2021 04:28:18 PM
|
||||
// Design Name:
|
||||
// Module Name: vga_data_heart_gametips
|
||||
// Project Name:
|
||||
// Target Devices:
|
||||
// Tool Versions:
|
||||
// Description:
|
||||
//
|
||||
// Dependencies:
|
||||
//
|
||||
// Revision:
|
||||
// Revision 0.01 - File Created
|
||||
// Additional Comments:
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
module vga_data_heart_gametips(
|
||||
input clk,
|
||||
input [ 2: 0 ] mode,
|
||||
input [ 10: 0 ] vgaH,
|
||||
input [ 10: 0 ] vgaV,
|
||||
input [ 1: 0 ] winner,
|
||||
input timeup,
|
||||
input gameover_classic,
|
||||
input gameover_infinity,
|
||||
input [ 3: 0 ] HP1_value,
|
||||
input [ 3: 0 ] HP2_value,
|
||||
input [ 7: 0 ] score_classic,
|
||||
output [ 11: 0 ] vgaData
|
||||
);
|
||||
|
||||
reg [ 11: 0 ] heart_reg1, heart_reg2, classic_gameover_tips_reg1, classic_gameover_tips_reg2, infinity_gameover_tips_reg;
|
||||
wire [ 11: 0 ] heart_pic1 , heart_pic2, classic_gameover_tips_pic1, classic_gameover_tips_pic2, infinity_gameover_tips_pic;
|
||||
reg [ 8: 0 ] addra_heart_pic1, addra_heart_pic2;
|
||||
reg [ 12: 0 ] addr_classic_gameover_tips_pic1, addr_classic_gameover_tips_pic2, addr_infinity_gameover_tips_pic;
|
||||
|
||||
always @( posedge clk ) begin
|
||||
if ( mode == 0 || mode == 3 ) begin
|
||||
heart_reg1 <= 0;
|
||||
heart_reg2 <= 0;
|
||||
end
|
||||
else if ( mode == 1 || mode == 2 ) begin
|
||||
if ( vgaH >= 5 && vgaH < 25 && vgaV >= 180 && vgaV < 300 && ( vgaV - 180 ) < HP1_value * 20 ) begin
|
||||
addra_heart_pic1 <= ( vgaH - 5 ) + ( ( vgaV - 180 ) % 20 ) * 20;
|
||||
heart_reg1 <= heart_pic1;
|
||||
end
|
||||
else if ( vgaH >= 615 && vgaH < 635 && vgaV >= 180 && vgaV < 300 && ( vgaV - 180 ) < HP2_value * 20 ) begin
|
||||
addra_heart_pic2 <= ( vgaH - 615 ) + ( ( vgaV - 180 ) % 20 ) * 20;
|
||||
heart_reg2 <= heart_pic2;
|
||||
end
|
||||
else begin
|
||||
heart_reg1 <= 0;
|
||||
heart_reg2 <= 0;
|
||||
end
|
||||
end
|
||||
else begin
|
||||
heart_reg1 <= 0;
|
||||
heart_reg2 <= 0;
|
||||
end
|
||||
end
|
||||
|
||||
always @( posedge clk ) begin
|
||||
if ( mode != 3 ) begin
|
||||
classic_gameover_tips_reg1 <= 0;
|
||||
classic_gameover_tips_reg2 <= 0;
|
||||
infinity_gameover_tips_reg <= 0;
|
||||
|
||||
end
|
||||
else begin
|
||||
if ( winner > 0 ) begin
|
||||
if ( winner == 2'b10 ) begin
|
||||
if ( vgaH >= 230 && vgaH < 410 && vgaV >= 10 && vgaV < 42 ) begin
|
||||
addr_classic_gameover_tips_pic1 <= ( vgaH - 230 ) + ( vgaV - 10 ) * 180;
|
||||
classic_gameover_tips_reg1 <= classic_gameover_tips_pic1;
|
||||
end
|
||||
else begin
|
||||
classic_gameover_tips_reg1 <= 0;
|
||||
end
|
||||
classic_gameover_tips_reg2 <= 0;
|
||||
infinity_gameover_tips_reg <= 0;
|
||||
end
|
||||
else if ( winner == 2'b11 ) begin
|
||||
if ( vgaH >= 230 && vgaH < 410 && vgaV >= 10 && vgaV < 42 ) begin
|
||||
addr_classic_gameover_tips_pic2 <= ( vgaH - 230 ) + ( vgaV - 10 ) * 180;
|
||||
classic_gameover_tips_reg2 <= classic_gameover_tips_pic2;
|
||||
end
|
||||
else begin
|
||||
classic_gameover_tips_reg2 <= 0;
|
||||
end
|
||||
classic_gameover_tips_reg1 <= 0;
|
||||
infinity_gameover_tips_reg <= 0;
|
||||
|
||||
end
|
||||
else begin
|
||||
classic_gameover_tips_reg1 <= 0;
|
||||
classic_gameover_tips_reg2 <= 0;
|
||||
infinity_gameover_tips_reg <= 0;
|
||||
end
|
||||
end
|
||||
else if ( timeup ) begin
|
||||
if ( vgaH >= 230 && vgaH < 410 && vgaV >= 10 && vgaV < 48 ) begin
|
||||
addr_infinity_gameover_tips_pic <= ( vgaH - 230 ) + ( vgaV - 10 ) * 180;
|
||||
infinity_gameover_tips_reg <= infinity_gameover_tips_pic;
|
||||
end
|
||||
else begin
|
||||
infinity_gameover_tips_reg <= 0;
|
||||
end
|
||||
classic_gameover_tips_reg1 <= 0;
|
||||
classic_gameover_tips_reg2 <= 0;
|
||||
end
|
||||
else begin
|
||||
classic_gameover_tips_reg1 <= 0;
|
||||
classic_gameover_tips_reg2 <= 0;
|
||||
infinity_gameover_tips_reg <= 0;
|
||||
end
|
||||
end
|
||||
end
|
||||
heart_20_20 player1_heart(
|
||||
.addra( addra_heart_pic1 ),
|
||||
.clka( clk ),
|
||||
.douta( heart_pic1 ),
|
||||
.ena( 1'b1 )
|
||||
);
|
||||
|
||||
|
||||
heart_20_20 player2_heart(
|
||||
.addra( addra_heart_pic2 ),
|
||||
.clka( clk ),
|
||||
.douta( heart_pic2 ),
|
||||
.ena( 1'b1 )
|
||||
);
|
||||
|
||||
player1win_180_32 u_player1win_180_32(
|
||||
.addra( addr_classic_gameover_tips_pic1 ),
|
||||
.clka( clk ),
|
||||
.douta( classic_gameover_tips_pic1 ),
|
||||
.ena( 1'b1 )
|
||||
);
|
||||
|
||||
player2win_180_32 u_player2win_180_32(
|
||||
.addra( addr_classic_gameover_tips_pic2 ),
|
||||
.clka( clk ),
|
||||
.douta( classic_gameover_tips_pic2 ),
|
||||
.ena( 1'b1 )
|
||||
);
|
||||
|
||||
timeisup_180_38 u_timeisup_180_38(
|
||||
.addra( addr_infinity_gameover_tips_pic ),
|
||||
.clka( clk ),
|
||||
.douta( infinity_gameover_tips_pic ),
|
||||
.ena( 1'b1 )
|
||||
);
|
||||
assign vgaData = heart_reg1 | heart_reg2 | classic_gameover_tips_reg1 | classic_gameover_tips_reg2 | infinity_gameover_tips_reg;
|
||||
endmodule
|
||||
Loading…
Reference in New Issue