Word Lab Template

Total Page:16

File Type:pdf, Size:1020Kb

Word Lab Template

Simulating Variability 3 – Design for Yield

Learning Objectives

During this lab, you will use: 1. Variation block 2. Monte Carlo analysis 3. DCmatch analysis

After completing this lab, you should be able to:  Create a simple Variation Block  Set up and use Monte Carlo analysis  Set up and use DCmatch analysis  Use CosmosScope to view Monte Carlo results as histograms

Lab Duration: 90 minutes

Simulating Variability – Design for Yield Lab 3-1 Synopsys 60-I-032-BLG-005 Lab 3

Getting Started

If you need help… Use the lecture material, SOLD or the cheat sheets containined in the Cheat Sheet section of this lab.

Answers & Solutions This lab contains answers to all questions and results or solutions.

You are encouraged to verify your results by checking the Answers/Solutions section at the end of this lab. Note that your results might be slightly different, depending on HSPICE version and operating system.

Lab 3-2 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Lab 3

Background

Synopsys is embarking on a major effort to support statistical analysis of process variations in HSPICE. While certain tools have been around for a long time, a new approach was needed to address the issues of submicron technologies. The person who is developing the framework is Kishore Singhal, a Synopsys scientist. Kishore has extensive experience in this area, and he has used a relatively simple circuit to explain the concepts for many years. In honor of his contribution, we will use this circuit also in the lab for the variability feature. It consists of a voltage divider with two resistors, which have the same geometries. You will investigate how the total resistance (sum of the two resistors) and the divider ratio vary as a function of global and local variations.

Since the circuit is so simple, we ask you to enter the netlist manually. The different labs build onto each other, so that the amount of typing is small. At the end of this document, you will find a cheat sheet with the relevant HSPICE commands.

Simulating Variability – Design for Yield Lab 3-3 Synopsys HSPICE Advanced Topics Lab 3

Instructions

Task 1. Basic Circuit A simple way to find the divider ratio is to connect the two resistors to a 1V voltage source. The connection point then directly yields the divider ratio, with for example 0.5V corresponding to a ratio of 0.5.

The test circuit consists of a voltage source with a DC value of 1V, the negative side connected to ground. Two resistors in series are connected between the positive terminal and ground. Let us call the connection point of the two resistors node 12 for future reference. The resistors are physical devices, drawn as 2500nm long and 500nm wide. Their model contains a parameter for sheet resistivity, rsh, with a value of 200 Ohm. Therefore, each resistor will have a nominal value of 1000 Ohm.

1. Create a netlist for this circuit that will perform an operating point analysis and save the netlist.

2. Run HSPICE.

3. View the output results.

Question 1. What is the voltage on the connection point of the two resistors (node 12)?

......

Lab 3-4 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Lab 3

Task 2. Add a Variation Block

1. Open the netlist and add a variation block. The variation block should have the following global variation definition: sigma of rsh 10 %.

Make sure you have a space between the number and the percent character.

2. Replace operating point analysis with a single point dc sweep on source v0. The start, stop and step values should be 1. Add a Monte Carlo analysis with 10 samples.

3. Add a measure to report the voltage on node 12 and save the netlist.

4. Run HSPICE.

5. View the output results.

Question 2. What is the voltage variation (sigma) on node 12?

......

Question 3. Can you explain this result?

......

Task 3. Measure Total Resistance

1. Open the netlist and add a measure to report the combined resistance value. Use the expression par('-v(1)/i(v0)'), assuming that 1 is the node number on the positive side of the voltage source.

2. Run HSPICE

3. View the output results.

Simulating Variability – Design for Yield Lab 3-5 Synopsys HSPICE Advanced Topics Lab 3

Question 4. What is the variation (sigma) in resistance?

......

Question 5. What is the expected value?

......

4. Open the netlist and increase the number of Monte Carlo samples to 100.

5. Repeat steps 2 and 3

6. Repeat steps 4 and 5 for 1000 and 10000 Monte Carlo samples.

Question 6. What results do you get for 100, 1000 and 10000 samples?

......

Task 4. Local Variations

1. Open the netlist and add the following local variation: sigma of rsh 1.2%.

Check for the space between the number and the percent character.

2. Set the Monte Carlo analysis to run 1000 samples.

3. Run HSPICE.

4. View the output results.

Question 7. What is the voltage variation on node 12?

......

Question 8. What is the variation in total resistance?

......

5. Invoke CosmosScope and load the resulting measure file.

Lab 3-6 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Lab 3

6. Use CosmosScope to create histograms for the two variations from the measure file.

Detailed instructions are in the cheat sheet

Question 9. What would you call these distributions?

......

Task 5. Turn Off Global Variations

1. Open the netlist and set the appropriate “ignore” option so that only local variations will be used.

2. Run HSPICE.

3. View the results.

Question 10. What is the voltage variation on node 12?

......

Question 11. What is the variation in total resistance?

......

Bonus question: What amount of variation in total resistance would you expect?

......

Simulating Variability – Design for Yield Lab 3-7 Synopsys HSPICE Advanced Topics Lab 3

Task 6. Run DCmatch Analysis

4. Open the netlist and enable all variations.

5. Replace the Monte Carlo analysis with a DCmatch analysis. The output node should be node 12.

Measurements are not required and can be commented out.

6. Run HSPICE.

7. View the output results.

Question 12. From the tables, what is the contribution of r1?

......

Task 7. Compare DCmatch and Monte Carlo Results Monte Carlo analysis created results separately for global variations (Task 3) and local variations (Task 5). DCmatch analysis reports these results separately, in a single simulation.

1. Compare the local variation results from the Monte Carlo with those from the DCmatch analysis:

Question 13. What is the sigma of the divider ratio from the DCmatch analysis and from the Monte Carlo analysis?

......

Question 14. How difficult it is to find the contribution of r1 for the two types of simulations?

......

Lab 3-8 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Cheat Sheets Lab 3

Cheat Sheets

HSPICE Elements and Commands

voltage source vname node1 node2 dcval resistor with model rname node1 node2 modelname l=length w=width resistor model .model modelname r rsh=defaultsheetresistivity variation block .variation option optionname=optionvalue .global_variation modeltype modelname parametername=’expression’ .end_global_variation .local_variation modeltype modelname parametername=’expression’ .end_local_variation .end_variation dc sweep .dc sweepvariable start stop step dc sweep with Monte .dc sweepvariable start stop step Carlo + monte=numberofsamples measure (with dc .measure dc resultname function v(nodename) sweep) measure function avg or find v(nodename) at=sweepvalue measure with .measure dc resultname function expression + par(‘v(nodename)/i(sourcename)’) variation block options ignore_global_variation=yes dcmatch command .dcmatch v(nodename)

Simulating Variability – Design for Yield Lab 3-9 Synopsys HSPICE Advanced Topics Lab 3Cheat Sheets

Use CosmosScope to Create a Histogram: To create a histogram use the following steps:

1. Open the calculator. The calculator is the 5th icon from the left in the bottom tool bar.

2. In the signal selection window, click with the left mouse button on the signal you want to create the histogram for.

3. In the calculator, click with the middle button in the entry field, just below the icon with the green triangular wave. Then with the left mouse button click on the Wave button in the middle section of the calculator and select Histogram on the popup menu.

4. On the new Calculator Waveform Operation dialog, click ok. It is not necessary to change the default settings.

5. Back in the Calculator, click with the left mouse button on the icon with the green triangular wave. This plots the histogram.

.

Lab 3-10 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Answers/Solutions Lab 3

Answers and Solutions

Task 1. Basic Circuit

* Task 1 v0 1 0 1 r1 1 12 rmodel l=2500n w=500n r2 12 0 rmodel l=2500n w=500n .model rmodel r rsh=200 .op .end

Question 1. What is the voltage on the connection point of the two resistors (node 12)?

500mV

Task 2. Add a Variation Block

* Task 2 v0 1 0 1 r1 1 12 rmodel l=2500n w=500n r2 12 0 rmodel l=2500n w=500n .model rmodel r rsh=200 .variation .global_variation R rmodel rsh=10 %

Simulating Variability – Design for Yield Lab 3-11 Synopsys HSPICE Advanced Topics Lab 3Answers/Solutions

.end_global_variation .end_variation .dc v0 1 1 1 monte=10 .measure dc ratio avg v(12) .end

Question 2. What is the voltage variation (sigma) on node 12?

0

Question 2. Can you explain this result?

Global variation means that the same variation is applied to both resistors. The ratio does not change, so the variation is zero.

Task 3. Measure Total Resistance

Lab 3-12 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Answers/Solutions Lab 3

* Task 3 v0 1 0 1 r1 1 12 rmodel l=2500n w=500n r2 12 0 rmodel l=2500n w=500n .model rmodel r rsh=200 .variation .global_variation R rmodel rsh=10 % .end_global_variation .end_variation .dc v0 1 1 1 monte=10 .measure dc ratio avg v(12) .measure dc Rtotal avg par('-v(1)/i(v0)') .end

Question 3. What is the variation (sigma) in resistance?

161.6824

Question 4. What is the expected value?

200

Question 5. What results do you get for 100, 1000 and 10000 samples?

100 samples: 203.6132 1000 samples: 195.4005 10000 samples: 200.2858

Task 4. Local Variations

Simulating Variability – Design for Yield Lab 3-13 Synopsys HSPICE Advanced Topics Lab 3Answers/Solutions

* Task 4 v0 1 0 1 r1 1 12 rmodel l=2500n w=500n r2 12 0 rmodel l=2500n w=500n .model rmodel r rsh=200 .variation .global_variation R rmodel rsh=10 % .end_global_variation .local_variation R rmodel rsh=1.2 % .end_local_variation .end_variation .dc v0 1 1 1 monte=1000 .measure dc ratio avg v(12) .measure dc Rtotal avg par('-v(1)/i(v0)') .end

Question 6. What is the voltage variation on node 12?

4.4393mV

Question 7. What is the variation in total resistance?

201.9161

Question 8. What would you call these distributions?

Gaussian or Normal distributions

Lab 3-14 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Answers/Solutions Lab 3

Task 5. Turn Off Global Variations

* Task 5 v0 1 0 1 r1 1 12 rmodel l=2500n w=500n r2 12 0 rmodel l=2500n w=500n .model rmodel r rsh=200 .variation option ignore_global_variation=yes .global_variation R rmodel rsh=10 % .end_global_variation .local_variation R rmodel rsh=1.2 % .end_local_variation .end_variation .dc v0 1 1 1 monte=1000 .measure dc ratio avg v(12) .measure dc Rtotal avg par('-v(1)/i(v0)') .end

Question 9. What is now the voltage variation on node 12?

4.3507mV

Question 10. What is the variation in total resistance?

16.2496

Bonus Question What amount of variation in total resistance would you expect?

Each resistor has a value of 1000 Ohm. The local variation is 1.2%, or 12 Ohm. The variation on the series connection is sqrt(2)*12 Ohm=16.97 Ohm.

Simulating Variability – Design for Yield Lab 3-15 Synopsys HSPICE Advanced Topics Lab 3Answers/Solutions

Task 6. Run DCmatch Analysis

* Task 6 v0 1 0 1 r1 1 12 rmodel l=2500n w=500n r2 12 0 rmodel l=2500n w=500n .model rmodel r rsh=200 .variation .global_variation R rmodel rsh=10 % .end_global_variation .local_variation R rmodel rsh=1.2 % .end_local_variation .end_variation .dcmatch v(12) .end

Question 11. From the tables, what is the contribution of r1?

2.99mV

Task 7. Compare DCmatch and Monte Carlo Results

Question 12. What is the sigma of the divider ratio from DCmatch analysis and from Monte Carlo analysis?

DCmatch: 4.23m Monte Carlo: 4.35m

Question 13. How difficult it is to find the contribution of r1 for the two types of simulations?

The contribution information is readily available in the table from DCmatch analysis, but not from Monte Carlo analysis.

Lab 3-16 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Answers/Solutions Lab 3

This page was intentionally left blank.

Simulating Variability – Design for Yield Lab 3-17 Synopsys HSPICE Advanced Topics

Recommended publications