
<p> Simulating Variability 3 – Design for Yield</p><p>Learning Objectives</p><p>During this lab, you will use: 1. Variation block 2. Monte Carlo analysis 3. DCmatch analysis</p><p>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</p><p>Lab Duration: 90 minutes</p><p>Simulating Variability – Design for Yield Lab 3-1 Synopsys 60-I-032-BLG-005 Lab 3</p><p>Getting Started</p><p>If you need help… Use the lecture material, SOLD or the cheat sheets containined in the Cheat Sheet section of this lab.</p><p>Answers & Solutions This lab contains answers to all questions and results or solutions.</p><p>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.</p><p>Lab 3-2 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Lab 3</p><p>Background</p><p>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.</p><p>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.</p><p>Simulating Variability – Design for Yield Lab 3-3 Synopsys HSPICE Advanced Topics Lab 3</p><p>Instructions</p><p>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.</p><p>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.</p><p>1. Create a netlist for this circuit that will perform an operating point analysis and save the netlist.</p><p>2. Run HSPICE.</p><p>3. View the output results.</p><p>Question 1. What is the voltage on the connection point of the two resistors (node 12)?</p><p>...... </p><p>Lab 3-4 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Lab 3</p><p>Task 2. Add a Variation Block</p><p>1. Open the netlist and add a variation block. The variation block should have the following global variation definition: sigma of rsh 10 %.</p><p>Make sure you have a space between the number and the percent character.</p><p>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.</p><p>3. Add a measure to report the voltage on node 12 and save the netlist.</p><p>4. Run HSPICE.</p><p>5. View the output results.</p><p>Question 2. What is the voltage variation (sigma) on node 12?</p><p>...... </p><p>Question 3. Can you explain this result?</p><p>...... </p><p>Task 3. Measure Total Resistance</p><p>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.</p><p>2. Run HSPICE</p><p>3. View the output results.</p><p>Simulating Variability – Design for Yield Lab 3-5 Synopsys HSPICE Advanced Topics Lab 3</p><p>Question 4. What is the variation (sigma) in resistance?</p><p>...... </p><p>Question 5. What is the expected value?</p><p>...... </p><p>4. Open the netlist and increase the number of Monte Carlo samples to 100.</p><p>5. Repeat steps 2 and 3</p><p>6. Repeat steps 4 and 5 for 1000 and 10000 Monte Carlo samples.</p><p>Question 6. What results do you get for 100, 1000 and 10000 samples?</p><p>...... </p><p>Task 4. Local Variations</p><p>1. Open the netlist and add the following local variation: sigma of rsh 1.2%.</p><p>Check for the space between the number and the percent character.</p><p>2. Set the Monte Carlo analysis to run 1000 samples.</p><p>3. Run HSPICE.</p><p>4. View the output results.</p><p>Question 7. What is the voltage variation on node 12?</p><p>...... </p><p>Question 8. What is the variation in total resistance?</p><p>...... </p><p>5. Invoke CosmosScope and load the resulting measure file.</p><p>Lab 3-6 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Lab 3</p><p>6. Use CosmosScope to create histograms for the two variations from the measure file.</p><p>Detailed instructions are in the cheat sheet</p><p>Question 9. What would you call these distributions?</p><p>...... </p><p>Task 5. Turn Off Global Variations</p><p>1. Open the netlist and set the appropriate “ignore” option so that only local variations will be used.</p><p>2. Run HSPICE.</p><p>3. View the results.</p><p>Question 10. What is the voltage variation on node 12?</p><p>...... </p><p>Question 11. What is the variation in total resistance?</p><p>...... </p><p>Bonus question: What amount of variation in total resistance would you expect?</p><p>...... </p><p>Simulating Variability – Design for Yield Lab 3-7 Synopsys HSPICE Advanced Topics Lab 3</p><p>Task 6. Run DCmatch Analysis</p><p>4. Open the netlist and enable all variations.</p><p>5. Replace the Monte Carlo analysis with a DCmatch analysis. The output node should be node 12.</p><p>Measurements are not required and can be commented out.</p><p>6. Run HSPICE.</p><p>7. View the output results.</p><p>Question 12. From the tables, what is the contribution of r1?</p><p>...... </p><p>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.</p><p>1. Compare the local variation results from the Monte Carlo with those from the DCmatch analysis:</p><p>Question 13. What is the sigma of the divider ratio from the DCmatch analysis and from the Monte Carlo analysis?</p><p>...... </p><p>Question 14. How difficult it is to find the contribution of r1 for the two types of simulations?</p><p>...... </p><p>Lab 3-8 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Cheat Sheets Lab 3</p><p>Cheat Sheets</p><p>HSPICE Elements and Commands</p><p> 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)</p><p>Simulating Variability – Design for Yield Lab 3-9 Synopsys HSPICE Advanced Topics Lab 3Cheat Sheets</p><p>Use CosmosScope to Create a Histogram: To create a histogram use the following steps:</p><p>1. Open the calculator. The calculator is the 5th icon from the left in the bottom tool bar.</p><p>2. In the signal selection window, click with the left mouse button on the signal you want to create the histogram for.</p><p>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.</p><p>4. On the new Calculator Waveform Operation dialog, click ok. It is not necessary to change the default settings.</p><p>5. Back in the Calculator, click with the left mouse button on the icon with the green triangular wave. This plots the histogram.</p><p>.</p><p>Lab 3-10 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Answers/Solutions Lab 3</p><p>Answers and Solutions</p><p>Task 1. Basic Circuit</p><p>* 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</p><p>Question 1. What is the voltage on the connection point of the two resistors (node 12)?</p><p>500mV</p><p>Task 2. Add a Variation Block</p><p>* 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 %</p><p>Simulating Variability – Design for Yield Lab 3-11 Synopsys HSPICE Advanced Topics Lab 3Answers/Solutions</p><p>.end_global_variation .end_variation .dc v0 1 1 1 monte=10 .measure dc ratio avg v(12) .end</p><p>Question 2. What is the voltage variation (sigma) on node 12?</p><p>0</p><p>Question 2. Can you explain this result?</p><p>Global variation means that the same variation is applied to both resistors. The ratio does not change, so the variation is zero.</p><p>Task 3. Measure Total Resistance</p><p>Lab 3-12 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Answers/Solutions Lab 3</p><p>* 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</p><p>Question 3. What is the variation (sigma) in resistance?</p><p>161.6824</p><p>Question 4. What is the expected value?</p><p>200</p><p>Question 5. What results do you get for 100, 1000 and 10000 samples?</p><p>100 samples: 203.6132 1000 samples: 195.4005 10000 samples: 200.2858</p><p>Task 4. Local Variations</p><p>Simulating Variability – Design for Yield Lab 3-13 Synopsys HSPICE Advanced Topics Lab 3Answers/Solutions</p><p>* 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</p><p>Question 6. What is the voltage variation on node 12?</p><p>4.4393mV</p><p>Question 7. What is the variation in total resistance?</p><p>201.9161</p><p>Question 8. What would you call these distributions?</p><p>Gaussian or Normal distributions</p><p>Lab 3-14 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Answers/Solutions Lab 3</p><p>Task 5. Turn Off Global Variations</p><p>* 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</p><p>Question 9. What is now the voltage variation on node 12?</p><p>4.3507mV</p><p>Question 10. What is the variation in total resistance?</p><p>16.2496</p><p>Bonus Question What amount of variation in total resistance would you expect?</p><p>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.</p><p>Simulating Variability – Design for Yield Lab 3-15 Synopsys HSPICE Advanced Topics Lab 3Answers/Solutions</p><p>Task 6. Run DCmatch Analysis</p><p>* 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</p><p>Question 11. From the tables, what is the contribution of r1?</p><p>2.99mV</p><p>Task 7. Compare DCmatch and Monte Carlo Results</p><p>Question 12. What is the sigma of the divider ratio from DCmatch analysis and from Monte Carlo analysis?</p><p>DCmatch: 4.23m Monte Carlo: 4.35m</p><p>Question 13. How difficult it is to find the contribution of r1 for the two types of simulations?</p><p>The contribution information is readily available in the table from DCmatch analysis, but not from Monte Carlo analysis.</p><p>Lab 3-16 Simulating Variability – Design for Yield Synopsys HSPICE Advanced Topics Answers/Solutions Lab 3</p><p>This page was intentionally left blank.</p><p>Simulating Variability – Design for Yield Lab 3-17 Synopsys HSPICE Advanced Topics</p>
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages17 Page
-
File Size-