Table Of ContentIntegrating Instruction Set Simulator into a System Level Design
Environment
AThesisPresented
by
AkashAgarwal
to
TheDepartmentofElectricalandComputerEngineering
inpartialfulfillmentoftherequirements
forthedegreeof
MasterofScience
in
ElectricalandComputerEngineering
NortheasternUniversity
Boston,Massachusetts
February2013
NORTHEASTERN UNIVERSITY
GraduateSchoolofEngineering
ThesisTitle: IntegratingInstructionSetSimulatorintoaSystemLevelDesignEnvironment.
Author: AkashAgarwal.
Department: ElectricalandComputerEngineering.
ApprovedforThesisRequirementsoftheMasterofScienceDegree
ThesisAdvisor: Dr. GunarSchirner Date
ThesisReader: Dr. DavidKaeli Date
ThesisReader: Dr. NinfangMi Date
DepartmentChair: Dr. AliAbur Date
Dean: Dr. SaraWadia-Fascetti Date
Tomyfamily.
ii
Contents
ListofFigures v
ListofTables vii
ListofAcronyms viii
Acknowledgments ix
AbstractoftheThesis x
1 Introduction 1
1.1 EmbeddedSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 GrowthandChallenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 SystemLevelDesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 VirtualPlatform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 ProblemDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 Background 10
2.1 SystemonChipEnvironment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 DiscreteEventSimulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 InstructionSetSimulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 BlackfinFamilyProcessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 ISSIntegrationGuidelines 18
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 ISSIntegration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1 ExecutionModelIntegration . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.2 TimeSynchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.3 BusSystemIntegration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.4 InterruptPropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.5 SupportDebuggingEnvironmentonISS . . . . . . . . . . . . . . . . . . 37
3.2.6 SupportProfilingExecutiononISS . . . . . . . . . . . . . . . . . . . . . 37
iii
4 IntegratingBlackfinGDBISS 39
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2 GDBISSIntegration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.1 ExecutionModelIntegration . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2.2 TimeSynchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2.3 BusSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2.4 InterruptPropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2.5 SupportDebuggingEnvironmentonGDBISS . . . . . . . . . . . . . . . 47
5 ExperimentalResults 49
5.1 AccuracyofBF527GDBISS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.1.2 ExperimentalSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.3 AnalysisandResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2 EffectofQuantum-basedTimeSynchronizationonInterruptLatency . . . . . . . . 53
5.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.2 ExperimentalSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.3 ImpactofQuantumSynchronizationontoQuantumLatencyandResponse
Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2.4 Impact of Variable Quantum Length on Total Simulation Time and Quan-
tumLatency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3 DesignSpaceExploration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.3.1 AlgorithmUnderTest . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.3.2 TestResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6 Conclusion 63
Bibliography 65
A TestCases 69
A.1 Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
A.1.1 ExecutionandTimeSynchronizationTestCase . . . . . . . . . . . . . . . 70
A.1.2 BusReadandWriteTestCase . . . . . . . . . . . . . . . . . . . . . . . . 70
A.2 ArchitecturalMapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
A.2.1 ExecutionandTimesynchronizationTestCase . . . . . . . . . . . . . . . 71
A.2.2 BusReadandWriteTestCase . . . . . . . . . . . . . . . . . . . . . . . . 72
iv
List of Figures
1.1 EmbeddedSystemOverview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 SystemOnChipOverview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Productivitygap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 ITRSReport2011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 AbstractionLevels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 SoCDesignFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.7 SimplifiedVirtualPlatform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 SystemOnChipEnvironment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 ISSSoftwareFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 CoreISS:ISSwithonlyCoresupport . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 SystemISS:ISSwithcore&andotherperipheralsupport. . . . . . . . . . . . . . 15
2.5 ADSP-BF527blockdiagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1 SoCBlockDiagramshowingonlytheEssentialComponents . . . . . . . . . . . . 20
3.2 SimplifiedVPblockDiagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 ISSSoftwareMainloop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4 ISSSoftwareMainLoopModified . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5 Sample Code Execution Sequence on SoC showing 3 different types of possible
CodeSequenceonISS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.6 UpdateofVPtimeduetoExecutionofComponentModelsinQuantum . . . . . . 25
3.7 TimeSynchronizationatQuantumExpiration . . . . . . . . . . . . . . . . . . . . 25
3.8 ExectionSequenceoftheSpecificationtillBusAccess . . . . . . . . . . . . . . . 26
3.9 TimeSynchronizationatBusAccess . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.10 ExecutionSequenceatInterruptPropagation . . . . . . . . . . . . . . . . . . . . . 28
3.11 TimeSynchronizationatInterrupt . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.12 CoreISSVP,depictingtheBusChannelIntegration . . . . . . . . . . . . . . . . . 32
3.13 SystemISSdepictingtheBusChannelIntegration . . . . . . . . . . . . . . . . . . 32
3.14 CoreISSVPdepictingtheInterruptIntegration . . . . . . . . . . . . . . . . . . . 35
3.15 SystemISSVPdepictingtheInterruptIntegration . . . . . . . . . . . . . . . . . . 36
4.1 SimplifiedBlackfinGDBISSblockdiagrm . . . . . . . . . . . . . . . . . . . . . 40
4.2 Blackfin52xMemoryMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3 BFINbasedVPdepictingtheBusSystemIntegration . . . . . . . . . . . . . . . . 43
v
4.4 BFINbasedVPdepictingtheInterruptConnections . . . . . . . . . . . . . . . . . 44
4.5 Interrupt Prorogation Sequence Inside the VP(When quantum lss then width of in-
terrupt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.6 HighlevelCodeSequenceExecutiononHardwareandISS . . . . . . . . . . . . . 46
4.7 ExecutionSequenceofHardwareandISS . . . . . . . . . . . . . . . . . . . . . . 46
4.8 HighlevelCodeSequenceExecutiononHardware,LatchandISS . . . . . . . . . 47
4.9 ExecutionSequenceofHardware,ISSandLatchshowingInterruptsbeingcaptured 47
4.10 InterruptIntegrationwithAdditionalLatch . . . . . . . . . . . . . . . . . . . . . 48
5.1 GraphforPercentageInaccuracyofISS . . . . . . . . . . . . . . . . . . . . . . . 51
5.2 ExperminentalSetuptomeausreInterruptLatency . . . . . . . . . . . . . . . . . 54
5.3 SimulationLatencyforISS@Quantum10000withdifferentworkload . . . . . . 56
5.4 ResponseTimeforISS@Quantum10000withdifferentworkload . . . . . . . . 56
5.5 Quantum latency and Simulation time for different quantum length for LOAD ap-
plication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.6 Quantum latency and Simulation time for different quantum length for a BUSAC-
CESSapplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.7 TopLevelofMP3SpeCSpecificationModel . . . . . . . . . . . . . . . . . . . . 61
A.1 SpecificationofExecutionandTimeSynchronizationTestCase . . . . . . . . . . 70
A.2 SpecificationofBusRead/WriteTestCase . . . . . . . . . . . . . . . . . . . . . . 70
A.3 ProcessorbasedSynchronizationTestCaseCase . . . . . . . . . . . . . . . . . . 71
A.4 HWBasedSynchronizationwithPollingBasedSynchronization . . . . . . . . . . 71
A.5 HWbasedSynchronizationwithInterruptsbasedSynchronization . . . . . . . . . 72
A.6 BusWriteTest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
A.7 BusReadwithPollingTest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
A.8 BusReadwithInterruptTest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
vi
List of Tables
5.1 CoreClockCyclesonBF-527HWandISSforBenchmark . . . . . . . . . . . . . 51
5.2 MemoryStallnumbersforbenchmark . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3 QuantumLatencyandSimulationTimeforLOADapplication . . . . . . . . . . . 58
5.4 Table showing Quantum Latency variation over quantum length for BUSACCESS
application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.5 MP3decoderexpolorationonARMandBFINbasedVP . . . . . . . . . . . . . . 62
vii
List of Acronyms
ESL ElectronicSystemLevelAElectronicSystemLeveldesignisanemergingelectronicdesign
andverificationapproachwhichfocussesonhigherabstractionlevelfordesign
GPIO GeneralPurposeInputandOutputAGeneralPurposeInputandOutputisagenericpinina
chip,whosebehaviourandfunctionalityiscontrolledbytheuseratruntime
HDS HardwareDependentSoftwareHardwareDependentSoftwareisthepartoftheoperating
system,comprisingmainlyofdevicedriversandbootcode. Itservesthefunctionalityof
hardwareinitialization
IC IntegratedCircuitIntegratedCircuitisasetofelectroniccircuitononesmallsemiconductor
material
ISS InstructionSetSimulatorAnInstructionSetSimulatorisansoftwarethatsimulatesthetarget
processor.
PIC ProgrammableInterruptControllerProgrammableInterruptControllerisadevicethatisused
tocombineseveralsourcesofinterruptontooneormoreCPUlines.
RTL RegisterTransferLevelRegistertransferLevelisadesignabstractionwhichmodels
synchronousdigitalcircuitintermofflowofdigitalsignalbetweenhardwareregisters
SoC SystemonChipAIntegratedCircuitcomponentwhichintegratesdifferentcomponentsina
electronicdeviceinasinglechip
SLDL SystemLevelDesignLanguagesSystemLevelDesignLanguagesisusedtoaidthedesign
anddevelopspecificationofdigitalembeddedsystem
SCE SystemonChipEnvironmentSystemonChipEnvironmentisaElectronicSystemLevel
DesignTooldevelopedatUniversityofCalifornia,Irvine.
TLM TransactionLevelModelling. TransactionLevelmodellingisanhighlevelapproachof
modellingcommunicationamongmodulesassetoftransactions
VP VirtualPlatformVirtualPlatformisasoftwareimplementedabstractionofthehardware
viii
Acknowledgments
Iwishtothankmyfamily,friendsandaspecialthankstoMikeFrishengerforhisguidance
anddevelopingBlackfinISSunderGNU,RohanKangarkalarforhisworkonRTOSintegration,and
ProfGunarSchirnerforhiscontinuanceguidanceandsupport.
ix
Description:5.2 Effect of Quantum-based Time Synchronization on Interrupt Latency
53 . 5.1 Core Clock Cycles on BF-527 HW and ISS for Benchmark This has
created a huge productivity gap between the available technology The above
code expert shows the API's called from the wrapper for software integratio