Archived
Optimize project dir structure, add dl814_k7 proj.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
The files in this directory structure are automatically generated and managed by Vivado. Editing these files is not recommended.
|
||||
@@ -0,0 +1,71 @@
|
||||
// (c) Copyright 1995-2023 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:cmpy:6.0
|
||||
// IP Revision: 17
|
||||
|
||||
// The following must be inserted into your Verilog file for this
|
||||
// core to be instantiated. Change the instance name and port connections
|
||||
// (in parentheses) to your own signal names.
|
||||
|
||||
//----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG
|
||||
cmpy_18x8 your_instance_name (
|
||||
.aclk(aclk), // input wire aclk
|
||||
.s_axis_a_tvalid(s_axis_a_tvalid), // input wire s_axis_a_tvalid
|
||||
.s_axis_a_tdata(s_axis_a_tdata), // input wire [47 : 0] s_axis_a_tdata
|
||||
.s_axis_b_tvalid(s_axis_b_tvalid), // input wire s_axis_b_tvalid
|
||||
.s_axis_b_tdata(s_axis_b_tdata), // input wire [15 : 0] s_axis_b_tdata
|
||||
.m_axis_dout_tvalid(m_axis_dout_tvalid), // output wire m_axis_dout_tvalid
|
||||
.m_axis_dout_tdata(m_axis_dout_tdata) // output wire [63 : 0] m_axis_dout_tdata
|
||||
);
|
||||
// INST_TAG_END ------ End INSTANTIATION Template ---------
|
||||
|
||||
// You must compile the wrapper file cmpy_18x8.v when simulating
|
||||
// the core, cmpy_18x8. When compiling the wrapper file, be sure to
|
||||
// reference the Verilog simulation library.
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
-- (c) Copyright 1995-2023 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:cmpy:6.0
|
||||
-- IP Revision: 17
|
||||
|
||||
-- The following code must appear in the VHDL architecture header.
|
||||
|
||||
------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG
|
||||
COMPONENT cmpy_18x8
|
||||
PORT (
|
||||
aclk : IN STD_LOGIC;
|
||||
s_axis_a_tvalid : IN STD_LOGIC;
|
||||
s_axis_a_tdata : IN STD_LOGIC_VECTOR(47 DOWNTO 0);
|
||||
s_axis_b_tvalid : IN STD_LOGIC;
|
||||
s_axis_b_tdata : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
|
||||
m_axis_dout_tvalid : OUT STD_LOGIC;
|
||||
m_axis_dout_tdata : OUT STD_LOGIC_VECTOR(63 DOWNTO 0)
|
||||
);
|
||||
END COMPONENT;
|
||||
-- COMP_TAG_END ------ End COMPONENT Declaration ------------
|
||||
|
||||
-- The following code must appear in the VHDL architecture
|
||||
-- body. Substitute your own instance name and net names.
|
||||
|
||||
------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG
|
||||
your_instance_name : cmpy_18x8
|
||||
PORT MAP (
|
||||
aclk => aclk,
|
||||
s_axis_a_tvalid => s_axis_a_tvalid,
|
||||
s_axis_a_tdata => s_axis_a_tdata,
|
||||
s_axis_b_tvalid => s_axis_b_tvalid,
|
||||
s_axis_b_tdata => s_axis_b_tdata,
|
||||
m_axis_dout_tvalid => m_axis_dout_tvalid,
|
||||
m_axis_dout_tdata => m_axis_dout_tdata
|
||||
);
|
||||
-- INST_TAG_END ------ End INSTANTIATION Template ---------
|
||||
|
||||
-- You must compile the wrapper file cmpy_18x8.vhd when simulating
|
||||
-- the core, cmpy_18x8. When compiling the wrapper file, be sure to
|
||||
-- reference the VHDL simulation library.
|
||||
|
||||
+1984
File diff suppressed because it is too large
Load Diff
+2563
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,27 @@
|
||||
// Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
// --------------------------------------------------------------------------------
|
||||
// Tool Version: Vivado v.2019.1.3 (win64) Build 2644227 Wed Sep 4 09:45:24 MDT 2019
|
||||
// Date : Sat Mar 18 23:15:41 2023
|
||||
// Host : JOSH-ASUS-Z690 running 64-bit major release (build 9200)
|
||||
// Command : write_verilog -force -mode synth_stub
|
||||
// D:/vivado-git/modules/xc7k410tffg900-2/tx_qpsk/ip/managed_ip_project/managed_ip_project.runs/cmpy_18x8_synth_1/cmpy_18x8_stub.v
|
||||
// Design : cmpy_18x8
|
||||
// Purpose : Stub declaration of top-level module interface
|
||||
// Device : xc7k410tffg900-2
|
||||
// --------------------------------------------------------------------------------
|
||||
|
||||
// This empty module with port declaration file causes synthesis tools to infer a black box for IP.
|
||||
// The synthesis directives are for Synopsys Synplify support to prevent IO buffer insertion.
|
||||
// Please paste the declaration into a Verilog source file or add the file as an additional source.
|
||||
(* x_core_info = "cmpy_v6_0_17,Vivado 2019.1.3" *)
|
||||
module cmpy_18x8(aclk, s_axis_a_tvalid, s_axis_a_tdata,
|
||||
s_axis_b_tvalid, s_axis_b_tdata, m_axis_dout_tvalid, m_axis_dout_tdata)
|
||||
/* synthesis syn_black_box black_box_pad_pin="aclk,s_axis_a_tvalid,s_axis_a_tdata[47:0],s_axis_b_tvalid,s_axis_b_tdata[15:0],m_axis_dout_tvalid,m_axis_dout_tdata[63:0]" */;
|
||||
input aclk;
|
||||
input s_axis_a_tvalid;
|
||||
input [47:0]s_axis_a_tdata;
|
||||
input s_axis_b_tvalid;
|
||||
input [15:0]s_axis_b_tdata;
|
||||
output m_axis_dout_tvalid;
|
||||
output [63:0]m_axis_dout_tdata;
|
||||
endmodule
|
||||
@@ -0,0 +1,36 @@
|
||||
-- Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- Tool Version: Vivado v.2019.1.3 (win64) Build 2644227 Wed Sep 4 09:45:24 MDT 2019
|
||||
-- Date : Sat Mar 18 23:15:41 2023
|
||||
-- Host : JOSH-ASUS-Z690 running 64-bit major release (build 9200)
|
||||
-- Command : write_vhdl -force -mode synth_stub
|
||||
-- D:/vivado-git/modules/xc7k410tffg900-2/tx_qpsk/ip/managed_ip_project/managed_ip_project.runs/cmpy_18x8_synth_1/cmpy_18x8_stub.vhdl
|
||||
-- Design : cmpy_18x8
|
||||
-- Purpose : Stub declaration of top-level module interface
|
||||
-- Device : xc7k410tffg900-2
|
||||
-- --------------------------------------------------------------------------------
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
|
||||
entity cmpy_18x8 is
|
||||
Port (
|
||||
aclk : in STD_LOGIC;
|
||||
s_axis_a_tvalid : in STD_LOGIC;
|
||||
s_axis_a_tdata : in STD_LOGIC_VECTOR ( 47 downto 0 );
|
||||
s_axis_b_tvalid : in STD_LOGIC;
|
||||
s_axis_b_tdata : in STD_LOGIC_VECTOR ( 15 downto 0 );
|
||||
m_axis_dout_tvalid : out STD_LOGIC;
|
||||
m_axis_dout_tdata : out STD_LOGIC_VECTOR ( 63 downto 0 )
|
||||
);
|
||||
|
||||
end cmpy_18x8;
|
||||
|
||||
architecture stub of cmpy_18x8 is
|
||||
attribute syn_black_box : boolean;
|
||||
attribute black_box_pad_pin : string;
|
||||
attribute syn_black_box of stub : architecture is true;
|
||||
attribute black_box_pad_pin of stub : architecture is "aclk,s_axis_a_tvalid,s_axis_a_tdata[47:0],s_axis_b_tvalid,s_axis_b_tdata[15:0],m_axis_dout_tvalid,m_axis_dout_tdata[63:0]";
|
||||
attribute x_core_info : string;
|
||||
attribute x_core_info of stub : architecture is "cmpy_v6_0_17,Vivado 2019.1.3";
|
||||
begin
|
||||
end;
|
||||
+387
@@ -0,0 +1,387 @@
|
||||
--------------------------------------------------------------------------------
|
||||
-- (c) Copyright 2011 - 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.
|
||||
--------------------------------------------------------------------------------
|
||||
-- Description:
|
||||
-- This is an example testbench for the Complex Multiplier IP core.
|
||||
-- The testbench has been generated by Vivado to accompany the IP core
|
||||
-- instance you have generated.
|
||||
--
|
||||
-- This testbench is for demonstration purposes only. See note below for
|
||||
-- instructions on how to use it with your core.
|
||||
--
|
||||
-- See the Complex Multiplier product guide for further information
|
||||
-- about this core.
|
||||
--
|
||||
--------------------------------------------------------------------------------
|
||||
-- Using this testbench
|
||||
--
|
||||
-- This testbench instantiates your generated Complex Multiplier core
|
||||
-- instance named "cmpy_18x8".
|
||||
--
|
||||
-- Use Vivado's Run Simulation flow to run this testbench. See the Vivado
|
||||
-- documentation for details.
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
use ieee.numeric_std.all;
|
||||
use ieee.math_real.all;
|
||||
|
||||
entity tb_cmpy_18x8 is
|
||||
end tb_cmpy_18x8;
|
||||
|
||||
architecture tb of tb_cmpy_18x8 is
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Timing constants
|
||||
-----------------------------------------------------------------------
|
||||
constant CLOCK_PERIOD : time := 100 ns;
|
||||
constant T_HOLD : time := 10 ns;
|
||||
constant T_STROBE : time := CLOCK_PERIOD - (1 ns);
|
||||
constant TEST_CYCLES : integer := 3000;
|
||||
constant PHASE_CYCLES : integer := 1000;
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- DUT input signals
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
-- General inputs
|
||||
signal aclk : std_logic := '0'; -- the master clock
|
||||
|
||||
-- Slave channel A inputs
|
||||
signal s_axis_a_tvalid : std_logic := '0'; -- TVALID for channel A
|
||||
signal s_axis_a_tdata : std_logic_vector(47 downto 0) := (others => '0'); -- TDATA for channel A
|
||||
|
||||
-- Slave channel B inputs
|
||||
signal s_axis_b_tvalid : std_logic := '0'; -- TVALID for channel B
|
||||
signal s_axis_b_tdata : std_logic_vector(15 downto 0) := (others => '0'); -- TDATA for channel B
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- DUT output signals
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
-- Master channel DOUT outputs
|
||||
signal m_axis_dout_tvalid : std_logic := '0'; -- TVALID for channel DOUT
|
||||
signal m_axis_dout_tdata : std_logic_vector(63 downto 0) := (others => '0'); -- TDATA for channel DOUT
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Aliases for AXI channel TDATA fields
|
||||
-- These are a convenience for viewing data in a simulator waveform viewer.
|
||||
-- If using ModelSim or Questa, add "-voptargs=+acc=n" to the vsim command
|
||||
-- to prevent the simulator optimizing away these signals.
|
||||
-----------------------------------------------------------------------
|
||||
signal s_axis_a_tdata_real : std_logic_vector(17 downto 0) := (others => '0');
|
||||
signal s_axis_a_tdata_imag : std_logic_vector(17 downto 0) := (others => '0');
|
||||
signal s_axis_b_tdata_real : std_logic_vector(7 downto 0) := (others => '0');
|
||||
signal s_axis_b_tdata_imag : std_logic_vector(7 downto 0) := (others => '0');
|
||||
signal m_axis_dout_tdata_real : std_logic_vector(26 downto 0) := (others => '0');
|
||||
signal m_axis_dout_tdata_imag : std_logic_vector(26 downto 0) := (others => '0');
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Testbench signals
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
signal cycles : integer := 0; -- Clock cycle counter
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Constants, types and functions to create input data
|
||||
-- Treat the complex multiplier as a mixer that is combining two
|
||||
-- sinusoids exp(+/-jwt) of different frequencies and amplitudes:
|
||||
-- channel A: exp(+jwt), frequency = clock / 30, amplitude = fullscale >> 3
|
||||
-- channel B: exp(-jwt), frequency = clock / 32, amplitude = fullscale
|
||||
-- The output of the complex multiplier is a sinusoid with a frequency
|
||||
-- equal to the difference between the input frequencies.
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
constant IP_A_DEPTH : integer := 30;
|
||||
constant IP_A_WIDTH : integer := 18;
|
||||
constant IP_A_SHIFT : integer := 3; -- bit shift for amplitude
|
||||
constant IP_B_DEPTH : integer := 32;
|
||||
constant IP_B_WIDTH : integer := 8;
|
||||
constant IP_B_SHIFT : integer := 0; -- no bit shift, max amplitude
|
||||
type T_IP_INT_ENTRY is record
|
||||
re : integer;
|
||||
im : integer;
|
||||
end record;
|
||||
type T_IP_A_ENTRY is record
|
||||
re : std_logic_vector(IP_A_WIDTH-1 downto 0);
|
||||
im : std_logic_vector(IP_A_WIDTH-1 downto 0);
|
||||
end record;
|
||||
type T_IP_B_ENTRY is record
|
||||
re : std_logic_vector(IP_B_WIDTH-1 downto 0);
|
||||
im : std_logic_vector(IP_B_WIDTH-1 downto 0);
|
||||
end record;
|
||||
type T_IP_A_TABLE is array (0 to IP_A_DEPTH-1) of T_IP_A_ENTRY;
|
||||
type T_IP_B_TABLE is array (0 to IP_B_DEPTH-1) of T_IP_B_ENTRY;
|
||||
|
||||
-- Common function to calculate sine and cosine values
|
||||
function create_ip_entry(index, depth, width : integer) return T_IP_INT_ENTRY is
|
||||
variable result : T_IP_INT_ENTRY;
|
||||
variable theta : real;
|
||||
variable limited_width : integer := width - 2;
|
||||
begin
|
||||
if limited_width > 30 then
|
||||
limited_width := 30;
|
||||
end if;
|
||||
theta := real(index) / real(depth) * 2.0 * MATH_PI;
|
||||
result.re := integer(round(cos(theta) * real(2**limited_width-1)));
|
||||
result.im := integer(round(sin(theta) * real(2**limited_width-1)));
|
||||
return result;
|
||||
end function create_ip_entry;
|
||||
|
||||
-- Use separate functions to calculate channel A and B sinusoids as they return different types
|
||||
function create_ip_a_table return T_IP_A_TABLE is
|
||||
variable result : T_IP_A_TABLE;
|
||||
variable entry_int : T_IP_INT_ENTRY;
|
||||
begin
|
||||
for i in 0 to IP_A_DEPTH-1 loop
|
||||
entry_int := create_ip_entry(i, IP_A_DEPTH, IP_A_WIDTH - IP_A_SHIFT);
|
||||
result(i).re := std_logic_vector(to_signed(entry_int.re, IP_A_WIDTH));
|
||||
result(i).im := std_logic_vector(to_signed(entry_int.im, IP_A_WIDTH));
|
||||
end loop;
|
||||
return result;
|
||||
end function create_ip_a_table;
|
||||
|
||||
function create_ip_b_table return T_IP_B_TABLE is
|
||||
variable result : T_IP_B_TABLE;
|
||||
variable entry_int : T_IP_INT_ENTRY;
|
||||
begin
|
||||
for i in 0 to IP_B_DEPTH-1 loop
|
||||
entry_int := create_ip_entry(IP_B_DEPTH-1-i, IP_B_DEPTH, IP_B_WIDTH - IP_B_SHIFT); -- note rotation direction
|
||||
result(i).re := std_logic_vector(to_signed(entry_int.re, IP_B_WIDTH));
|
||||
result(i).im := std_logic_vector(to_signed(entry_int.im, IP_B_WIDTH));
|
||||
end loop;
|
||||
return result;
|
||||
end function create_ip_b_table;
|
||||
|
||||
-- Call the functions to create the data
|
||||
constant IP_A_DATA : T_IP_A_TABLE := create_ip_a_table;
|
||||
constant IP_B_DATA : T_IP_B_TABLE := create_ip_b_table;
|
||||
|
||||
|
||||
begin
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Instantiate the DUT
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
dut : entity work.cmpy_18x8
|
||||
port map (
|
||||
aclk => aclk,
|
||||
s_axis_a_tvalid => s_axis_a_tvalid,
|
||||
s_axis_a_tdata => s_axis_a_tdata,
|
||||
s_axis_b_tvalid => s_axis_b_tvalid,
|
||||
s_axis_b_tdata => s_axis_b_tdata,
|
||||
m_axis_dout_tvalid => m_axis_dout_tvalid,
|
||||
m_axis_dout_tdata => m_axis_dout_tdata
|
||||
);
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Generate clock
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
clock_gen : process
|
||||
begin
|
||||
aclk <= '0';
|
||||
wait for CLOCK_PERIOD;
|
||||
loop
|
||||
cycles <= cycles + 1;
|
||||
aclk <= '0';
|
||||
wait for CLOCK_PERIOD/2;
|
||||
aclk <= '1';
|
||||
wait for CLOCK_PERIOD/2;
|
||||
if cycles >= TEST_CYCLES then
|
||||
report "Not a real failure. Simulation finished successfully. Test completed successfully" severity failure;
|
||||
wait;
|
||||
end if;
|
||||
end loop;
|
||||
end process clock_gen;
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Generate inputs
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
stimuli : process
|
||||
variable ip_a_index : integer := 0;
|
||||
variable ip_b_index : integer := 0;
|
||||
variable a_tvalid_nxt : std_logic := '0';
|
||||
variable b_tvalid_nxt : std_logic := '0';
|
||||
variable phase2_cycles : integer := 1;
|
||||
variable phase2_count : integer := 0;
|
||||
constant PHASE2_LIMIT : integer := 30;
|
||||
begin
|
||||
|
||||
-- Test is stopped in clock_gen process, use endless loop here
|
||||
loop
|
||||
|
||||
-- Drive inputs T_HOLD time after rising edge of clock
|
||||
wait until rising_edge(aclk);
|
||||
wait for T_HOLD;
|
||||
|
||||
-- Drive AXI TVALID signals to demonstrate different types of operation
|
||||
case cycles is -- do different types of operation at different phases of the test
|
||||
when 0 to PHASE_CYCLES * 1 - 1 =>
|
||||
-- Phase 1: inputs always valid, no missing input data
|
||||
a_tvalid_nxt := '1';
|
||||
b_tvalid_nxt := '1';
|
||||
when PHASE_CYCLES * 1 to PHASE_CYCLES * 2 - 1 =>
|
||||
-- Phase 2: deprive channel A of valid transactions at an increasing rate
|
||||
b_tvalid_nxt := '1';
|
||||
if phase2_count < phase2_cycles then
|
||||
a_tvalid_nxt := '0';
|
||||
else
|
||||
a_tvalid_nxt := '1';
|
||||
end if;
|
||||
phase2_count := phase2_count + 1;
|
||||
if phase2_count >= PHASE2_LIMIT then
|
||||
phase2_count := 0;
|
||||
phase2_cycles := phase2_cycles + 1;
|
||||
end if;
|
||||
when PHASE_CYCLES * 2 to PHASE_CYCLES * 3 - 1 =>
|
||||
-- Phase 3: deprive channel A of 1 out of 2 transactions, and channel B of 1 out of 3 transactions
|
||||
if cycles mod 2 = 0 then
|
||||
a_tvalid_nxt := '0';
|
||||
else
|
||||
a_tvalid_nxt := '1';
|
||||
end if;
|
||||
if cycles mod 3 = 0 then
|
||||
b_tvalid_nxt := '0';
|
||||
else
|
||||
b_tvalid_nxt := '1';
|
||||
end if;
|
||||
when others =>
|
||||
-- Test will stop imminently - do nothing
|
||||
null;
|
||||
end case;
|
||||
|
||||
-- Drive handshake signals with local variable values
|
||||
s_axis_a_tvalid <= a_tvalid_nxt;
|
||||
s_axis_b_tvalid <= b_tvalid_nxt;
|
||||
|
||||
-- Drive AXI slave channel A payload
|
||||
-- Drive '0's on payload signals when not valid
|
||||
if a_tvalid_nxt /= '1' then
|
||||
s_axis_a_tdata <= (others => '0');
|
||||
else
|
||||
-- TDATA: Real and imaginary components are each 18 bits wide and byte-aligned at their LSBs
|
||||
s_axis_a_tdata(17 downto 0) <= IP_A_DATA(ip_a_index).re;
|
||||
s_axis_a_tdata(23 downto 18) <= (others => IP_A_DATA(ip_a_index).re(17)); -- sign-extend;
|
||||
s_axis_a_tdata(41 downto 24) <= IP_A_DATA(ip_a_index).im;
|
||||
s_axis_a_tdata(47 downto 42) <= (others => IP_A_DATA(ip_a_index).im(17)); -- sign-extend;
|
||||
end if;
|
||||
|
||||
-- Drive AXI slave channel B payload
|
||||
-- Drive '0's on payload signals when not valid
|
||||
if b_tvalid_nxt /= '1' then
|
||||
s_axis_b_tdata <= (others => '0');
|
||||
else
|
||||
-- TDATA: Real and imaginary components are each 8 bits wide and byte-aligned at their LSBs
|
||||
s_axis_b_tdata(7 downto 0) <= IP_B_DATA(ip_b_index).re;
|
||||
s_axis_b_tdata(15 downto 8) <= IP_B_DATA(ip_b_index).im;
|
||||
end if;
|
||||
|
||||
-- Increment input data indices
|
||||
if a_tvalid_nxt = '1' then
|
||||
ip_a_index := ip_a_index + 1;
|
||||
if ip_a_index = IP_A_DEPTH then
|
||||
ip_a_index := 0;
|
||||
end if;
|
||||
end if;
|
||||
if b_tvalid_nxt = '1' then
|
||||
ip_b_index := ip_b_index + 1;
|
||||
if ip_b_index = IP_B_DEPTH then
|
||||
ip_b_index := 0;
|
||||
end if;
|
||||
end if;
|
||||
|
||||
end loop;
|
||||
|
||||
end process stimuli;
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Check outputs
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
check_outputs : process
|
||||
variable check_ok : boolean := true;
|
||||
begin
|
||||
|
||||
-- Check outputs T_STROBE time after rising edge of clock
|
||||
wait until rising_edge(aclk);
|
||||
wait for T_STROBE;
|
||||
|
||||
-- Do not check the output payload values, as this requires the behavioral model
|
||||
-- which would make this demonstration testbench unwieldy.
|
||||
-- Instead, check the protocol of the DOUT channel:
|
||||
-- check that the payload is valid (not X) when TVALID is high
|
||||
|
||||
if m_axis_dout_tvalid = '1' then
|
||||
if is_x(m_axis_dout_tdata) then
|
||||
report "ERROR: m_axis_dout_tdata is invalid when m_axis_dout_tvalid is high" severity error;
|
||||
check_ok := false;
|
||||
end if;
|
||||
|
||||
end if;
|
||||
|
||||
assert check_ok
|
||||
report "ERROR: terminating test with failures." severity failure;
|
||||
|
||||
end process check_outputs;
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Assign TDATA fields to aliases, for easy simulator waveform viewing
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
s_axis_a_tdata_real <= s_axis_a_tdata(17 downto 0);
|
||||
s_axis_a_tdata_imag <= s_axis_a_tdata(41 downto 24);
|
||||
s_axis_b_tdata_real <= s_axis_b_tdata(7 downto 0);
|
||||
s_axis_b_tdata_imag <= s_axis_b_tdata(15 downto 8);
|
||||
m_axis_dout_tdata_real <= m_axis_dout_tdata(26 downto 0);
|
||||
m_axis_dout_tdata_imag <= m_axis_dout_tdata(58 downto 32);
|
||||
|
||||
end tb;
|
||||
|
||||
@@ -0,0 +1,202 @@
|
||||
-- (c) Copyright 1995-2023 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:cmpy:6.0
|
||||
-- IP Revision: 17
|
||||
|
||||
LIBRARY ieee;
|
||||
USE ieee.std_logic_1164.ALL;
|
||||
USE ieee.numeric_std.ALL;
|
||||
|
||||
LIBRARY cmpy_v6_0_17;
|
||||
USE cmpy_v6_0_17.cmpy_v6_0_17;
|
||||
|
||||
ENTITY cmpy_18x8 IS
|
||||
PORT (
|
||||
aclk : IN STD_LOGIC;
|
||||
s_axis_a_tvalid : IN STD_LOGIC;
|
||||
s_axis_a_tdata : IN STD_LOGIC_VECTOR(47 DOWNTO 0);
|
||||
s_axis_b_tvalid : IN STD_LOGIC;
|
||||
s_axis_b_tdata : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
|
||||
m_axis_dout_tvalid : OUT STD_LOGIC;
|
||||
m_axis_dout_tdata : OUT STD_LOGIC_VECTOR(63 DOWNTO 0)
|
||||
);
|
||||
END cmpy_18x8;
|
||||
|
||||
ARCHITECTURE cmpy_18x8_arch OF cmpy_18x8 IS
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings : STRING;
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings OF cmpy_18x8_arch: ARCHITECTURE IS "yes";
|
||||
COMPONENT cmpy_v6_0_17 IS
|
||||
GENERIC (
|
||||
C_VERBOSITY : INTEGER;
|
||||
C_XDEVICEFAMILY : STRING;
|
||||
C_XDEVICE : STRING;
|
||||
C_A_WIDTH : INTEGER;
|
||||
C_B_WIDTH : INTEGER;
|
||||
C_OUT_WIDTH : INTEGER;
|
||||
C_LATENCY : INTEGER;
|
||||
C_MULT_TYPE : INTEGER;
|
||||
C_OPTIMIZE_GOAL : INTEGER;
|
||||
HAS_NEGATE : INTEGER;
|
||||
SINGLE_OUTPUT : INTEGER;
|
||||
ROUND : INTEGER;
|
||||
USE_DSP_CASCADES : INTEGER;
|
||||
C_THROTTLE_SCHEME : INTEGER;
|
||||
C_HAS_ACLKEN : INTEGER;
|
||||
C_HAS_ARESETN : INTEGER;
|
||||
C_HAS_S_AXIS_A_TUSER : INTEGER;
|
||||
C_HAS_S_AXIS_A_TLAST : INTEGER;
|
||||
C_HAS_S_AXIS_B_TUSER : INTEGER;
|
||||
C_HAS_S_AXIS_B_TLAST : INTEGER;
|
||||
C_HAS_S_AXIS_CTRL_TUSER : INTEGER;
|
||||
C_HAS_S_AXIS_CTRL_TLAST : INTEGER;
|
||||
C_TLAST_RESOLUTION : INTEGER;
|
||||
C_S_AXIS_A_TDATA_WIDTH : INTEGER;
|
||||
C_S_AXIS_A_TUSER_WIDTH : INTEGER;
|
||||
C_S_AXIS_B_TDATA_WIDTH : INTEGER;
|
||||
C_S_AXIS_B_TUSER_WIDTH : INTEGER;
|
||||
C_S_AXIS_CTRL_TDATA_WIDTH : INTEGER;
|
||||
C_S_AXIS_CTRL_TUSER_WIDTH : INTEGER;
|
||||
C_M_AXIS_DOUT_TDATA_WIDTH : INTEGER;
|
||||
C_M_AXIS_DOUT_TUSER_WIDTH : INTEGER
|
||||
);
|
||||
PORT (
|
||||
aclk : IN STD_LOGIC;
|
||||
aclken : IN STD_LOGIC;
|
||||
aresetn : IN STD_LOGIC;
|
||||
s_axis_a_tvalid : IN STD_LOGIC;
|
||||
s_axis_a_tready : OUT STD_LOGIC;
|
||||
s_axis_a_tuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
s_axis_a_tlast : IN STD_LOGIC;
|
||||
s_axis_a_tdata : IN STD_LOGIC_VECTOR(47 DOWNTO 0);
|
||||
s_axis_b_tvalid : IN STD_LOGIC;
|
||||
s_axis_b_tready : OUT STD_LOGIC;
|
||||
s_axis_b_tuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
s_axis_b_tlast : IN STD_LOGIC;
|
||||
s_axis_b_tdata : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
|
||||
s_axis_ctrl_tvalid : IN STD_LOGIC;
|
||||
s_axis_ctrl_tready : OUT STD_LOGIC;
|
||||
s_axis_ctrl_tuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
s_axis_ctrl_tlast : IN STD_LOGIC;
|
||||
s_axis_ctrl_tdata : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
|
||||
m_axis_dout_tvalid : OUT STD_LOGIC;
|
||||
m_axis_dout_tready : IN STD_LOGIC;
|
||||
m_axis_dout_tuser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
m_axis_dout_tlast : OUT STD_LOGIC;
|
||||
m_axis_dout_tdata : OUT STD_LOGIC_VECTOR(63 DOWNTO 0)
|
||||
);
|
||||
END COMPONENT cmpy_v6_0_17;
|
||||
ATTRIBUTE X_INTERFACE_INFO : STRING;
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER : STRING;
|
||||
ATTRIBUTE X_INTERFACE_INFO OF m_axis_dout_tdata: SIGNAL IS "xilinx.com:interface:axis:1.0 M_AXIS_DOUT TDATA";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF m_axis_dout_tvalid: SIGNAL IS "XIL_INTERFACENAME M_AXIS_DOUT, TDATA_NUM_BYTES 8, TDEST_WIDTH 0, TID_WIDTH 0, TUSER_WIDTH 0, HAS_TREADY 0, HAS_TSTRB 0, HAS_TKEEP 0, HAS_TLAST 0, FREQ_HZ 100000000, PHASE 0.000, LAYERED_METADATA undef, INSERT_VIP 0";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF m_axis_dout_tvalid: SIGNAL IS "xilinx.com:interface:axis:1.0 M_AXIS_DOUT TVALID";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF s_axis_b_tdata: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_B TDATA";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF s_axis_b_tvalid: SIGNAL IS "XIL_INTERFACENAME S_AXIS_B, TDATA_NUM_BYTES 2, TDEST_WIDTH 0, TID_WIDTH 0, TUSER_WIDTH 0, HAS_TREADY 0, HAS_TSTRB 0, HAS_TKEEP 0, HAS_TLAST 0, FREQ_HZ 100000000, PHASE 0.000, LAYERED_METADATA undef, INSERT_VIP 0";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF s_axis_b_tvalid: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_B TVALID";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF s_axis_a_tdata: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_A TDATA";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF s_axis_a_tvalid: SIGNAL IS "XIL_INTERFACENAME S_AXIS_A, TDATA_NUM_BYTES 6, TDEST_WIDTH 0, TID_WIDTH 0, TUSER_WIDTH 0, HAS_TREADY 0, HAS_TSTRB 0, HAS_TKEEP 0, HAS_TLAST 0, FREQ_HZ 100000000, PHASE 0.000, LAYERED_METADATA undef, INSERT_VIP 0";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF s_axis_a_tvalid: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_A TVALID";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF aclk: SIGNAL IS "XIL_INTERFACENAME aclk_intf, ASSOCIATED_BUSIF S_AXIS_CTRL:S_AXIS_B:S_AXIS_A:M_AXIS_DOUT, ASSOCIATED_RESET aresetn, ASSOCIATED_CLKEN aclken, FREQ_HZ 10000000, PHASE 0.000, INSERT_VIP 0";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF aclk: SIGNAL IS "xilinx.com:signal:clock:1.0 aclk_intf CLK";
|
||||
BEGIN
|
||||
U0 : cmpy_v6_0_17
|
||||
GENERIC MAP (
|
||||
C_VERBOSITY => 0,
|
||||
C_XDEVICEFAMILY => "kintex7",
|
||||
C_XDEVICE => "xc7k410t",
|
||||
C_A_WIDTH => 18,
|
||||
C_B_WIDTH => 8,
|
||||
C_OUT_WIDTH => 27,
|
||||
C_LATENCY => 6,
|
||||
C_MULT_TYPE => 1,
|
||||
C_OPTIMIZE_GOAL => 0,
|
||||
HAS_NEGATE => 0,
|
||||
SINGLE_OUTPUT => 0,
|
||||
ROUND => 0,
|
||||
USE_DSP_CASCADES => 1,
|
||||
C_THROTTLE_SCHEME => 3,
|
||||
C_HAS_ACLKEN => 0,
|
||||
C_HAS_ARESETN => 0,
|
||||
C_HAS_S_AXIS_A_TUSER => 0,
|
||||
C_HAS_S_AXIS_A_TLAST => 0,
|
||||
C_HAS_S_AXIS_B_TUSER => 0,
|
||||
C_HAS_S_AXIS_B_TLAST => 0,
|
||||
C_HAS_S_AXIS_CTRL_TUSER => 0,
|
||||
C_HAS_S_AXIS_CTRL_TLAST => 0,
|
||||
C_TLAST_RESOLUTION => 0,
|
||||
C_S_AXIS_A_TDATA_WIDTH => 48,
|
||||
C_S_AXIS_A_TUSER_WIDTH => 1,
|
||||
C_S_AXIS_B_TDATA_WIDTH => 16,
|
||||
C_S_AXIS_B_TUSER_WIDTH => 1,
|
||||
C_S_AXIS_CTRL_TDATA_WIDTH => 8,
|
||||
C_S_AXIS_CTRL_TUSER_WIDTH => 1,
|
||||
C_M_AXIS_DOUT_TDATA_WIDTH => 64,
|
||||
C_M_AXIS_DOUT_TUSER_WIDTH => 1
|
||||
)
|
||||
PORT MAP (
|
||||
aclk => aclk,
|
||||
aclken => '1',
|
||||
aresetn => '1',
|
||||
s_axis_a_tvalid => s_axis_a_tvalid,
|
||||
s_axis_a_tuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
s_axis_a_tlast => '0',
|
||||
s_axis_a_tdata => s_axis_a_tdata,
|
||||
s_axis_b_tvalid => s_axis_b_tvalid,
|
||||
s_axis_b_tuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
s_axis_b_tlast => '0',
|
||||
s_axis_b_tdata => s_axis_b_tdata,
|
||||
s_axis_ctrl_tvalid => '0',
|
||||
s_axis_ctrl_tuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
s_axis_ctrl_tlast => '0',
|
||||
s_axis_ctrl_tdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 8)),
|
||||
m_axis_dout_tvalid => m_axis_dout_tvalid,
|
||||
m_axis_dout_tready => '0',
|
||||
m_axis_dout_tdata => m_axis_dout_tdata
|
||||
);
|
||||
END cmpy_18x8_arch;
|
||||
@@ -0,0 +1,69 @@
|
||||
// (c) Copyright 1995-2023 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:dds_compiler:6.0
|
||||
// IP Revision: 18
|
||||
|
||||
// The following must be inserted into your Verilog file for this
|
||||
// core to be instantiated. Change the instance name and port connections
|
||||
// (in parentheses) to your own signal names.
|
||||
|
||||
//----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG
|
||||
dds_32b_8b your_instance_name (
|
||||
.aclk(aclk), // input wire aclk
|
||||
.s_axis_config_tvalid(s_axis_config_tvalid), // input wire s_axis_config_tvalid
|
||||
.s_axis_config_tdata(s_axis_config_tdata), // input wire [31 : 0] s_axis_config_tdata
|
||||
.m_axis_data_tvalid(m_axis_data_tvalid), // output wire m_axis_data_tvalid
|
||||
.m_axis_data_tdata(m_axis_data_tdata) // output wire [15 : 0] m_axis_data_tdata
|
||||
);
|
||||
// INST_TAG_END ------ End INSTANTIATION Template ---------
|
||||
|
||||
// You must compile the wrapper file dds_32b_8b.v when simulating
|
||||
// the core, dds_32b_8b. When compiling the wrapper file, be sure to
|
||||
// reference the Verilog simulation library.
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
-- (c) Copyright 1995-2023 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:dds_compiler:6.0
|
||||
-- IP Revision: 18
|
||||
|
||||
-- The following code must appear in the VHDL architecture header.
|
||||
|
||||
------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG
|
||||
COMPONENT dds_32b_8b
|
||||
PORT (
|
||||
aclk : IN STD_LOGIC;
|
||||
s_axis_config_tvalid : IN STD_LOGIC;
|
||||
s_axis_config_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
||||
m_axis_data_tvalid : OUT STD_LOGIC;
|
||||
m_axis_data_tdata : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)
|
||||
);
|
||||
END COMPONENT;
|
||||
-- COMP_TAG_END ------ End COMPONENT Declaration ------------
|
||||
|
||||
-- The following code must appear in the VHDL architecture
|
||||
-- body. Substitute your own instance name and net names.
|
||||
|
||||
------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG
|
||||
your_instance_name : dds_32b_8b
|
||||
PORT MAP (
|
||||
aclk => aclk,
|
||||
s_axis_config_tvalid => s_axis_config_tvalid,
|
||||
s_axis_config_tdata => s_axis_config_tdata,
|
||||
m_axis_data_tvalid => m_axis_data_tvalid,
|
||||
m_axis_data_tdata => m_axis_data_tdata
|
||||
);
|
||||
-- INST_TAG_END ------ End INSTANTIATION Template ---------
|
||||
|
||||
-- You must compile the wrapper file dds_32b_8b.vhd when simulating
|
||||
-- the core, dds_32b_8b. When compiling the wrapper file, be sure to
|
||||
-- reference the VHDL simulation library.
|
||||
|
||||
+1481
File diff suppressed because it is too large
Load Diff
+1868
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,25 @@
|
||||
// Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
// --------------------------------------------------------------------------------
|
||||
// Tool Version: Vivado v.2019.1.3 (win64) Build 2644227 Wed Sep 4 09:45:24 MDT 2019
|
||||
// Date : Sat Mar 18 23:15:37 2023
|
||||
// Host : JOSH-ASUS-Z690 running 64-bit major release (build 9200)
|
||||
// Command : write_verilog -force -mode synth_stub
|
||||
// D:/vivado-git/modules/xc7k410tffg900-2/tx_qpsk/ip/managed_ip_project/managed_ip_project.runs/dds_32b_8b_synth_1/dds_32b_8b_stub.v
|
||||
// Design : dds_32b_8b
|
||||
// Purpose : Stub declaration of top-level module interface
|
||||
// Device : xc7k410tffg900-2
|
||||
// --------------------------------------------------------------------------------
|
||||
|
||||
// This empty module with port declaration file causes synthesis tools to infer a black box for IP.
|
||||
// The synthesis directives are for Synopsys Synplify support to prevent IO buffer insertion.
|
||||
// Please paste the declaration into a Verilog source file or add the file as an additional source.
|
||||
(* x_core_info = "dds_compiler_v6_0_18,Vivado 2019.1.3" *)
|
||||
module dds_32b_8b(aclk, s_axis_config_tvalid,
|
||||
s_axis_config_tdata, m_axis_data_tvalid, m_axis_data_tdata)
|
||||
/* synthesis syn_black_box black_box_pad_pin="aclk,s_axis_config_tvalid,s_axis_config_tdata[31:0],m_axis_data_tvalid,m_axis_data_tdata[15:0]" */;
|
||||
input aclk;
|
||||
input s_axis_config_tvalid;
|
||||
input [31:0]s_axis_config_tdata;
|
||||
output m_axis_data_tvalid;
|
||||
output [15:0]m_axis_data_tdata;
|
||||
endmodule
|
||||
@@ -0,0 +1,34 @@
|
||||
-- Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- Tool Version: Vivado v.2019.1.3 (win64) Build 2644227 Wed Sep 4 09:45:24 MDT 2019
|
||||
-- Date : Sat Mar 18 23:15:37 2023
|
||||
-- Host : JOSH-ASUS-Z690 running 64-bit major release (build 9200)
|
||||
-- Command : write_vhdl -force -mode synth_stub
|
||||
-- D:/vivado-git/modules/xc7k410tffg900-2/tx_qpsk/ip/managed_ip_project/managed_ip_project.runs/dds_32b_8b_synth_1/dds_32b_8b_stub.vhdl
|
||||
-- Design : dds_32b_8b
|
||||
-- Purpose : Stub declaration of top-level module interface
|
||||
-- Device : xc7k410tffg900-2
|
||||
-- --------------------------------------------------------------------------------
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
|
||||
entity dds_32b_8b is
|
||||
Port (
|
||||
aclk : in STD_LOGIC;
|
||||
s_axis_config_tvalid : in STD_LOGIC;
|
||||
s_axis_config_tdata : in STD_LOGIC_VECTOR ( 31 downto 0 );
|
||||
m_axis_data_tvalid : out STD_LOGIC;
|
||||
m_axis_data_tdata : out STD_LOGIC_VECTOR ( 15 downto 0 )
|
||||
);
|
||||
|
||||
end dds_32b_8b;
|
||||
|
||||
architecture stub of dds_32b_8b is
|
||||
attribute syn_black_box : boolean;
|
||||
attribute black_box_pad_pin : string;
|
||||
attribute syn_black_box of stub : architecture is true;
|
||||
attribute black_box_pad_pin of stub : architecture is "aclk,s_axis_config_tvalid,s_axis_config_tdata[31:0],m_axis_data_tvalid,m_axis_data_tdata[15:0]";
|
||||
attribute x_core_info : string;
|
||||
attribute x_core_info of stub : architecture is "dds_compiler_v6_0_18,Vivado 2019.1.3";
|
||||
begin
|
||||
end;
|
||||
+235
@@ -0,0 +1,235 @@
|
||||
--------------------------------------------------------------------------------
|
||||
-- (c) Copyright 2010 - 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.
|
||||
--------------------------------------------------------------------------------
|
||||
-- Description:
|
||||
-- This is an example testbench for the DDS Compiler IP core.
|
||||
-- The testbench has been generated by Vivado to accompany the IP core
|
||||
-- instance you have generated.
|
||||
--
|
||||
-- This testbench is for demonstration purposes only. See note below for
|
||||
-- instructions on how to use it with your core.
|
||||
--
|
||||
-- See the DDS Compiler product guide for further information
|
||||
-- about this core.
|
||||
--
|
||||
--------------------------------------------------------------------------------
|
||||
-- Using this testbench
|
||||
--
|
||||
-- This testbench instantiates your generated DDS Compiler core
|
||||
-- instance named "dds_32b_8b".
|
||||
--
|
||||
-- Use Vivado's Run Simulation flow to run this testbench. See the Vivado
|
||||
-- documentation for details.
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
use ieee.numeric_std.all;
|
||||
use ieee.math_real.all;
|
||||
|
||||
entity tb_dds_32b_8b is
|
||||
end tb_dds_32b_8b;
|
||||
|
||||
architecture tb of tb_dds_32b_8b is
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Timing constants
|
||||
-----------------------------------------------------------------------
|
||||
constant CLOCK_PERIOD : time := 100 ns;
|
||||
constant T_HOLD : time := 10 ns;
|
||||
constant T_STROBE : time := CLOCK_PERIOD - (1 ns);
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- DUT input signals
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
-- General inputs
|
||||
signal aclk : std_logic := '0'; -- the master clock
|
||||
|
||||
-- Config slave channel signals
|
||||
signal s_axis_config_tvalid : std_logic := '0'; -- payload is valid
|
||||
signal s_axis_config_tdata : std_logic_vector(31 downto 0) := (others => '0'); -- data payload
|
||||
|
||||
-- Data master channel signals
|
||||
signal m_axis_data_tvalid : std_logic := '0'; -- payload is valid
|
||||
signal m_axis_data_tdata : std_logic_vector(15 downto 0) := (others => '0'); -- data payload
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Aliases for AXI channel TDATA and TUSER fields
|
||||
-- These are a convenience for viewing data in a simulator waveform viewer.
|
||||
-- If using ModelSim or Questa, add "-voptargs=+acc=n" to the vsim command
|
||||
-- to prevent the simulator optimizing away these signals.
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
-- Config slave channel alias signals
|
||||
signal s_axis_config_tdata_inc : std_logic_vector(31 downto 0) := (others => '0');
|
||||
|
||||
-- Data master channel alias signals
|
||||
signal m_axis_data_tdata_cosine : std_logic_vector(7 downto 0) := (others => '0');
|
||||
signal m_axis_data_tdata_sine : std_logic_vector(7 downto 0) := (others => '0');
|
||||
|
||||
|
||||
signal end_of_simulation : boolean := false;
|
||||
|
||||
begin
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Instantiate the DUT
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
dut : entity work.dds_32b_8b
|
||||
port map (
|
||||
aclk => aclk
|
||||
,s_axis_config_tvalid => s_axis_config_tvalid
|
||||
,s_axis_config_tdata => s_axis_config_tdata
|
||||
,m_axis_data_tvalid => m_axis_data_tvalid
|
||||
,m_axis_data_tdata => m_axis_data_tdata
|
||||
);
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Generate clock
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
clock_gen : process
|
||||
begin
|
||||
aclk <= '0';
|
||||
if (end_of_simulation) then
|
||||
wait;
|
||||
else
|
||||
wait for CLOCK_PERIOD;
|
||||
loop
|
||||
aclk <= '0';
|
||||
wait for CLOCK_PERIOD/2;
|
||||
aclk <= '1';
|
||||
wait for CLOCK_PERIOD/2;
|
||||
end loop;
|
||||
end if;
|
||||
end process clock_gen;
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Generate inputs
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
stimuli : process
|
||||
begin
|
||||
|
||||
-- Drive inputs T_HOLD time after rising edge of clock
|
||||
wait until rising_edge(aclk);
|
||||
wait for T_HOLD;
|
||||
|
||||
-- Program the core with the initial configuration.
|
||||
-- The phase increment value here is derived from the output frequency value set in the CORE Generator GUI.
|
||||
s_axis_config_tvalid <= '1';
|
||||
s_axis_config_tdata <= (others => '0'); -- set unused TDATA bits to zero
|
||||
s_axis_config_tdata(31 downto 0) <= "00000000000000000000000000000000"; -- phase increment
|
||||
wait for CLOCK_PERIOD;
|
||||
s_axis_config_tvalid <= '0';
|
||||
|
||||
-- Run for long enough to produce 5 periods of outputs
|
||||
wait for CLOCK_PERIOD * 5;
|
||||
|
||||
-- Configure the core with a different configuration:
|
||||
-- set phase increment to half of its current value
|
||||
s_axis_config_tvalid <= '1';
|
||||
s_axis_config_tdata <= (others => '0'); -- set unused TDATA bits to zero
|
||||
s_axis_config_tdata(31 downto 0) <= "00000000000000000000000000000000"; -- current phase increment / 2
|
||||
wait for CLOCK_PERIOD;
|
||||
s_axis_config_tvalid <= '0';
|
||||
|
||||
-- Run for long enough to produce 5 periods of outputs
|
||||
wait for CLOCK_PERIOD * 10;
|
||||
|
||||
-- End of test
|
||||
end_of_simulation <= true;
|
||||
report "Not a real failure. Simulation finished successfully. Test completed successfully" severity failure;
|
||||
wait;
|
||||
|
||||
end process stimuli;
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Check outputs
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
check_outputs : process
|
||||
variable check_ok : boolean := true;
|
||||
begin
|
||||
|
||||
-- Check outputs T_STROBE time after rising edge of clock
|
||||
wait until rising_edge(aclk);
|
||||
wait for T_STROBE;
|
||||
|
||||
-- Do not check the output payload values, as this requires the behavioral model
|
||||
-- which would make this demonstration testbench unwieldy.
|
||||
-- Instead, check the protocol of the data master channel:
|
||||
-- check that the payload is valid (not X) when TVALID is high
|
||||
|
||||
if m_axis_data_tvalid = '1' then
|
||||
if is_x(m_axis_data_tdata) then
|
||||
report "ERROR: m_axis_data_tdata is invalid when m_axis_data_tvalid is high" severity error;
|
||||
check_ok := false;
|
||||
end if;
|
||||
|
||||
end if;
|
||||
|
||||
assert check_ok
|
||||
report "ERROR: terminating test with failures." severity failure;
|
||||
|
||||
end process check_outputs;
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Assign TDATA fields to aliases, for easy simulator waveform viewing
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
-- Config slave channel alias signals
|
||||
s_axis_config_tdata_inc <= s_axis_config_tdata(31 downto 0);
|
||||
|
||||
-- Data master channel alias signals: update these only when they are valid
|
||||
m_axis_data_tdata_cosine <= m_axis_data_tdata(7 downto 0) when m_axis_data_tvalid = '1';
|
||||
m_axis_data_tdata_sine <= m_axis_data_tdata(15 downto 8) when m_axis_data_tvalid = '1';
|
||||
|
||||
end tb;
|
||||
|
||||
@@ -0,0 +1,232 @@
|
||||
-- (c) Copyright 1995-2023 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:dds_compiler:6.0
|
||||
-- IP Revision: 18
|
||||
|
||||
LIBRARY ieee;
|
||||
USE ieee.std_logic_1164.ALL;
|
||||
USE ieee.numeric_std.ALL;
|
||||
|
||||
LIBRARY dds_compiler_v6_0_18;
|
||||
USE dds_compiler_v6_0_18.dds_compiler_v6_0_18;
|
||||
|
||||
ENTITY dds_32b_8b IS
|
||||
PORT (
|
||||
aclk : IN STD_LOGIC;
|
||||
s_axis_config_tvalid : IN STD_LOGIC;
|
||||
s_axis_config_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
||||
m_axis_data_tvalid : OUT STD_LOGIC;
|
||||
m_axis_data_tdata : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)
|
||||
);
|
||||
END dds_32b_8b;
|
||||
|
||||
ARCHITECTURE dds_32b_8b_arch OF dds_32b_8b IS
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings : STRING;
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings OF dds_32b_8b_arch: ARCHITECTURE IS "yes";
|
||||
COMPONENT dds_compiler_v6_0_18 IS
|
||||
GENERIC (
|
||||
C_XDEVICEFAMILY : STRING;
|
||||
C_MODE_OF_OPERATION : INTEGER;
|
||||
C_MODULUS : INTEGER;
|
||||
C_ACCUMULATOR_WIDTH : INTEGER;
|
||||
C_CHANNELS : INTEGER;
|
||||
C_HAS_PHASE_OUT : INTEGER;
|
||||
C_HAS_PHASEGEN : INTEGER;
|
||||
C_HAS_SINCOS : INTEGER;
|
||||
C_LATENCY : INTEGER;
|
||||
C_MEM_TYPE : INTEGER;
|
||||
C_NEGATIVE_COSINE : INTEGER;
|
||||
C_NEGATIVE_SINE : INTEGER;
|
||||
C_NOISE_SHAPING : INTEGER;
|
||||
C_OUTPUTS_REQUIRED : INTEGER;
|
||||
C_OUTPUT_FORM : INTEGER;
|
||||
C_OUTPUT_WIDTH : INTEGER;
|
||||
C_PHASE_ANGLE_WIDTH : INTEGER;
|
||||
C_PHASE_INCREMENT : INTEGER;
|
||||
C_PHASE_INCREMENT_VALUE : STRING;
|
||||
C_RESYNC : INTEGER;
|
||||
C_PHASE_OFFSET : INTEGER;
|
||||
C_PHASE_OFFSET_VALUE : STRING;
|
||||
C_OPTIMISE_GOAL : INTEGER;
|
||||
C_USE_DSP48 : INTEGER;
|
||||
C_POR_MODE : INTEGER;
|
||||
C_AMPLITUDE : INTEGER;
|
||||
C_HAS_ACLKEN : INTEGER;
|
||||
C_HAS_ARESETN : INTEGER;
|
||||
C_HAS_TLAST : INTEGER;
|
||||
C_HAS_TREADY : INTEGER;
|
||||
C_HAS_S_PHASE : INTEGER;
|
||||
C_S_PHASE_TDATA_WIDTH : INTEGER;
|
||||
C_S_PHASE_HAS_TUSER : INTEGER;
|
||||
C_S_PHASE_TUSER_WIDTH : INTEGER;
|
||||
C_HAS_S_CONFIG : INTEGER;
|
||||
C_S_CONFIG_SYNC_MODE : INTEGER;
|
||||
C_S_CONFIG_TDATA_WIDTH : INTEGER;
|
||||
C_HAS_M_DATA : INTEGER;
|
||||
C_M_DATA_TDATA_WIDTH : INTEGER;
|
||||
C_M_DATA_HAS_TUSER : INTEGER;
|
||||
C_M_DATA_TUSER_WIDTH : INTEGER;
|
||||
C_HAS_M_PHASE : INTEGER;
|
||||
C_M_PHASE_TDATA_WIDTH : INTEGER;
|
||||
C_M_PHASE_HAS_TUSER : INTEGER;
|
||||
C_M_PHASE_TUSER_WIDTH : INTEGER;
|
||||
C_DEBUG_INTERFACE : INTEGER;
|
||||
C_CHAN_WIDTH : INTEGER
|
||||
);
|
||||
PORT (
|
||||
aclk : IN STD_LOGIC;
|
||||
aclken : IN STD_LOGIC;
|
||||
aresetn : IN STD_LOGIC;
|
||||
s_axis_phase_tvalid : IN STD_LOGIC;
|
||||
s_axis_phase_tready : OUT STD_LOGIC;
|
||||
s_axis_phase_tdata : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
s_axis_phase_tlast : IN STD_LOGIC;
|
||||
s_axis_phase_tuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
s_axis_config_tvalid : IN STD_LOGIC;
|
||||
s_axis_config_tready : OUT STD_LOGIC;
|
||||
s_axis_config_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
||||
s_axis_config_tlast : IN STD_LOGIC;
|
||||
m_axis_data_tvalid : OUT STD_LOGIC;
|
||||
m_axis_data_tready : IN STD_LOGIC;
|
||||
m_axis_data_tdata : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);
|
||||
m_axis_data_tlast : OUT STD_LOGIC;
|
||||
m_axis_data_tuser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
m_axis_phase_tvalid : OUT STD_LOGIC;
|
||||
m_axis_phase_tready : IN STD_LOGIC;
|
||||
m_axis_phase_tdata : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
m_axis_phase_tlast : OUT STD_LOGIC;
|
||||
m_axis_phase_tuser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
event_pinc_invalid : OUT STD_LOGIC;
|
||||
event_poff_invalid : OUT STD_LOGIC;
|
||||
event_phase_in_invalid : OUT STD_LOGIC;
|
||||
event_s_phase_tlast_missing : OUT STD_LOGIC;
|
||||
event_s_phase_tlast_unexpected : OUT STD_LOGIC;
|
||||
event_s_phase_chanid_incorrect : OUT STD_LOGIC;
|
||||
event_s_config_tlast_missing : OUT STD_LOGIC;
|
||||
event_s_config_tlast_unexpected : OUT STD_LOGIC
|
||||
);
|
||||
END COMPONENT dds_compiler_v6_0_18;
|
||||
ATTRIBUTE X_INTERFACE_INFO : STRING;
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER : STRING;
|
||||
ATTRIBUTE X_INTERFACE_INFO OF m_axis_data_tdata: SIGNAL IS "xilinx.com:interface:axis:1.0 M_AXIS_DATA TDATA";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF m_axis_data_tvalid: SIGNAL IS "XIL_INTERFACENAME M_AXIS_DATA, TDATA_NUM_BYTES 2, TDEST_WIDTH 0, TID_WIDTH 0, TUSER_WIDTH 0, HAS_TREADY 0, HAS_TSTRB 0, HAS_TKEEP 0, HAS_TLAST 0, FREQ_HZ 100000000, PHASE 0.000, LAYERED_METADATA undef, INSERT_VIP 0";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF m_axis_data_tvalid: SIGNAL IS "xilinx.com:interface:axis:1.0 M_AXIS_DATA TVALID";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF s_axis_config_tdata: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_CONFIG TDATA";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF s_axis_config_tvalid: SIGNAL IS "XIL_INTERFACENAME S_AXIS_CONFIG, TDATA_NUM_BYTES 4, TDEST_WIDTH 0, TID_WIDTH 0, TUSER_WIDTH 0, HAS_TREADY 0, HAS_TSTRB 0, HAS_TKEEP 0, HAS_TLAST 0, FREQ_HZ 100000000, PHASE 0.000, LAYERED_METADATA undef, INSERT_VIP 0";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF s_axis_config_tvalid: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_CONFIG TVALID";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF aclk: SIGNAL IS "XIL_INTERFACENAME aclk_intf, ASSOCIATED_BUSIF M_AXIS_PHASE:S_AXIS_CONFIG:M_AXIS_DATA:S_AXIS_PHASE, ASSOCIATED_RESET aresetn, ASSOCIATED_CLKEN aclken, FREQ_HZ 100000000, PHASE 0.000, INSERT_VIP 0";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF aclk: SIGNAL IS "xilinx.com:signal:clock:1.0 aclk_intf CLK";
|
||||
BEGIN
|
||||
U0 : dds_compiler_v6_0_18
|
||||
GENERIC MAP (
|
||||
C_XDEVICEFAMILY => "kintex7",
|
||||
C_MODE_OF_OPERATION => 0,
|
||||
C_MODULUS => 9,
|
||||
C_ACCUMULATOR_WIDTH => 32,
|
||||
C_CHANNELS => 1,
|
||||
C_HAS_PHASE_OUT => 0,
|
||||
C_HAS_PHASEGEN => 1,
|
||||
C_HAS_SINCOS => 1,
|
||||
C_LATENCY => 3,
|
||||
C_MEM_TYPE => 1,
|
||||
C_NEGATIVE_COSINE => 0,
|
||||
C_NEGATIVE_SINE => 0,
|
||||
C_NOISE_SHAPING => 0,
|
||||
C_OUTPUTS_REQUIRED => 2,
|
||||
C_OUTPUT_FORM => 0,
|
||||
C_OUTPUT_WIDTH => 8,
|
||||
C_PHASE_ANGLE_WIDTH => 8,
|
||||
C_PHASE_INCREMENT => 1,
|
||||
C_PHASE_INCREMENT_VALUE => "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
|
||||
C_RESYNC => 0,
|
||||
C_PHASE_OFFSET => 0,
|
||||
C_PHASE_OFFSET_VALUE => "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
|
||||
C_OPTIMISE_GOAL => 0,
|
||||
C_USE_DSP48 => 0,
|
||||
C_POR_MODE => 0,
|
||||
C_AMPLITUDE => 0,
|
||||
C_HAS_ACLKEN => 0,
|
||||
C_HAS_ARESETN => 0,
|
||||
C_HAS_TLAST => 0,
|
||||
C_HAS_TREADY => 0,
|
||||
C_HAS_S_PHASE => 0,
|
||||
C_S_PHASE_TDATA_WIDTH => 1,
|
||||
C_S_PHASE_HAS_TUSER => 0,
|
||||
C_S_PHASE_TUSER_WIDTH => 1,
|
||||
C_HAS_S_CONFIG => 1,
|
||||
C_S_CONFIG_SYNC_MODE => 0,
|
||||
C_S_CONFIG_TDATA_WIDTH => 32,
|
||||
C_HAS_M_DATA => 1,
|
||||
C_M_DATA_TDATA_WIDTH => 16,
|
||||
C_M_DATA_HAS_TUSER => 0,
|
||||
C_M_DATA_TUSER_WIDTH => 1,
|
||||
C_HAS_M_PHASE => 0,
|
||||
C_M_PHASE_TDATA_WIDTH => 1,
|
||||
C_M_PHASE_HAS_TUSER => 0,
|
||||
C_M_PHASE_TUSER_WIDTH => 1,
|
||||
C_DEBUG_INTERFACE => 0,
|
||||
C_CHAN_WIDTH => 1
|
||||
)
|
||||
PORT MAP (
|
||||
aclk => aclk,
|
||||
aclken => '1',
|
||||
aresetn => '1',
|
||||
s_axis_phase_tvalid => '0',
|
||||
s_axis_phase_tdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
s_axis_phase_tlast => '0',
|
||||
s_axis_phase_tuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
s_axis_config_tvalid => s_axis_config_tvalid,
|
||||
s_axis_config_tdata => s_axis_config_tdata,
|
||||
s_axis_config_tlast => '0',
|
||||
m_axis_data_tvalid => m_axis_data_tvalid,
|
||||
m_axis_data_tready => '0',
|
||||
m_axis_data_tdata => m_axis_data_tdata,
|
||||
m_axis_phase_tready => '0'
|
||||
);
|
||||
END dds_32b_8b_arch;
|
||||
@@ -0,0 +1,67 @@
|
||||
// (c) Copyright 1995-2023 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: 3
|
||||
|
||||
// The following must be inserted into your Verilog file for this
|
||||
// core to be instantiated. Change the instance name and port connections
|
||||
// (in parentheses) to your own signal names.
|
||||
|
||||
//----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG
|
||||
hop_rom your_instance_name (
|
||||
.clka(clka), // input wire clka
|
||||
.addra(addra), // input wire [7 : 0] addra
|
||||
.douta(douta) // output wire [31 : 0] douta
|
||||
);
|
||||
// INST_TAG_END ------ End INSTANTIATION Template ---------
|
||||
|
||||
// You must compile the wrapper file hop_rom.v when simulating
|
||||
// the core, hop_rom. When compiling the wrapper file, be sure to
|
||||
// reference the Verilog simulation library.
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
-- (c) Copyright 1995-2023 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: 3
|
||||
|
||||
-- The following code must appear in the VHDL architecture header.
|
||||
|
||||
------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG
|
||||
COMPONENT hop_rom
|
||||
PORT (
|
||||
clka : IN STD_LOGIC;
|
||||
addra : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
|
||||
douta : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
|
||||
);
|
||||
END COMPONENT;
|
||||
-- COMP_TAG_END ------ End COMPONENT Declaration ------------
|
||||
|
||||
-- The following code must appear in the VHDL architecture
|
||||
-- body. Substitute your own instance name and net names.
|
||||
|
||||
------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG
|
||||
your_instance_name : hop_rom
|
||||
PORT MAP (
|
||||
clka => clka,
|
||||
addra => addra,
|
||||
douta => douta
|
||||
);
|
||||
-- INST_TAG_END ------ End INSTANTIATION Template ---------
|
||||
|
||||
-- You must compile the wrapper file hop_rom.vhd when simulating
|
||||
-- the core, hop_rom. When compiling the wrapper file, be sure to
|
||||
-- reference the VHDL simulation library.
|
||||
|
||||
@@ -0,0 +1,749 @@
|
||||
// Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
// --------------------------------------------------------------------------------
|
||||
// Tool Version: Vivado v.2019.1.3 (win64) Build 2644227 Wed Sep 4 09:45:24 MDT 2019
|
||||
// Date : Sat Mar 18 23:15:57 2023
|
||||
// Host : JOSH-ASUS-Z690 running 64-bit major release (build 9200)
|
||||
// Command : write_verilog -force -mode funcsim
|
||||
// D:/vivado-git/modules/xc7k410tffg900-2/tx_qpsk/ip/managed_ip_project/managed_ip_project.runs/hop_rom_synth_1/hop_rom_sim_netlist.v
|
||||
// Design : hop_rom
|
||||
// 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 : xc7k410tffg900-2
|
||||
// --------------------------------------------------------------------------------
|
||||
`timescale 1 ps / 1 ps
|
||||
|
||||
(* CHECK_LICENSE_TYPE = "hop_rom,blk_mem_gen_v8_4_3,{}" *) (* downgradeipidentifiedwarnings = "yes" *) (* x_core_info = "blk_mem_gen_v8_4_3,Vivado 2019.1.3" *)
|
||||
(* NotValidForBitStream *)
|
||||
module hop_rom
|
||||
(clka,
|
||||
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 ADDR" *) input [7:0]addra;
|
||||
(* x_interface_info = "xilinx.com:interface:bram:1.0 BRAM_PORTA DOUT" *) output [31:0]douta;
|
||||
|
||||
wire [7:0]addra;
|
||||
wire clka;
|
||||
wire [31:0]douta;
|
||||
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 [31:0]NLW_U0_doutb_UNCONNECTED;
|
||||
wire [7:0]NLW_U0_rdaddrecc_UNCONNECTED;
|
||||
wire [3:0]NLW_U0_s_axi_bid_UNCONNECTED;
|
||||
wire [1:0]NLW_U0_s_axi_bresp_UNCONNECTED;
|
||||
wire [7:0]NLW_U0_s_axi_rdaddrecc_UNCONNECTED;
|
||||
wire [31: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 = "8" *)
|
||||
(* C_ADDRB_WIDTH = "8" *)
|
||||
(* 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 : 3.375199 mW" *)
|
||||
(* C_FAMILY = "kintex7" *)
|
||||
(* C_HAS_AXI_ID = "0" *)
|
||||
(* C_HAS_ENA = "0" *)
|
||||
(* C_HAS_ENB = "0" *)
|
||||
(* C_HAS_INJECTERR = "0" *)
|
||||
(* C_HAS_MEM_OUTPUT_REGS_A = "0" *)
|
||||
(* 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 = "hop_rom.mem" *)
|
||||
(* C_INIT_FILE_NAME = "hop_rom.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 = "256" *)
|
||||
(* C_READ_DEPTH_B = "256" *)
|
||||
(* C_READ_LATENCY_A = "1" *)
|
||||
(* C_READ_LATENCY_B = "1" *)
|
||||
(* C_READ_WIDTH_A = "32" *)
|
||||
(* C_READ_WIDTH_B = "32" *)
|
||||
(* 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 = "256" *)
|
||||
(* C_WRITE_DEPTH_B = "256" *)
|
||||
(* C_WRITE_MODE_A = "WRITE_FIRST" *)
|
||||
(* C_WRITE_MODE_B = "WRITE_FIRST" *)
|
||||
(* C_WRITE_WIDTH_A = "32" *)
|
||||
(* C_WRITE_WIDTH_B = "32" *)
|
||||
(* C_XDEVICEFAMILY = "kintex7" *)
|
||||
(* downgradeipidentifiedwarnings = "yes" *)
|
||||
hop_rom_blk_mem_gen_v8_4_3 U0
|
||||
(.addra(addra),
|
||||
.addrb({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,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}),
|
||||
.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,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}),
|
||||
.douta(douta),
|
||||
.doutb(NLW_U0_doutb_UNCONNECTED[31:0]),
|
||||
.eccpipece(1'b0),
|
||||
.ena(1'b0),
|
||||
.enb(1'b0),
|
||||
.injectdbiterr(1'b0),
|
||||
.injectsbiterr(1'b0),
|
||||
.rdaddrecc(NLW_U0_rdaddrecc_UNCONNECTED[7: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[7:0]),
|
||||
.s_axi_rdata(NLW_U0_s_axi_rdata_UNCONNECTED[31: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,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_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 hop_rom_blk_mem_gen_generic_cstr
|
||||
(douta,
|
||||
clka,
|
||||
addra);
|
||||
output [31:0]douta;
|
||||
input clka;
|
||||
input [7:0]addra;
|
||||
|
||||
wire [7:0]addra;
|
||||
wire clka;
|
||||
wire [31:0]douta;
|
||||
|
||||
hop_rom_blk_mem_gen_prim_width \ramloop[0].ram.r
|
||||
(.addra(addra),
|
||||
.clka(clka),
|
||||
.douta(douta));
|
||||
endmodule
|
||||
|
||||
(* ORIG_REF_NAME = "blk_mem_gen_prim_width" *)
|
||||
module hop_rom_blk_mem_gen_prim_width
|
||||
(douta,
|
||||
clka,
|
||||
addra);
|
||||
output [31:0]douta;
|
||||
input clka;
|
||||
input [7:0]addra;
|
||||
|
||||
wire [7:0]addra;
|
||||
wire clka;
|
||||
wire [31:0]douta;
|
||||
|
||||
hop_rom_blk_mem_gen_prim_wrapper_init \prim_init.ram
|
||||
(.addra(addra),
|
||||
.clka(clka),
|
||||
.douta(douta));
|
||||
endmodule
|
||||
|
||||
(* ORIG_REF_NAME = "blk_mem_gen_prim_wrapper_init" *)
|
||||
module hop_rom_blk_mem_gen_prim_wrapper_init
|
||||
(douta,
|
||||
clka,
|
||||
addra);
|
||||
output [31:0]douta;
|
||||
input clka;
|
||||
input [7:0]addra;
|
||||
|
||||
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 [7:0]addra;
|
||||
wire clka;
|
||||
wire [31:0]douta;
|
||||
|
||||
(* box_type = "PRIMITIVE" *)
|
||||
RAMB18E1 #(
|
||||
.DOA_REG(0),
|
||||
.DOB_REG(0),
|
||||
.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'h8707070886060607850505068404040583030304820202038101010280000001),
|
||||
.INIT_01(256'h8F0F0F108E0E0E0F8D0D0D0E8C0C0C0D8B0B0B0C8A0A0A0B8909090A88080809),
|
||||
.INIT_02(256'h9717171896161617951515169414141593131314921212139111111290101011),
|
||||
.INIT_03(256'h9F1F1F209E1E1E1F9D1D1D1E9C1C1C1D9B1B1B1C9A1A1A1B9919191A98181819),
|
||||
.INIT_04(256'hA7272728A6262627A5252526A4242425A3232324A2222223A1212122A0202021),
|
||||
.INIT_05(256'hAF2F2F30AE2E2E2FAD2D2D2EAC2C2C2DAB2B2B2CAA2A2A2BA929292AA8282829),
|
||||
.INIT_06(256'hB7373738B6363637B5353536B4343435B3333334B2323233B1313132B0303031),
|
||||
.INIT_07(256'hBF3F3F40BE3E3E3FBD3D3D3EBC3C3C3DBB3B3B3CBA3A3A3BB939393AB8383839),
|
||||
.INIT_08(256'hC7474748C6464647C5454546C4444445C3434344C2424243C1414142C0404041),
|
||||
.INIT_09(256'hCF4F4F50CE4E4E4FCD4D4D4ECC4C4C4DCB4B4B4CCA4A4A4BC949494AC8484849),
|
||||
.INIT_0A(256'hD7575758D6565657D5555556D4545455D3535354D2525253D1515152D0505051),
|
||||
.INIT_0B(256'hDF5F5F60DE5E5E5FDD5D5D5EDC5C5C5DDB5B5B5CDA5A5A5BD959595AD8585859),
|
||||
.INIT_0C(256'hE7676768E6666667E5656566E4646465E3636364E2626263E1616162E0606061),
|
||||
.INIT_0D(256'hEF6F6F70EE6E6E6FED6D6D6EEC6C6C6DEB6B6B6CEA6A6A6BE969696AE8686869),
|
||||
.INIT_0E(256'hF7777778F6767677F5757576F4747475F3737374F2727273F1717172F0707071),
|
||||
.INIT_0F(256'hFF7F7F80FE7E7E7FFD7D7D7EFC7C7C7DFB7B7B7CFA7A7A7BF979797AF8787879),
|
||||
.INIT_10(256'h0787878706868686058585850484848403838383028282820181818100808080),
|
||||
.INIT_11(256'h0F8F8F8F0E8E8E8E0D8D8D8D0C8C8C8C0B8B8B8B0A8A8A8A0989898908888888),
|
||||
.INIT_12(256'h1797979716969696159595951494949413939393129292921191919110909090),
|
||||
.INIT_13(256'h1F9F9F9F1E9E9E9E1D9D9D9D1C9C9C9C1B9B9B9B1A9A9A9A1999999918989898),
|
||||
.INIT_14(256'h27A7A7A726A6A6A625A5A5A524A4A4A423A3A3A322A2A2A221A1A1A120A0A0A0),
|
||||
.INIT_15(256'h2FAFAFAF2EAEAEAE2DADADAD2CACACAC2BABABAB2AAAAAAA29A9A9A928A8A8A8),
|
||||
.INIT_16(256'h37B7B7B736B6B6B635B5B5B534B4B4B433B3B3B332B2B2B231B1B1B130B0B0B0),
|
||||
.INIT_17(256'h3FBFBFBF3EBEBEBE3DBDBDBD3CBCBCBC3BBBBBBB3ABABABA39B9B9B938B8B8B8),
|
||||
.INIT_18(256'h47C7C7C746C6C6C645C5C5C544C4C4C443C3C3C342C2C2C241C1C1C140C0C0C0),
|
||||
.INIT_19(256'h4FCFCFCF4ECECECE4DCDCDCD4CCCCCCC4BCBCBCB4ACACACA49C9C9C948C8C8C8),
|
||||
.INIT_1A(256'h57D7D7D756D6D6D655D5D5D554D4D4D453D3D3D352D2D2D251D1D1D150D0D0D0),
|
||||
.INIT_1B(256'h5FDFDFDF5EDEDEDE5DDDDDDD5CDCDCDC5BDBDBDB5ADADADA59D9D9D958D8D8D8),
|
||||
.INIT_1C(256'h67E7E7E766E6E6E665E5E5E564E4E4E463E3E3E362E2E2E261E1E1E160E0E0E0),
|
||||
.INIT_1D(256'h6FEFEFEF6EEEEEEE6DEDEDED6CECECEC6BEBEBEB6AEAEAEA69E9E9E968E8E8E8),
|
||||
.INIT_1E(256'h77F7F7F776F6F6F675F5F5F574F4F4F473F3F3F372F2F2F271F1F1F170F0F0F0),
|
||||
.INIT_1F(256'h7FFFFFFF7EFEFEFE7DFDFDFD7CFCFCFC7BFBFBFB7AFAFAFA79F9F9F978F8F8F8),
|
||||
.INIT_20(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_21(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_22(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_23(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_24(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_25(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_26(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_27(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_28(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_29(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_2A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_2B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_2C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_2D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_2E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_2F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_30(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.INIT_31(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
||||
.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({1'b0,addra,1'b0,1'b0,1'b0,1'b0,1'b0}),
|
||||
.ADDRBWRADDR({1'b0,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(douta[15:0]),
|
||||
.DOBDO(douta[31:16]),
|
||||
.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(1'b1),
|
||||
.ENBWREN(1'b1),
|
||||
.REGCEAREGCE(1'b0),
|
||||
.REGCEB(1'b0),
|
||||
.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 hop_rom_blk_mem_gen_top
|
||||
(douta,
|
||||
clka,
|
||||
addra);
|
||||
output [31:0]douta;
|
||||
input clka;
|
||||
input [7:0]addra;
|
||||
|
||||
wire [7:0]addra;
|
||||
wire clka;
|
||||
wire [31:0]douta;
|
||||
|
||||
hop_rom_blk_mem_gen_generic_cstr \valid.cstr
|
||||
(.addra(addra),
|
||||
.clka(clka),
|
||||
.douta(douta));
|
||||
endmodule
|
||||
|
||||
(* C_ADDRA_WIDTH = "8" *) (* C_ADDRB_WIDTH = "8" *) (* 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 : 3.375199 mW" *)
|
||||
(* C_FAMILY = "kintex7" *) (* C_HAS_AXI_ID = "0" *) (* C_HAS_ENA = "0" *)
|
||||
(* C_HAS_ENB = "0" *) (* C_HAS_INJECTERR = "0" *) (* C_HAS_MEM_OUTPUT_REGS_A = "0" *)
|
||||
(* 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 = "hop_rom.mem" *)
|
||||
(* C_INIT_FILE_NAME = "hop_rom.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 = "256" *) (* C_READ_DEPTH_B = "256" *) (* C_READ_LATENCY_A = "1" *)
|
||||
(* C_READ_LATENCY_B = "1" *) (* C_READ_WIDTH_A = "32" *) (* C_READ_WIDTH_B = "32" *)
|
||||
(* 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 = "256" *)
|
||||
(* C_WRITE_DEPTH_B = "256" *) (* C_WRITE_MODE_A = "WRITE_FIRST" *) (* C_WRITE_MODE_B = "WRITE_FIRST" *)
|
||||
(* C_WRITE_WIDTH_A = "32" *) (* C_WRITE_WIDTH_B = "32" *) (* C_XDEVICEFAMILY = "kintex7" *)
|
||||
(* ORIG_REF_NAME = "blk_mem_gen_v8_4_3" *) (* downgradeipidentifiedwarnings = "yes" *)
|
||||
module hop_rom_blk_mem_gen_v8_4_3
|
||||
(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 [7:0]addra;
|
||||
input [31:0]dina;
|
||||
output [31:0]douta;
|
||||
input clkb;
|
||||
input rstb;
|
||||
input enb;
|
||||
input regceb;
|
||||
input [0:0]web;
|
||||
input [7:0]addrb;
|
||||
input [31:0]dinb;
|
||||
output [31:0]doutb;
|
||||
input injectsbiterr;
|
||||
input injectdbiterr;
|
||||
input eccpipece;
|
||||
output sbiterr;
|
||||
output dbiterr;
|
||||
output [7: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 [31: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 [31: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 [7:0]s_axi_rdaddrecc;
|
||||
|
||||
wire \<const0> ;
|
||||
wire [7:0]addra;
|
||||
wire clka;
|
||||
wire [31:0]douta;
|
||||
|
||||
assign dbiterr = \<const0> ;
|
||||
assign doutb[31] = \<const0> ;
|
||||
assign doutb[30] = \<const0> ;
|
||||
assign doutb[29] = \<const0> ;
|
||||
assign doutb[28] = \<const0> ;
|
||||
assign doutb[27] = \<const0> ;
|
||||
assign doutb[26] = \<const0> ;
|
||||
assign doutb[25] = \<const0> ;
|
||||
assign doutb[24] = \<const0> ;
|
||||
assign doutb[23] = \<const0> ;
|
||||
assign doutb[22] = \<const0> ;
|
||||
assign doutb[21] = \<const0> ;
|
||||
assign doutb[20] = \<const0> ;
|
||||
assign doutb[19] = \<const0> ;
|
||||
assign doutb[18] = \<const0> ;
|
||||
assign doutb[17] = \<const0> ;
|
||||
assign doutb[16] = \<const0> ;
|
||||
assign doutb[15] = \<const0> ;
|
||||
assign doutb[14] = \<const0> ;
|
||||
assign doutb[13] = \<const0> ;
|
||||
assign doutb[12] = \<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[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[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[31] = \<const0> ;
|
||||
assign s_axi_rdata[30] = \<const0> ;
|
||||
assign s_axi_rdata[29] = \<const0> ;
|
||||
assign s_axi_rdata[28] = \<const0> ;
|
||||
assign s_axi_rdata[27] = \<const0> ;
|
||||
assign s_axi_rdata[26] = \<const0> ;
|
||||
assign s_axi_rdata[25] = \<const0> ;
|
||||
assign s_axi_rdata[24] = \<const0> ;
|
||||
assign s_axi_rdata[23] = \<const0> ;
|
||||
assign s_axi_rdata[22] = \<const0> ;
|
||||
assign s_axi_rdata[21] = \<const0> ;
|
||||
assign s_axi_rdata[20] = \<const0> ;
|
||||
assign s_axi_rdata[19] = \<const0> ;
|
||||
assign s_axi_rdata[18] = \<const0> ;
|
||||
assign s_axi_rdata[17] = \<const0> ;
|
||||
assign s_axi_rdata[16] = \<const0> ;
|
||||
assign s_axi_rdata[15] = \<const0> ;
|
||||
assign s_axi_rdata[14] = \<const0> ;
|
||||
assign s_axi_rdata[13] = \<const0> ;
|
||||
assign s_axi_rdata[12] = \<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> ));
|
||||
hop_rom_blk_mem_gen_v8_4_3_synth inst_blk_mem_gen
|
||||
(.addra(addra),
|
||||
.clka(clka),
|
||||
.douta(douta));
|
||||
endmodule
|
||||
|
||||
(* ORIG_REF_NAME = "blk_mem_gen_v8_4_3_synth" *)
|
||||
module hop_rom_blk_mem_gen_v8_4_3_synth
|
||||
(douta,
|
||||
clka,
|
||||
addra);
|
||||
output [31:0]douta;
|
||||
input clka;
|
||||
input [7:0]addra;
|
||||
|
||||
wire [7:0]addra;
|
||||
wire clka;
|
||||
wire [31:0]douta;
|
||||
|
||||
hop_rom_blk_mem_gen_top \gnbram.gnativebmg.native_blk_mem_gen
|
||||
(.addra(addra),
|
||||
.clka(clka),
|
||||
.douta(douta));
|
||||
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
|
||||
+869
@@ -0,0 +1,869 @@
|
||||
-- Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- Tool Version: Vivado v.2019.1.3 (win64) Build 2644227 Wed Sep 4 09:45:24 MDT 2019
|
||||
-- Date : Sat Mar 18 23:15:57 2023
|
||||
-- Host : JOSH-ASUS-Z690 running 64-bit major release (build 9200)
|
||||
-- Command : write_vhdl -force -mode funcsim
|
||||
-- D:/vivado-git/modules/xc7k410tffg900-2/tx_qpsk/ip/managed_ip_project/managed_ip_project.runs/hop_rom_synth_1/hop_rom_sim_netlist.vhdl
|
||||
-- Design : hop_rom
|
||||
-- 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 : xc7k410tffg900-2
|
||||
-- --------------------------------------------------------------------------------
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity hop_rom_blk_mem_gen_prim_wrapper_init is
|
||||
port (
|
||||
douta : out STD_LOGIC_VECTOR ( 31 downto 0 );
|
||||
clka : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 7 downto 0 )
|
||||
);
|
||||
attribute ORIG_REF_NAME : string;
|
||||
attribute ORIG_REF_NAME of hop_rom_blk_mem_gen_prim_wrapper_init : entity is "blk_mem_gen_prim_wrapper_init";
|
||||
end hop_rom_blk_mem_gen_prim_wrapper_init;
|
||||
|
||||
architecture STRUCTURE of hop_rom_blk_mem_gen_prim_wrapper_init is
|
||||
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;
|
||||
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 => 0,
|
||||
DOB_REG => 0,
|
||||
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"8707070886060607850505068404040583030304820202038101010280000001",
|
||||
INIT_01 => X"8F0F0F108E0E0E0F8D0D0D0E8C0C0C0D8B0B0B0C8A0A0A0B8909090A88080809",
|
||||
INIT_02 => X"9717171896161617951515169414141593131314921212139111111290101011",
|
||||
INIT_03 => X"9F1F1F209E1E1E1F9D1D1D1E9C1C1C1D9B1B1B1C9A1A1A1B9919191A98181819",
|
||||
INIT_04 => X"A7272728A6262627A5252526A4242425A3232324A2222223A1212122A0202021",
|
||||
INIT_05 => X"AF2F2F30AE2E2E2FAD2D2D2EAC2C2C2DAB2B2B2CAA2A2A2BA929292AA8282829",
|
||||
INIT_06 => X"B7373738B6363637B5353536B4343435B3333334B2323233B1313132B0303031",
|
||||
INIT_07 => X"BF3F3F40BE3E3E3FBD3D3D3EBC3C3C3DBB3B3B3CBA3A3A3BB939393AB8383839",
|
||||
INIT_08 => X"C7474748C6464647C5454546C4444445C3434344C2424243C1414142C0404041",
|
||||
INIT_09 => X"CF4F4F50CE4E4E4FCD4D4D4ECC4C4C4DCB4B4B4CCA4A4A4BC949494AC8484849",
|
||||
INIT_0A => X"D7575758D6565657D5555556D4545455D3535354D2525253D1515152D0505051",
|
||||
INIT_0B => X"DF5F5F60DE5E5E5FDD5D5D5EDC5C5C5DDB5B5B5CDA5A5A5BD959595AD8585859",
|
||||
INIT_0C => X"E7676768E6666667E5656566E4646465E3636364E2626263E1616162E0606061",
|
||||
INIT_0D => X"EF6F6F70EE6E6E6FED6D6D6EEC6C6C6DEB6B6B6CEA6A6A6BE969696AE8686869",
|
||||
INIT_0E => X"F7777778F6767677F5757576F4747475F3737374F2727273F1717172F0707071",
|
||||
INIT_0F => X"FF7F7F80FE7E7E7FFD7D7D7EFC7C7C7DFB7B7B7CFA7A7A7BF979797AF8787879",
|
||||
INIT_10 => X"0787878706868686058585850484848403838383028282820181818100808080",
|
||||
INIT_11 => X"0F8F8F8F0E8E8E8E0D8D8D8D0C8C8C8C0B8B8B8B0A8A8A8A0989898908888888",
|
||||
INIT_12 => X"1797979716969696159595951494949413939393129292921191919110909090",
|
||||
INIT_13 => X"1F9F9F9F1E9E9E9E1D9D9D9D1C9C9C9C1B9B9B9B1A9A9A9A1999999918989898",
|
||||
INIT_14 => X"27A7A7A726A6A6A625A5A5A524A4A4A423A3A3A322A2A2A221A1A1A120A0A0A0",
|
||||
INIT_15 => X"2FAFAFAF2EAEAEAE2DADADAD2CACACAC2BABABAB2AAAAAAA29A9A9A928A8A8A8",
|
||||
INIT_16 => X"37B7B7B736B6B6B635B5B5B534B4B4B433B3B3B332B2B2B231B1B1B130B0B0B0",
|
||||
INIT_17 => X"3FBFBFBF3EBEBEBE3DBDBDBD3CBCBCBC3BBBBBBB3ABABABA39B9B9B938B8B8B8",
|
||||
INIT_18 => X"47C7C7C746C6C6C645C5C5C544C4C4C443C3C3C342C2C2C241C1C1C140C0C0C0",
|
||||
INIT_19 => X"4FCFCFCF4ECECECE4DCDCDCD4CCCCCCC4BCBCBCB4ACACACA49C9C9C948C8C8C8",
|
||||
INIT_1A => X"57D7D7D756D6D6D655D5D5D554D4D4D453D3D3D352D2D2D251D1D1D150D0D0D0",
|
||||
INIT_1B => X"5FDFDFDF5EDEDEDE5DDDDDDD5CDCDCDC5BDBDBDB5ADADADA59D9D9D958D8D8D8",
|
||||
INIT_1C => X"67E7E7E766E6E6E665E5E5E564E4E4E463E3E3E362E2E2E261E1E1E160E0E0E0",
|
||||
INIT_1D => X"6FEFEFEF6EEEEEEE6DEDEDED6CECECEC6BEBEBEB6AEAEAEA69E9E9E968E8E8E8",
|
||||
INIT_1E => X"77F7F7F776F6F6F675F5F5F574F4F4F473F3F3F372F2F2F271F1F1F170F0F0F0",
|
||||
INIT_1F => X"7FFFFFFF7EFEFEFE7DFDFDFD7CFCFCFC7BFBFBFB7AFAFAFA79F9F9F978F8F8F8",
|
||||
INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",
|
||||
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) => '0',
|
||||
ADDRARDADDR(12 downto 5) => addra(7 downto 0),
|
||||
ADDRARDADDR(4 downto 0) => B"00000",
|
||||
ADDRBWRADDR(13) => '0',
|
||||
ADDRBWRADDR(12 downto 5) => addra(7 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 downto 0) => douta(15 downto 0),
|
||||
DOBDO(15 downto 0) => douta(31 downto 16),
|
||||
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 => '1',
|
||||
ENBWREN => '1',
|
||||
REGCEAREGCE => '0',
|
||||
REGCEB => '0',
|
||||
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 hop_rom_blk_mem_gen_prim_width is
|
||||
port (
|
||||
douta : out STD_LOGIC_VECTOR ( 31 downto 0 );
|
||||
clka : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 7 downto 0 )
|
||||
);
|
||||
attribute ORIG_REF_NAME : string;
|
||||
attribute ORIG_REF_NAME of hop_rom_blk_mem_gen_prim_width : entity is "blk_mem_gen_prim_width";
|
||||
end hop_rom_blk_mem_gen_prim_width;
|
||||
|
||||
architecture STRUCTURE of hop_rom_blk_mem_gen_prim_width is
|
||||
begin
|
||||
\prim_init.ram\: entity work.hop_rom_blk_mem_gen_prim_wrapper_init
|
||||
port map (
|
||||
addra(7 downto 0) => addra(7 downto 0),
|
||||
clka => clka,
|
||||
douta(31 downto 0) => douta(31 downto 0)
|
||||
);
|
||||
end STRUCTURE;
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity hop_rom_blk_mem_gen_generic_cstr is
|
||||
port (
|
||||
douta : out STD_LOGIC_VECTOR ( 31 downto 0 );
|
||||
clka : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 7 downto 0 )
|
||||
);
|
||||
attribute ORIG_REF_NAME : string;
|
||||
attribute ORIG_REF_NAME of hop_rom_blk_mem_gen_generic_cstr : entity is "blk_mem_gen_generic_cstr";
|
||||
end hop_rom_blk_mem_gen_generic_cstr;
|
||||
|
||||
architecture STRUCTURE of hop_rom_blk_mem_gen_generic_cstr is
|
||||
begin
|
||||
\ramloop[0].ram.r\: entity work.hop_rom_blk_mem_gen_prim_width
|
||||
port map (
|
||||
addra(7 downto 0) => addra(7 downto 0),
|
||||
clka => clka,
|
||||
douta(31 downto 0) => douta(31 downto 0)
|
||||
);
|
||||
end STRUCTURE;
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity hop_rom_blk_mem_gen_top is
|
||||
port (
|
||||
douta : out STD_LOGIC_VECTOR ( 31 downto 0 );
|
||||
clka : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 7 downto 0 )
|
||||
);
|
||||
attribute ORIG_REF_NAME : string;
|
||||
attribute ORIG_REF_NAME of hop_rom_blk_mem_gen_top : entity is "blk_mem_gen_top";
|
||||
end hop_rom_blk_mem_gen_top;
|
||||
|
||||
architecture STRUCTURE of hop_rom_blk_mem_gen_top is
|
||||
begin
|
||||
\valid.cstr\: entity work.hop_rom_blk_mem_gen_generic_cstr
|
||||
port map (
|
||||
addra(7 downto 0) => addra(7 downto 0),
|
||||
clka => clka,
|
||||
douta(31 downto 0) => douta(31 downto 0)
|
||||
);
|
||||
end STRUCTURE;
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity hop_rom_blk_mem_gen_v8_4_3_synth is
|
||||
port (
|
||||
douta : out STD_LOGIC_VECTOR ( 31 downto 0 );
|
||||
clka : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 7 downto 0 )
|
||||
);
|
||||
attribute ORIG_REF_NAME : string;
|
||||
attribute ORIG_REF_NAME of hop_rom_blk_mem_gen_v8_4_3_synth : entity is "blk_mem_gen_v8_4_3_synth";
|
||||
end hop_rom_blk_mem_gen_v8_4_3_synth;
|
||||
|
||||
architecture STRUCTURE of hop_rom_blk_mem_gen_v8_4_3_synth is
|
||||
begin
|
||||
\gnbram.gnativebmg.native_blk_mem_gen\: entity work.hop_rom_blk_mem_gen_top
|
||||
port map (
|
||||
addra(7 downto 0) => addra(7 downto 0),
|
||||
clka => clka,
|
||||
douta(31 downto 0) => douta(31 downto 0)
|
||||
);
|
||||
end STRUCTURE;
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity hop_rom_blk_mem_gen_v8_4_3 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 ( 7 downto 0 );
|
||||
dina : in STD_LOGIC_VECTOR ( 31 downto 0 );
|
||||
douta : out STD_LOGIC_VECTOR ( 31 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 ( 7 downto 0 );
|
||||
dinb : in STD_LOGIC_VECTOR ( 31 downto 0 );
|
||||
doutb : out STD_LOGIC_VECTOR ( 31 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 ( 7 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 ( 31 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 ( 31 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 ( 7 downto 0 )
|
||||
);
|
||||
attribute C_ADDRA_WIDTH : integer;
|
||||
attribute C_ADDRA_WIDTH of hop_rom_blk_mem_gen_v8_4_3 : entity is 8;
|
||||
attribute C_ADDRB_WIDTH : integer;
|
||||
attribute C_ADDRB_WIDTH of hop_rom_blk_mem_gen_v8_4_3 : entity is 8;
|
||||
attribute C_ALGORITHM : integer;
|
||||
attribute C_ALGORITHM of hop_rom_blk_mem_gen_v8_4_3 : entity is 1;
|
||||
attribute C_AXI_ID_WIDTH : integer;
|
||||
attribute C_AXI_ID_WIDTH of hop_rom_blk_mem_gen_v8_4_3 : entity is 4;
|
||||
attribute C_AXI_SLAVE_TYPE : integer;
|
||||
attribute C_AXI_SLAVE_TYPE of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_AXI_TYPE : integer;
|
||||
attribute C_AXI_TYPE of hop_rom_blk_mem_gen_v8_4_3 : entity is 1;
|
||||
attribute C_BYTE_SIZE : integer;
|
||||
attribute C_BYTE_SIZE of hop_rom_blk_mem_gen_v8_4_3 : entity is 9;
|
||||
attribute C_COMMON_CLK : integer;
|
||||
attribute C_COMMON_CLK of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_COUNT_18K_BRAM : string;
|
||||
attribute C_COUNT_18K_BRAM of hop_rom_blk_mem_gen_v8_4_3 : entity is "1";
|
||||
attribute C_COUNT_36K_BRAM : string;
|
||||
attribute C_COUNT_36K_BRAM of hop_rom_blk_mem_gen_v8_4_3 : entity is "0";
|
||||
attribute C_CTRL_ECC_ALGO : string;
|
||||
attribute C_CTRL_ECC_ALGO of hop_rom_blk_mem_gen_v8_4_3 : entity is "NONE";
|
||||
attribute C_DEFAULT_DATA : string;
|
||||
attribute C_DEFAULT_DATA of hop_rom_blk_mem_gen_v8_4_3 : entity is "0";
|
||||
attribute C_DISABLE_WARN_BHV_COLL : integer;
|
||||
attribute C_DISABLE_WARN_BHV_COLL of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_DISABLE_WARN_BHV_RANGE : integer;
|
||||
attribute C_DISABLE_WARN_BHV_RANGE of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_ELABORATION_DIR : string;
|
||||
attribute C_ELABORATION_DIR of hop_rom_blk_mem_gen_v8_4_3 : entity is "./";
|
||||
attribute C_ENABLE_32BIT_ADDRESS : integer;
|
||||
attribute C_ENABLE_32BIT_ADDRESS of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_EN_DEEPSLEEP_PIN : integer;
|
||||
attribute C_EN_DEEPSLEEP_PIN of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_EN_ECC_PIPE : integer;
|
||||
attribute C_EN_ECC_PIPE of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_EN_RDADDRA_CHG : integer;
|
||||
attribute C_EN_RDADDRA_CHG of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_EN_RDADDRB_CHG : integer;
|
||||
attribute C_EN_RDADDRB_CHG of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_EN_SAFETY_CKT : integer;
|
||||
attribute C_EN_SAFETY_CKT of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_EN_SHUTDOWN_PIN : integer;
|
||||
attribute C_EN_SHUTDOWN_PIN of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_EN_SLEEP_PIN : integer;
|
||||
attribute C_EN_SLEEP_PIN of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_EST_POWER_SUMMARY : string;
|
||||
attribute C_EST_POWER_SUMMARY of hop_rom_blk_mem_gen_v8_4_3 : entity is "Estimated Power for IP : 3.375199 mW";
|
||||
attribute C_FAMILY : string;
|
||||
attribute C_FAMILY of hop_rom_blk_mem_gen_v8_4_3 : entity is "kintex7";
|
||||
attribute C_HAS_AXI_ID : integer;
|
||||
attribute C_HAS_AXI_ID of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_ENA : integer;
|
||||
attribute C_HAS_ENA of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_ENB : integer;
|
||||
attribute C_HAS_ENB of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_INJECTERR : integer;
|
||||
attribute C_HAS_INJECTERR of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_MEM_OUTPUT_REGS_A : integer;
|
||||
attribute C_HAS_MEM_OUTPUT_REGS_A of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_MEM_OUTPUT_REGS_B : integer;
|
||||
attribute C_HAS_MEM_OUTPUT_REGS_B of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_MUX_OUTPUT_REGS_A : integer;
|
||||
attribute C_HAS_MUX_OUTPUT_REGS_A of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_MUX_OUTPUT_REGS_B : integer;
|
||||
attribute C_HAS_MUX_OUTPUT_REGS_B of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_REGCEA : integer;
|
||||
attribute C_HAS_REGCEA of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_REGCEB : integer;
|
||||
attribute C_HAS_REGCEB of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_RSTA : integer;
|
||||
attribute C_HAS_RSTA of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_RSTB : integer;
|
||||
attribute C_HAS_RSTB of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_SOFTECC_INPUT_REGS_A : integer;
|
||||
attribute C_HAS_SOFTECC_INPUT_REGS_A of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_HAS_SOFTECC_OUTPUT_REGS_B : integer;
|
||||
attribute C_HAS_SOFTECC_OUTPUT_REGS_B of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_INITA_VAL : string;
|
||||
attribute C_INITA_VAL of hop_rom_blk_mem_gen_v8_4_3 : entity is "0";
|
||||
attribute C_INITB_VAL : string;
|
||||
attribute C_INITB_VAL of hop_rom_blk_mem_gen_v8_4_3 : entity is "0";
|
||||
attribute C_INIT_FILE : string;
|
||||
attribute C_INIT_FILE of hop_rom_blk_mem_gen_v8_4_3 : entity is "hop_rom.mem";
|
||||
attribute C_INIT_FILE_NAME : string;
|
||||
attribute C_INIT_FILE_NAME of hop_rom_blk_mem_gen_v8_4_3 : entity is "hop_rom.mif";
|
||||
attribute C_INTERFACE_TYPE : integer;
|
||||
attribute C_INTERFACE_TYPE of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_LOAD_INIT_FILE : integer;
|
||||
attribute C_LOAD_INIT_FILE of hop_rom_blk_mem_gen_v8_4_3 : entity is 1;
|
||||
attribute C_MEM_TYPE : integer;
|
||||
attribute C_MEM_TYPE of hop_rom_blk_mem_gen_v8_4_3 : entity is 3;
|
||||
attribute C_MUX_PIPELINE_STAGES : integer;
|
||||
attribute C_MUX_PIPELINE_STAGES of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_PRIM_TYPE : integer;
|
||||
attribute C_PRIM_TYPE of hop_rom_blk_mem_gen_v8_4_3 : entity is 1;
|
||||
attribute C_READ_DEPTH_A : integer;
|
||||
attribute C_READ_DEPTH_A of hop_rom_blk_mem_gen_v8_4_3 : entity is 256;
|
||||
attribute C_READ_DEPTH_B : integer;
|
||||
attribute C_READ_DEPTH_B of hop_rom_blk_mem_gen_v8_4_3 : entity is 256;
|
||||
attribute C_READ_LATENCY_A : integer;
|
||||
attribute C_READ_LATENCY_A of hop_rom_blk_mem_gen_v8_4_3 : entity is 1;
|
||||
attribute C_READ_LATENCY_B : integer;
|
||||
attribute C_READ_LATENCY_B of hop_rom_blk_mem_gen_v8_4_3 : entity is 1;
|
||||
attribute C_READ_WIDTH_A : integer;
|
||||
attribute C_READ_WIDTH_A of hop_rom_blk_mem_gen_v8_4_3 : entity is 32;
|
||||
attribute C_READ_WIDTH_B : integer;
|
||||
attribute C_READ_WIDTH_B of hop_rom_blk_mem_gen_v8_4_3 : entity is 32;
|
||||
attribute C_RSTRAM_A : integer;
|
||||
attribute C_RSTRAM_A of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_RSTRAM_B : integer;
|
||||
attribute C_RSTRAM_B of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_RST_PRIORITY_A : string;
|
||||
attribute C_RST_PRIORITY_A of hop_rom_blk_mem_gen_v8_4_3 : entity is "CE";
|
||||
attribute C_RST_PRIORITY_B : string;
|
||||
attribute C_RST_PRIORITY_B of hop_rom_blk_mem_gen_v8_4_3 : entity is "CE";
|
||||
attribute C_SIM_COLLISION_CHECK : string;
|
||||
attribute C_SIM_COLLISION_CHECK of hop_rom_blk_mem_gen_v8_4_3 : entity is "ALL";
|
||||
attribute C_USE_BRAM_BLOCK : integer;
|
||||
attribute C_USE_BRAM_BLOCK of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_USE_BYTE_WEA : integer;
|
||||
attribute C_USE_BYTE_WEA of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_USE_BYTE_WEB : integer;
|
||||
attribute C_USE_BYTE_WEB of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_USE_DEFAULT_DATA : integer;
|
||||
attribute C_USE_DEFAULT_DATA of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_USE_ECC : integer;
|
||||
attribute C_USE_ECC of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_USE_SOFTECC : integer;
|
||||
attribute C_USE_SOFTECC of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_USE_URAM : integer;
|
||||
attribute C_USE_URAM of hop_rom_blk_mem_gen_v8_4_3 : entity is 0;
|
||||
attribute C_WEA_WIDTH : integer;
|
||||
attribute C_WEA_WIDTH of hop_rom_blk_mem_gen_v8_4_3 : entity is 1;
|
||||
attribute C_WEB_WIDTH : integer;
|
||||
attribute C_WEB_WIDTH of hop_rom_blk_mem_gen_v8_4_3 : entity is 1;
|
||||
attribute C_WRITE_DEPTH_A : integer;
|
||||
attribute C_WRITE_DEPTH_A of hop_rom_blk_mem_gen_v8_4_3 : entity is 256;
|
||||
attribute C_WRITE_DEPTH_B : integer;
|
||||
attribute C_WRITE_DEPTH_B of hop_rom_blk_mem_gen_v8_4_3 : entity is 256;
|
||||
attribute C_WRITE_MODE_A : string;
|
||||
attribute C_WRITE_MODE_A of hop_rom_blk_mem_gen_v8_4_3 : entity is "WRITE_FIRST";
|
||||
attribute C_WRITE_MODE_B : string;
|
||||
attribute C_WRITE_MODE_B of hop_rom_blk_mem_gen_v8_4_3 : entity is "WRITE_FIRST";
|
||||
attribute C_WRITE_WIDTH_A : integer;
|
||||
attribute C_WRITE_WIDTH_A of hop_rom_blk_mem_gen_v8_4_3 : entity is 32;
|
||||
attribute C_WRITE_WIDTH_B : integer;
|
||||
attribute C_WRITE_WIDTH_B of hop_rom_blk_mem_gen_v8_4_3 : entity is 32;
|
||||
attribute C_XDEVICEFAMILY : string;
|
||||
attribute C_XDEVICEFAMILY of hop_rom_blk_mem_gen_v8_4_3 : entity is "kintex7";
|
||||
attribute ORIG_REF_NAME : string;
|
||||
attribute ORIG_REF_NAME of hop_rom_blk_mem_gen_v8_4_3 : entity is "blk_mem_gen_v8_4_3";
|
||||
attribute downgradeipidentifiedwarnings : string;
|
||||
attribute downgradeipidentifiedwarnings of hop_rom_blk_mem_gen_v8_4_3 : entity is "yes";
|
||||
end hop_rom_blk_mem_gen_v8_4_3;
|
||||
|
||||
architecture STRUCTURE of hop_rom_blk_mem_gen_v8_4_3 is
|
||||
signal \<const0>\ : STD_LOGIC;
|
||||
begin
|
||||
dbiterr <= \<const0>\;
|
||||
doutb(31) <= \<const0>\;
|
||||
doutb(30) <= \<const0>\;
|
||||
doutb(29) <= \<const0>\;
|
||||
doutb(28) <= \<const0>\;
|
||||
doutb(27) <= \<const0>\;
|
||||
doutb(26) <= \<const0>\;
|
||||
doutb(25) <= \<const0>\;
|
||||
doutb(24) <= \<const0>\;
|
||||
doutb(23) <= \<const0>\;
|
||||
doutb(22) <= \<const0>\;
|
||||
doutb(21) <= \<const0>\;
|
||||
doutb(20) <= \<const0>\;
|
||||
doutb(19) <= \<const0>\;
|
||||
doutb(18) <= \<const0>\;
|
||||
doutb(17) <= \<const0>\;
|
||||
doutb(16) <= \<const0>\;
|
||||
doutb(15) <= \<const0>\;
|
||||
doutb(14) <= \<const0>\;
|
||||
doutb(13) <= \<const0>\;
|
||||
doutb(12) <= \<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(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(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(31) <= \<const0>\;
|
||||
s_axi_rdata(30) <= \<const0>\;
|
||||
s_axi_rdata(29) <= \<const0>\;
|
||||
s_axi_rdata(28) <= \<const0>\;
|
||||
s_axi_rdata(27) <= \<const0>\;
|
||||
s_axi_rdata(26) <= \<const0>\;
|
||||
s_axi_rdata(25) <= \<const0>\;
|
||||
s_axi_rdata(24) <= \<const0>\;
|
||||
s_axi_rdata(23) <= \<const0>\;
|
||||
s_axi_rdata(22) <= \<const0>\;
|
||||
s_axi_rdata(21) <= \<const0>\;
|
||||
s_axi_rdata(20) <= \<const0>\;
|
||||
s_axi_rdata(19) <= \<const0>\;
|
||||
s_axi_rdata(18) <= \<const0>\;
|
||||
s_axi_rdata(17) <= \<const0>\;
|
||||
s_axi_rdata(16) <= \<const0>\;
|
||||
s_axi_rdata(15) <= \<const0>\;
|
||||
s_axi_rdata(14) <= \<const0>\;
|
||||
s_axi_rdata(13) <= \<const0>\;
|
||||
s_axi_rdata(12) <= \<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.hop_rom_blk_mem_gen_v8_4_3_synth
|
||||
port map (
|
||||
addra(7 downto 0) => addra(7 downto 0),
|
||||
clka => clka,
|
||||
douta(31 downto 0) => douta(31 downto 0)
|
||||
);
|
||||
end STRUCTURE;
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
library UNISIM;
|
||||
use UNISIM.VCOMPONENTS.ALL;
|
||||
entity hop_rom is
|
||||
port (
|
||||
clka : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 7 downto 0 );
|
||||
douta : out STD_LOGIC_VECTOR ( 31 downto 0 )
|
||||
);
|
||||
attribute NotValidForBitStream : boolean;
|
||||
attribute NotValidForBitStream of hop_rom : entity is true;
|
||||
attribute CHECK_LICENSE_TYPE : string;
|
||||
attribute CHECK_LICENSE_TYPE of hop_rom : entity is "hop_rom,blk_mem_gen_v8_4_3,{}";
|
||||
attribute downgradeipidentifiedwarnings : string;
|
||||
attribute downgradeipidentifiedwarnings of hop_rom : entity is "yes";
|
||||
attribute x_core_info : string;
|
||||
attribute x_core_info of hop_rom : entity is "blk_mem_gen_v8_4_3,Vivado 2019.1.3";
|
||||
end hop_rom;
|
||||
|
||||
architecture STRUCTURE of hop_rom 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 ( 31 downto 0 );
|
||||
signal NLW_U0_rdaddrecc_UNCONNECTED : STD_LOGIC_VECTOR ( 7 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 ( 7 downto 0 );
|
||||
signal NLW_U0_s_axi_rdata_UNCONNECTED : STD_LOGIC_VECTOR ( 31 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 8;
|
||||
attribute C_ADDRB_WIDTH : integer;
|
||||
attribute C_ADDRB_WIDTH of U0 : label is 8;
|
||||
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 : 3.375199 mW";
|
||||
attribute C_FAMILY : string;
|
||||
attribute C_FAMILY of U0 : label is "kintex7";
|
||||
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 0;
|
||||
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 0;
|
||||
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 "hop_rom.mem";
|
||||
attribute C_INIT_FILE_NAME : string;
|
||||
attribute C_INIT_FILE_NAME of U0 : label is "hop_rom.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 256;
|
||||
attribute C_READ_DEPTH_B : integer;
|
||||
attribute C_READ_DEPTH_B of U0 : label is 256;
|
||||
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 32;
|
||||
attribute C_READ_WIDTH_B : integer;
|
||||
attribute C_READ_WIDTH_B of U0 : label is 32;
|
||||
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 256;
|
||||
attribute C_WRITE_DEPTH_B : integer;
|
||||
attribute C_WRITE_DEPTH_B of U0 : label is 256;
|
||||
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 32;
|
||||
attribute C_WRITE_WIDTH_B : integer;
|
||||
attribute C_WRITE_WIDTH_B of U0 : label is 32;
|
||||
attribute C_XDEVICEFAMILY : string;
|
||||
attribute C_XDEVICEFAMILY of U0 : label is "kintex7";
|
||||
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 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.hop_rom_blk_mem_gen_v8_4_3
|
||||
port map (
|
||||
addra(7 downto 0) => addra(7 downto 0),
|
||||
addrb(7 downto 0) => B"00000000",
|
||||
clka => clka,
|
||||
clkb => '0',
|
||||
dbiterr => NLW_U0_dbiterr_UNCONNECTED,
|
||||
deepsleep => '0',
|
||||
dina(31 downto 0) => B"00000000000000000000000000000000",
|
||||
dinb(31 downto 0) => B"00000000000000000000000000000000",
|
||||
douta(31 downto 0) => douta(31 downto 0),
|
||||
doutb(31 downto 0) => NLW_U0_doutb_UNCONNECTED(31 downto 0),
|
||||
eccpipece => '0',
|
||||
ena => '0',
|
||||
enb => '0',
|
||||
injectdbiterr => '0',
|
||||
injectsbiterr => '0',
|
||||
rdaddrecc(7 downto 0) => NLW_U0_rdaddrecc_UNCONNECTED(7 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(7 downto 0) => NLW_U0_s_axi_rdaddrecc_UNCONNECTED(7 downto 0),
|
||||
s_axi_rdata(31 downto 0) => NLW_U0_s_axi_rdata_UNCONNECTED(31 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(31 downto 0) => B"00000000000000000000000000000000",
|
||||
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,22 @@
|
||||
// Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
// --------------------------------------------------------------------------------
|
||||
// Tool Version: Vivado v.2019.1.3 (win64) Build 2644227 Wed Sep 4 09:45:24 MDT 2019
|
||||
// Date : Sat Mar 18 23:15:57 2023
|
||||
// Host : JOSH-ASUS-Z690 running 64-bit major release (build 9200)
|
||||
// Command : write_verilog -force -mode synth_stub
|
||||
// D:/vivado-git/modules/xc7k410tffg900-2/tx_qpsk/ip/managed_ip_project/managed_ip_project.runs/hop_rom_synth_1/hop_rom_stub.v
|
||||
// Design : hop_rom
|
||||
// Purpose : Stub declaration of top-level module interface
|
||||
// Device : xc7k410tffg900-2
|
||||
// --------------------------------------------------------------------------------
|
||||
|
||||
// This empty module with port declaration file causes synthesis tools to infer a black box for IP.
|
||||
// The synthesis directives are for Synopsys Synplify support to prevent IO buffer insertion.
|
||||
// Please paste the declaration into a Verilog source file or add the file as an additional source.
|
||||
(* x_core_info = "blk_mem_gen_v8_4_3,Vivado 2019.1.3" *)
|
||||
module hop_rom(clka, addra, douta)
|
||||
/* synthesis syn_black_box black_box_pad_pin="clka,addra[7:0],douta[31:0]" */;
|
||||
input clka;
|
||||
input [7:0]addra;
|
||||
output [31:0]douta;
|
||||
endmodule
|
||||
@@ -0,0 +1,32 @@
|
||||
-- Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- Tool Version: Vivado v.2019.1.3 (win64) Build 2644227 Wed Sep 4 09:45:24 MDT 2019
|
||||
-- Date : Sat Mar 18 23:15:57 2023
|
||||
-- Host : JOSH-ASUS-Z690 running 64-bit major release (build 9200)
|
||||
-- Command : write_vhdl -force -mode synth_stub
|
||||
-- D:/vivado-git/modules/xc7k410tffg900-2/tx_qpsk/ip/managed_ip_project/managed_ip_project.runs/hop_rom_synth_1/hop_rom_stub.vhdl
|
||||
-- Design : hop_rom
|
||||
-- Purpose : Stub declaration of top-level module interface
|
||||
-- Device : xc7k410tffg900-2
|
||||
-- --------------------------------------------------------------------------------
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
|
||||
entity hop_rom is
|
||||
Port (
|
||||
clka : in STD_LOGIC;
|
||||
addra : in STD_LOGIC_VECTOR ( 7 downto 0 );
|
||||
douta : out STD_LOGIC_VECTOR ( 31 downto 0 )
|
||||
);
|
||||
|
||||
end hop_rom;
|
||||
|
||||
architecture stub of hop_rom is
|
||||
attribute syn_black_box : boolean;
|
||||
attribute black_box_pad_pin : string;
|
||||
attribute syn_black_box of stub : architecture is true;
|
||||
attribute black_box_pad_pin of stub : architecture is "clka,addra[7:0],douta[31:0]";
|
||||
attribute x_core_info : string;
|
||||
attribute x_core_info of stub : architecture is "blk_mem_gen_v8_4_3,Vivado 2019.1.3";
|
||||
begin
|
||||
end;
|
||||
@@ -0,0 +1,211 @@
|
||||
// (c) Copyright 1995-2023 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: 3
|
||||
|
||||
`timescale 1ns/1ps
|
||||
|
||||
(* DowngradeIPIdentifiedWarnings = "yes" *)
|
||||
module hop_rom (
|
||||
clka,
|
||||
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 ADDR" *)
|
||||
input wire [7 : 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 [31 : 0] douta;
|
||||
|
||||
blk_mem_gen_v8_4_3 #(
|
||||
.C_FAMILY("kintex7"),
|
||||
.C_XDEVICEFAMILY("kintex7"),
|
||||
.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("hop_rom.mif"),
|
||||
.C_INIT_FILE("hop_rom.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(0),
|
||||
.C_HAS_REGCEA(0),
|
||||
.C_USE_BYTE_WEA(0),
|
||||
.C_WEA_WIDTH(1),
|
||||
.C_WRITE_MODE_A("WRITE_FIRST"),
|
||||
.C_WRITE_WIDTH_A(32),
|
||||
.C_READ_WIDTH_A(32),
|
||||
.C_WRITE_DEPTH_A(256),
|
||||
.C_READ_DEPTH_A(256),
|
||||
.C_ADDRA_WIDTH(8),
|
||||
.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(32),
|
||||
.C_READ_WIDTH_B(32),
|
||||
.C_WRITE_DEPTH_B(256),
|
||||
.C_READ_DEPTH_B(256),
|
||||
.C_ADDRB_WIDTH(8),
|
||||
.C_HAS_MEM_OUTPUT_REGS_A(0),
|
||||
.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 : 3.375199 mW")
|
||||
) inst (
|
||||
.clka(clka),
|
||||
.rsta(1'D0),
|
||||
.ena(1'D0),
|
||||
.regcea(1'D0),
|
||||
.wea(1'B0),
|
||||
.addra(addra),
|
||||
.dina(32'B0),
|
||||
.douta(douta),
|
||||
.clkb(1'D0),
|
||||
.rstb(1'D0),
|
||||
.enb(1'D0),
|
||||
.regceb(1'D0),
|
||||
.web(1'B0),
|
||||
.addrb(8'B0),
|
||||
.dinb(32'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(32'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
|
||||
+261
@@ -0,0 +1,261 @@
|
||||
--------------------------------------------------------------------------------
|
||||
-- (c) Copyright 2011 - 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.
|
||||
--------------------------------------------------------------------------------
|
||||
-- Description:
|
||||
-- This is an example testbench for the FIR Compiler IP core.
|
||||
-- The testbench has been generated by Vivado to accompany the IP core
|
||||
-- instance you have generated.
|
||||
--
|
||||
-- This testbench is for demonstration purposes only. See note below for
|
||||
-- instructions on how to use it with your core.
|
||||
--
|
||||
-- See the FIR Compiler product guide for further information
|
||||
-- about this core.
|
||||
--
|
||||
--------------------------------------------------------------------------------
|
||||
-- Using this testbench
|
||||
--
|
||||
-- This testbench instantiates your generated FIR Compiler core
|
||||
-- instance named "hrc_64_12_025".
|
||||
--
|
||||
-- Use Vivado's Run Simulation flow to run this testbench. See the Vivado
|
||||
-- documentation for details.
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
use ieee.numeric_std.all;
|
||||
|
||||
entity tb_hrc_64_12_025 is
|
||||
end tb_hrc_64_12_025;
|
||||
|
||||
architecture tb of tb_hrc_64_12_025 is
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Timing constants
|
||||
-----------------------------------------------------------------------
|
||||
constant CLOCK_PERIOD : time := 100 ns;
|
||||
constant T_HOLD : time := 10 ns;
|
||||
constant T_STROBE : time := CLOCK_PERIOD - (1 ns);
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- DUT signals
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
-- General signals
|
||||
signal aclk : std_logic := '0'; -- the master clock
|
||||
|
||||
-- Data slave channel signals
|
||||
signal s_axis_data_tvalid : std_logic := '0'; -- payload is valid
|
||||
signal s_axis_data_tready : std_logic := '1'; -- slave is ready
|
||||
signal s_axis_data_tdata : std_logic_vector(7 downto 0) := (others => '0'); -- data payload
|
||||
|
||||
-- Data master channel signals
|
||||
signal m_axis_data_tvalid : std_logic := '0'; -- payload is valid
|
||||
signal m_axis_data_tdata : std_logic_vector(23 downto 0) := (others => '0'); -- data payload
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Aliases for AXI channel TDATA and TUSER fields
|
||||
-- These are a convenience for viewing data in a simulator waveform viewer.
|
||||
-- If using ModelSim or Questa, add "-voptargs=+acc=n" to the vsim command
|
||||
-- to prevent the simulator optimizing away these signals.
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
-- Data slave channel alias signals
|
||||
signal s_axis_data_tdata_data : std_logic_vector(1 downto 0) := (others => '0');
|
||||
|
||||
-- Data master channel alias signals
|
||||
signal m_axis_data_tdata_data : std_logic_vector(17 downto 0) := (others => '0');
|
||||
|
||||
|
||||
begin
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Instantiate the DUT
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
dut : entity work.hrc_64_12_025
|
||||
port map (
|
||||
aclk => aclk,
|
||||
s_axis_data_tvalid => s_axis_data_tvalid,
|
||||
s_axis_data_tready => s_axis_data_tready,
|
||||
s_axis_data_tdata => s_axis_data_tdata,
|
||||
m_axis_data_tvalid => m_axis_data_tvalid,
|
||||
m_axis_data_tdata => m_axis_data_tdata
|
||||
);
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Generate clock
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
clock_gen : process
|
||||
begin
|
||||
aclk <= '0';
|
||||
wait for CLOCK_PERIOD;
|
||||
loop
|
||||
aclk <= '0';
|
||||
wait for CLOCK_PERIOD/2;
|
||||
aclk <= '1';
|
||||
wait for CLOCK_PERIOD/2;
|
||||
end loop;
|
||||
end process clock_gen;
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Generate inputs
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
stimuli : process
|
||||
|
||||
-- Procedure to drive a number of input samples with specific data
|
||||
-- data is the data value to drive on the tdata signal
|
||||
-- samples is the number of zero-data input samples to drive
|
||||
procedure drive_data ( data : std_logic_vector(7 downto 0);
|
||||
samples : natural := 1 ) is
|
||||
variable ip_count : integer := 0;
|
||||
begin
|
||||
ip_count := 0;
|
||||
loop
|
||||
s_axis_data_tvalid <= '1';
|
||||
s_axis_data_tdata <= data;
|
||||
loop
|
||||
wait until rising_edge(aclk);
|
||||
exit when s_axis_data_tready = '1';
|
||||
end loop;
|
||||
ip_count := ip_count + 1;
|
||||
wait for T_HOLD;
|
||||
-- Input rate is 1 input each 64 clock cycles: drive valid inputs at this rate
|
||||
s_axis_data_tvalid <= '0';
|
||||
wait for CLOCK_PERIOD * 63;
|
||||
exit when ip_count >= samples;
|
||||
end loop;
|
||||
end procedure drive_data;
|
||||
|
||||
-- Procedure to drive a number of zero-data input samples
|
||||
-- samples is the number of zero-data input samples to drive
|
||||
procedure drive_zeros ( samples : natural := 1 ) is
|
||||
begin
|
||||
drive_data((others => '0'), samples);
|
||||
end procedure drive_zeros;
|
||||
|
||||
-- Procedure to drive an impulse and let the impulse response emerge on the data master channel
|
||||
-- samples is the number of input samples to drive; default is enough for impulse response output to emerge
|
||||
procedure drive_impulse ( samples : natural := 837 ) is
|
||||
variable impulse : std_logic_vector(7 downto 0);
|
||||
begin
|
||||
impulse := (others => '0'); -- initialize unused bits to zero
|
||||
impulse(1 downto 0) := "01";
|
||||
drive_data(impulse);
|
||||
if samples > 1 then
|
||||
drive_zeros(samples-1);
|
||||
end if;
|
||||
end procedure drive_impulse;
|
||||
|
||||
begin
|
||||
|
||||
-- Drive inputs T_HOLD time after rising edge of clock
|
||||
wait until rising_edge(aclk);
|
||||
wait for T_HOLD;
|
||||
|
||||
-- Drive a single impulse and let the impulse response emerge
|
||||
drive_impulse;
|
||||
|
||||
-- Drive another impulse, during which demonstrate use and effect of AXI handshaking signals
|
||||
drive_impulse(2); -- start of impulse; data is now zero
|
||||
s_axis_data_tvalid <= '0';
|
||||
wait for CLOCK_PERIOD * 320; -- provide no data for 5 input samples worth
|
||||
drive_zeros(2); -- 2 normal input samples
|
||||
s_axis_data_tvalid <= '1';
|
||||
wait for CLOCK_PERIOD * 320; -- provide data as fast as the core can accept it for 5 input samples worth
|
||||
drive_zeros(828); -- back to normal operation
|
||||
|
||||
-- End of test
|
||||
report "Not a real failure. Simulation finished successfully. Test completed successfully" severity failure;
|
||||
wait;
|
||||
|
||||
end process stimuli;
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Check outputs
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
check_outputs : process
|
||||
variable check_ok : boolean := true;
|
||||
begin
|
||||
|
||||
-- Check outputs T_STROBE time after rising edge of clock
|
||||
wait until rising_edge(aclk);
|
||||
wait for T_STROBE;
|
||||
|
||||
-- Do not check the output payload values, as this requires the behavioral model
|
||||
-- which would make this demonstration testbench unwieldy.
|
||||
-- Instead, check the protocol of the master DATA channel:
|
||||
-- check that the payload is valid (not X) when TVALID is high
|
||||
|
||||
if m_axis_data_tvalid = '1' then
|
||||
if is_x(m_axis_data_tdata) then
|
||||
report "ERROR: m_axis_data_tdata is invalid when m_axis_data_tvalid is high" severity error;
|
||||
check_ok := false;
|
||||
end if;
|
||||
|
||||
end if;
|
||||
|
||||
assert check_ok
|
||||
report "ERROR: terminating test with failures." severity failure;
|
||||
|
||||
end process check_outputs;
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Assign TDATA / TUSER fields to aliases, for easy simulator waveform viewing
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
-- Data slave channel alias signals
|
||||
s_axis_data_tdata_data <= s_axis_data_tdata(1 downto 0);
|
||||
|
||||
-- Data master channel alias signals: update these only when they are valid
|
||||
m_axis_data_tdata_data <= m_axis_data_tdata(17 downto 0) when m_axis_data_tvalid = '1';
|
||||
|
||||
end tb;
|
||||
@@ -0,0 +1,70 @@
|
||||
// (c) Copyright 1995-2023 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:fir_compiler:7.2
|
||||
// IP Revision: 12
|
||||
|
||||
// The following must be inserted into your Verilog file for this
|
||||
// core to be instantiated. Change the instance name and port connections
|
||||
// (in parentheses) to your own signal names.
|
||||
|
||||
//----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG
|
||||
hrc_64_12_025 your_instance_name (
|
||||
.aclk(aclk), // input wire aclk
|
||||
.s_axis_data_tvalid(s_axis_data_tvalid), // input wire s_axis_data_tvalid
|
||||
.s_axis_data_tready(s_axis_data_tready), // output wire s_axis_data_tready
|
||||
.s_axis_data_tdata(s_axis_data_tdata), // input wire [7 : 0] s_axis_data_tdata
|
||||
.m_axis_data_tvalid(m_axis_data_tvalid), // output wire m_axis_data_tvalid
|
||||
.m_axis_data_tdata(m_axis_data_tdata) // output wire [23 : 0] m_axis_data_tdata
|
||||
);
|
||||
// INST_TAG_END ------ End INSTANTIATION Template ---------
|
||||
|
||||
// You must compile the wrapper file hrc_64_12_025.v when simulating
|
||||
// the core, hrc_64_12_025. When compiling the wrapper file, be sure to
|
||||
// reference the Verilog simulation library.
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
-- (c) Copyright 1995-2023 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:fir_compiler:7.2
|
||||
-- IP Revision: 12
|
||||
|
||||
-- The following code must appear in the VHDL architecture header.
|
||||
|
||||
------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG
|
||||
COMPONENT hrc_64_12_025
|
||||
PORT (
|
||||
aclk : IN STD_LOGIC;
|
||||
s_axis_data_tvalid : IN STD_LOGIC;
|
||||
s_axis_data_tready : OUT STD_LOGIC;
|
||||
s_axis_data_tdata : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
|
||||
m_axis_data_tvalid : OUT STD_LOGIC;
|
||||
m_axis_data_tdata : OUT STD_LOGIC_VECTOR(23 DOWNTO 0)
|
||||
);
|
||||
END COMPONENT;
|
||||
-- COMP_TAG_END ------ End COMPONENT Declaration ------------
|
||||
|
||||
-- The following code must appear in the VHDL architecture
|
||||
-- body. Substitute your own instance name and net names.
|
||||
|
||||
------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG
|
||||
your_instance_name : hrc_64_12_025
|
||||
PORT MAP (
|
||||
aclk => aclk,
|
||||
s_axis_data_tvalid => s_axis_data_tvalid,
|
||||
s_axis_data_tready => s_axis_data_tready,
|
||||
s_axis_data_tdata => s_axis_data_tdata,
|
||||
m_axis_data_tvalid => m_axis_data_tvalid,
|
||||
m_axis_data_tdata => m_axis_data_tdata
|
||||
);
|
||||
-- INST_TAG_END ------ End INSTANTIATION Template ---------
|
||||
|
||||
-- You must compile the wrapper file hrc_64_12_025.vhd when simulating
|
||||
-- the core, hrc_64_12_025. When compiling the wrapper file, be sure to
|
||||
-- reference the VHDL simulation library.
|
||||
|
||||
+6380
File diff suppressed because it is too large
Load Diff
+8495
File diff suppressed because it is too large
Load Diff
+26
@@ -0,0 +1,26 @@
|
||||
// Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
// --------------------------------------------------------------------------------
|
||||
// Tool Version: Vivado v.2019.1.3 (win64) Build 2644227 Wed Sep 4 09:45:24 MDT 2019
|
||||
// Date : Sat Mar 18 23:15:42 2023
|
||||
// Host : JOSH-ASUS-Z690 running 64-bit major release (build 9200)
|
||||
// Command : write_verilog -force -mode synth_stub
|
||||
// D:/vivado-git/modules/xc7k410tffg900-2/tx_qpsk/ip/managed_ip_project/managed_ip_project.runs/hrc_64_12_025_synth_1/hrc_64_12_025_stub.v
|
||||
// Design : hrc_64_12_025
|
||||
// Purpose : Stub declaration of top-level module interface
|
||||
// Device : xc7k410tffg900-2
|
||||
// --------------------------------------------------------------------------------
|
||||
|
||||
// This empty module with port declaration file causes synthesis tools to infer a black box for IP.
|
||||
// The synthesis directives are for Synopsys Synplify support to prevent IO buffer insertion.
|
||||
// Please paste the declaration into a Verilog source file or add the file as an additional source.
|
||||
(* x_core_info = "fir_compiler_v7_2_12,Vivado 2019.1.3" *)
|
||||
module hrc_64_12_025(aclk, s_axis_data_tvalid, s_axis_data_tready,
|
||||
s_axis_data_tdata, m_axis_data_tvalid, m_axis_data_tdata)
|
||||
/* synthesis syn_black_box black_box_pad_pin="aclk,s_axis_data_tvalid,s_axis_data_tready,s_axis_data_tdata[7:0],m_axis_data_tvalid,m_axis_data_tdata[23:0]" */;
|
||||
input aclk;
|
||||
input s_axis_data_tvalid;
|
||||
output s_axis_data_tready;
|
||||
input [7:0]s_axis_data_tdata;
|
||||
output m_axis_data_tvalid;
|
||||
output [23:0]m_axis_data_tdata;
|
||||
endmodule
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
-- Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
-- --------------------------------------------------------------------------------
|
||||
-- Tool Version: Vivado v.2019.1.3 (win64) Build 2644227 Wed Sep 4 09:45:24 MDT 2019
|
||||
-- Date : Sat Mar 18 23:15:42 2023
|
||||
-- Host : JOSH-ASUS-Z690 running 64-bit major release (build 9200)
|
||||
-- Command : write_vhdl -force -mode synth_stub
|
||||
-- D:/vivado-git/modules/xc7k410tffg900-2/tx_qpsk/ip/managed_ip_project/managed_ip_project.runs/hrc_64_12_025_synth_1/hrc_64_12_025_stub.vhdl
|
||||
-- Design : hrc_64_12_025
|
||||
-- Purpose : Stub declaration of top-level module interface
|
||||
-- Device : xc7k410tffg900-2
|
||||
-- --------------------------------------------------------------------------------
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
|
||||
entity hrc_64_12_025 is
|
||||
Port (
|
||||
aclk : in STD_LOGIC;
|
||||
s_axis_data_tvalid : in STD_LOGIC;
|
||||
s_axis_data_tready : out STD_LOGIC;
|
||||
s_axis_data_tdata : in STD_LOGIC_VECTOR ( 7 downto 0 );
|
||||
m_axis_data_tvalid : out STD_LOGIC;
|
||||
m_axis_data_tdata : out STD_LOGIC_VECTOR ( 23 downto 0 )
|
||||
);
|
||||
|
||||
end hrc_64_12_025;
|
||||
|
||||
architecture stub of hrc_64_12_025 is
|
||||
attribute syn_black_box : boolean;
|
||||
attribute black_box_pad_pin : string;
|
||||
attribute syn_black_box of stub : architecture is true;
|
||||
attribute black_box_pad_pin of stub : architecture is "aclk,s_axis_data_tvalid,s_axis_data_tready,s_axis_data_tdata[7:0],m_axis_data_tvalid,m_axis_data_tdata[23:0]";
|
||||
attribute x_core_info : string;
|
||||
attribute x_core_info of stub : architecture is "fir_compiler_v7_2_12,Vivado 2019.1.3";
|
||||
begin
|
||||
end;
|
||||
+281
@@ -0,0 +1,281 @@
|
||||
-- (c) Copyright 1995-2023 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:fir_compiler:7.2
|
||||
-- IP Revision: 12
|
||||
|
||||
LIBRARY ieee;
|
||||
USE ieee.std_logic_1164.ALL;
|
||||
USE ieee.numeric_std.ALL;
|
||||
|
||||
LIBRARY fir_compiler_v7_2_12;
|
||||
USE fir_compiler_v7_2_12.fir_compiler_v7_2_12;
|
||||
|
||||
ENTITY hrc_64_12_025 IS
|
||||
PORT (
|
||||
aclk : IN STD_LOGIC;
|
||||
s_axis_data_tvalid : IN STD_LOGIC;
|
||||
s_axis_data_tready : OUT STD_LOGIC;
|
||||
s_axis_data_tdata : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
|
||||
m_axis_data_tvalid : OUT STD_LOGIC;
|
||||
m_axis_data_tdata : OUT STD_LOGIC_VECTOR(23 DOWNTO 0)
|
||||
);
|
||||
END hrc_64_12_025;
|
||||
|
||||
ARCHITECTURE hrc_64_12_025_arch OF hrc_64_12_025 IS
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings : STRING;
|
||||
ATTRIBUTE DowngradeIPIdentifiedWarnings OF hrc_64_12_025_arch: ARCHITECTURE IS "yes";
|
||||
COMPONENT fir_compiler_v7_2_12 IS
|
||||
GENERIC (
|
||||
C_XDEVICEFAMILY : STRING;
|
||||
C_ELABORATION_DIR : STRING;
|
||||
C_COMPONENT_NAME : STRING;
|
||||
C_COEF_FILE : STRING;
|
||||
C_COEF_FILE_LINES : INTEGER;
|
||||
C_FILTER_TYPE : INTEGER;
|
||||
C_INTERP_RATE : INTEGER;
|
||||
C_DECIM_RATE : INTEGER;
|
||||
C_ZERO_PACKING_FACTOR : INTEGER;
|
||||
C_SYMMETRY : INTEGER;
|
||||
C_NUM_FILTS : INTEGER;
|
||||
C_NUM_TAPS : INTEGER;
|
||||
C_NUM_CHANNELS : INTEGER;
|
||||
C_CHANNEL_PATTERN : STRING;
|
||||
C_ROUND_MODE : INTEGER;
|
||||
C_COEF_RELOAD : INTEGER;
|
||||
C_NUM_RELOAD_SLOTS : INTEGER;
|
||||
C_COL_MODE : INTEGER;
|
||||
C_COL_PIPE_LEN : INTEGER;
|
||||
C_COL_CONFIG : STRING;
|
||||
C_OPTIMIZATION : INTEGER;
|
||||
C_DATA_PATH_WIDTHS : STRING;
|
||||
C_DATA_IP_PATH_WIDTHS : STRING;
|
||||
C_DATA_PX_PATH_WIDTHS : STRING;
|
||||
C_DATA_WIDTH : INTEGER;
|
||||
C_COEF_PATH_WIDTHS : STRING;
|
||||
C_COEF_WIDTH : INTEGER;
|
||||
C_DATA_PATH_SRC : STRING;
|
||||
C_COEF_PATH_SRC : STRING;
|
||||
C_PX_PATH_SRC : STRING;
|
||||
C_DATA_PATH_SIGN : STRING;
|
||||
C_COEF_PATH_SIGN : STRING;
|
||||
C_ACCUM_PATH_WIDTHS : STRING;
|
||||
C_OUTPUT_WIDTH : INTEGER;
|
||||
C_OUTPUT_PATH_WIDTHS : STRING;
|
||||
C_ACCUM_OP_PATH_WIDTHS : STRING;
|
||||
C_EXT_MULT_CNFG : STRING;
|
||||
C_DATA_PATH_PSAMP_SRC : STRING;
|
||||
C_OP_PATH_PSAMP_SRC : STRING;
|
||||
C_NUM_MADDS : INTEGER;
|
||||
C_OPT_MADDS : STRING;
|
||||
C_OVERSAMPLING_RATE : INTEGER;
|
||||
C_INPUT_RATE : INTEGER;
|
||||
C_OUTPUT_RATE : INTEGER;
|
||||
C_DATA_MEMTYPE : INTEGER;
|
||||
C_COEF_MEMTYPE : INTEGER;
|
||||
C_IPBUFF_MEMTYPE : INTEGER;
|
||||
C_OPBUFF_MEMTYPE : INTEGER;
|
||||
C_DATAPATH_MEMTYPE : INTEGER;
|
||||
C_MEM_ARRANGEMENT : INTEGER;
|
||||
C_DATA_MEM_PACKING : INTEGER;
|
||||
C_COEF_MEM_PACKING : INTEGER;
|
||||
C_FILTS_PACKED : INTEGER;
|
||||
C_LATENCY : INTEGER;
|
||||
C_HAS_ARESETn : INTEGER;
|
||||
C_HAS_ACLKEN : INTEGER;
|
||||
C_DATA_HAS_TLAST : INTEGER;
|
||||
C_S_DATA_HAS_FIFO : INTEGER;
|
||||
C_S_DATA_HAS_TUSER : INTEGER;
|
||||
C_S_DATA_TDATA_WIDTH : INTEGER;
|
||||
C_S_DATA_TUSER_WIDTH : INTEGER;
|
||||
C_M_DATA_HAS_TREADY : INTEGER;
|
||||
C_M_DATA_HAS_TUSER : INTEGER;
|
||||
C_M_DATA_TDATA_WIDTH : INTEGER;
|
||||
C_M_DATA_TUSER_WIDTH : INTEGER;
|
||||
C_HAS_CONFIG_CHANNEL : INTEGER;
|
||||
C_CONFIG_SYNC_MODE : INTEGER;
|
||||
C_CONFIG_PACKET_SIZE : INTEGER;
|
||||
C_CONFIG_TDATA_WIDTH : INTEGER;
|
||||
C_RELOAD_TDATA_WIDTH : INTEGER
|
||||
);
|
||||
PORT (
|
||||
aresetn : IN STD_LOGIC;
|
||||
aclk : IN STD_LOGIC;
|
||||
aclken : IN STD_LOGIC;
|
||||
s_axis_data_tvalid : IN STD_LOGIC;
|
||||
s_axis_data_tready : OUT STD_LOGIC;
|
||||
s_axis_data_tlast : IN STD_LOGIC;
|
||||
s_axis_data_tuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
s_axis_data_tdata : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
|
||||
s_axis_config_tvalid : IN STD_LOGIC;
|
||||
s_axis_config_tready : OUT STD_LOGIC;
|
||||
s_axis_config_tlast : IN STD_LOGIC;
|
||||
s_axis_config_tdata : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
s_axis_reload_tvalid : IN STD_LOGIC;
|
||||
s_axis_reload_tready : OUT STD_LOGIC;
|
||||
s_axis_reload_tlast : IN STD_LOGIC;
|
||||
s_axis_reload_tdata : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
m_axis_data_tvalid : OUT STD_LOGIC;
|
||||
m_axis_data_tready : IN STD_LOGIC;
|
||||
m_axis_data_tlast : OUT STD_LOGIC;
|
||||
m_axis_data_tuser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
|
||||
m_axis_data_tdata : OUT STD_LOGIC_VECTOR(23 DOWNTO 0);
|
||||
event_s_data_tlast_missing : OUT STD_LOGIC;
|
||||
event_s_data_tlast_unexpected : OUT STD_LOGIC;
|
||||
event_s_data_chanid_incorrect : OUT STD_LOGIC;
|
||||
event_s_config_tlast_missing : OUT STD_LOGIC;
|
||||
event_s_config_tlast_unexpected : OUT STD_LOGIC;
|
||||
event_s_reload_tlast_missing : OUT STD_LOGIC;
|
||||
event_s_reload_tlast_unexpected : OUT STD_LOGIC
|
||||
);
|
||||
END COMPONENT fir_compiler_v7_2_12;
|
||||
ATTRIBUTE X_INTERFACE_INFO : STRING;
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER : STRING;
|
||||
ATTRIBUTE X_INTERFACE_INFO OF m_axis_data_tdata: SIGNAL IS "xilinx.com:interface:axis:1.0 M_AXIS_DATA TDATA";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF m_axis_data_tvalid: SIGNAL IS "XIL_INTERFACENAME M_AXIS_DATA, TDATA_NUM_BYTES 3, TDEST_WIDTH 0, TID_WIDTH 0, TUSER_WIDTH 0, HAS_TREADY 0, HAS_TSTRB 0, HAS_TKEEP 0, HAS_TLAST 0, FREQ_HZ 100000000, PHASE 0.000, LAYERED_METADATA undef, INSERT_VIP 0";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF m_axis_data_tvalid: SIGNAL IS "xilinx.com:interface:axis:1.0 M_AXIS_DATA TVALID";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF s_axis_data_tdata: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_DATA TDATA";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF s_axis_data_tready: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_DATA TREADY";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF s_axis_data_tvalid: SIGNAL IS "XIL_INTERFACENAME S_AXIS_DATA, TDATA_NUM_BYTES 1, TDEST_WIDTH 0, TID_WIDTH 0, TUSER_WIDTH 0, HAS_TREADY 1, HAS_TSTRB 0, HAS_TKEEP 0, HAS_TLAST 0, FREQ_HZ 100000000, PHASE 0.000, LAYERED_METADATA undef, INSERT_VIP 0";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF s_axis_data_tvalid: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_DATA TVALID";
|
||||
ATTRIBUTE X_INTERFACE_PARAMETER OF aclk: SIGNAL IS "XIL_INTERFACENAME aclk_intf, ASSOCIATED_BUSIF S_AXIS_CONFIG:M_AXIS_DATA:S_AXIS_DATA:S_AXIS_RELOAD, ASSOCIATED_RESET aresetn, ASSOCIATED_CLKEN aclken, FREQ_HZ 100000000, PHASE 0.000, INSERT_VIP 0";
|
||||
ATTRIBUTE X_INTERFACE_INFO OF aclk: SIGNAL IS "xilinx.com:signal:clock:1.0 aclk_intf CLK";
|
||||
BEGIN
|
||||
U0 : fir_compiler_v7_2_12
|
||||
GENERIC MAP (
|
||||
C_XDEVICEFAMILY => "kintex7",
|
||||
C_ELABORATION_DIR => "./",
|
||||
C_COMPONENT_NAME => "hrc_64_12_025",
|
||||
C_COEF_FILE => "hrc_64_12_025.mif",
|
||||
C_COEF_FILE_LINES => 832,
|
||||
C_FILTER_TYPE => 2,
|
||||
C_INTERP_RATE => 64,
|
||||
C_DECIM_RATE => 1,
|
||||
C_ZERO_PACKING_FACTOR => 1,
|
||||
C_SYMMETRY => 0,
|
||||
C_NUM_FILTS => 1,
|
||||
C_NUM_TAPS => 769,
|
||||
C_NUM_CHANNELS => 1,
|
||||
C_CHANNEL_PATTERN => "fixed",
|
||||
C_ROUND_MODE => 0,
|
||||
C_COEF_RELOAD => 0,
|
||||
C_NUM_RELOAD_SLOTS => 1,
|
||||
C_COL_MODE => 1,
|
||||
C_COL_PIPE_LEN => 4,
|
||||
C_COL_CONFIG => "13",
|
||||
C_OPTIMIZATION => 0,
|
||||
C_DATA_PATH_WIDTHS => "2",
|
||||
C_DATA_IP_PATH_WIDTHS => "2",
|
||||
C_DATA_PX_PATH_WIDTHS => "2",
|
||||
C_DATA_WIDTH => 2,
|
||||
C_COEF_PATH_WIDTHS => "16",
|
||||
C_COEF_WIDTH => 16,
|
||||
C_DATA_PATH_SRC => "0",
|
||||
C_COEF_PATH_SRC => "0",
|
||||
C_PX_PATH_SRC => "0",
|
||||
C_DATA_PATH_SIGN => "0",
|
||||
C_COEF_PATH_SIGN => "0",
|
||||
C_ACCUM_PATH_WIDTHS => "18",
|
||||
C_OUTPUT_WIDTH => 18,
|
||||
C_OUTPUT_PATH_WIDTHS => "18",
|
||||
C_ACCUM_OP_PATH_WIDTHS => "18",
|
||||
C_EXT_MULT_CNFG => "none",
|
||||
C_DATA_PATH_PSAMP_SRC => "0",
|
||||
C_OP_PATH_PSAMP_SRC => "0",
|
||||
C_NUM_MADDS => 13,
|
||||
C_OPT_MADDS => "none",
|
||||
C_OVERSAMPLING_RATE => 1,
|
||||
C_INPUT_RATE => 64,
|
||||
C_OUTPUT_RATE => 1,
|
||||
C_DATA_MEMTYPE => 0,
|
||||
C_COEF_MEMTYPE => 2,
|
||||
C_IPBUFF_MEMTYPE => 0,
|
||||
C_OPBUFF_MEMTYPE => 0,
|
||||
C_DATAPATH_MEMTYPE => 0,
|
||||
C_MEM_ARRANGEMENT => 2,
|
||||
C_DATA_MEM_PACKING => 0,
|
||||
C_COEF_MEM_PACKING => 0,
|
||||
C_FILTS_PACKED => 0,
|
||||
C_LATENCY => 19,
|
||||
C_HAS_ARESETn => 0,
|
||||
C_HAS_ACLKEN => 0,
|
||||
C_DATA_HAS_TLAST => 0,
|
||||
C_S_DATA_HAS_FIFO => 0,
|
||||
C_S_DATA_HAS_TUSER => 0,
|
||||
C_S_DATA_TDATA_WIDTH => 8,
|
||||
C_S_DATA_TUSER_WIDTH => 1,
|
||||
C_M_DATA_HAS_TREADY => 0,
|
||||
C_M_DATA_HAS_TUSER => 0,
|
||||
C_M_DATA_TDATA_WIDTH => 24,
|
||||
C_M_DATA_TUSER_WIDTH => 1,
|
||||
C_HAS_CONFIG_CHANNEL => 0,
|
||||
C_CONFIG_SYNC_MODE => 0,
|
||||
C_CONFIG_PACKET_SIZE => 0,
|
||||
C_CONFIG_TDATA_WIDTH => 1,
|
||||
C_RELOAD_TDATA_WIDTH => 1
|
||||
)
|
||||
PORT MAP (
|
||||
aresetn => '1',
|
||||
aclk => aclk,
|
||||
aclken => '1',
|
||||
s_axis_data_tvalid => s_axis_data_tvalid,
|
||||
s_axis_data_tready => s_axis_data_tready,
|
||||
s_axis_data_tlast => '0',
|
||||
s_axis_data_tuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
s_axis_data_tdata => s_axis_data_tdata,
|
||||
s_axis_config_tvalid => '0',
|
||||
s_axis_config_tlast => '0',
|
||||
s_axis_config_tdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
s_axis_reload_tvalid => '0',
|
||||
s_axis_reload_tlast => '0',
|
||||
s_axis_reload_tdata => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
|
||||
m_axis_data_tvalid => m_axis_data_tvalid,
|
||||
m_axis_data_tready => '1',
|
||||
m_axis_data_tdata => m_axis_data_tdata
|
||||
);
|
||||
END hrc_64_12_025_arch;
|
||||
+3821
File diff suppressed because it is too large
Load Diff
+12017
File diff suppressed because it is too large
Load Diff
+27417
File diff suppressed because it is too large
Load Diff
+55945
File diff suppressed because it is too large
Load Diff
+17045
File diff suppressed because it is too large
Load Diff
+1367
File diff suppressed because it is too large
Load Diff
+1317
File diff suppressed because it is too large
Load Diff
+1127
File diff suppressed because it is too large
Load Diff
+2403
File diff suppressed because it is too large
Load Diff
+418
@@ -0,0 +1,418 @@
|
||||
`protect begin_protected
|
||||
`protect version = 1
|
||||
`protect encrypt_agent = "XILINX"
|
||||
`protect encrypt_agent_info = "Xilinx Encryption Tool 2019.1"
|
||||
`protect key_keyowner = "Cadence Design Systems.", key_keyname = "cds_rsa_key", key_method = "rsa"
|
||||
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 64)
|
||||
`protect key_block
|
||||
IijDYFYeRdzkel5iYnZFe2NzgYX9UDO+g6PdWiHeOm5P1+m9Kt//ktx0y9l3PqUsSWKKIi5tWbDg
|
||||
OqtBZeM3zQ==
|
||||
|
||||
`protect key_keyowner = "Synopsys", key_keyname = "SNPS-VCS-RSA-2", key_method = "rsa"
|
||||
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
|
||||
`protect key_block
|
||||
TXFD8G5gE6CUfZ/9/aBQvAaQuQ9Q6vcW5KJtFkYqsiROk19a5PsS1gCxUXtSJ+Xt20njQCTMz6jx
|
||||
UaSmsNRyiV6PuCAgdQYvfeJWiNmQq7kXQnkYSjycSJyNe/xoXEYIK0mHX7J2x9ouXxNx6jQFR5Lm
|
||||
jxY8fR7N9m3PTkCqNTI=
|
||||
|
||||
`protect key_keyowner = "Aldec", key_keyname = "ALDEC15_001", key_method = "rsa"
|
||||
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
|
||||
`protect key_block
|
||||
0bdD7I2gr0nFDramUUXzPCEqtk/eE+vK1bghpNlKE+S5t5/NbqJI7gNd3XLwYh6qEIInU1StLpm1
|
||||
ZEERnCmEf4+rQBAW7x7u7nIsJjSOmPWtDc9DLn5S3e1Tg+IzLUqT0rFFh5TiwuYq9A6oIvI4ufWQ
|
||||
WwoeY/gITSdj6C0JQ3GFyIRhxG7psQKO9U4fj8El/Lb3YXG1+IGuXZsygyLPjjOU5LRXKo6kKsub
|
||||
X1PFDvdm4rWaB9AqoPLCqp654KCyKSCoufeM/jiWRTNXwf6kL56WQKDXuyAhrasBOno4KOT3c5VP
|
||||
WEHGNdGBSdU4oUFYiOmAKlCKGeUNCxMxx765QA==
|
||||
|
||||
`protect key_keyowner = "ATRENTA", key_keyname = "ATR-SG-2015-RSA-3", key_method = "rsa"
|
||||
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
|
||||
`protect key_block
|
||||
ppkak8ss4yKmNiAZjxFq8nn58TDV/6CNcvQivN+uaaTC1viFh2EDUvJp8zqZ2dJOE2mTN9WJY0VD
|
||||
93fjF/bEPMptIxFj5D6ldjwJu+xdHqS9FJ9Wajnbu++DCTUtAQE+y05rqhCz8aZWKGNejsRfG8bE
|
||||
xGYNUIbFoZ9PYrDIdRcDSdZRUBadrAC+WcEM6+/HxxJq4Ly/w0BVbiEq22B0+4wVDXszrocC0mKJ
|
||||
RPXzPj9v5D5aBX2ijUGbICpT6JkVGAjlIEP7HZoc+Ooxppwgc01k8snVnPVI4IVVYOjjlTQgT/qU
|
||||
t0doYgFMU9nD5a1hefzXRkszYn9RHVZE5bl6NA==
|
||||
|
||||
`protect key_keyowner = "Xilinx", key_keyname = "xilinxt_2019_02", key_method = "rsa"
|
||||
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
|
||||
`protect key_block
|
||||
KtmDUKyPqH21pzMoqq9CPc/SXFhh6Oz2JrLSFRZBS3mGc7ebGc8cQjlvJpJA0WNJlGqACicdvN1t
|
||||
A7mG3V1xKtoRdR+2MhucMQ7loisN8yDj3+zqgbM5bAdlz+62WovuGfaM4EK24l8CXSfBLVGQ35JP
|
||||
2zB0abBrel1cOw3DxvSIS/5wueR9/Ul+GoLmD6yF7cV2ne7eGwNXQ2OsCqdcb9wK8gNO1YfC3kE6
|
||||
WwdUtjutDvyXnV49wmg6nCC8RAPNWbIhHiMMtpDjux6E1Rkd3xdCMDrxrupZyNQNtVmzcN8ITAn5
|
||||
BYoTBON1CKVljCmLov84lxcdcXGcSaBAtLIiAg==
|
||||
|
||||
`protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-VELOCE-RSA", key_method = "rsa"
|
||||
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128)
|
||||
`protect key_block
|
||||
sjMrK19OPSOpuNhtGVc8GPvvQoA4nRSUShUtMXVan8pbxWL4SmeH0c+Lr407Kf0YXDBqUDDkheov
|
||||
bvkczAmQfT+dVPmRtr9F/s03c46gcXSPX3D/EHROl21MVjaptRm/lAFzU2JR3vIcBrSyn9KnB+G8
|
||||
cTUA3hZ8VcZWUlsE5EU=
|
||||
|
||||
`protect key_keyowner = "Mentor Graphics Corporation", key_keyname = "MGC-VERIF-SIM-RSA-2", key_method = "rsa"
|
||||
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256)
|
||||
`protect key_block
|
||||
KDe/Bg6fHbQcPjNnYiQKwKjMy4sdSqf+Gty0JJ0Cl1tXsbqDCM+FOd30mp8wMVyuqAm1Cs7QT211
|
||||
JO6FwTQoTSe1+Ag2KZe6AMFgHaNj0EL+M24h7wdNN5Wj8M9n4Zw2cVNCAcQuMAGYbxaWpNTrYMXH
|
||||
BpdQ50EQ9/kLpocWC2JhjoxshWpofJ0tpp9WlfLUPTm7TftCudU0M3dMNjnbl+Mfa3yuTHWt8aDY
|
||||
6w/HgH82FHAd70Mwbh6CrcIChQUulExaSON/uCwutX0SehA5/ooAAlnWv19O8kXTawUeKwYKQikK
|
||||
PjngB0eHiTimSxjDCZaaor8VbS4WfO6DyMwmEg==
|
||||
|
||||
`protect data_method = "AES128-CBC"
|
||||
`protect encoding = (enctype = "BASE64", line_length = 76, bytes = 20128)
|
||||
`protect data_block
|
||||
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
|
||||
KnmRsadIXQ==
|
||||
`protect end_protected
|
||||
+2392
File diff suppressed because it is too large
Load Diff
+4522
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,256 @@
|
||||
10000000000000000000000000000001
|
||||
10000001000000010000000100000010
|
||||
10000010000000100000001000000011
|
||||
10000011000000110000001100000100
|
||||
10000100000001000000010000000101
|
||||
10000101000001010000010100000110
|
||||
10000110000001100000011000000111
|
||||
10000111000001110000011100001000
|
||||
10001000000010000000100000001001
|
||||
10001001000010010000100100001010
|
||||
10001010000010100000101000001011
|
||||
10001011000010110000101100001100
|
||||
10001100000011000000110000001101
|
||||
10001101000011010000110100001110
|
||||
10001110000011100000111000001111
|
||||
10001111000011110000111100010000
|
||||
10010000000100000001000000010001
|
||||
10010001000100010001000100010010
|
||||
10010010000100100001001000010011
|
||||
10010011000100110001001100010100
|
||||
10010100000101000001010000010101
|
||||
10010101000101010001010100010110
|
||||
10010110000101100001011000010111
|
||||
10010111000101110001011100011000
|
||||
10011000000110000001100000011001
|
||||
10011001000110010001100100011010
|
||||
10011010000110100001101000011011
|
||||
10011011000110110001101100011100
|
||||
10011100000111000001110000011101
|
||||
10011101000111010001110100011110
|
||||
10011110000111100001111000011111
|
||||
10011111000111110001111100100000
|
||||
10100000001000000010000000100001
|
||||
10100001001000010010000100100010
|
||||
10100010001000100010001000100011
|
||||
10100011001000110010001100100100
|
||||
10100100001001000010010000100101
|
||||
10100101001001010010010100100110
|
||||
10100110001001100010011000100111
|
||||
10100111001001110010011100101000
|
||||
10101000001010000010100000101001
|
||||
10101001001010010010100100101010
|
||||
10101010001010100010101000101011
|
||||
10101011001010110010101100101100
|
||||
10101100001011000010110000101101
|
||||
10101101001011010010110100101110
|
||||
10101110001011100010111000101111
|
||||
10101111001011110010111100110000
|
||||
10110000001100000011000000110001
|
||||
10110001001100010011000100110010
|
||||
10110010001100100011001000110011
|
||||
10110011001100110011001100110100
|
||||
10110100001101000011010000110101
|
||||
10110101001101010011010100110110
|
||||
10110110001101100011011000110111
|
||||
10110111001101110011011100111000
|
||||
10111000001110000011100000111001
|
||||
10111001001110010011100100111010
|
||||
10111010001110100011101000111011
|
||||
10111011001110110011101100111100
|
||||
10111100001111000011110000111101
|
||||
10111101001111010011110100111110
|
||||
10111110001111100011111000111111
|
||||
10111111001111110011111101000000
|
||||
11000000010000000100000001000001
|
||||
11000001010000010100000101000010
|
||||
11000010010000100100001001000011
|
||||
11000011010000110100001101000100
|
||||
11000100010001000100010001000101
|
||||
11000101010001010100010101000110
|
||||
11000110010001100100011001000111
|
||||
11000111010001110100011101001000
|
||||
11001000010010000100100001001001
|
||||
11001001010010010100100101001010
|
||||
11001010010010100100101001001011
|
||||
11001011010010110100101101001100
|
||||
11001100010011000100110001001101
|
||||
11001101010011010100110101001110
|
||||
11001110010011100100111001001111
|
||||
11001111010011110100111101010000
|
||||
11010000010100000101000001010001
|
||||
11010001010100010101000101010010
|
||||
11010010010100100101001001010011
|
||||
11010011010100110101001101010100
|
||||
11010100010101000101010001010101
|
||||
11010101010101010101010101010110
|
||||
11010110010101100101011001010111
|
||||
11010111010101110101011101011000
|
||||
11011000010110000101100001011001
|
||||
11011001010110010101100101011010
|
||||
11011010010110100101101001011011
|
||||
11011011010110110101101101011100
|
||||
11011100010111000101110001011101
|
||||
11011101010111010101110101011110
|
||||
11011110010111100101111001011111
|
||||
11011111010111110101111101100000
|
||||
11100000011000000110000001100001
|
||||
11100001011000010110000101100010
|
||||
11100010011000100110001001100011
|
||||
11100011011000110110001101100100
|
||||
11100100011001000110010001100101
|
||||
11100101011001010110010101100110
|
||||
11100110011001100110011001100111
|
||||
11100111011001110110011101101000
|
||||
11101000011010000110100001101001
|
||||
11101001011010010110100101101010
|
||||
11101010011010100110101001101011
|
||||
11101011011010110110101101101100
|
||||
11101100011011000110110001101101
|
||||
11101101011011010110110101101110
|
||||
11101110011011100110111001101111
|
||||
11101111011011110110111101110000
|
||||
11110000011100000111000001110001
|
||||
11110001011100010111000101110010
|
||||
11110010011100100111001001110011
|
||||
11110011011100110111001101110100
|
||||
11110100011101000111010001110101
|
||||
11110101011101010111010101110110
|
||||
11110110011101100111011001110111
|
||||
11110111011101110111011101111000
|
||||
11111000011110000111100001111001
|
||||
11111001011110010111100101111010
|
||||
11111010011110100111101001111011
|
||||
11111011011110110111101101111100
|
||||
11111100011111000111110001111101
|
||||
11111101011111010111110101111110
|
||||
11111110011111100111111001111111
|
||||
11111111011111110111111110000000
|
||||
00000000100000001000000010000000
|
||||
00000001100000011000000110000001
|
||||
00000010100000101000001010000010
|
||||
00000011100000111000001110000011
|
||||
00000100100001001000010010000100
|
||||
00000101100001011000010110000101
|
||||
00000110100001101000011010000110
|
||||
00000111100001111000011110000111
|
||||
00001000100010001000100010001000
|
||||
00001001100010011000100110001001
|
||||
00001010100010101000101010001010
|
||||
00001011100010111000101110001011
|
||||
00001100100011001000110010001100
|
||||
00001101100011011000110110001101
|
||||
00001110100011101000111010001110
|
||||
00001111100011111000111110001111
|
||||
00010000100100001001000010010000
|
||||
00010001100100011001000110010001
|
||||
00010010100100101001001010010010
|
||||
00010011100100111001001110010011
|
||||
00010100100101001001010010010100
|
||||
00010101100101011001010110010101
|
||||
00010110100101101001011010010110
|
||||
00010111100101111001011110010111
|
||||
00011000100110001001100010011000
|
||||
00011001100110011001100110011001
|
||||
00011010100110101001101010011010
|
||||
00011011100110111001101110011011
|
||||
00011100100111001001110010011100
|
||||
00011101100111011001110110011101
|
||||
00011110100111101001111010011110
|
||||
00011111100111111001111110011111
|
||||
00100000101000001010000010100000
|
||||
00100001101000011010000110100001
|
||||
00100010101000101010001010100010
|
||||
00100011101000111010001110100011
|
||||
00100100101001001010010010100100
|
||||
00100101101001011010010110100101
|
||||
00100110101001101010011010100110
|
||||
00100111101001111010011110100111
|
||||
00101000101010001010100010101000
|
||||
00101001101010011010100110101001
|
||||
00101010101010101010101010101010
|
||||
00101011101010111010101110101011
|
||||
00101100101011001010110010101100
|
||||
00101101101011011010110110101101
|
||||
00101110101011101010111010101110
|
||||
00101111101011111010111110101111
|
||||
00110000101100001011000010110000
|
||||
00110001101100011011000110110001
|
||||
00110010101100101011001010110010
|
||||
00110011101100111011001110110011
|
||||
00110100101101001011010010110100
|
||||
00110101101101011011010110110101
|
||||
00110110101101101011011010110110
|
||||
00110111101101111011011110110111
|
||||
00111000101110001011100010111000
|
||||
00111001101110011011100110111001
|
||||
00111010101110101011101010111010
|
||||
00111011101110111011101110111011
|
||||
00111100101111001011110010111100
|
||||
00111101101111011011110110111101
|
||||
00111110101111101011111010111110
|
||||
00111111101111111011111110111111
|
||||
01000000110000001100000011000000
|
||||
01000001110000011100000111000001
|
||||
01000010110000101100001011000010
|
||||
01000011110000111100001111000011
|
||||
01000100110001001100010011000100
|
||||
01000101110001011100010111000101
|
||||
01000110110001101100011011000110
|
||||
01000111110001111100011111000111
|
||||
01001000110010001100100011001000
|
||||
01001001110010011100100111001001
|
||||
01001010110010101100101011001010
|
||||
01001011110010111100101111001011
|
||||
01001100110011001100110011001100
|
||||
01001101110011011100110111001101
|
||||
01001110110011101100111011001110
|
||||
01001111110011111100111111001111
|
||||
01010000110100001101000011010000
|
||||
01010001110100011101000111010001
|
||||
01010010110100101101001011010010
|
||||
01010011110100111101001111010011
|
||||
01010100110101001101010011010100
|
||||
01010101110101011101010111010101
|
||||
01010110110101101101011011010110
|
||||
01010111110101111101011111010111
|
||||
01011000110110001101100011011000
|
||||
01011001110110011101100111011001
|
||||
01011010110110101101101011011010
|
||||
01011011110110111101101111011011
|
||||
01011100110111001101110011011100
|
||||
01011101110111011101110111011101
|
||||
01011110110111101101111011011110
|
||||
01011111110111111101111111011111
|
||||
01100000111000001110000011100000
|
||||
01100001111000011110000111100001
|
||||
01100010111000101110001011100010
|
||||
01100011111000111110001111100011
|
||||
01100100111001001110010011100100
|
||||
01100101111001011110010111100101
|
||||
01100110111001101110011011100110
|
||||
01100111111001111110011111100111
|
||||
01101000111010001110100011101000
|
||||
01101001111010011110100111101001
|
||||
01101010111010101110101011101010
|
||||
01101011111010111110101111101011
|
||||
01101100111011001110110011101100
|
||||
01101101111011011110110111101101
|
||||
01101110111011101110111011101110
|
||||
01101111111011111110111111101111
|
||||
01110000111100001111000011110000
|
||||
01110001111100011111000111110001
|
||||
01110010111100101111001011110010
|
||||
01110011111100111111001111110011
|
||||
01110100111101001111010011110100
|
||||
01110101111101011111010111110101
|
||||
01110110111101101111011011110110
|
||||
01110111111101111111011111110111
|
||||
01111000111110001111100011111000
|
||||
01111001111110011111100111111001
|
||||
01111010111110101111101011111010
|
||||
01111011111110111111101111111011
|
||||
01111100111111001111110011111100
|
||||
01111101111111011111110111111101
|
||||
01111110111111101111111011111110
|
||||
01111111111111111111111111111111
|
||||
@@ -0,0 +1,771 @@
|
||||
RADIX = 10;
|
||||
COEFDATA =
|
||||
-47,
|
||||
-30,
|
||||
-13,
|
||||
4,
|
||||
21,
|
||||
38,
|
||||
56,
|
||||
73,
|
||||
89,
|
||||
106,
|
||||
122,
|
||||
138,
|
||||
153,
|
||||
168,
|
||||
182,
|
||||
196,
|
||||
209,
|
||||
221,
|
||||
232,
|
||||
243,
|
||||
252,
|
||||
261,
|
||||
268,
|
||||
275,
|
||||
281,
|
||||
285,
|
||||
289,
|
||||
291,
|
||||
292,
|
||||
292,
|
||||
291,
|
||||
288,
|
||||
285,
|
||||
280,
|
||||
274,
|
||||
267,
|
||||
259,
|
||||
249,
|
||||
239,
|
||||
228,
|
||||
215,
|
||||
202,
|
||||
187,
|
||||
172,
|
||||
156,
|
||||
139,
|
||||
122,
|
||||
104,
|
||||
85,
|
||||
66,
|
||||
46,
|
||||
26,
|
||||
5,
|
||||
-15,
|
||||
-36,
|
||||
-56,
|
||||
-77,
|
||||
-98,
|
||||
-118,
|
||||
-138,
|
||||
-158,
|
||||
-177,
|
||||
-195,
|
||||
-213,
|
||||
-231,
|
||||
-247,
|
||||
-263,
|
||||
-277,
|
||||
-291,
|
||||
-303,
|
||||
-314,
|
||||
-325,
|
||||
-333,
|
||||
-341,
|
||||
-347,
|
||||
-351,
|
||||
-354,
|
||||
-356,
|
||||
-356,
|
||||
-354,
|
||||
-351,
|
||||
-346,
|
||||
-340,
|
||||
-332,
|
||||
-322,
|
||||
-311,
|
||||
-298,
|
||||
-284,
|
||||
-268,
|
||||
-250,
|
||||
-231,
|
||||
-211,
|
||||
-189,
|
||||
-166,
|
||||
-142,
|
||||
-117,
|
||||
-90,
|
||||
-63,
|
||||
-35,
|
||||
-6,
|
||||
24,
|
||||
54,
|
||||
85,
|
||||
116,
|
||||
147,
|
||||
179,
|
||||
210,
|
||||
242,
|
||||
273,
|
||||
304,
|
||||
334,
|
||||
363,
|
||||
392,
|
||||
420,
|
||||
447,
|
||||
473,
|
||||
497,
|
||||
520,
|
||||
542,
|
||||
562,
|
||||
580,
|
||||
596,
|
||||
611,
|
||||
623,
|
||||
633,
|
||||
641,
|
||||
647,
|
||||
650,
|
||||
650,
|
||||
649,
|
||||
644,
|
||||
637,
|
||||
627,
|
||||
615,
|
||||
600,
|
||||
582,
|
||||
562,
|
||||
538,
|
||||
513,
|
||||
484,
|
||||
453,
|
||||
419,
|
||||
383,
|
||||
345,
|
||||
304,
|
||||
261,
|
||||
216,
|
||||
169,
|
||||
119,
|
||||
69,
|
||||
16,
|
||||
-38,
|
||||
-93,
|
||||
-150,
|
||||
-207,
|
||||
-265,
|
||||
-324,
|
||||
-383,
|
||||
-443,
|
||||
-502,
|
||||
-562,
|
||||
-621,
|
||||
-679,
|
||||
-736,
|
||||
-793,
|
||||
-848,
|
||||
-902,
|
||||
-954,
|
||||
-1004,
|
||||
-1052,
|
||||
-1097,
|
||||
-1140,
|
||||
-1181,
|
||||
-1218,
|
||||
-1252,
|
||||
-1283,
|
||||
-1310,
|
||||
-1333,
|
||||
-1353,
|
||||
-1369,
|
||||
-1380,
|
||||
-1387,
|
||||
-1389,
|
||||
-1387,
|
||||
-1381,
|
||||
-1369,
|
||||
-1353,
|
||||
-1332,
|
||||
-1306,
|
||||
-1274,
|
||||
-1238,
|
||||
-1197,
|
||||
-1151,
|
||||
-1100,
|
||||
-1044,
|
||||
-983,
|
||||
-918,
|
||||
-848,
|
||||
-773,
|
||||
-694,
|
||||
-611,
|
||||
-524,
|
||||
-432,
|
||||
-337,
|
||||
-239,
|
||||
-137,
|
||||
-33,
|
||||
74,
|
||||
184,
|
||||
296,
|
||||
410,
|
||||
525,
|
||||
642,
|
||||
759,
|
||||
877,
|
||||
995,
|
||||
1113,
|
||||
1230,
|
||||
1346,
|
||||
1461,
|
||||
1575,
|
||||
1686,
|
||||
1794,
|
||||
1900,
|
||||
2002,
|
||||
2101,
|
||||
2195,
|
||||
2285,
|
||||
2371,
|
||||
2451,
|
||||
2525,
|
||||
2593,
|
||||
2655,
|
||||
2711,
|
||||
2759,
|
||||
2800,
|
||||
2833,
|
||||
2859,
|
||||
2876,
|
||||
2885,
|
||||
2886,
|
||||
2877,
|
||||
2860,
|
||||
2833,
|
||||
2798,
|
||||
2752,
|
||||
2698,
|
||||
2633,
|
||||
2559,
|
||||
2476,
|
||||
2382,
|
||||
2280,
|
||||
2168,
|
||||
2046,
|
||||
1915,
|
||||
1775,
|
||||
1627,
|
||||
1469,
|
||||
1304,
|
||||
1130,
|
||||
948,
|
||||
759,
|
||||
563,
|
||||
360,
|
||||
151,
|
||||
-64,
|
||||
-284,
|
||||
-509,
|
||||
-739,
|
||||
-972,
|
||||
-1208,
|
||||
-1447,
|
||||
-1687,
|
||||
-1929,
|
||||
-2172,
|
||||
-2414,
|
||||
-2656,
|
||||
-2896,
|
||||
-3133,
|
||||
-3368,
|
||||
-3600,
|
||||
-3826,
|
||||
-4048,
|
||||
-4263,
|
||||
-4472,
|
||||
-4673,
|
||||
-4866,
|
||||
-5050,
|
||||
-5224,
|
||||
-5387,
|
||||
-5539,
|
||||
-5679,
|
||||
-5807,
|
||||
-5920,
|
||||
-6020,
|
||||
-6104,
|
||||
-6173,
|
||||
-6226,
|
||||
-6262,
|
||||
-6281,
|
||||
-6282,
|
||||
-6264,
|
||||
-6228,
|
||||
-6171,
|
||||
-6096,
|
||||
-5999,
|
||||
-5882,
|
||||
-5745,
|
||||
-5585,
|
||||
-5405,
|
||||
-5203,
|
||||
-4978,
|
||||
-4732,
|
||||
-4464,
|
||||
-4174,
|
||||
-3861,
|
||||
-3527,
|
||||
-3170,
|
||||
-2792,
|
||||
-2392,
|
||||
-1971,
|
||||
-1529,
|
||||
-1066,
|
||||
-582,
|
||||
-79,
|
||||
444,
|
||||
985,
|
||||
1545,
|
||||
2123,
|
||||
2717,
|
||||
3328,
|
||||
3955,
|
||||
4597,
|
||||
5253,
|
||||
5921,
|
||||
6603,
|
||||
7295,
|
||||
7998,
|
||||
8711,
|
||||
9432,
|
||||
10160,
|
||||
10895,
|
||||
11635,
|
||||
12379,
|
||||
13126,
|
||||
13875,
|
||||
14624,
|
||||
15374,
|
||||
16121,
|
||||
16866,
|
||||
17607,
|
||||
18342,
|
||||
19071,
|
||||
19793,
|
||||
20505,
|
||||
21208,
|
||||
21900,
|
||||
22579,
|
||||
23245,
|
||||
23896,
|
||||
24532,
|
||||
25151,
|
||||
25752,
|
||||
26334,
|
||||
26896,
|
||||
27438,
|
||||
27957,
|
||||
28455,
|
||||
28928,
|
||||
29377,
|
||||
29801,
|
||||
30200,
|
||||
30571,
|
||||
30915,
|
||||
31232,
|
||||
31520,
|
||||
31779,
|
||||
32009,
|
||||
32209,
|
||||
32379,
|
||||
32518,
|
||||
32627,
|
||||
32704,
|
||||
32751,
|
||||
32767,
|
||||
32751,
|
||||
32704,
|
||||
32627,
|
||||
32518,
|
||||
32379,
|
||||
32209,
|
||||
32009,
|
||||
31779,
|
||||
31520,
|
||||
31232,
|
||||
30915,
|
||||
30571,
|
||||
30200,
|
||||
29801,
|
||||
29377,
|
||||
28928,
|
||||
28455,
|
||||
27957,
|
||||
27438,
|
||||
26896,
|
||||
26334,
|
||||
25752,
|
||||
25151,
|
||||
24532,
|
||||
23896,
|
||||
23245,
|
||||
22579,
|
||||
21900,
|
||||
21208,
|
||||
20505,
|
||||
19793,
|
||||
19071,
|
||||
18342,
|
||||
17607,
|
||||
16866,
|
||||
16121,
|
||||
15374,
|
||||
14624,
|
||||
13875,
|
||||
13126,
|
||||
12379,
|
||||
11635,
|
||||
10895,
|
||||
10160,
|
||||
9432,
|
||||
8711,
|
||||
7998,
|
||||
7295,
|
||||
6603,
|
||||
5921,
|
||||
5253,
|
||||
4597,
|
||||
3955,
|
||||
3328,
|
||||
2717,
|
||||
2123,
|
||||
1545,
|
||||
985,
|
||||
444,
|
||||
-79,
|
||||
-582,
|
||||
-1066,
|
||||
-1529,
|
||||
-1971,
|
||||
-2392,
|
||||
-2792,
|
||||
-3170,
|
||||
-3527,
|
||||
-3861,
|
||||
-4174,
|
||||
-4464,
|
||||
-4732,
|
||||
-4978,
|
||||
-5203,
|
||||
-5405,
|
||||
-5585,
|
||||
-5745,
|
||||
-5882,
|
||||
-5999,
|
||||
-6096,
|
||||
-6171,
|
||||
-6228,
|
||||
-6264,
|
||||
-6282,
|
||||
-6281,
|
||||
-6262,
|
||||
-6226,
|
||||
-6173,
|
||||
-6104,
|
||||
-6020,
|
||||
-5920,
|
||||
-5807,
|
||||
-5679,
|
||||
-5539,
|
||||
-5387,
|
||||
-5224,
|
||||
-5050,
|
||||
-4866,
|
||||
-4673,
|
||||
-4472,
|
||||
-4263,
|
||||
-4048,
|
||||
-3826,
|
||||
-3600,
|
||||
-3368,
|
||||
-3133,
|
||||
-2896,
|
||||
-2656,
|
||||
-2414,
|
||||
-2172,
|
||||
-1929,
|
||||
-1687,
|
||||
-1447,
|
||||
-1208,
|
||||
-972,
|
||||
-739,
|
||||
-509,
|
||||
-284,
|
||||
-64,
|
||||
151,
|
||||
360,
|
||||
563,
|
||||
759,
|
||||
948,
|
||||
1130,
|
||||
1304,
|
||||
1469,
|
||||
1627,
|
||||
1775,
|
||||
1915,
|
||||
2046,
|
||||
2168,
|
||||
2280,
|
||||
2382,
|
||||
2476,
|
||||
2559,
|
||||
2633,
|
||||
2698,
|
||||
2752,
|
||||
2798,
|
||||
2833,
|
||||
2860,
|
||||
2877,
|
||||
2886,
|
||||
2885,
|
||||
2876,
|
||||
2859,
|
||||
2833,
|
||||
2800,
|
||||
2759,
|
||||
2711,
|
||||
2655,
|
||||
2593,
|
||||
2525,
|
||||
2451,
|
||||
2371,
|
||||
2285,
|
||||
2195,
|
||||
2101,
|
||||
2002,
|
||||
1900,
|
||||
1794,
|
||||
1686,
|
||||
1575,
|
||||
1461,
|
||||
1346,
|
||||
1230,
|
||||
1113,
|
||||
995,
|
||||
877,
|
||||
759,
|
||||
642,
|
||||
525,
|
||||
410,
|
||||
296,
|
||||
184,
|
||||
74,
|
||||
-33,
|
||||
-137,
|
||||
-239,
|
||||
-337,
|
||||
-432,
|
||||
-524,
|
||||
-611,
|
||||
-694,
|
||||
-773,
|
||||
-848,
|
||||
-918,
|
||||
-983,
|
||||
-1044,
|
||||
-1100,
|
||||
-1151,
|
||||
-1197,
|
||||
-1238,
|
||||
-1274,
|
||||
-1306,
|
||||
-1332,
|
||||
-1353,
|
||||
-1369,
|
||||
-1381,
|
||||
-1387,
|
||||
-1389,
|
||||
-1387,
|
||||
-1380,
|
||||
-1369,
|
||||
-1353,
|
||||
-1333,
|
||||
-1310,
|
||||
-1283,
|
||||
-1252,
|
||||
-1218,
|
||||
-1181,
|
||||
-1140,
|
||||
-1097,
|
||||
-1052,
|
||||
-1004,
|
||||
-954,
|
||||
-902,
|
||||
-848,
|
||||
-793,
|
||||
-736,
|
||||
-679,
|
||||
-621,
|
||||
-562,
|
||||
-502,
|
||||
-443,
|
||||
-383,
|
||||
-324,
|
||||
-265,
|
||||
-207,
|
||||
-150,
|
||||
-93,
|
||||
-38,
|
||||
16,
|
||||
69,
|
||||
119,
|
||||
169,
|
||||
216,
|
||||
261,
|
||||
304,
|
||||
345,
|
||||
383,
|
||||
419,
|
||||
453,
|
||||
484,
|
||||
513,
|
||||
538,
|
||||
562,
|
||||
582,
|
||||
600,
|
||||
615,
|
||||
627,
|
||||
637,
|
||||
644,
|
||||
649,
|
||||
650,
|
||||
650,
|
||||
647,
|
||||
641,
|
||||
633,
|
||||
623,
|
||||
611,
|
||||
596,
|
||||
580,
|
||||
562,
|
||||
542,
|
||||
520,
|
||||
497,
|
||||
473,
|
||||
447,
|
||||
420,
|
||||
392,
|
||||
363,
|
||||
334,
|
||||
304,
|
||||
273,
|
||||
242,
|
||||
210,
|
||||
179,
|
||||
147,
|
||||
116,
|
||||
85,
|
||||
54,
|
||||
24,
|
||||
-6,
|
||||
-35,
|
||||
-63,
|
||||
-90,
|
||||
-117,
|
||||
-142,
|
||||
-166,
|
||||
-189,
|
||||
-211,
|
||||
-231,
|
||||
-250,
|
||||
-268,
|
||||
-284,
|
||||
-298,
|
||||
-311,
|
||||
-322,
|
||||
-332,
|
||||
-340,
|
||||
-346,
|
||||
-351,
|
||||
-354,
|
||||
-356,
|
||||
-356,
|
||||
-354,
|
||||
-351,
|
||||
-347,
|
||||
-341,
|
||||
-333,
|
||||
-325,
|
||||
-314,
|
||||
-303,
|
||||
-291,
|
||||
-277,
|
||||
-263,
|
||||
-247,
|
||||
-231,
|
||||
-213,
|
||||
-195,
|
||||
-177,
|
||||
-158,
|
||||
-138,
|
||||
-118,
|
||||
-98,
|
||||
-77,
|
||||
-56,
|
||||
-36,
|
||||
-15,
|
||||
5,
|
||||
26,
|
||||
46,
|
||||
66,
|
||||
85,
|
||||
104,
|
||||
122,
|
||||
139,
|
||||
156,
|
||||
172,
|
||||
187,
|
||||
202,
|
||||
215,
|
||||
228,
|
||||
239,
|
||||
249,
|
||||
259,
|
||||
267,
|
||||
274,
|
||||
280,
|
||||
285,
|
||||
288,
|
||||
291,
|
||||
292,
|
||||
292,
|
||||
291,
|
||||
289,
|
||||
285,
|
||||
281,
|
||||
275,
|
||||
268,
|
||||
261,
|
||||
252,
|
||||
243,
|
||||
232,
|
||||
221,
|
||||
209,
|
||||
196,
|
||||
182,
|
||||
168,
|
||||
153,
|
||||
138,
|
||||
122,
|
||||
106,
|
||||
89,
|
||||
73,
|
||||
56,
|
||||
38,
|
||||
21,
|
||||
4,
|
||||
-13,
|
||||
-30,
|
||||
-47;
|
||||
@@ -0,0 +1,832 @@
|
||||
ffffffd1 0 0 0 0 0 0
|
||||
ffffffe2 0 0 0 0 1 0
|
||||
fffffff3 0 0 0 0 2 0
|
||||
00000004 0 0 0 0 3 0
|
||||
00000015 0 0 0 0 4 0
|
||||
00000026 0 0 0 0 5 0
|
||||
00000038 0 0 0 0 6 0
|
||||
00000049 0 0 0 0 7 0
|
||||
00000059 0 0 0 0 8 0
|
||||
0000006a 0 0 0 0 9 0
|
||||
0000007a 0 0 0 0 10 0
|
||||
0000008a 0 0 0 0 11 0
|
||||
00000099 0 0 0 0 12 0
|
||||
000000a8 0 0 0 0 13 0
|
||||
000000b6 0 0 0 0 14 0
|
||||
000000c4 0 0 0 0 15 0
|
||||
000000d1 0 0 0 0 16 0
|
||||
000000dd 0 0 0 0 17 0
|
||||
000000e8 0 0 0 0 18 0
|
||||
000000f3 0 0 0 0 19 0
|
||||
000000fc 0 0 0 0 20 0
|
||||
00000105 0 0 0 0 21 0
|
||||
0000010c 0 0 0 0 22 0
|
||||
00000113 0 0 0 0 23 0
|
||||
00000119 0 0 0 0 24 0
|
||||
0000011d 0 0 0 0 25 0
|
||||
00000121 0 0 0 0 26 0
|
||||
00000123 0 0 0 0 27 0
|
||||
00000124 0 0 0 0 28 0
|
||||
00000124 0 0 0 0 29 0
|
||||
00000123 0 0 0 0 30 0
|
||||
00000120 0 0 0 0 31 0
|
||||
0000011d 0 0 0 0 32 0
|
||||
00000118 0 0 0 0 33 0
|
||||
00000112 0 0 0 0 34 0
|
||||
0000010b 0 0 0 0 35 0
|
||||
00000103 0 0 0 0 36 0
|
||||
000000f9 0 0 0 0 37 0
|
||||
000000ef 0 0 0 0 38 0
|
||||
000000e4 0 0 0 0 39 0
|
||||
000000d7 0 0 0 0 40 0
|
||||
000000ca 0 0 0 0 41 0
|
||||
000000bb 0 0 0 0 42 0
|
||||
000000ac 0 0 0 0 43 0
|
||||
0000009c 0 0 0 0 44 0
|
||||
0000008b 0 0 0 0 45 0
|
||||
0000007a 0 0 0 0 46 0
|
||||
00000068 0 0 0 0 47 0
|
||||
00000055 0 0 0 0 48 0
|
||||
00000042 0 0 0 0 49 0
|
||||
0000002e 0 0 0 0 50 0
|
||||
0000001a 0 0 0 0 51 0
|
||||
00000005 0 0 0 0 52 0
|
||||
fffffff1 0 0 0 0 53 0
|
||||
ffffffdc 0 0 0 0 54 0
|
||||
ffffffc8 0 0 0 0 55 0
|
||||
ffffffb3 0 0 0 0 56 0
|
||||
ffffff9e 0 0 0 0 57 0
|
||||
ffffff8a 0 0 0 0 58 0
|
||||
ffffff76 0 0 0 0 59 0
|
||||
ffffff62 0 0 0 0 60 0
|
||||
ffffff4f 0 0 0 0 61 0
|
||||
ffffff3d 0 0 0 0 62 0
|
||||
ffffff2b 0 0 0 0 63 0
|
||||
ffffff19 0 1 0 0 64 0
|
||||
ffffff09 0 1 0 0 65 0
|
||||
fffffef9 0 1 0 0 66 0
|
||||
fffffeeb 0 1 0 0 67 0
|
||||
fffffedd 0 1 0 0 68 0
|
||||
fffffed1 0 1 0 0 69 0
|
||||
fffffec6 0 1 0 0 70 0
|
||||
fffffebb 0 1 0 0 71 0
|
||||
fffffeb3 0 1 0 0 72 0
|
||||
fffffeab 0 1 0 0 73 0
|
||||
fffffea5 0 1 0 0 74 0
|
||||
fffffea1 0 1 0 0 75 0
|
||||
fffffe9e 0 1 0 0 76 0
|
||||
fffffe9c 0 1 0 0 77 0
|
||||
fffffe9c 0 1 0 0 78 0
|
||||
fffffe9e 0 1 0 0 79 0
|
||||
fffffea1 0 1 0 0 80 0
|
||||
fffffea6 0 1 0 0 81 0
|
||||
fffffeac 0 1 0 0 82 0
|
||||
fffffeb4 0 1 0 0 83 0
|
||||
fffffebe 0 1 0 0 84 0
|
||||
fffffec9 0 1 0 0 85 0
|
||||
fffffed6 0 1 0 0 86 0
|
||||
fffffee4 0 1 0 0 87 0
|
||||
fffffef4 0 1 0 0 88 0
|
||||
ffffff06 0 1 0 0 89 0
|
||||
ffffff19 0 1 0 0 90 0
|
||||
ffffff2d 0 1 0 0 91 0
|
||||
ffffff43 0 1 0 0 92 0
|
||||
ffffff5a 0 1 0 0 93 0
|
||||
ffffff72 0 1 0 0 94 0
|
||||
ffffff8b 0 1 0 0 95 0
|
||||
ffffffa6 0 1 0 0 96 0
|
||||
ffffffc1 0 1 0 0 97 0
|
||||
ffffffdd 0 1 0 0 98 0
|
||||
fffffffa 0 1 0 0 99 0
|
||||
00000018 0 1 0 0 100 0
|
||||
00000036 0 1 0 0 101 0
|
||||
00000055 0 1 0 0 102 0
|
||||
00000074 0 1 0 0 103 0
|
||||
00000093 0 1 0 0 104 0
|
||||
000000b3 0 1 0 0 105 0
|
||||
000000d2 0 1 0 0 106 0
|
||||
000000f2 0 1 0 0 107 0
|
||||
00000111 0 1 0 0 108 0
|
||||
00000130 0 1 0 0 109 0
|
||||
0000014e 0 1 0 0 110 0
|
||||
0000016b 0 1 0 0 111 0
|
||||
00000188 0 1 0 0 112 0
|
||||
000001a4 0 1 0 0 113 0
|
||||
000001bf 0 1 0 0 114 0
|
||||
000001d9 0 1 0 0 115 0
|
||||
000001f1 0 1 0 0 116 0
|
||||
00000208 0 1 0 0 117 0
|
||||
0000021e 0 1 0 0 118 0
|
||||
00000232 0 1 0 0 119 0
|
||||
00000244 0 1 0 0 120 0
|
||||
00000254 0 1 0 0 121 0
|
||||
00000263 0 1 0 0 122 0
|
||||
0000026f 0 1 0 0 123 0
|
||||
00000279 0 1 0 0 124 0
|
||||
00000281 0 1 0 0 125 0
|
||||
00000287 0 1 0 0 126 0
|
||||
0000028a 0 1 0 0 127 0
|
||||
0000028a 0 2 0 0 128 0
|
||||
00000289 0 2 0 0 129 0
|
||||
00000284 0 2 0 0 130 0
|
||||
0000027d 0 2 0 0 131 0
|
||||
00000273 0 2 0 0 132 0
|
||||
00000267 0 2 0 0 133 0
|
||||
00000258 0 2 0 0 134 0
|
||||
00000246 0 2 0 0 135 0
|
||||
00000232 0 2 0 0 136 0
|
||||
0000021a 0 2 0 0 137 0
|
||||
00000201 0 2 0 0 138 0
|
||||
000001e4 0 2 0 0 139 0
|
||||
000001c5 0 2 0 0 140 0
|
||||
000001a3 0 2 0 0 141 0
|
||||
0000017f 0 2 0 0 142 0
|
||||
00000159 0 2 0 0 143 0
|
||||
00000130 0 2 0 0 144 0
|
||||
00000105 0 2 0 0 145 0
|
||||
000000d8 0 2 0 0 146 0
|
||||
000000a9 0 2 0 0 147 0
|
||||
00000077 0 2 0 0 148 0
|
||||
00000045 0 2 0 0 149 0
|
||||
00000010 0 2 0 0 150 0
|
||||
ffffffda 0 2 0 0 151 0
|
||||
ffffffa3 0 2 0 0 152 0
|
||||
ffffff6a 0 2 0 0 153 0
|
||||
ffffff31 0 2 0 0 154 0
|
||||
fffffef7 0 2 0 0 155 0
|
||||
fffffebc 0 2 0 0 156 0
|
||||
fffffe81 0 2 0 0 157 0
|
||||
fffffe45 0 2 0 0 158 0
|
||||
fffffe0a 0 2 0 0 159 0
|
||||
fffffdce 0 2 0 0 160 0
|
||||
fffffd93 0 2 0 0 161 0
|
||||
fffffd59 0 2 0 0 162 0
|
||||
fffffd20 0 2 0 0 163 0
|
||||
fffffce7 0 2 0 0 164 0
|
||||
fffffcb0 0 2 0 0 165 0
|
||||
fffffc7a 0 2 0 0 166 0
|
||||
fffffc46 0 2 0 0 167 0
|
||||
fffffc14 0 2 0 0 168 0
|
||||
fffffbe4 0 2 0 0 169 0
|
||||
fffffbb7 0 2 0 0 170 0
|
||||
fffffb8c 0 2 0 0 171 0
|
||||
fffffb63 0 2 0 0 172 0
|
||||
fffffb3e 0 2 0 0 173 0
|
||||
fffffb1c 0 2 0 0 174 0
|
||||
fffffafd 0 2 0 0 175 0
|
||||
fffffae2 0 2 0 0 176 0
|
||||
fffffacb 0 2 0 0 177 0
|
||||
fffffab7 0 2 0 0 178 0
|
||||
fffffaa7 0 2 0 0 179 0
|
||||
fffffa9c 0 2 0 0 180 0
|
||||
fffffa95 0 2 0 0 181 0
|
||||
fffffa93 0 2 0 0 182 0
|
||||
fffffa95 0 2 0 0 183 0
|
||||
fffffa9b 0 2 0 0 184 0
|
||||
fffffaa7 0 2 0 0 185 0
|
||||
fffffab7 0 2 0 0 186 0
|
||||
fffffacc 0 2 0 0 187 0
|
||||
fffffae6 0 2 0 0 188 0
|
||||
fffffb06 0 2 0 0 189 0
|
||||
fffffb2a 0 2 0 0 190 0
|
||||
fffffb53 0 2 0 0 191 0
|
||||
fffffb81 0 3 0 0 192 0
|
||||
fffffbb4 0 3 0 0 193 0
|
||||
fffffbec 0 3 0 0 194 0
|
||||
fffffc29 0 3 0 0 195 0
|
||||
fffffc6a 0 3 0 0 196 0
|
||||
fffffcb0 0 3 0 0 197 0
|
||||
fffffcfb 0 3 0 0 198 0
|
||||
fffffd4a 0 3 0 0 199 0
|
||||
fffffd9d 0 3 0 0 200 0
|
||||
fffffdf4 0 3 0 0 201 0
|
||||
fffffe50 0 3 0 0 202 0
|
||||
fffffeaf 0 3 0 0 203 0
|
||||
ffffff11 0 3 0 0 204 0
|
||||
ffffff77 0 3 0 0 205 0
|
||||
ffffffdf 0 3 0 0 206 0
|
||||
0000004a 0 3 0 0 207 0
|
||||
000000b8 0 3 0 0 208 0
|
||||
00000128 0 3 0 0 209 0
|
||||
0000019a 0 3 0 0 210 0
|
||||
0000020d 0 3 0 0 211 0
|
||||
00000282 0 3 0 0 212 0
|
||||
000002f7 0 3 0 0 213 0
|
||||
0000036d 0 3 0 0 214 0
|
||||
000003e3 0 3 0 0 215 0
|
||||
00000459 0 3 0 0 216 0
|
||||
000004ce 0 3 0 0 217 0
|
||||
00000542 0 3 0 0 218 0
|
||||
000005b5 0 3 0 0 219 0
|
||||
00000627 0 3 0 0 220 0
|
||||
00000696 0 3 0 0 221 0
|
||||
00000702 0 3 0 0 222 0
|
||||
0000076c 0 3 0 0 223 0
|
||||
000007d2 0 3 0 0 224 0
|
||||
00000835 0 3 0 0 225 0
|
||||
00000893 0 3 0 0 226 0
|
||||
000008ed 0 3 0 0 227 0
|
||||
00000943 0 3 0 0 228 0
|
||||
00000993 0 3 0 0 229 0
|
||||
000009dd 0 3 0 0 230 0
|
||||
00000a21 0 3 0 0 231 0
|
||||
00000a5f 0 3 0 0 232 0
|
||||
00000a97 0 3 0 0 233 0
|
||||
00000ac7 0 3 0 0 234 0
|
||||
00000af0 0 3 0 0 235 0
|
||||
00000b11 0 3 0 0 236 0
|
||||
00000b2b 0 3 0 0 237 0
|
||||
00000b3c 0 3 0 0 238 0
|
||||
00000b45 0 3 0 0 239 0
|
||||
00000b46 0 3 0 0 240 0
|
||||
00000b3d 0 3 0 0 241 0
|
||||
00000b2c 0 3 0 0 242 0
|
||||
00000b11 0 3 0 0 243 0
|
||||
00000aee 0 3 0 0 244 0
|
||||
00000ac0 0 3 0 0 245 0
|
||||
00000a8a 0 3 0 0 246 0
|
||||
00000a49 0 3 0 0 247 0
|
||||
000009ff 0 3 0 0 248 0
|
||||
000009ac 0 3 0 0 249 0
|
||||
0000094e 0 3 0 0 250 0
|
||||
000008e8 0 3 0 0 251 0
|
||||
00000878 0 3 0 0 252 0
|
||||
000007fe 0 3 0 0 253 0
|
||||
0000077b 0 3 0 0 254 0
|
||||
000006ef 0 3 0 0 255 0
|
||||
0000065b 0 4 0 0 256 0
|
||||
000005bd 0 4 0 0 257 0
|
||||
00000518 0 4 0 0 258 0
|
||||
0000046a 0 4 0 0 259 0
|
||||
000003b4 0 4 0 0 260 0
|
||||
000002f7 0 4 0 0 261 0
|
||||
00000233 0 4 0 0 262 0
|
||||
00000168 0 4 0 0 263 0
|
||||
00000097 0 4 0 0 264 0
|
||||
ffffffc0 0 4 0 0 265 0
|
||||
fffffee4 0 4 0 0 266 0
|
||||
fffffe03 0 4 0 0 267 0
|
||||
fffffd1d 0 4 0 0 268 0
|
||||
fffffc34 0 4 0 0 269 0
|
||||
fffffb48 0 4 0 0 270 0
|
||||
fffffa59 0 4 0 0 271 0
|
||||
fffff969 0 4 0 0 272 0
|
||||
fffff877 0 4 0 0 273 0
|
||||
fffff784 0 4 0 0 274 0
|
||||
fffff692 0 4 0 0 275 0
|
||||
fffff5a0 0 4 0 0 276 0
|
||||
fffff4b0 0 4 0 0 277 0
|
||||
fffff3c3 0 4 0 0 278 0
|
||||
fffff2d8 0 4 0 0 279 0
|
||||
fffff1f0 0 4 0 0 280 0
|
||||
fffff10e 0 4 0 0 281 0
|
||||
fffff030 0 4 0 0 282 0
|
||||
ffffef59 0 4 0 0 283 0
|
||||
ffffee88 0 4 0 0 284 0
|
||||
ffffedbf 0 4 0 0 285 0
|
||||
ffffecfe 0 4 0 0 286 0
|
||||
ffffec46 0 4 0 0 287 0
|
||||
ffffeb98 0 4 0 0 288 0
|
||||
ffffeaf5 0 4 0 0 289 0
|
||||
ffffea5d 0 4 0 0 290 0
|
||||
ffffe9d1 0 4 0 0 291 0
|
||||
ffffe951 0 4 0 0 292 0
|
||||
ffffe8e0 0 4 0 0 293 0
|
||||
ffffe87c 0 4 0 0 294 0
|
||||
ffffe828 0 4 0 0 295 0
|
||||
ffffe7e3 0 4 0 0 296 0
|
||||
ffffe7ae 0 4 0 0 297 0
|
||||
ffffe78a 0 4 0 0 298 0
|
||||
ffffe777 0 4 0 0 299 0
|
||||
ffffe776 0 4 0 0 300 0
|
||||
ffffe788 0 4 0 0 301 0
|
||||
ffffe7ac 0 4 0 0 302 0
|
||||
ffffe7e5 0 4 0 0 303 0
|
||||
ffffe830 0 4 0 0 304 0
|
||||
ffffe891 0 4 0 0 305 0
|
||||
ffffe906 0 4 0 0 306 0
|
||||
ffffe98f 0 4 0 0 307 0
|
||||
ffffea2f 0 4 0 0 308 0
|
||||
ffffeae3 0 4 0 0 309 0
|
||||
ffffebad 0 4 0 0 310 0
|
||||
ffffec8e 0 4 0 0 311 0
|
||||
ffffed84 0 4 0 0 312 0
|
||||
ffffee90 0 4 0 0 313 0
|
||||
ffffefb2 0 4 0 0 314 0
|
||||
fffff0eb 0 4 0 0 315 0
|
||||
fffff239 0 4 0 0 316 0
|
||||
fffff39e 0 4 0 0 317 0
|
||||
fffff518 0 4 0 0 318 0
|
||||
fffff6a8 0 4 0 0 319 0
|
||||
fffff84d 0 5 0 0 320 0
|
||||
fffffa07 0 5 0 0 321 0
|
||||
fffffbd6 0 5 0 0 322 0
|
||||
fffffdba 0 5 0 0 323 0
|
||||
ffffffb1 0 5 0 0 324 0
|
||||
000001bc 0 5 0 0 325 0
|
||||
000003d9 0 5 0 0 326 0
|
||||
00000609 0 5 0 0 327 0
|
||||
0000084b 0 5 0 0 328 0
|
||||
00000a9d 0 5 0 0 329 0
|
||||
00000d00 0 5 0 0 330 0
|
||||
00000f73 0 5 0 0 331 0
|
||||
000011f5 0 5 0 0 332 0
|
||||
00001485 0 5 0 0 333 0
|
||||
00001721 0 5 0 0 334 0
|
||||
000019cb 0 5 0 0 335 0
|
||||
00001c7f 0 5 0 0 336 0
|
||||
00001f3e 0 5 0 0 337 0
|
||||
00002207 0 5 0 0 338 0
|
||||
000024d8 0 5 0 0 339 0
|
||||
000027b0 0 5 0 0 340 0
|
||||
00002a8f 0 5 0 0 341 0
|
||||
00002d73 0 5 0 0 342 0
|
||||
0000305b 0 5 0 0 343 0
|
||||
00003346 0 5 0 0 344 0
|
||||
00003633 0 5 0 0 345 0
|
||||
00003920 0 5 0 0 346 0
|
||||
00003c0e 0 5 0 0 347 0
|
||||
00003ef9 0 5 0 0 348 0
|
||||
000041e2 0 5 0 0 349 0
|
||||
000044c7 0 5 0 0 350 0
|
||||
000047a6 0 5 0 0 351 0
|
||||
00004a7f 0 5 0 0 352 0
|
||||
00004d51 0 5 0 0 353 0
|
||||
00005019 0 5 0 0 354 0
|
||||
000052d8 0 5 0 0 355 0
|
||||
0000558c 0 5 0 0 356 0
|
||||
00005833 0 5 0 0 357 0
|
||||
00005acd 0 5 0 0 358 0
|
||||
00005d58 0 5 0 0 359 0
|
||||
00005fd4 0 5 0 0 360 0
|
||||
0000623f 0 5 0 0 361 0
|
||||
00006498 0 5 0 0 362 0
|
||||
000066de 0 5 0 0 363 0
|
||||
00006910 0 5 0 0 364 0
|
||||
00006b2e 0 5 0 0 365 0
|
||||
00006d35 0 5 0 0 366 0
|
||||
00006f27 0 5 0 0 367 0
|
||||
00007100 0 5 0 0 368 0
|
||||
000072c1 0 5 0 0 369 0
|
||||
00007469 0 5 0 0 370 0
|
||||
000075f8 0 5 0 0 371 0
|
||||
0000776b 0 5 0 0 372 0
|
||||
000078c3 0 5 0 0 373 0
|
||||
00007a00 0 5 0 0 374 0
|
||||
00007b20 0 5 0 0 375 0
|
||||
00007c23 0 5 0 0 376 0
|
||||
00007d09 0 5 0 0 377 0
|
||||
00007dd1 0 5 0 0 378 0
|
||||
00007e7b 0 5 0 0 379 0
|
||||
00007f06 0 5 0 0 380 0
|
||||
00007f73 0 5 0 0 381 0
|
||||
00007fc0 0 5 0 0 382 0
|
||||
00007fef 0 5 0 0 383 0
|
||||
00007fff 0 6 0 0 384 0
|
||||
00007fef 0 6 0 0 385 0
|
||||
00007fc0 0 6 0 0 386 0
|
||||
00007f73 0 6 0 0 387 0
|
||||
00007f06 0 6 0 0 388 0
|
||||
00007e7b 0 6 0 0 389 0
|
||||
00007dd1 0 6 0 0 390 0
|
||||
00007d09 0 6 0 0 391 0
|
||||
00007c23 0 6 0 0 392 0
|
||||
00007b20 0 6 0 0 393 0
|
||||
00007a00 0 6 0 0 394 0
|
||||
000078c3 0 6 0 0 395 0
|
||||
0000776b 0 6 0 0 396 0
|
||||
000075f8 0 6 0 0 397 0
|
||||
00007469 0 6 0 0 398 0
|
||||
000072c1 0 6 0 0 399 0
|
||||
00007100 0 6 0 0 400 0
|
||||
00006f27 0 6 0 0 401 0
|
||||
00006d35 0 6 0 0 402 0
|
||||
00006b2e 0 6 0 0 403 0
|
||||
00006910 0 6 0 0 404 0
|
||||
000066de 0 6 0 0 405 0
|
||||
00006498 0 6 0 0 406 0
|
||||
0000623f 0 6 0 0 407 0
|
||||
00005fd4 0 6 0 0 408 0
|
||||
00005d58 0 6 0 0 409 0
|
||||
00005acd 0 6 0 0 410 0
|
||||
00005833 0 6 0 0 411 0
|
||||
0000558c 0 6 0 0 412 0
|
||||
000052d8 0 6 0 0 413 0
|
||||
00005019 0 6 0 0 414 0
|
||||
00004d51 0 6 0 0 415 0
|
||||
00004a7f 0 6 0 0 416 0
|
||||
000047a6 0 6 0 0 417 0
|
||||
000044c7 0 6 0 0 418 0
|
||||
000041e2 0 6 0 0 419 0
|
||||
00003ef9 0 6 0 0 420 0
|
||||
00003c0e 0 6 0 0 421 0
|
||||
00003920 0 6 0 0 422 0
|
||||
00003633 0 6 0 0 423 0
|
||||
00003346 0 6 0 0 424 0
|
||||
0000305b 0 6 0 0 425 0
|
||||
00002d73 0 6 0 0 426 0
|
||||
00002a8f 0 6 0 0 427 0
|
||||
000027b0 0 6 0 0 428 0
|
||||
000024d8 0 6 0 0 429 0
|
||||
00002207 0 6 0 0 430 0
|
||||
00001f3e 0 6 0 0 431 0
|
||||
00001c7f 0 6 0 0 432 0
|
||||
000019cb 0 6 0 0 433 0
|
||||
00001721 0 6 0 0 434 0
|
||||
00001485 0 6 0 0 435 0
|
||||
000011f5 0 6 0 0 436 0
|
||||
00000f73 0 6 0 0 437 0
|
||||
00000d00 0 6 0 0 438 0
|
||||
00000a9d 0 6 0 0 439 0
|
||||
0000084b 0 6 0 0 440 0
|
||||
00000609 0 6 0 0 441 0
|
||||
000003d9 0 6 0 0 442 0
|
||||
000001bc 0 6 0 0 443 0
|
||||
ffffffb1 0 6 0 0 444 0
|
||||
fffffdba 0 6 0 0 445 0
|
||||
fffffbd6 0 6 0 0 446 0
|
||||
fffffa07 0 6 0 0 447 0
|
||||
fffff84d 0 7 0 0 448 0
|
||||
fffff6a8 0 7 0 0 449 0
|
||||
fffff518 0 7 0 0 450 0
|
||||
fffff39e 0 7 0 0 451 0
|
||||
fffff239 0 7 0 0 452 0
|
||||
fffff0eb 0 7 0 0 453 0
|
||||
ffffefb2 0 7 0 0 454 0
|
||||
ffffee90 0 7 0 0 455 0
|
||||
ffffed84 0 7 0 0 456 0
|
||||
ffffec8e 0 7 0 0 457 0
|
||||
ffffebad 0 7 0 0 458 0
|
||||
ffffeae3 0 7 0 0 459 0
|
||||
ffffea2f 0 7 0 0 460 0
|
||||
ffffe98f 0 7 0 0 461 0
|
||||
ffffe906 0 7 0 0 462 0
|
||||
ffffe891 0 7 0 0 463 0
|
||||
ffffe830 0 7 0 0 464 0
|
||||
ffffe7e5 0 7 0 0 465 0
|
||||
ffffe7ac 0 7 0 0 466 0
|
||||
ffffe788 0 7 0 0 467 0
|
||||
ffffe776 0 7 0 0 468 0
|
||||
ffffe777 0 7 0 0 469 0
|
||||
ffffe78a 0 7 0 0 470 0
|
||||
ffffe7ae 0 7 0 0 471 0
|
||||
ffffe7e3 0 7 0 0 472 0
|
||||
ffffe828 0 7 0 0 473 0
|
||||
ffffe87c 0 7 0 0 474 0
|
||||
ffffe8e0 0 7 0 0 475 0
|
||||
ffffe951 0 7 0 0 476 0
|
||||
ffffe9d1 0 7 0 0 477 0
|
||||
ffffea5d 0 7 0 0 478 0
|
||||
ffffeaf5 0 7 0 0 479 0
|
||||
ffffeb98 0 7 0 0 480 0
|
||||
ffffec46 0 7 0 0 481 0
|
||||
ffffecfe 0 7 0 0 482 0
|
||||
ffffedbf 0 7 0 0 483 0
|
||||
ffffee88 0 7 0 0 484 0
|
||||
ffffef59 0 7 0 0 485 0
|
||||
fffff030 0 7 0 0 486 0
|
||||
fffff10e 0 7 0 0 487 0
|
||||
fffff1f0 0 7 0 0 488 0
|
||||
fffff2d8 0 7 0 0 489 0
|
||||
fffff3c3 0 7 0 0 490 0
|
||||
fffff4b0 0 7 0 0 491 0
|
||||
fffff5a0 0 7 0 0 492 0
|
||||
fffff692 0 7 0 0 493 0
|
||||
fffff784 0 7 0 0 494 0
|
||||
fffff877 0 7 0 0 495 0
|
||||
fffff969 0 7 0 0 496 0
|
||||
fffffa59 0 7 0 0 497 0
|
||||
fffffb48 0 7 0 0 498 0
|
||||
fffffc34 0 7 0 0 499 0
|
||||
fffffd1d 0 7 0 0 500 0
|
||||
fffffe03 0 7 0 0 501 0
|
||||
fffffee4 0 7 0 0 502 0
|
||||
ffffffc0 0 7 0 0 503 0
|
||||
00000097 0 7 0 0 504 0
|
||||
00000168 0 7 0 0 505 0
|
||||
00000233 0 7 0 0 506 0
|
||||
000002f7 0 7 0 0 507 0
|
||||
000003b4 0 7 0 0 508 0
|
||||
0000046a 0 7 0 0 509 0
|
||||
00000518 0 7 0 0 510 0
|
||||
000005bd 0 7 0 0 511 0
|
||||
0000065b 0 8 0 0 512 0
|
||||
000006ef 0 8 0 0 513 0
|
||||
0000077b 0 8 0 0 514 0
|
||||
000007fe 0 8 0 0 515 0
|
||||
00000878 0 8 0 0 516 0
|
||||
000008e8 0 8 0 0 517 0
|
||||
0000094e 0 8 0 0 518 0
|
||||
000009ac 0 8 0 0 519 0
|
||||
000009ff 0 8 0 0 520 0
|
||||
00000a49 0 8 0 0 521 0
|
||||
00000a8a 0 8 0 0 522 0
|
||||
00000ac0 0 8 0 0 523 0
|
||||
00000aee 0 8 0 0 524 0
|
||||
00000b11 0 8 0 0 525 0
|
||||
00000b2c 0 8 0 0 526 0
|
||||
00000b3d 0 8 0 0 527 0
|
||||
00000b46 0 8 0 0 528 0
|
||||
00000b45 0 8 0 0 529 0
|
||||
00000b3c 0 8 0 0 530 0
|
||||
00000b2b 0 8 0 0 531 0
|
||||
00000b11 0 8 0 0 532 0
|
||||
00000af0 0 8 0 0 533 0
|
||||
00000ac7 0 8 0 0 534 0
|
||||
00000a97 0 8 0 0 535 0
|
||||
00000a5f 0 8 0 0 536 0
|
||||
00000a21 0 8 0 0 537 0
|
||||
000009dd 0 8 0 0 538 0
|
||||
00000993 0 8 0 0 539 0
|
||||
00000943 0 8 0 0 540 0
|
||||
000008ed 0 8 0 0 541 0
|
||||
00000893 0 8 0 0 542 0
|
||||
00000835 0 8 0 0 543 0
|
||||
000007d2 0 8 0 0 544 0
|
||||
0000076c 0 8 0 0 545 0
|
||||
00000702 0 8 0 0 546 0
|
||||
00000696 0 8 0 0 547 0
|
||||
00000627 0 8 0 0 548 0
|
||||
000005b5 0 8 0 0 549 0
|
||||
00000542 0 8 0 0 550 0
|
||||
000004ce 0 8 0 0 551 0
|
||||
00000459 0 8 0 0 552 0
|
||||
000003e3 0 8 0 0 553 0
|
||||
0000036d 0 8 0 0 554 0
|
||||
000002f7 0 8 0 0 555 0
|
||||
00000282 0 8 0 0 556 0
|
||||
0000020d 0 8 0 0 557 0
|
||||
0000019a 0 8 0 0 558 0
|
||||
00000128 0 8 0 0 559 0
|
||||
000000b8 0 8 0 0 560 0
|
||||
0000004a 0 8 0 0 561 0
|
||||
ffffffdf 0 8 0 0 562 0
|
||||
ffffff77 0 8 0 0 563 0
|
||||
ffffff11 0 8 0 0 564 0
|
||||
fffffeaf 0 8 0 0 565 0
|
||||
fffffe50 0 8 0 0 566 0
|
||||
fffffdf4 0 8 0 0 567 0
|
||||
fffffd9d 0 8 0 0 568 0
|
||||
fffffd4a 0 8 0 0 569 0
|
||||
fffffcfb 0 8 0 0 570 0
|
||||
fffffcb0 0 8 0 0 571 0
|
||||
fffffc6a 0 8 0 0 572 0
|
||||
fffffc29 0 8 0 0 573 0
|
||||
fffffbec 0 8 0 0 574 0
|
||||
fffffbb4 0 8 0 0 575 0
|
||||
fffffb81 0 9 0 0 576 0
|
||||
fffffb53 0 9 0 0 577 0
|
||||
fffffb2a 0 9 0 0 578 0
|
||||
fffffb06 0 9 0 0 579 0
|
||||
fffffae6 0 9 0 0 580 0
|
||||
fffffacc 0 9 0 0 581 0
|
||||
fffffab7 0 9 0 0 582 0
|
||||
fffffaa7 0 9 0 0 583 0
|
||||
fffffa9b 0 9 0 0 584 0
|
||||
fffffa95 0 9 0 0 585 0
|
||||
fffffa93 0 9 0 0 586 0
|
||||
fffffa95 0 9 0 0 587 0
|
||||
fffffa9c 0 9 0 0 588 0
|
||||
fffffaa7 0 9 0 0 589 0
|
||||
fffffab7 0 9 0 0 590 0
|
||||
fffffacb 0 9 0 0 591 0
|
||||
fffffae2 0 9 0 0 592 0
|
||||
fffffafd 0 9 0 0 593 0
|
||||
fffffb1c 0 9 0 0 594 0
|
||||
fffffb3e 0 9 0 0 595 0
|
||||
fffffb63 0 9 0 0 596 0
|
||||
fffffb8c 0 9 0 0 597 0
|
||||
fffffbb7 0 9 0 0 598 0
|
||||
fffffbe4 0 9 0 0 599 0
|
||||
fffffc14 0 9 0 0 600 0
|
||||
fffffc46 0 9 0 0 601 0
|
||||
fffffc7a 0 9 0 0 602 0
|
||||
fffffcb0 0 9 0 0 603 0
|
||||
fffffce7 0 9 0 0 604 0
|
||||
fffffd20 0 9 0 0 605 0
|
||||
fffffd59 0 9 0 0 606 0
|
||||
fffffd93 0 9 0 0 607 0
|
||||
fffffdce 0 9 0 0 608 0
|
||||
fffffe0a 0 9 0 0 609 0
|
||||
fffffe45 0 9 0 0 610 0
|
||||
fffffe81 0 9 0 0 611 0
|
||||
fffffebc 0 9 0 0 612 0
|
||||
fffffef7 0 9 0 0 613 0
|
||||
ffffff31 0 9 0 0 614 0
|
||||
ffffff6a 0 9 0 0 615 0
|
||||
ffffffa3 0 9 0 0 616 0
|
||||
ffffffda 0 9 0 0 617 0
|
||||
00000010 0 9 0 0 618 0
|
||||
00000045 0 9 0 0 619 0
|
||||
00000077 0 9 0 0 620 0
|
||||
000000a9 0 9 0 0 621 0
|
||||
000000d8 0 9 0 0 622 0
|
||||
00000105 0 9 0 0 623 0
|
||||
00000130 0 9 0 0 624 0
|
||||
00000159 0 9 0 0 625 0
|
||||
0000017f 0 9 0 0 626 0
|
||||
000001a3 0 9 0 0 627 0
|
||||
000001c5 0 9 0 0 628 0
|
||||
000001e4 0 9 0 0 629 0
|
||||
00000201 0 9 0 0 630 0
|
||||
0000021a 0 9 0 0 631 0
|
||||
00000232 0 9 0 0 632 0
|
||||
00000246 0 9 0 0 633 0
|
||||
00000258 0 9 0 0 634 0
|
||||
00000267 0 9 0 0 635 0
|
||||
00000273 0 9 0 0 636 0
|
||||
0000027d 0 9 0 0 637 0
|
||||
00000284 0 9 0 0 638 0
|
||||
00000289 0 9 0 0 639 0
|
||||
0000028a 0 10 0 0 640 0
|
||||
0000028a 0 10 0 0 641 0
|
||||
00000287 0 10 0 0 642 0
|
||||
00000281 0 10 0 0 643 0
|
||||
00000279 0 10 0 0 644 0
|
||||
0000026f 0 10 0 0 645 0
|
||||
00000263 0 10 0 0 646 0
|
||||
00000254 0 10 0 0 647 0
|
||||
00000244 0 10 0 0 648 0
|
||||
00000232 0 10 0 0 649 0
|
||||
0000021e 0 10 0 0 650 0
|
||||
00000208 0 10 0 0 651 0
|
||||
000001f1 0 10 0 0 652 0
|
||||
000001d9 0 10 0 0 653 0
|
||||
000001bf 0 10 0 0 654 0
|
||||
000001a4 0 10 0 0 655 0
|
||||
00000188 0 10 0 0 656 0
|
||||
0000016b 0 10 0 0 657 0
|
||||
0000014e 0 10 0 0 658 0
|
||||
00000130 0 10 0 0 659 0
|
||||
00000111 0 10 0 0 660 0
|
||||
000000f2 0 10 0 0 661 0
|
||||
000000d2 0 10 0 0 662 0
|
||||
000000b3 0 10 0 0 663 0
|
||||
00000093 0 10 0 0 664 0
|
||||
00000074 0 10 0 0 665 0
|
||||
00000055 0 10 0 0 666 0
|
||||
00000036 0 10 0 0 667 0
|
||||
00000018 0 10 0 0 668 0
|
||||
fffffffa 0 10 0 0 669 0
|
||||
ffffffdd 0 10 0 0 670 0
|
||||
ffffffc1 0 10 0 0 671 0
|
||||
ffffffa6 0 10 0 0 672 0
|
||||
ffffff8b 0 10 0 0 673 0
|
||||
ffffff72 0 10 0 0 674 0
|
||||
ffffff5a 0 10 0 0 675 0
|
||||
ffffff43 0 10 0 0 676 0
|
||||
ffffff2d 0 10 0 0 677 0
|
||||
ffffff19 0 10 0 0 678 0
|
||||
ffffff06 0 10 0 0 679 0
|
||||
fffffef4 0 10 0 0 680 0
|
||||
fffffee4 0 10 0 0 681 0
|
||||
fffffed6 0 10 0 0 682 0
|
||||
fffffec9 0 10 0 0 683 0
|
||||
fffffebe 0 10 0 0 684 0
|
||||
fffffeb4 0 10 0 0 685 0
|
||||
fffffeac 0 10 0 0 686 0
|
||||
fffffea6 0 10 0 0 687 0
|
||||
fffffea1 0 10 0 0 688 0
|
||||
fffffe9e 0 10 0 0 689 0
|
||||
fffffe9c 0 10 0 0 690 0
|
||||
fffffe9c 0 10 0 0 691 0
|
||||
fffffe9e 0 10 0 0 692 0
|
||||
fffffea1 0 10 0 0 693 0
|
||||
fffffea5 0 10 0 0 694 0
|
||||
fffffeab 0 10 0 0 695 0
|
||||
fffffeb3 0 10 0 0 696 0
|
||||
fffffebb 0 10 0 0 697 0
|
||||
fffffec6 0 10 0 0 698 0
|
||||
fffffed1 0 10 0 0 699 0
|
||||
fffffedd 0 10 0 0 700 0
|
||||
fffffeeb 0 10 0 0 701 0
|
||||
fffffef9 0 10 0 0 702 0
|
||||
ffffff09 0 10 0 0 703 0
|
||||
ffffff19 0 11 0 0 704 0
|
||||
ffffff2b 0 11 0 0 705 0
|
||||
ffffff3d 0 11 0 0 706 0
|
||||
ffffff4f 0 11 0 0 707 0
|
||||
ffffff62 0 11 0 0 708 0
|
||||
ffffff76 0 11 0 0 709 0
|
||||
ffffff8a 0 11 0 0 710 0
|
||||
ffffff9e 0 11 0 0 711 0
|
||||
ffffffb3 0 11 0 0 712 0
|
||||
ffffffc8 0 11 0 0 713 0
|
||||
ffffffdc 0 11 0 0 714 0
|
||||
fffffff1 0 11 0 0 715 0
|
||||
00000005 0 11 0 0 716 0
|
||||
0000001a 0 11 0 0 717 0
|
||||
0000002e 0 11 0 0 718 0
|
||||
00000042 0 11 0 0 719 0
|
||||
00000055 0 11 0 0 720 0
|
||||
00000068 0 11 0 0 721 0
|
||||
0000007a 0 11 0 0 722 0
|
||||
0000008b 0 11 0 0 723 0
|
||||
0000009c 0 11 0 0 724 0
|
||||
000000ac 0 11 0 0 725 0
|
||||
000000bb 0 11 0 0 726 0
|
||||
000000ca 0 11 0 0 727 0
|
||||
000000d7 0 11 0 0 728 0
|
||||
000000e4 0 11 0 0 729 0
|
||||
000000ef 0 11 0 0 730 0
|
||||
000000f9 0 11 0 0 731 0
|
||||
00000103 0 11 0 0 732 0
|
||||
0000010b 0 11 0 0 733 0
|
||||
00000112 0 11 0 0 734 0
|
||||
00000118 0 11 0 0 735 0
|
||||
0000011d 0 11 0 0 736 0
|
||||
00000120 0 11 0 0 737 0
|
||||
00000123 0 11 0 0 738 0
|
||||
00000124 0 11 0 0 739 0
|
||||
00000124 0 11 0 0 740 0
|
||||
00000123 0 11 0 0 741 0
|
||||
00000121 0 11 0 0 742 0
|
||||
0000011d 0 11 0 0 743 0
|
||||
00000119 0 11 0 0 744 0
|
||||
00000113 0 11 0 0 745 0
|
||||
0000010c 0 11 0 0 746 0
|
||||
00000105 0 11 0 0 747 0
|
||||
000000fc 0 11 0 0 748 0
|
||||
000000f3 0 11 0 0 749 0
|
||||
000000e8 0 11 0 0 750 0
|
||||
000000dd 0 11 0 0 751 0
|
||||
000000d1 0 11 0 0 752 0
|
||||
000000c4 0 11 0 0 753 0
|
||||
000000b6 0 11 0 0 754 0
|
||||
000000a8 0 11 0 0 755 0
|
||||
00000099 0 11 0 0 756 0
|
||||
0000008a 0 11 0 0 757 0
|
||||
0000007a 0 11 0 0 758 0
|
||||
0000006a 0 11 0 0 759 0
|
||||
00000059 0 11 0 0 760 0
|
||||
00000049 0 11 0 0 761 0
|
||||
00000038 0 11 0 0 762 0
|
||||
00000026 0 11 0 0 763 0
|
||||
00000015 0 11 0 0 764 0
|
||||
00000004 0 11 0 0 765 0
|
||||
fffffff3 0 11 0 0 766 0
|
||||
ffffffe2 0 11 0 0 767 0
|
||||
ffffffd1 0 12 0 0 768 0
|
||||
00000000 0 12 0 0 769 0
|
||||
00000000 0 12 0 0 770 0
|
||||
00000000 0 12 0 0 771 0
|
||||
00000000 0 12 0 0 772 0
|
||||
00000000 0 12 0 0 773 0
|
||||
00000000 0 12 0 0 774 0
|
||||
00000000 0 12 0 0 775 0
|
||||
00000000 0 12 0 0 776 0
|
||||
00000000 0 12 0 0 777 0
|
||||
00000000 0 12 0 0 778 0
|
||||
00000000 0 12 0 0 779 0
|
||||
00000000 0 12 0 0 780 0
|
||||
00000000 0 12 0 0 781 0
|
||||
00000000 0 12 0 0 782 0
|
||||
00000000 0 12 0 0 783 0
|
||||
00000000 0 12 0 0 784 0
|
||||
00000000 0 12 0 0 785 0
|
||||
00000000 0 12 0 0 786 0
|
||||
00000000 0 12 0 0 787 0
|
||||
00000000 0 12 0 0 788 0
|
||||
00000000 0 12 0 0 789 0
|
||||
00000000 0 12 0 0 790 0
|
||||
00000000 0 12 0 0 791 0
|
||||
00000000 0 12 0 0 792 0
|
||||
00000000 0 12 0 0 793 0
|
||||
00000000 0 12 0 0 794 0
|
||||
00000000 0 12 0 0 795 0
|
||||
00000000 0 12 0 0 796 0
|
||||
00000000 0 12 0 0 797 0
|
||||
00000000 0 12 0 0 798 0
|
||||
00000000 0 12 0 0 799 0
|
||||
00000000 0 12 0 0 800 0
|
||||
00000000 0 12 0 0 801 0
|
||||
00000000 0 12 0 0 802 0
|
||||
00000000 0 12 0 0 803 0
|
||||
00000000 0 12 0 0 804 0
|
||||
00000000 0 12 0 0 805 0
|
||||
00000000 0 12 0 0 806 0
|
||||
00000000 0 12 0 0 807 0
|
||||
00000000 0 12 0 0 808 0
|
||||
00000000 0 12 0 0 809 0
|
||||
00000000 0 12 0 0 810 0
|
||||
00000000 0 12 0 0 811 0
|
||||
00000000 0 12 0 0 812 0
|
||||
00000000 0 12 0 0 813 0
|
||||
00000000 0 12 0 0 814 0
|
||||
00000000 0 12 0 0 815 0
|
||||
00000000 0 12 0 0 816 0
|
||||
00000000 0 12 0 0 817 0
|
||||
00000000 0 12 0 0 818 0
|
||||
00000000 0 12 0 0 819 0
|
||||
00000000 0 12 0 0 820 0
|
||||
00000000 0 12 0 0 821 0
|
||||
00000000 0 12 0 0 822 0
|
||||
00000000 0 12 0 0 823 0
|
||||
00000000 0 12 0 0 824 0
|
||||
00000000 0 12 0 0 825 0
|
||||
00000000 0 12 0 0 826 0
|
||||
00000000 0 12 0 0 827 0
|
||||
00000000 0 12 0 0 828 0
|
||||
00000000 0 12 0 0 829 0
|
||||
00000000 0 12 0 0 830 0
|
||||
00000000 0 12 0 0 831 0
|
||||
@@ -0,0 +1,258 @@
|
||||
MEMORY_INITIALIZATION_RADIX = 10;
|
||||
MEMORY_INITIALIZATION_VECTOR =
|
||||
-2147483647,
|
||||
-2130640638,
|
||||
-2113797629,
|
||||
-2096954620,
|
||||
-2080111611,
|
||||
-2063268602,
|
||||
-2046425593,
|
||||
-2029582584,
|
||||
-2012739575,
|
||||
-1995896566,
|
||||
-1979053557,
|
||||
-1962210548,
|
||||
-1945367539,
|
||||
-1928524530,
|
||||
-1911681521,
|
||||
-1894838512,
|
||||
-1877995503,
|
||||
-1861152494,
|
||||
-1844309485,
|
||||
-1827466476,
|
||||
-1810623467,
|
||||
-1793780458,
|
||||
-1776937449,
|
||||
-1760094440,
|
||||
-1743251431,
|
||||
-1726408422,
|
||||
-1709565413,
|
||||
-1692722404,
|
||||
-1675879395,
|
||||
-1659036386,
|
||||
-1642193377,
|
||||
-1625350368,
|
||||
-1608507359,
|
||||
-1591664350,
|
||||
-1574821341,
|
||||
-1557978332,
|
||||
-1541135323,
|
||||
-1524292314,
|
||||
-1507449305,
|
||||
-1490606296,
|
||||
-1473763287,
|
||||
-1456920278,
|
||||
-1440077269,
|
||||
-1423234260,
|
||||
-1406391251,
|
||||
-1389548242,
|
||||
-1372705233,
|
||||
-1355862224,
|
||||
-1339019215,
|
||||
-1322176206,
|
||||
-1305333197,
|
||||
-1288490188,
|
||||
-1271647179,
|
||||
-1254804170,
|
||||
-1237961161,
|
||||
-1221118152,
|
||||
-1204275143,
|
||||
-1187432134,
|
||||
-1170589125,
|
||||
-1153746116,
|
||||
-1136903107,
|
||||
-1120060098,
|
||||
-1103217089,
|
||||
-1086374080,
|
||||
-1069531071,
|
||||
-1052688062,
|
||||
-1035845053,
|
||||
-1019002044,
|
||||
-1002159035,
|
||||
-985316026,
|
||||
-968473017,
|
||||
-951630008,
|
||||
-934786999,
|
||||
-917943990,
|
||||
-901100981,
|
||||
-884257972,
|
||||
-867414963,
|
||||
-850571954,
|
||||
-833728945,
|
||||
-816885936,
|
||||
-800042927,
|
||||
-783199918,
|
||||
-766356909,
|
||||
-749513900,
|
||||
-732670891,
|
||||
-715827882,
|
||||
-698984873,
|
||||
-682141864,
|
||||
-665298855,
|
||||
-648455846,
|
||||
-631612837,
|
||||
-614769828,
|
||||
-597926819,
|
||||
-581083810,
|
||||
-564240801,
|
||||
-547397792,
|
||||
-530554783,
|
||||
-513711774,
|
||||
-496868765,
|
||||
-480025756,
|
||||
-463182747,
|
||||
-446339738,
|
||||
-429496729,
|
||||
-412653720,
|
||||
-395810711,
|
||||
-378967702,
|
||||
-362124693,
|
||||
-345281684,
|
||||
-328438675,
|
||||
-311595666,
|
||||
-294752657,
|
||||
-277909648,
|
||||
-261066639,
|
||||
-244223630,
|
||||
-227380621,
|
||||
-210537612,
|
||||
-193694603,
|
||||
-176851594,
|
||||
-160008585,
|
||||
-143165576,
|
||||
-126322567,
|
||||
-109479558,
|
||||
-92636549,
|
||||
-75793540,
|
||||
-58950531,
|
||||
-42107522,
|
||||
-25264513,
|
||||
-8421504,
|
||||
8421504,
|
||||
25264513,
|
||||
42107522,
|
||||
58950531,
|
||||
75793540,
|
||||
92636549,
|
||||
109479558,
|
||||
126322567,
|
||||
143165576,
|
||||
160008585,
|
||||
176851594,
|
||||
193694603,
|
||||
210537612,
|
||||
227380621,
|
||||
244223630,
|
||||
261066639,
|
||||
277909648,
|
||||
294752657,
|
||||
311595666,
|
||||
328438675,
|
||||
345281684,
|
||||
362124693,
|
||||
378967702,
|
||||
395810711,
|
||||
412653720,
|
||||
429496729,
|
||||
446339738,
|
||||
463182747,
|
||||
480025756,
|
||||
496868765,
|
||||
513711774,
|
||||
530554783,
|
||||
547397792,
|
||||
564240801,
|
||||
581083810,
|
||||
597926819,
|
||||
614769828,
|
||||
631612837,
|
||||
648455846,
|
||||
665298855,
|
||||
682141864,
|
||||
698984873,
|
||||
715827882,
|
||||
732670891,
|
||||
749513900,
|
||||
766356909,
|
||||
783199918,
|
||||
800042927,
|
||||
816885936,
|
||||
833728945,
|
||||
850571954,
|
||||
867414963,
|
||||
884257972,
|
||||
901100981,
|
||||
917943990,
|
||||
934786999,
|
||||
951630008,
|
||||
968473017,
|
||||
985316026,
|
||||
1002159035,
|
||||
1019002044,
|
||||
1035845053,
|
||||
1052688062,
|
||||
1069531071,
|
||||
1086374080,
|
||||
1103217089,
|
||||
1120060098,
|
||||
1136903107,
|
||||
1153746116,
|
||||
1170589125,
|
||||
1187432134,
|
||||
1204275143,
|
||||
1221118152,
|
||||
1237961161,
|
||||
1254804170,
|
||||
1271647179,
|
||||
1288490188,
|
||||
1305333197,
|
||||
1322176206,
|
||||
1339019215,
|
||||
1355862224,
|
||||
1372705233,
|
||||
1389548242,
|
||||
1406391251,
|
||||
1423234260,
|
||||
1440077269,
|
||||
1456920278,
|
||||
1473763287,
|
||||
1490606296,
|
||||
1507449305,
|
||||
1524292314,
|
||||
1541135323,
|
||||
1557978332,
|
||||
1574821341,
|
||||
1591664350,
|
||||
1608507359,
|
||||
1625350368,
|
||||
1642193377,
|
||||
1659036386,
|
||||
1675879395,
|
||||
1692722404,
|
||||
1709565413,
|
||||
1726408422,
|
||||
1743251431,
|
||||
1760094440,
|
||||
1776937449,
|
||||
1793780458,
|
||||
1810623467,
|
||||
1827466476,
|
||||
1844309485,
|
||||
1861152494,
|
||||
1877995503,
|
||||
1894838512,
|
||||
1911681521,
|
||||
1928524530,
|
||||
1945367539,
|
||||
1962210548,
|
||||
1979053557,
|
||||
1995896566,
|
||||
2012739575,
|
||||
2029582584,
|
||||
2046425593,
|
||||
2063268602,
|
||||
2080111611,
|
||||
2096954620,
|
||||
2113797629,
|
||||
2130640638,
|
||||
2147483647;
|
||||
@@ -0,0 +1,83 @@
|
||||
################################################################################
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# README.txt: Please read the sections below to understand the steps required
|
||||
# to simulate the design for a simulator, the directory structure
|
||||
# and the generated exported files.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
1. Simulate Design
|
||||
|
||||
To simulate design, cd to the simulator directory and execute the script.
|
||||
|
||||
For example:-
|
||||
|
||||
% cd questa
|
||||
% ./top.sh
|
||||
|
||||
The export simulation flow requires the Xilinx pre-compiled simulation library
|
||||
components for the target simulator. These components are referred using the
|
||||
'-lib_map_path' switch. If this switch is specified, then the export simulation
|
||||
will automatically set this library path in the generated script and update,
|
||||
copy the simulator setup file(s) in the exported directory.
|
||||
|
||||
If '-lib_map_path' is not specified, then the pre-compiled simulation library
|
||||
information will not be included in the exported scripts and that may cause
|
||||
simulation errors when running this script. Alternatively, you can provide the
|
||||
library information using this switch while executing the generated script.
|
||||
|
||||
For example:-
|
||||
|
||||
% ./top.sh -lib_map_path /design/questa/clibs
|
||||
|
||||
Please refer to the generated script header 'Prerequisite' section for more details.
|
||||
|
||||
2. Directory Structure
|
||||
|
||||
By default, if the -directory switch is not specified, export_simulation will
|
||||
create the following directory structure:-
|
||||
|
||||
<current_working_directory>/export_sim/<simulator>
|
||||
|
||||
For example, if the current working directory is /tmp/test, export_simulation
|
||||
will create the following directory path:-
|
||||
|
||||
/tmp/test/export_sim/questa
|
||||
|
||||
If -directory switch is specified, export_simulation will create a simulator
|
||||
sub-directory under the specified directory path.
|
||||
|
||||
For example, 'export_simulation -directory /tmp/test/my_test_area/func_sim'
|
||||
command will create the following directory:-
|
||||
|
||||
/tmp/test/my_test_area/func_sim/questa
|
||||
|
||||
By default, if -simulator is not specified, export_simulation will create a
|
||||
simulator sub-directory for each simulator and export the files for each simulator
|
||||
in this sub-directory respectively.
|
||||
|
||||
IMPORTANT: Please note that the simulation library path must be specified manually
|
||||
in the generated script for the respective simulator. Please refer to the generated
|
||||
script header 'Prerequisite' section for more details.
|
||||
|
||||
3. Exported script and files
|
||||
|
||||
Export simulation will create the driver shell script, setup files and copy the
|
||||
design sources in the output directory path.
|
||||
|
||||
By default, when the -script_name switch is not specified, export_simulation will
|
||||
create the following script name:-
|
||||
|
||||
<simulation_top>.sh (Unix)
|
||||
When exporting the files for an IP using the -of_objects switch, export_simulation
|
||||
will create the following script name:-
|
||||
|
||||
<ip-name>.sh (Unix)
|
||||
Export simulation will create the setup files for the target simulator specified
|
||||
with the -simulator switch.
|
||||
|
||||
For example, if the target simulator is "ies", export_simulation will create the
|
||||
'cds.lib', 'hdl.var' and design library diectories and mappings in the 'cds.lib'
|
||||
file.
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
################################################################################
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# README.txt: Please read the sections below to understand the steps required to
|
||||
# run the exported script and information about the source files.
|
||||
#
|
||||
# Generated by export_simulation on Sat Mar 18 23:15:09 +0800 2023
|
||||
#
|
||||
################################################################################
|
||||
|
||||
1. How to run the generated simulation script:-
|
||||
|
||||
From the shell prompt in the current directory, issue the following command:-
|
||||
|
||||
./cmpy_18x8.sh
|
||||
|
||||
This command will launch the 'compile', 'elaborate' and 'simulate' functions
|
||||
implemented in the script file for the 3-step flow. These functions are called
|
||||
from the main 'run' function in the script file.
|
||||
|
||||
The 'run' function first executes the 'setup' function, the purpose of which is to
|
||||
create simulator specific setup files, create design library mappings and library
|
||||
directories and copy 'glbl.v' from the Vivado software install location into the
|
||||
current directory.
|
||||
|
||||
The 'setup' function is also used for removing the simulator generated data in
|
||||
order to reset the current directory to the original state when export_simulation
|
||||
was launched from Vivado. This generated data can be removed by specifying the
|
||||
'-reset_run' switch to the './cmpy_18x8.sh' script.
|
||||
|
||||
./cmpy_18x8.sh -reset_run
|
||||
|
||||
To keep the generated data from the previous run but regenerate the setup files and
|
||||
library directories, use the '-noclean_files' switch.
|
||||
|
||||
./cmpy_18x8.sh -noclean_files
|
||||
|
||||
For more information on the script, please type './cmpy_18x8.sh -help'.
|
||||
|
||||
2. Additional design information files:-
|
||||
|
||||
export_simulation generates following additional file that can be used for fetching
|
||||
the design files information or for integrating with external custom scripts.
|
||||
|
||||
Name : file_info.txt
|
||||
Purpose: This file contains detail design file information based on the compile order
|
||||
when export_simulation was executed from Vivado. The file contains information
|
||||
about the file type, name, whether it is part of the IP, associated library
|
||||
and the file path information.
|
||||
+154
@@ -0,0 +1,154 @@
|
||||
#!/bin/bash -f
|
||||
#*********************************************************************************************************
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# Filename : cmpy_18x8.sh
|
||||
# Simulator : Aldec Active-HDL Simulator
|
||||
# Description : Simulation script for compiling, elaborating and verifying the project source files.
|
||||
# The script will automatically create the design libraries sub-directories in the run
|
||||
# directory, add the library logical mappings in the simulator setup file, create default
|
||||
# 'do/prj' file, execute compilation, elaboration and simulation steps.
|
||||
#
|
||||
# Generated by Vivado on Sat Mar 18 23:15:09 +0800 2023
|
||||
# SW Build 2644227 on Wed Sep 4 09:45:24 MDT 2019
|
||||
#
|
||||
# Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
#
|
||||
# usage: cmpy_18x8.sh [-help]
|
||||
# usage: cmpy_18x8.sh [-lib_map_path]
|
||||
# usage: cmpy_18x8.sh [-noclean_files]
|
||||
# usage: cmpy_18x8.sh [-reset_run]
|
||||
#
|
||||
# Prerequisite:- To compile and run simulation, you must compile the Xilinx simulation libraries using the
|
||||
# 'compile_simlib' TCL command. For more information about this command, run 'compile_simlib -help' in the
|
||||
# Vivado Tcl Shell. Once the libraries have been compiled successfully, specify the -lib_map_path switch
|
||||
# that points to these libraries and rerun export_simulation. For more information about this switch please
|
||||
# type 'export_simulation -help' in the Tcl shell.
|
||||
#
|
||||
# You can also point to the simulation libraries by either replacing the <SPECIFY_COMPILED_LIB_PATH> in this
|
||||
# script with the compiled library directory path or specify this path with the '-lib_map_path' switch when
|
||||
# executing this script. Please type 'cmpy_18x8.sh -help' for more information.
|
||||
#
|
||||
# Additional references - 'Xilinx Vivado Design Suite User Guide:Logic simulation (UG900)'
|
||||
#
|
||||
#*********************************************************************************************************
|
||||
|
||||
|
||||
# Script info
|
||||
echo -e "cmpy_18x8.sh - Script generated by export_simulation (Vivado v2019.1.3 (64-bit)-id)\n"
|
||||
|
||||
# Main steps
|
||||
run()
|
||||
{
|
||||
check_args $# $1
|
||||
setup $1 $2
|
||||
compile
|
||||
simulate
|
||||
}
|
||||
|
||||
# RUN_STEP: <compile>
|
||||
compile()
|
||||
{
|
||||
# Compile design files
|
||||
source compile.do 2>&1 | tee -a compile.log
|
||||
|
||||
}
|
||||
|
||||
# RUN_STEP: <simulate>
|
||||
simulate()
|
||||
{
|
||||
runvsimsa -l simulate.log -do "do {simulate.do}"
|
||||
}
|
||||
|
||||
# STEP: setup
|
||||
setup()
|
||||
{
|
||||
case $1 in
|
||||
"-lib_map_path" )
|
||||
if [[ ($2 == "") ]]; then
|
||||
echo -e "ERROR: Simulation library directory path not specified (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
map_setup_file $2
|
||||
;;
|
||||
"-reset_run" )
|
||||
reset_run
|
||||
echo -e "INFO: Simulation run files deleted.\n"
|
||||
exit 0
|
||||
;;
|
||||
"-noclean_files" )
|
||||
# do not remove previous data
|
||||
;;
|
||||
* )
|
||||
map_setup_file $2
|
||||
esac
|
||||
|
||||
# Add any setup/initialization commands here:-
|
||||
|
||||
# <user specific commands>
|
||||
|
||||
}
|
||||
|
||||
# Map library.cfg file
|
||||
map_setup_file()
|
||||
{
|
||||
file="library.cfg"
|
||||
lib_map_path="<SPECIFY_COMPILED_LIB_PATH>"
|
||||
if [[ ($1 != "" && -e $1) ]]; then
|
||||
lib_map_path="$1"
|
||||
else
|
||||
echo -e "ERROR: Compiled simulation library directory path not specified or does not exist (type "./top.sh -help" for more information)\n"
|
||||
fi
|
||||
if [[ ($lib_map_path != "") ]]; then
|
||||
src_file="$lib_map_path/$file"
|
||||
if [[ -e $src_file ]]; then
|
||||
vmap -link $lib_map_path
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Delete generated data from the previous run
|
||||
reset_run()
|
||||
{
|
||||
files_to_remove=(compile.log elaboration.log simulate.log dataset.asdb work activehdl)
|
||||
for (( i=0; i<${#files_to_remove[*]}; i++ )); do
|
||||
file="${files_to_remove[i]}"
|
||||
if [[ -e $file ]]; then
|
||||
rm -rf $file
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Check command line arguments
|
||||
check_args()
|
||||
{
|
||||
if [[ ($1 == 1 ) && ($2 != "-lib_map_path" && $2 != "-noclean_files" && $2 != "-reset_run" && $2 != "-help" && $2 != "-h") ]]; then
|
||||
echo -e "ERROR: Unknown option specified '$2' (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ($2 == "-help" || $2 == "-h") ]]; then
|
||||
usage
|
||||
fi
|
||||
}
|
||||
|
||||
# Script usage
|
||||
usage()
|
||||
{
|
||||
msg="Usage: cmpy_18x8.sh [-help]\n\
|
||||
Usage: cmpy_18x8.sh [-lib_map_path]\n\
|
||||
Usage: cmpy_18x8.sh [-reset_run]\n\
|
||||
Usage: cmpy_18x8.sh [-noclean_files]\n\n\
|
||||
[-help] -- Print help information for this script\n\n\
|
||||
[-lib_map_path <path>] -- Compiled simulation library directory path. The simulation library is compiled\n\
|
||||
using the compile_simlib tcl command. Please see 'compile_simlib -help' for more information.\n\n\
|
||||
[-reset_run] -- Recreate simulator setup files and library mappings for a clean run. The generated files\n\
|
||||
from the previous run will be removed. If you don't want to remove the simulator generated files, use the\n\
|
||||
-noclean_files switch.\n\n\
|
||||
[-noclean_files] -- Reset previous run, but do not remove simulator generated files from the previous run.\n\n"
|
||||
echo -e $msg
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Launch script
|
||||
run $1 $2
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
vlib work
|
||||
vlib activehdl
|
||||
|
||||
vlib activehdl/xil_defaultlib
|
||||
vlib activehdl/xpm
|
||||
vlib activehdl/xbip_utils_v3_0_10
|
||||
vlib activehdl/axi_utils_v2_0_6
|
||||
vlib activehdl/xbip_pipe_v3_0_6
|
||||
vlib activehdl/xbip_bram18k_v3_0_6
|
||||
vlib activehdl/mult_gen_v12_0_15
|
||||
vlib activehdl/cmpy_v6_0_17
|
||||
|
||||
vmap xil_defaultlib activehdl/xil_defaultlib
|
||||
vmap xpm activehdl/xpm
|
||||
vmap xbip_utils_v3_0_10 activehdl/xbip_utils_v3_0_10
|
||||
vmap axi_utils_v2_0_6 activehdl/axi_utils_v2_0_6
|
||||
vmap xbip_pipe_v3_0_6 activehdl/xbip_pipe_v3_0_6
|
||||
vmap xbip_bram18k_v3_0_6 activehdl/xbip_bram18k_v3_0_6
|
||||
vmap mult_gen_v12_0_15 activehdl/mult_gen_v12_0_15
|
||||
vmap cmpy_v6_0_17 activehdl/cmpy_v6_0_17
|
||||
|
||||
vlog -work xil_defaultlib -sv2k12 \
|
||||
"C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv" \
|
||||
|
||||
vcom -work xpm -93 \
|
||||
"C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd" \
|
||||
|
||||
vcom -work xbip_utils_v3_0_10 -93 \
|
||||
"../../../ipstatic/hdl/xbip_utils_v3_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work axi_utils_v2_0_6 -93 \
|
||||
"../../../ipstatic/hdl/axi_utils_v2_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work xbip_pipe_v3_0_6 -93 \
|
||||
"../../../ipstatic/hdl/xbip_pipe_v3_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work xbip_bram18k_v3_0_6 -93 \
|
||||
"../../../ipstatic/hdl/xbip_bram18k_v3_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work mult_gen_v12_0_15 -93 \
|
||||
"../../../ipstatic/hdl/mult_gen_v12_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work cmpy_v6_0_17 -93 \
|
||||
"../../../ipstatic/hdl/cmpy_v6_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work xil_defaultlib -93 \
|
||||
"../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd" \
|
||||
|
||||
|
||||
vlog -work xil_defaultlib \
|
||||
"glbl.v"
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
xpm_memory.sv,systemverilog,xil_defaultlib,C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv,
|
||||
xpm_VCOMP.vhd,vhdl,xpm,C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd,
|
||||
xbip_utils_v3_0_vh_rfs.vhd,vhdl,xbip_utils_v3_0_10,../../../ipstatic/hdl/xbip_utils_v3_0_vh_rfs.vhd,
|
||||
axi_utils_v2_0_vh_rfs.vhd,vhdl,axi_utils_v2_0_6,../../../ipstatic/hdl/axi_utils_v2_0_vh_rfs.vhd,
|
||||
xbip_pipe_v3_0_vh_rfs.vhd,vhdl,xbip_pipe_v3_0_6,../../../ipstatic/hdl/xbip_pipe_v3_0_vh_rfs.vhd,
|
||||
xbip_bram18k_v3_0_vh_rfs.vhd,vhdl,xbip_bram18k_v3_0_6,../../../ipstatic/hdl/xbip_bram18k_v3_0_vh_rfs.vhd,
|
||||
mult_gen_v12_0_vh_rfs.vhd,vhdl,mult_gen_v12_0_15,../../../ipstatic/hdl/mult_gen_v12_0_vh_rfs.vhd,
|
||||
cmpy_v6_0_vh_rfs.vhd,vhdl,cmpy_v6_0_17,../../../ipstatic/hdl/cmpy_v6_0_vh_rfs.vhd,
|
||||
cmpy_18x8.vhd,vhdl,xil_defaultlib,../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd,
|
||||
glbl.v,Verilog,xil_defaultlib,glbl.v
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
// $Header: /devl/xcs/repo/env/Databases/CAEInterfaces/verunilibs/data/glbl.v,v 1.14 2010/10/28 20:44:00 fphillip Exp $
|
||||
`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
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
onbreak {quit -force}
|
||||
onerror {quit -force}
|
||||
|
||||
asim -t 1ps +access +r +m+cmpy_18x8 -L xil_defaultlib -L xpm -L xbip_utils_v3_0_10 -L axi_utils_v2_0_6 -L xbip_pipe_v3_0_6 -L xbip_bram18k_v3_0_6 -L mult_gen_v12_0_15 -L cmpy_v6_0_17 -L unisims_ver -L unimacro_ver -L secureip -O5 xil_defaultlib.cmpy_18x8 xil_defaultlib.glbl
|
||||
|
||||
do {wave.do}
|
||||
|
||||
view wave
|
||||
view structure
|
||||
|
||||
do {cmpy_18x8.udo}
|
||||
|
||||
run -all
|
||||
|
||||
endsim
|
||||
|
||||
quit -force
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
add wave *
|
||||
add wave /glbl/GSR
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
################################################################################
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# README.txt: Please read the sections below to understand the steps required to
|
||||
# run the exported script and information about the source files.
|
||||
#
|
||||
# Generated by export_simulation on Sat Mar 18 23:15:09 +0800 2023
|
||||
#
|
||||
################################################################################
|
||||
|
||||
1. How to run the generated simulation script:-
|
||||
|
||||
From the shell prompt in the current directory, issue the following command:-
|
||||
|
||||
./cmpy_18x8.sh
|
||||
|
||||
This command will launch the 'execute' function for the single-step flow. This
|
||||
function is called from the main 'run' function in the script file.
|
||||
|
||||
The 'run' function first executes the 'setup' function, the purpose of which is to
|
||||
create simulator specific setup files, create design library mappings and library
|
||||
directories and copy 'glbl.v' from the Vivado software install location into the
|
||||
current directory.
|
||||
|
||||
The 'setup' function is also used for removing the simulator generated data in
|
||||
order to reset the current directory to the original state when export_simulation
|
||||
was launched from Vivado. This generated data can be removed by specifying the
|
||||
'-reset_run' switch to the './cmpy_18x8.sh' script.
|
||||
|
||||
./cmpy_18x8.sh -reset_run
|
||||
|
||||
To keep the generated data from the previous run but regenerate the setup files and
|
||||
library directories, use the '-noclean_files' switch.
|
||||
|
||||
./cmpy_18x8.sh -noclean_files
|
||||
|
||||
For more information on the script, please type './cmpy_18x8.sh -help'.
|
||||
|
||||
2. Additional design information files:-
|
||||
|
||||
export_simulation generates following additional file that can be used for fetching
|
||||
the design files information or for integrating with external custom scripts.
|
||||
|
||||
Name : file_info.txt
|
||||
Purpose: This file contains detail design file information based on the compile order
|
||||
when export_simulation was executed from Vivado. The file contains information
|
||||
about the file type, name, whether it is part of the IP, associated library
|
||||
and the file path information.
|
||||
+175
@@ -0,0 +1,175 @@
|
||||
#!/bin/bash -f
|
||||
#*********************************************************************************************************
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# Filename : cmpy_18x8.sh
|
||||
# Simulator : Cadence Incisive Enterprise Simulator
|
||||
# Description : Simulation script for compiling, elaborating and verifying the project source files.
|
||||
# The script will automatically create the design libraries sub-directories in the run
|
||||
# directory, add the library logical mappings in the simulator setup file, create default
|
||||
# 'do/prj' file, execute compilation, elaboration and simulation steps.
|
||||
#
|
||||
# Generated by Vivado on Sat Mar 18 23:15:09 +0800 2023
|
||||
# SW Build 2644227 on Wed Sep 4 09:45:24 MDT 2019
|
||||
#
|
||||
# Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
#
|
||||
# usage: cmpy_18x8.sh [-help]
|
||||
# usage: cmpy_18x8.sh [-lib_map_path]
|
||||
# usage: cmpy_18x8.sh [-noclean_files]
|
||||
# usage: cmpy_18x8.sh [-reset_run]
|
||||
#
|
||||
# Prerequisite:- To compile and run simulation, you must compile the Xilinx simulation libraries using the
|
||||
# 'compile_simlib' TCL command. For more information about this command, run 'compile_simlib -help' in the
|
||||
# Vivado Tcl Shell. Once the libraries have been compiled successfully, specify the -lib_map_path switch
|
||||
# that points to these libraries and rerun export_simulation. For more information about this switch please
|
||||
# type 'export_simulation -help' in the Tcl shell.
|
||||
#
|
||||
# You can also point to the simulation libraries by either replacing the <SPECIFY_COMPILED_LIB_PATH> in this
|
||||
# script with the compiled library directory path or specify this path with the '-lib_map_path' switch when
|
||||
# executing this script. Please type 'cmpy_18x8.sh -help' for more information.
|
||||
#
|
||||
# Additional references - 'Xilinx Vivado Design Suite User Guide:Logic simulation (UG900)'
|
||||
#
|
||||
#*********************************************************************************************************
|
||||
|
||||
# Directory path for design sources and include directories (if any) wrt this path
|
||||
ref_dir="."
|
||||
|
||||
# Override directory with 'export_sim_ref_dir' env path value if set in the shell
|
||||
if [[ (! -z "$export_sim_ref_dir") && ($export_sim_ref_dir != "") ]]; then
|
||||
ref_dir="$export_sim_ref_dir"
|
||||
fi
|
||||
|
||||
# Set the compiled library directory
|
||||
ref_lib_dir="."
|
||||
|
||||
# Command line options
|
||||
irun_opts="-64bit -v93 -relax -access +rwc -namemap_mixgen"
|
||||
|
||||
# Design libraries
|
||||
design_libs=(xil_defaultlib xpm xbip_utils_v3_0_10 axi_utils_v2_0_6 xbip_pipe_v3_0_6 xbip_bram18k_v3_0_6 mult_gen_v12_0_15 cmpy_v6_0_17)
|
||||
|
||||
# Simulation root library directory
|
||||
sim_lib_dir="ies_lib"
|
||||
|
||||
# Script info
|
||||
echo -e "cmpy_18x8.sh - Script generated by export_simulation (Vivado v2019.1.3 (64-bit)-id)\n"
|
||||
|
||||
# Main steps
|
||||
run()
|
||||
{
|
||||
check_args $# $1
|
||||
setup $1 $2
|
||||
execute
|
||||
}
|
||||
|
||||
# RUN_STEP: <execute>
|
||||
execute()
|
||||
{
|
||||
irun $irun_opts \
|
||||
-reflib "$ref_lib_dir/unisim:unisim" \
|
||||
-reflib "$ref_lib_dir/unisims_ver:unisims_ver" \
|
||||
-reflib "$ref_lib_dir/secureip:secureip" \
|
||||
-reflib "$ref_lib_dir/unimacro:unimacro" \
|
||||
-reflib "$ref_lib_dir/unimacro_ver:unimacro_ver" \
|
||||
-top xil_defaultlib.cmpy_18x8 \
|
||||
-f run.f \
|
||||
-top glbl \
|
||||
glbl.v
|
||||
}
|
||||
|
||||
# STEP: setup
|
||||
setup()
|
||||
{
|
||||
case $1 in
|
||||
"-lib_map_path" )
|
||||
if [[ ($2 == "") ]]; then
|
||||
echo -e "ERROR: Simulation library directory path not specified (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
else
|
||||
ref_lib_dir=$2
|
||||
fi
|
||||
;;
|
||||
"-reset_run" )
|
||||
reset_run
|
||||
echo -e "INFO: Simulation run files deleted.\n"
|
||||
exit 0
|
||||
;;
|
||||
"-noclean_files" )
|
||||
# do not remove previous data
|
||||
;;
|
||||
* )
|
||||
esac
|
||||
|
||||
create_lib_dir
|
||||
|
||||
# Add any setup/initialization commands here:-
|
||||
|
||||
# <user specific commands>
|
||||
|
||||
}
|
||||
|
||||
# Create design library directory paths
|
||||
create_lib_dir()
|
||||
{
|
||||
if [[ -e $sim_lib_dir ]]; then
|
||||
rm -rf $sim_lib_dir
|
||||
fi
|
||||
|
||||
for (( i=0; i<${#design_libs[*]}; i++ )); do
|
||||
lib="${design_libs[i]}"
|
||||
lib_dir="$sim_lib_dir/$lib"
|
||||
if [[ ! -e $lib_dir ]]; then
|
||||
mkdir -p $lib_dir
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Delete generated data from the previous run
|
||||
reset_run()
|
||||
{
|
||||
files_to_remove=(ncsim.key irun.key irun.log waves.shm irun.history .simvision INCA_libs)
|
||||
for (( i=0; i<${#files_to_remove[*]}; i++ )); do
|
||||
file="${files_to_remove[i]}"
|
||||
if [[ -e $file ]]; then
|
||||
rm -rf $file
|
||||
fi
|
||||
done
|
||||
|
||||
create_lib_dir
|
||||
}
|
||||
|
||||
# Check command line arguments
|
||||
check_args()
|
||||
{
|
||||
if [[ ($1 == 1 ) && ($2 != "-lib_map_path" && $2 != "-noclean_files" && $2 != "-reset_run" && $2 != "-help" && $2 != "-h") ]]; then
|
||||
echo -e "ERROR: Unknown option specified '$2' (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ($2 == "-help" || $2 == "-h") ]]; then
|
||||
usage
|
||||
fi
|
||||
}
|
||||
|
||||
# Script usage
|
||||
usage()
|
||||
{
|
||||
msg="Usage: cmpy_18x8.sh [-help]\n\
|
||||
Usage: cmpy_18x8.sh [-lib_map_path]\n\
|
||||
Usage: cmpy_18x8.sh [-reset_run]\n\
|
||||
Usage: cmpy_18x8.sh [-noclean_files]\n\n\
|
||||
[-help] -- Print help information for this script\n\n\
|
||||
[-lib_map_path <path>] -- Compiled simulation library directory path. The simulation library is compiled\n\
|
||||
using the compile_simlib tcl command. Please see 'compile_simlib -help' for more information.\n\n\
|
||||
[-reset_run] -- Recreate simulator setup files and library mappings for a clean run. The generated files\n\
|
||||
from the previous run will be removed. If you don't want to remove the simulator generated files, use the\n\
|
||||
-noclean_files switch.\n\n\
|
||||
[-noclean_files] -- Reset previous run, but do not remove simulator generated files from the previous run.\n\n"
|
||||
echo -e $msg
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Launch script
|
||||
run $1 $2
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
xpm_memory.sv,systemverilog,xil_defaultlib,C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv,
|
||||
xpm_VCOMP.vhd,vhdl,xpm,C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd,
|
||||
xbip_utils_v3_0_vh_rfs.vhd,vhdl,xbip_utils_v3_0_10,../../../ipstatic/hdl/xbip_utils_v3_0_vh_rfs.vhd,
|
||||
axi_utils_v2_0_vh_rfs.vhd,vhdl,axi_utils_v2_0_6,../../../ipstatic/hdl/axi_utils_v2_0_vh_rfs.vhd,
|
||||
xbip_pipe_v3_0_vh_rfs.vhd,vhdl,xbip_pipe_v3_0_6,../../../ipstatic/hdl/xbip_pipe_v3_0_vh_rfs.vhd,
|
||||
xbip_bram18k_v3_0_vh_rfs.vhd,vhdl,xbip_bram18k_v3_0_6,../../../ipstatic/hdl/xbip_bram18k_v3_0_vh_rfs.vhd,
|
||||
mult_gen_v12_0_vh_rfs.vhd,vhdl,mult_gen_v12_0_15,../../../ipstatic/hdl/mult_gen_v12_0_vh_rfs.vhd,
|
||||
cmpy_v6_0_vh_rfs.vhd,vhdl,cmpy_v6_0_17,../../../ipstatic/hdl/cmpy_v6_0_vh_rfs.vhd,
|
||||
cmpy_18x8.vhd,vhdl,xil_defaultlib,../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd,
|
||||
glbl.v,Verilog,xil_defaultlib,glbl.v
|
||||
@@ -0,0 +1,71 @@
|
||||
// $Header: /devl/xcs/repo/env/Databases/CAEInterfaces/verunilibs/data/glbl.v,v 1.14 2010/10/28 20:44:00 fphillip Exp $
|
||||
`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,31 @@
|
||||
-makelib ies_lib/xil_defaultlib -sv \
|
||||
"C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv" \
|
||||
-endlib
|
||||
-makelib ies_lib/xpm \
|
||||
"C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd" \
|
||||
-endlib
|
||||
-makelib ies_lib/xbip_utils_v3_0_10 \
|
||||
"../../../ipstatic/hdl/xbip_utils_v3_0_vh_rfs.vhd" \
|
||||
-endlib
|
||||
-makelib ies_lib/axi_utils_v2_0_6 \
|
||||
"../../../ipstatic/hdl/axi_utils_v2_0_vh_rfs.vhd" \
|
||||
-endlib
|
||||
-makelib ies_lib/xbip_pipe_v3_0_6 \
|
||||
"../../../ipstatic/hdl/xbip_pipe_v3_0_vh_rfs.vhd" \
|
||||
-endlib
|
||||
-makelib ies_lib/xbip_bram18k_v3_0_6 \
|
||||
"../../../ipstatic/hdl/xbip_bram18k_v3_0_vh_rfs.vhd" \
|
||||
-endlib
|
||||
-makelib ies_lib/mult_gen_v12_0_15 \
|
||||
"../../../ipstatic/hdl/mult_gen_v12_0_vh_rfs.vhd" \
|
||||
-endlib
|
||||
-makelib ies_lib/cmpy_v6_0_17 \
|
||||
"../../../ipstatic/hdl/cmpy_v6_0_vh_rfs.vhd" \
|
||||
-endlib
|
||||
-makelib ies_lib/xil_defaultlib \
|
||||
"../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd" \
|
||||
-endlib
|
||||
-makelib ies_lib/xil_defaultlib \
|
||||
glbl.v
|
||||
-endlib
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
################################################################################
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# README.txt: Please read the sections below to understand the steps required to
|
||||
# run the exported script and information about the source files.
|
||||
#
|
||||
# Generated by export_simulation on Sat Mar 18 23:15:09 +0800 2023
|
||||
#
|
||||
################################################################################
|
||||
|
||||
1. How to run the generated simulation script:-
|
||||
|
||||
From the shell prompt in the current directory, issue the following command:-
|
||||
|
||||
./cmpy_18x8.sh
|
||||
|
||||
This command will launch the 'compile', 'elaborate' and 'simulate' functions
|
||||
implemented in the script file for the 3-step flow. These functions are called
|
||||
from the main 'run' function in the script file.
|
||||
|
||||
The 'run' function first executes the 'setup' function, the purpose of which is to
|
||||
create simulator specific setup files, create design library mappings and library
|
||||
directories and copy 'glbl.v' from the Vivado software install location into the
|
||||
current directory.
|
||||
|
||||
The 'setup' function is also used for removing the simulator generated data in
|
||||
order to reset the current directory to the original state when export_simulation
|
||||
was launched from Vivado. This generated data can be removed by specifying the
|
||||
'-reset_run' switch to the './cmpy_18x8.sh' script.
|
||||
|
||||
./cmpy_18x8.sh -reset_run
|
||||
|
||||
To keep the generated data from the previous run but regenerate the setup files and
|
||||
library directories, use the '-noclean_files' switch.
|
||||
|
||||
./cmpy_18x8.sh -noclean_files
|
||||
|
||||
For more information on the script, please type './cmpy_18x8.sh -help'.
|
||||
|
||||
2. Additional design information files:-
|
||||
|
||||
export_simulation generates following additional file that can be used for fetching
|
||||
the design files information or for integrating with external custom scripts.
|
||||
|
||||
Name : file_info.txt
|
||||
Purpose: This file contains detail design file information based on the compile order
|
||||
when export_simulation was executed from Vivado. The file contains information
|
||||
about the file type, name, whether it is part of the IP, associated library
|
||||
and the file path information.
|
||||
+167
@@ -0,0 +1,167 @@
|
||||
#!/bin/bash -f
|
||||
#*********************************************************************************************************
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# Filename : cmpy_18x8.sh
|
||||
# Simulator : Mentor Graphics ModelSim Simulator
|
||||
# Description : Simulation script for compiling, elaborating and verifying the project source files.
|
||||
# The script will automatically create the design libraries sub-directories in the run
|
||||
# directory, add the library logical mappings in the simulator setup file, create default
|
||||
# 'do/prj' file, execute compilation, elaboration and simulation steps.
|
||||
#
|
||||
# Generated by Vivado on Sat Mar 18 23:15:09 +0800 2023
|
||||
# SW Build 2644227 on Wed Sep 4 09:45:24 MDT 2019
|
||||
#
|
||||
# Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
#
|
||||
# usage: cmpy_18x8.sh [-help]
|
||||
# usage: cmpy_18x8.sh [-lib_map_path]
|
||||
# usage: cmpy_18x8.sh [-noclean_files]
|
||||
# usage: cmpy_18x8.sh [-reset_run]
|
||||
#
|
||||
# Prerequisite:- To compile and run simulation, you must compile the Xilinx simulation libraries using the
|
||||
# 'compile_simlib' TCL command. For more information about this command, run 'compile_simlib -help' in the
|
||||
# Vivado Tcl Shell. Once the libraries have been compiled successfully, specify the -lib_map_path switch
|
||||
# that points to these libraries and rerun export_simulation. For more information about this switch please
|
||||
# type 'export_simulation -help' in the Tcl shell.
|
||||
#
|
||||
# You can also point to the simulation libraries by either replacing the <SPECIFY_COMPILED_LIB_PATH> in this
|
||||
# script with the compiled library directory path or specify this path with the '-lib_map_path' switch when
|
||||
# executing this script. Please type 'cmpy_18x8.sh -help' for more information.
|
||||
#
|
||||
# Additional references - 'Xilinx Vivado Design Suite User Guide:Logic simulation (UG900)'
|
||||
#
|
||||
#*********************************************************************************************************
|
||||
|
||||
|
||||
# Script info
|
||||
echo -e "cmpy_18x8.sh - Script generated by export_simulation (Vivado v2019.1.3 (64-bit)-id)\n"
|
||||
|
||||
# Main steps
|
||||
run()
|
||||
{
|
||||
check_args $# $1
|
||||
setup $1 $2
|
||||
compile
|
||||
simulate
|
||||
}
|
||||
|
||||
# RUN_STEP: <compile>
|
||||
compile()
|
||||
{
|
||||
# Compile design files
|
||||
source compile.do 2>&1 | tee -a compile.log
|
||||
|
||||
}
|
||||
|
||||
# RUN_STEP: <simulate>
|
||||
simulate()
|
||||
{
|
||||
vsim -64 -c -do "do {simulate.do}" -l simulate.log
|
||||
}
|
||||
|
||||
# STEP: setup
|
||||
setup()
|
||||
{
|
||||
case $1 in
|
||||
"-lib_map_path" )
|
||||
if [[ ($2 == "") ]]; then
|
||||
echo -e "ERROR: Simulation library directory path not specified (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
copy_setup_file $2
|
||||
;;
|
||||
"-reset_run" )
|
||||
reset_run
|
||||
echo -e "INFO: Simulation run files deleted.\n"
|
||||
exit 0
|
||||
;;
|
||||
"-noclean_files" )
|
||||
# do not remove previous data
|
||||
;;
|
||||
* )
|
||||
copy_setup_file $2
|
||||
esac
|
||||
|
||||
create_lib_dir
|
||||
|
||||
# Add any setup/initialization commands here:-
|
||||
|
||||
# <user specific commands>
|
||||
|
||||
}
|
||||
|
||||
# Copy modelsim.ini file
|
||||
copy_setup_file()
|
||||
{
|
||||
file="modelsim.ini"
|
||||
if [[ ($1 != "") ]]; then
|
||||
lib_map_path="$1"
|
||||
else
|
||||
lib_map_path="C:/Mentor/CompLib/2019.1.3"
|
||||
fi
|
||||
if [[ ($lib_map_path != "") ]]; then
|
||||
src_file="$lib_map_path/$file"
|
||||
cp $src_file .
|
||||
fi
|
||||
}
|
||||
|
||||
# Create design library directory
|
||||
create_lib_dir()
|
||||
{
|
||||
lib_dir="modelsim_lib"
|
||||
if [[ -e $lib_dir ]]; then
|
||||
rm -rf $lib_dir
|
||||
fi
|
||||
|
||||
mkdir $lib_dir
|
||||
|
||||
}
|
||||
|
||||
# Delete generated data from the previous run
|
||||
reset_run()
|
||||
{
|
||||
files_to_remove=(compile.log elaborate.log simulate.log vsim.wlf modelsim_lib)
|
||||
for (( i=0; i<${#files_to_remove[*]}; i++ )); do
|
||||
file="${files_to_remove[i]}"
|
||||
if [[ -e $file ]]; then
|
||||
rm -rf $file
|
||||
fi
|
||||
done
|
||||
|
||||
create_lib_dir
|
||||
}
|
||||
|
||||
# Check command line arguments
|
||||
check_args()
|
||||
{
|
||||
if [[ ($1 == 1 ) && ($2 != "-lib_map_path" && $2 != "-noclean_files" && $2 != "-reset_run" && $2 != "-help" && $2 != "-h") ]]; then
|
||||
echo -e "ERROR: Unknown option specified '$2' (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ($2 == "-help" || $2 == "-h") ]]; then
|
||||
usage
|
||||
fi
|
||||
}
|
||||
|
||||
# Script usage
|
||||
usage()
|
||||
{
|
||||
msg="Usage: cmpy_18x8.sh [-help]\n\
|
||||
Usage: cmpy_18x8.sh [-lib_map_path]\n\
|
||||
Usage: cmpy_18x8.sh [-reset_run]\n\
|
||||
Usage: cmpy_18x8.sh [-noclean_files]\n\n\
|
||||
[-help] -- Print help information for this script\n\n\
|
||||
[-lib_map_path <path>] -- Compiled simulation library directory path. The simulation library is compiled\n\
|
||||
using the compile_simlib tcl command. Please see 'compile_simlib -help' for more information.\n\n\
|
||||
[-reset_run] -- Recreate simulator setup files and library mappings for a clean run. The generated files\n\
|
||||
from the previous run will be removed. If you don't want to remove the simulator generated files, use the\n\
|
||||
-noclean_files switch.\n\n\
|
||||
[-noclean_files] -- Reset previous run, but do not remove simulator generated files from the previous run.\n\n"
|
||||
echo -e $msg
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Launch script
|
||||
run $1 $2
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
vlib modelsim_lib/work
|
||||
vlib modelsim_lib/msim
|
||||
|
||||
vlib modelsim_lib/msim/xil_defaultlib
|
||||
|
||||
vmap xil_defaultlib modelsim_lib/msim/xil_defaultlib
|
||||
|
||||
vcom -work xil_defaultlib -64 -93 \
|
||||
"../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd" \
|
||||
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
cmpy_18x8.vhd,vhdl,xil_defaultlib,../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd,
|
||||
+2590
File diff suppressed because it is too large
Load Diff
+16
@@ -0,0 +1,16 @@
|
||||
onbreak {quit -f}
|
||||
onerror {quit -f}
|
||||
|
||||
vsim -voptargs="+acc" -t 1ps -L xbip_utils_v3_0_10 -L axi_utils_v2_0_6 -L xbip_pipe_v3_0_6 -L xbip_bram18k_v3_0_6 -L mult_gen_v12_0_15 -L cmpy_v6_0_17 -L xil_defaultlib -L secureip -L xpm -lib xil_defaultlib xil_defaultlib.cmpy_18x8
|
||||
|
||||
do {wave.do}
|
||||
|
||||
view wave
|
||||
view structure
|
||||
view signals
|
||||
|
||||
do {cmpy_18x8.udo}
|
||||
|
||||
run -all
|
||||
|
||||
quit -force
|
||||
+1
@@ -0,0 +1 @@
|
||||
add wave *
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
################################################################################
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# README.txt: Please read the sections below to understand the steps required to
|
||||
# run the exported script and information about the source files.
|
||||
#
|
||||
# Generated by export_simulation on Sat Mar 18 23:15:09 +0800 2023
|
||||
#
|
||||
################################################################################
|
||||
|
||||
1. How to run the generated simulation script:-
|
||||
|
||||
From the shell prompt in the current directory, issue the following command:-
|
||||
|
||||
./cmpy_18x8.sh
|
||||
|
||||
This command will launch the 'compile', 'elaborate' and 'simulate' functions
|
||||
implemented in the script file for the 3-step flow. These functions are called
|
||||
from the main 'run' function in the script file.
|
||||
|
||||
The 'run' function first executes the 'setup' function, the purpose of which is to
|
||||
create simulator specific setup files, create design library mappings and library
|
||||
directories and copy 'glbl.v' from the Vivado software install location into the
|
||||
current directory.
|
||||
|
||||
The 'setup' function is also used for removing the simulator generated data in
|
||||
order to reset the current directory to the original state when export_simulation
|
||||
was launched from Vivado. This generated data can be removed by specifying the
|
||||
'-reset_run' switch to the './cmpy_18x8.sh' script.
|
||||
|
||||
./cmpy_18x8.sh -reset_run
|
||||
|
||||
To keep the generated data from the previous run but regenerate the setup files and
|
||||
library directories, use the '-noclean_files' switch.
|
||||
|
||||
./cmpy_18x8.sh -noclean_files
|
||||
|
||||
For more information on the script, please type './cmpy_18x8.sh -help'.
|
||||
|
||||
2. Additional design information files:-
|
||||
|
||||
export_simulation generates following additional file that can be used for fetching
|
||||
the design files information or for integrating with external custom scripts.
|
||||
|
||||
Name : file_info.txt
|
||||
Purpose: This file contains detail design file information based on the compile order
|
||||
when export_simulation was executed from Vivado. The file contains information
|
||||
about the file type, name, whether it is part of the IP, associated library
|
||||
and the file path information.
|
||||
+175
@@ -0,0 +1,175 @@
|
||||
#!/bin/bash -f
|
||||
#*********************************************************************************************************
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# Filename : cmpy_18x8.sh
|
||||
# Simulator : Mentor Graphics Questa Advanced Simulator
|
||||
# Description : Simulation script for compiling, elaborating and verifying the project source files.
|
||||
# The script will automatically create the design libraries sub-directories in the run
|
||||
# directory, add the library logical mappings in the simulator setup file, create default
|
||||
# 'do/prj' file, execute compilation, elaboration and simulation steps.
|
||||
#
|
||||
# Generated by Vivado on Sat Mar 18 23:15:09 +0800 2023
|
||||
# SW Build 2644227 on Wed Sep 4 09:45:24 MDT 2019
|
||||
#
|
||||
# Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
#
|
||||
# usage: cmpy_18x8.sh [-help]
|
||||
# usage: cmpy_18x8.sh [-lib_map_path]
|
||||
# usage: cmpy_18x8.sh [-noclean_files]
|
||||
# usage: cmpy_18x8.sh [-reset_run]
|
||||
#
|
||||
# Prerequisite:- To compile and run simulation, you must compile the Xilinx simulation libraries using the
|
||||
# 'compile_simlib' TCL command. For more information about this command, run 'compile_simlib -help' in the
|
||||
# Vivado Tcl Shell. Once the libraries have been compiled successfully, specify the -lib_map_path switch
|
||||
# that points to these libraries and rerun export_simulation. For more information about this switch please
|
||||
# type 'export_simulation -help' in the Tcl shell.
|
||||
#
|
||||
# You can also point to the simulation libraries by either replacing the <SPECIFY_COMPILED_LIB_PATH> in this
|
||||
# script with the compiled library directory path or specify this path with the '-lib_map_path' switch when
|
||||
# executing this script. Please type 'cmpy_18x8.sh -help' for more information.
|
||||
#
|
||||
# Additional references - 'Xilinx Vivado Design Suite User Guide:Logic simulation (UG900)'
|
||||
#
|
||||
#*********************************************************************************************************
|
||||
|
||||
|
||||
# Script info
|
||||
echo -e "cmpy_18x8.sh - Script generated by export_simulation (Vivado v2019.1.3 (64-bit)-id)\n"
|
||||
|
||||
# Main steps
|
||||
run()
|
||||
{
|
||||
check_args $# $1
|
||||
setup $1 $2
|
||||
compile
|
||||
elaborate
|
||||
simulate
|
||||
}
|
||||
|
||||
# RUN_STEP: <compile>
|
||||
compile()
|
||||
{
|
||||
# Compile design files
|
||||
source compile.do 2>&1 | tee -a compile.log
|
||||
|
||||
}
|
||||
|
||||
# RUN_STEP: <elaborate>
|
||||
elaborate()
|
||||
{
|
||||
source elaborate.do 2>&1 | tee -a elaborate.log
|
||||
}
|
||||
|
||||
# RUN_STEP: <simulate>
|
||||
simulate()
|
||||
{
|
||||
vsim -64 -c -do "do {simulate.do}" -l simulate.log
|
||||
}
|
||||
|
||||
# STEP: setup
|
||||
setup()
|
||||
{
|
||||
case $1 in
|
||||
"-lib_map_path" )
|
||||
if [[ ($2 == "") ]]; then
|
||||
echo -e "ERROR: Simulation library directory path not specified (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
copy_setup_file $2
|
||||
;;
|
||||
"-reset_run" )
|
||||
reset_run
|
||||
echo -e "INFO: Simulation run files deleted.\n"
|
||||
exit 0
|
||||
;;
|
||||
"-noclean_files" )
|
||||
# do not remove previous data
|
||||
;;
|
||||
* )
|
||||
copy_setup_file $2
|
||||
esac
|
||||
|
||||
create_lib_dir
|
||||
|
||||
# Add any setup/initialization commands here:-
|
||||
|
||||
# <user specific commands>
|
||||
|
||||
}
|
||||
|
||||
# Copy modelsim.ini file
|
||||
copy_setup_file()
|
||||
{
|
||||
file="modelsim.ini"
|
||||
lib_map_path="<SPECIFY_COMPILED_LIB_PATH>"
|
||||
if [[ ($1 != "" && -e $1) ]]; then
|
||||
lib_map_path="$1"
|
||||
else
|
||||
echo -e "ERROR: Compiled simulation library directory path not specified or does not exist (type "./top.sh -help" for more information)\n"
|
||||
fi
|
||||
if [[ ($lib_map_path != "") ]]; then
|
||||
src_file="$lib_map_path/$file"
|
||||
cp $src_file .
|
||||
fi
|
||||
}
|
||||
|
||||
# Create design library directory
|
||||
create_lib_dir()
|
||||
{
|
||||
lib_dir="questa_lib"
|
||||
if [[ -e $lib_dir ]]; then
|
||||
rm -rf $lib_dir
|
||||
fi
|
||||
|
||||
mkdir $lib_dir
|
||||
|
||||
}
|
||||
|
||||
# Delete generated data from the previous run
|
||||
reset_run()
|
||||
{
|
||||
files_to_remove=(compile.log elaborate.log simulate.log vsim.wlf questa_lib)
|
||||
for (( i=0; i<${#files_to_remove[*]}; i++ )); do
|
||||
file="${files_to_remove[i]}"
|
||||
if [[ -e $file ]]; then
|
||||
rm -rf $file
|
||||
fi
|
||||
done
|
||||
|
||||
create_lib_dir
|
||||
}
|
||||
|
||||
# Check command line arguments
|
||||
check_args()
|
||||
{
|
||||
if [[ ($1 == 1 ) && ($2 != "-lib_map_path" && $2 != "-noclean_files" && $2 != "-reset_run" && $2 != "-help" && $2 != "-h") ]]; then
|
||||
echo -e "ERROR: Unknown option specified '$2' (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ($2 == "-help" || $2 == "-h") ]]; then
|
||||
usage
|
||||
fi
|
||||
}
|
||||
|
||||
# Script usage
|
||||
usage()
|
||||
{
|
||||
msg="Usage: cmpy_18x8.sh [-help]\n\
|
||||
Usage: cmpy_18x8.sh [-lib_map_path]\n\
|
||||
Usage: cmpy_18x8.sh [-reset_run]\n\
|
||||
Usage: cmpy_18x8.sh [-noclean_files]\n\n\
|
||||
[-help] -- Print help information for this script\n\n\
|
||||
[-lib_map_path <path>] -- Compiled simulation library directory path. The simulation library is compiled\n\
|
||||
using the compile_simlib tcl command. Please see 'compile_simlib -help' for more information.\n\n\
|
||||
[-reset_run] -- Recreate simulator setup files and library mappings for a clean run. The generated files\n\
|
||||
from the previous run will be removed. If you don't want to remove the simulator generated files, use the\n\
|
||||
-noclean_files switch.\n\n\
|
||||
[-noclean_files] -- Reset previous run, but do not remove simulator generated files from the previous run.\n\n"
|
||||
echo -e $msg
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Launch script
|
||||
run $1 $2
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
vlib questa_lib/work
|
||||
vlib questa_lib/msim
|
||||
|
||||
vlib questa_lib/msim/xil_defaultlib
|
||||
vlib questa_lib/msim/xpm
|
||||
vlib questa_lib/msim/xbip_utils_v3_0_10
|
||||
vlib questa_lib/msim/axi_utils_v2_0_6
|
||||
vlib questa_lib/msim/xbip_pipe_v3_0_6
|
||||
vlib questa_lib/msim/xbip_bram18k_v3_0_6
|
||||
vlib questa_lib/msim/mult_gen_v12_0_15
|
||||
vlib questa_lib/msim/cmpy_v6_0_17
|
||||
|
||||
vmap xil_defaultlib questa_lib/msim/xil_defaultlib
|
||||
vmap xpm questa_lib/msim/xpm
|
||||
vmap xbip_utils_v3_0_10 questa_lib/msim/xbip_utils_v3_0_10
|
||||
vmap axi_utils_v2_0_6 questa_lib/msim/axi_utils_v2_0_6
|
||||
vmap xbip_pipe_v3_0_6 questa_lib/msim/xbip_pipe_v3_0_6
|
||||
vmap xbip_bram18k_v3_0_6 questa_lib/msim/xbip_bram18k_v3_0_6
|
||||
vmap mult_gen_v12_0_15 questa_lib/msim/mult_gen_v12_0_15
|
||||
vmap cmpy_v6_0_17 questa_lib/msim/cmpy_v6_0_17
|
||||
|
||||
vlog -work xil_defaultlib -64 -sv \
|
||||
"C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv" \
|
||||
|
||||
vcom -work xpm -64 -93 \
|
||||
"C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd" \
|
||||
|
||||
vcom -work xbip_utils_v3_0_10 -64 -93 \
|
||||
"../../../ipstatic/hdl/xbip_utils_v3_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work axi_utils_v2_0_6 -64 -93 \
|
||||
"../../../ipstatic/hdl/axi_utils_v2_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work xbip_pipe_v3_0_6 -64 -93 \
|
||||
"../../../ipstatic/hdl/xbip_pipe_v3_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work xbip_bram18k_v3_0_6 -64 -93 \
|
||||
"../../../ipstatic/hdl/xbip_bram18k_v3_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work mult_gen_v12_0_15 -64 -93 \
|
||||
"../../../ipstatic/hdl/mult_gen_v12_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work cmpy_v6_0_17 -64 -93 \
|
||||
"../../../ipstatic/hdl/cmpy_v6_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work xil_defaultlib -64 -93 \
|
||||
"../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd" \
|
||||
|
||||
|
||||
vlog -work xil_defaultlib \
|
||||
"glbl.v"
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
vopt -64 +acc -l elaborate.log -L xil_defaultlib -L xpm -L xbip_utils_v3_0_10 -L axi_utils_v2_0_6 -L xbip_pipe_v3_0_6 -L xbip_bram18k_v3_0_6 -L mult_gen_v12_0_15 -L cmpy_v6_0_17 -L unisims_ver -L unimacro_ver -L secureip -work xil_defaultlib xil_defaultlib.cmpy_18x8 xil_defaultlib.glbl -o cmpy_18x8_opt
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
xpm_memory.sv,systemverilog,xil_defaultlib,C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv,
|
||||
xpm_VCOMP.vhd,vhdl,xpm,C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd,
|
||||
xbip_utils_v3_0_vh_rfs.vhd,vhdl,xbip_utils_v3_0_10,../../../ipstatic/hdl/xbip_utils_v3_0_vh_rfs.vhd,
|
||||
axi_utils_v2_0_vh_rfs.vhd,vhdl,axi_utils_v2_0_6,../../../ipstatic/hdl/axi_utils_v2_0_vh_rfs.vhd,
|
||||
xbip_pipe_v3_0_vh_rfs.vhd,vhdl,xbip_pipe_v3_0_6,../../../ipstatic/hdl/xbip_pipe_v3_0_vh_rfs.vhd,
|
||||
xbip_bram18k_v3_0_vh_rfs.vhd,vhdl,xbip_bram18k_v3_0_6,../../../ipstatic/hdl/xbip_bram18k_v3_0_vh_rfs.vhd,
|
||||
mult_gen_v12_0_vh_rfs.vhd,vhdl,mult_gen_v12_0_15,../../../ipstatic/hdl/mult_gen_v12_0_vh_rfs.vhd,
|
||||
cmpy_v6_0_vh_rfs.vhd,vhdl,cmpy_v6_0_17,../../../ipstatic/hdl/cmpy_v6_0_vh_rfs.vhd,
|
||||
cmpy_18x8.vhd,vhdl,xil_defaultlib,../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd,
|
||||
glbl.v,Verilog,xil_defaultlib,glbl.v
|
||||
@@ -0,0 +1,71 @@
|
||||
// $Header: /devl/xcs/repo/env/Databases/CAEInterfaces/verunilibs/data/glbl.v,v 1.14 2010/10/28 20:44:00 fphillip Exp $
|
||||
`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
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
onbreak {quit -f}
|
||||
onerror {quit -f}
|
||||
|
||||
vsim -t 1ps -lib xil_defaultlib cmpy_18x8_opt
|
||||
|
||||
do {wave.do}
|
||||
|
||||
view wave
|
||||
view structure
|
||||
view signals
|
||||
|
||||
do {cmpy_18x8.udo}
|
||||
|
||||
run -all
|
||||
|
||||
quit -force
|
||||
@@ -0,0 +1,2 @@
|
||||
add wave *
|
||||
add wave /glbl/GSR
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
################################################################################
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# README.txt: Please read the sections below to understand the steps required to
|
||||
# run the exported script and information about the source files.
|
||||
#
|
||||
# Generated by export_simulation on Sat Mar 18 23:15:09 +0800 2023
|
||||
#
|
||||
################################################################################
|
||||
|
||||
1. How to run the generated simulation script:-
|
||||
|
||||
From the shell prompt in the current directory, issue the following command:-
|
||||
|
||||
./cmpy_18x8.sh
|
||||
|
||||
This command will launch the 'compile', 'elaborate' and 'simulate' functions
|
||||
implemented in the script file for the 3-step flow. These functions are called
|
||||
from the main 'run' function in the script file.
|
||||
|
||||
The 'run' function first executes the 'setup' function, the purpose of which is to
|
||||
create simulator specific setup files, create design library mappings and library
|
||||
directories and copy 'glbl.v' from the Vivado software install location into the
|
||||
current directory.
|
||||
|
||||
The 'setup' function is also used for removing the simulator generated data in
|
||||
order to reset the current directory to the original state when export_simulation
|
||||
was launched from Vivado. This generated data can be removed by specifying the
|
||||
'-reset_run' switch to the './cmpy_18x8.sh' script.
|
||||
|
||||
./cmpy_18x8.sh -reset_run
|
||||
|
||||
To keep the generated data from the previous run but regenerate the setup files and
|
||||
library directories, use the '-noclean_files' switch.
|
||||
|
||||
./cmpy_18x8.sh -noclean_files
|
||||
|
||||
For more information on the script, please type './cmpy_18x8.sh -help'.
|
||||
|
||||
2. Additional design information files:-
|
||||
|
||||
export_simulation generates following additional file that can be used for fetching
|
||||
the design files information or for integrating with external custom scripts.
|
||||
|
||||
Name : file_info.txt
|
||||
Purpose: This file contains detail design file information based on the compile order
|
||||
when export_simulation was executed from Vivado. The file contains information
|
||||
about the file type, name, whether it is part of the IP, associated library
|
||||
and the file path information.
|
||||
+154
@@ -0,0 +1,154 @@
|
||||
#!/bin/bash -f
|
||||
#*********************************************************************************************************
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# Filename : cmpy_18x8.sh
|
||||
# Simulator : Aldec Riviera-PRO Simulator
|
||||
# Description : Simulation script for compiling, elaborating and verifying the project source files.
|
||||
# The script will automatically create the design libraries sub-directories in the run
|
||||
# directory, add the library logical mappings in the simulator setup file, create default
|
||||
# 'do/prj' file, execute compilation, elaboration and simulation steps.
|
||||
#
|
||||
# Generated by Vivado on Sat Mar 18 23:15:09 +0800 2023
|
||||
# SW Build 2644227 on Wed Sep 4 09:45:24 MDT 2019
|
||||
#
|
||||
# Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
#
|
||||
# usage: cmpy_18x8.sh [-help]
|
||||
# usage: cmpy_18x8.sh [-lib_map_path]
|
||||
# usage: cmpy_18x8.sh [-noclean_files]
|
||||
# usage: cmpy_18x8.sh [-reset_run]
|
||||
#
|
||||
# Prerequisite:- To compile and run simulation, you must compile the Xilinx simulation libraries using the
|
||||
# 'compile_simlib' TCL command. For more information about this command, run 'compile_simlib -help' in the
|
||||
# Vivado Tcl Shell. Once the libraries have been compiled successfully, specify the -lib_map_path switch
|
||||
# that points to these libraries and rerun export_simulation. For more information about this switch please
|
||||
# type 'export_simulation -help' in the Tcl shell.
|
||||
#
|
||||
# You can also point to the simulation libraries by either replacing the <SPECIFY_COMPILED_LIB_PATH> in this
|
||||
# script with the compiled library directory path or specify this path with the '-lib_map_path' switch when
|
||||
# executing this script. Please type 'cmpy_18x8.sh -help' for more information.
|
||||
#
|
||||
# Additional references - 'Xilinx Vivado Design Suite User Guide:Logic simulation (UG900)'
|
||||
#
|
||||
#*********************************************************************************************************
|
||||
|
||||
|
||||
# Script info
|
||||
echo -e "cmpy_18x8.sh - Script generated by export_simulation (Vivado v2019.1.3 (64-bit)-id)\n"
|
||||
|
||||
# Main steps
|
||||
run()
|
||||
{
|
||||
check_args $# $1
|
||||
setup $1 $2
|
||||
compile
|
||||
simulate
|
||||
}
|
||||
|
||||
# RUN_STEP: <compile>
|
||||
compile()
|
||||
{
|
||||
# Compile design files
|
||||
source compile.do 2>&1 | tee -a compile.log
|
||||
|
||||
}
|
||||
|
||||
# RUN_STEP: <simulate>
|
||||
simulate()
|
||||
{
|
||||
runvsimsa -l simulate.log -do "do {simulate.do}"
|
||||
}
|
||||
|
||||
# STEP: setup
|
||||
setup()
|
||||
{
|
||||
case $1 in
|
||||
"-lib_map_path" )
|
||||
if [[ ($2 == "") ]]; then
|
||||
echo -e "ERROR: Simulation library directory path not specified (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
map_setup_file $2
|
||||
;;
|
||||
"-reset_run" )
|
||||
reset_run
|
||||
echo -e "INFO: Simulation run files deleted.\n"
|
||||
exit 0
|
||||
;;
|
||||
"-noclean_files" )
|
||||
# do not remove previous data
|
||||
;;
|
||||
* )
|
||||
map_setup_file $2
|
||||
esac
|
||||
|
||||
# Add any setup/initialization commands here:-
|
||||
|
||||
# <user specific commands>
|
||||
|
||||
}
|
||||
|
||||
# Map library.cfg file
|
||||
map_setup_file()
|
||||
{
|
||||
file="library.cfg"
|
||||
lib_map_path="<SPECIFY_COMPILED_LIB_PATH>"
|
||||
if [[ ($1 != "" && -e $1) ]]; then
|
||||
lib_map_path="$1"
|
||||
else
|
||||
echo -e "ERROR: Compiled simulation library directory path not specified or does not exist (type "./top.sh -help" for more information)\n"
|
||||
fi
|
||||
if [[ ($lib_map_path != "") ]]; then
|
||||
src_file="$lib_map_path/$file"
|
||||
if [[ -e $src_file ]]; then
|
||||
vmap -link $lib_map_path
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Delete generated data from the previous run
|
||||
reset_run()
|
||||
{
|
||||
files_to_remove=(compile.log elaboration.log simulate.log dataset.asdb work riviera)
|
||||
for (( i=0; i<${#files_to_remove[*]}; i++ )); do
|
||||
file="${files_to_remove[i]}"
|
||||
if [[ -e $file ]]; then
|
||||
rm -rf $file
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Check command line arguments
|
||||
check_args()
|
||||
{
|
||||
if [[ ($1 == 1 ) && ($2 != "-lib_map_path" && $2 != "-noclean_files" && $2 != "-reset_run" && $2 != "-help" && $2 != "-h") ]]; then
|
||||
echo -e "ERROR: Unknown option specified '$2' (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ($2 == "-help" || $2 == "-h") ]]; then
|
||||
usage
|
||||
fi
|
||||
}
|
||||
|
||||
# Script usage
|
||||
usage()
|
||||
{
|
||||
msg="Usage: cmpy_18x8.sh [-help]\n\
|
||||
Usage: cmpy_18x8.sh [-lib_map_path]\n\
|
||||
Usage: cmpy_18x8.sh [-reset_run]\n\
|
||||
Usage: cmpy_18x8.sh [-noclean_files]\n\n\
|
||||
[-help] -- Print help information for this script\n\n\
|
||||
[-lib_map_path <path>] -- Compiled simulation library directory path. The simulation library is compiled\n\
|
||||
using the compile_simlib tcl command. Please see 'compile_simlib -help' for more information.\n\n\
|
||||
[-reset_run] -- Recreate simulator setup files and library mappings for a clean run. The generated files\n\
|
||||
from the previous run will be removed. If you don't want to remove the simulator generated files, use the\n\
|
||||
-noclean_files switch.\n\n\
|
||||
[-noclean_files] -- Reset previous run, but do not remove simulator generated files from the previous run.\n\n"
|
||||
echo -e $msg
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Launch script
|
||||
run $1 $2
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
vlib work
|
||||
vlib riviera
|
||||
|
||||
vlib riviera/xil_defaultlib
|
||||
vlib riviera/xpm
|
||||
vlib riviera/xbip_utils_v3_0_10
|
||||
vlib riviera/axi_utils_v2_0_6
|
||||
vlib riviera/xbip_pipe_v3_0_6
|
||||
vlib riviera/xbip_bram18k_v3_0_6
|
||||
vlib riviera/mult_gen_v12_0_15
|
||||
vlib riviera/cmpy_v6_0_17
|
||||
|
||||
vmap xil_defaultlib riviera/xil_defaultlib
|
||||
vmap xpm riviera/xpm
|
||||
vmap xbip_utils_v3_0_10 riviera/xbip_utils_v3_0_10
|
||||
vmap axi_utils_v2_0_6 riviera/axi_utils_v2_0_6
|
||||
vmap xbip_pipe_v3_0_6 riviera/xbip_pipe_v3_0_6
|
||||
vmap xbip_bram18k_v3_0_6 riviera/xbip_bram18k_v3_0_6
|
||||
vmap mult_gen_v12_0_15 riviera/mult_gen_v12_0_15
|
||||
vmap cmpy_v6_0_17 riviera/cmpy_v6_0_17
|
||||
|
||||
vlog -work xil_defaultlib -sv2k12 \
|
||||
"C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv" \
|
||||
|
||||
vcom -work xpm -93 \
|
||||
"C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd" \
|
||||
|
||||
vcom -work xbip_utils_v3_0_10 -93 \
|
||||
"../../../ipstatic/hdl/xbip_utils_v3_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work axi_utils_v2_0_6 -93 \
|
||||
"../../../ipstatic/hdl/axi_utils_v2_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work xbip_pipe_v3_0_6 -93 \
|
||||
"../../../ipstatic/hdl/xbip_pipe_v3_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work xbip_bram18k_v3_0_6 -93 \
|
||||
"../../../ipstatic/hdl/xbip_bram18k_v3_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work mult_gen_v12_0_15 -93 \
|
||||
"../../../ipstatic/hdl/mult_gen_v12_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work cmpy_v6_0_17 -93 \
|
||||
"../../../ipstatic/hdl/cmpy_v6_0_vh_rfs.vhd" \
|
||||
|
||||
vcom -work xil_defaultlib -93 \
|
||||
"../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd" \
|
||||
|
||||
|
||||
vlog -work xil_defaultlib \
|
||||
"glbl.v"
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
xpm_memory.sv,systemverilog,xil_defaultlib,C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv,
|
||||
xpm_VCOMP.vhd,vhdl,xpm,C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd,
|
||||
xbip_utils_v3_0_vh_rfs.vhd,vhdl,xbip_utils_v3_0_10,../../../ipstatic/hdl/xbip_utils_v3_0_vh_rfs.vhd,
|
||||
axi_utils_v2_0_vh_rfs.vhd,vhdl,axi_utils_v2_0_6,../../../ipstatic/hdl/axi_utils_v2_0_vh_rfs.vhd,
|
||||
xbip_pipe_v3_0_vh_rfs.vhd,vhdl,xbip_pipe_v3_0_6,../../../ipstatic/hdl/xbip_pipe_v3_0_vh_rfs.vhd,
|
||||
xbip_bram18k_v3_0_vh_rfs.vhd,vhdl,xbip_bram18k_v3_0_6,../../../ipstatic/hdl/xbip_bram18k_v3_0_vh_rfs.vhd,
|
||||
mult_gen_v12_0_vh_rfs.vhd,vhdl,mult_gen_v12_0_15,../../../ipstatic/hdl/mult_gen_v12_0_vh_rfs.vhd,
|
||||
cmpy_v6_0_vh_rfs.vhd,vhdl,cmpy_v6_0_17,../../../ipstatic/hdl/cmpy_v6_0_vh_rfs.vhd,
|
||||
cmpy_18x8.vhd,vhdl,xil_defaultlib,../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd,
|
||||
glbl.v,Verilog,xil_defaultlib,glbl.v
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
// $Header: /devl/xcs/repo/env/Databases/CAEInterfaces/verunilibs/data/glbl.v,v 1.14 2010/10/28 20:44:00 fphillip Exp $
|
||||
`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
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
onbreak {quit -force}
|
||||
onerror {quit -force}
|
||||
|
||||
asim -t 1ps +access +r +m+cmpy_18x8 -L xil_defaultlib -L xpm -L xbip_utils_v3_0_10 -L axi_utils_v2_0_6 -L xbip_pipe_v3_0_6 -L xbip_bram18k_v3_0_6 -L mult_gen_v12_0_15 -L cmpy_v6_0_17 -L unisims_ver -L unimacro_ver -L secureip -O5 xil_defaultlib.cmpy_18x8 xil_defaultlib.glbl
|
||||
|
||||
do {wave.do}
|
||||
|
||||
view wave
|
||||
view structure
|
||||
|
||||
do {cmpy_18x8.udo}
|
||||
|
||||
run -all
|
||||
|
||||
endsim
|
||||
|
||||
quit -force
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
add wave *
|
||||
add wave /glbl/GSR
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
################################################################################
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# README.txt: Please read the sections below to understand the steps required to
|
||||
# run the exported script and information about the source files.
|
||||
#
|
||||
# Generated by export_simulation on Sat Mar 18 23:15:09 +0800 2023
|
||||
#
|
||||
################################################################################
|
||||
|
||||
1. How to run the generated simulation script:-
|
||||
|
||||
From the shell prompt in the current directory, issue the following command:-
|
||||
|
||||
./cmpy_18x8.sh
|
||||
|
||||
This command will launch the 'compile', 'elaborate' and 'simulate' functions
|
||||
implemented in the script file for the 3-step flow. These functions are called
|
||||
from the main 'run' function in the script file.
|
||||
|
||||
The 'run' function first executes the 'setup' function, the purpose of which is to
|
||||
create simulator specific setup files, create design library mappings and library
|
||||
directories and copy 'glbl.v' from the Vivado software install location into the
|
||||
current directory.
|
||||
|
||||
The 'setup' function is also used for removing the simulator generated data in
|
||||
order to reset the current directory to the original state when export_simulation
|
||||
was launched from Vivado. This generated data can be removed by specifying the
|
||||
'-reset_run' switch to the './cmpy_18x8.sh' script.
|
||||
|
||||
./cmpy_18x8.sh -reset_run
|
||||
|
||||
To keep the generated data from the previous run but regenerate the setup files and
|
||||
library directories, use the '-noclean_files' switch.
|
||||
|
||||
./cmpy_18x8.sh -noclean_files
|
||||
|
||||
For more information on the script, please type './cmpy_18x8.sh -help'.
|
||||
|
||||
2. Additional design information files:-
|
||||
|
||||
export_simulation generates following additional file that can be used for fetching
|
||||
the design files information or for integrating with external custom scripts.
|
||||
|
||||
Name : file_info.txt
|
||||
Purpose: This file contains detail design file information based on the compile order
|
||||
when export_simulation was executed from Vivado. The file contains information
|
||||
about the file type, name, whether it is part of the IP, associated library
|
||||
and the file path information.
|
||||
+252
@@ -0,0 +1,252 @@
|
||||
#!/bin/bash -f
|
||||
#*********************************************************************************************************
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# Filename : cmpy_18x8.sh
|
||||
# Simulator : Synopsys Verilog Compiler Simulator
|
||||
# Description : Simulation script for compiling, elaborating and verifying the project source files.
|
||||
# The script will automatically create the design libraries sub-directories in the run
|
||||
# directory, add the library logical mappings in the simulator setup file, create default
|
||||
# 'do/prj' file, execute compilation, elaboration and simulation steps.
|
||||
#
|
||||
# Generated by Vivado on Sat Mar 18 23:15:09 +0800 2023
|
||||
# SW Build 2644227 on Wed Sep 4 09:45:24 MDT 2019
|
||||
#
|
||||
# Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
#
|
||||
# usage: cmpy_18x8.sh [-help]
|
||||
# usage: cmpy_18x8.sh [-lib_map_path]
|
||||
# usage: cmpy_18x8.sh [-noclean_files]
|
||||
# usage: cmpy_18x8.sh [-reset_run]
|
||||
#
|
||||
# Prerequisite:- To compile and run simulation, you must compile the Xilinx simulation libraries using the
|
||||
# 'compile_simlib' TCL command. For more information about this command, run 'compile_simlib -help' in the
|
||||
# Vivado Tcl Shell. Once the libraries have been compiled successfully, specify the -lib_map_path switch
|
||||
# that points to these libraries and rerun export_simulation. For more information about this switch please
|
||||
# type 'export_simulation -help' in the Tcl shell.
|
||||
#
|
||||
# You can also point to the simulation libraries by either replacing the <SPECIFY_COMPILED_LIB_PATH> in this
|
||||
# script with the compiled library directory path or specify this path with the '-lib_map_path' switch when
|
||||
# executing this script. Please type 'cmpy_18x8.sh -help' for more information.
|
||||
#
|
||||
# Additional references - 'Xilinx Vivado Design Suite User Guide:Logic simulation (UG900)'
|
||||
#
|
||||
#*********************************************************************************************************
|
||||
|
||||
# Directory path for design sources and include directories (if any) wrt this path
|
||||
ref_dir="."
|
||||
|
||||
# Override directory with 'export_sim_ref_dir' env path value if set in the shell
|
||||
if [[ (! -z "$export_sim_ref_dir") && ($export_sim_ref_dir != "") ]]; then
|
||||
ref_dir="$export_sim_ref_dir"
|
||||
fi
|
||||
|
||||
# Command line options
|
||||
vlogan_opts="-full64"
|
||||
vhdlan_opts="-full64"
|
||||
vcs_elab_opts="-full64 -debug_pp -t ps -licqueue -l elaborate.log"
|
||||
vcs_sim_opts="-ucli -licqueue -l simulate.log"
|
||||
|
||||
# Design libraries
|
||||
design_libs=(xil_defaultlib xpm xbip_utils_v3_0_10 axi_utils_v2_0_6 xbip_pipe_v3_0_6 xbip_bram18k_v3_0_6 mult_gen_v12_0_15 cmpy_v6_0_17)
|
||||
|
||||
# Simulation root library directory
|
||||
sim_lib_dir="vcs_lib"
|
||||
|
||||
# Script info
|
||||
echo -e "cmpy_18x8.sh - Script generated by export_simulation (Vivado v2019.1.3 (64-bit)-id)\n"
|
||||
|
||||
# Main steps
|
||||
run()
|
||||
{
|
||||
check_args $# $1
|
||||
setup $1 $2
|
||||
compile
|
||||
elaborate
|
||||
simulate
|
||||
}
|
||||
|
||||
# RUN_STEP: <compile>
|
||||
compile()
|
||||
{
|
||||
# Compile design files
|
||||
vlogan -work xil_defaultlib $vlogan_opts -sverilog \
|
||||
"C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv" \
|
||||
2>&1 | tee -a vlogan.log
|
||||
|
||||
vhdlan -work xpm $vhdlan_opts \
|
||||
"C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd" \
|
||||
2>&1 | tee -a vhdlan.log
|
||||
|
||||
vhdlan -work xbip_utils_v3_0_10 $vhdlan_opts \
|
||||
"$ref_dir/../../../ipstatic/hdl/xbip_utils_v3_0_vh_rfs.vhd" \
|
||||
2>&1 | tee -a vhdlan.log
|
||||
|
||||
vhdlan -work axi_utils_v2_0_6 $vhdlan_opts \
|
||||
"$ref_dir/../../../ipstatic/hdl/axi_utils_v2_0_vh_rfs.vhd" \
|
||||
2>&1 | tee -a vhdlan.log
|
||||
|
||||
vhdlan -work xbip_pipe_v3_0_6 $vhdlan_opts \
|
||||
"$ref_dir/../../../ipstatic/hdl/xbip_pipe_v3_0_vh_rfs.vhd" \
|
||||
2>&1 | tee -a vhdlan.log
|
||||
|
||||
vhdlan -work xbip_bram18k_v3_0_6 $vhdlan_opts \
|
||||
"$ref_dir/../../../ipstatic/hdl/xbip_bram18k_v3_0_vh_rfs.vhd" \
|
||||
2>&1 | tee -a vhdlan.log
|
||||
|
||||
vhdlan -work mult_gen_v12_0_15 $vhdlan_opts \
|
||||
"$ref_dir/../../../ipstatic/hdl/mult_gen_v12_0_vh_rfs.vhd" \
|
||||
2>&1 | tee -a vhdlan.log
|
||||
|
||||
vhdlan -work cmpy_v6_0_17 $vhdlan_opts \
|
||||
"$ref_dir/../../../ipstatic/hdl/cmpy_v6_0_vh_rfs.vhd" \
|
||||
2>&1 | tee -a vhdlan.log
|
||||
|
||||
vhdlan -work xil_defaultlib $vhdlan_opts \
|
||||
"$ref_dir/../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd" \
|
||||
2>&1 | tee -a vhdlan.log
|
||||
|
||||
|
||||
vlogan -work xil_defaultlib $vlogan_opts +v2k \
|
||||
glbl.v \
|
||||
2>&1 | tee -a vlogan.log
|
||||
|
||||
}
|
||||
|
||||
# RUN_STEP: <elaborate>
|
||||
elaborate()
|
||||
{
|
||||
vcs $vcs_elab_opts xil_defaultlib.cmpy_18x8 xil_defaultlib.glbl -o cmpy_18x8_simv
|
||||
}
|
||||
|
||||
# RUN_STEP: <simulate>
|
||||
simulate()
|
||||
{
|
||||
./cmpy_18x8_simv $vcs_sim_opts -do simulate.do
|
||||
}
|
||||
|
||||
# STEP: setup
|
||||
setup()
|
||||
{
|
||||
case $1 in
|
||||
"-lib_map_path" )
|
||||
if [[ ($2 == "") ]]; then
|
||||
echo -e "ERROR: Simulation library directory path not specified (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
create_lib_mappings $2
|
||||
;;
|
||||
"-reset_run" )
|
||||
reset_run
|
||||
echo -e "INFO: Simulation run files deleted.\n"
|
||||
exit 0
|
||||
;;
|
||||
"-noclean_files" )
|
||||
# do not remove previous data
|
||||
;;
|
||||
* )
|
||||
create_lib_mappings $2
|
||||
esac
|
||||
|
||||
create_lib_dir
|
||||
|
||||
# Add any setup/initialization commands here:-
|
||||
|
||||
# <user specific commands>
|
||||
|
||||
}
|
||||
|
||||
# Define design library mappings
|
||||
create_lib_mappings()
|
||||
{
|
||||
file="synopsys_sim.setup"
|
||||
if [[ -e $file ]]; then
|
||||
if [[ ($1 == "") ]]; then
|
||||
return
|
||||
else
|
||||
rm -rf $file
|
||||
fi
|
||||
fi
|
||||
|
||||
touch $file
|
||||
|
||||
lib_map_path=""
|
||||
if [[ ($1 != "") ]]; then
|
||||
lib_map_path="$1"
|
||||
fi
|
||||
|
||||
for (( i=0; i<${#design_libs[*]}; i++ )); do
|
||||
lib="${design_libs[i]}"
|
||||
mapping="$lib:$sim_lib_dir/$lib"
|
||||
echo $mapping >> $file
|
||||
done
|
||||
|
||||
if [[ ($lib_map_path != "") ]]; then
|
||||
incl_ref="OTHERS=$lib_map_path/synopsys_sim.setup"
|
||||
echo $incl_ref >> $file
|
||||
fi
|
||||
}
|
||||
|
||||
# Create design library directory paths
|
||||
create_lib_dir()
|
||||
{
|
||||
if [[ -e $sim_lib_dir ]]; then
|
||||
rm -rf $sim_lib_dir
|
||||
fi
|
||||
|
||||
for (( i=0; i<${#design_libs[*]}; i++ )); do
|
||||
lib="${design_libs[i]}"
|
||||
lib_dir="$sim_lib_dir/$lib"
|
||||
if [[ ! -e $lib_dir ]]; then
|
||||
mkdir -p $lib_dir
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Delete generated data from the previous run
|
||||
reset_run()
|
||||
{
|
||||
files_to_remove=(ucli.key cmpy_18x8_simv vlogan.log vhdlan.log compile.log elaborate.log simulate.log .vlogansetup.env .vlogansetup.args .vcs_lib_lock scirocco_command.log 64 AN.DB csrc cmpy_18x8_simv.daidir)
|
||||
for (( i=0; i<${#files_to_remove[*]}; i++ )); do
|
||||
file="${files_to_remove[i]}"
|
||||
if [[ -e $file ]]; then
|
||||
rm -rf $file
|
||||
fi
|
||||
done
|
||||
|
||||
create_lib_dir
|
||||
}
|
||||
|
||||
# Check command line arguments
|
||||
check_args()
|
||||
{
|
||||
if [[ ($1 == 1 ) && ($2 != "-lib_map_path" && $2 != "-noclean_files" && $2 != "-reset_run" && $2 != "-help" && $2 != "-h") ]]; then
|
||||
echo -e "ERROR: Unknown option specified '$2' (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ($2 == "-help" || $2 == "-h") ]]; then
|
||||
usage
|
||||
fi
|
||||
}
|
||||
|
||||
# Script usage
|
||||
usage()
|
||||
{
|
||||
msg="Usage: cmpy_18x8.sh [-help]\n\
|
||||
Usage: cmpy_18x8.sh [-lib_map_path]\n\
|
||||
Usage: cmpy_18x8.sh [-reset_run]\n\
|
||||
Usage: cmpy_18x8.sh [-noclean_files]\n\n\
|
||||
[-help] -- Print help information for this script\n\n\
|
||||
[-lib_map_path <path>] -- Compiled simulation library directory path. The simulation library is compiled\n\
|
||||
using the compile_simlib tcl command. Please see 'compile_simlib -help' for more information.\n\n\
|
||||
[-reset_run] -- Recreate simulator setup files and library mappings for a clean run. The generated files\n\
|
||||
from the previous run will be removed. If you don't want to remove the simulator generated files, use the\n\
|
||||
-noclean_files switch.\n\n\
|
||||
[-noclean_files] -- Reset previous run, but do not remove simulator generated files from the previous run.\n\n"
|
||||
echo -e $msg
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Launch script
|
||||
run $1 $2
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
xpm_memory.sv,systemverilog,xil_defaultlib,C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv,
|
||||
xpm_VCOMP.vhd,vhdl,xpm,C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd,
|
||||
xbip_utils_v3_0_vh_rfs.vhd,vhdl,xbip_utils_v3_0_10,../../../ipstatic/hdl/xbip_utils_v3_0_vh_rfs.vhd,
|
||||
axi_utils_v2_0_vh_rfs.vhd,vhdl,axi_utils_v2_0_6,../../../ipstatic/hdl/axi_utils_v2_0_vh_rfs.vhd,
|
||||
xbip_pipe_v3_0_vh_rfs.vhd,vhdl,xbip_pipe_v3_0_6,../../../ipstatic/hdl/xbip_pipe_v3_0_vh_rfs.vhd,
|
||||
xbip_bram18k_v3_0_vh_rfs.vhd,vhdl,xbip_bram18k_v3_0_6,../../../ipstatic/hdl/xbip_bram18k_v3_0_vh_rfs.vhd,
|
||||
mult_gen_v12_0_vh_rfs.vhd,vhdl,mult_gen_v12_0_15,../../../ipstatic/hdl/mult_gen_v12_0_vh_rfs.vhd,
|
||||
cmpy_v6_0_vh_rfs.vhd,vhdl,cmpy_v6_0_17,../../../ipstatic/hdl/cmpy_v6_0_vh_rfs.vhd,
|
||||
cmpy_18x8.vhd,vhdl,xil_defaultlib,../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd,
|
||||
glbl.v,Verilog,xil_defaultlib,glbl.v
|
||||
@@ -0,0 +1,71 @@
|
||||
// $Header: /devl/xcs/repo/env/Databases/CAEInterfaces/verunilibs/data/glbl.v,v 1.14 2010/10/28 20:44:00 fphillip Exp $
|
||||
`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
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
run
|
||||
quit
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
################################################################################
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# README.txt: Please read the sections below to understand the steps required to
|
||||
# run the exported script and information about the source files.
|
||||
#
|
||||
# Generated by export_simulation on Sat Mar 18 23:15:09 +0800 2023
|
||||
#
|
||||
################################################################################
|
||||
|
||||
1. How to run the generated simulation script:-
|
||||
|
||||
From the shell prompt in the current directory, issue the following command:-
|
||||
|
||||
./cmpy_18x8.sh
|
||||
|
||||
This command will launch the 'execute' function for the single-step flow. This
|
||||
function is called from the main 'run' function in the script file.
|
||||
|
||||
The 'run' function first executes the 'setup' function, the purpose of which is to
|
||||
create simulator specific setup files, create design library mappings and library
|
||||
directories and copy 'glbl.v' from the Vivado software install location into the
|
||||
current directory.
|
||||
|
||||
The 'setup' function is also used for removing the simulator generated data in
|
||||
order to reset the current directory to the original state when export_simulation
|
||||
was launched from Vivado. This generated data can be removed by specifying the
|
||||
'-reset_run' switch to the './cmpy_18x8.sh' script.
|
||||
|
||||
./cmpy_18x8.sh -reset_run
|
||||
|
||||
To keep the generated data from the previous run but regenerate the setup files and
|
||||
library directories, use the '-noclean_files' switch.
|
||||
|
||||
./cmpy_18x8.sh -noclean_files
|
||||
|
||||
For more information on the script, please type './cmpy_18x8.sh -help'.
|
||||
|
||||
2. Additional design information files:-
|
||||
|
||||
export_simulation generates following additional file that can be used for fetching
|
||||
the design files information or for integrating with external custom scripts.
|
||||
|
||||
Name : file_info.txt
|
||||
Purpose: This file contains detail design file information based on the compile order
|
||||
when export_simulation was executed from Vivado. The file contains information
|
||||
about the file type, name, whether it is part of the IP, associated library
|
||||
and the file path information.
|
||||
+175
@@ -0,0 +1,175 @@
|
||||
#!/bin/bash -f
|
||||
#*********************************************************************************************************
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# Filename : cmpy_18x8.sh
|
||||
# Simulator : Cadence Xcelium Parallel Simulator
|
||||
# Description : Simulation script for compiling, elaborating and verifying the project source files.
|
||||
# The script will automatically create the design libraries sub-directories in the run
|
||||
# directory, add the library logical mappings in the simulator setup file, create default
|
||||
# 'do/prj' file, execute compilation, elaboration and simulation steps.
|
||||
#
|
||||
# Generated by Vivado on Sat Mar 18 23:15:09 +0800 2023
|
||||
# SW Build 2644227 on Wed Sep 4 09:45:24 MDT 2019
|
||||
#
|
||||
# Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
#
|
||||
# usage: cmpy_18x8.sh [-help]
|
||||
# usage: cmpy_18x8.sh [-lib_map_path]
|
||||
# usage: cmpy_18x8.sh [-noclean_files]
|
||||
# usage: cmpy_18x8.sh [-reset_run]
|
||||
#
|
||||
# Prerequisite:- To compile and run simulation, you must compile the Xilinx simulation libraries using the
|
||||
# 'compile_simlib' TCL command. For more information about this command, run 'compile_simlib -help' in the
|
||||
# Vivado Tcl Shell. Once the libraries have been compiled successfully, specify the -lib_map_path switch
|
||||
# that points to these libraries and rerun export_simulation. For more information about this switch please
|
||||
# type 'export_simulation -help' in the Tcl shell.
|
||||
#
|
||||
# You can also point to the simulation libraries by either replacing the <SPECIFY_COMPILED_LIB_PATH> in this
|
||||
# script with the compiled library directory path or specify this path with the '-lib_map_path' switch when
|
||||
# executing this script. Please type 'cmpy_18x8.sh -help' for more information.
|
||||
#
|
||||
# Additional references - 'Xilinx Vivado Design Suite User Guide:Logic simulation (UG900)'
|
||||
#
|
||||
#*********************************************************************************************************
|
||||
|
||||
# Directory path for design sources and include directories (if any) wrt this path
|
||||
ref_dir="."
|
||||
|
||||
# Override directory with 'export_sim_ref_dir' env path value if set in the shell
|
||||
if [[ (! -z "$export_sim_ref_dir") && ($export_sim_ref_dir != "") ]]; then
|
||||
ref_dir="$export_sim_ref_dir"
|
||||
fi
|
||||
|
||||
# Set the compiled library directory
|
||||
ref_lib_dir="."
|
||||
|
||||
# Command line options
|
||||
xrun_opts="-64bit -v93 -relax -access +rwc -namemap_mixgen"
|
||||
|
||||
# Design libraries
|
||||
design_libs=(xil_defaultlib xpm xbip_utils_v3_0_10 axi_utils_v2_0_6 xbip_pipe_v3_0_6 xbip_bram18k_v3_0_6 mult_gen_v12_0_15 cmpy_v6_0_17)
|
||||
|
||||
# Simulation root library directory
|
||||
sim_lib_dir="xcelium_lib"
|
||||
|
||||
# Script info
|
||||
echo -e "cmpy_18x8.sh - Script generated by export_simulation (Vivado v2019.1.3 (64-bit)-id)\n"
|
||||
|
||||
# Main steps
|
||||
run()
|
||||
{
|
||||
check_args $# $1
|
||||
setup $1 $2
|
||||
execute
|
||||
}
|
||||
|
||||
# RUN_STEP: <execute>
|
||||
execute()
|
||||
{
|
||||
xrun $xrun_opts \
|
||||
-reflib "$ref_lib_dir/unisim:unisim" \
|
||||
-reflib "$ref_lib_dir/unisims_ver:unisims_ver" \
|
||||
-reflib "$ref_lib_dir/secureip:secureip" \
|
||||
-reflib "$ref_lib_dir/unimacro:unimacro" \
|
||||
-reflib "$ref_lib_dir/unimacro_ver:unimacro_ver" \
|
||||
-top xil_defaultlib.cmpy_18x8 \
|
||||
-f run.f \
|
||||
-top glbl \
|
||||
glbl.v
|
||||
}
|
||||
|
||||
# STEP: setup
|
||||
setup()
|
||||
{
|
||||
case $1 in
|
||||
"-lib_map_path" )
|
||||
if [[ ($2 == "") ]]; then
|
||||
echo -e "ERROR: Simulation library directory path not specified (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
else
|
||||
ref_lib_dir=$2
|
||||
fi
|
||||
;;
|
||||
"-reset_run" )
|
||||
reset_run
|
||||
echo -e "INFO: Simulation run files deleted.\n"
|
||||
exit 0
|
||||
;;
|
||||
"-noclean_files" )
|
||||
# do not remove previous data
|
||||
;;
|
||||
* )
|
||||
esac
|
||||
|
||||
create_lib_dir
|
||||
|
||||
# Add any setup/initialization commands here:-
|
||||
|
||||
# <user specific commands>
|
||||
|
||||
}
|
||||
|
||||
# Create design library directory paths
|
||||
create_lib_dir()
|
||||
{
|
||||
if [[ -e $sim_lib_dir ]]; then
|
||||
rm -rf $sim_lib_dir
|
||||
fi
|
||||
|
||||
for (( i=0; i<${#design_libs[*]}; i++ )); do
|
||||
lib="${design_libs[i]}"
|
||||
lib_dir="$sim_lib_dir/$lib"
|
||||
if [[ ! -e $lib_dir ]]; then
|
||||
mkdir -p $lib_dir
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Delete generated data from the previous run
|
||||
reset_run()
|
||||
{
|
||||
files_to_remove=(xmsim.key xrun.key xrun.log waves.shm xrun.history .simvision xcelium.d xcelium)
|
||||
for (( i=0; i<${#files_to_remove[*]}; i++ )); do
|
||||
file="${files_to_remove[i]}"
|
||||
if [[ -e $file ]]; then
|
||||
rm -rf $file
|
||||
fi
|
||||
done
|
||||
|
||||
create_lib_dir
|
||||
}
|
||||
|
||||
# Check command line arguments
|
||||
check_args()
|
||||
{
|
||||
if [[ ($1 == 1 ) && ($2 != "-lib_map_path" && $2 != "-noclean_files" && $2 != "-reset_run" && $2 != "-help" && $2 != "-h") ]]; then
|
||||
echo -e "ERROR: Unknown option specified '$2' (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ($2 == "-help" || $2 == "-h") ]]; then
|
||||
usage
|
||||
fi
|
||||
}
|
||||
|
||||
# Script usage
|
||||
usage()
|
||||
{
|
||||
msg="Usage: cmpy_18x8.sh [-help]\n\
|
||||
Usage: cmpy_18x8.sh [-lib_map_path]\n\
|
||||
Usage: cmpy_18x8.sh [-reset_run]\n\
|
||||
Usage: cmpy_18x8.sh [-noclean_files]\n\n\
|
||||
[-help] -- Print help information for this script\n\n\
|
||||
[-lib_map_path <path>] -- Compiled simulation library directory path. The simulation library is compiled\n\
|
||||
using the compile_simlib tcl command. Please see 'compile_simlib -help' for more information.\n\n\
|
||||
[-reset_run] -- Recreate simulator setup files and library mappings for a clean run. The generated files\n\
|
||||
from the previous run will be removed. If you don't want to remove the simulator generated files, use the\n\
|
||||
-noclean_files switch.\n\n\
|
||||
[-noclean_files] -- Reset previous run, but do not remove simulator generated files from the previous run.\n\n"
|
||||
echo -e $msg
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Launch script
|
||||
run $1 $2
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
xpm_memory.sv,systemverilog,xil_defaultlib,C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv,
|
||||
xpm_VCOMP.vhd,vhdl,xpm,C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd,
|
||||
xbip_utils_v3_0_vh_rfs.vhd,vhdl,xbip_utils_v3_0_10,../../../ipstatic/hdl/xbip_utils_v3_0_vh_rfs.vhd,
|
||||
axi_utils_v2_0_vh_rfs.vhd,vhdl,axi_utils_v2_0_6,../../../ipstatic/hdl/axi_utils_v2_0_vh_rfs.vhd,
|
||||
xbip_pipe_v3_0_vh_rfs.vhd,vhdl,xbip_pipe_v3_0_6,../../../ipstatic/hdl/xbip_pipe_v3_0_vh_rfs.vhd,
|
||||
xbip_bram18k_v3_0_vh_rfs.vhd,vhdl,xbip_bram18k_v3_0_6,../../../ipstatic/hdl/xbip_bram18k_v3_0_vh_rfs.vhd,
|
||||
mult_gen_v12_0_vh_rfs.vhd,vhdl,mult_gen_v12_0_15,../../../ipstatic/hdl/mult_gen_v12_0_vh_rfs.vhd,
|
||||
cmpy_v6_0_vh_rfs.vhd,vhdl,cmpy_v6_0_17,../../../ipstatic/hdl/cmpy_v6_0_vh_rfs.vhd,
|
||||
cmpy_18x8.vhd,vhdl,xil_defaultlib,../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd,
|
||||
glbl.v,Verilog,xil_defaultlib,glbl.v
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
// $Header: /devl/xcs/repo/env/Databases/CAEInterfaces/verunilibs/data/glbl.v,v 1.14 2010/10/28 20:44:00 fphillip Exp $
|
||||
`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,31 @@
|
||||
-makelib xcelium_lib/xil_defaultlib -sv \
|
||||
"C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv" \
|
||||
-endlib
|
||||
-makelib xcelium_lib/xpm \
|
||||
"C:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd" \
|
||||
-endlib
|
||||
-makelib xcelium_lib/xbip_utils_v3_0_10 \
|
||||
"../../../ipstatic/hdl/xbip_utils_v3_0_vh_rfs.vhd" \
|
||||
-endlib
|
||||
-makelib xcelium_lib/axi_utils_v2_0_6 \
|
||||
"../../../ipstatic/hdl/axi_utils_v2_0_vh_rfs.vhd" \
|
||||
-endlib
|
||||
-makelib xcelium_lib/xbip_pipe_v3_0_6 \
|
||||
"../../../ipstatic/hdl/xbip_pipe_v3_0_vh_rfs.vhd" \
|
||||
-endlib
|
||||
-makelib xcelium_lib/xbip_bram18k_v3_0_6 \
|
||||
"../../../ipstatic/hdl/xbip_bram18k_v3_0_vh_rfs.vhd" \
|
||||
-endlib
|
||||
-makelib xcelium_lib/mult_gen_v12_0_15 \
|
||||
"../../../ipstatic/hdl/mult_gen_v12_0_vh_rfs.vhd" \
|
||||
-endlib
|
||||
-makelib xcelium_lib/cmpy_v6_0_17 \
|
||||
"../../../ipstatic/hdl/cmpy_v6_0_vh_rfs.vhd" \
|
||||
-endlib
|
||||
-makelib xcelium_lib/xil_defaultlib \
|
||||
"../../../ip/cmpy_18x8/sim/cmpy_18x8.vhd" \
|
||||
-endlib
|
||||
-makelib xcelium_lib/xil_defaultlib \
|
||||
glbl.v
|
||||
-endlib
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
################################################################################
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# README.txt: Please read the sections below to understand the steps required to
|
||||
# run the exported script and information about the source files.
|
||||
#
|
||||
# Generated by export_simulation on Sat Mar 18 23:15:09 +0800 2023
|
||||
#
|
||||
################################################################################
|
||||
|
||||
1. How to run the generated simulation script:-
|
||||
|
||||
From the shell prompt in the current directory, issue the following command:-
|
||||
|
||||
./cmpy_18x8.sh
|
||||
|
||||
This command will launch the 'compile', 'elaborate' and 'simulate' functions
|
||||
implemented in the script file for the 3-step flow. These functions are called
|
||||
from the main 'run' function in the script file.
|
||||
|
||||
The 'run' function first executes the 'setup' function, the purpose of which is to
|
||||
create simulator specific setup files, create design library mappings and library
|
||||
directories and copy 'glbl.v' from the Vivado software install location into the
|
||||
current directory.
|
||||
|
||||
The 'setup' function is also used for removing the simulator generated data in
|
||||
order to reset the current directory to the original state when export_simulation
|
||||
was launched from Vivado. This generated data can be removed by specifying the
|
||||
'-reset_run' switch to the './cmpy_18x8.sh' script.
|
||||
|
||||
./cmpy_18x8.sh -reset_run
|
||||
|
||||
To keep the generated data from the previous run but regenerate the setup files and
|
||||
library directories, use the '-noclean_files' switch.
|
||||
|
||||
./cmpy_18x8.sh -noclean_files
|
||||
|
||||
For more information on the script, please type './cmpy_18x8.sh -help'.
|
||||
|
||||
2. Additional design information files:-
|
||||
|
||||
export_simulation generates following additional file that can be used for fetching
|
||||
the design files information or for integrating with external custom scripts.
|
||||
|
||||
Name : file_info.txt
|
||||
Purpose: This file contains detail design file information based on the compile order
|
||||
when export_simulation was executed from Vivado. The file contains information
|
||||
about the file type, name, whether it is part of the IP, associated library
|
||||
and the file path information.
|
||||
@@ -0,0 +1,12 @@
|
||||
set curr_wave [current_wave_config]
|
||||
if { [string length $curr_wave] == 0 } {
|
||||
if { [llength [get_objects]] > 0} {
|
||||
add_wave /
|
||||
set_property needs_save false [current_wave_config]
|
||||
} else {
|
||||
send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console."
|
||||
}
|
||||
}
|
||||
|
||||
run -all
|
||||
quit
|
||||
+212
@@ -0,0 +1,212 @@
|
||||
#!/bin/bash -f
|
||||
#*********************************************************************************************************
|
||||
# Vivado (TM) v2019.1.3 (64-bit)
|
||||
#
|
||||
# Filename : cmpy_18x8.sh
|
||||
# Simulator : Xilinx Vivado Simulator
|
||||
# Description : Simulation script for compiling, elaborating and verifying the project source files.
|
||||
# The script will automatically create the design libraries sub-directories in the run
|
||||
# directory, add the library logical mappings in the simulator setup file, create default
|
||||
# 'do/prj' file, execute compilation, elaboration and simulation steps.
|
||||
#
|
||||
# Generated by Vivado on Sat Mar 18 23:15:09 +0800 2023
|
||||
# SW Build 2644227 on Wed Sep 4 09:45:24 MDT 2019
|
||||
#
|
||||
# Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
|
||||
#
|
||||
# usage: cmpy_18x8.sh [-help]
|
||||
# usage: cmpy_18x8.sh [-lib_map_path]
|
||||
# usage: cmpy_18x8.sh [-noclean_files]
|
||||
# usage: cmpy_18x8.sh [-reset_run]
|
||||
#
|
||||
#*********************************************************************************************************
|
||||
|
||||
# Command line options
|
||||
xv_boost_lib_path=C:/Xilinx/Vivado/2019.1/tps/boost_1_64_0
|
||||
xvhdl_opts="--relax"
|
||||
|
||||
|
||||
# Script info
|
||||
echo -e "cmpy_18x8.sh - Script generated by export_simulation (Vivado v2019.1.3 (64-bit)-id)\n"
|
||||
|
||||
# Main steps
|
||||
run()
|
||||
{
|
||||
check_args $# $1
|
||||
setup $1 $2
|
||||
compile
|
||||
elaborate
|
||||
simulate
|
||||
}
|
||||
|
||||
# RUN_STEP: <compile>
|
||||
compile()
|
||||
{
|
||||
# Compile design files
|
||||
xvhdl $xvhdl_opts -prj vhdl.prj 2>&1 | tee compile.log
|
||||
|
||||
}
|
||||
|
||||
# RUN_STEP: <elaborate>
|
||||
elaborate()
|
||||
{
|
||||
xelab --relax --debug typical --mt auto -L xbip_utils_v3_0_10 -L axi_utils_v2_0_6 -L xbip_pipe_v3_0_6 -L xbip_bram18k_v3_0_6 -L mult_gen_v12_0_15 -L cmpy_v6_0_17 -L xil_defaultlib -L secureip -L xpm --snapshot cmpy_18x8 xil_defaultlib.cmpy_18x8 -log elaborate.log
|
||||
}
|
||||
|
||||
# RUN_STEP: <simulate>
|
||||
simulate()
|
||||
{
|
||||
xsim cmpy_18x8 -key {Behavioral:sim_1:Functional:cmpy_18x8} -tclbatch cmd.tcl -log simulate.log
|
||||
}
|
||||
|
||||
# STEP: setup
|
||||
setup()
|
||||
{
|
||||
case $1 in
|
||||
"-lib_map_path" )
|
||||
if [[ ($2 == "") ]]; then
|
||||
echo -e "ERROR: Simulation library directory path not specified (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
copy_setup_file $2
|
||||
;;
|
||||
"-reset_run" )
|
||||
reset_run
|
||||
echo -e "INFO: Simulation run files deleted.\n"
|
||||
exit 0
|
||||
;;
|
||||
"-noclean_files" )
|
||||
# do not remove previous data
|
||||
;;
|
||||
* )
|
||||
copy_setup_file $2
|
||||
esac
|
||||
|
||||
# Add any setup/initialization commands here:-
|
||||
|
||||
# <user specific commands>
|
||||
|
||||
}
|
||||
|
||||
# Copy xsim.ini file
|
||||
copy_setup_file()
|
||||
{
|
||||
file="xsim.ini"
|
||||
lib_map_path="C:/Xilinx/Vivado/2019.1/data/xsim"
|
||||
if [[ ($1 != "") ]]; then
|
||||
lib_map_path="$1"
|
||||
fi
|
||||
if [[ ($lib_map_path != "") ]]; then
|
||||
src_file="$lib_map_path/$file"
|
||||
if [[ -e $src_file ]]; then
|
||||
cp $src_file .
|
||||
fi
|
||||
|
||||
# Map local design libraries to xsim.ini
|
||||
map_local_libs
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
# Map local design libraries
|
||||
map_local_libs()
|
||||
{
|
||||
updated_mappings=()
|
||||
local_mappings=()
|
||||
|
||||
# Local design libraries
|
||||
local_libs=()
|
||||
|
||||
if [[ 0 == ${#local_libs[@]} ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
file="xsim.ini"
|
||||
file_backup="xsim.ini.bak"
|
||||
|
||||
if [[ -e $file ]]; then
|
||||
rm -f $file_backup
|
||||
# Create a backup copy of the xsim.ini file
|
||||
cp $file $file_backup
|
||||
# Read libraries from backup file and search in local library collection
|
||||
while read -r line
|
||||
do
|
||||
IN=$line
|
||||
# Split mapping entry with '=' delimiter to fetch library name and mapping
|
||||
read lib_name mapping <<<$(IFS="="; echo $IN)
|
||||
# If local library found, then construct the local mapping and add to local mapping collection
|
||||
if `echo ${local_libs[@]} | grep -wq $lib_name` ; then
|
||||
line="$lib_name=xsim.dir/$lib_name"
|
||||
local_mappings+=("$lib_name")
|
||||
fi
|
||||
# Add to updated library mapping collection
|
||||
updated_mappings+=("$line")
|
||||
done < "$file_backup"
|
||||
# Append local libraries not found originally from xsim.ini
|
||||
for (( i=0; i<${#local_libs[*]}; i++ )); do
|
||||
lib_name="${local_libs[i]}"
|
||||
if `echo ${local_mappings[@]} | grep -wvq $lib_name` ; then
|
||||
line="$lib_name=xsim.dir/$lib_name"
|
||||
updated_mappings+=("$line")
|
||||
fi
|
||||
done
|
||||
# Write updated mappings in xsim.ini
|
||||
rm -f $file
|
||||
for (( i=0; i<${#updated_mappings[*]}; i++ )); do
|
||||
lib_name="${updated_mappings[i]}"
|
||||
echo $lib_name >> $file
|
||||
done
|
||||
else
|
||||
for (( i=0; i<${#local_libs[*]}; i++ )); do
|
||||
lib_name="${local_libs[i]}"
|
||||
mapping="$lib_name=xsim.dir/$lib_name"
|
||||
echo $mapping >> $file
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
# Delete generated data from the previous run
|
||||
reset_run()
|
||||
{
|
||||
files_to_remove=(xelab.pb xsim.jou xvhdl.log xvlog.log compile.log elaborate.log simulate.log xelab.log xsim.log run.log xvhdl.pb xvlog.pb cmpy_18x8.wdb xsim.dir)
|
||||
for (( i=0; i<${#files_to_remove[*]}; i++ )); do
|
||||
file="${files_to_remove[i]}"
|
||||
if [[ -e $file ]]; then
|
||||
rm -rf $file
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Check command line arguments
|
||||
check_args()
|
||||
{
|
||||
if [[ ($1 == 1 ) && ($2 != "-lib_map_path" && $2 != "-noclean_files" && $2 != "-reset_run" && $2 != "-help" && $2 != "-h") ]]; then
|
||||
echo -e "ERROR: Unknown option specified '$2' (type \"./cmpy_18x8.sh -help\" for more information)\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ($2 == "-help" || $2 == "-h") ]]; then
|
||||
usage
|
||||
fi
|
||||
}
|
||||
|
||||
# Script usage
|
||||
usage()
|
||||
{
|
||||
msg="Usage: cmpy_18x8.sh [-help]\n\
|
||||
Usage: cmpy_18x8.sh [-lib_map_path]\n\
|
||||
Usage: cmpy_18x8.sh [-reset_run]\n\
|
||||
Usage: cmpy_18x8.sh [-noclean_files]\n\n\
|
||||
[-help] -- Print help information for this script\n\n\
|
||||
[-lib_map_path <path>] -- Compiled simulation library directory path. The simulation library is compiled\n\
|
||||
using the compile_simlib tcl command. Please see 'compile_simlib -help' for more information.\n\n\
|
||||
[-reset_run] -- Recreate simulator setup files and library mappings for a clean run. The generated files\n\
|
||||
from the previous run will be removed. If you don't want to remove the simulator generated files, use the\n\
|
||||
-noclean_files switch.\n\n\
|
||||
[-noclean_files] -- Reset previous run, but do not remove simulator generated files from the previous run.\n\n"
|
||||
echo -e $msg
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Launch script
|
||||
run $1 $2
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user