memory/cache optimization
DESCRIPTION
Memory/Cache Optimization. Lochana Narayanan Suchitra Chandran. A Distributed BIST Control Scheme for Complex VLSI Devices. Yervant Zorian AT&T Bell Laboratories Princeton, NJ, 08540. Introduction. The problem in today’s VLSI devices. Power, noise and area overhead. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/1.jpg)
![Page 2: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/2.jpg)
Memory/Cache Optimization
Lochana NarayananSuchitra Chandran
![Page 3: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/3.jpg)
A Distributed BIST Control Scheme for
Complex VLSI Devices
Yervant Zorian
AT&T Bell Laboratories
Princeton, NJ, 08540
3/42
![Page 4: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/4.jpg)
Introduction• The problem in today’s VLSI devices.
– Power, noise and area overhead.
• Solution – BIST! (Built in self test)
4/42
![Page 5: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/5.jpg)
How BIST does it? It is used at all levels and reused at all consecutive
levels. Possible only when if BIST features are included in
devices. Devices are the building blocks – higher BIST levels
are built. So, device level BIST realization takes into account
the BIST requirements of all levels, device, MCM, board, system.
These requirements affect the BIST Execution Scheduling, hence the need for BIST Control Network.
5/42
![Page 6: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/6.jpg)
Existing Scheduling approaches
• Focus on optimizing the test time for random logic blocks.
• Problems in executing BIST in parallel :» Power and noise dissipation
» Higher activity rate
» Overpass the device package limits.
• New BIST scheduling process :» Power dissipation less
» Global optimization – block type, device floor plan and test time.
6/42
![Page 7: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/7.jpg)
New BIST Control Scheme
• Simplifies BIST Execution – Autonomous embedded block
– Simple and uniform interface protocol to communicate b/w controller and embedded blocks
– Distributed architecture
» Minimize routing cost – control elements placed close to BIST blocks
» Minimal control signals
7/42
![Page 8: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/8.jpg)
BIST Scheduling Process
• Analysis process where no hardware modifications are allowed.
• Prior to scheduling, 2 analysis processes are performed:
– Device partitioning
– BIST scheme selection
8/42
![Page 9: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/9.jpg)
Partitioning and BIST Control
• ASIC Z is a 132 pin standard device
» Partitioned into ten blocks
» Based on different criterion :
- Structural types – 4 RAMs 2 ROMs and Register File (RF)
-Random Logic blocks – RL1 and RL2
- High frequency blocks – RL3
9/42
![Page 10: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/10.jpg)
Partitioning and BIST Control Contd.
Each block requires Test Pattern Generator (TPG) Output Data Evaluator (ODE) BIST Resource Controller (BRC)
RL1 and RL2 – Pseudo random based TPG and polynomial based ODE
RF and 4 RAMs – 100% fault coverage TPG
ODE(RF) - provides zero loss of fault coverage
ODE(RAM)- performs output data comparison and space compaction
2 ROMs – TPG and ODE -> perform exhaustive test sets
10/42
![Page 11: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/11.jpg)
BIST Scheduling attributes
i. Power dissipation of each block
ii. Adjacency of blocks
iii. Type of each block
iv. Test time
11/42
![Page 12: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/12.jpg)
i. Power Dissipation Analysis
• BIST is executed at system clock rate• Adv. : full benefit is obtained
• Disadv. : higher activity rate -> excess power dissipation
• P=F.N.PG• F : Frequency
• N : Block size = number of grids
• PG : number of watts per active grid and activity rate (0.5 for BIST modes)
• Different modes : Normal, BIST active and BIST idle
• BIST Active – during execution of a block
• BIST Idle – during periods when it waits for other blocks to execute BIST.
• Total power dissipation = power from each block + power from input and output buffers.
12/42
![Page 13: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/13.jpg)
Power Dissipation Analysis Contd.
• Package limit of ASIC Z is 900mW.
• Based on the values in the table, the device power dissipation for parallel BIST execution is 2.332W.
• Hence BIST Scheduling for power optimization is necessary.
13/42
![Page 14: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/14.jpg)
ii. Grouping and Ordering• Create groups and proper sequence of each stage – BIST Execution
• Grouping and Ordering is dependent on the physical distribution of the blocks on the floor plan of a device.
• Grouping is done based on 2 conditions :
• BIST power dissipation has to be less than device limit
• Blocks in a group have to be physically adjacent
on floor plan.
• A profile which is the result of grouping and sequencing at device level is in a matrix format :
• Bij - block, i – single BIST stage, j – number of blocks
• For our example, we have :
14/42
![Page 15: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/15.jpg)
iii. Sharing and Test Time Optimization
• Sharing reduces hardware area by reducing redundancies.
• Sharing between blocks of same type: RAMs, random logic, since their BRCs are identical and TPGs and ODEs are different in parameters.
• Combine Boundary Scan with pseudo random TPGs on one hand and with ODEs on the other.
• Test time is a limited amount of time that is dedicated per device.
• BIST Execution takes only a minor fraction of the total test time as the other tests are far more time consuming.
15/42
![Page 16: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/16.jpg)
BIST Control Architecture
• Control operation has 4 functions:• External access to device level BIST.
• Control of BIST facilities of each block.
• Control of device BIST.
• Transfer of BIST response data.
• These functions are realized in 3 types of hierarchical controllers :
– External BIST Access Port
– BIST Resource Controllers (BRCs)
– BIST Control Network.
16/42
![Page 17: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/17.jpg)
External BIST Access Port
• Boundary Scan TAP is the external access port for the device BIST.
• For simple tests – use 1 controller, TAP finite machine and boundary scan instructions.
• For complex tests – separate controllers are required for each one of BIST control functions.
• BIST execution and BIST response data transfer are done via BS TAP – no additional pins dedicated for external BIST access.
17/42
![Page 18: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/18.jpg)
BIST Resource Controllers
• Individual BRCs have to be allocated because :– Number of blocks is in continuous growth.
– BIST schemes of each block are different.
• They are customized – TPG and ODE
• Sharing of non identical BRCs– low complexity – FSM
– Not cost effective
18/42
![Page 19: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/19.jpg)
BIST Control Network
• Executes the device BIST based on predetermined schedule.
• Functions :– Receives BIST execution via TAP and provides activation
signals.
– Collects and transfers BIST response when BIST completes.
• Advantages :– Division of control network – each function controls subsequent
BIST operation.
19/42
![Page 20: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/20.jpg)
Distributed BIST Control Network
• Centralized controllers for device level BIST control.
• Problems :– Routing area and number of control lines increase with the
increase in the number of BRCs
• For smaller number of blocks, centralized BIST control is possible.
• Optimizes cost of control lines. 20/42
![Page 21: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/21.jpg)
SBRIC Finite State Machine
• Distributed network has control elements called Scheduled BIST Resource Interface Controllers
21/42
![Page 22: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/22.jpg)
BIST control network
• Disadvantages :Accumulates signatures of all BISTed blocks to a common compactor – loss of diagnostic information.
•Advantages :
Provides not only group but also block level information.
22/42
![Page 23: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/23.jpg)
Conclusions- Generic BIST scheduling process and effective BIST control architecture.
- Scheduling provides power optimization.
- Control architecture provides autonomous BIST activation and capability to identify failed blocks.
Future Works- BIST network with additional diagnostic capabilities can be used for reconfiguration and repair operation.
- Development of scheduling processes that take into account multi level test restrictions.
23/42
![Page 24: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/24.jpg)
A Hybrid BIST Architecture and its Optimization for SoC Testing
Gert Jervan, Zebo Peng Raimund Ubar, Helena KruusLinköping University, Sweden Tallinn Technical University, Estonia
![Page 25: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/25.jpg)
OVERVIEW
![Page 26: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/26.jpg)
INTRODUCTIONINTRODUCTION
![Page 27: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/27.jpg)
BIST
![Page 28: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/28.jpg)
HYBRID BIST
![Page 29: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/29.jpg)
APPROACH OF THE PAPER
![Page 30: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/30.jpg)
TARGET HYBRID BIST ARCHIETECTURE
![Page 31: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/31.jpg)
TARGET HYBRID BIST ARCHIETECTURE
![Page 32: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/32.jpg)
COST of HYBRID BIST
![Page 33: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/33.jpg)
COST of HYBRID BIST
CGEN : cost related to the time for generating L pseudorandom test patterns (number of clock cycles)CMEM : related to the memory cost for storing S pre-computed testpatterns to improve the pseudorandom test setΒ, α : constants to map the test length and memory space to thecosts of the two parts of the test solutions to be mixed.
![Page 34: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/34.jpg)
COST CALCULATION FOR PSEUDORANDOM TEST
BIST Analysis Data
![Page 35: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/35.jpg)
COST CALCULATION FOR STORED TEST
Notations used
ALGORITHM 1
![Page 36: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/36.jpg)
Notations used
ALGORITHM 2
COST CALCULATION FOR STORED TEST
![Page 37: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/37.jpg)
TABU SEARCH
![Page 38: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/38.jpg)
RESULTS
L : length of pseudorandom sequence C: fault coverage CT : total cost of BISTS : number of test patterns generated by deterministic ATPG to be stored in BISTTG : the time (sec) needed for ATPG to generate the deterministic test setTA: the time(sec) needed for carrying out manipulations on fault tablesN : number of efficient patterns in the pseudorandom test sequenceT1,T1 : the time (sec) needed for calculating the cost curve by Algorithms 1 and 2T3 : the time (sec) to find the optimal cost by using Tabu searchTs: number of calculations in Tabu searchAcc : percentage accuracy of Tabu search solution compared to solution found from cost curve
![Page 39: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/39.jpg)
RESULTS
Percentage of test patterns in the optimized test sets compared to the original test sets
![Page 40: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/40.jpg)
RESULTS
Cost comparison of different methods.Cost of pseudorandom test is taken as 100%
![Page 41: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/41.jpg)
SUMMARY
![Page 42: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/42.jpg)
FUTURE WORK
![Page 43: Memory/Cache Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081419/568158b1550346895dc5ff9e/html5/thumbnails/43.jpg)
QUESTIONS