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,38 @@
1
+ /*
2
+ Description: user_types.h
3
+ Author: The SPIRIT Consortium
4
+ Revision: $Revision: 1506 $
5
+ Date: $Date: 2009-04-26 01:51:56 -0500 (Sun, 26 Apr 2009) $
6
+
7
+ Copyright (c) 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; this notice must be included on any copy.
27
+ */
28
+ #ifndef _USER_TYPES_H_
29
+ #define _USER_TYPES_H_
30
+
31
+ typedef unsigned int ADDRESS_TYPE;
32
+ typedef unsigned int DATA_TYPE;
33
+ typedef int LOGIC;
34
+ #define LOGIC_0 0
35
+ #define LOGIC_1 1
36
+ #define CLOCK_CYCLE 10
37
+
38
+ #endif /* _USER_TYPES_H_ */
@@ -0,0 +1,77 @@
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>Leon2Platform</spirit:name>
32
+ <spirit:version>1.1</spirit:version>
33
+ <spirit:model>
34
+ <spirit:views>
35
+ <spirit:view>
36
+ <spirit:name>spirit-design</spirit:name>
37
+ <spirit:envIdentifier>::Hierarchy</spirit:envIdentifier>
38
+ <spirit:hierarchyRef spirit:library="Leon2TLM" spirit:name="design_Leon2Platform" spirit:vendor="spiritconsortium.org" spirit:version="1.1"/>
39
+ </spirit:view>
40
+ <spirit:view>
41
+ <spirit:name>TLM_PV</spirit:name>
42
+ <spirit:envIdentifier>:*Simulation:</spirit:envIdentifier>
43
+ <spirit:language>systemc</spirit:language>
44
+ <spirit:modelName>Leon2Platform</spirit:modelName>
45
+ <spirit:fileSetRef>
46
+ <spirit:localName>sourceCode</spirit:localName>
47
+ </spirit:fileSetRef>
48
+ </spirit:view>
49
+ </spirit:views>
50
+ <spirit:ports>
51
+ <spirit:port>
52
+ <spirit:name>rstin_an</spirit:name>
53
+ <spirit:wire>
54
+ <spirit:direction>in</spirit:direction>
55
+ <spirit:driver>
56
+ <spirit:singleShotDriver>
57
+ <spirit:singleShotOffset>500.0</spirit:singleShotOffset>
58
+ <spirit:singleShotValue>1</spirit:singleShotValue>
59
+ <spirit:singleShotDuration>1000.0</spirit:singleShotDuration>
60
+ </spirit:singleShotDriver>
61
+ </spirit:driver>
62
+ </spirit:wire>
63
+ </spirit:port>
64
+ </spirit:ports>
65
+ </spirit:model>
66
+ <spirit:fileSets>
67
+ <spirit:fileSet>
68
+ <spirit:name>sourceCode</spirit:name>
69
+ <spirit:file>
70
+ <spirit:name>tlmsrc/Leon2Platform.h</spirit:name>
71
+ <spirit:fileType>systemCSource</spirit:fileType>
72
+ <spirit:isIncludeFile>true</spirit:isIncludeFile>
73
+ <spirit:logicalName>Leon2Platform</spirit:logicalName>
74
+ </spirit:file>
75
+ </spirit:fileSet>
76
+ </spirit:fileSets>
77
+ </spirit:component>
@@ -0,0 +1,156 @@
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:design 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>design_Leon2Platform</spirit:name>
32
+ <spirit:version>1.1</spirit:version>
33
+ <spirit:componentInstances>
34
+ <spirit:componentInstance>
35
+ <spirit:instanceName>i_ahb</spirit:instanceName>
36
+ <spirit:componentRef spirit:library="Leon2TLM" spirit:name="ahbbus22" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
37
+ <spirit:configurableElementValues>
38
+ <spirit:configurableElementValue spirit:referenceId="range_slv0_mirror">0x00040000</spirit:configurableElementValue>
39
+ <spirit:configurableElementValue spirit:referenceId="range_slv1_mirror">0x00009000</spirit:configurableElementValue>
40
+ <spirit:configurableElementValue spirit:referenceId="start_addr_slv0_mirror">0x0</spirit:configurableElementValue>
41
+ <spirit:configurableElementValue spirit:referenceId="start_addr_slv1_mirror">0x30000000</spirit:configurableElementValue>
42
+ <spirit:configurableElementValue spirit:referenceId="mapfile">leon2AhbBus.map</spirit:configurableElementValue>
43
+ </spirit:configurableElementValues>
44
+ </spirit:componentInstance>
45
+ <spirit:componentInstance>
46
+ <spirit:instanceName>i_mem</spirit:instanceName>
47
+ <spirit:componentRef spirit:library="Leon2TLM" spirit:name="ahbram" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
48
+ <spirit:configurableElementValues>
49
+ <spirit:configurableElementValue spirit:referenceId="addressBusSize">16</spirit:configurableElementValue>
50
+ </spirit:configurableElementValues>
51
+ </spirit:componentInstance>
52
+ <spirit:componentInstance>
53
+ <spirit:instanceName>i_sub</spirit:instanceName>
54
+ <spirit:componentRef spirit:library="Leon2TLM" spirit:name="apbSubSystem" spirit:vendor="spiritconsortium.org" spirit:version="1.1"/>
55
+ </spirit:componentInstance>
56
+ <spirit:componentInstance>
57
+ <spirit:instanceName>i_cgu</spirit:instanceName>
58
+ <spirit:componentRef spirit:library="Leon2TLM" spirit:name="cgu" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
59
+ <spirit:configurableElementValues>
60
+ <spirit:configurableElementValue spirit:referenceId="ClockPeriod">100</spirit:configurableElementValue>
61
+ <spirit:configurableElementValue spirit:referenceId="ClockPulseDuration">50</spirit:configurableElementValue>
62
+ <spirit:configurableElementValue spirit:referenceId="ClockPulseOffset">50</spirit:configurableElementValue>
63
+ <spirit:configurableElementValue spirit:referenceId="ClockPulseValue">1</spirit:configurableElementValue>
64
+ </spirit:configurableElementValues>
65
+ </spirit:componentInstance>
66
+ <spirit:componentInstance>
67
+ <spirit:instanceName>i_dma</spirit:instanceName>
68
+ <spirit:componentRef spirit:library="Leon2TLM" spirit:name="dma" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
69
+ </spirit:componentInstance>
70
+ <spirit:componentInstance>
71
+ <spirit:instanceName>i_proc</spirit:instanceName>
72
+ <spirit:componentRef spirit:library="Leon2TLM" spirit:name="processor" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
73
+ </spirit:componentInstance>
74
+ <spirit:componentInstance>
75
+ <spirit:instanceName>i_rgu</spirit:instanceName>
76
+ <spirit:componentRef spirit:library="Leon2TLM" spirit:name="rgu" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
77
+ <spirit:configurableElementValues>
78
+ <spirit:configurableElementValue spirit:referenceId="ClockPeriod">100</spirit:configurableElementValue>
79
+ <spirit:configurableElementValue spirit:referenceId="ClockPulseDuration">50</spirit:configurableElementValue>
80
+ <spirit:configurableElementValue spirit:referenceId="ClockPulseOffset">50</spirit:configurableElementValue>
81
+ <spirit:configurableElementValue spirit:referenceId="ClockPulseValue">1</spirit:configurableElementValue>
82
+ </spirit:configurableElementValues>
83
+ </spirit:componentInstance>
84
+ </spirit:componentInstances>
85
+ <spirit:interconnections>
86
+ <spirit:interconnection>
87
+ <spirit:name>defaultid4489931</spirit:name>
88
+ <spirit:activeInterface spirit:busRef="AHB_Master" spirit:componentRef="i_proc"/>
89
+ <spirit:activeInterface spirit:busRef="AHB_MirroredMaster0" spirit:componentRef="i_ahb"/>
90
+ </spirit:interconnection>
91
+ <spirit:interconnection>
92
+ <spirit:name>defaultid4489948</spirit:name>
93
+ <spirit:activeInterface spirit:busRef="AHB_Master" spirit:componentRef="i_dma"/>
94
+ <spirit:activeInterface spirit:busRef="AHB_MirroredMaster1" spirit:componentRef="i_ahb"/>
95
+ </spirit:interconnection>
96
+ <spirit:interconnection>
97
+ <spirit:name>defaultid4489949</spirit:name>
98
+ <spirit:activeInterface spirit:busRef="INT_Master" spirit:componentRef="i_dma"/>
99
+ <spirit:activeInterface spirit:busRef="INT_Slave" spirit:componentRef="i_sub"/>
100
+ </spirit:interconnection>
101
+ <spirit:interconnection>
102
+ <spirit:name>defaultid4489964</spirit:name>
103
+ <spirit:activeInterface spirit:busRef="AHB_Slave" spirit:componentRef="i_mem"/>
104
+ <spirit:activeInterface spirit:busRef="AHB_MirroredSlave0" spirit:componentRef="i_ahb"/>
105
+ </spirit:interconnection>
106
+ <spirit:interconnection>
107
+ <spirit:name>defaultid4489981</spirit:name>
108
+ <spirit:activeInterface spirit:busRef="AHB_Slave" spirit:componentRef="i_sub"/>
109
+ <spirit:activeInterface spirit:busRef="AHB_MirroredSlave1" spirit:componentRef="i_ahb"/>
110
+ </spirit:interconnection>
111
+ <spirit:interconnection>
112
+ <spirit:name>defaultid4489998</spirit:name>
113
+ <spirit:activeInterface spirit:busRef="INT_Slave" spirit:componentRef="i_proc"/>
114
+ <spirit:activeInterface spirit:busRef="INT_Master" spirit:componentRef="i_sub"/>
115
+ </spirit:interconnection>
116
+ <spirit:interconnection>
117
+ <spirit:name>defaultid4490014</spirit:name>
118
+ <spirit:activeInterface spirit:busRef="APB_Slave" spirit:componentRef="i_cgu"/>
119
+ <spirit:activeInterface spirit:busRef="APB_MSlave_4" spirit:componentRef="i_sub"/>
120
+ </spirit:interconnection>
121
+ <spirit:interconnection>
122
+ <spirit:name>defaultid4490031</spirit:name>
123
+ <spirit:activeInterface spirit:busRef="APB_Slave" spirit:componentRef="i_rgu"/>
124
+ <spirit:activeInterface spirit:busRef="APB_MSlave_5" spirit:componentRef="i_sub"/>
125
+ </spirit:interconnection>
126
+ <spirit:interconnection>
127
+ <spirit:name>defaultid4490048</spirit:name>
128
+ <spirit:activeInterface spirit:busRef="APB_Slave" spirit:componentRef="i_proc"/>
129
+ <spirit:activeInterface spirit:busRef="APB_MSlave_6" spirit:componentRef="i_sub"/>
130
+ </spirit:interconnection>
131
+ <spirit:interconnection>
132
+ <spirit:name>defaultid4490065</spirit:name>
133
+ <spirit:activeInterface spirit:busRef="APB_Slave" spirit:componentRef="i_dma"/>
134
+ <spirit:activeInterface spirit:busRef="APB_MSlave_7" spirit:componentRef="i_sub"/>
135
+ </spirit:interconnection>
136
+ </spirit:interconnections>
137
+ <spirit:adHocConnections>
138
+ <spirit:adHocConnection>
139
+ <spirit:name>rstin_an</spirit:name>
140
+ <spirit:internalPortReference spirit:componentRef="i_rgu" spirit:portRef="rstin_an"/>
141
+ <spirit:externalPortReference spirit:portRef="rstin_an"/>
142
+ </spirit:adHocConnection>
143
+ <spirit:adHocConnection>
144
+ <spirit:name>clkdiv0</spirit:name>
145
+ <spirit:internalPortReference spirit:componentRef="i_proc" spirit:portRef="clk"/>
146
+ <spirit:internalPortReference spirit:componentRef="i_cgu" spirit:left="0" spirit:portRef="clkout" spirit:right="0"/>
147
+ <spirit:internalPortReference spirit:componentRef="i_rgu" spirit:portRef="ipclk"/>
148
+ <spirit:internalPortReference spirit:componentRef="i_sub" spirit:portRef="clk_timers"/>
149
+ </spirit:adHocConnection>
150
+ <spirit:adHocConnection>
151
+ <spirit:name>rstdiv0</spirit:name>
152
+ <spirit:internalPortReference spirit:componentRef="i_proc" spirit:portRef="rst_an"/>
153
+ <spirit:internalPortReference spirit:componentRef="i_rgu" spirit:left="0" spirit:portRef="rstout_an" spirit:right="0"/>
154
+ </spirit:adHocConnection>
155
+ </spirit:adHocConnections>
156
+ </spirit:design>
@@ -0,0 +1,149 @@
1
+ /*---------------------------------------------------------------------------
2
+ *
3
+ * Revision: $Revision: 1506 $
4
+ * Date: $Date: 2009-04-26 01:51:56 -0500 (Sun, 26 Apr 2009) $
5
+ *
6
+ * Copyright (c) 2007, 2008, 2009 The SPIRIT Consortium.
7
+ *
8
+ * This work forms part of a deliverable of The SPIRIT Consortium.
9
+ *
10
+ * Use of these materials are governed by the legal terms and conditions
11
+ * outlined in the disclaimer available from www.spiritconsortium.org.
12
+ *
13
+ * This source file is provided on an AS IS basis. The SPIRIT
14
+ * Consortium disclaims any warranty express or implied including
15
+ * any warranty of merchantability and fitness for use for a
16
+ * particular purpose.
17
+ *
18
+ * The user of the source file shall indemnify and hold The SPIRIT
19
+ * Consortium and its members harmless from any damages or liability.
20
+ * Users are requested to provide feedback to The SPIRIT Consortium
21
+ * using either mailto:feedback@lists.spiritconsortium.org or the forms at
22
+ * http://www.spiritconsortium.org/about/contact_us/
23
+ *
24
+ * This file may be copied, and distributed, with or without
25
+ * modifications; but this notice must be included on any copy.
26
+ *---------------------------------------------------------------------------*/
27
+
28
+ /*******************************************************************************
29
+ * SPIRIT 1.4 OSCI-TLM-PV example
30
+ *------------------------------------------------------------------------------
31
+ * Simple TLM Design netlist
32
+ *------------------------------------------------------------------------------
33
+ * Revision: 1.4
34
+ * Authors: Jean-Michel Fernandez
35
+ * Copyright The SPIRIT Consortium 2006
36
+ *******************************************************************************/
37
+
38
+ #ifndef _LEON2PLATFORM_H_
39
+ #define _LEON2PLATFORM_H_
40
+
41
+ /*------------------------------------------------------------------------------
42
+ * Includes
43
+ *----------------------------------------------------------------------------*/
44
+ #include <systemc.h>
45
+
46
+ #include "processor.h"
47
+ #include "ahbram.h"
48
+ #include "ahbbus.h"
49
+ #include "apbSubSystem.h"
50
+ #include "dma.h"
51
+ #include "cgu.h"
52
+ #include "rgu.h"
53
+
54
+ /*------------------------------------------------------------------------------
55
+ * top netlist
56
+ *----------------------------------------------------------------------------*/
57
+ class Leon2Platform : public sc_module
58
+ {
59
+
60
+ public:
61
+ sc_in<sc_logic> rstin_an;
62
+
63
+ private:
64
+ // component instances
65
+ processor* i_proc;
66
+ ahbram* i_mem;
67
+ ahbbus* i_ahb;
68
+ apbSubSystem* i_sub;
69
+ dma* i_dma;
70
+ cgu* i_cgu;
71
+ rgu* i_rgu;
72
+ // interrupt signals
73
+ sc_buffer<int> interrupt_proc_irl;
74
+ sc_buffer<int> interrupt_proc_irq;
75
+ sc_buffer<bool> interrupt_proc_ack;
76
+ sc_buffer<int> interrupt_dma;
77
+ // clock and reset signals
78
+ sc_buffer<bool> rstdiv[8];
79
+ sc_buffer<sc_logic> clkdiv[8];
80
+
81
+
82
+ public:
83
+ // Note: the timers and memory size and base addresses
84
+ // (start addr, end addr) are defined in in each
85
+ // component external map files.
86
+ Leon2Platform(sc_module_name module_name) : sc_module(module_name)
87
+ {
88
+ // instances
89
+ i_proc = new processor("uproc","master.tbl");
90
+ i_mem = new ahbram("uahbram", 16);
91
+ i_ahb = new ahbbus("uahbbus","leon2AhbBus.map");
92
+ i_sub = new apbSubSystem("uapbSubSystem");
93
+ i_dma = new dma("udma");
94
+ i_cgu = new cgu("ucgu");
95
+ i_rgu = new rgu("urgu");
96
+ // interconnections (transactional port binding)
97
+ i_proc->ahb_master_port ( i_ahb->target_port );
98
+ i_dma->ahb_master_port ( i_ahb->target_port );
99
+ i_ahb->initiator_port ( i_mem->ahb_slave_port );
100
+ i_ahb->initiator_port ( i_sub->ahb_slave_port );
101
+ i_sub->apb4_mslave_port ( i_cgu->apb_slave_port );
102
+ i_sub->apb5_mslave_port ( i_rgu->apb_slave_port );
103
+ i_sub->apb6_mslave_port ( i_proc->apb_slave_port );
104
+ i_sub->apb7_mslave_port ( i_dma->apb_slave_port );
105
+ // adhoc connections (wire port binding)
106
+ i_proc->irl_port (interrupt_proc_irl);
107
+ i_proc->irqvec_port (interrupt_proc_irq);
108
+ i_proc->intack_port (interrupt_proc_ack);
109
+ i_dma->int_master_port (interrupt_dma);
110
+ i_sub->int4_slave_port (interrupt_dma);
111
+ i_sub->irl_master_port (interrupt_proc_irl);
112
+ i_sub->irq_slave_port (interrupt_proc_irq);
113
+ i_sub->ack_slave_port (interrupt_proc_ack);
114
+ i_sub->clk_timers (clkdiv[0]);
115
+ i_proc->clk (clkdiv[0]);
116
+ i_cgu->clkout[0](clkdiv[0]);
117
+ i_cgu->clkout[1](clkdiv[1]);
118
+ i_cgu->clkout[2](clkdiv[2]);
119
+ i_cgu->clkout[3](clkdiv[3]);
120
+ i_cgu->clkout[4](clkdiv[4]);
121
+ i_cgu->clkout[5](clkdiv[5]);
122
+ i_cgu->clkout[6](clkdiv[6]);
123
+ i_cgu->clkout[7](clkdiv[7]);
124
+ i_rgu->ipclk(clkdiv[0]);
125
+ i_rgu->rstin_an(rstin_an);
126
+ i_proc->rst_an (rstdiv[0]);
127
+ i_rgu->rstout_an[0](rstdiv[0]);
128
+ i_rgu->rstout_an[1](rstdiv[1]);
129
+ i_rgu->rstout_an[2](rstdiv[2]);
130
+ i_rgu->rstout_an[3](rstdiv[3]);
131
+ i_rgu->rstout_an[4](rstdiv[4]);
132
+ i_rgu->rstout_an[5](rstdiv[5]);
133
+ i_rgu->rstout_an[6](rstdiv[6]);
134
+ i_rgu->rstout_an[7](rstdiv[7]);
135
+ }
136
+ ~Leon2Platform() {
137
+ delete i_proc;
138
+ delete i_mem;
139
+ delete i_ahb;
140
+ delete i_dma;
141
+ delete i_sub;
142
+ delete i_cgu;
143
+ delete i_rgu;
144
+ }
145
+ };
146
+
147
+ #endif /* _LEON2PLATFORM_H_ */
148
+
149
+
@@ -0,0 +1,406 @@
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>apbSubSystem</spirit:name>
32
+ <spirit:version>1.1</spirit:version>
33
+ <spirit:busInterfaces>
34
+ <spirit:busInterface>
35
+ <spirit:name>INT_Master</spirit:name>
36
+ <spirit:busType spirit:library="busdef.leon2" spirit:name="IntProc" spirit:vendor="spiritconsortium.org" spirit:version="v1.0"/>
37
+ <spirit:abstractionType spirit:library="busdef.leon2" spirit:name="IntProc_rtl" spirit:vendor="spiritconsortium.org" spirit:version="v1.0"/>
38
+ <spirit:master/>
39
+ <spirit:portMaps>
40
+ <spirit:portMap>
41
+ <spirit:logicalPort>
42
+ <spirit:name>IRL</spirit:name>
43
+ </spirit:logicalPort>
44
+ <spirit:physicalPort>
45
+ <spirit:name>irl_master_port</spirit:name>
46
+ </spirit:physicalPort>
47
+ </spirit:portMap>
48
+ <spirit:portMap>
49
+ <spirit:logicalPort>
50
+ <spirit:name>IRQVEC</spirit:name>
51
+ </spirit:logicalPort>
52
+ <spirit:physicalPort>
53
+ <spirit:name>irq_slave_port</spirit:name>
54
+ </spirit:physicalPort>
55
+ </spirit:portMap>
56
+ <spirit:portMap>
57
+ <spirit:logicalPort>
58
+ <spirit:name>INTack</spirit:name>
59
+ </spirit:logicalPort>
60
+ <spirit:physicalPort>
61
+ <spirit:name>ack_slave_port</spirit:name>
62
+ </spirit:physicalPort>
63
+ </spirit:portMap>
64
+ </spirit:portMaps>
65
+ </spirit:busInterface>
66
+ <spirit:busInterface>
67
+ <spirit:name>AHB_Slave</spirit:name>
68
+ <spirit:busType spirit:library="AMBA2" spirit:name="AHB" spirit:vendor="amba.com" spirit:version="r2p0_6"/>
69
+ <spirit:abstractionType spirit:library="abstractiondef.tlm" spirit:name="ahb_pv" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
70
+ <spirit:slave/>
71
+ <spirit:portMaps>
72
+ <spirit:portMap>
73
+ <spirit:logicalPort>
74
+ <spirit:name>PV_TRANS</spirit:name>
75
+ </spirit:logicalPort>
76
+ <spirit:physicalPort>
77
+ <spirit:name>ahb_slave_port</spirit:name>
78
+ </spirit:physicalPort>
79
+ </spirit:portMap>
80
+ </spirit:portMaps>
81
+ </spirit:busInterface>
82
+ <spirit:busInterface>
83
+ <spirit:name>APB_MSlave_4</spirit:name>
84
+ <spirit:busType spirit:library="AMBA2" spirit:name="APB" spirit:vendor="amba.com" spirit:version="r2p0_4"/>
85
+ <spirit:abstractionType spirit:library="abstractiondef.tlm" spirit:name="apb_pv" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
86
+ <spirit:mirroredSlave/>
87
+ <spirit:portMaps>
88
+ <spirit:portMap>
89
+ <spirit:logicalPort>
90
+ <spirit:name>PV_TRANS</spirit:name>
91
+ </spirit:logicalPort>
92
+ <spirit:physicalPort>
93
+ <spirit:name>apb4_mslave_port</spirit:name>
94
+ </spirit:physicalPort>
95
+ </spirit:portMap>
96
+ </spirit:portMaps>
97
+ </spirit:busInterface>
98
+ <spirit:busInterface>
99
+ <spirit:name>APB_MSlave_5</spirit:name>
100
+ <spirit:busType spirit:library="AMBA2" spirit:name="APB" spirit:vendor="amba.com" spirit:version="r2p0_4"/>
101
+ <spirit:abstractionType spirit:library="abstractiondef.tlm" spirit:name="apb_pv" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
102
+ <spirit:mirroredSlave/>
103
+ <spirit:portMaps>
104
+ <spirit:portMap>
105
+ <spirit:logicalPort>
106
+ <spirit:name>PV_TRANS</spirit:name>
107
+ </spirit:logicalPort>
108
+ <spirit:physicalPort>
109
+ <spirit:name>apb5_mslave_port</spirit:name>
110
+ </spirit:physicalPort>
111
+ </spirit:portMap>
112
+ </spirit:portMaps>
113
+ </spirit:busInterface>
114
+ <spirit:busInterface>
115
+ <spirit:name>APB_MSlave_6</spirit:name>
116
+ <spirit:busType spirit:library="AMBA2" spirit:name="APB" spirit:vendor="amba.com" spirit:version="r2p0_4"/>
117
+ <spirit:abstractionType spirit:library="abstractiondef.tlm" spirit:name="apb_pv" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
118
+ <spirit:mirroredSlave/>
119
+ <spirit:portMaps>
120
+ <spirit:portMap>
121
+ <spirit:logicalPort>
122
+ <spirit:name>PV_TRANS</spirit:name>
123
+ </spirit:logicalPort>
124
+ <spirit:physicalPort>
125
+ <spirit:name>apb6_mslave_port</spirit:name>
126
+ </spirit:physicalPort>
127
+ </spirit:portMap>
128
+ </spirit:portMaps>
129
+ </spirit:busInterface>
130
+ <spirit:busInterface>
131
+ <spirit:name>APB_MSlave_7</spirit:name>
132
+ <spirit:busType spirit:library="AMBA2" spirit:name="APB" spirit:vendor="amba.com" spirit:version="r2p0_4"/>
133
+ <spirit:abstractionType spirit:library="abstractiondef.tlm" spirit:name="apb_pv" spirit:vendor="spiritconsortium.org" spirit:version="1.4"/>
134
+ <spirit:mirroredSlave/>
135
+ <spirit:portMaps>
136
+ <spirit:portMap>
137
+ <spirit:logicalPort>
138
+ <spirit:name>PV_TRANS</spirit:name>
139
+ </spirit:logicalPort>
140
+ <spirit:physicalPort>
141
+ <spirit:name>apb7_mslave_port</spirit:name>
142
+ </spirit:physicalPort>
143
+ </spirit:portMap>
144
+ </spirit:portMaps>
145
+ </spirit:busInterface>
146
+ <spirit:busInterface>
147
+ <spirit:name>INT_Slave</spirit:name>
148
+ <spirit:busType spirit:library="busdef.interrupt" spirit:name="interrupt" spirit:vendor="spiritconsortium.org" spirit:version="1.0"/>
149
+ <spirit:abstractionType spirit:library="busdef.interrupt" spirit:name="interrupt_rtl" spirit:vendor="spiritconsortium.org" spirit:version="1.0"/>
150
+ <spirit:slave/>
151
+ <spirit:portMaps>
152
+ <spirit:portMap>
153
+ <spirit:logicalPort>
154
+ <spirit:name>IRQ</spirit:name>
155
+ </spirit:logicalPort>
156
+ <spirit:physicalPort>
157
+ <spirit:name>int4_slave_port</spirit:name>
158
+ </spirit:physicalPort>
159
+ </spirit:portMap>
160
+ </spirit:portMaps>
161
+ </spirit:busInterface>
162
+ </spirit:busInterfaces>
163
+ <spirit:model>
164
+ <spirit:views>
165
+ <spirit:view>
166
+ <spirit:name>spirit-design</spirit:name>
167
+ <spirit:envIdentifier>::Hierarchy</spirit:envIdentifier>
168
+ <spirit:hierarchyRef spirit:library="Leon2TLM" spirit:name="design_apbSubSystem" spirit:vendor="spiritconsortium.org" spirit:version="1.1"/>
169
+ </spirit:view>
170
+ <spirit:view>
171
+ <spirit:name>TLM_PV</spirit:name>
172
+ <spirit:envIdentifier>:*Simulation:</spirit:envIdentifier>
173
+ <spirit:language>systemc</spirit:language>
174
+ <spirit:modelName>apbSubSystem</spirit:modelName>
175
+ <spirit:fileSetRef>
176
+ <spirit:localName>sourceCode</spirit:localName>
177
+ </spirit:fileSetRef>
178
+ </spirit:view>
179
+ </spirit:views>
180
+ <spirit:ports>
181
+ <spirit:port>
182
+ <spirit:name>int4_slave_port</spirit:name>
183
+ <spirit:wire>
184
+ <spirit:direction>in</spirit:direction>
185
+ <spirit:wireTypeDefs>
186
+ <spirit:wireTypeDef>
187
+ <spirit:typeName>int</spirit:typeName>
188
+ <spirit:typeDefinition>systemc.h</spirit:typeDefinition>
189
+ <spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
190
+ </spirit:wireTypeDef>
191
+ </spirit:wireTypeDefs>
192
+ <spirit:driver>
193
+ <spirit:defaultValue>0</spirit:defaultValue>
194
+ </spirit:driver>
195
+ </spirit:wire>
196
+ </spirit:port>
197
+ <spirit:port>
198
+ <spirit:name>ahb_slave_port</spirit:name>
199
+ <spirit:transactional>
200
+ <spirit:transTypeDef>
201
+ <spirit:typeName>pv_target_port</spirit:typeName>
202
+ <spirit:typeDefinition>pv_target_port.h</spirit:typeDefinition>
203
+ </spirit:transTypeDef>
204
+ <spirit:service>
205
+ <spirit:initiative>provides</spirit:initiative>
206
+ <spirit:serviceTypeDefs>
207
+ <spirit:serviceTypeDef>
208
+ <spirit:typeName spirit:implicit="true">OSCI_TLM_PV</spirit:typeName>
209
+ <spirit:parameters>
210
+ <spirit:parameter>
211
+ <spirit:name>typedef1</spirit:name>
212
+ <spirit:value>ADDRESS_TYPE</spirit:value>
213
+ </spirit:parameter>
214
+ <spirit:parameter>
215
+ <spirit:name>typedef2</spirit:name>
216
+ <spirit:value>DATA_TYPE</spirit:value>
217
+ </spirit:parameter>
218
+ </spirit:parameters>
219
+ </spirit:serviceTypeDef>
220
+ </spirit:serviceTypeDefs>
221
+ </spirit:service>
222
+ </spirit:transactional>
223
+ </spirit:port>
224
+ <spirit:port>
225
+ <spirit:name>irl_master_port</spirit:name>
226
+ <spirit:wire>
227
+ <spirit:direction>out</spirit:direction>
228
+ <spirit:wireTypeDefs>
229
+ <spirit:wireTypeDef>
230
+ <spirit:typeName>int</spirit:typeName>
231
+ <spirit:typeDefinition>systemc.h</spirit:typeDefinition>
232
+ <spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
233
+ </spirit:wireTypeDef>
234
+ </spirit:wireTypeDefs>
235
+ </spirit:wire>
236
+ </spirit:port>
237
+ <spirit:port>
238
+ <spirit:name>irq_slave_port</spirit:name>
239
+ <spirit:wire>
240
+ <spirit:direction>in</spirit:direction>
241
+ <spirit:wireTypeDefs>
242
+ <spirit:wireTypeDef>
243
+ <spirit:typeName>int</spirit:typeName>
244
+ <spirit:typeDefinition>systemc.h</spirit:typeDefinition>
245
+ <spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
246
+ </spirit:wireTypeDef>
247
+ </spirit:wireTypeDefs>
248
+ <spirit:driver>
249
+ <spirit:defaultValue>0</spirit:defaultValue>
250
+ </spirit:driver>
251
+ </spirit:wire>
252
+ </spirit:port>
253
+ <spirit:port>
254
+ <spirit:name>ack_slave_port</spirit:name>
255
+ <spirit:wire>
256
+ <spirit:direction>in</spirit:direction>
257
+ <spirit:wireTypeDefs>
258
+ <spirit:wireTypeDef>
259
+ <spirit:typeName>bool</spirit:typeName>
260
+ <spirit:typeDefinition>systemc.h</spirit:typeDefinition>
261
+ <spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
262
+ </spirit:wireTypeDef>
263
+ </spirit:wireTypeDefs>
264
+ <spirit:driver>
265
+ <spirit:defaultValue>0</spirit:defaultValue>
266
+ </spirit:driver>
267
+ </spirit:wire>
268
+ </spirit:port>
269
+ <spirit:port>
270
+ <spirit:name>clk_timers</spirit:name>
271
+ <spirit:wire>
272
+ <spirit:direction>in</spirit:direction>
273
+ <spirit:wireTypeDefs>
274
+ <spirit:wireTypeDef>
275
+ <spirit:typeName>sc_logic</spirit:typeName>
276
+ <spirit:typeDefinition>systemc.h</spirit:typeDefinition>
277
+ <spirit:viewNameRef>TLM_PV</spirit:viewNameRef>
278
+ </spirit:wireTypeDef>
279
+ </spirit:wireTypeDefs>
280
+ <spirit:driver>
281
+ <spirit:defaultValue>0</spirit:defaultValue>
282
+ </spirit:driver>
283
+ </spirit:wire>
284
+ </spirit:port>
285
+ <spirit:port>
286
+ <spirit:name>apb4_mslave_port</spirit:name>
287
+ <spirit:transactional>
288
+ <spirit:transTypeDef>
289
+ <spirit:typeName>pv_initiator_port</spirit:typeName>
290
+ <spirit:typeDefinition>pv_initiator_port.h</spirit:typeDefinition>
291
+ </spirit:transTypeDef>
292
+ <spirit:service>
293
+ <spirit:initiative>requires</spirit:initiative>
294
+ <spirit:serviceTypeDefs>
295
+ <spirit:serviceTypeDef>
296
+ <spirit:typeName spirit:implicit="true">OSCI_TLM_PV</spirit:typeName>
297
+ <spirit:parameters>
298
+ <spirit:parameter>
299
+ <spirit:name>typedef1</spirit:name>
300
+ <spirit:value>ADDRESS_TYPE</spirit:value>
301
+ </spirit:parameter>
302
+ <spirit:parameter>
303
+ <spirit:name>typedef2</spirit:name>
304
+ <spirit:value>DATA_TYPE</spirit:value>
305
+ </spirit:parameter>
306
+ </spirit:parameters>
307
+ </spirit:serviceTypeDef>
308
+ </spirit:serviceTypeDefs>
309
+ </spirit:service>
310
+ </spirit:transactional>
311
+ </spirit:port>
312
+ <spirit:port>
313
+ <spirit:name>apb5_mslave_port</spirit:name>
314
+ <spirit:transactional>
315
+ <spirit:transTypeDef>
316
+ <spirit:typeName>pv_initiator_port</spirit:typeName>
317
+ <spirit:typeDefinition>pv_initiator_port.h</spirit:typeDefinition>
318
+ </spirit:transTypeDef>
319
+ <spirit:service>
320
+ <spirit:initiative>requires</spirit:initiative>
321
+ <spirit:serviceTypeDefs>
322
+ <spirit:serviceTypeDef>
323
+ <spirit:typeName spirit:implicit="true">OSCI_TLM_PV</spirit:typeName>
324
+ <spirit:parameters>
325
+ <spirit:parameter>
326
+ <spirit:name>typedef1</spirit:name>
327
+ <spirit:value>ADDRESS_TYPE</spirit:value>
328
+ </spirit:parameter>
329
+ <spirit:parameter>
330
+ <spirit:name>typedef2</spirit:name>
331
+ <spirit:value>DATA_TYPE</spirit:value>
332
+ </spirit:parameter>
333
+ </spirit:parameters>
334
+ </spirit:serviceTypeDef>
335
+ </spirit:serviceTypeDefs>
336
+ </spirit:service>
337
+ </spirit:transactional>
338
+ </spirit:port>
339
+ <spirit:port>
340
+ <spirit:name>apb6_mslave_port</spirit:name>
341
+ <spirit:transactional>
342
+ <spirit:transTypeDef>
343
+ <spirit:typeName>pv_initiator_port</spirit:typeName>
344
+ <spirit:typeDefinition>pv_initiator_port.h</spirit:typeDefinition>
345
+ </spirit:transTypeDef>
346
+ <spirit:service>
347
+ <spirit:initiative>requires</spirit:initiative>
348
+ <spirit:serviceTypeDefs>
349
+ <spirit:serviceTypeDef>
350
+ <spirit:typeName spirit:implicit="true">OSCI_TLM_PV</spirit:typeName>
351
+ <spirit:parameters>
352
+ <spirit:parameter>
353
+ <spirit:name>typedef1</spirit:name>
354
+ <spirit:value>ADDRESS_TYPE</spirit:value>
355
+ </spirit:parameter>
356
+ <spirit:parameter>
357
+ <spirit:name>typedef2</spirit:name>
358
+ <spirit:value>DATA_TYPE</spirit:value>
359
+ </spirit:parameter>
360
+ </spirit:parameters>
361
+ </spirit:serviceTypeDef>
362
+ </spirit:serviceTypeDefs>
363
+ </spirit:service>
364
+ </spirit:transactional>
365
+ </spirit:port>
366
+ <spirit:port>
367
+ <spirit:name>apb7_mslave_port</spirit:name>
368
+ <spirit:transactional>
369
+ <spirit:transTypeDef>
370
+ <spirit:typeName>pv_initiator_port</spirit:typeName>
371
+ <spirit:typeDefinition>pv_initiator_port.h</spirit:typeDefinition>
372
+ </spirit:transTypeDef>
373
+ <spirit:service>
374
+ <spirit:initiative>requires</spirit:initiative>
375
+ <spirit:serviceTypeDefs>
376
+ <spirit:serviceTypeDef>
377
+ <spirit:typeName spirit:implicit="true">OSCI_TLM_PV</spirit:typeName>
378
+ <spirit:parameters>
379
+ <spirit:parameter>
380
+ <spirit:name>typedef1</spirit:name>
381
+ <spirit:value>ADDRESS_TYPE</spirit:value>
382
+ </spirit:parameter>
383
+ <spirit:parameter>
384
+ <spirit:name>typedef2</spirit:name>
385
+ <spirit:value>DATA_TYPE</spirit:value>
386
+ </spirit:parameter>
387
+ </spirit:parameters>
388
+ </spirit:serviceTypeDef>
389
+ </spirit:serviceTypeDefs>
390
+ </spirit:service>
391
+ </spirit:transactional>
392
+ </spirit:port>
393
+ </spirit:ports>
394
+ </spirit:model>
395
+ <spirit:fileSets>
396
+ <spirit:fileSet>
397
+ <spirit:name>sourceCode</spirit:name>
398
+ <spirit:file>
399
+ <spirit:name>tlmsrc/apbSubSystem.h</spirit:name>
400
+ <spirit:fileType>systemCSource</spirit:fileType>
401
+ <spirit:isIncludeFile spirit:externalDeclarations="true">true</spirit:isIncludeFile>
402
+ <spirit:logicalName>apbSubSystem</spirit:logicalName>
403
+ </spirit:file>
404
+ </spirit:fileSet>
405
+ </spirit:fileSets>
406
+ </spirit:component>