SlideShare a Scribd company logo
External Use
TM
Early Software Development Through
Palladium Emulation for a Complex SoC
Raghav U. Nayak | Senior Validation Engineer
CDNLive 2014
TM
External Use 1
Session Objectives
• After completing this session you will be able to:
− Know about Freescale Emulation System Architecture
− Methodology followed to integrate multicore SoC from scratch
− Procedures used to simplify debug on both hardware and
software aspects
− Understand how the concept of “many number of mini test cases” has
helped the development of Freescale QorIQ LS series project using
Emulator Platform
TM
External Use 2
Agenda
• Design, size, complexity and life stage
• Challenges with the multicore SoC integration from
scratch
• Emulation and its benefits
• How to parallelize hardware and software design
activities
− Compile phase
− Run phase
− Debug phase
• Session summary
• Thinking ahead
• Demonstration
• Acknowledgements and references
TM
External Use 3
Design, Size, Complexity, Life Stage
• Digital networking device based on Freescale Layerscape architecture
• Key Architecture Features
− Dual ARM® Cortex A7
− DDR3L/4 interface
− 3-port GigE with IEEE® 1588
− 2x PCI Express® Gen2
− 4-Lane multi-protocol SerDes  PCIe-2, SATA3, SGMII
• Key Integration Features
− Low-cost NAND/NOR flash interfaces
− QSPI support
− USB2 / 3 support
− Audio networking and motor control
− ARM TrustZone Architecture
TM
External Use 4
Design, Size, Complexity, Life Stage
TM
External Use 5
Multicore SoC - Integration from Scratch
• It’s a challenge to integrate hardware AND validate software early
in a design cycle
• Design may not be mature and might not have reuse options
because:
− More third-party IP's
− Upgraded internal IP’s
− New SoC integration
− Change in Instruction Set Architecture (ISA)
• Goals are same like any other SoC
TM
External Use 6
What is Emulation?
Emulator used was Cadence Palladium XP
and PD3 Verification System
• The Palladium Verification System
provides a converged environment for
Simulation Acceleration (SA) and In-Circuit
Emulation (ICE)
• Increases verification throughput, and
verifies ASICs, SoC systems and
hardware/software interactions with the real-
time environment and/or testbenches
• Sometimes can reproduce bugs in design
which cannot easily be recreated or
debugged in the SoC verification testbench
TM
External Use 7
Why Do We Need Emulation?
• Helps verification engineer  resolve hardware and software integration
issues
• Helps software engineer  perform critical software activity
• Bridges the gap between hardware and software by providing
reasonable speed
TM
External Use 8
Compile Phase
TM
External Use 9
Parallelizing Hardware and Software Design Activities
• Stage 1
− Performed Test Port Read/Write as ARM® core was not brought up
− Generating data and address preloads for Test Port Buffer
Test Port Buffer Interconnect
Slave (Memory,
Peripherals etc)
TM
External Use 10
Parallelizing Hardware and Software Design Activities
Stage 2
• Assembly based tests
• Checked basic functionality of
− Processor Subsystem
− Memory Interface
− Peripherals
• Built with “arm-none-linux-gnueabi-as”
Assembler
TM
External Use 11
Parallelizing Hardware and Software Design Activities
• Stage 3
− Bare Metal Infrastructure clubbing both C and Assembly
ARM® Vector Table Initialization
ARM Boot Sequence
(Modes, Stack, MMU, Cache, FPU etc)
DDR Controller Initialization
Testcase Section
Assembly
Assembly
Assembly
Assembly,
C, C++
TM
External Use 12
Parallelizing Hardware and Software Design Activities
• Script ware to compile the code, generating preloads for memory
and to run
− Stage 4a ( Unix Prompt )
− Makefile Infrastructure to compile the code
TM
External Use 13
Parallelizing Hardware and Software Design Activities
• Stage 4b ( Unix Prompt )
− Generating preloads for Memories like DDR, NOR, NAND, SBROM
− Example Snippet for creating preloads for DDR
TM
External Use 14
Parallelizing Hardware and Software Design Activities
• Stage 4c ( Palladium Prompt )
− Run Script Generation
• The main tcl procedure (call it rtc) for run-test-case would have
multiple arguments such as the following :-
-help  Prints this usage message
-testcase_dir <path to bin files>  Testcase Directory
-tc_timeout [time in seconds]  Default 60s
-trace_enable [true/false]  Default false
-trace_start_at_state [name of state]  (typically tcExec)
-pre_run_tcl <pre_run.xel>  Sourced if file exists
-post_run_tcl <post_run.xel>  Sourced if file exists
-sdl_file <file.tdf>  Default $scripts_dir/tc_sdl.tdf
-trace_file <trace_file>  Default trace; uses sst2 database
-results_file <results.txt>  Default REGRESS_RESULT.txt
-log_file <log_file.txt>  Default stdout
-reset_memories [true/false]
TM
External Use 15
Parallelizing Hardware and Software Design Activities
• Stage 5
− We have used Design Sync Command Interface to create Baseline
− This in-turn helped to bring all the team members under the scope of this
baseline
• Stage 6
− Regression Environment for every Design Release
TM
External Use 16
Run Phase
TM
External Use 17
Parallelizing Hardware and Software Design Activities
• Downloading and running the model on Emulator
− Booking time and domains on PDBS
− Logging into the Linux® host
− Starting an interactive, or submitting a batch job on the Palladium server
− Sourcing a run script to download the model, load memories and
initialize the target platform
− Interacting with the active runtime environment using commands at the
QEL prompt (Interactive Mode)
TM
External Use 18
Parallelizing Hardware and Software Design Activities
• Validating SoC Internal Functionality  ARM®, DMA, Multi-Master
Freescale Emulation System Infrastructure
TM
External Use 19
Parallelizing Hardware and Software Design Activities
• Validating Key External Interfaces  DS5/CCS Tool, UART
Freescale In-Circuit Set Up and Connectivity Model
TM
External Use 20
Debug Phase
TM
External Use 21
Parallelizing Hardware and Software Design Activities
• Hardware Debug  through better signal visibility
TM
External Use 22
Parallelizing Hardware and Software Design Activities
• Software Debug  through software development tool
TM
External Use 23
Parallelizing Hardware and Software Design Activities
• More complex software activities have started taking place
− Enabled more complex software activities to start Parallely
− “Mini and Many” tests have been tried upon to accomplish the goal of
Verification and Software Development
− Initiation of early software development, has helped build confidence and
reliability on the device and we are now in a position to get BootROM,
Uboot and Linux up on pre-silicon emulation environment
TM
External Use 24
Session Summary
• Challenges involved in the hardware integration and software validation
• Methodology to be followed for setting up Emulation Environment to help
start the software activities early
• Ease of Debug - as we have options to go with Verification Test Method
or Software Test Method
• Learning's derived out of the feedbacks given by Tools Team, BootROM
Team, Software Team
• Parallelizing hardware and software design activities by efficient use of
an emulator, so we can have boot code, board support packages, and
operating system applications available by the time the device tapes out
TM
External Use 25
Thinking Ahead
• Reuse of developed drivers for post-silicon validation
• FPGA-based emulation
• Setting up environment to validate high-speed interfaces like PCI,
USB, etc
• Embedded processor in test bench
• Virtual UART and JTAG
TM
External Use 26
Acknowledgements
• Acknowledgements
− Cadence Palladium Support Team
− Entire QorIQ LS1 family design team for their support
− QorIQ LS1 family BootROM, Uboot, Linux teams for sharing the
information
TM
External Use 27
Questions and Answers
TM
© 2014 Freescale Semiconductor, Inc. | External Use
www.Freescale.com

More Related Content

What's hot

PCIe Gen 3.0 Presentation @ 4th FPGA Camp
PCIe Gen 3.0 Presentation @ 4th FPGA CampPCIe Gen 3.0 Presentation @ 4th FPGA Camp
PCIe Gen 3.0 Presentation @ 4th FPGA Camp
FPGA Central
 
Ipmi Server Management
Ipmi Server ManagementIpmi Server Management
Ipmi Server Management
sjtu1234567
 
Session 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfacesSession 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfaces
Nirav Desai
 
Bidirectional Bus Modelling
Bidirectional Bus ModellingBidirectional Bus Modelling
Bidirectional Bus Modelling
Arrow Devices
 
IP PCIe
IP PCIeIP PCIe
IP PCIe
SILKAN
 
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Michelle Holley
 
Fpga Verification Methodology and case studies - Semisrael Expo2014
Fpga Verification Methodology and case studies - Semisrael Expo2014Fpga Verification Methodology and case studies - Semisrael Expo2014
Fpga Verification Methodology and case studies - Semisrael Expo2014
Avi Caspi
 
Uvm dac2011 final_color
Uvm dac2011 final_colorUvm dac2011 final_color
Uvm dac2011 final_color
Jamal EL HAITOUT
 
Cgroups in android
Cgroups in androidCgroups in android
Cgroups in android
ramalinga prasad tadepalli
 
CPU Verification
CPU VerificationCPU Verification
CPU Verification
Ramdas Mozhikunnath
 
Pc ie tl_layer (3)
Pc ie tl_layer (3)Pc ie tl_layer (3)
Pc ie tl_layer (3)
Rakeshkumar Sachdev
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-V
RISC-V International
 
Pcie basic
Pcie basicPcie basic
Pcie basic
Saifuddin Kaijar
 
SOC design
SOC design SOC design
FPGA
FPGAFPGA
RxNetty vs Tomcat Performance Results
RxNetty vs Tomcat Performance ResultsRxNetty vs Tomcat Performance Results
RxNetty vs Tomcat Performance Results
Brendan Gregg
 
LLVM
LLVMLLVM
JTAG Interface (Intro)
JTAG Interface (Intro)JTAG Interface (Intro)
JTAG Interface (Intro)
Nitesh Bhatia
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
Linaro
 
Pci express technology 3.0
Pci express technology 3.0Pci express technology 3.0
Pci express technology 3.0
Biddika Manjusree
 

What's hot (20)

PCIe Gen 3.0 Presentation @ 4th FPGA Camp
PCIe Gen 3.0 Presentation @ 4th FPGA CampPCIe Gen 3.0 Presentation @ 4th FPGA Camp
PCIe Gen 3.0 Presentation @ 4th FPGA Camp
 
Ipmi Server Management
Ipmi Server ManagementIpmi Server Management
Ipmi Server Management
 
Session 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfacesSession 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfaces
 
Bidirectional Bus Modelling
Bidirectional Bus ModellingBidirectional Bus Modelling
Bidirectional Bus Modelling
 
IP PCIe
IP PCIeIP PCIe
IP PCIe
 
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
 
Fpga Verification Methodology and case studies - Semisrael Expo2014
Fpga Verification Methodology and case studies - Semisrael Expo2014Fpga Verification Methodology and case studies - Semisrael Expo2014
Fpga Verification Methodology and case studies - Semisrael Expo2014
 
Uvm dac2011 final_color
Uvm dac2011 final_colorUvm dac2011 final_color
Uvm dac2011 final_color
 
Cgroups in android
Cgroups in androidCgroups in android
Cgroups in android
 
CPU Verification
CPU VerificationCPU Verification
CPU Verification
 
Pc ie tl_layer (3)
Pc ie tl_layer (3)Pc ie tl_layer (3)
Pc ie tl_layer (3)
 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-V
 
Pcie basic
Pcie basicPcie basic
Pcie basic
 
SOC design
SOC design SOC design
SOC design
 
FPGA
FPGAFPGA
FPGA
 
RxNetty vs Tomcat Performance Results
RxNetty vs Tomcat Performance ResultsRxNetty vs Tomcat Performance Results
RxNetty vs Tomcat Performance Results
 
LLVM
LLVMLLVM
LLVM
 
JTAG Interface (Intro)
JTAG Interface (Intro)JTAG Interface (Intro)
JTAG Interface (Intro)
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
 
Pci express technology 3.0
Pci express technology 3.0Pci express technology 3.0
Pci express technology 3.0
 

Similar to Early Software Development through Palladium Emulation

DockerCon Europe 2018 Monitoring & Logging Workshop
DockerCon Europe 2018 Monitoring & Logging WorkshopDockerCon Europe 2018 Monitoring & Logging Workshop
DockerCon Europe 2018 Monitoring & Logging Workshop
Brian Christner
 
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
gree_tech
 
Honorable Squires
Honorable SquiresHonorable Squires
Honorable Squires
ESUG
 
2018 FRecure CISSP Mentor Program- Session 4
2018 FRecure CISSP Mentor Program- Session 42018 FRecure CISSP Mentor Program- Session 4
2018 FRecure CISSP Mentor Program- Session 4
FRSecure
 
Week1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC BeginWeek1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC Begin
敬倫 林
 
ELC-E 2010: The Right Approach to Minimal Boot Times
ELC-E 2010: The Right Approach to Minimal Boot TimesELC-E 2010: The Right Approach to Minimal Boot Times
ELC-E 2010: The Right Approach to Minimal Boot Times
andrewmurraympc
 
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
Adam Dunkels
 
Coverage Solutions on Emulators
Coverage Solutions on EmulatorsCoverage Solutions on Emulators
Coverage Solutions on Emulators
DVClub
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practices
Code Mastery
 
SDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLSSDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLS
NECST Lab @ Politecnico di Milano
 
Embedded System-design technology
Embedded System-design technologyEmbedded System-design technology
Embedded System-design technology
Aiswaryadevi Jaganmohan
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
Srikanth Pilli
 
Introduction to embedded system
Introduction to embedded systemIntroduction to embedded system
Introduction to embedded system
Revathi Subramaniam
 
CMake: Improving Software Quality and Process
CMake: Improving Software Quality and ProcessCMake: Improving Software Quality and Process
CMake: Improving Software Quality and Process
Marcus Hanwell
 
Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3
Juan Herrera Utande
 
Android Boot Time Optimization
Android Boot Time OptimizationAndroid Boot Time Optimization
Android Boot Time Optimization
Kan-Ru Chen
 
Maximizing Oracle RAC Uptime
Maximizing Oracle RAC UptimeMaximizing Oracle RAC Uptime
Maximizing Oracle RAC Uptime
Markus Michalewicz
 
Industrial Training|Summer Training|Embedded Systems|Final Year Project|B tec...
Industrial Training|Summer Training|Embedded Systems|Final Year Project|B tec...Industrial Training|Summer Training|Embedded Systems|Final Year Project|B tec...
Industrial Training|Summer Training|Embedded Systems|Final Year Project|B tec...
Technogroovy
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processors
Siva Kumar
 
Performance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12cPerformance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12c
Ajith Narayanan
 

Similar to Early Software Development through Palladium Emulation (20)

DockerCon Europe 2018 Monitoring & Logging Workshop
DockerCon Europe 2018 Monitoring & Logging WorkshopDockerCon Europe 2018 Monitoring & Logging Workshop
DockerCon Europe 2018 Monitoring & Logging Workshop
 
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
 
Honorable Squires
Honorable SquiresHonorable Squires
Honorable Squires
 
2018 FRecure CISSP Mentor Program- Session 4
2018 FRecure CISSP Mentor Program- Session 42018 FRecure CISSP Mentor Program- Session 4
2018 FRecure CISSP Mentor Program- Session 4
 
Week1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC BeginWeek1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC Begin
 
ELC-E 2010: The Right Approach to Minimal Boot Times
ELC-E 2010: The Right Approach to Minimal Boot TimesELC-E 2010: The Right Approach to Minimal Boot Times
ELC-E 2010: The Right Approach to Minimal Boot Times
 
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
 
Coverage Solutions on Emulators
Coverage Solutions on EmulatorsCoverage Solutions on Emulators
Coverage Solutions on Emulators
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practices
 
SDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLSSDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLS
 
Embedded System-design technology
Embedded System-design technologyEmbedded System-design technology
Embedded System-design technology
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Introduction to embedded system
Introduction to embedded systemIntroduction to embedded system
Introduction to embedded system
 
CMake: Improving Software Quality and Process
CMake: Improving Software Quality and ProcessCMake: Improving Software Quality and Process
CMake: Improving Software Quality and Process
 
Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3
 
Android Boot Time Optimization
Android Boot Time OptimizationAndroid Boot Time Optimization
Android Boot Time Optimization
 
Maximizing Oracle RAC Uptime
Maximizing Oracle RAC UptimeMaximizing Oracle RAC Uptime
Maximizing Oracle RAC Uptime
 
Industrial Training|Summer Training|Embedded Systems|Final Year Project|B tec...
Industrial Training|Summer Training|Embedded Systems|Final Year Project|B tec...Industrial Training|Summer Training|Embedded Systems|Final Year Project|B tec...
Industrial Training|Summer Training|Embedded Systems|Final Year Project|B tec...
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processors
 
Performance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12cPerformance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12c
 

Recently uploaded

Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
gerogepatton
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
ClaraZara1
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 
New techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdfNew techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdf
wisnuprabawa3
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
Rahul
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
Mukeshwaran Balu
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
drwaing
 
2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt
PuktoonEngr
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Wearable antenna for antenna applications
Wearable antenna for antenna applicationsWearable antenna for antenna applications
Wearable antenna for antenna applications
Madhumitha Jayaram
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
nooriasukmaningtyas
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
gerogepatton
 

Recently uploaded (20)

Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 
New techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdfNew techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdf
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
 
2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Wearable antenna for antenna applications
Wearable antenna for antenna applicationsWearable antenna for antenna applications
Wearable antenna for antenna applications
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
 

Early Software Development through Palladium Emulation

  • 1. External Use TM Early Software Development Through Palladium Emulation for a Complex SoC Raghav U. Nayak | Senior Validation Engineer CDNLive 2014
  • 2. TM External Use 1 Session Objectives • After completing this session you will be able to: − Know about Freescale Emulation System Architecture − Methodology followed to integrate multicore SoC from scratch − Procedures used to simplify debug on both hardware and software aspects − Understand how the concept of “many number of mini test cases” has helped the development of Freescale QorIQ LS series project using Emulator Platform
  • 3. TM External Use 2 Agenda • Design, size, complexity and life stage • Challenges with the multicore SoC integration from scratch • Emulation and its benefits • How to parallelize hardware and software design activities − Compile phase − Run phase − Debug phase • Session summary • Thinking ahead • Demonstration • Acknowledgements and references
  • 4. TM External Use 3 Design, Size, Complexity, Life Stage • Digital networking device based on Freescale Layerscape architecture • Key Architecture Features − Dual ARM® Cortex A7 − DDR3L/4 interface − 3-port GigE with IEEE® 1588 − 2x PCI Express® Gen2 − 4-Lane multi-protocol SerDes  PCIe-2, SATA3, SGMII • Key Integration Features − Low-cost NAND/NOR flash interfaces − QSPI support − USB2 / 3 support − Audio networking and motor control − ARM TrustZone Architecture
  • 5. TM External Use 4 Design, Size, Complexity, Life Stage
  • 6. TM External Use 5 Multicore SoC - Integration from Scratch • It’s a challenge to integrate hardware AND validate software early in a design cycle • Design may not be mature and might not have reuse options because: − More third-party IP's − Upgraded internal IP’s − New SoC integration − Change in Instruction Set Architecture (ISA) • Goals are same like any other SoC
  • 7. TM External Use 6 What is Emulation? Emulator used was Cadence Palladium XP and PD3 Verification System • The Palladium Verification System provides a converged environment for Simulation Acceleration (SA) and In-Circuit Emulation (ICE) • Increases verification throughput, and verifies ASICs, SoC systems and hardware/software interactions with the real- time environment and/or testbenches • Sometimes can reproduce bugs in design which cannot easily be recreated or debugged in the SoC verification testbench
  • 8. TM External Use 7 Why Do We Need Emulation? • Helps verification engineer  resolve hardware and software integration issues • Helps software engineer  perform critical software activity • Bridges the gap between hardware and software by providing reasonable speed
  • 10. TM External Use 9 Parallelizing Hardware and Software Design Activities • Stage 1 − Performed Test Port Read/Write as ARM® core was not brought up − Generating data and address preloads for Test Port Buffer Test Port Buffer Interconnect Slave (Memory, Peripherals etc)
  • 11. TM External Use 10 Parallelizing Hardware and Software Design Activities Stage 2 • Assembly based tests • Checked basic functionality of − Processor Subsystem − Memory Interface − Peripherals • Built with “arm-none-linux-gnueabi-as” Assembler
  • 12. TM External Use 11 Parallelizing Hardware and Software Design Activities • Stage 3 − Bare Metal Infrastructure clubbing both C and Assembly ARM® Vector Table Initialization ARM Boot Sequence (Modes, Stack, MMU, Cache, FPU etc) DDR Controller Initialization Testcase Section Assembly Assembly Assembly Assembly, C, C++
  • 13. TM External Use 12 Parallelizing Hardware and Software Design Activities • Script ware to compile the code, generating preloads for memory and to run − Stage 4a ( Unix Prompt ) − Makefile Infrastructure to compile the code
  • 14. TM External Use 13 Parallelizing Hardware and Software Design Activities • Stage 4b ( Unix Prompt ) − Generating preloads for Memories like DDR, NOR, NAND, SBROM − Example Snippet for creating preloads for DDR
  • 15. TM External Use 14 Parallelizing Hardware and Software Design Activities • Stage 4c ( Palladium Prompt ) − Run Script Generation • The main tcl procedure (call it rtc) for run-test-case would have multiple arguments such as the following :- -help  Prints this usage message -testcase_dir <path to bin files>  Testcase Directory -tc_timeout [time in seconds]  Default 60s -trace_enable [true/false]  Default false -trace_start_at_state [name of state]  (typically tcExec) -pre_run_tcl <pre_run.xel>  Sourced if file exists -post_run_tcl <post_run.xel>  Sourced if file exists -sdl_file <file.tdf>  Default $scripts_dir/tc_sdl.tdf -trace_file <trace_file>  Default trace; uses sst2 database -results_file <results.txt>  Default REGRESS_RESULT.txt -log_file <log_file.txt>  Default stdout -reset_memories [true/false]
  • 16. TM External Use 15 Parallelizing Hardware and Software Design Activities • Stage 5 − We have used Design Sync Command Interface to create Baseline − This in-turn helped to bring all the team members under the scope of this baseline • Stage 6 − Regression Environment for every Design Release
  • 18. TM External Use 17 Parallelizing Hardware and Software Design Activities • Downloading and running the model on Emulator − Booking time and domains on PDBS − Logging into the Linux® host − Starting an interactive, or submitting a batch job on the Palladium server − Sourcing a run script to download the model, load memories and initialize the target platform − Interacting with the active runtime environment using commands at the QEL prompt (Interactive Mode)
  • 19. TM External Use 18 Parallelizing Hardware and Software Design Activities • Validating SoC Internal Functionality  ARM®, DMA, Multi-Master Freescale Emulation System Infrastructure
  • 20. TM External Use 19 Parallelizing Hardware and Software Design Activities • Validating Key External Interfaces  DS5/CCS Tool, UART Freescale In-Circuit Set Up and Connectivity Model
  • 22. TM External Use 21 Parallelizing Hardware and Software Design Activities • Hardware Debug  through better signal visibility
  • 23. TM External Use 22 Parallelizing Hardware and Software Design Activities • Software Debug  through software development tool
  • 24. TM External Use 23 Parallelizing Hardware and Software Design Activities • More complex software activities have started taking place − Enabled more complex software activities to start Parallely − “Mini and Many” tests have been tried upon to accomplish the goal of Verification and Software Development − Initiation of early software development, has helped build confidence and reliability on the device and we are now in a position to get BootROM, Uboot and Linux up on pre-silicon emulation environment
  • 25. TM External Use 24 Session Summary • Challenges involved in the hardware integration and software validation • Methodology to be followed for setting up Emulation Environment to help start the software activities early • Ease of Debug - as we have options to go with Verification Test Method or Software Test Method • Learning's derived out of the feedbacks given by Tools Team, BootROM Team, Software Team • Parallelizing hardware and software design activities by efficient use of an emulator, so we can have boot code, board support packages, and operating system applications available by the time the device tapes out
  • 26. TM External Use 25 Thinking Ahead • Reuse of developed drivers for post-silicon validation • FPGA-based emulation • Setting up environment to validate high-speed interfaces like PCI, USB, etc • Embedded processor in test bench • Virtual UART and JTAG
  • 27. TM External Use 26 Acknowledgements • Acknowledgements − Cadence Palladium Support Team − Entire QorIQ LS1 family design team for their support − QorIQ LS1 family BootROM, Uboot, Linux teams for sharing the information
  • 29. TM © 2014 Freescale Semiconductor, Inc. | External Use www.Freescale.com