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.
Files changed (142) hide show
  1. data/.autotest +15 -0
  2. data/.gitignore +2 -0
  3. data/README.html +89 -0
  4. data/README.mdown +91 -0
  5. data/Rakefile +31 -0
  6. data/VERSION +1 -0
  7. data/autotest/discover.rb +17 -0
  8. data/lib/ipxact.rb +263 -0
  9. data/lib/ipxact/component.rb +235 -0
  10. data/lib/ipxact/parser.rb +27 -0
  11. data/lib/ipxact/parser/bus_data_parser.rb +229 -0
  12. data/lib/ipxact/parser/component_data_parser.rb +309 -0
  13. data/lib/ipxact/parser/platform_data_parser.rb +63 -0
  14. data/lib/ipxact/pathfinder/graph_pathfinder.rb +191 -0
  15. data/lib/ipxact/platform.rb +43 -0
  16. data/schemas/abstractionDefinition.xsd +332 -0
  17. data/schemas/abstractor.xsd +156 -0
  18. data/schemas/autoConfigure.xsd +226 -0
  19. data/schemas/busDefinition.xsd +99 -0
  20. data/schemas/busInterface.xsd +640 -0
  21. data/schemas/commonStructures.xsd +189 -0
  22. data/schemas/component.xsd +253 -0
  23. data/schemas/configurable.xsd +82 -0
  24. data/schemas/constraints.xsd +283 -0
  25. data/schemas/design.xsd +105 -0
  26. data/schemas/designConfig.xsd +144 -0
  27. data/schemas/file.xsd +560 -0
  28. data/schemas/fileType.xsd +86 -0
  29. data/schemas/generator.xsd +240 -0
  30. data/schemas/identifier.xsd +93 -0
  31. data/schemas/index.xsd +67 -0
  32. data/schemas/memoryMap.xsd +1007 -0
  33. data/schemas/model.xsd +291 -0
  34. data/schemas/port.xsd +441 -0
  35. data/schemas/signalDrivers.xsd +220 -0
  36. data/schemas/simpleTypes.xsd +90 -0
  37. data/schemas/subInstances.xsd +256 -0
  38. data/spec/integration/bus_data_extraction_spec.rb +105 -0
  39. data/spec/integration/data_calculation_spec.rb +133 -0
  40. data/spec/integration/data_construction_spec.rb +52 -0
  41. data/spec/integration/general_spec.rb +121 -0
  42. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_initiator_port.h +135 -0
  43. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_initiator_port.tpp +247 -0
  44. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_initiator_port_base.h +189 -0
  45. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_router.h +205 -0
  46. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_router.tpp +278 -0
  47. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_slave_base.h +115 -0
  48. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_slave_base.tpp +126 -0
  49. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_target_port.h +168 -0
  50. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_target_port_base.h +133 -0
  51. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_tlm_if.h +280 -0
  52. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/user_types.h +38 -0
  53. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/Leon2Platform/Leon2Platform.xml +77 -0
  54. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/Leon2Platform/design_Leon2Platform.xml +156 -0
  55. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/Leon2Platform/tlmsrc/Leon2Platform.h +149 -0
  56. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/apbSubSystem/apbSubSystem.xml +406 -0
  57. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/apbSubSystem/design_apbSubSystem.xml +135 -0
  58. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/apbSubSystem/tlmsrc/apbSubSystem.h +133 -0
  59. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/Leon2Platform/Leon2Platform.xml +77 -0
  60. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/Leon2Platform/design_Leon2Platform.xml +157 -0
  61. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/Leon2Platform/tlmsrc/Leon2Platform.h +150 -0
  62. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/apbSubSystem/apbSubSystem.xml +422 -0
  63. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/apbSubSystem/designConfig_apbSubSystem.xml +79 -0
  64. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/apbSubSystem/design_apbSubSystem.xml +184 -0
  65. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/apbSubSystem/tlmsrc/apbSubSystem.h +164 -0
  66. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/Leon2Platform/Leon2Platform.xml +105 -0
  67. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/Leon2Platform/design_Leon2Platform.xml +157 -0
  68. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/Leon2Platform/tlmsrc/Leon2Platform.h +152 -0
  69. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/apbSubSystem/apbSubSystem.xml +429 -0
  70. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/apbSubSystem/designConfig_apbSubSystem.xml +64 -0
  71. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/apbSubSystem/design_apbSubSystem.xml +150 -0
  72. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/apbSubSystem/tlmsrc/apbSubSystem.h +167 -0
  73. data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbbus/1.4/ahbbus22.xml +236 -0
  74. data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbbus/1.4/tlmsrc/ahbbus.h +52 -0
  75. data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbram/1.4/ahbram.xml +184 -0
  76. data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbram/1.4/tlmsrc/ahbram.cc +93 -0
  77. data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbram/1.4/tlmsrc/ahbram.h +77 -0
  78. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbbus/1.4/apbbus8.xml +544 -0
  79. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbbus/1.4/tlmsrc/apbbus.h +55 -0
  80. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbmst/1.4/apbmst.xml +209 -0
  81. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbmst/1.4/tlmsrc/apbmst.h +53 -0
  82. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/apbram.xml +395 -0
  83. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/hdlsrc/apbram.cc +89 -0
  84. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/hdlsrc/apbram.h +69 -0
  85. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/hdlsrc/apbram.v +82 -0
  86. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/hdlsrc/apbram.vhd +132 -0
  87. data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.4/cgu.xml +686 -0
  88. data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.4/tlmsrc/cgu.cc +121 -0
  89. data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.4/tlmsrc/cgu.h +81 -0
  90. data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.5/cgu.xml +707 -0
  91. data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.5/tlmsrc/cgu.cc +121 -0
  92. data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.5/tlmsrc/cgu.h +81 -0
  93. data/spec/test_data/spiritconsortium.org/Leon2TLM/dma/1.4/dma.xml +272 -0
  94. data/spec/test_data/spiritconsortium.org/Leon2TLM/dma/1.4/tlmsrc/dma.cc +230 -0
  95. data/spec/test_data/spiritconsortium.org/Leon2TLM/dma/1.4/tlmsrc/dma.h +116 -0
  96. data/spec/test_data/spiritconsortium.org/Leon2TLM/irqctrl/1.4/irqctrl.xml +530 -0
  97. data/spec/test_data/spiritconsortium.org/Leon2TLM/irqctrl/1.4/tlmsrc/irqctrl.cc +211 -0
  98. data/spec/test_data/spiritconsortium.org/Leon2TLM/irqctrl/1.4/tlmsrc/irqctrl.h +108 -0
  99. data/spec/test_data/spiritconsortium.org/Leon2TLM/processor/1.4/processor.xml +423 -0
  100. data/spec/test_data/spiritconsortium.org/Leon2TLM/processor/1.4/tlmsrc/processor.cc +331 -0
  101. data/spec/test_data/spiritconsortium.org/Leon2TLM/processor/1.4/tlmsrc/processor.h +121 -0
  102. data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2apb/1.0/pv2apb.xml +240 -0
  103. data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2apb/1.0/tlmsrc/pv2apb.cc +153 -0
  104. data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2apb/1.0/tlmsrc/pv2apb.h +77 -0
  105. data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2tac/1.0/pv2tac.xml +154 -0
  106. data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2tac/1.0/tlmsrc/pv2tac.cc +114 -0
  107. data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2tac/1.0/tlmsrc/pv2tac.h +67 -0
  108. data/spec/test_data/spiritconsortium.org/Leon2TLM/rgu/1.4/rgu.xml +766 -0
  109. data/spec/test_data/spiritconsortium.org/Leon2TLM/rgu/1.4/tlmsrc/rgu.cc +126 -0
  110. data/spec/test_data/spiritconsortium.org/Leon2TLM/rgu/1.4/tlmsrc/rgu.h +105 -0
  111. data/spec/test_data/spiritconsortium.org/Leon2TLM/scmlAdaptor/1.0/scmlAdaptor.xml +154 -0
  112. data/spec/test_data/spiritconsortium.org/Leon2TLM/scmlAdaptor/1.0/tlmsrc/scmladaptor.cc +100 -0
  113. data/spec/test_data/spiritconsortium.org/Leon2TLM/scmlAdaptor/1.0/tlmsrc/scmladaptor.h +62 -0
  114. data/spec/test_data/spiritconsortium.org/Leon2TLM/serial_device/1.0/serial_device.xml +151 -0
  115. data/spec/test_data/spiritconsortium.org/Leon2TLM/serial_device/1.0/tlmsrc/serial_device.h +85 -0
  116. data/spec/test_data/spiritconsortium.org/Leon2TLM/timers/1.4/timers.xml +460 -0
  117. data/spec/test_data/spiritconsortium.org/Leon2TLM/timers/1.4/tlmsrc/timers.cc +201 -0
  118. data/spec/test_data/spiritconsortium.org/Leon2TLM/timers/1.4/tlmsrc/timers.h +102 -0
  119. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/inc/uart.h +152 -0
  120. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/inc/uart_fifo.h +113 -0
  121. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/inc/uart_memory_map.h +96 -0
  122. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/inc/uart_types.h +60 -0
  123. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/src/uart.cc +125 -0
  124. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/src/uart_interrupt_handler.cc +136 -0
  125. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/src/uart_register_bank.cc +129 -0
  126. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/src/uart_serial_tx_rx.cc +145 -0
  127. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/uart_scml.xml +372 -0
  128. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/Leon2_uart.h +216 -0
  129. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/def_Leon2_uart.h +34 -0
  130. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/tlm_field.h +72 -0
  131. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/tlm_register.h +129 -0
  132. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/tlmreg_Leon2_uart.h +133 -0
  133. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/src/Leon2_uart.cc +316 -0
  134. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/src/tlmreg_Leon2_uart.cc +197 -0
  135. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/src/user_specific_Leon2_uart.cc +146 -0
  136. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/uart_tac.xml +222 -0
  137. data/spec/unit/component_spec.rb +98 -0
  138. data/spec/unit/graph_pathfinder_spec.rb +128 -0
  139. data/spec/unit/interconnect_spec.rb +177 -0
  140. data/spec/unit/ipxact_spec.rb +69 -0
  141. data/spec/unit/platform_spec.rb +34 -0
  142. 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>