Uploaded by leelavathigubbi

P12527

advertisement
DESIGN OF AUTOMATION FRAMEWORK FOR
SILICON VALIDATION
A PROJECT REPORT
By
TANISHA SHARMA (Reg. No:RA201200801001)
Under the guidance of
Dr. K. SUGANTHI
(Assistant Professor, Department of Electronics and Communication Engineering)
Submitted in partial fulfillment for the award of the degree of
MASTER OF TECHNOLOGY
in
VLSI DESIGN
DEPARTMENT OF ELECTRONICS AND COMMUNICATION
ENGINEERING
OF
COLLEGE OF ENGINEERING AND TECHNOLOGY
SRM Nagar, Kattankulathur- 603203, Chengalpattu District
JUNE 2022
BONAFIDE CERTIFICATE
This is to certify that this report, of the project work named DESIGN OF
AUTOMATION FRAMEWORK FOR SILICON VALIDATION submitted in
partial fulfillment of the requirement for the award of degree, M.Tech in VLSI
Design, by TANISHA SHARMA, Reg.No.RA2012008010001, is the bonafide
project work of the student, who carried out under my supervision. Certified further
that, to the best of my knowledge further that, to the best of my knowledge the work
herein has not been submitted for the award of this or any other degree, on an
earlier occasion on this or any other candidate.
Signature of the Guide
Dr. K. SUGANTHI
Assistant Professor
Department of Electronics and
Communication Engineering
SRM Institute of Science and
Technology
Kattankulathur- 603203
Signature of Head of
Department
Dr. SHANTHI PRINCE
Professor
Department of Electronics and
Communication Engineering
SRM Institute of Science and
Technology
Kattankulathur- 603203
This project report is submitted for the project university examination held on June,
2022, at Department of ECE, SRMIST, Kattankulathur
External Examiner
Internal Examiner
ACKNOWLEDGEMENT
I wish to express my deep sense of gratitude and sincere thanks to our Professor
and Head of the Department Dr. Shanthi Prince, for her constant
encouragement, timely help and advice offered to me.
I would also like to acknowledge with much appreciation to the crucial role of
my guide, Dr. K. Suganthi, Assistant Professor, ECE Dept, as well as the panels
especially in our project presentation that has improved my presentation skills by
their comments and tips. I would also like to extend my gratitude to Karthikeyan
K, Senior Manager Test Engineer, Infineon Technologies for his guidance in the
mechanics of the project
I would like to express my sincere thanks to our PG Project coordinator, Dr. J.
Selvakumar,
Professor, ECE Dept., for his constant help in shaping up the
project schedule and improving my time management skills.
I extend my gratitude and heartfelt thanks to all the teaching and non-teaching
staff of the Electronics and Communications Department and to my parents and
friends, who extended their kind cooperation by means of valuable suggestions
and timely help during the course of this project work.
I would like to express my sincere thanks to my external guide Guruprasad
Kamath, Senior Staff Engineer, and Antony Varghese, Senior Staff Engineer,
Infineon Technologies, for his guidance and support during the time I worked on
the project and helped me grow in the competing environment.
TANISHA SHARMA
RA2012008010001
DECLARATION
I hereby declare the Project Work-phase-2 entitled “DESIGN OF
AUTOMATION FRAMEWORK FOR SILICON VALIDATION” to be
submitted for the Degree in Master of Technology is my original work as individual
and the dissertation has not formed the basis for award of any Degree, Diploma,
Associateship or Fellowship of similar other titles. It has not been submitted to any
other University/Institution for the award of any Degree/Diploma.
Place: Chennai
Tanisha Sharma
Date:
RA2012008010001
List of Contents
Title
Page Number
Abstract
1
Chapter-1
Introduction to Validation
1.1 Literature Survey
1.2 Motivation
1.3 Problem Statement
1.4 Objectives
1.5 Methodology of the Project
2
Chapter-2
Validation
2.1 Introduction to Validation Set-up
2.2 Validation Hardware Details
2.3 Peripheral Systems in Silicon
2.4 Validation tests for Silicon Peripherals
9
Chapter-3
Communication Blocks
3.1 Protocols in Validation
3.2 Automating the protocols
18
Chapter-4
Automation Framework Architecture
3.1 Introduction to Automation framework
3.2 Comparison with Existing Framework
20
Chapter-5
Results
26
Chapter-6
Conclusion and Future Scope
6.1 Conclusion
6.2 Future Scope
30
Bibliography
31
List Of Figures
Title
Page Numbers
Figure-1.1
Silicon Validation steps
4
Figure-1.2
Methodology of the Project
7
Figure-2.1
Complex switch matrix validation set-up.
9
Figure-2.2
Wi-Fi BT Pioneer Kit
11
Figure-2.3
Overview of blocks in PSoC
12
Figure-2.4
System Peripherals in Silicon
14
Figure-3.1
DUT and dutcomm interface
18
Figure-3.2
Protocol validation set-up
19
Figure-4.1
Automation framework
21
Figure-4.2
Miniprog-4
21
Figure-4.3
Dutcomm board
22
Figure-4.4
PSoC 6 IC
22
Figure-4.5
PSoC-5 LP
22
Figure-4.6
Wi-Fi BT Pioneer Kit
23
Figure-4.7
Pre-silicon FPGA set-up
23
Figure-4.8
Validation board set-up after fabrication
23
Figure-4.9
VRD
24
Figure-4.10
Test set-up selection
24
Figure-5.1
I2C waveforms for DUT operating at 3.3V
26
Figure-5.2
I2C waveforms for DUT operating at 2.4V
26
Figure-5.3
I2C waveforms for DUT operating at 1.8V
27
Figure-5.4
SWD waveforms for DUT operating at 3.3V
27
Figure-5.5
SWD waveforms for DUT operating at 2.4V
27
Figure-5.6
SWD waveforms for DUT operating at 1.8V
28
Figure-5.7
Logs for Automation framework test run
28
Figure-5.8
Home Page screen of automation GUI
29
List of Tables
Title
Page Numbers
Table 2.1 Summary of PSoC variants
12
Table 3.1 Protocol Comparison
18
Table 4.1 Framework Comparison
24
Abstract
Ensuring correct operation despite rising levels of design complexity has been a
major focus of research and development since the dawn of digital system
design. These efforts led to remarkable advances in the theory and practice of
design verification and manufacturing testing of digital systems over several
decades. Silicon validation of overwhelmingly complex systems of the future is
an emerging field of research with exciting opportunities for major innovations.
Pre-Silicon validation allows for earlier identification of bugs further upstream,
reduces development times and enables more developers to access the latest
simulated silicon. Post-silicon validation involves operating one or more
manufactured chips in actual application environments to validate correct
behaviors over specified operating conditions. The objective is to ensure that no
bugs escape to the fabrication or customers.
1
CHAPTER 1
INTRODUCTION TO VALIDATION
When you call the validate method, it runs validate function on every textfield of
your form. If any of the text fields contains errors, the validate method reconstructs
the form to display any error messages, and returns false. If the users input is
invalid, the validate function returns a string that contains the error message. If the
field is actually present in your database, then accept parameter should be set or
included with True, otherwise, this validator will not be executed.
The field that is being validated will be excluded from the query data returned by
validate methods if the otherField field is equal to value. Otherwise, the validate
and validated methods of a validator will return all of the data that has been
verified, including the array and all its keys, even though these keys are unchecked
by the validation rules for the other nested arrays. If you do not wish to use
validate methods in your requests, you can manually construct the Validator
instance using the Validator Facade. After you have verified incoming request data
using the Form Request or manually created validator instance, you might wish to
extract incoming request data that has actually been verified.
When using a validate method on an XHR request, Laravel does not create a
redirection response. If needed, you can supply custom error messages for a
validator instance to use in place of the default error messages provided by
Laravel. You can configure error messages used for the given combinations of
attributes and rules in the Validation Language file for the app. After you have
determined that a request has failed verification, you can flash an error message in
your session using the withError method.
To perform the validation, you should take action for at least three out of the
maximum of 24 messages, one for each named user that you specified, over the
course of 72 hours. Even if all messages are sent to the same email address, you
need to act on a message for each domain or subdomain in order to validate and
create a certificate.
If you are not receiving every validation email, or if your token has expired, you
can ask to have an email sent again. Because the validation emails required in the
authorization process may get blocked by spam filters or lost in transit, tokens
2
automatically expire in 72 hours. Under Domains, select Re-send Validation
Emails, choose each of the domains that need verification, then choose Re-send.
You can pass more than one character to each method in a class, and their
respective validations will run in the same order they were registered. You would
build one using the block, and each attribute passed to validates_each will be
checked against it. If you want to make sure the associated object itself is present
and valid, you should also use validates_associated. This also makes sure you
cannot forget to validate anything and unintentionally allow invalid data into your
database.
Since data validation may involve tool tips that tell a person which kind of data to
input, this is typically different for every field on your spreadsheet. To estimate
validation rules for your data set, you can use either the Evaluate Rules tool or the
Error Inspector. Validation rules can be created by clicking on the Validation Rule
button under the Add Rule group in the Attribute Rules view. The Ready-to-Use
Rules button provides access to a configurable validations gallery, which supports
creating constraints and validation rules.
You can declaratively specify validation rules in a single location (in a Model
class), and rules are enforced throughout your application. The controllers and
views that you created earlier in this tutorial will automatically receive the
validation rules you specified using the validation attributes on properties in the
Movie model class. When you need to modify validation logic, you can do it
exactly in one place by adding validation attributes on a model (in this example,
the Movie model).
You will not need to worry about disparate parts of your app being inconsistent in
the way rules are enforced, because all the validation logic will be defined in one
place and used everywhere. Active Record offers many default validation helpers
you can use right within the definition of the class.
When multiple conditions dictate if a validation should occur, you may use Array.
By using either of these validations, you ensure that a value is not null, which in
most cases will lead to a NULL value. This means under any other conditions,
checksum validation will fail and the package will drop, protecting your app
against data corruption.
You can set breakpoints on the create[httppost] method and check the method is
never called, the client-side validation will not send form data if it detects a
validation failure. If you disable JavaScript on the browser, then client validation is
disabled, you can check if ModelState.IsValid of the HTTP POST Create method
detects any validation errors. After Active Record has performed validation, you
3
can access any errors found via the errors instance method, which returns the error
collection.
If you are using the Rails Forms Helper to create your forms, when a validation
error occurs in a field, it will create an additional div> around the record.
A typical silicon validation step is as shown in figure 1.1.
Figure-1.1 Silicon Validation steps
For our Star Wars example, file starwars validation-test.t contains a set of queries
demonstrating different invalidities, and is a test file you can run to test out your
validator implementation reference. The validator procedures utilize the standard
procedures and methodologies documented in the Intel memory validation
procedures. Regulated manufacturing companies also employ SAP solutions for
production processes, facility maintenance, and asset management, and must
therefore maintain the status of the validations on assets, including tools,
equipment, and computing systems, at all times, including in production and in
maintenance phases. When combined with other technologies, customer-side
validation can be a cost-effective way of providing users immediate feedback
while using your website.
1.1 Literature Survey
Title
Authors
Journal
Inference
Post-Silicon
Validation
and
Diagnosis
Kanad
Bhasu,
Subhadip
Kundu
29th International
Conference on
VLSI Design and
2016 15th
International
Conference on
In this paper, the
post-silicon validation part
focuses on signal
selection, trace debug,
trace compression,test
generation; while the
4
Embedded
Systems (VLSID)
diagnosis deals with both
logic and chain diagnosis.
It also focuses on
diagnosis techniques with
test-response
compressors, which is
widely used in recent
industrial design.
Pre silicon
validation
methodology
breakthrough
for 3D IC
Wai Loon,
Hock Thien,
Bian Sim
INTERNATIONAL
TEST
CONFERENCE,
2018
The increase demand for
functionality and
miniaturization forces
industry to enhance chip
performance, without
sacrificing valuable board
space. This is achieved by
stacking silicon wafers and
interconnecting them
vertically known as a
three-dimensional
integrated circuit (3D IC) or
stacked die. This paper
explains the pre silicon
validation methodologies
implemented in
our facility today to
achieve effective testability
and debug capability of the
stacked device.
Automating
post-silicon
debugging
and repair
Kai-Hui
Chang, Igor
L. Markov ,
Valeria
Bertacco
IEEE/ACM
International
Conference on
Computer-Aided
Design, Digest of
Technical Papers,
2007
Paper proposes a
post-silicon debugging
methodology (FogClear)
that can repair some
electrical errors while
preserving functional
correctness. Thus,
automates the traditional
manual debugging process
and promises to reduce
engineers' debugging
effort.
Post-Silicon
Validation
Opportunitie
s,
Challenges
and Recent
Advances
Subhasish
Mitra, Sanjit
A. Seshia,
Nicola
Nicolici
Verification, B8.1
Reliability, Testing
and Fault
Tolerance, B 8.2
Performance
Analysis and
Design Aids, 2010
In this paper, an overview
of the post-silicon
Validation problem is given
and how it differs from
traditional pre-silicon
verification and
manufacturing testing.
Also major post-silicon
validation challenges and
recent advances have
been discussed.
5
Meta-model
Based
Automation
of Properties
for
Pre-Silicon
Verification
Keerthikum
ara
Devarajego
wda,
Wolfgang
Ecker
2018 IFIP/IEEE
International
Conference on
Very Large Scale
Integration
(VLSI-SoC)
In this paper, a
Pythonbased
generationlanguage and
framework for
hardwareproperties is
described in order
toincrease formal
verification productivity by
increase in HGLs inRTL
designs and makes the
approachplatform
independent.
1.2 Motivation
Design of ICs being held by customers are becoming complex and diverse as
technology advances. These ICs are used in multiple end products in today’s
market. Some examples are smartphones, computer and gaming products, Internet
of Things (IoT) devices. These devices are categorized as ‘multi-domain’, i.e.,
they contain digital, DC, analog and Radio Frequency (RF) circuitry all on the
same chip. Developing efficient validation programs for these multi-domain ICs
within a shorter Time to Market (TTM) is becoming a challenge. To overcome
this
challenge, most semiconductor companies use automation for validation,
which uses high speed communication protocol and
automated information
technology to rapidly perform tests that measure and evaluate a DUT.
The
architecture of an automation framework can be simple or complex and is chosen
based on the device under test. The validation process helps in defining the
defects or issues in the early stage of IC development so that those issues can be
removed in future fabrication of the IC. It also helps in stating on how much of
the customer requirements are being met by the first silicon revision fabricated
and the changes need to be made for further improvement. To improve the speed
of the validation process, industry automates the process.
1.3 Problem statement
Pre and Post silicon validation involves several test scripts to be run on a single
set-up at a given time. Running all these test scripts manually and with particular
configuration is hectic. Automating these test scripts will reduce so much work of
a validation engineer. But there is no defined framework for automating the test
scripts. Also, the result generation process is also manual and engineers have to
6
write documents manually after completing every project milestone, which is
again time consuming and not uniform. Several softwares are there today for
different tasks like programming firmware, I2C scanning, UART debug etc. This
spreaded software makes it very inefficient for the engineer to concentrate on
debugging as he/she is busy switching softwares and might also get confused
sometimes. No GUI exists today for the automation framework.
1.4 Objectives
1. To provide a well-defined and structured automation framework that could
run several test scripts smoothly over any set-up.
2. To provide users with a GUI that will contain the features from all different
softwares used today for different purposes, hence providing a one-stop solution
for Validation of silicon.
3. To reduce the work of engineer by defining a project tracking system called
Test Rail that would also generate the reports automatically at the completion of
each milestone.
4. To provide users with proper debug logs which will help engineers to resolve
the issue in less time as compared to what it takes today.
1.5 Methodology of the Project
Figure 1.2 Methodology of the Project
The design of the automation framework requires a clear understanding of how
validation works and its need. After understanding the need for validation, one
can move forward with designing the automation framework. The automation
framework for validation is designed in python as python has supporting libraries
for most of the bench instruments and one can easily generate algorithms for
protocols that are to be used during validation testing.
7
The silicon needs to be flashed with firmware for running automated test cases.
This firmware is written in C/C++ mostly using switch cases. When the dutcomm
board sends any communication packets to DUT, the DUT reads the packet and
performs the test according to one of the test cases.
During the run of each test case, some or the other IP is tested. To understand ad
write the code for IP test cases, learning the IP is another important step. Once
completed with writing of all the code, the code is now tested for its robustness
through regressing testing.
8
CHAPTER 2
VALIDATION
Validating a silicon requires a lot of hardware to be set-up. These hardware
includes:
1.
Boards-
a.
Silicon validation board (DUT)
b.
Pre-silicon validation set-up (FPGA)
c.
DUT communication board
2.
Bench Instruments
a.
Oscilloscope
b.
NI Chassis
c.
Source Measuring Unit
d.
Analog Function Generator
2.1 Introduction to Validation Set-up
The validation setup contains a main device under test connected to the
communication board, which is in turn connected to PC. To the PC and DUT,
connected are bench instruments that include Scope, SMUs, etc.
Figure-2.1 Complex switch matrix validation set-up.
9
The silicon of any high speed serial link PHY is required to be tested and
characterized for a number of internal blocks and interfaces, over PVT (process,
voltage and temperature) variations. To accomplish all these test scenarios, it
takes a huge amount of time to perform the same test repeatedly on PVT
variations, if done manually. Also the validation setup needs to be changed many
times while moving from one test case to another. For example in case of a high
speed USB transceiver tests, transmitter characterization needs the DUT (device
under test) to be connected to scope, while receiver tests are done with data
generator connected to the DUT. Similarly Voh, Vol level tests need a digital
multi-meter connected at serial interface whereas source meters are used in case
of driver current measurement. Also in all the tests some discrete components are
required to be connected at serial interface as per test requirement. During the
testing, test engineer has to switch across these connections manually as test cases
are executed.
2.2 Validation Hardware Details
Infineon offers a broad portfolio of low-power to high-performance microcontrollers
(MCUs) for various markets. They provide MCUs for the consumer, industrial and
automotive markets with our PSoC® MCU, Flexible MCU (FM) and Automotive MCU
Portfolios. They help solve problems for various market needs with their low-power,
flexible and high-performance MCUs. It covers all kinds of requirements, including
automotive (Devices that complement the portfolio with proven system software that has
been deployed in production vehicles around the globe.), industrial (Products that are at the
heart of the Industrial IoT) and consumer (Society interacts with electronic devices more
than ever for personalized productivity, entertainment and communication.).
→ Arm Cortex 32-bit MCUs
PSoC 6 bridges the gap between expensive, power hungry application processors and
low‑performance microcontrollers (MCUs). The ultra‑low‑power PSoC 6 MCU architecture
offers the processing performance needed by IoT devices, eliminating the trade-offs
between power and performance. The PSoC 6 MCU contains a dual‑core architecture, with
both cores on a single chip. It has an Arm® Cortex®‑M4 for high‑performance tasks, and an
Arm® Cortex®‑M0+ for low-power tasks, and with security built-in, your IoT system is
protected. PSoC 4 has tackled some of the complex portions of embedded system design
making it easier for you to get your product to market. Functions such as analog sensor
integration, capactitive touch, and wireless connectivity have been integrated and optimized
10
in PSoC 4to just work so you don’t have to.
Infienon's PSoC Analog Coprocessor simplifies the design of sensor-based systems by
delivering a scalable and reconfigurable architecture that integrates programmable analog
front ends (AFEs) and a signal processing engine (32-bit Arm® Cortex®-M0+) that can
calibrate and tune the AFE in software. The PSoC Analog Coprocessor enables designs to
send aggregated, pre-processed, and formatted sensor data over serial communication
interfaces to host processors.
→ PSoC 6 – Wifi BT Pioneer Kit
PSoC (programmable system-on-chip) is a family of microcontroller integrated circuits by
Cypress Semiconductor. These chips include a CPU core and mixed-signal arrays of
configurable integrated analog and digital peripherals.
Figure-2.2 Wi-Fi BT Pioneer Kit
Series of PSoC: There are five different families of devices, each based around a different
microcontroller core:
➔
➔
➔
➔
➔
PSoC 1 - CY8C2xxxx series — M8C core.
PSoC 3 - CY8C3xxxx series - 8051 core.
PSoC 4 - CY8C4xxxx series - ARM Cortex-M0 core.
PSoC 5/5LP - CY8C5xxxx series - ARM Cortex-M3 core.
PSoC 6 - CY8C6xxxx series - ARM Cortex-M4 core with an added ARM
Cortex-M0+ core (in some models).
11
Figure-2.3 Overview of blocks in PSoC
Table 2.1: Summary of PSoC variants
PSoC1
8-bit M8Ccore
PSoC3
PSoC4
PSoC5/5LP
PSoC 6
8-bit8051 core
(single-cycle)
32-bitARM
Cortex-M0
32-bitARM
Cortex-M3
up to67 MHz,
33MIPS
upto48 MHz, ?
MIPS
up to 80MHz,
84MIPS
Flash: 4KB to
32KB
Flash:8 KB to
64KB
Flash:16 KB to
256KB
Flash:32 KB to
256KB
Flash: 512 KB to
2048KB
SRAM: 256
bytesto 2KB
SRAM:3 KB to
8KB
SRAM:2 KB to
32KB
SRAM: 8KB to
64 KB
SRAM: 128 KB
to 512KB
up to 24MHz, 4
MIPS
32-bitARM
Cortex-M4 (up to
150 MHz)
32-bit ARM
Cortex-M0+ (opt.
up to 100 MHz)
expandable
usingquad SPI
I²C, SPI,UART,
I²C,SPI, UART,
LIN,
I²C,SPI,UART,
CAN
FSUSB 2.0, I²S,
CAN
.
16to24 UDBs
(UniversalDigital
Blocks)
4to 8UDBs
FSUSB2.0
16digitalPSoC
blocks
I²C, SPI,UART,
LIN, CAN,
FS USB2.0, I²S
20 to 24UDBs
I²C, SPI, UART,
LIN, BLE (opt.),
FS USB2.0 (opt.
host & device)
0 to 12UDBs
12
1 Delta-Sigma
ADC(6 to 14-bit)
1 Delta-Sigma
ADC(8 to 20-bit)
1 SARADC
(12-bit)
1 Delta-Sigma
ADC(8 to 20-bit)
1 SAR ADC
(12-bit) 1 MSPS
131 ksps @
8-bit;
192ksps @
12-bit;
1 Msps@ 12-bit;
192 ksps
@12-bit;
1 12 BitVoltage
Mode DAC
1 Sigma-Delta
ADC (for
capacitive
sensing)
Up tofour DACs
(8-bit)
Up totwo DACs
(7 to8-bit)
2 SARADCs
(12-bit)
1 Msps@ 12-bit;
Up tofour DACs
(8-bit)
Up totwo DACs
(6 to 8-bit)
Up to64 I/O
Up to72 I/O
Up to98I/O
Up to72 I/O
Operation: 1.7
V to5.25 V
Operation:0.5 V
to 5.5V
Operation:1.71 V
to5.5 V
Operation: 2.7 V
to 5.5V
Active:2 mA,
Active:1.2 mA,
Active:1.6 mA,
Active:2 mA,
Sleep: 3μA
Sleep:1 μA,
Sleep:1.3 μA,
Sleep:2 μA,
Hibernate: ?
Hibernate:200
nA
Hibernate:150
nA
Hibernate:300
nA
On-chipSWD,De
bug
On-chipJTAG,
SWD, SWV,
RequiresICE
Cubeand
FlexPods
Up to 104 I/O
Debug,Trace
CY8CKIT-001
Development
Kit
CY8CKIT-001De
velopment Kit
CY8CKIT-04040
00 PioneerKit
CY8CKIT-001
DevelopmentKit
CY8CKIT-030De
velopmentKit
CY8CKIT-04242
00 PioneerKit
CY8CKIT-050
DevelopmentKit
CY8CKIT-04342
00MPrototyping
Kit
CY8CKIT-059
PrototypeKit
CY8CKIT-062-B
LE PioneerKit
CY8CKIT-044
4200MPioneer
Kit
CY8CKIT-046
4200LPioneer
Kit
CY8CKIT-049
4100Prototype
Kit
13
2.3 Peripheral Systems in Silicon
An
Intellectual Property (IP) core in Semiconductorsis a reusableunit of logic
orfunctionality or a cell or a layout designthat is normally developedwith theidea of
licensingtomultiplevendorsfor use as buildingblocks in different chipdesigns.
In today’s era of IC designs more and more system functionality are getting integrated into
single chips (System on Chip /SOC designs). In these SOC designs, these pre-designed IP
cores/blocks are becoming more and more important. This is because most of the SOC
designs
have a standard microprocessor and
lot of system functionality
which are
standardized and hence if designed once can be re-used across several designs.
In figure-2.4, a lot of the components are standardized protocols and designs – eg the ARM
bus protocols like AHB, APB, the designs like Ethernet, SPI, USB , UART core etc. All
of these can be designed stand alone as IP cores/blocks and can be licenced to multiple
design houses and for different designs.
Figure-2.4 System Peripherals in Silicon
IP cores are generally licensed aseither Soft IP cores or Hard IP cores.
➔
Soft IP cores are IP blocks generally offered as synthesizable RTL models. These
are developed in one of the Hardware description language like SystemVerilog or VHDL.
Sometimes IP cores are also synthesized and provided as generic gate level netlist which
can be then mapped to any process technologies. This also falls under Soft IP cores. The
advantage of Soft IP cores is that those can be customized in the back end Placement and
14
Routing flow by a consumer to map to any process technologies.
➔
Hard IP cores on the other hand are offered as layout designs in a layout format
like GDS which is mapped to a process technology and can be directly dropped by a
consumer to the final layout of the chip. These cores cannot be customized for different
process technologies.
Generally digital logic cores are developed and licensed as Soft IP cores. eg: a DRAM
controller IP, Ethernet MAC IP, AMBA bus protocol IPs etc.
Analog and Mixed signal logic designs for serdes, PLLs, ADC or DAC, Phy layer logic
for DDR, PCIE etc are generally developed and licensed as Hard IP cores.
2.4 Validation tests for System Resource Peripheral
The strategy for System Resources is summarized as follows:
➔
System Resources is part of the core-platform bus that makes HOBTO IP plug&play
possible.
◆
Intended products have a wide variety of current, area, speed, and feature targets.
System Resources is a soft IP with many design-time configuration options controlled by
HOBTO parameters. Optional components carry no area overhead when not implemented in
a product.
◆
System Resources provides a stable set of platform-wide signals that enable
peripherals to be designed and easily reused on multiple products in the platform.
◆
System Resources reduces product cycle time for HOBTO derivatives by reusing
design, verification, and test vectors. This reuse also significantly reduces defects.
➔
IP in 40nm variant of version 1 are generally supported by version 2 with minor
modification.
◆
DeepSleep-capable IP require a small change to separate the resets use for retention
flops in Active domain from flops in DeepSleep domain.
◆
Memory integration should use the new memory power control bus (mem_lp_ctl) for
best compatibility.
➔
Adherence to a strict hierarchy of control:
◆
First, Power System hard-IP brings up power to a known-good state (Power Chapter)
◆
Second, Power Mode Transition Sequencer runs only when power is known good
(Power Chapter)
◆
Third, known-good Clocks are released to the system (Clocks Chapter)
◆
Fourth, reset is released to the system
➔
The above text pertains mainly to power up and reset events, but the same hierarchy
of control is adhered to in all other power mode transitions:
15
◆
No reset de-assert before known-good clocks
◆
No clocks to the system before known-good power and clocks
◆
No power mode sequencing before known-good power
➔
System Resources circuits are designed from the beginning with a noise isolation
strategy to minimize interference between System Resources components and the rest of the
system.
➔
Analog circuits outside System Resources requiring core voltages with special
properties (low noise, non-standard voltages, etc.) generally include local regulators as part
of the IP. These are not generally included in System Resources, with some exceptions.
➔
Version 2 System Resources is not designed with an ASIL target.
➔
Software compatibility to Version 1 is an important objective.
◆
Programming model of existing features using PDL are not changed. In most cases,
the hardware interface is unchanged. In a few cases, existing PDL functions require
modification to abstract hardware changes.
◆
New features have inevitable impact on software, such as those implementing the
ARM Power Control Architecture.
System Resources power components include:
➔
Support for global power modes: ACTIVE, SLEEP, DEEPSLEEP,
DEEPSLEEP-RAM, DEEPSLEEP-OFF, HIBERNATE, OFF w/Backup, and XRES.
➔
Multiple regulator options to span the required voltages and regulator types needed
for the product portfolio.
◆
Regulator Set A is like version 1 and comprises a Linear Core Regulator which
requires an external capacitor and options for switching regulators, including a 30mA SISO
buck and 60mA SISO buck.
◆
Regulator Set B is like previous IOT BLE products and comprises a buck regulator
(CBUCK) that regulates to an intermediate voltage, a digital step-down regulator (D-SDR),
optional BLE RF step-down regulator (RF-SDR), and optional power amplifier regulator
(PA-LDO)
➔
Mode transition logic including ‘sensitive’ asynchronous logic.
➔
Brownout detection. The internal regulator input and output voltages are monitored
by brown-out detectors (BOD). The detector on the regulator input provides robust
brown-out detection. The regulator output voltage is also monitored it has a gray area and is
not guaranteed to initiate a reset if the logic crashes.
➔
Low/High Voltage detectors with user-specified threshold for monitoring the external
supply.
System Resources clock components include:
16
➔
Standard platform clock features that require no external components:
◆
Internal Main Oscillator (IMO) at a fixed 8MHz frequency
◆
Internal High-speed Oscillator (IHO) at a fixed 48MHz frequency
◆
Internal Low-speed Oscillator (ILO0) at a fixed 32.768kHz frequency
◆
Frequency-locked loop (FLL) for logic clocking up to 100MHz
◆
Additional high frequency clocks can be generated by division
➔
Optional clock features
◆
External crystal oscillator (ECO) which requires an external crystal.
◆
Redundant Internal low speed oscillator (ILO1) for clock supervision
◆
Precision Internal Low-speed Oscillator (PILO) intended to replace an external
crystal for Bluetooth/BLE.
◆
Up to 15 PLLs with up to 200MHz output frequency.
◆
Digital clock supervision
◆
Digital clock calibration logic to compare the relative frequency of two clocks
System Resources reset components include:
➔
Reset cause detection for some resets.
➔
Power-related resets cannot be individually distinguished.
System Resources contains optional backup logic:
➔
Backup logic can be implemented in a separate battery-backup voltage island
(vbackup) or in the main unregulated voltage island (vddd).
➔
Backup domain contains the following major components
◆
Watch Crystal Oscillator (WCO) that requires an external 32.768kHz crystal
◆
Real-Time Clock (RTC)
◆
Backup Registers (BREG) to hold a small amount of application state. An
unregulated backup memory is compatible with the platform, but not planned for
implementation.
17
CHAPTER 3
COMMUNICATION BLOCK
Various blocks of DUT communicate with the PC through various protocols. Some of the
protocols use din industry are I2C, SWD, SPI, CAN, etc. The following section discusses
about the design and functionality of internal blocks of DUT board.
3.1 Protocols in Validation
At interface between DUT and dutcomm (pioneer bridge), communication plays an
important role.
The interface has an intelligent system that detects the speed at which IP communicates and
expects the same speed selection from the dutcomm side too.
Figure-3.1 DUT and dutcomm interface
Two protocols widely used are I2C and SWD.
The comparison between the two is done and studied.
Table 3.1 Protocol Comparison
I2C
SPI
SWD
2-wire protocol
4-wire protocol
2-wire protocol
One wire for the data
(SDA) and other wire for
the clock (SCL).
MOSI (master out slave in),
MISO (master in slave out),
SCL (a serial clock which
produces by the master) and
SS (slave select line which
use to select specific slave
during the communication).
SWD allows for star
topologies
Upto 5Mbps
Upto 10Mbps
Upto 50Mbps
1.2V to 5.0V
2.5V to 5.0V
1.2V to 5.0V
18
3.2 Automating the Protocols
The protocol support is available at the hardware side. To access these functionality, an
object is accessed which calls Perl script APIs and does the commands as per the received
packet.
The tests performed for protocols were at different voltages and gave the results as per the
algorithm.
The slave master combination for the DUT and dutcomm is done for validating protocols in
the silicon. Figure 3.2 shows the master slave combination of DUTs over the I2C bus.
Figure-3.2 Protocol validation set-up
19
CHAPTER 4
AUTOMATION FRAMEWORK ARCHITECTURE
Automation in the industrial workplace provides the advantages of improving productivity
and quality while reducing errors and waste, increasing safety, and adding flexibility to the
manufacturing process. In the end, industrial automation yields increased safety, reliability,
and profitability.
Industrial automation is the control of machinery and processes used in various industries by
autonomous systems through the use of technologies like robotics and computer software.
Industries implement automation to increase productivity and reduce costs related to
employees, their benefits and other associated expenses, while increasing precision and
flexibility.
With the Industrial Revolution came mechanization, which brought cheaper and more
plentiful goods. Generally, the mechanical processes in industries were faster and produced
greater quantities of goods but still required skilled workers. Not only did machines require
operators but when errors occurred, they would waste materials, cause production issues and
even damage equipment.
With the arrival of automation, control loops were added to machine operation. These can be
open control loops that allow for human input or closed loops which are fully automated.
Industrial control systems (ICS) allow for monitoring and control locally and remotely. With
these increasingly advanced control mechanisms, industries can operate 24 hours a day.
Productivity has increased, errors are reduced and quality is improved. However, automation
does have some negative impact, including high initial costs, reduced worker employment
and the elimination of some ethical human oversight. As automation continues to advance
and gain popularity in new industries, it is possible to see these events increase.
Recent advancements in automation in industrial production are focused on flexibility and
quality. Manufacturing flexibility not only allows for more product types, but also lets
consumers order customized products that are automatically produced.
4.1 Introduction to Automation Framework
Automation framework developed includes four major layers:
1.
Software Layer
a.
GUI
b.
Test scripts
c.
Dutcomm Libraries
20
d.
Programming communication object Libraries
2.
Hardware Layer
a.
DUT
b.
Dutcomm board
3.
Firmware Layer
a.
DUT test FW
b.
Dutcomm Master FW
c.
Dutcomm Slave FW
The framework is displayed in figure-4.1
Figure-4.1 Automation framework
Automation Set-up:
1.
Software Used:
a.
Visual Studio Code (VS code)
b.
Modus ToolBox (MTB)
c.
Cypress Programmer
2.
Hardware Used:
a.
Miniprog-4 : For SWD, I2C, UART protocols.
Figure-4.2 Miniprog-4
21
b. Dutcomm Board: USed for communication between the PC/Framework and
Device under test (DUT)
Figure-4.3 Dutcomm board
c. PSoC-6 : Used as a controller and secondary slave for I2C
Figure-4.4 Psoc-6 IC
d. Psoc-5 : Used as I2C master and main processor chip
Figure-4.5 PSoC-5 IC
e. PSoC-6 WiFi BT Pioneer Kit
22
Figure-4.6 Wi-Fi BT Pioneer Kit
f. Pre-silicon Validation Set-up
Figure-4.7 Pre-silicon FPGA set-up
g. Post-silicon Validation Set-up with Dutcomm
Figure-4.8 Validation board set-up after fabrication
23
4.1.1 Validation Requirement Document (VRD)
The VRD is an excel sheet. It contains the list of all the tests to be performed on the
device. The tests are grouped depending on the functionality and IP specific.
Separate sheets according to the test flow set-up are made to configure the hardware
for each test cases. The VRD acts as the feed for running the test cases and
generating reports. It also has logs attached which helps in debug.
Figure 4.9 VRD
In this document each row represents a test case with the IP Block which is the
general format of the test case, Test Name which should be unique per row per flow,
Pass and Fail Condition movement, Test Setup which describes the hardware
configurations of device during the test case execution,, Param set defines the set of
parameters needed as shown in Figure 4.2.
Figure
4.10 Test set-up selection
4.2 Comparison
The framework developed is compared with the earlier framework and the comparison table
is given below:
Table-4.1 Framework Comparison
#
Decision Factor
New Framework
Existing Framework
1
User knowledge
Exists
Exists
2
Team Dependency
None (home grown)
Different team product
4
Dev/Support team
Being Built up
No defined Support
24
5
Python version
Posted to Py3.7 .
Py3.6 framework exist (but
Needs almost similar
porting effort owing to
EXTERNALS folder
dependency)
6
TestRail Interface
Exists
Not existing in current
versions released. Can be
inherited.
7
Input Interface
Excel based
Text file based
8
GUI for Users
Exists
Not existing in Py2.7
versions released. Can be
inherited.
9
Gitlab Support
Exists
Not existing
10
Debug time
Separate log file for each
test case.
No separate log file. Need
to trace the error in whole
log.
11
Test Case run time
For System Resources: 1
minute
1min + Extra time to check
scope output
25
CHAPTER 5
RESULTS
5.1 Protocol Testing
I2C and SWD were tested and taken at 3 different voltages:
I2C: Test cases were written to continuously read and write through I2C protocol. The flow
of instructions starts with sending the 16-bit data packet from python script to dutcomm.
This transfer of packet takes place through a communication object which acts as a handler
for communication between PC and dutcomm pioneer board. Once the board receives the
data packet, it is then sent through wires to the device under test. The data packet sent by the
dutcomm board is in 8-bits and each bit represents an instruction. Depending on the data bit,
DUT performs operations. The operation selection is done based on the switch case that is
selected depending on the received bit through dutcomm. The switch case resides in the
firmware of DUT.
Once the operation is selected, I2C master-slave functionality is performed and the
waveform has been captured below. The above test is run for three different voltages i.e
3.3V, 2.4V and 1.8V.
1. At 3.3V
Figure-5.1 I2C waveforms for DUT operating at 3.3V
2. 2.5V
26
Figure-5.2 I2C waveforms for DUT operating at 2.4V
3. 1.8V
Figure-5.3 I2C waveforms for DUT operating at 1.8V
The test case was run through the GUI made for automation. The time taken for running the test case
was reduced by 1.75 times and the response time was faster as compared to the earlier framework.
SWD: The test case to program the dut through dutcomm is done using SWD (Serial wire debug)
protocol. Regression testing was done at three different voltages i.e 3.3V, 2.4V and 1.8V. The GUI
proved to be robust and the engineer was able to complete the test cases properly.
1.
3.3V
Figure-5.4 SWD waveforms for DUT operating at 3.3V
2. 2.4V
Figure-5.5 SWD waveforms for DUT operating at 2.4V
27
3. 1.8V
Figure-5.6 SWD waveforms for DUT operating at 1.8V
I2C logs :
Figure-5.7 Logs for Automation framework test run
28
Automation Framework Home Page:
Figure-5.8 Home Page screen of automation GUI
29
CHAPTER 6
CONCLUSION AND FUTURE SCOPE
After discussing the design of Automation framework and successfully testing the
IPs, the project can be concluded. The process and methodology implemented to run
the automated test cases with minimal efforts are presented and concluded. Finally,
the future scope and learning outcome of this project are discussed in subsequent
sections.
6.1 Conclusion
Chipmaking industries cannot release faulted devices to customers because of the
losses
involved when device malfunctions during its operating cycle. Thus,
validating the silicon is one of the important phases in device manufacturing cycle.
But the additional cost and time should be kept to a minimum. As mentioned in the
first objective of this project, the test environment like the preparation of VRD, IP
programs, pattern file generation, voltage level setting, pin assignments etc. is done
and generates firmware which is then loaded on DUT. Once loading is complete,
GUI is used to run the test cases and get the logs. Thus, first objective of this project
is met.
Second objective of this project is to test the protocols and check the robustness of
the automation framework. Various
blocks of DUT are tested and continuous
regression tests are run to make the GUI suitable for all situations.
Third objective of reducing the documentation work for the IP engineers is met by
introducing the TestRail integration. Continuous development of the framework is
done through GITLAb integration.
6.2 Future Scope
The GUI and framework is a strong tool which can be used for debug purposes. This
tool will help engineers to save time during debug phase and will help them to spend
more time to understand and do advancements in the framework and validation
strategy.
30
BIBLIOGRAPHY
1. K. Basu and S. Kundu, Post-Silicon Validation and Diagnosis, 2016 29th
International Conference on VLSI Design and 2016 15th International Conference
on Embedded Systems (VLSID), 2016.
2. Wai Loon, Hock Thien, Bian Sim, Pre silicon validation methodology
breakthrough for 3D IC, INTERNATIONAL TEST CONFERENCE 1, 2018 IEEE
3. Kai-Hui Chang, Igor L. Markov , Valeria Bertacco, Automating post-silicon
debugging and repair, IEEE/ACM International Conference on Computer-Aided
Design, Digest of Technical Papers, 2007
4. Subhasish
Mitra,
Sanjit
A.
Seshia,
Nicola
Nicolici,
Post-Silicon
Validation-Opportunities, Challenges and Recent Advances, Verification, B8.1
Reliability, Testing and Fault Tolerance, B 8.2 Performance Analysis and Design
Aids, 2010
5. Keerthikumara Devarajegowda, Wolfgang Ecker, Meta-model Based Automation
of Properties for Pre-Silicon Verification, IFIP/IEEE International Conference on
Very Large Scale Integration (VLSI-SoC), 2018
6. A. Lathwal, A Literature Review on Automation Testing Using Selenium+Sikuli,
Research Anthology on Cross-Disciplinary Designs and Applications of
Automation, pp. 602,606, 2022
7. Y. Xin and Q. Wang, Web VI Layout Issue Detection in Internationalization
Automation
Testing,
2021
13th
International
Conference
on
Wireless
Communications and Signal Processing (WCSP), Oct. 2021.
8. S. D. R. Konreddy, The Impact of NLP on Software Testing, Journal of University
of Shanghai for Science and Technology, vol. 23, no. 08, pp. 295, 304, Aug. 2021
9. W. Junmei and Y. Chengkang, Automation Testing of Software Security Based on
BurpSuite, 2021 International Conference of Social Computing and Digital
Economy (ICSCDE), Aug. 2021.
10. E. Pelivani and B. Cico, A comparative study of automation testing tools for web
applications, 2021 10th Mediterranean Conference on Embedded Computing
(MECO), Jun. 2021.
11. S. Zhang, D. Fan, J. He, and P. Zhang, A New Approach for End to End
31
Automation Testing Platform with Cloud Computing for 5G Product, 2021
International Conference on Computer Engineering and Application (ICCEA), Jun.
2021.
12. K. N. Mohan and D. R. K. P, Scriptless GUI Automation Testing Tool for Web
Applications, International Journal of Recent Technology and Engineering
(IJRTE), vol. 10, no. 1, pp. 216, 219, May 2021
13. T Kishan Singh, Pavithra H, Test Case Recording using JavaScript for
Automation Testing , International Journal of Recent Technology and Engineering,
Vol 10 (1), pp. 153-157, 2021
14. Roopesh R, Dr. Manimala S, Test Coverage Enhancement Using Hybrid Modular
Approach For Web Based Application, International Journal of Engineering
Applied Sciences and Technology, Vol 6 (1), 2021
15. C. Klammer and R. Ramler, A Journey from Manual Testing to Automated Test
Generation in an Industry Project, 2017 IEEE International Conference on
Software Quality, Reliability and Security Companion (QRS-C), 2017, pp.
591-592,
16. Goshu Y. Y. Kitaw D. (2017). Performance measurement and its recent challenge:
A literature review. Int. J.Business Performance Management, 18(4), 381–402
17. Kaur M. Kumari R. (2011). Comparative study of automated testing tools:
Testcomplete and quicktest pro.International Journal of Computers and
Applications, 24(1), 1–7.
18. Raulamo-Jurvanen, P., Kakkonen, K., & Mantyla, M. 2016. Using Surveys and
Web-scarping to Select Tools for Software Testing Consultancy. In Proceedings of
the 17th International Conference on Product-Focused Software Process
Improvement.
19. Uppal N. Chopra V. (2012). Design and implementation in selenium ide with web
driver.International Journal of Computers and Applications, 46, 8–11
20. Wang, S., & Offutt, J. (2009). Comparison of unit-level automated test generation
tools. In Proceedings of the International Conference on IEEE Software Testing,
Verification and Validation Workshops ICSTW'09. IEEE Press
21. https://www.thefreedictionary.com/validation
32
22. https://guides.rubyonrails.org/active_record_validations.html
23. https://docs.aws.amazon.com/acm/latest/userguide/email-validation
24. https://docs.flutter.dev/cookbook/forms/validation
25. https://www.intel.com/content/www/us/en/collections/content-type/memory-valida
tion-results.html
26. https://dictionary.cambridge.org/us/dictionary/english/validation
27. https://laravel.com/docs/9.x/validation
28. https://pro.arcgis.com/en/pro-app/2.8/help/data/geodatabases/overview/validationattribute-rules.htm
29. https://graphql.org/learn/validation/
30. https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/validation
33
Report Plag
ORIGINALITY REPORT
8
%
SIMILARITY INDEX
7%
INTERNET SOURCES
3%
PUBLICATIONS
4%
STUDENT PAPERS
PRIMARY SOURCES
1
En.wikipedia.org
3%
2
people.eecs.berkeley.edu
2%
3
community.infineon.com
1%
4
www.gosemiandbeyond.com
1%
K. R. Aljazeera, R. Nandakumar, S. B. Ershad.
"Design and characterization of LBlock
cryptocore", 2016 International Conference on
Signal Processing, Communication, Power and
Embedded System (SCOPES), 2016
1%
5
Internet Source
Internet Source
Internet Source
Internet Source
Publication
6
Submitted to National Institute of Technology
Jamshedpur
<1 %
Keerthikumara Devarajegowda, Wolfgang
Ecker. "Meta-model Based Automation of
Properties for Pre-Silicon Verification", 2018
<1 %
Student Paper
7
IFIP/IEEE International Conference on Very
Large Scale Integration (VLSI-SoC), 2018
Publication
8
Submitted to The Open University of Hong
Kong
Student Paper
Exclude quotes
On
Exclude bibliography
On
Exclude matches
< 10 words
<1 %
IFIN HR- 2022
24-05-2022
CERTIFICATE
To Whom It May Concern
Formal Data:
Student Name:
TANISHA SHARMA
Institution:
SRM IST, Faculty of Engineering and Technology, Kattankulathur
Organization:
Infineon Technologies India Pvt. Ltd.
Project Instructors/ Managers: Marrivagu Vijay Kumar
Evaluation of work:
TANISHA SHARMA was working as a Student Trainee with us from 05-Jul-2021 till 31-Mar2022 and is working on project “Automation Framework for Silicon Validation”.
TANISHA SHARMA is an avid and independent learner, has good analytical & application skills
and has shown exemplary performance during the internship period.
We wish TANISHA SHARMA a long fruitful career and success in future endeavors.
For Infineon Technologies India Pvt. Ltd.
Thara Aiyanna
HR Manager
Infineon Technologies India Private Limited
Company Registration Number : 22413
Postal Address : 11 Mahatma Gandhi Road, Bengaluru 560 001
Internet www.infineon.com
Tel +(91) (80) 3927 1000
This is to certify that
Tanisha Sharma,Dr. K Suganthi
has presented a paper titled
Design and Simulation of Multi-gate Spin-FET using TCAD
CERTIFICATE OF PARTICIPATION
Download