| <?xml version="1.0" encoding="UTF-8"?> |
| <am:Amalthea xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
| <swModel> |
| <tasks name="t1" multipleTaskActivationLimit="0"> |
| <activityGraph> |
| <items xsi:type="am:RunnableCall" runnable="r1?type=Runnable"/> |
| </activityGraph> |
| </tasks> |
| <tasks name="t2" multipleTaskActivationLimit="0"> |
| <activityGraph> |
| <items xsi:type="am:RunnableCall" runnable="r2?type=Runnable"/> |
| <items xsi:type="am:RunnableCall" runnable="r3?type=Runnable"/> |
| </activityGraph> |
| </tasks> |
| <runnables name="r1" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueConstant" value="200"/> |
| </items> |
| <items xsi:type="am:ExecutionNeed"> |
| <needs key="Instructions"> |
| <value xsi:type="am:DiscreteValueConstant" value="500"/> |
| </needs> |
| </items> |
| <items xsi:type="am:ExecutionNeed"> |
| <needs key="Instructions"> |
| <value xsi:type="am:DiscreteValueGaussDistribution" lowerBound="250" upperBound="750" mean="500.0" sd="2.0"/> |
| </needs> |
| </items> |
| <items xsi:type="am:ExecutionNeed"> |
| <needs key="MAC_Operations"> |
| <value xsi:type="am:DiscreteValueConstant" value="2000"/> |
| </needs> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables name="r2" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:ExecutionNeed"> |
| <needs key="MAC_Operations"> |
| <value xsi:type="am:DiscreteValueConstant" value="2000"/> |
| </needs> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables name="r3" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:ExecutionNeed"> |
| <needs key="MAC_Operations"> |
| <value xsi:type="am:DiscreteValueGaussDistribution" lowerBound="250" upperBound="750" mean="500.0" sd="2.0"/> |
| </needs> |
| </items> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueGaussDistribution" lowerBound="100" upperBound="500" mean="300.0" sd="2.0"/> |
| </items> |
| <items xsi:type="am:RunnableCall" runnable="r2?type=Runnable"/> |
| </activityGraph> |
| </runnables> |
| </swModel> |
| <hwModel> |
| <definitions xsi:type="am:ProcessingUnitDefinition" name="Pu1_def" features="Instructions/IPC_1.2?type=HwFeature MAC_Operations/MacUnit_factor?type=HwFeature"/> |
| <definitions xsi:type="am:ProcessingUnitDefinition" name="Pu2_def" features="Instructions/IPC_0.8?type=HwFeature MAC_Operations/MacUnit_factor?type=HwFeature"/> |
| <featureCategories name="Instructions"> |
| <features name="IPC_1.2" value="1.2"/> |
| <features name="IPC_0.8" value="0.8"/> |
| </featureCategories> |
| <featureCategories name="MAC_Operations"> |
| <features name="MacUnit_factor" value="5.0"/> |
| </featureCategories> |
| <structures name="SoC" structureType="SoC"> |
| <modules xsi:type="am:ProcessingUnit" name="core1" frequencyDomain="freq_Domain1?type=FrequencyDomain" definition="Pu1_def?type=ProcessingUnitDefinition"/> |
| <modules xsi:type="am:ProcessingUnit" name="core2" frequencyDomain="freq_Domain1?type=FrequencyDomain" definition="Pu2_def?type=ProcessingUnitDefinition"/> |
| </structures> |
| <domains xsi:type="am:FrequencyDomain" name="freq_Domain1" clockGating="false"> |
| <defaultValue value="500.0" unit="MHz"/> |
| </domains> |
| </hwModel> |
| <osModel> |
| <operatingSystems name="Os1"> |
| <taskSchedulers name="Scheduler1"/> |
| <taskSchedulers name="Scheduler2"/> |
| </operatingSystems> |
| </osModel> |
| <mappingModel> |
| <schedulerAllocation scheduler="Scheduler2?type=TaskScheduler" responsibility="core2?type=ProcessingUnit" executingPU="core2?type=ProcessingUnit"/> |
| <schedulerAllocation scheduler="Scheduler1?type=TaskScheduler" responsibility="core1?type=ProcessingUnit" executingPU="core1?type=ProcessingUnit"/> |
| <runnableAllocation scheduler="Scheduler1?type=TaskScheduler" entity="r1?type=Runnable"/> |
| <runnableAllocation scheduler="Scheduler2?type=TaskScheduler" entity="r2?type=Runnable"/> |
| <runnableAllocation scheduler="Scheduler2?type=TaskScheduler" entity="r3?type=Runnable"/> |
| <taskAllocation task="t1?type=Task" scheduler="Scheduler1?type=TaskScheduler" affinity="core1?type=ProcessingUnit"/> |
| <taskAllocation task="t2?type=Task" scheduler="Scheduler2?type=TaskScheduler" affinity="core2?type=ProcessingUnit"/> |
| </mappingModel> |
| </am:Amalthea> |