ipxact-ruby 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.autotest +15 -0
- data/.gitignore +2 -0
- data/README.html +89 -0
- data/README.mdown +91 -0
- data/Rakefile +31 -0
- data/VERSION +1 -0
- data/autotest/discover.rb +17 -0
- data/lib/ipxact.rb +263 -0
- data/lib/ipxact/component.rb +235 -0
- data/lib/ipxact/parser.rb +27 -0
- data/lib/ipxact/parser/bus_data_parser.rb +229 -0
- data/lib/ipxact/parser/component_data_parser.rb +309 -0
- data/lib/ipxact/parser/platform_data_parser.rb +63 -0
- data/lib/ipxact/pathfinder/graph_pathfinder.rb +191 -0
- data/lib/ipxact/platform.rb +43 -0
- data/schemas/abstractionDefinition.xsd +332 -0
- data/schemas/abstractor.xsd +156 -0
- data/schemas/autoConfigure.xsd +226 -0
- data/schemas/busDefinition.xsd +99 -0
- data/schemas/busInterface.xsd +640 -0
- data/schemas/commonStructures.xsd +189 -0
- data/schemas/component.xsd +253 -0
- data/schemas/configurable.xsd +82 -0
- data/schemas/constraints.xsd +283 -0
- data/schemas/design.xsd +105 -0
- data/schemas/designConfig.xsd +144 -0
- data/schemas/file.xsd +560 -0
- data/schemas/fileType.xsd +86 -0
- data/schemas/generator.xsd +240 -0
- data/schemas/identifier.xsd +93 -0
- data/schemas/index.xsd +67 -0
- data/schemas/memoryMap.xsd +1007 -0
- data/schemas/model.xsd +291 -0
- data/schemas/port.xsd +441 -0
- data/schemas/signalDrivers.xsd +220 -0
- data/schemas/simpleTypes.xsd +90 -0
- data/schemas/subInstances.xsd +256 -0
- data/spec/integration/bus_data_extraction_spec.rb +105 -0
- data/spec/integration/data_calculation_spec.rb +133 -0
- data/spec/integration/data_construction_spec.rb +52 -0
- data/spec/integration/general_spec.rb +121 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_initiator_port.h +135 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_initiator_port.tpp +247 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_initiator_port_base.h +189 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_router.h +205 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_router.tpp +278 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_slave_base.h +115 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_slave_base.tpp +126 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_target_port.h +168 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_target_port_base.h +133 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_tlm_if.h +280 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/user_types.h +38 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/Leon2Platform/Leon2Platform.xml +77 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/Leon2Platform/design_Leon2Platform.xml +156 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/Leon2Platform/tlmsrc/Leon2Platform.h +149 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/apbSubSystem/apbSubSystem.xml +406 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/apbSubSystem/design_apbSubSystem.xml +135 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/apbSubSystem/tlmsrc/apbSubSystem.h +133 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/Leon2Platform/Leon2Platform.xml +77 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/Leon2Platform/design_Leon2Platform.xml +157 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/Leon2Platform/tlmsrc/Leon2Platform.h +150 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/apbSubSystem/apbSubSystem.xml +422 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/apbSubSystem/designConfig_apbSubSystem.xml +79 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/apbSubSystem/design_apbSubSystem.xml +184 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/apbSubSystem/tlmsrc/apbSubSystem.h +164 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/Leon2Platform/Leon2Platform.xml +105 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/Leon2Platform/design_Leon2Platform.xml +157 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/Leon2Platform/tlmsrc/Leon2Platform.h +152 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/apbSubSystem/apbSubSystem.xml +429 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/apbSubSystem/designConfig_apbSubSystem.xml +64 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/apbSubSystem/design_apbSubSystem.xml +150 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/apbSubSystem/tlmsrc/apbSubSystem.h +167 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbbus/1.4/ahbbus22.xml +236 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbbus/1.4/tlmsrc/ahbbus.h +52 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbram/1.4/ahbram.xml +184 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbram/1.4/tlmsrc/ahbram.cc +93 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbram/1.4/tlmsrc/ahbram.h +77 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/apbbus/1.4/apbbus8.xml +544 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/apbbus/1.4/tlmsrc/apbbus.h +55 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/apbmst/1.4/apbmst.xml +209 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/apbmst/1.4/tlmsrc/apbmst.h +53 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/apbram.xml +395 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/hdlsrc/apbram.cc +89 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/hdlsrc/apbram.h +69 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/hdlsrc/apbram.v +82 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/hdlsrc/apbram.vhd +132 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.4/cgu.xml +686 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.4/tlmsrc/cgu.cc +121 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.4/tlmsrc/cgu.h +81 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.5/cgu.xml +707 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.5/tlmsrc/cgu.cc +121 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.5/tlmsrc/cgu.h +81 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/dma/1.4/dma.xml +272 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/dma/1.4/tlmsrc/dma.cc +230 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/dma/1.4/tlmsrc/dma.h +116 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/irqctrl/1.4/irqctrl.xml +530 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/irqctrl/1.4/tlmsrc/irqctrl.cc +211 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/irqctrl/1.4/tlmsrc/irqctrl.h +108 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/processor/1.4/processor.xml +423 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/processor/1.4/tlmsrc/processor.cc +331 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/processor/1.4/tlmsrc/processor.h +121 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2apb/1.0/pv2apb.xml +240 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2apb/1.0/tlmsrc/pv2apb.cc +153 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2apb/1.0/tlmsrc/pv2apb.h +77 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2tac/1.0/pv2tac.xml +154 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2tac/1.0/tlmsrc/pv2tac.cc +114 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2tac/1.0/tlmsrc/pv2tac.h +67 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/rgu/1.4/rgu.xml +766 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/rgu/1.4/tlmsrc/rgu.cc +126 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/rgu/1.4/tlmsrc/rgu.h +105 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/scmlAdaptor/1.0/scmlAdaptor.xml +154 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/scmlAdaptor/1.0/tlmsrc/scmladaptor.cc +100 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/scmlAdaptor/1.0/tlmsrc/scmladaptor.h +62 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/serial_device/1.0/serial_device.xml +151 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/serial_device/1.0/tlmsrc/serial_device.h +85 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/timers/1.4/timers.xml +460 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/timers/1.4/tlmsrc/timers.cc +201 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/timers/1.4/tlmsrc/timers.h +102 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/inc/uart.h +152 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/inc/uart_fifo.h +113 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/inc/uart_memory_map.h +96 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/inc/uart_types.h +60 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/src/uart.cc +125 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/src/uart_interrupt_handler.cc +136 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/src/uart_register_bank.cc +129 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/src/uart_serial_tx_rx.cc +145 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/uart_scml.xml +372 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/Leon2_uart.h +216 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/def_Leon2_uart.h +34 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/tlm_field.h +72 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/tlm_register.h +129 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/tlmreg_Leon2_uart.h +133 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/src/Leon2_uart.cc +316 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/src/tlmreg_Leon2_uart.cc +197 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/src/user_specific_Leon2_uart.cc +146 -0
- data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/uart_tac.xml +222 -0
- data/spec/unit/component_spec.rb +98 -0
- data/spec/unit/graph_pathfinder_spec.rb +128 -0
- data/spec/unit/interconnect_spec.rb +177 -0
- data/spec/unit/ipxact_spec.rb +69 -0
- data/spec/unit/platform_spec.rb +34 -0
- metadata +225 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Revision: $Revision: 1506 $
|
|
3
|
+
// Date: $Date: 2009-04-26 01:51:56 -0500 (Sun, 26 Apr 2009) $
|
|
4
|
+
//
|
|
5
|
+
// Copyright (c) 2005, 2006, 2007, 2008, 2009 The SPIRIT Consortium.
|
|
6
|
+
//
|
|
7
|
+
// This work forms part of a deliverable of The SPIRIT Consortium.
|
|
8
|
+
//
|
|
9
|
+
// Use of these materials are governed by the legal terms and conditions
|
|
10
|
+
// outlined in the disclaimer available from www.spiritconsortium.org.
|
|
11
|
+
//
|
|
12
|
+
// This source file is provided on an AS IS basis. The SPIRIT
|
|
13
|
+
// Consortium disclaims any warranty express or implied including
|
|
14
|
+
// any warranty of merchantability and fitness for use for a
|
|
15
|
+
// particular purpose.
|
|
16
|
+
//
|
|
17
|
+
// The user of the source file shall indemnify and hold The SPIRIT
|
|
18
|
+
// Consortium and its members harmless from any damages or liability.
|
|
19
|
+
// Users are requested to provide feedback to The SPIRIT Consortium
|
|
20
|
+
// using either mailto:feedback@lists.spiritconsortium.org or the forms at
|
|
21
|
+
// http://www.spiritconsortium.org/about/contact_us/
|
|
22
|
+
//
|
|
23
|
+
// This file may be copied, and distributed, with or without
|
|
24
|
+
// modifications; but this notice must be included on any copy.
|
|
25
|
+
|
|
26
|
+
/*------------------------------------------------------------------------------
|
|
27
|
+
* Simple Leon2 TLM APB bus
|
|
28
|
+
*------------------------------------------------------------------------------*/
|
|
29
|
+
|
|
30
|
+
#ifndef __APBBUS_H__
|
|
31
|
+
#define __APBBUS_H__
|
|
32
|
+
|
|
33
|
+
#include <systemc.h>
|
|
34
|
+
#include "pv_router.h"
|
|
35
|
+
#include "user_types.h"
|
|
36
|
+
|
|
37
|
+
typedef pv_router< ADDRESS_TYPE , DATA_TYPE > basic_router;
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
// this class has 1 target port (target_port) and 8 initiator ports (r_port[x])
|
|
41
|
+
// the number of initiator ports is computed at elaboration time (based on
|
|
42
|
+
// this bus interconnection).
|
|
43
|
+
class apbbus : public basic_router
|
|
44
|
+
{
|
|
45
|
+
public:
|
|
46
|
+
apbbus (sc_module_name module_name, const char* mapFile)
|
|
47
|
+
: basic_router (module_name, mapFile)
|
|
48
|
+
{}
|
|
49
|
+
void end_of_elaboration() {
|
|
50
|
+
basic_router::end_of_elaboration();
|
|
51
|
+
cout << name() << " constructed." << endl;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
#endif
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
//
|
|
4
|
+
// Revision: $Revision: 1506 $
|
|
5
|
+
// Date: $Date: 2009-04-26 01:51:56 -0500 (Sun, 26 Apr 2009) $
|
|
6
|
+
//
|
|
7
|
+
// Copyright (c) 2005, 2006, 2007, 2008, 2009 The SPIRIT Consortium.
|
|
8
|
+
//
|
|
9
|
+
// This work forms part of a deliverable of The SPIRIT Consortium.
|
|
10
|
+
//
|
|
11
|
+
// Use of these materials are governed by the legal terms and conditions
|
|
12
|
+
// outlined in the disclaimer available from www.spiritconsortium.org.
|
|
13
|
+
//
|
|
14
|
+
// This source file is provided on an AS IS basis. The SPIRIT
|
|
15
|
+
// Consortium disclaims any warranty express or implied including
|
|
16
|
+
// any warranty of merchantability and fitness for use for a
|
|
17
|
+
// particular purpose.
|
|
18
|
+
//
|
|
19
|
+
// The user of the source file shall indemnify and hold The SPIRIT
|
|
20
|
+
// Consortium and its members harmless from any damages or liability.
|
|
21
|
+
// Users are requested to provide feedback to The SPIRIT Consortium
|
|
22
|
+
// using either mailto:feedback@lists.spiritconsortium.org or the forms at
|
|
23
|
+
// http://www.spiritconsortium.org/about/contact_us/
|
|
24
|
+
//
|
|
25
|
+
// This file may be copied, and distributed, with or without
|
|
26
|
+
// modifications; but this notice must be included on any copy.
|
|
27
|
+
-->
|
|
28
|
+
<spirit:component xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5 http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5/index.xsd">
|
|
29
|
+
<spirit:vendor>spiritconsortium.org</spirit:vendor>
|
|
30
|
+
<spirit:library>Leon2TLM</spirit:library>
|
|
31
|
+
<spirit:name>apbmst</spirit:name>
|
|
32
|
+
<spirit:version>1.4</spirit:version>
|
|
33
|
+
<spirit:busInterfaces>
|
|
34
|
+
<spirit:busInterface>
|
|
35
|
+
<spirit:name>AHB_Slave</spirit:name>
|
|
36
|
+
<spirit:busType spirit:library="AMBA2" spirit:name="AHB" spirit:vendor="amba.com" spirit:version="r2p0_6"/>
|
|
37
|
+
<spirit:abstractionType spirit:library="abstractiondef.tlm" spirit:name="ahb_pv" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
|
|
38
|
+
<spirit:slave>
|
|
39
|
+
<spirit:memoryMapRef spirit:memoryMapRef="AHB_MM"/>
|
|
40
|
+
<spirit:bridge spirit:masterRef="APB_Master" spirit:opaque="true"/>
|
|
41
|
+
</spirit:slave>
|
|
42
|
+
<spirit:connectionRequired>true</spirit:connectionRequired>
|
|
43
|
+
<spirit:portMaps>
|
|
44
|
+
<spirit:portMap>
|
|
45
|
+
<spirit:logicalPort>
|
|
46
|
+
<spirit:name>PV_TRANS</spirit:name>
|
|
47
|
+
</spirit:logicalPort>
|
|
48
|
+
<spirit:physicalPort>
|
|
49
|
+
<spirit:name>target_port</spirit:name>
|
|
50
|
+
</spirit:physicalPort>
|
|
51
|
+
</spirit:portMap>
|
|
52
|
+
</spirit:portMaps>
|
|
53
|
+
</spirit:busInterface>
|
|
54
|
+
<spirit:busInterface>
|
|
55
|
+
<spirit:name>APB_Master</spirit:name>
|
|
56
|
+
<spirit:busType spirit:library="AMBA2" spirit:name="APB" spirit:vendor="amba.com" spirit:version="r2p0_4"/>
|
|
57
|
+
<spirit:abstractionType spirit:library="abstractiondef.tlm" spirit:name="apb_pv" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
|
|
58
|
+
<spirit:master>
|
|
59
|
+
<spirit:addressSpaceRef spirit:addressSpaceRef="APB_AS"/>
|
|
60
|
+
</spirit:master>
|
|
61
|
+
<spirit:portMaps>
|
|
62
|
+
<spirit:portMap>
|
|
63
|
+
<spirit:logicalPort>
|
|
64
|
+
<spirit:name>PV_TRANS</spirit:name>
|
|
65
|
+
</spirit:logicalPort>
|
|
66
|
+
<spirit:physicalPort>
|
|
67
|
+
<spirit:name>initiator_port</spirit:name>
|
|
68
|
+
</spirit:physicalPort>
|
|
69
|
+
</spirit:portMap>
|
|
70
|
+
</spirit:portMaps>
|
|
71
|
+
</spirit:busInterface>
|
|
72
|
+
</spirit:busInterfaces>
|
|
73
|
+
<spirit:addressSpaces>
|
|
74
|
+
<spirit:addressSpace>
|
|
75
|
+
<spirit:name>APB_AS</spirit:name>
|
|
76
|
+
<spirit:range spirit:id="masterRange" spirit:resolve="user" spirit:choiceRef="addressWidthChoice" spirit:configGroups="requiredConfig" spirit:prompt="Master Port Size :">1M</spirit:range>
|
|
77
|
+
<spirit:width spirit:format="long">32</spirit:width>
|
|
78
|
+
</spirit:addressSpace>
|
|
79
|
+
</spirit:addressSpaces>
|
|
80
|
+
<spirit:memoryMaps>
|
|
81
|
+
<spirit:memoryMap>
|
|
82
|
+
<spirit:name>AHB_MM</spirit:name>
|
|
83
|
+
<spirit:subspaceMap spirit:masterRef="APB_Master">
|
|
84
|
+
<spirit:name>ahbMemoryMap</spirit:name>
|
|
85
|
+
<spirit:baseAddress>0</spirit:baseAddress>
|
|
86
|
+
</spirit:subspaceMap>
|
|
87
|
+
</spirit:memoryMap>
|
|
88
|
+
</spirit:memoryMaps>
|
|
89
|
+
<spirit:model>
|
|
90
|
+
<spirit:views>
|
|
91
|
+
<spirit:view>
|
|
92
|
+
<spirit:name>TLM_PV</spirit:name>
|
|
93
|
+
<spirit:envIdentifier>:*Simulation:</spirit:envIdentifier>
|
|
94
|
+
<spirit:language>systemc</spirit:language>
|
|
95
|
+
<spirit:modelName>apbmst</spirit:modelName>
|
|
96
|
+
<spirit:fileSetRef>
|
|
97
|
+
<spirit:localName>sourceCode</spirit:localName>
|
|
98
|
+
</spirit:fileSetRef>
|
|
99
|
+
</spirit:view>
|
|
100
|
+
</spirit:views>
|
|
101
|
+
<spirit:ports>
|
|
102
|
+
<spirit:port>
|
|
103
|
+
<spirit:name>target_port</spirit:name>
|
|
104
|
+
<spirit:transactional>
|
|
105
|
+
<spirit:transTypeDef>
|
|
106
|
+
<spirit:typeName>pv_target_port</spirit:typeName>
|
|
107
|
+
<spirit:typeDefinition>pv_target_port.h</spirit:typeDefinition>
|
|
108
|
+
</spirit:transTypeDef>
|
|
109
|
+
<spirit:service>
|
|
110
|
+
<spirit:initiative>provides</spirit:initiative>
|
|
111
|
+
<spirit:serviceTypeDefs>
|
|
112
|
+
<spirit:serviceTypeDef>
|
|
113
|
+
<spirit:typeName spirit:implicit="true">OSCI_TLM_PV</spirit:typeName>
|
|
114
|
+
<spirit:parameters>
|
|
115
|
+
<spirit:parameter>
|
|
116
|
+
<spirit:name>typedef1</spirit:name>
|
|
117
|
+
<spirit:value>ADDRESS_TYPE</spirit:value>
|
|
118
|
+
</spirit:parameter>
|
|
119
|
+
<spirit:parameter>
|
|
120
|
+
<spirit:name>typedef2</spirit:name>
|
|
121
|
+
<spirit:value>DATA_TYPE</spirit:value>
|
|
122
|
+
</spirit:parameter>
|
|
123
|
+
</spirit:parameters>
|
|
124
|
+
</spirit:serviceTypeDef>
|
|
125
|
+
</spirit:serviceTypeDefs>
|
|
126
|
+
</spirit:service>
|
|
127
|
+
</spirit:transactional>
|
|
128
|
+
</spirit:port>
|
|
129
|
+
<spirit:port>
|
|
130
|
+
<spirit:name>initiator_port</spirit:name>
|
|
131
|
+
<spirit:transactional>
|
|
132
|
+
<spirit:transTypeDef>
|
|
133
|
+
<spirit:typeName>pv_initiator_port</spirit:typeName>
|
|
134
|
+
<spirit:typeDefinition>pv_initiator_port.h</spirit:typeDefinition>
|
|
135
|
+
</spirit:transTypeDef>
|
|
136
|
+
<spirit:service>
|
|
137
|
+
<spirit:initiative>requires</spirit:initiative>
|
|
138
|
+
<spirit:serviceTypeDefs>
|
|
139
|
+
<spirit:serviceTypeDef>
|
|
140
|
+
<spirit:typeName spirit:implicit="true">OSCI_TLM_PV</spirit:typeName>
|
|
141
|
+
<spirit:parameters>
|
|
142
|
+
<spirit:parameter>
|
|
143
|
+
<spirit:name>typedef1</spirit:name>
|
|
144
|
+
<spirit:value>ADDRESS_TYPE</spirit:value>
|
|
145
|
+
</spirit:parameter>
|
|
146
|
+
<spirit:parameter>
|
|
147
|
+
<spirit:name>typedef2</spirit:name>
|
|
148
|
+
<spirit:value>DATA_TYPE</spirit:value>
|
|
149
|
+
</spirit:parameter>
|
|
150
|
+
</spirit:parameters>
|
|
151
|
+
</spirit:serviceTypeDef>
|
|
152
|
+
</spirit:serviceTypeDefs>
|
|
153
|
+
</spirit:service>
|
|
154
|
+
</spirit:transactional>
|
|
155
|
+
</spirit:port>
|
|
156
|
+
</spirit:ports>
|
|
157
|
+
<spirit:modelParameters>
|
|
158
|
+
<spirit:modelParameter spirit:dataType="const char*" spirit:usageType="nontyped">
|
|
159
|
+
<spirit:name>mapfile</spirit:name>
|
|
160
|
+
<spirit:value spirit:id="mapfile" spirit:resolve="user">apbmstMapFile.map</spirit:value>
|
|
161
|
+
</spirit:modelParameter>
|
|
162
|
+
</spirit:modelParameters>
|
|
163
|
+
</spirit:model>
|
|
164
|
+
<spirit:choices>
|
|
165
|
+
<spirit:choice>
|
|
166
|
+
<spirit:name>addressWidthChoice</spirit:name>
|
|
167
|
+
<spirit:enumeration spirit:text="8K">8K</spirit:enumeration>
|
|
168
|
+
<spirit:enumeration spirit:text="16K">16K</spirit:enumeration>
|
|
169
|
+
<spirit:enumeration spirit:text="32K">32K</spirit:enumeration>
|
|
170
|
+
<spirit:enumeration spirit:text="64K">64K</spirit:enumeration>
|
|
171
|
+
<spirit:enumeration spirit:text="128K">128K</spirit:enumeration>
|
|
172
|
+
<spirit:enumeration spirit:text="256K">256K</spirit:enumeration>
|
|
173
|
+
<spirit:enumeration spirit:text="512K">512K</spirit:enumeration>
|
|
174
|
+
<spirit:enumeration spirit:text="1M">1M</spirit:enumeration>
|
|
175
|
+
<spirit:enumeration spirit:text="2M">2M</spirit:enumeration>
|
|
176
|
+
<spirit:enumeration spirit:text="4M">4M</spirit:enumeration>
|
|
177
|
+
<spirit:enumeration spirit:text="8M">8M</spirit:enumeration>
|
|
178
|
+
<spirit:enumeration spirit:text="16M">16M</spirit:enumeration>
|
|
179
|
+
<spirit:enumeration spirit:text="32M">32M</spirit:enumeration>
|
|
180
|
+
<spirit:enumeration spirit:text="64M">64M</spirit:enumeration>
|
|
181
|
+
<spirit:enumeration spirit:text="128M">128M</spirit:enumeration>
|
|
182
|
+
<spirit:enumeration spirit:text="256M">256M</spirit:enumeration>
|
|
183
|
+
<spirit:enumeration spirit:text="1024M">1024M</spirit:enumeration>
|
|
184
|
+
<spirit:enumeration spirit:text="2048M">2048M</spirit:enumeration>
|
|
185
|
+
</spirit:choice>
|
|
186
|
+
</spirit:choices>
|
|
187
|
+
<spirit:fileSets>
|
|
188
|
+
<spirit:fileSet>
|
|
189
|
+
<spirit:name>sourceCode</spirit:name>
|
|
190
|
+
<spirit:file>
|
|
191
|
+
<spirit:name>tlmsrc/apbmst.h</spirit:name>
|
|
192
|
+
<spirit:fileType>systemCSource</spirit:fileType>
|
|
193
|
+
<spirit:isIncludeFile spirit:externalDeclarations="true">true</spirit:isIncludeFile>
|
|
194
|
+
<spirit:logicalName>apbmst</spirit:logicalName>
|
|
195
|
+
<spirit:dependency>../../PV</spirit:dependency>
|
|
196
|
+
</spirit:file>
|
|
197
|
+
<spirit:file>
|
|
198
|
+
<spirit:name>../../PV/pv_router.h</spirit:name>
|
|
199
|
+
<spirit:fileType>unknown</spirit:fileType>
|
|
200
|
+
<spirit:isIncludeFile>true</spirit:isIncludeFile>
|
|
201
|
+
</spirit:file>
|
|
202
|
+
<spirit:file>
|
|
203
|
+
<spirit:name>../../PV/user_types.h</spirit:name>
|
|
204
|
+
<spirit:fileType>unknown</spirit:fileType>
|
|
205
|
+
<spirit:isIncludeFile>true</spirit:isIncludeFile>
|
|
206
|
+
</spirit:file>
|
|
207
|
+
</spirit:fileSet>
|
|
208
|
+
</spirit:fileSets>
|
|
209
|
+
</spirit:component>
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Revision: $Revision: 1506 $
|
|
3
|
+
// Date: $Date: 2009-04-26 01:51:56 -0500 (Sun, 26 Apr 2009) $
|
|
4
|
+
//
|
|
5
|
+
// Copyright (c) 2005, 2006, 2007, 2008, 2009 The SPIRIT Consortium.
|
|
6
|
+
//
|
|
7
|
+
// This work forms part of a deliverable of The SPIRIT Consortium.
|
|
8
|
+
//
|
|
9
|
+
// Use of these materials are governed by the legal terms and conditions
|
|
10
|
+
// outlined in the disclaimer available from www.spiritconsortium.org.
|
|
11
|
+
//
|
|
12
|
+
// This source file is provided on an AS IS basis. The SPIRIT
|
|
13
|
+
// Consortium disclaims any warranty express or implied including
|
|
14
|
+
// any warranty of merchantability and fitness for use for a
|
|
15
|
+
// particular purpose.
|
|
16
|
+
//
|
|
17
|
+
// The user of the source file shall indemnify and hold The SPIRIT
|
|
18
|
+
// Consortium and its members harmless from any damages or liability.
|
|
19
|
+
// Users are requested to provide feedback to The SPIRIT Consortium
|
|
20
|
+
// using either mailto:feedback@lists.spiritconsortium.org or the forms at
|
|
21
|
+
// http://www.spiritconsortium.org/about/contact_us/
|
|
22
|
+
//
|
|
23
|
+
// This file may be copied, and distributed, with or without
|
|
24
|
+
// modifications; but this notice must be included on any copy.
|
|
25
|
+
|
|
26
|
+
/*------------------------------------------------------------------------------
|
|
27
|
+
* Simple Leon2 TLM AHB to APB bridge
|
|
28
|
+
*------------------------------------------------------------------------------*/
|
|
29
|
+
|
|
30
|
+
#ifndef __APBMST_H__
|
|
31
|
+
#define __APBMST_H__
|
|
32
|
+
|
|
33
|
+
#include <systemc.h>
|
|
34
|
+
#include "pv_router.h"
|
|
35
|
+
#include "user_types.h"
|
|
36
|
+
|
|
37
|
+
typedef pv_router< ADDRESS_TYPE , DATA_TYPE > basic_router;
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class apbmst : public basic_router
|
|
41
|
+
{
|
|
42
|
+
public:
|
|
43
|
+
apbmst (sc_module_name module_name, const char* mapFile)
|
|
44
|
+
: basic_router (module_name, mapFile)
|
|
45
|
+
{}
|
|
46
|
+
void end_of_elaboration() {
|
|
47
|
+
basic_router::end_of_elaboration();
|
|
48
|
+
cout << name() << " constructed." << endl;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
#endif
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
//
|
|
4
|
+
// Revision: $Revision: 1506 $
|
|
5
|
+
// Date: $Date: 2009-04-26 01:51:56 -0500 (Sun, 26 Apr 2009) $
|
|
6
|
+
//
|
|
7
|
+
// Copyright (c) 2005, 2006, 2007, 2008, 2009 The SPIRIT Consortium.
|
|
8
|
+
//
|
|
9
|
+
// This work forms part of a deliverable of The SPIRIT Consortium.
|
|
10
|
+
//
|
|
11
|
+
// Use of these materials are governed by the legal terms and conditions
|
|
12
|
+
// outlined in the disclaimer available from www.spiritconsortium.org.
|
|
13
|
+
//
|
|
14
|
+
// This source file is provided on an AS IS basis. The SPIRIT
|
|
15
|
+
// Consortium disclaims any warranty express or implied including
|
|
16
|
+
// any warranty of merchantability and fitness for use for a
|
|
17
|
+
// particular purpose.
|
|
18
|
+
//
|
|
19
|
+
// The user of the source file shall indemnify and hold The SPIRIT
|
|
20
|
+
// Consortium and its members harmless from any damages or liability.
|
|
21
|
+
// Users are requested to provide feedback to The SPIRIT Consortium
|
|
22
|
+
// using either mailto:feedback@lists.spiritconsortium.org or the forms at
|
|
23
|
+
// http://www.spiritconsortium.org/about/contact_us/
|
|
24
|
+
//
|
|
25
|
+
// This file may be copied, and distributed, with or without
|
|
26
|
+
// modifications; but this notice must be included on any copy.
|
|
27
|
+
-->
|
|
28
|
+
<spirit:component xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5 http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5/index.xsd">
|
|
29
|
+
<spirit:vendor>spiritconsortium.org</spirit:vendor>
|
|
30
|
+
<spirit:library>Leon2TLM</spirit:library>
|
|
31
|
+
<spirit:name>apbram</spirit:name>
|
|
32
|
+
<spirit:version>1.0</spirit:version>
|
|
33
|
+
<spirit:busInterfaces>
|
|
34
|
+
<spirit:busInterface>
|
|
35
|
+
<spirit:name>APBClk</spirit:name>
|
|
36
|
+
<spirit:busType spirit:library="busdef.clock" spirit:name="clock" spirit:vendor="spiritconsortium.org" spirit:version="1.0"/>
|
|
37
|
+
<spirit:abstractionType spirit:library="busdef.clock" spirit:name="clock_rtl" spirit:vendor="spiritconsortium.org" spirit:version="1.0"/>
|
|
38
|
+
<spirit:slave/>
|
|
39
|
+
<spirit:portMaps>
|
|
40
|
+
<spirit:portMap>
|
|
41
|
+
<spirit:logicalPort>
|
|
42
|
+
<spirit:name>CLK</spirit:name>
|
|
43
|
+
</spirit:logicalPort>
|
|
44
|
+
<spirit:physicalPort>
|
|
45
|
+
<spirit:name>pclk</spirit:name>
|
|
46
|
+
</spirit:physicalPort>
|
|
47
|
+
</spirit:portMap>
|
|
48
|
+
</spirit:portMaps>
|
|
49
|
+
</spirit:busInterface>
|
|
50
|
+
<spirit:busInterface>
|
|
51
|
+
<spirit:name>APBReset</spirit:name>
|
|
52
|
+
<spirit:busType spirit:library="busdef.reset" spirit:name="reset" spirit:vendor="spiritconsortium.org" spirit:version="1.0"/>
|
|
53
|
+
<spirit:abstractionType spirit:library="busdef.reset" spirit:name="reset_rtl" spirit:vendor="spiritconsortium.org" spirit:version="1.0"/>
|
|
54
|
+
<spirit:slave/>
|
|
55
|
+
<spirit:portMaps>
|
|
56
|
+
<spirit:portMap>
|
|
57
|
+
<spirit:logicalPort>
|
|
58
|
+
<spirit:name>RESETn</spirit:name>
|
|
59
|
+
</spirit:logicalPort>
|
|
60
|
+
<spirit:physicalPort>
|
|
61
|
+
<spirit:name>presetn</spirit:name>
|
|
62
|
+
</spirit:physicalPort>
|
|
63
|
+
</spirit:portMap>
|
|
64
|
+
</spirit:portMaps>
|
|
65
|
+
</spirit:busInterface>
|
|
66
|
+
<spirit:busInterface>
|
|
67
|
+
<spirit:name>ambaAPB</spirit:name>
|
|
68
|
+
<spirit:busType spirit:library="AMBA2" spirit:name="APB" spirit:vendor="amba.com" spirit:version="r2p0_4"/>
|
|
69
|
+
<spirit:abstractionType spirit:library="AMBA2" spirit:name="APB_rtl" spirit:vendor="amba.com" spirit:version="r2p0_4"/>
|
|
70
|
+
<spirit:slave>
|
|
71
|
+
<spirit:memoryMapRef spirit:memoryMapRef="ambaAPB"/>
|
|
72
|
+
</spirit:slave>
|
|
73
|
+
<spirit:connectionRequired>true</spirit:connectionRequired>
|
|
74
|
+
<spirit:portMaps>
|
|
75
|
+
<spirit:portMap>
|
|
76
|
+
<spirit:logicalPort>
|
|
77
|
+
<spirit:name>PSELx</spirit:name>
|
|
78
|
+
</spirit:logicalPort>
|
|
79
|
+
<spirit:physicalPort>
|
|
80
|
+
<spirit:name>psel</spirit:name>
|
|
81
|
+
</spirit:physicalPort>
|
|
82
|
+
</spirit:portMap>
|
|
83
|
+
<spirit:portMap>
|
|
84
|
+
<spirit:logicalPort>
|
|
85
|
+
<spirit:name>PENABLE</spirit:name>
|
|
86
|
+
</spirit:logicalPort>
|
|
87
|
+
<spirit:physicalPort>
|
|
88
|
+
<spirit:name>penable</spirit:name>
|
|
89
|
+
</spirit:physicalPort>
|
|
90
|
+
</spirit:portMap>
|
|
91
|
+
<spirit:portMap>
|
|
92
|
+
<spirit:logicalPort>
|
|
93
|
+
<spirit:name>PADDR</spirit:name>
|
|
94
|
+
<spirit:vector>
|
|
95
|
+
<spirit:left>11</spirit:left>
|
|
96
|
+
<spirit:right>0</spirit:right>
|
|
97
|
+
</spirit:vector>
|
|
98
|
+
</spirit:logicalPort>
|
|
99
|
+
<spirit:physicalPort>
|
|
100
|
+
<spirit:name>paddr</spirit:name>
|
|
101
|
+
<spirit:vector>
|
|
102
|
+
<spirit:left>11</spirit:left>
|
|
103
|
+
<spirit:right>0</spirit:right>
|
|
104
|
+
</spirit:vector>
|
|
105
|
+
</spirit:physicalPort>
|
|
106
|
+
</spirit:portMap>
|
|
107
|
+
<spirit:portMap>
|
|
108
|
+
<spirit:logicalPort>
|
|
109
|
+
<spirit:name>PWRITE</spirit:name>
|
|
110
|
+
</spirit:logicalPort>
|
|
111
|
+
<spirit:physicalPort>
|
|
112
|
+
<spirit:name>pwrite</spirit:name>
|
|
113
|
+
</spirit:physicalPort>
|
|
114
|
+
</spirit:portMap>
|
|
115
|
+
<spirit:portMap>
|
|
116
|
+
<spirit:logicalPort>
|
|
117
|
+
<spirit:name>PWDATA</spirit:name>
|
|
118
|
+
<spirit:vector>
|
|
119
|
+
<spirit:left>31</spirit:left>
|
|
120
|
+
<spirit:right>0</spirit:right>
|
|
121
|
+
</spirit:vector>
|
|
122
|
+
</spirit:logicalPort>
|
|
123
|
+
<spirit:physicalPort>
|
|
124
|
+
<spirit:name>pwdata</spirit:name>
|
|
125
|
+
<spirit:vector>
|
|
126
|
+
<spirit:left>31</spirit:left>
|
|
127
|
+
<spirit:right>0</spirit:right>
|
|
128
|
+
</spirit:vector>
|
|
129
|
+
</spirit:physicalPort>
|
|
130
|
+
</spirit:portMap>
|
|
131
|
+
<spirit:portMap>
|
|
132
|
+
<spirit:logicalPort>
|
|
133
|
+
<spirit:name>PRDATA</spirit:name>
|
|
134
|
+
<spirit:vector>
|
|
135
|
+
<spirit:left>31</spirit:left>
|
|
136
|
+
<spirit:right>0</spirit:right>
|
|
137
|
+
</spirit:vector>
|
|
138
|
+
</spirit:logicalPort>
|
|
139
|
+
<spirit:physicalPort>
|
|
140
|
+
<spirit:name>prdata</spirit:name>
|
|
141
|
+
<spirit:vector>
|
|
142
|
+
<spirit:left>31</spirit:left>
|
|
143
|
+
<spirit:right>0</spirit:right>
|
|
144
|
+
</spirit:vector>
|
|
145
|
+
</spirit:physicalPort>
|
|
146
|
+
</spirit:portMap>
|
|
147
|
+
<spirit:portMap>
|
|
148
|
+
<spirit:logicalPort>
|
|
149
|
+
<spirit:name>PCLK</spirit:name>
|
|
150
|
+
</spirit:logicalPort>
|
|
151
|
+
<spirit:physicalPort>
|
|
152
|
+
<spirit:name>pclk</spirit:name>
|
|
153
|
+
</spirit:physicalPort>
|
|
154
|
+
</spirit:portMap>
|
|
155
|
+
<spirit:portMap>
|
|
156
|
+
<spirit:logicalPort>
|
|
157
|
+
<spirit:name>PRESETn</spirit:name>
|
|
158
|
+
</spirit:logicalPort>
|
|
159
|
+
<spirit:physicalPort>
|
|
160
|
+
<spirit:name>presetn</spirit:name>
|
|
161
|
+
</spirit:physicalPort>
|
|
162
|
+
</spirit:portMap>
|
|
163
|
+
</spirit:portMaps>
|
|
164
|
+
</spirit:busInterface>
|
|
165
|
+
</spirit:busInterfaces>
|
|
166
|
+
<spirit:memoryMaps>
|
|
167
|
+
<spirit:memoryMap>
|
|
168
|
+
<spirit:name>ambaAPB</spirit:name>
|
|
169
|
+
<spirit:bank spirit:bankAlignment="serial">
|
|
170
|
+
<spirit:name>defaultid4490635</spirit:name>
|
|
171
|
+
<spirit:baseAddress>0</spirit:baseAddress>
|
|
172
|
+
<spirit:addressBlock>
|
|
173
|
+
<spirit:name>RAM</spirit:name>
|
|
174
|
+
<spirit:range spirit:format="long">0xFFC</spirit:range>
|
|
175
|
+
<spirit:width spirit:format="long">32</spirit:width>
|
|
176
|
+
<spirit:usage>memory</spirit:usage>
|
|
177
|
+
<spirit:volatile>false</spirit:volatile>
|
|
178
|
+
<spirit:access>read-write</spirit:access>
|
|
179
|
+
</spirit:addressBlock>
|
|
180
|
+
<spirit:addressBlock>
|
|
181
|
+
<spirit:name>idAddressBlock</spirit:name>
|
|
182
|
+
<spirit:range spirit:format="long">4</spirit:range>
|
|
183
|
+
<spirit:width spirit:format="long">32</spirit:width>
|
|
184
|
+
<spirit:usage>register</spirit:usage>
|
|
185
|
+
<spirit:volatile>false</spirit:volatile>
|
|
186
|
+
<spirit:access>read-only</spirit:access>
|
|
187
|
+
<spirit:register>
|
|
188
|
+
<spirit:name>IDReg</spirit:name>
|
|
189
|
+
<spirit:description>ID register</spirit:description>
|
|
190
|
+
<spirit:addressOffset>0x0</spirit:addressOffset>
|
|
191
|
+
<spirit:size>32</spirit:size>
|
|
192
|
+
<spirit:access>read-only</spirit:access>
|
|
193
|
+
<spirit:reset>
|
|
194
|
+
<spirit:value>0x00000D08</spirit:value>
|
|
195
|
+
</spirit:reset>
|
|
196
|
+
<spirit:field>
|
|
197
|
+
<spirit:name>ID</spirit:name>
|
|
198
|
+
<spirit:description>ID Field</spirit:description>
|
|
199
|
+
<spirit:bitOffset>0</spirit:bitOffset>
|
|
200
|
+
<spirit:bitWidth>32</spirit:bitWidth>
|
|
201
|
+
<spirit:access>read-only</spirit:access>
|
|
202
|
+
</spirit:field>
|
|
203
|
+
</spirit:register>
|
|
204
|
+
</spirit:addressBlock>
|
|
205
|
+
</spirit:bank>
|
|
206
|
+
</spirit:memoryMap>
|
|
207
|
+
</spirit:memoryMaps>
|
|
208
|
+
<spirit:model>
|
|
209
|
+
<spirit:views>
|
|
210
|
+
<spirit:view>
|
|
211
|
+
<spirit:name>verilogsource</spirit:name>
|
|
212
|
+
<spirit:envIdentifier>:modelsim.mentor.com:</spirit:envIdentifier>
|
|
213
|
+
<spirit:envIdentifier>:vcs.synopsys.com:</spirit:envIdentifier>
|
|
214
|
+
<spirit:envIdentifier>:ncsim.cadence.com:</spirit:envIdentifier>
|
|
215
|
+
<spirit:envIdentifier>:designcompiler.synopsys.com:</spirit:envIdentifier>
|
|
216
|
+
<spirit:language>verilog</spirit:language>
|
|
217
|
+
<spirit:modelName>apbram</spirit:modelName>
|
|
218
|
+
<spirit:fileSetRef>
|
|
219
|
+
<spirit:localName>fs-verilogSource</spirit:localName>
|
|
220
|
+
</spirit:fileSetRef>
|
|
221
|
+
</spirit:view>
|
|
222
|
+
<spirit:view>
|
|
223
|
+
<spirit:name>vhdlsource</spirit:name>
|
|
224
|
+
<spirit:envIdentifier>:modelsim.mentor.com:</spirit:envIdentifier>
|
|
225
|
+
<spirit:envIdentifier>:ncsim.cadence.com:</spirit:envIdentifier>
|
|
226
|
+
<spirit:envIdentifier>:vcs.synopsys.com:</spirit:envIdentifier>
|
|
227
|
+
<spirit:envIdentifier>:designcompiler.synopsys.com:</spirit:envIdentifier>
|
|
228
|
+
<spirit:language>vhdl</spirit:language>
|
|
229
|
+
<spirit:modelName>apbram(rtl)</spirit:modelName>
|
|
230
|
+
<spirit:fileSetRef>
|
|
231
|
+
<spirit:localName>fs-vhdlSource</spirit:localName>
|
|
232
|
+
</spirit:fileSetRef>
|
|
233
|
+
</spirit:view>
|
|
234
|
+
<spirit:view>
|
|
235
|
+
<spirit:name>TLM_PV</spirit:name>
|
|
236
|
+
<spirit:envIdentifier>:*Simulation:</spirit:envIdentifier>
|
|
237
|
+
<spirit:language>systemc</spirit:language>
|
|
238
|
+
<spirit:modelName>apbram</spirit:modelName>
|
|
239
|
+
<spirit:fileSetRef>
|
|
240
|
+
<spirit:localName>sourceCode</spirit:localName>
|
|
241
|
+
</spirit:fileSetRef>
|
|
242
|
+
</spirit:view>
|
|
243
|
+
</spirit:views>
|
|
244
|
+
<spirit:ports>
|
|
245
|
+
<spirit:port>
|
|
246
|
+
<spirit:name>pclk</spirit:name>
|
|
247
|
+
<spirit:wire>
|
|
248
|
+
<spirit:direction>in</spirit:direction>
|
|
249
|
+
<spirit:wireTypeDefs>
|
|
250
|
+
<spirit:wireTypeDef>
|
|
251
|
+
<spirit:typeName>sc_logic</spirit:typeName>
|
|
252
|
+
<spirit:typeDefinition>systemc.h</spirit:typeDefinition>
|
|
253
|
+
<spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
|
|
254
|
+
</spirit:wireTypeDef>
|
|
255
|
+
</spirit:wireTypeDefs>
|
|
256
|
+
</spirit:wire>
|
|
257
|
+
</spirit:port>
|
|
258
|
+
<spirit:port>
|
|
259
|
+
<spirit:name>presetn</spirit:name>
|
|
260
|
+
<spirit:wire>
|
|
261
|
+
<spirit:direction>in</spirit:direction>
|
|
262
|
+
<spirit:wireTypeDefs>
|
|
263
|
+
<spirit:wireTypeDef>
|
|
264
|
+
<spirit:typeName>sc_logic</spirit:typeName>
|
|
265
|
+
<spirit:typeDefinition>systemc.h</spirit:typeDefinition>
|
|
266
|
+
<spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
|
|
267
|
+
</spirit:wireTypeDef>
|
|
268
|
+
</spirit:wireTypeDefs>
|
|
269
|
+
</spirit:wire>
|
|
270
|
+
</spirit:port>
|
|
271
|
+
<spirit:port>
|
|
272
|
+
<spirit:name>psel</spirit:name>
|
|
273
|
+
<spirit:wire>
|
|
274
|
+
<spirit:direction>in</spirit:direction>
|
|
275
|
+
<spirit:wireTypeDefs>
|
|
276
|
+
<spirit:wireTypeDef>
|
|
277
|
+
<spirit:typeName>sc_logic</spirit:typeName>
|
|
278
|
+
<spirit:typeDefinition>systemc.h</spirit:typeDefinition>
|
|
279
|
+
<spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
|
|
280
|
+
</spirit:wireTypeDef>
|
|
281
|
+
</spirit:wireTypeDefs>
|
|
282
|
+
</spirit:wire>
|
|
283
|
+
</spirit:port>
|
|
284
|
+
<spirit:port>
|
|
285
|
+
<spirit:name>penable</spirit:name>
|
|
286
|
+
<spirit:wire>
|
|
287
|
+
<spirit:direction>in</spirit:direction>
|
|
288
|
+
<spirit:wireTypeDefs>
|
|
289
|
+
<spirit:wireTypeDef>
|
|
290
|
+
<spirit:typeName>sc_logic</spirit:typeName>
|
|
291
|
+
<spirit:typeDefinition>systemc.h</spirit:typeDefinition>
|
|
292
|
+
<spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
|
|
293
|
+
</spirit:wireTypeDef>
|
|
294
|
+
</spirit:wireTypeDefs>
|
|
295
|
+
</spirit:wire>
|
|
296
|
+
</spirit:port>
|
|
297
|
+
<spirit:port>
|
|
298
|
+
<spirit:name>paddr</spirit:name>
|
|
299
|
+
<spirit:wire>
|
|
300
|
+
<spirit:direction>in</spirit:direction>
|
|
301
|
+
<spirit:vector>
|
|
302
|
+
<spirit:left>11</spirit:left>
|
|
303
|
+
<spirit:right>0</spirit:right>
|
|
304
|
+
</spirit:vector>
|
|
305
|
+
<spirit:wireTypeDefs>
|
|
306
|
+
<spirit:wireTypeDef>
|
|
307
|
+
<spirit:typeName>sc_lv</spirit:typeName>
|
|
308
|
+
<spirit:typeDefinition>systemc.h</spirit:typeDefinition>
|
|
309
|
+
<spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
|
|
310
|
+
</spirit:wireTypeDef>
|
|
311
|
+
</spirit:wireTypeDefs>
|
|
312
|
+
</spirit:wire>
|
|
313
|
+
</spirit:port>
|
|
314
|
+
<spirit:port>
|
|
315
|
+
<spirit:name>pwrite</spirit:name>
|
|
316
|
+
<spirit:wire>
|
|
317
|
+
<spirit:direction>in</spirit:direction>
|
|
318
|
+
<spirit:wireTypeDefs>
|
|
319
|
+
<spirit:wireTypeDef>
|
|
320
|
+
<spirit:typeName>sc_logic</spirit:typeName>
|
|
321
|
+
<spirit:typeDefinition>systemc.h</spirit:typeDefinition>
|
|
322
|
+
<spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
|
|
323
|
+
</spirit:wireTypeDef>
|
|
324
|
+
</spirit:wireTypeDefs>
|
|
325
|
+
</spirit:wire>
|
|
326
|
+
</spirit:port>
|
|
327
|
+
<spirit:port>
|
|
328
|
+
<spirit:name>pwdata</spirit:name>
|
|
329
|
+
<spirit:wire>
|
|
330
|
+
<spirit:direction>in</spirit:direction>
|
|
331
|
+
<spirit:vector>
|
|
332
|
+
<spirit:left>31</spirit:left>
|
|
333
|
+
<spirit:right>0</spirit:right>
|
|
334
|
+
</spirit:vector>
|
|
335
|
+
<spirit:wireTypeDefs>
|
|
336
|
+
<spirit:wireTypeDef>
|
|
337
|
+
<spirit:typeName>sc_lv</spirit:typeName>
|
|
338
|
+
<spirit:typeDefinition>systemc.h</spirit:typeDefinition>
|
|
339
|
+
<spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
|
|
340
|
+
</spirit:wireTypeDef>
|
|
341
|
+
</spirit:wireTypeDefs>
|
|
342
|
+
</spirit:wire>
|
|
343
|
+
</spirit:port>
|
|
344
|
+
<spirit:port>
|
|
345
|
+
<spirit:name>prdata</spirit:name>
|
|
346
|
+
<spirit:wire>
|
|
347
|
+
<spirit:direction>out</spirit:direction>
|
|
348
|
+
<spirit:vector>
|
|
349
|
+
<spirit:left>31</spirit:left>
|
|
350
|
+
<spirit:right>0</spirit:right>
|
|
351
|
+
</spirit:vector>
|
|
352
|
+
<spirit:wireTypeDefs>
|
|
353
|
+
<spirit:wireTypeDef>
|
|
354
|
+
<spirit:typeName>sc_lv</spirit:typeName>
|
|
355
|
+
<spirit:typeDefinition>systemc.h</spirit:typeDefinition>
|
|
356
|
+
<spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
|
|
357
|
+
</spirit:wireTypeDef>
|
|
358
|
+
</spirit:wireTypeDefs>
|
|
359
|
+
</spirit:wire>
|
|
360
|
+
</spirit:port>
|
|
361
|
+
</spirit:ports>
|
|
362
|
+
</spirit:model>
|
|
363
|
+
<spirit:fileSets>
|
|
364
|
+
<spirit:fileSet>
|
|
365
|
+
<spirit:name>fs-vhdlSource</spirit:name>
|
|
366
|
+
<spirit:file>
|
|
367
|
+
<spirit:name>hdlsrc/apbram.vhd</spirit:name>
|
|
368
|
+
<spirit:fileType>vhdlSource</spirit:fileType>
|
|
369
|
+
<spirit:logicalName>apbram_lib</spirit:logicalName>
|
|
370
|
+
</spirit:file>
|
|
371
|
+
</spirit:fileSet>
|
|
372
|
+
<spirit:fileSet>
|
|
373
|
+
<spirit:name>fs-verilogSource</spirit:name>
|
|
374
|
+
<spirit:file>
|
|
375
|
+
<spirit:name>hdlsrc/apbram.v</spirit:name>
|
|
376
|
+
<spirit:fileType>verilogSource</spirit:fileType>
|
|
377
|
+
<spirit:logicalName>apbram_lib</spirit:logicalName>
|
|
378
|
+
</spirit:file>
|
|
379
|
+
</spirit:fileSet>
|
|
380
|
+
<spirit:fileSet>
|
|
381
|
+
<spirit:name>sourceCode</spirit:name>
|
|
382
|
+
<spirit:file>
|
|
383
|
+
<spirit:name>hdlsrc/apbram.cc</spirit:name>
|
|
384
|
+
<spirit:fileType>systemCSource</spirit:fileType>
|
|
385
|
+
<spirit:dependency>hdlsrc</spirit:dependency>
|
|
386
|
+
</spirit:file>
|
|
387
|
+
<spirit:file>
|
|
388
|
+
<spirit:name>hdlsrc/apbram.h</spirit:name>
|
|
389
|
+
<spirit:fileType>systemCSource</spirit:fileType>
|
|
390
|
+
<spirit:isIncludeFile spirit:externalDeclarations="true">true</spirit:isIncludeFile>
|
|
391
|
+
<spirit:logicalName>apbram</spirit:logicalName>
|
|
392
|
+
</spirit:file>
|
|
393
|
+
</spirit:fileSet>
|
|
394
|
+
</spirit:fileSets>
|
|
395
|
+
</spirit:component>
|