SimpleVOut  1.0.0 Initial
A Simple FPGA Core for Creating VGA/DVI/HDMI/OpenLDI Signals
design_1_xbar_0_sc.cpp
Go to the documentation of this file.
1 // (c) Copyright 1995-2021 Xilinx, Inc. All rights reserved.
2 //
3 // This file contains confidential and proprietary information
4 // of Xilinx, Inc. and is protected under U.S. and
5 // international copyright and other intellectual property
6 // laws.
7 //
8 // DISCLAIMER
9 // This disclaimer is not a license and does not grant any
10 // rights to the materials distributed herewith. Except as
11 // otherwise provided in a valid license issued to you by
12 // Xilinx, and to the maximum extent permitted by applicable
13 // law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
14 // WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
15 // AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
16 // BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
17 // INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
18 // (2) Xilinx shall not be liable (whether in contract or tort,
19 // including negligence, or under any other theory of
20 // liability) for any loss or damage of any kind or nature
21 // related to, arising under or in connection with these
22 // materials, including for any direct, or any indirect,
23 // special, incidental, or consequential loss or damage
24 // (including loss of data, profits, goodwill, or any type of
25 // loss or damage suffered as a result of any action brought
26 // by a third party) even if such damage or loss was
27 // reasonably foreseeable or Xilinx had been advised of the
28 // possibility of the same.
29 //
30 // CRITICAL APPLICATIONS
31 // Xilinx products are not designed or intended to be fail-
32 // safe, or for use in any application requiring fail-safe
33 // performance, such as life-support or safety devices or
34 // systems, Class III medical devices, nuclear facilities,
35 // applications related to the deployment of airbags, or any
36 // other applications that could lead to death, personal
37 // injury, or severe property or environmental damage
38 // (individually and collectively, "Critical
39 // Applications"). Customer assumes the sole risk and
40 // liability of any use of Xilinx products in Critical
41 // Applications, subject only to applicable laws and
42 // regulations governing limitations on product liability.
43 //
44 // THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
45 // PART OF THIS FILE AT ALL TIMES.
46 //
47 // DO NOT MODIFY THIS FILE.
48 
49 
50 #include "design_1_xbar_0_sc.h"
51 
52 #include "axi_crossbar.h"
53 
54 #include <map>
55 #include <string>
56 
57 design_1_xbar_0_sc::design_1_xbar_0_sc(const sc_core::sc_module_name& nm) : sc_core::sc_module(nm), mp_impl(NULL)
58 {
59  // configure connectivity manager
60  xsc::utils::xsc_sim_manager::addInstance("design_1_xbar_0", this);
61 
62  // initialize module
63  xsc::common_cpp::properties model_param_props;
64  model_param_props.addLong("C_NUM_SLAVE_SLOTS", "1");
65  model_param_props.addLong("C_NUM_MASTER_SLOTS", "3");
66  model_param_props.addLong("C_AXI_ID_WIDTH", "1");
67  model_param_props.addLong("C_AXI_ADDR_WIDTH", "32");
68  model_param_props.addLong("C_AXI_DATA_WIDTH", "32");
69  model_param_props.addLong("C_AXI_PROTOCOL", "2");
70  model_param_props.addLong("C_NUM_ADDR_RANGES", "1");
71  model_param_props.addLong("C_AXI_SUPPORTS_USER_SIGNALS", "0");
72  model_param_props.addLong("C_AXI_AWUSER_WIDTH", "1");
73  model_param_props.addLong("C_AXI_ARUSER_WIDTH", "1");
74  model_param_props.addLong("C_AXI_WUSER_WIDTH", "1");
75  model_param_props.addLong("C_AXI_RUSER_WIDTH", "1");
76  model_param_props.addLong("C_AXI_BUSER_WIDTH", "1");
77  model_param_props.addLong("C_R_REGISTER", "1");
78  model_param_props.addLong("C_CONNECTIVITY_MODE", "0");
79  model_param_props.addString("C_FAMILY", "zynq");
80  model_param_props.addBitString("C_M_AXI_BASE_ADDR", "000000000000000000000000000000000100001111000000000000000000000000000000000000000000000000000000010000101100000000000000000000000000000000000000000000000000000001000011000000000000000000000000", 192);
81  model_param_props.addBitString("C_M_AXI_ADDR_WIDTH", "000000000000000000000000000100000000000000000000000000000001000000000000000000000000000000010000", 96);
82  model_param_props.addBitString("C_S_AXI_BASE_ID", "00000000000000000000000000000000", 32);
83  model_param_props.addBitString("C_S_AXI_THREAD_ID_WIDTH", "00000000000000000000000000000000", 32);
84  model_param_props.addBitString("C_M_AXI_WRITE_CONNECTIVITY", "000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000001", 96);
85  model_param_props.addBitString("C_M_AXI_READ_CONNECTIVITY", "000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000001", 96);
86  model_param_props.addBitString("C_S_AXI_SINGLE_THREAD", "00000000000000000000000000000001", 32);
87  model_param_props.addBitString("C_S_AXI_WRITE_ACCEPTANCE", "00000000000000000000000000000001", 32);
88  model_param_props.addBitString("C_S_AXI_READ_ACCEPTANCE", "00000000000000000000000000000001", 32);
89  model_param_props.addBitString("C_M_AXI_WRITE_ISSUING", "000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000001", 96);
90  model_param_props.addBitString("C_M_AXI_READ_ISSUING", "000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000001", 96);
91  model_param_props.addBitString("C_S_AXI_ARB_PRIORITY", "00000000000000000000000000000000", 32);
92  model_param_props.addBitString("C_M_AXI_SECURE", "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 96);
93 
94  mp_impl = new axi_crossbar("inst", model_param_props);
95 
96  // initialize AXI sockets
105 }
106 
108 {
109  xsc::utils::xsc_sim_manager::clean();
110 
111  delete mp_impl;
112 }
113 
design_1_xbar_0_sc::initiator_2_rd_socket
xtlm::xtlm_aximm_initiator_socket * initiator_2_rd_socket
Definition: design_1_xbar_0_sc.h:85
design_1_xbar_0_sc::~design_1_xbar_0_sc
virtual ~design_1_xbar_0_sc()
Definition: design_1_xbar_0_sc.cpp:107
axi_crossbar::initiator_0_rd_socket
xtlm::xtlm_aximm_initiator_socket * initiator_0_rd_socket
Definition: axi_crossbar.h:14
design_1_xbar_0_sc::initiator_0_rd_socket
xtlm::xtlm_aximm_initiator_socket * initiator_0_rd_socket
Definition: design_1_xbar_0_sc.h:81
design_1_xbar_0_sc::target_0_rd_socket
xtlm::xtlm_aximm_target_socket * target_0_rd_socket
Definition: design_1_xbar_0_sc.h:79
axi_crossbar
Definition: axi_crossbar.h:8
axi_crossbar::initiator_2_wr_socket
xtlm::xtlm_aximm_initiator_socket * initiator_2_wr_socket
Definition: axi_crossbar.h:19
design_1_xbar_0_sc::initiator_1_wr_socket
xtlm::xtlm_aximm_initiator_socket * initiator_1_wr_socket
Definition: design_1_xbar_0_sc.h:84
design_1_xbar_0_sc::initiator_1_rd_socket
xtlm::xtlm_aximm_initiator_socket * initiator_1_rd_socket
Definition: design_1_xbar_0_sc.h:83
axi_crossbar::initiator_0_wr_socket
xtlm::xtlm_aximm_initiator_socket * initiator_0_wr_socket
Definition: axi_crossbar.h:15
axi_crossbar::initiator_1_rd_socket
xtlm::xtlm_aximm_initiator_socket * initiator_1_rd_socket
Definition: axi_crossbar.h:16
design_1_xbar_0_sc.h
design_1_xbar_0_sc::initiator_0_wr_socket
xtlm::xtlm_aximm_initiator_socket * initiator_0_wr_socket
Definition: design_1_xbar_0_sc.h:82
axi_crossbar::target_0_rd_socket
xtlm::xtlm_aximm_target_socket * target_0_rd_socket
Definition: axi_crossbar.h:47
axi_crossbar.h
axi_crossbar::target_0_wr_socket
xtlm::xtlm_aximm_target_socket * target_0_wr_socket
Definition: axi_crossbar.h:48
design_1_xbar_0_sc::mp_impl
axi_crossbar * mp_impl
Definition: design_1_xbar_0_sc.h:93
design_1_xbar_0_sc::target_0_wr_socket
xtlm::xtlm_aximm_target_socket * target_0_wr_socket
Definition: design_1_xbar_0_sc.h:80
axi_crossbar::initiator_2_rd_socket
xtlm::xtlm_aximm_initiator_socket * initiator_2_rd_socket
Definition: axi_crossbar.h:18
design_1_xbar_0_sc::initiator_2_wr_socket
xtlm::xtlm_aximm_initiator_socket * initiator_2_wr_socket
Definition: design_1_xbar_0_sc.h:86
design_1_xbar_0_sc::design_1_xbar_0_sc
design_1_xbar_0_sc(const sc_core::sc_module_name &nm)
Definition: design_1_xbar_0_sc.cpp:57
axi_crossbar::initiator_1_wr_socket
xtlm::xtlm_aximm_initiator_socket * initiator_1_wr_socket
Definition: axi_crossbar.h:17