<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://ift.wiki.uib.no/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fli091</id>
	<title>ift - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://ift.wiki.uib.no/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fli091"/>
	<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/Special:Contributions/Fli091"/>
	<updated>2026-04-24T06:53:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2692</id>
		<title>Print schematics with Cadence</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2692"/>
		<updated>2018-03-24T13:51:06Z</updated>

		<summary type="html">&lt;p&gt;Fli091: /* Tips */  =Using the schematics in latex=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Print schematics from Cadence Virtuoso =&lt;br /&gt;
&lt;br /&gt;
This article will show you how to save your schematics in a vectorised format so they can be manipulated or embedded in a report or a thesis.&lt;br /&gt;
&lt;br /&gt;
Doing it this way, instead of &amp;quot;Export image&amp;quot; will result in something that looks useable and high resolution.&lt;br /&gt;
&lt;br /&gt;
It is based on this youtube-movie https://www.youtube.com/watch?v=JivgqYabhWI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Procedure ==&lt;br /&gt;
&lt;br /&gt;
1. Locate the file containing the plotter-setups. It comes with the technology package and is located here:&lt;br /&gt;
&lt;br /&gt;
  /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit&lt;br /&gt;
&lt;br /&gt;
2. Move the file to your own tsmc-folder&lt;br /&gt;
&lt;br /&gt;
  mv /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePrintWindow.png|300px|thumb|right|The print-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
3. Rename &amp;quot;your plotter&amp;quot;: Change line 18, &amp;quot;Encapsulated PostScript:&amp;quot; to &amp;quot;p1|Encapsulated PostScript:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  gedit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  vim ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
* If you get the error *Error* lessp: can&#039;t handle (nil &amp;lt;nil) you have to restart virtuoso for the plotters to be enabled&lt;br /&gt;
&lt;br /&gt;
4. Now to print. First you might want to set a paper size. This is done here:&lt;br /&gt;
&lt;br /&gt;
  File - Print - Plot Options ... - Paper Size &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure the &amp;quot;Plotter Name&amp;quot; is what you called your plotter (p1).&lt;br /&gt;
&lt;br /&gt;
5. Check the boxes &amp;quot;Fit to Page&amp;quot; and &amp;quot;Center plot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6. Uncheck the the box &amp;quot;Mail Log To&amp;quot; and check the box &amp;quot;Send Plot Only To File&amp;quot; and set the path to where you want your plots/prints/schematics to be stored. This is also where you decide on a filename&lt;br /&gt;
&lt;br /&gt;
  ~/tsmc/printedFromVirtuoso/voltageBuffer.ps&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePlotOptions.png|300px|thumb|right|The plot options-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
7. Make sure the folder you have set to save your files in exist or Virtuoso will just output a warning ala&lt;br /&gt;
&lt;br /&gt;
  *WARNING* (SCH-1266): Cannot write to file &amp;quot;~/tsmc/printedFromVirtuoso/buffer.ps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Create the folder:&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/tsmc/printedFromVirtuoso/&lt;br /&gt;
&lt;br /&gt;
8. Click  OK in the Plot Options windows &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9. Uncheck the &amp;quot;Plot with: header&amp;quot; box, just above the notes window&lt;br /&gt;
&lt;br /&gt;
10. Press OK to save the schematic. &lt;br /&gt;
&lt;br /&gt;
Now you can open the output.ps-file and it will look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Shaper.ps.jpg|center|thumb|The output of the Cadence postscript-printer converted to jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next schematics you want to plot you only have to &amp;quot;File - Print - Plot Options ...&amp;quot;, change your filename and press OK. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Disable all annotations ===&lt;br /&gt;
&lt;br /&gt;
Do the following twice, once to enable this (and disable anything else) and the one more time to disable it again&lt;br /&gt;
&lt;br /&gt;
  View - Annotations - Component Parameters&lt;br /&gt;
&lt;br /&gt;
This will make the schematic look cleaner and will hide fingers and channel lengths, etc. You could also do the same with net names, and possibly  hide instance labels&lt;br /&gt;
&lt;br /&gt;
 View - Hide Instance Labels&lt;br /&gt;
&lt;br /&gt;
=== Wider lines ===&lt;br /&gt;
&lt;br /&gt;
Open the outputfile (.ps) in a text editor and find &lt;br /&gt;
&lt;br /&gt;
  setlinewidth&lt;br /&gt;
&lt;br /&gt;
This set the width of all lines and can be changed to i.e. 2 for wider lines. &lt;br /&gt;
&lt;br /&gt;
  2 setlinewidth&lt;br /&gt;
&lt;br /&gt;
Note: if you have text (not disabled annotations etc) the letters might mix together.&lt;br /&gt;
&lt;br /&gt;
=== Sizing the &amp;quot;paper&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Changing the papersize from 5x5 to &amp;quot;unlimited&amp;quot; results in a larger plot, the filesize increased to 125%, but since PS is not a bitmap this is irrelevant as the schematic can be scaled to whatever size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using the schematics in latex ===&lt;br /&gt;
&lt;br /&gt;
I recommend converting the ps-files to PDF it you want to use them in a latex-document. The ps can&#039;t be used directly and would have to be converted to eps, and since one is already converting PDF is a better choice. The converted PDF files are also 1/3 to 1/4 the size of the ps- and the eps-files and can be used without hassle as long as one uses the &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  \usepackage{graphicx}-package.&lt;br /&gt;
&lt;br /&gt;
and the include the graphics like so&lt;br /&gt;
&lt;br /&gt;
  \begin{figure}[ptbh!]&lt;br /&gt;
      \centering&lt;br /&gt;
      \includegraphics[width=0.5\textwidth]{pictures/nmos_folded_cascode.pdf}&lt;br /&gt;
      \caption{Folded cascode amplifier with NMOS input transistor.}\label{fig:foldedCascode} &lt;br /&gt;
  \end{figure} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Convert the postscript(ps) to another format === &lt;br /&gt;
&lt;br /&gt;
On linux there are several tools that easily converts. For example &lt;br /&gt;
  &lt;br /&gt;
  epstopdf output.ps&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  ps2pdf output.ps output.pdf&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Results in a nice PDF to put in reports/theses. With ps2pdf the conversion can also be changed to output .png or .jpg&lt;br /&gt;
&lt;br /&gt;
An alternative way to convert is to open the output.ps in a PDF viewer. Choose &amp;quot;Print&amp;quot; and &amp;quot;Print to File&amp;quot; and save the file as a PDF.&lt;br /&gt;
&lt;br /&gt;
Note: some of these conversion might put the postscript-file on a large A4-paper with whitespace all around. Try epstopdf if this happens, it does not do that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2691</id>
		<title>Print schematics with Cadence</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2691"/>
		<updated>2018-03-24T12:47:33Z</updated>

		<summary type="html">&lt;p&gt;Fli091: /* Convert the postscript(ps) to another format */  typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Print schematics from Cadence Virtuoso =&lt;br /&gt;
&lt;br /&gt;
This article will show you how to save your schematics in a vectorised format so they can be manipulated or embedded in a report or a thesis.&lt;br /&gt;
&lt;br /&gt;
Doing it this way, instead of &amp;quot;Export image&amp;quot; will result in something that looks useable and high resolution.&lt;br /&gt;
&lt;br /&gt;
It is based on this youtube-movie https://www.youtube.com/watch?v=JivgqYabhWI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Procedure ==&lt;br /&gt;
&lt;br /&gt;
1. Locate the file containing the plotter-setups. It comes with the technology package and is located here:&lt;br /&gt;
&lt;br /&gt;
  /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit&lt;br /&gt;
&lt;br /&gt;
2. Move the file to your own tsmc-folder&lt;br /&gt;
&lt;br /&gt;
  mv /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePrintWindow.png|300px|thumb|right|The print-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
3. Rename &amp;quot;your plotter&amp;quot;: Change line 18, &amp;quot;Encapsulated PostScript:&amp;quot; to &amp;quot;p1|Encapsulated PostScript:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  gedit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  vim ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
* If you get the error *Error* lessp: can&#039;t handle (nil &amp;lt;nil) you have to restart virtuoso for the plotters to be enabled&lt;br /&gt;
&lt;br /&gt;
4. Now to print. First you might want to set a paper size. This is done here:&lt;br /&gt;
&lt;br /&gt;
  File - Print - Plot Options ... - Paper Size &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure the &amp;quot;Plotter Name&amp;quot; is what you called your plotter (p1).&lt;br /&gt;
&lt;br /&gt;
5. Check the boxes &amp;quot;Fit to Page&amp;quot; and &amp;quot;Center plot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6. Uncheck the the box &amp;quot;Mail Log To&amp;quot; and check the box &amp;quot;Send Plot Only To File&amp;quot; and set the path to where you want your plots/prints/schematics to be stored. This is also where you decide on a filename&lt;br /&gt;
&lt;br /&gt;
  ~/tsmc/printedFromVirtuoso/voltageBuffer.ps&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePlotOptions.png|300px|thumb|right|The plot options-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
7. Make sure the folder you have set to save your files in exist or Virtuoso will just output a warning ala&lt;br /&gt;
&lt;br /&gt;
  *WARNING* (SCH-1266): Cannot write to file &amp;quot;~/tsmc/printedFromVirtuoso/buffer.ps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Create the folder:&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/tsmc/printedFromVirtuoso/&lt;br /&gt;
&lt;br /&gt;
8. Click  OK in the Plot Options windows &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9. Uncheck the &amp;quot;Plot with: header&amp;quot; box, just above the notes window&lt;br /&gt;
&lt;br /&gt;
10. Press OK to save the schematic. &lt;br /&gt;
&lt;br /&gt;
Now you can open the output.ps-file and it will look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Shaper.ps.jpg|center|thumb|The output of the Cadence postscript-printer converted to jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next schematics you want to plot you only have to &amp;quot;File - Print - Plot Options ...&amp;quot;, change your filename and press OK. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Disable all annotations ===&lt;br /&gt;
&lt;br /&gt;
Do the following twice, once to enable this (and disable anything else) and the one more time to disable it again&lt;br /&gt;
&lt;br /&gt;
  View - Annotations - Component Parameters&lt;br /&gt;
&lt;br /&gt;
This will make the schematic look cleaner and will hide fingers and channel lengths, etc. You could also do the same with net names, and possibly  hide instance labels&lt;br /&gt;
&lt;br /&gt;
 View - Hide Instance Labels&lt;br /&gt;
&lt;br /&gt;
=== Wider lines ===&lt;br /&gt;
&lt;br /&gt;
Open the outputfile (.ps) in a text editor and find &lt;br /&gt;
&lt;br /&gt;
  setlinewidth&lt;br /&gt;
&lt;br /&gt;
This set the width of all lines and can be changed to i.e. 2 for wider lines. &lt;br /&gt;
&lt;br /&gt;
  2 setlinewidth&lt;br /&gt;
&lt;br /&gt;
Note: if you have text (not disabled annotations etc) the letters might mix together.&lt;br /&gt;
&lt;br /&gt;
=== Sizing the &amp;quot;paper&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Changing the papersize from 5x5 to &amp;quot;unlimited&amp;quot; results in a larger plot, the filesize increased to 125%, but since PS is not a bitmap this is irrelevant as the schematic can be scaled to whatever size.&lt;br /&gt;
&lt;br /&gt;
=== Convert the postscript(ps) to another format === &lt;br /&gt;
&lt;br /&gt;
On linux there are several tools that easily converts. For example &lt;br /&gt;
  &lt;br /&gt;
  ps2pdf output.ps output.pdf&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  epstopdf output.ps&lt;br /&gt;
&lt;br /&gt;
Results in a nice PDF to put in reports/theses. The conversion can also be changed to .png or .jpg&lt;br /&gt;
&lt;br /&gt;
An alternative way to convert is to open the outpus.ps in a PDF viewer. Choose &amp;quot;Print&amp;quot; and &amp;quot;Print to File&amp;quot; and save the file as a PDF.&lt;br /&gt;
&lt;br /&gt;
Note: some of these conversion might put the postscript-file on a large A4-paper with whitespace all around. Try epstopdf if this happens, it does not do that.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2690</id>
		<title>Print schematics with Cadence</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2690"/>
		<updated>2018-03-24T12:47:17Z</updated>

		<summary type="html">&lt;p&gt;Fli091: /* Convert the postscript(ps) to another format */ epstopdf conversion and whitespace around schematics&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Print schematics from Cadence Virtuoso =&lt;br /&gt;
&lt;br /&gt;
This article will show you how to save your schematics in a vectorised format so they can be manipulated or embedded in a report or a thesis.&lt;br /&gt;
&lt;br /&gt;
Doing it this way, instead of &amp;quot;Export image&amp;quot; will result in something that looks useable and high resolution.&lt;br /&gt;
&lt;br /&gt;
It is based on this youtube-movie https://www.youtube.com/watch?v=JivgqYabhWI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Procedure ==&lt;br /&gt;
&lt;br /&gt;
1. Locate the file containing the plotter-setups. It comes with the technology package and is located here:&lt;br /&gt;
&lt;br /&gt;
  /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit&lt;br /&gt;
&lt;br /&gt;
2. Move the file to your own tsmc-folder&lt;br /&gt;
&lt;br /&gt;
  mv /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePrintWindow.png|300px|thumb|right|The print-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
3. Rename &amp;quot;your plotter&amp;quot;: Change line 18, &amp;quot;Encapsulated PostScript:&amp;quot; to &amp;quot;p1|Encapsulated PostScript:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  gedit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  vim ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
* If you get the error *Error* lessp: can&#039;t handle (nil &amp;lt;nil) you have to restart virtuoso for the plotters to be enabled&lt;br /&gt;
&lt;br /&gt;
4. Now to print. First you might want to set a paper size. This is done here:&lt;br /&gt;
&lt;br /&gt;
  File - Print - Plot Options ... - Paper Size &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure the &amp;quot;Plotter Name&amp;quot; is what you called your plotter (p1).&lt;br /&gt;
&lt;br /&gt;
5. Check the boxes &amp;quot;Fit to Page&amp;quot; and &amp;quot;Center plot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6. Uncheck the the box &amp;quot;Mail Log To&amp;quot; and check the box &amp;quot;Send Plot Only To File&amp;quot; and set the path to where you want your plots/prints/schematics to be stored. This is also where you decide on a filename&lt;br /&gt;
&lt;br /&gt;
  ~/tsmc/printedFromVirtuoso/voltageBuffer.ps&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePlotOptions.png|300px|thumb|right|The plot options-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
7. Make sure the folder you have set to save your files in exist or Virtuoso will just output a warning ala&lt;br /&gt;
&lt;br /&gt;
  *WARNING* (SCH-1266): Cannot write to file &amp;quot;~/tsmc/printedFromVirtuoso/buffer.ps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Create the folder:&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/tsmc/printedFromVirtuoso/&lt;br /&gt;
&lt;br /&gt;
8. Click  OK in the Plot Options windows &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9. Uncheck the &amp;quot;Plot with: header&amp;quot; box, just above the notes window&lt;br /&gt;
&lt;br /&gt;
10. Press OK to save the schematic. &lt;br /&gt;
&lt;br /&gt;
Now you can open the output.ps-file and it will look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Shaper.ps.jpg|center|thumb|The output of the Cadence postscript-printer converted to jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next schematics you want to plot you only have to &amp;quot;File - Print - Plot Options ...&amp;quot;, change your filename and press OK. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Disable all annotations ===&lt;br /&gt;
&lt;br /&gt;
Do the following twice, once to enable this (and disable anything else) and the one more time to disable it again&lt;br /&gt;
&lt;br /&gt;
  View - Annotations - Component Parameters&lt;br /&gt;
&lt;br /&gt;
This will make the schematic look cleaner and will hide fingers and channel lengths, etc. You could also do the same with net names, and possibly  hide instance labels&lt;br /&gt;
&lt;br /&gt;
 View - Hide Instance Labels&lt;br /&gt;
&lt;br /&gt;
=== Wider lines ===&lt;br /&gt;
&lt;br /&gt;
Open the outputfile (.ps) in a text editor and find &lt;br /&gt;
&lt;br /&gt;
  setlinewidth&lt;br /&gt;
&lt;br /&gt;
This set the width of all lines and can be changed to i.e. 2 for wider lines. &lt;br /&gt;
&lt;br /&gt;
  2 setlinewidth&lt;br /&gt;
&lt;br /&gt;
Note: if you have text (not disabled annotations etc) the letters might mix together.&lt;br /&gt;
&lt;br /&gt;
=== Sizing the &amp;quot;paper&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Changing the papersize from 5x5 to &amp;quot;unlimited&amp;quot; results in a larger plot, the filesize increased to 125%, but since PS is not a bitmap this is irrelevant as the schematic can be scaled to whatever size.&lt;br /&gt;
&lt;br /&gt;
=== Convert the postscript(ps) to another format === &lt;br /&gt;
&lt;br /&gt;
On linux there are several tools that easily converts. For example &lt;br /&gt;
  &lt;br /&gt;
  ps2pdf output.ps output.pdf&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  epstopdf outpus.ps&lt;br /&gt;
&lt;br /&gt;
Results in a nice PDF to put in reports/theses. The conversion can also be changed to .png or .jpg&lt;br /&gt;
&lt;br /&gt;
An alternative way to convert is to open the outpus.ps in a PDF viewer. Choose &amp;quot;Print&amp;quot; and &amp;quot;Print to File&amp;quot; and save the file as a PDF.&lt;br /&gt;
&lt;br /&gt;
Note: some of these conversion might put the postscript-file on a large A4-paper with whitespace all around. Try epstopdf if this happens, it does not do that.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2689</id>
		<title>Print schematics with Cadence</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2689"/>
		<updated>2018-03-22T14:50:46Z</updated>

		<summary type="html">&lt;p&gt;Fli091: /* Convert the postscript(ps) to another format */  Save to File/PDF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Print schematics from Cadence Virtuoso =&lt;br /&gt;
&lt;br /&gt;
This article will show you how to save your schematics in a vectorised format so they can be manipulated or embedded in a report or a thesis.&lt;br /&gt;
&lt;br /&gt;
Doing it this way, instead of &amp;quot;Export image&amp;quot; will result in something that looks useable and high resolution.&lt;br /&gt;
&lt;br /&gt;
It is based on this youtube-movie https://www.youtube.com/watch?v=JivgqYabhWI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Procedure ==&lt;br /&gt;
&lt;br /&gt;
1. Locate the file containing the plotter-setups. It comes with the technology package and is located here:&lt;br /&gt;
&lt;br /&gt;
  /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit&lt;br /&gt;
&lt;br /&gt;
2. Move the file to your own tsmc-folder&lt;br /&gt;
&lt;br /&gt;
  mv /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePrintWindow.png|300px|thumb|right|The print-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
3. Rename &amp;quot;your plotter&amp;quot;: Change line 18, &amp;quot;Encapsulated PostScript:&amp;quot; to &amp;quot;p1|Encapsulated PostScript:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  gedit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  vim ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
* If you get the error *Error* lessp: can&#039;t handle (nil &amp;lt;nil) you have to restart virtuoso for the plotters to be enabled&lt;br /&gt;
&lt;br /&gt;
4. Now to print. First you might want to set a paper size. This is done here:&lt;br /&gt;
&lt;br /&gt;
  File - Print - Plot Options ... - Paper Size &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure the &amp;quot;Plotter Name&amp;quot; is what you called your plotter (p1).&lt;br /&gt;
&lt;br /&gt;
5. Check the boxes &amp;quot;Fit to Page&amp;quot; and &amp;quot;Center plot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6. Uncheck the the box &amp;quot;Mail Log To&amp;quot; and check the box &amp;quot;Send Plot Only To File&amp;quot; and set the path to where you want your plots/prints/schematics to be stored. This is also where you decide on a filename&lt;br /&gt;
&lt;br /&gt;
  ~/tsmc/printedFromVirtuoso/voltageBuffer.ps&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePlotOptions.png|300px|thumb|right|The plot options-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
7. Make sure the folder you have set to save your files in exist or Virtuoso will just output a warning ala&lt;br /&gt;
&lt;br /&gt;
  *WARNING* (SCH-1266): Cannot write to file &amp;quot;~/tsmc/printedFromVirtuoso/buffer.ps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Create the folder:&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/tsmc/printedFromVirtuoso/&lt;br /&gt;
&lt;br /&gt;
8. Click  OK in the Plot Options windows &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9. Uncheck the &amp;quot;Plot with: header&amp;quot; box, just above the notes window&lt;br /&gt;
&lt;br /&gt;
10. Press OK to save the schematic. &lt;br /&gt;
&lt;br /&gt;
Now you can open the output.ps-file and it will look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Shaper.ps.jpg|center|thumb|The output of the Cadence postscript-printer converted to jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next schematics you want to plot you only have to &amp;quot;File - Print - Plot Options ...&amp;quot;, change your filename and press OK. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Disable all annotations ===&lt;br /&gt;
&lt;br /&gt;
Do the following twice, once to enable this (and disable anything else) and the one more time to disable it again&lt;br /&gt;
&lt;br /&gt;
  View - Annotations - Component Parameters&lt;br /&gt;
&lt;br /&gt;
This will make the schematic look cleaner and will hide fingers and channel lengths, etc. You could also do the same with net names, and possibly  hide instance labels&lt;br /&gt;
&lt;br /&gt;
 View - Hide Instance Labels&lt;br /&gt;
&lt;br /&gt;
=== Wider lines ===&lt;br /&gt;
&lt;br /&gt;
Open the outputfile (.ps) in a text editor and find &lt;br /&gt;
&lt;br /&gt;
  setlinewidth&lt;br /&gt;
&lt;br /&gt;
This set the width of all lines and can be changed to i.e. 2 for wider lines. &lt;br /&gt;
&lt;br /&gt;
  2 setlinewidth&lt;br /&gt;
&lt;br /&gt;
Note: if you have text (not disabled annotations etc) the letters might mix together.&lt;br /&gt;
&lt;br /&gt;
=== Sizing the &amp;quot;paper&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Changing the papersize from 5x5 to &amp;quot;unlimited&amp;quot; results in a larger plot, the filesize increased to 125%, but since PS is not a bitmap this is irrelevant as the schematic can be scaled to whatever size.&lt;br /&gt;
&lt;br /&gt;
=== Convert the postscript(ps) to another format === &lt;br /&gt;
&lt;br /&gt;
On linux there are several tools that easily converts. For example &lt;br /&gt;
  &lt;br /&gt;
  ps2pdf output.ps output.pdf&lt;br /&gt;
&lt;br /&gt;
Results in a nice PDF to put in reports/theses. The conversion can also be changed to .png or .jpg&lt;br /&gt;
&lt;br /&gt;
An alternative way to convert is to open the outpus.ps in a PDF viewer. Choose &amp;quot;Print&amp;quot; and &amp;quot;Print to File&amp;quot; and save the file as a PDF.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2688</id>
		<title>Print schematics with Cadence</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2688"/>
		<updated>2018-03-22T14:46:49Z</updated>

		<summary type="html">&lt;p&gt;Fli091: /* Tips  */  Papersize and conversion to other formats&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Print schematics from Cadence Virtuoso =&lt;br /&gt;
&lt;br /&gt;
This article will show you how to save your schematics in a vectorised format so they can be manipulated or embedded in a report or a thesis.&lt;br /&gt;
&lt;br /&gt;
Doing it this way, instead of &amp;quot;Export image&amp;quot; will result in something that looks useable and high resolution.&lt;br /&gt;
&lt;br /&gt;
It is based on this youtube-movie https://www.youtube.com/watch?v=JivgqYabhWI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Procedure ==&lt;br /&gt;
&lt;br /&gt;
1. Locate the file containing the plotter-setups. It comes with the technology package and is located here:&lt;br /&gt;
&lt;br /&gt;
  /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit&lt;br /&gt;
&lt;br /&gt;
2. Move the file to your own tsmc-folder&lt;br /&gt;
&lt;br /&gt;
  mv /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePrintWindow.png|300px|thumb|right|The print-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
3. Rename &amp;quot;your plotter&amp;quot;: Change line 18, &amp;quot;Encapsulated PostScript:&amp;quot; to &amp;quot;p1|Encapsulated PostScript:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  gedit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  vim ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
* If you get the error *Error* lessp: can&#039;t handle (nil &amp;lt;nil) you have to restart virtuoso for the plotters to be enabled&lt;br /&gt;
&lt;br /&gt;
4. Now to print. First you might want to set a paper size. This is done here:&lt;br /&gt;
&lt;br /&gt;
  File - Print - Plot Options ... - Paper Size &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure the &amp;quot;Plotter Name&amp;quot; is what you called your plotter (p1).&lt;br /&gt;
&lt;br /&gt;
5. Check the boxes &amp;quot;Fit to Page&amp;quot; and &amp;quot;Center plot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6. Uncheck the the box &amp;quot;Mail Log To&amp;quot; and check the box &amp;quot;Send Plot Only To File&amp;quot; and set the path to where you want your plots/prints/schematics to be stored. This is also where you decide on a filename&lt;br /&gt;
&lt;br /&gt;
  ~/tsmc/printedFromVirtuoso/voltageBuffer.ps&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePlotOptions.png|300px|thumb|right|The plot options-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
7. Make sure the folder you have set to save your files in exist or Virtuoso will just output a warning ala&lt;br /&gt;
&lt;br /&gt;
  *WARNING* (SCH-1266): Cannot write to file &amp;quot;~/tsmc/printedFromVirtuoso/buffer.ps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Create the folder:&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/tsmc/printedFromVirtuoso/&lt;br /&gt;
&lt;br /&gt;
8. Click  OK in the Plot Options windows &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9. Uncheck the &amp;quot;Plot with: header&amp;quot; box, just above the notes window&lt;br /&gt;
&lt;br /&gt;
10. Press OK to save the schematic. &lt;br /&gt;
&lt;br /&gt;
Now you can open the output.ps-file and it will look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Shaper.ps.jpg|center|thumb|The output of the Cadence postscript-printer converted to jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next schematics you want to plot you only have to &amp;quot;File - Print - Plot Options ...&amp;quot;, change your filename and press OK. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Disable all annotations ===&lt;br /&gt;
&lt;br /&gt;
Do the following twice, once to enable this (and disable anything else) and the one more time to disable it again&lt;br /&gt;
&lt;br /&gt;
  View - Annotations - Component Parameters&lt;br /&gt;
&lt;br /&gt;
This will make the schematic look cleaner and will hide fingers and channel lengths, etc. You could also do the same with net names, and possibly  hide instance labels&lt;br /&gt;
&lt;br /&gt;
 View - Hide Instance Labels&lt;br /&gt;
&lt;br /&gt;
=== Wider lines ===&lt;br /&gt;
&lt;br /&gt;
Open the outputfile (.ps) in a text editor and find &lt;br /&gt;
&lt;br /&gt;
  setlinewidth&lt;br /&gt;
&lt;br /&gt;
This set the width of all lines and can be changed to i.e. 2 for wider lines. &lt;br /&gt;
&lt;br /&gt;
  2 setlinewidth&lt;br /&gt;
&lt;br /&gt;
Note: if you have text (not disabled annotations etc) the letters might mix together.&lt;br /&gt;
&lt;br /&gt;
=== Sizing the &amp;quot;paper&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Changing the papersize from 5x5 to &amp;quot;unlimited&amp;quot; results in a larger plot, the filesize increased to 125%, but since PS is not a bitmap this is irrelevant as the schematic can be scaled to whatever size.&lt;br /&gt;
&lt;br /&gt;
=== Convert the postscript(ps) to another format === &lt;br /&gt;
&lt;br /&gt;
On linux there are several tools that easily converts. For example &lt;br /&gt;
  &lt;br /&gt;
  ps2pdf output.ps output.pdf&lt;br /&gt;
&lt;br /&gt;
Results in a nice PDF to put in reports/theses. The conversion can also be changed to .png or .jpg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2687</id>
		<title>Print schematics with Cadence</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2687"/>
		<updated>2018-03-22T14:29:29Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Print schematics from Cadence Virtuoso =&lt;br /&gt;
&lt;br /&gt;
This article will show you how to save your schematics in a vectorised format so they can be manipulated or embedded in a report or a thesis.&lt;br /&gt;
&lt;br /&gt;
Doing it this way, instead of &amp;quot;Export image&amp;quot; will result in something that looks useable and high resolution.&lt;br /&gt;
&lt;br /&gt;
It is based on this youtube-movie https://www.youtube.com/watch?v=JivgqYabhWI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Procedure ==&lt;br /&gt;
&lt;br /&gt;
1. Locate the file containing the plotter-setups. It comes with the technology package and is located here:&lt;br /&gt;
&lt;br /&gt;
  /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit&lt;br /&gt;
&lt;br /&gt;
2. Move the file to your own tsmc-folder&lt;br /&gt;
&lt;br /&gt;
  mv /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePrintWindow.png|300px|thumb|right|The print-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
3. Rename &amp;quot;your plotter&amp;quot;: Change line 18, &amp;quot;Encapsulated PostScript:&amp;quot; to &amp;quot;p1|Encapsulated PostScript:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  gedit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  vim ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
* If you get the error *Error* lessp: can&#039;t handle (nil &amp;lt;nil) you have to restart virtuoso for the plotters to be enabled&lt;br /&gt;
&lt;br /&gt;
4. Now to print. First you might want to set a paper size. This is done here:&lt;br /&gt;
&lt;br /&gt;
  File - Print - Plot Options ... - Paper Size &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure the &amp;quot;Plotter Name&amp;quot; is what you called your plotter (p1).&lt;br /&gt;
&lt;br /&gt;
5. Check the boxes &amp;quot;Fit to Page&amp;quot; and &amp;quot;Center plot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6. Uncheck the the box &amp;quot;Mail Log To&amp;quot; and check the box &amp;quot;Send Plot Only To File&amp;quot; and set the path to where you want your plots/prints/schematics to be stored. This is also where you decide on a filename&lt;br /&gt;
&lt;br /&gt;
  ~/tsmc/printedFromVirtuoso/voltageBuffer.ps&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePlotOptions.png|300px|thumb|right|The plot options-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
7. Make sure the folder you have set to save your files in exist or Virtuoso will just output a warning ala&lt;br /&gt;
&lt;br /&gt;
  *WARNING* (SCH-1266): Cannot write to file &amp;quot;~/tsmc/printedFromVirtuoso/buffer.ps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Create the folder:&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/tsmc/printedFromVirtuoso/&lt;br /&gt;
&lt;br /&gt;
8. Click  OK in the Plot Options windows &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9. Uncheck the &amp;quot;Plot with: header&amp;quot; box, just above the notes window&lt;br /&gt;
&lt;br /&gt;
10. Press OK to save the schematic. &lt;br /&gt;
&lt;br /&gt;
Now you can open the output.ps-file and it will look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Shaper.ps.jpg|center|thumb|The output of the Cadence postscript-printer converted to jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next schematics you want to plot you only have to &amp;quot;File - Print - Plot Options ...&amp;quot;, change your filename and press OK. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tips to make the schematic look better ==&lt;br /&gt;
&lt;br /&gt;
=== Disable all annotations ===&lt;br /&gt;
&lt;br /&gt;
Do the following twice, once to enable this (and disable anything else) and the one more time to disable it again&lt;br /&gt;
&lt;br /&gt;
  View - Annotations - Component Parameters&lt;br /&gt;
&lt;br /&gt;
This will make the schematic look cleaner and will hide fingers and channel lengths, etc. You could also do the same with net names, and possibly  hide instance labels&lt;br /&gt;
&lt;br /&gt;
 View - Hide Instance Labels&lt;br /&gt;
&lt;br /&gt;
=== Wider lines ===&lt;br /&gt;
&lt;br /&gt;
Open the outputfile (.ps) in a text editor and find &lt;br /&gt;
&lt;br /&gt;
  setlinewidth&lt;br /&gt;
&lt;br /&gt;
This set the width of all lines and can be changed to i.e. 2 for wider lines. &lt;br /&gt;
&lt;br /&gt;
  2 setlinewidth&lt;br /&gt;
&lt;br /&gt;
Note: if you have text (not disabled annotations etc) the letters might mix together.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2686</id>
		<title>Print schematics with Cadence</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Print_schematics_with_Cadence&amp;diff=2686"/>
		<updated>2018-03-22T14:28:35Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Print schematics from Cadence Virtuoso =&lt;br /&gt;
&lt;br /&gt;
This article will show you how to save your schematics in a vectorised format so they can be manipulated or embedded in a report or a thesis.&lt;br /&gt;
&lt;br /&gt;
Doing it this way, instead of &amp;quot;Export image&amp;quot; will result in something that looks useable and high resolution.&lt;br /&gt;
&lt;br /&gt;
It is based on this youtube-movie https://www.youtube.com/watch?v=JivgqYabhWI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Procedure ==&lt;br /&gt;
&lt;br /&gt;
1. Locate the file containing the plotter-setups. It comes with the technology package and is located here:&lt;br /&gt;
&lt;br /&gt;
  /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit&lt;br /&gt;
&lt;br /&gt;
2. Move the file to your own tsmc-folder&lt;br /&gt;
&lt;br /&gt;
  mv /eda/cadence/2016-17/RHELx86/IC_6.1.7.704/tools.lnx86/plot/etc/cdsplotinit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePrintWindow.png|300px|thumb|right|The print-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
3. Rename &amp;quot;your plotter&amp;quot;: Change line 18, &amp;quot;Encapsulated PostScript:&amp;quot; to &amp;quot;p1|Encapsulated PostScript:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  gedit ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  vim ~/tsmc/.cdsplotinit&lt;br /&gt;
&lt;br /&gt;
* If you get the error *Error* lessp: can&#039;t handle (nil &amp;lt;nil) you have to restart virtuoso for the plotters to be enabled&lt;br /&gt;
&lt;br /&gt;
4. Now to print. First you might want to set a paper size. This is done here:&lt;br /&gt;
&lt;br /&gt;
  File - Print - Plot Options ... - Paper Size &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make sure the &amp;quot;Plotter Name&amp;quot; is what you called your plotter (p1).&lt;br /&gt;
&lt;br /&gt;
5. Check the boxes &amp;quot;Fit to Page&amp;quot; and &amp;quot;Center plot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6. Uncheck the the box &amp;quot;Mail Log To&amp;quot; and check the box &amp;quot;Send Plot Only To File&amp;quot; and set the path to where you want your plots/prints/schematics to be stored. This is also where you decide on a filename&lt;br /&gt;
&lt;br /&gt;
  ~/tsmc/printedFromVirtuoso/voltageBuffer.ps&lt;br /&gt;
&lt;br /&gt;
[[File:CadencePlotOptions.png|300px|thumb|right|The plot options-window in Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
7. Make sure the folder you have set to save your files in exist or Virtuoso will just output a warning ala&lt;br /&gt;
&lt;br /&gt;
  *WARNING* (SCH-1266): Cannot write to file &amp;quot;~/tsmc/printedFromVirtuoso/buffer.ps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Create the folder:&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/tsmc/printedFromVirtuoso/&lt;br /&gt;
&lt;br /&gt;
8. Click  OK in the Plot Options windows &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9. Uncheck the &amp;quot;Plot with: header&amp;quot; box, just above the notes window&lt;br /&gt;
&lt;br /&gt;
10. Press OK to save the schematic. &lt;br /&gt;
&lt;br /&gt;
Now you can open the output.ps-file and it will look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Shaper.ps.jpg|center|thumb|The output of the Cadence postscript-printer converted to jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next schematics you want to plot you only have to &amp;quot;File - Print - Plot Options ...&amp;quot;, change your filename and press OK. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tips to make the schematic look better === &lt;br /&gt;
&lt;br /&gt;
==== Disable all annotations ====&lt;br /&gt;
&lt;br /&gt;
Do the following twice, once to enable this (and disable anything else) and the one more time to disable it again&lt;br /&gt;
&lt;br /&gt;
  View - Annotations - Component Parameters&lt;br /&gt;
&lt;br /&gt;
This will make the schematic look cleaner and will hide fingers and channel lengths, etc. You could also do the same with net names, and possibly  hide instance labels&lt;br /&gt;
&lt;br /&gt;
 View - Hide Instance Labels&lt;br /&gt;
&lt;br /&gt;
==== Wider lines ==== &lt;br /&gt;
&lt;br /&gt;
Open the outputfile (.ps) in a text editor and find &lt;br /&gt;
&lt;br /&gt;
  setlinewidth&lt;br /&gt;
&lt;br /&gt;
This set the width of all lines and can be changed to i.e. 2 for wider lines. &lt;br /&gt;
&lt;br /&gt;
  2 setlinewidth&lt;br /&gt;
&lt;br /&gt;
Note: if you have text (not disabled annotations etc) the letters might mix together.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Shaper.ps.jpg&amp;diff=2684</id>
		<title>File:Shaper.ps.jpg</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Shaper.ps.jpg&amp;diff=2684"/>
		<updated>2018-03-22T14:24:16Z</updated>

		<summary type="html">&lt;p&gt;Fli091: The output of the Cadence postscript-printer converted to jpg for showing on the wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The output of the Cadence postscript-printer converted to jpg for showing on the wiki&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:CadencePlotOptions.png&amp;diff=2679</id>
		<title>File:CadencePlotOptions.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:CadencePlotOptions.png&amp;diff=2679"/>
		<updated>2018-03-22T13:46:34Z</updated>

		<summary type="html">&lt;p&gt;Fli091: A screenshot showing the plot options window in Cadence Virtuoso&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A screenshot showing the plot options window in Cadence Virtuoso&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:CadencePrintWindow.png&amp;diff=2678</id>
		<title>File:CadencePrintWindow.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:CadencePrintWindow.png&amp;diff=2678"/>
		<updated>2018-03-22T13:45:11Z</updated>

		<summary type="html">&lt;p&gt;Fli091: A screenshot of the print-window in Cadence Virtuoso&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A screenshot of the print-window in Cadence Virtuoso&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=User:Fli091&amp;diff=2675</id>
		<title>User:Fli091</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=User:Fli091&amp;diff=2675"/>
		<updated>2018-03-22T13:08:12Z</updated>

		<summary type="html">&lt;p&gt;Fli091: sandbox and category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[mailto:fli091@uib.no mailto:fli091@uib.no]&lt;br /&gt;
&lt;br /&gt;
== Sandbox ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Fli091/Print schematics with Cadence]]&lt;br /&gt;
&lt;br /&gt;
== Diverse lenker == &lt;br /&gt;
* [https://www.eda.ncsu.edu/wiki/FreePDK The FreePDKTM process design kit is an open-source, Open-Access-based PDK for the 45nm technology]&lt;br /&gt;
* [http://venividiwiki.ee.virginia.edu/mediawiki/index.php/ToolsCadenceTutorialsBasicSimulationOceanFreePDK Simulere med Cadence via OCEAN skript]&lt;br /&gt;
* [https://drive.google.com/file/d/0B8aUrqN1GG-DMl9Mc29rQnRpaVE/edit En presentasjon av hvordan lage OCEANskript]&lt;br /&gt;
&lt;br /&gt;
[[Category:Microelectronics Users|FredrikLindseth]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=GATE_tutorial&amp;diff=2573</id>
		<title>GATE tutorial</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=GATE_tutorial&amp;diff=2573"/>
		<updated>2017-11-28T10:33:36Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added Category:Mikroelektronikk to this page so is listed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction and overview ==&lt;br /&gt;
This is a simple tutorial for GATE (Geant4) installation and usage, originally presented as a workshop for the pCT group in March 2017.&lt;br /&gt;
 &lt;br /&gt;
# [http://geant4.in2p3.fr/spip.php?rubrique8 Geant4 and ROOT virtual machine]&lt;br /&gt;
# [http://wiki.opengatecollaboration.org/index.php/Compilation_Instructions_V8.0 Gate installation]&lt;br /&gt;
 &lt;br /&gt;
Agenda for the day is as follows:&lt;br /&gt;
#       An introduction to GATE macros, i.e. GATE input scripts&lt;br /&gt;
#       Setting up a simple simulation geometry in GATE using a proton bencil beam and a water phantom&lt;br /&gt;
#       Running short simulations&lt;br /&gt;
#       Examination of the GATE-output files&lt;br /&gt;
 &lt;br /&gt;
== GATE ==&lt;br /&gt;
&#039;&#039;Simulations of Preclinical and Clinical Scans in Emission Tomography, Transmission Tomography and Radiation Therapy&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Geant4 is a C++ library, where an application / simulation is built by writing certain C++ classes (geometry, beam, scoring, output, physics), and compiling the binaries from where the simulations are run. Only certain modifications to the simulations can be made with the binaries, such as beam settings, certain physics settings as well as geometry objects pre-defined to be variable.&lt;br /&gt;
&lt;br /&gt;
GATE is an application written for Geant4. It was originally meant for PET and SPECT uses, however it is very flexible so many different kinds of detectors can be designed. To run GATE, only macro files written in the Geant4 scripting language (with some GATE specific commands) are needed to build the geometry, scoring, physics and beam. The output is also defined in the macro files, either to ASCII files or to ROOT files.&lt;br /&gt;
&lt;br /&gt;
In each simulation, the user has to: &lt;br /&gt;
# define the scanner geometry &lt;br /&gt;
# set up the physics processes &lt;br /&gt;
# initialize the simulation &lt;br /&gt;
# set up the detector model &lt;br /&gt;
# define the source(s) &lt;br /&gt;
# specify the data output format&lt;br /&gt;
# start the acquisition&lt;br /&gt;
&lt;br /&gt;
=== Introduction to GATE macros ===&lt;br /&gt;
Gate, just as GEANT4, is a program in which the user interface is based on scripts. To perform actions, the user must either enter commands in interactive mode, or build up macro files containing an ordered collection of commands.&lt;br /&gt;
&lt;br /&gt;
Each command performs a particular function, and may require one or more parameters. The Gate commands are organized following a tree structure, with respect to the function they represent. For example, all geometry-control commands start with geometry, and they will all be found under the &#039;&#039;/geometry/&#039;&#039; branch of the tree structure.&lt;br /&gt;
&lt;br /&gt;
When Gate is run, the &#039;&#039;&#039;Idle&amp;gt;&#039;&#039;&#039; prompt appears. At this stage the command interpreter is active; i.e. all the Gate commands entered will be interpreted and processed on-line. All functions in Gate can be accessed to using command lines. The geometry of the system, the description of the radioactive source(s), the physical interactions considered, etc., can be parameterized using command lines, which are translated to the Gate kernel by the command interpreter. In this way, the simulation is defined one step at a time, and the actual construction of the geometry and definition of the simulation can be seen on-line. If the effect is not as expected, the user can decide to re-adjust the desired parameter by re-entering the appropriate command on-line. Although entering commands step by step can be useful when the user is experimenting with the software or when he/she is not sure how to construct the geometry, there remains a need for storing the set of commands that led to a successful simulation. &lt;br /&gt;
&lt;br /&gt;
Macros are ASCII files (with &#039;.mac&#039; extension) in which each line contains a command or a comment. Commands are GEANT4 or Gate scripted commands; comments start with the character &#039; #&#039;. Macros can be executed from within the command interpreter in Gate, or by passing it as a command-line parameter to Gate, or by calling it from another macro. A macro or set of macros must include all commands describing the different components of a simulation in the right order. Usually these components are visualization, definitions of volumes (geometry), systems, digitizer, physics, initialization, source, output and start. These steps are described in the next sections. A single simulation may be split into several macros, for instance one for the geometry, one for the physics, etc. Usually, there is a master macro which calls the more specific macros. Splitting macros allows the user to re-use one or more of these macros in several other simulations, and/or to organize the set of all commands. To execute a macro (mymacro.mac in this example) from the Linux prompt, just type :&lt;br /&gt;
&lt;br /&gt;
 Gate mymacro.mac &lt;br /&gt;
&lt;br /&gt;
To execute a macro from inside the Gate environment, type after the &amp;quot;Idle&amp;gt;&amp;quot; prompt:&lt;br /&gt;
 Idle&amp;gt;/control/execute mymacro.mac &lt;br /&gt;
&lt;br /&gt;
And finally, to execute a macro from inside another macro, simply write in the master macro:&lt;br /&gt;
 /control/execute mymacro.mac &lt;br /&gt;
&lt;br /&gt;
=== Setting up a simple simulation geometry in GATE using a pencil beam and a water phantom ===&lt;br /&gt;
&lt;br /&gt;
==== Visualization ====&lt;br /&gt;
First we may want to set up a visualization engine to see what&#039;s going on. This is optional, and runs in batch mode should not be visualized! Here we use the opengl visualizer OGLX, but different kinds of visualization engines are discussed in the [http://wiki.opengatecollaboration.org/index.php/Users_Guide_V7.2:Visualization GATE wiki]&lt;br /&gt;
   /vis/open OGLSX&lt;br /&gt;
   /vis/viewer/reset&lt;br /&gt;
   /vis/viewer/set/viewpointThetaPhi 60 60&lt;br /&gt;
   /vis/viewer/zoom 1&lt;br /&gt;
   /vis/viewer/set/style surface&lt;br /&gt;
   /vis/drawVolume&lt;br /&gt;
   /tracking/storeTrajectory 1&lt;br /&gt;
   /vis/scene/endOfEventAction accumulate&lt;br /&gt;
   /vis/viewer/update&lt;br /&gt;
Most of these commands are self explainatory. By using the storeTrajectory command, all particles are displayed together with the geometry.&lt;br /&gt;
&lt;br /&gt;
==== Materials database ====&lt;br /&gt;
The default material assigned to a new volume is Air. The list of available materials is defined in the GateMaterials.db file. It&#039;s included in the Gate folder, and should be copied to the active directory. It is easy to add new materials to the file, just have a look at the file.&lt;br /&gt;
   /gate/geometry/setMaterialDatabase MyMaterialDatabase.db&lt;br /&gt;
&lt;br /&gt;
==== Geometry ====&lt;br /&gt;
Apart from specialized geometries such as PET, SPECT, CT, the general geometry is called as &#039;&#039;scanner&#039;&#039;. It must be placed within the &#039;&#039;world&#039;&#039; volume, and all parts of the detector (to be scored) be placed within the &#039;&#039;scanner&#039;&#039; volume.&lt;br /&gt;
&lt;br /&gt;
[[File:geometry_hiarerachy.png|400px]]&lt;br /&gt;
&lt;br /&gt;
To construct a simple water phantom geometry of 30x30x30 cm, use the following commands:&lt;br /&gt;
   /gate/world/geometry/setXLength 1000. cm&lt;br /&gt;
   /gate/world/geometry/setYLength 1000. cm&lt;br /&gt;
   /gate/world/geometry/setZLength 1000. cm&lt;br /&gt;
So we&#039;ve defined a world geometry of 1 m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;. It must be larger than all its daughter volumes. Let&#039;s put the &#039;&#039;scanner&#039;&#039; volume inside the &#039;&#039;world&#039;&#039; volume. Since it&#039;s not already defined (the &#039;&#039;world&#039;&#039; volume was), we must insert a &#039;&#039;box&#039;&#039; object (with parameters XLength, YLength, ZLength as the side measurements of the box):&lt;br /&gt;
   /gate/world/daughters/name scanner&lt;br /&gt;
   /gate/world/daughters/insert box&lt;br /&gt;
   /gate/scanner/geometry/setXLength 100. cm&lt;br /&gt;
   /gate/scanner/geometry/setYLength 100. cm&lt;br /&gt;
   /gate/scanner/geometry/setZLength 100. cm&lt;br /&gt;
   /gate/scanner/placement/setTranslation 0 0 50. cm&lt;br /&gt;
   /gate/scanner/vis/forceWireframe&lt;br /&gt;
Inside this scanner volume (the default material is Air):&lt;br /&gt;
   /gate/scanner/daughters/name phantom&lt;br /&gt;
   /gate/scanner/daughters/insert box&lt;br /&gt;
   /gate/phantom/geometry/setXLength 30. cm&lt;br /&gt;
   /gate/phantom/geometry/setYLength 30. cm&lt;br /&gt;
   /gate/phantom/geometry/setZLength 30. cm&lt;br /&gt;
   /gate/phantom/placement/setTranslation 0 0 -15. cm&lt;br /&gt;
   /gate/phantom/setMaterial Water&lt;br /&gt;
   /gate/phantom/vis/forceWireframe&lt;br /&gt;
&lt;br /&gt;
It is possible to repeat volumes. The simple method is to use a linear replicator:&lt;br /&gt;
   /gate/phantom/repeaters/insert linear&lt;br /&gt;
   /gate/phantom/linear/autoCenter false&lt;br /&gt;
   /gate/phantom/linear/setRepeatNumber 10&lt;br /&gt;
   /gate/phantom/linear/setRepeatVector 0 0 35. cm&lt;br /&gt;
The autoCenter command: The original volume is anchored (false), instead of the center-of-mass of all copies being centered at that position (true).&lt;br /&gt;
&lt;br /&gt;
==== Sensitive Detectors ====&lt;br /&gt;
The scoring system in Geant4/GATE is based around &#039;&#039;Sensitive Detectors&#039;&#039; (SD). If a volume is a daughter volume (or grand-daughter, ...), it may be assigned as a SD. This process is super simple in GATE:&lt;br /&gt;
   /gate/phantom/attachCrystalSD&lt;br /&gt;
&lt;br /&gt;
If you want to define hierarchically repeated structures, such as layers or individually simulated pixels, they should be defined as a &#039;&#039;level&#039;&#039;:&lt;br /&gt;
   /gate/scanner/level1/attach phantom&lt;br /&gt;
   /gate/scanner/level2/attach repeatedStructureWithinPhantom&lt;br /&gt;
&lt;br /&gt;
And now you can use the ROOT leaf &#039;&#039;level1ID&#039;&#039; and &#039;&#039;level2ID&#039;&#039; to identify the volume.&lt;br /&gt;
&lt;br /&gt;
==== Physics ====&lt;br /&gt;
There are many physics lists to choose from in Geant4/GATE. For proton therapy and detector simulations, I most often use a combination of a low-energy-friendly hadronic list and the variable-steplength (for Bragg Peak accuracy) electromagnetic list.&lt;br /&gt;
From the [http://geant4.cern.ch/support/physicsLists/referencePL/referencePL.shtml Geant4 reference physics webpage]:&lt;br /&gt;
* QGSP: QGSP is the basic physics list applying the quark gluon string model for high energy interactions of protons, neutrons, pions, and Kaons and nuclei. The high energy interaction creates an exited nucleus, which is passed to the precompound model modeling the nuclear de-excitation.&lt;br /&gt;
* QGSP_BIC: Like QGSP, but using Geant4 Binary cascade for primary protons and neutrons with energies below ~10GeV, thus replacing the use of the LEP model for protons and neutrons In comparison to the LEP model, Binary cascade better describes production of secondary particles produced in interactions of protons and neutrons with nuclei.&lt;br /&gt;
* emstandard_opt3 designed for any applications required higher accuracy of electrons, hadrons and ion tracking without magnetic field. It is used in extended electromagnetic examples and in the QGSP_BIC_EMY reference Physics List.&lt;br /&gt;
&lt;br /&gt;
An overview over the different electromagnetic physics lists can be found [http://geant4.cern.ch/collaboration/working_groups/electromagnetic/physlist10.3.shtml here].&lt;br /&gt;
&lt;br /&gt;
The physics list to use all of these is called &#039;&#039;QGSP_BIC_EMY&#039;&#039;. It is loaded with the command&lt;br /&gt;
   /gate/physics/addPhysicsList QGSP_BIC_EMY&lt;br /&gt;
&lt;br /&gt;
In addition, in order to accurately represent the water in the water phantom, we define the current recommended value for the mean ionization potential for water, which is &amp;lt;math&amp;gt;75\ \mathrm{eV}&amp;lt;/math&amp;gt;. This can be performed for all materials, and it will override Bragg&#039;s additivity rule.&lt;br /&gt;
   /gate/geometry/setIonisationPotential Water 75 eV&lt;br /&gt;
&lt;br /&gt;
==== Initialization ====&lt;br /&gt;
After the geometry and physics has been set, initialize the run!&lt;br /&gt;
   /gate/run/initialize&lt;br /&gt;
&lt;br /&gt;
==== Proton beam ====&lt;br /&gt;
   /gate/source/addSource PBS PencilBeam&lt;br /&gt;
   /gate/source/PBS/setParticleType proton&lt;br /&gt;
   /gate/source/PBS/setEnergy 188.0 MeV&lt;br /&gt;
   /gate/source/PBS/setSigmaEnergy 1.0 MeV&lt;br /&gt;
   /gate/source/PBS/setPosition 0 0 -10. mm&lt;br /&gt;
   /gate/source/PBS/setSigmaX 2 mm&lt;br /&gt;
   /gate/source/PBS/setSigmaY 4 mm&lt;br /&gt;
   /gate/source/PBS/setSigmaTheta 3.3 mrad&lt;br /&gt;
   /gate/source/PBS/setSigmaPhi 3.8 mrad&lt;br /&gt;
   /gate/source/PBS/setEllipseXThetaEmittance 15 mm*mrad&lt;br /&gt;
   /gate/source/PBS/setEllipseXThetaRotationNorm negative&lt;br /&gt;
   /gate/source/PBS/setEllipseYPhiEmittance 20 mm*mrad&lt;br /&gt;
   /gate/source/PBS/setEllipseYPhiRotationNorm negative&lt;br /&gt;
   /gate/application/setTotalNumberOfPrimaries 5000&lt;br /&gt;
It is tricky to use this beam since all parameters need to match, so an &#039;&#039;&#039;alternative&#039;&#039;&#039; is to use a uniform General Particle Source:&lt;br /&gt;
   /gate/source/addSource uniformBeam gps&lt;br /&gt;
   /gate/source/uniformBeam/gps/particle proton&lt;br /&gt;
   /gate/source/uniformBeam/gps/ene/type Gauss&lt;br /&gt;
   /gate/source/uniformBeam/gps/ene/mono 188 MeV&lt;br /&gt;
   /gate/source/uniformBeam/gps/ene/sigma 1 MeV&lt;br /&gt;
   /gate/source/uniformBeam/gps/type Plane&lt;br /&gt;
   /gate/source/uniformBeam/gps/shape Square&lt;br /&gt;
   /gate/source/uniformBeam/gps/direction 0 0 1&lt;br /&gt;
   /gate/source/uniformBeam/gps/halfx 0 mm&lt;br /&gt;
   /gate/source/uniformBeam/gps/halfy 0 mm&lt;br /&gt;
   /gate/source/uniformBeam/gps/centre 0 0 -1 cm&lt;br /&gt;
   /gate/application/setTotalNumberOfPrimaries 5000&lt;br /&gt;
&lt;br /&gt;
==== Output ====&lt;br /&gt;
For this tutorial, we will use the ROOT output.&lt;br /&gt;
   /gate/output/root/enable&lt;br /&gt;
   /gate/output/root/setFileName gate_simulation&lt;br /&gt;
&lt;br /&gt;
==== Running the simulation ====&lt;br /&gt;
To finalize the macro file, start the randomization engine and run!&lt;br /&gt;
   /gate/random/setEngineName MersenneTwister&lt;br /&gt;
   /gate/random/setEngineSeed auto&lt;br /&gt;
   /gate/application/start&lt;br /&gt;
&lt;br /&gt;
=== Running short simulations ===&lt;br /&gt;
To run a simulation, create a macro file with the lines as descibed above, and run it with&lt;br /&gt;
   $ Gate waterphantom.mac&lt;br /&gt;
The terminal output describes the geometry, physics, etc. &lt;br /&gt;
If you want the visualization to be persistent, use instead&lt;br /&gt;
   $ Gate&lt;br /&gt;
   ... [TEXT]&lt;br /&gt;
   Idle&amp;gt; /control/execute waterphantom.mac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is also possible to use aliases in the macro file. For example, to simplify the energy selection, substitute with the line&lt;br /&gt;
   /gate/source/PBS/setEnergy {energy} MeV&lt;br /&gt;
and run the macro with&lt;br /&gt;
   $ Gate -a &#039;[energy,175]&#039; waterphantom.mac&lt;br /&gt;
Multiple aliases can be stacked:&lt;br /&gt;
   $ Gate -a &#039;[energy,175] [phantomsize,45]&#039; waterphantom.mac&lt;br /&gt;
if you have defined multiple alises in the macro file. It is sadly not possible to do calculations in the macro language, so you have to do that through bash (&amp;lt;code&amp;gt;newvalue=`echo &amp;quot;$oldvalue/2&amp;quot; | bc`&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Examination of the GATE output files ===&lt;br /&gt;
The ROOT output file(s) from the simulation can be opened several ways:&lt;br /&gt;
* By using the built-in &amp;lt;code&amp;gt;TBrowser&amp;lt;/code&amp;gt; to look at scoring variable distributions&lt;br /&gt;
* By using loading the ROOT Tree into a C++ program and looping over events (interactions)&lt;br /&gt;
&lt;br /&gt;
==== Using the built-in &amp;lt;code&amp;gt;TBrowser&amp;lt;/code&amp;gt; ====&lt;br /&gt;
The hierarchy for the files are shown in the image below:&lt;br /&gt;
&lt;br /&gt;
[[File:root_file_hierarchy.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
In Gate, the TTree is called &#039;&#039;Hits&#039;&#039;, and the leaves are named after the different variables that are automatically scored:&lt;br /&gt;
   PDGEncoding      - The Particle ID&lt;br /&gt;
   trackID          - Track number following a mother particle&lt;br /&gt;
   parentID         - The parent track&#039;s event ID. 0 if the current particle is a beam particle&lt;br /&gt;
   time             - Time in simulation (for ToF in PET, etc.)&lt;br /&gt;
   edep             - Deposited energy in this event / interaction&lt;br /&gt;
   stepLength       - The length of the current step&lt;br /&gt;
   posX             - Global X position of event&lt;br /&gt;
   posY             - Global Y position of event&lt;br /&gt;
   posZ             - Global Z position of event&lt;br /&gt;
   localPosX        - Local (in mother volume) X position of event&lt;br /&gt;
   localPosY        - Local (in mother volume) Y position of event&lt;br /&gt;
   localPosZ        - Local (in mother volume) Z position of event&lt;br /&gt;
   baseID           - ID of mother volume &#039;&#039;scanner&#039;&#039;, == 0 if only one &#039;&#039;scanner&#039;&#039; defined&lt;br /&gt;
   level1ID         - ID of 1st level of volume hierarchy&lt;br /&gt;
   level2ID         - ID of 2nd level of volume hierarchy&lt;br /&gt;
   level3ID         - ID of 3rd level of volume hierarchy&lt;br /&gt;
   level4ID         - ID of 4th level of volume hierarchy&lt;br /&gt;
   sourcePosX       - Global X position of source particle&lt;br /&gt;
   sourcePosY       - Global Y position of source particle&lt;br /&gt;
   sourcePosZ       - Global X position of source particle&lt;br /&gt;
   eventID          - History number (important!!)&lt;br /&gt;
   volumeID         - ID of current volume (useful to isolate particles in a specific part of a fully scored volume)&lt;br /&gt;
   processName      - A string containing the name of the interaction type:&lt;br /&gt;
      - hIoni: Ionization by hadron&lt;br /&gt;
      - Transportation: No special interactions (usually from step limiter)&lt;br /&gt;
      - eIoni: Ionization by electron&lt;br /&gt;
      - ProtonInelastic: Inelastic nuclear interaction of proton&lt;br /&gt;
      - compt: Compton scattering&lt;br /&gt;
      - ionIoni: Ionization by ion&lt;br /&gt;
      - msc: Multiple Coulomb Scattering process&lt;br /&gt;
      - hadElastic: Elastic hadron / proton scattering&lt;br /&gt;
&lt;br /&gt;
An example of the distribution of eventID (in histogram form, this is the number of interactions per particle (if bin size = 1))&lt;br /&gt;
   $ root&lt;br /&gt;
   ROOT [0] new TBrowser&lt;br /&gt;
&lt;br /&gt;
[[File:root.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
Or for the Z distribution (see the Bragg Peak)&lt;br /&gt;
&lt;br /&gt;
[[File:root2.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
==== Opening the files in C++ ====&lt;br /&gt;
It is quite simple to open the generated ROOT files in a C++ program.&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;code&amp;gt;openROOTFile.C&amp;lt;/code&amp;gt;:&lt;br /&gt;
   #include &amp;lt;TTree.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;TFile.h&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   using namespace std;&lt;br /&gt;
   &lt;br /&gt;
   void Run() {&lt;br /&gt;
      TFile *f = new TFile(&amp;quot;gate_simulation.root&amp;quot;);&lt;br /&gt;
      TTree *tree = (TTree*) f-&amp;gt;Get(&amp;quot;Hits&amp;quot;); // The TTree in the GATE file is called &#039;&#039;Hits&#039;&#039;&lt;br /&gt;
      &lt;br /&gt;
      // Declare the variables (leafs) to be readout&lt;br /&gt;
      Float_t x,y,z,edep;&lt;br /&gt;
      Int_t eventID, parentID;&lt;br /&gt;
      &lt;br /&gt;
      // Make a connection between the declared variables and the leafs&lt;br /&gt;
      tree-&amp;gt;SetBranchAddress(&amp;quot;posX&amp;quot;, &amp;amp;x);&lt;br /&gt;
      tree-&amp;gt;SetBranchAddress(&amp;quot;posY&amp;quot;, &amp;amp;y);&lt;br /&gt;
      tree-&amp;gt;SetBranchAddress(&amp;quot;posZ&amp;quot;, &amp;amp;z);&lt;br /&gt;
      tree-&amp;gt;SetBranchAddress(&amp;quot;edep&amp;quot;, &amp;amp;edep);&lt;br /&gt;
      tree-&amp;gt;SetBranchAddress(&amp;quot;eventID&amp;quot;, &amp;amp;eventID);&lt;br /&gt;
      tree-&amp;gt;SetBranchAddress(&amp;quot;parentID&amp;quot;, &amp;amp;parentID);&lt;br /&gt;
      &lt;br /&gt;
      // Loop over all the entries in the tree&lt;br /&gt;
      for (Int_t i=0, i &amp;lt; tree-&amp;gt;GetEntries(); ++i) {&lt;br /&gt;
         tree-&amp;gt;GetEntry(i);&lt;br /&gt;
         if (eventID &amp;gt; 2) break; // To limit the output!&lt;br /&gt;
         if (parentID != 0) continue; // Only show results from primary particles&lt;br /&gt;
   &lt;br /&gt;
         printf(&amp;quot;Primary particle with event ID %d has an interaction with %.2f MeV energy loss at (x,y,z) = (%.2f, %.2f, %.2f).\n&amp;quot;, eventID, edep, x, y, z);&lt;br /&gt;
      }&lt;br /&gt;
   &lt;br /&gt;
      delete f;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
Then you can run the program with&lt;br /&gt;
   $ root&lt;br /&gt;
   ROOT [0] .L openROOTFile.C+ // The + tells ROOT to compile the code&lt;br /&gt;
   ROOT [1] Run();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that it is also possible to make a complete class to read out the root files using ROOT&#039;s &amp;lt;code&amp;gt;MakeClass&amp;lt;/code&amp;gt; function. See [http://wiki.opengatecollaboration.org/index.php/Users_Guide_V7.2:Data_output#How_to_analyze_the_Root_output  &amp;quot;How to analyze the ROOT output&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
==== Test case: Finding the range and straggling of a proton beam ====&lt;br /&gt;
   #include &amp;lt;TTree.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;TH1F.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;TFile.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;TF1.h&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   using namespace std;&lt;br /&gt;
   &lt;br /&gt;
   void Run() {&lt;br /&gt;
      TFile  * f = new TFile(&amp;quot;gate_simulation.root&amp;quot;);&lt;br /&gt;
      TTree  * tree = (TTree*) f-&amp;gt;Get(&amp;quot;Hits&amp;quot;); // The TTree in the GATE file is called &#039;&#039;Hits&#039;&#039;&lt;br /&gt;
      TH1F   * rangeHistogram = new TH1F(&amp;quot;rangeHistogram&amp;quot;, &amp;quot;Stopping position for protons&amp;quot;; 800, 0, 400); // Histogram 1D with Float values&lt;br /&gt;
   &lt;br /&gt;
      Float_t  z;&lt;br /&gt;
      Int_t    eventID, parentID;&lt;br /&gt;
   &lt;br /&gt;
      Int_t    lastEventID = -1;&lt;br /&gt;
      Float_t  lastZ = -1;&lt;br /&gt;
      &lt;br /&gt;
      tree-&amp;gt;SetBranchAddress(&amp;quot;posZ&amp;quot;, &amp;amp;z);&lt;br /&gt;
      tree-&amp;gt;SetBranchAddress(&amp;quot;eventID&amp;quot;, &amp;amp;eventID);&lt;br /&gt;
      tree-&amp;gt;SetBranchAddress(&amp;quot;parentID&amp;quot;, &amp;amp;parentID);&lt;br /&gt;
      &lt;br /&gt;
      for (Int_t i=0, i &amp;lt; tree-&amp;gt;GetEntries(); ++i) {&lt;br /&gt;
         tree-&amp;gt;GetEntry(i);&lt;br /&gt;
         if (parentID != 0) continue;&lt;br /&gt;
         &lt;br /&gt;
         // Check if this is the first event of a primary particle&lt;br /&gt;
         if (eventID != lastEventID &amp;amp;&amp;amp; lastEventID &amp;gt;= 0) {&lt;br /&gt;
            rangeHistogram-&amp;gt;Fill(lastZ);&lt;br /&gt;
         }&lt;br /&gt;
   &lt;br /&gt;
         // Store the current variables&lt;br /&gt;
         lastZ = z;&lt;br /&gt;
         lastEventID = eventID;&lt;br /&gt;
      }&lt;br /&gt;
   &lt;br /&gt;
      rangeHistogram-&amp;gt;Draw();&lt;br /&gt;
    &lt;br /&gt;
      // Make a Gaussian fit to the range&lt;br /&gt;
      TF1 * fit = new TF1(&amp;quot;fit&amp;quot;, &amp;quot;gaus&amp;quot;);&lt;br /&gt;
      rangeHistogram-&amp;gt;Fit(&amp;quot;fit&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, 150, 250); // Most probable values for fit is in this range, ROOT is quite sensitive to Gaussians occupying only a small part of the histogram, so give narrow fit range&lt;br /&gt;
   &lt;br /&gt;
      printf(&amp;quot;The range of the proton beam is %.3f +- %.3f mm.\n&amp;quot;, fit-&amp;gt;GetParameter(1), fit-&amp;gt;GetParameter(2));  &lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
This time, the program will yield the following output (from a 250 MeV beam):&lt;br /&gt;
   The range of the proton beam is 378.225 mm +- 3.791 mm&lt;br /&gt;
&lt;br /&gt;
With the following histogram (I&#039;ve added some color and a SetOptFit to the legend)&lt;br /&gt;
&lt;br /&gt;
[[File:ranges.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=User:Fli091&amp;diff=2572</id>
		<title>User:Fli091</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=User:Fli091&amp;diff=2572"/>
		<updated>2017-11-28T10:32:21Z</updated>

		<summary type="html">&lt;p&gt;Fli091: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[mailto:fli091@uib.no mailto:fli091@uib.no]&lt;br /&gt;
&lt;br /&gt;
== Diverse lenker == &lt;br /&gt;
* [https://www.eda.ncsu.edu/wiki/FreePDK The FreePDKTM process design kit is an open-source, Open-Access-based PDK for the 45nm technology]&lt;br /&gt;
* [http://venividiwiki.ee.virginia.edu/mediawiki/index.php/ToolsCadenceTutorialsBasicSimulationOceanFreePDK Simulere med Cadence via OCEAN skript]&lt;br /&gt;
* [https://drive.google.com/file/d/0B8aUrqN1GG-DMl9Mc29rQnRpaVE/edit En presentasjon av hvordan lage OCEANskript]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2563</id>
		<title>MikroserverSetup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2563"/>
		<updated>2017-11-14T12:11:21Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Set-up of connection to mikroservers and cadence virtuoso  = &lt;br /&gt;
&lt;br /&gt;
This set-up will allow you to connect to the mikroservers and/or start Cadence virtuoso with one command without typing any password or host-names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;NB: This setup is for TSMC, but the commands can be tweaked to be used with IHP or AMS too.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The three mikroservers are :&lt;br /&gt;
* mikroserver1.klientdrift.uib.no&lt;br /&gt;
* mikroserver2.klientdrift.uib.no&lt;br /&gt;
* mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SSH key == &lt;br /&gt;
* Generate an ssh-key&lt;br /&gt;
 ssh-keygen -f ~/.ssh/id.rsa -t rsa -N &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Copy the key with your identity to your chosen mikroserver (mikroserver3 is chosen in this example). NB: Replace USERNAME with your user name&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id USERNAME@mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connection aliases ==&lt;br /&gt;
&lt;br /&gt;
For ease of use set up aliases for the connections in your terminal. Open .bashrc in a text editor (vim / nano) and type in this &lt;br /&gt;
&lt;br /&gt;
 alias mikroserver1=&#039;ssh -X USERNAME@mikroserver1.klientdrift.uib.no&#039;&lt;br /&gt;
 alias mikroserver2=&#039;ssh -X USERNAME@mikroserver2.klientdrift.uib.no&#039;&lt;br /&gt;
 alias mikroserver3=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&lt;br /&gt;
&lt;br /&gt;
Also create another alias for your favourite mikroserver &lt;br /&gt;
 echo &amp;quot;alias mikroserver=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatic sourcing ==&lt;br /&gt;
&lt;br /&gt;
Source scripts inside .bashrc. This will make sure the scripts are loaded every time you log in, so you don&#039;t have to do it manually&lt;br /&gt;
 # TSMC setup&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/2016-17/scripts/analog_flow.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/eda_general_init.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 # IHP setup&lt;br /&gt;
 echo &amp;quot;source ~/ihp/cds/sh.cadence&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
== Commands to run virtuoso remotely == &lt;br /&gt;
Then finally on the computers in the lab (NOT connected to the mikroservers)&lt;br /&gt;
 echo &amp;quot;alias virtuoso_tsmc=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd tsmc;virtuoso &amp;amp;&#039;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias virtuoso_ihp=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd ihp/cds;virtuoso &amp;amp;&#039;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
The next time you open your terminal on your computer you can type &lt;br /&gt;
 virtuoso_tsmc&lt;br /&gt;
to start Cadence Virtuoso, or &lt;br /&gt;
 mikroserver&lt;br /&gt;
to connect to mikroserver3 without any hassle!&lt;br /&gt;
&lt;br /&gt;
== Add mikroserver as a folder on your pc ==&lt;br /&gt;
&lt;br /&gt;
Open up your home folder in linux and in the bottom left  corner click &amp;quot;Connect to Server&amp;quot; as shown in this picture:&lt;br /&gt;
[[File:ConnectToServer.png|thumbnail]]&lt;br /&gt;
&lt;br /&gt;
as server address type:&lt;br /&gt;
 sftp://mikroserver3.ift.uib.no/home/USERNAME&lt;br /&gt;
to add your homefolder on mikroserver as a folder on your local PC for easy access to your files (for example the [[Transistor_operating_point_printer]])&lt;br /&gt;
To store this connection, right click the &amp;quot;mikroserver3&amp;quot;-folder and click &amp;quot;Add Bookmark&amp;quot;. The next time you just click the bookmark to open it.&lt;br /&gt;
&lt;br /&gt;
=== Alternative way using scp/secure copy===&lt;br /&gt;
If for some reason the above doesn’t work you can try this:&lt;br /&gt;
* connect to your mikroserver (ssh mikroserver3)&lt;br /&gt;
* locate the file you want to copy. i.e /home/fredrik/picture.jpg&lt;br /&gt;
* type this command&lt;br /&gt;
 scp picture.jpg USERNAME@login.uib.no:~&lt;br /&gt;
* this will copy the file to your home folder on any UiB machine&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* Make sure you copy your ID (ssh-copy-id) to the correct mikroserver&lt;br /&gt;
* Make sure you have restarted your terminal (or source ~/.bashrc) if the commands doesn&#039;t work&lt;br /&gt;
* You have to be either connected to the UiB VPN or run the commands via the computers in the lab to be able to connect to microserver&lt;br /&gt;
* If you are using another shell like zsh or csh the aliases has to be in ~/.zshrc or  ~/.cshrc instead of ~/.bashrc&lt;br /&gt;
* Make sure you have replaced all the instances of USERNAME with your usename, i.e &amp;quot;fli091&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2562</id>
		<title>MikroserverSetup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2562"/>
		<updated>2017-11-14T12:10:58Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added alternative way to get your files from mikroserver&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Set-up of connection to mikroservers and cadence virtuoso  = &lt;br /&gt;
&lt;br /&gt;
This set-up will allow you to connect to the mikroservers and/or start Cadence virtuoso with one command without typing any password or host-names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;NB: This setup is for TSMC, but the commands can be tweaked to be used with IHP or AMS too.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The three mikroservers are :&lt;br /&gt;
* mikroserver1.klientdrift.uib.no&lt;br /&gt;
* mikroserver2.klientdrift.uib.no&lt;br /&gt;
* mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SSH key == &lt;br /&gt;
* Generate an ssh-key&lt;br /&gt;
 ssh-keygen -f ~/.ssh/id.rsa -t rsa -N &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Copy the key with your identity to your chosen mikroserver (mikroserver3 is chosen in this example). NB: Replace USERNAME with your user name&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id USERNAME@mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connection aliases ==&lt;br /&gt;
&lt;br /&gt;
For ease of use set up aliases for the connections in your terminal. Open .bashrc in a text editor (vim / nano) and type in this &lt;br /&gt;
&lt;br /&gt;
 alias mikroserver1=&#039;ssh -X USERNAME@mikroserver1.klientdrift.uib.no&#039;&lt;br /&gt;
 alias mikroserver2=&#039;ssh -X USERNAME@mikroserver2.klientdrift.uib.no&#039;&lt;br /&gt;
 alias mikroserver3=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&lt;br /&gt;
&lt;br /&gt;
Also create another alias for your favourite mikroserver &lt;br /&gt;
 echo &amp;quot;alias mikroserver=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatic sourcing ==&lt;br /&gt;
&lt;br /&gt;
Source scripts inside .bashrc. This will make sure the scripts are loaded every time you log in, so you don&#039;t have to do it manually&lt;br /&gt;
 # TSMC setup&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/2016-17/scripts/analog_flow.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/eda_general_init.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 # IHP setup&lt;br /&gt;
 echo &amp;quot;source ~/ihp/cds/sh.cadence&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
== Commands to run virtuoso remotely == &lt;br /&gt;
Then finally on the computers in the lab (NOT connected to the mikroservers)&lt;br /&gt;
 echo &amp;quot;alias virtuoso_tsmc=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd tsmc;virtuoso &amp;amp;&#039;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias virtuoso_ihp=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd ihp/cds;virtuoso &amp;amp;&#039;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
The next time you open your terminal on your computer you can type &lt;br /&gt;
 virtuoso_tsmc&lt;br /&gt;
to start Cadence Virtuoso, or &lt;br /&gt;
 mikroserver&lt;br /&gt;
to connect to mikroserver3 without any hassle!&lt;br /&gt;
&lt;br /&gt;
== Add mikroserver as a folder on your pc ==&lt;br /&gt;
&lt;br /&gt;
Open up your home folder in linux and in the bottom left  corner click &amp;quot;Connect to Server&amp;quot; as shown in this picture:&lt;br /&gt;
[[File:ConnectToServer.png|thumbnail]]&lt;br /&gt;
&lt;br /&gt;
as server address type:&lt;br /&gt;
 sftp://mikroserver3.ift.uib.no/home/USERNAME&lt;br /&gt;
to add your homefolder on mikroserver as a folder on your local PC for easy access to your files (for example the [[Transistor_operating_point_printer]])&lt;br /&gt;
To store this connection, right click the &amp;quot;mikroserver3&amp;quot;-folder and click &amp;quot;Add Bookmark&amp;quot;. The next time you just click the bookmark to open it.&lt;br /&gt;
&lt;br /&gt;
=== Alternative way using scp/secure copy== &lt;br /&gt;
If for some reason the above doesn’t work you can try this:&lt;br /&gt;
* connect to your mikroserver (ssh mikroserver3)&lt;br /&gt;
* locate the file you want to copy. i.e /home/fredrik/picture.jpg&lt;br /&gt;
* type this command&lt;br /&gt;
 scp picture.jpg USERNAME@login.uib.no:~&lt;br /&gt;
* this will copy the file to your home folder on any UiB machine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* Make sure you copy your ID (ssh-copy-id) to the correct mikroserver&lt;br /&gt;
* Make sure you have restarted your terminal (or source ~/.bashrc) if the commands doesn&#039;t work&lt;br /&gt;
* You have to be either connected to the UiB VPN or run the commands via the computers in the lab to be able to connect to microserver&lt;br /&gt;
* If you are using another shell like zsh or csh the aliases has to be in ~/.zshrc or  ~/.cshrc instead of ~/.bashrc&lt;br /&gt;
* Make sure you have replaced all the instances of USERNAME with your usename, i.e &amp;quot;fli091&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=2561</id>
		<title>Cadence Virtuoso overview</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=2561"/>
		<updated>2017-11-11T16:08:02Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added link to another helpful thing / DCoperatingparameters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IC design flow using Cadence =&lt;br /&gt;
&lt;br /&gt;
We have access to several silicon technologies from different foundries&lt;br /&gt;
&lt;br /&gt;
* 130nm CMOS process from Taiwan Semiconductor Manufacturing: &#039;&#039;&#039;[[ TSMC 130nm process ]]&#039;&#039;&#039;&lt;br /&gt;
* 130nm SiGe process from Innovations for High Performance Microelectronics: &#039;&#039;&#039;[[ IHP 130nm process ]]&#039;&#039;&#039;&lt;br /&gt;
* 350nm  CMOS process from Austria Mikro Systeme: &#039;&#039;&#039;[[ AMS 350nm process ]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Simulation =&lt;br /&gt;
&lt;br /&gt;
[[Testbench|Virtuoso Testbench]]&lt;br /&gt;
&lt;br /&gt;
= Layout =&lt;br /&gt;
&lt;br /&gt;
[[Layout XL and IHP SG13S]]&lt;br /&gt;
&lt;br /&gt;
=Helpful stuff=&lt;br /&gt;
[[MikroserverSetup]] - setup for easy connection to the mikroservers and Cadence Virtuoso&lt;br /&gt;
&lt;br /&gt;
[[ Transistor operating point printer ]] - Script to extract transistor operating point parameters after simulation.&lt;br /&gt;
&lt;br /&gt;
[[DCoperatingparameters]] - Guide for showing transistor operating points in the schematic&lt;br /&gt;
&lt;br /&gt;
[[ ADEXL-butterfly-curves ]] - Howto make DC butterfly curves easily.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=DCoperatingparameters&amp;diff=2560</id>
		<title>DCoperatingparameters</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=DCoperatingparameters&amp;diff=2560"/>
		<updated>2017-11-11T15:59:04Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Created a guide to dc operating parameters in cadence virtuoso&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Show DC operating parameters =&lt;br /&gt;
This guide will show you how to show DC operating parameters like gm, R_{out} V_{th} etc for all your transistors in a Cadence schematic.&lt;br /&gt;
&lt;br /&gt;
If you just want to save all parameters to a file  have a look at this guide instead: [[Transistor operating point printer]]&lt;br /&gt;
&lt;br /&gt;
== Steps ==&lt;br /&gt;
# Create your circuit in a schematic&lt;br /&gt;
# Set up a DC simulation, check the &amp;quot;save operating point&amp;quot;-box in the creating of the test&lt;br /&gt;
# Go back to your schematic window and at the top-men click:&lt;br /&gt;
# View - Annotations - DC Operating Points. This will give a default selection of parameters [[File:AnnotationMenu.png|thumbnail|right|The annotation menu]]&lt;br /&gt;
# To chose which to view in your schematic go back to View - Annotations and at the bottom click &amp;quot;Setup..&amp;quot;&lt;br /&gt;
# Make sure the library-drop-down is showing &amp;quot;tsmc13rf&amp;quot; (or your transistor library), choose pmos in &amp;quot;Cell&amp;quot; and leave instance to &amp;quot;*&amp;quot; if you want to change it for all transistors in your sheet.&lt;br /&gt;
# Here you can see the list that is showing by default and three &amp;quot;free&amp;quot; cells at the rows Parameter:cdsPara(6), (7) and (8)&lt;br /&gt;
# Double click in the column &amp;quot;Expression&amp;quot; for those rows and select the parameter you want to show (i.e region, rout, gm, gds) [[File:AnnotationSetupWindow.png|100px|thumbnail|right|The annotation setup window]]&lt;br /&gt;
#* You might want to disable annotation of the first four rows here to hide some annotation noise&lt;br /&gt;
# Click apply and repeat the same steps for the nmos cell [[File:PmosWithDCParameters.png|thumbnail|right|PMOS with parameters showing]]&lt;br /&gt;
# Save this annotation set-up by clicking File - Save. Chose the default location to make it easy for yourself.  (If you don&#039;t save you have to do this set-up every time you close Virtuoso)&lt;br /&gt;
#* The next time you load your design just click View - Annotations - Setup.. and then File - Load - OK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Note == &lt;br /&gt;
* Region 0 is cutoff&lt;br /&gt;
* Region 1 is linear&lt;br /&gt;
* Region 2 is saturation&lt;br /&gt;
* Region 3 is subthreshold&lt;br /&gt;
* Region 4 is breakdown&lt;br /&gt;
&lt;br /&gt;
* Type 0 is nMOS&lt;br /&gt;
* Type 1 is pMOS&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:AnnotationSetupWindow.png&amp;diff=2559</id>
		<title>File:AnnotationSetupWindow.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:AnnotationSetupWindow.png&amp;diff=2559"/>
		<updated>2017-11-11T15:54:34Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Picture showing the annotation setup in Cadence Virtuoso&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Picture showing the annotation setup in Cadence Virtuoso&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:AnnotationMenu.png&amp;diff=2558</id>
		<title>File:AnnotationMenu.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:AnnotationMenu.png&amp;diff=2558"/>
		<updated>2017-11-11T15:53:36Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Picture showing the location of the annotation menu in Cadence Virtuso&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Picture showing the location of the annotation menu in Cadence Virtuso&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:PmosWithDCParameters.png&amp;diff=2557</id>
		<title>File:PmosWithDCParameters.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:PmosWithDCParameters.png&amp;diff=2557"/>
		<updated>2017-11-11T15:51:15Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Picture showing Cadence Virtuso with a pmos with DC operating parameters showing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Picture showing Cadence Virtuso with a pmos with DC operating parameters showing&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Transistor_operating_point_printer&amp;diff=2556</id>
		<title>Transistor operating point printer</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Transistor_operating_point_printer&amp;diff=2556"/>
		<updated>2017-11-11T15:21:01Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Link to another guide&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DC operating parameters from simulation = &lt;br /&gt;
This script can be used to print the operating point parameters of all transistors in your design and save them to a file. &lt;br /&gt;
&lt;br /&gt;
If you just want to view them in Virtusoso have a look at this guide instead: [[DCoperatingparameters]]&lt;br /&gt;
&lt;br /&gt;
== Get the DC operating points from a previous simulation ==&lt;br /&gt;
Navigate to the folder you want to save the script in (this tutorial uses the home (./) directory) and create a new file in the terminal by entering &amp;lt;code&amp;gt; touch transistors.ocn &amp;lt;/code&amp;gt;. Open the file by writing &amp;lt;code&amp;gt; gedit transistors.ocn &amp;amp; &amp;lt;/code&amp;gt; and copy the following script into the document. Change ./transistors.csv in the script if you want another output file name and/or location. Save the file.&lt;br /&gt;
 selectResult(&#039;dcOpInfo)&lt;br /&gt;
 report(?output &amp;quot;./transistors.csv&amp;quot; ?param list(&amp;quot;gm&amp;quot; &amp;quot;gmb&amp;quot; &amp;quot;gmoverid&amp;quot; &amp;quot;gds&amp;quot; &amp;quot;id&amp;quot; &amp;quot;idsat&amp;quot; &amp;quot;vth&amp;quot; &amp;quot;region&amp;quot; &amp;quot;cgs&amp;quot; &amp;quot;cgd&amp;quot; &amp;quot;self_gain&amp;quot; &amp;quot;type&amp;quot; &amp;quot;vds&amp;quot; &amp;quot;vdsat&amp;quot; &amp;quot;vgs&amp;quot;) ?format &amp;quot;spice&amp;quot; ?maxLineWidth 1000)&lt;br /&gt;
 &lt;br /&gt;
 file = outfile(&amp;quot;./transistors.csv&amp;quot; &amp;quot;a&amp;quot;)&lt;br /&gt;
 fprintf(file &amp;quot;\n\nRegion 0 is cutoff.\nRegion 1 is linear.\nRegion 2 is saturation .\nRegion 3 is subthreshold.\nRegion 4 is breakdown.\n\nType 0 is nMOS. \nType 1 is pMOS.&amp;quot;)&lt;br /&gt;
 close(file)&lt;br /&gt;
&lt;br /&gt;
For the IHP design kit use:&lt;br /&gt;
 selectResult(&#039;dcOpInfo)&lt;br /&gt;
 report(?output &amp;quot;./transistors.csv&amp;quot; ?param list(&amp;quot;model&amp;quot; &amp;quot;gm&amp;quot; &amp;quot;gmb&amp;quot; &amp;quot;gds&amp;quot; &amp;quot;ids&amp;quot; &amp;quot;idsat&amp;quot; &amp;quot;vth&amp;quot; &amp;quot;region&amp;quot; &amp;quot;cgs&amp;quot; &amp;quot;cgd&amp;quot; &amp;quot;vds&amp;quot; &amp;quot;vsat&amp;quot; &amp;quot;vgs&amp;quot;) ?format &amp;quot;spice&amp;quot; ?maxLineWidth 1000)&lt;br /&gt;
 &lt;br /&gt;
 file = outfile(&amp;quot;./transistors.csv&amp;quot; &amp;quot;a&amp;quot;)&lt;br /&gt;
 fprintf(file &amp;quot;\n\nRegion 0 is cutoff.\nRegion 1 is linear.\nRegion 2 is saturation .\nRegion 3 is subthreshold.\nRegion 4 is breakdown.\n\nType 0 is nMOS. \nType 1 is pMOS.&amp;quot;)&lt;br /&gt;
 close(file)&lt;br /&gt;
&lt;br /&gt;
This script uses the results from the previous Debug Test (from ADE XL Test Editor). Before running the script, run a test with DC analysis, and remember to check the box with &amp;quot;Save DC Operating Point&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
[[File:Run_debug_simulation.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After running DC analysis, run the script by entering the following into the Virtuoso Log Window (with file name and location as mentioned above): &amp;lt;code&amp;gt;load(&amp;quot;./transistors.ocn&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Run_transistors_script.png]]&lt;br /&gt;
&lt;br /&gt;
== Copy the file to your computer and convert the values == &lt;br /&gt;
After running the script, you can open the results file from the terminal using for example: &amp;lt;code&amp;gt; gedit transistors.csv &amp;amp; &amp;lt;/code&amp;gt; or alternatively to get the file out from mikroserver &lt;br /&gt;
to another computer try this: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a file named &amp;quot;Makefile&amp;quot; and put this into it:&lt;br /&gt;
&lt;br /&gt;
 # target that is the first (and default) and does all the stuff below&lt;br /&gt;
 all: get fix clean &lt;br /&gt;
 &lt;br /&gt;
 # gets the file from mikroserver3 and copies it to your computer in the root of your homefolder&lt;br /&gt;
 get :&lt;br /&gt;
        scp fli091@mikroserver3.ift.uib.no:~/tsmc/transistors.csv ~/transistors_raw.csv        &lt;br /&gt;
 &lt;br /&gt;
 # converts transitors.csv to a copy where all the postfixes for the SI units generated from Virtuoso (m, f, K etc), has been replaced with E-3, E-15, E+3 etc, so the values are useable in LibreOffice&lt;br /&gt;
 fix :&lt;br /&gt;
        sed -e &#039;s/\([0-9]\+\)m/\1E-3/g&#039; -e &#039;s/\([0-9]\+\)u/\1E-6/g&#039; -e &#039;s/\([0-9]\+\)n/\1E-9/g&#039; -e &#039;s/\([0-9]\+\)p/\1E-12/g&#039; -e &#039;s/\([0-9]\+\)f/\1E-15/g&#039; -e &#039;s/\([0-9]\+\)a/\1E-18/g&#039; -e &#039;s/\([0-9]\+\)z/\1E-21/g&#039; -e &#039;s/\([0-9]\+\)y/\1E-24/g&#039; -e &#039;s/\([0-9]\+\)K/\1E+3/g&#039; -e &#039;s/\([0-9]\+\)M/\1E+6/g&#039; -e &#039;s/\([0-9]\+\)G/\1E+9/g&#039; -e &#039;s/\([0-9]\+\)T/\1E+12/g&#039; transistors_raw.csv &amp;gt; transistors.csv&lt;br /&gt;
 &lt;br /&gt;
 # removes the not-fixed copy&lt;br /&gt;
 clean: &lt;br /&gt;
        rm transistors_raw.csv&lt;br /&gt;
&lt;br /&gt;
Modify the scp-command to use&lt;br /&gt;
* The username(and not fli091) in the scp-command&lt;br /&gt;
* change mikroserver if you are not using mikroserver3.&lt;br /&gt;
* change the folder on mikroserver where the transistors.csv is created, default is /home/$user/tsmc/&lt;br /&gt;
* change the local folder where you want your copy to be placed, default is /home/$user/&lt;br /&gt;
&lt;br /&gt;
Now you can type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in the folder you created the Makefile and the latestst simulation data will appear in your homefolder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open the file in Libre Office == &lt;br /&gt;
The resulting transistors.csv can then be imported into LibreOffice Calc (similar to Microsoft Excel) using File-&amp;gt;Open, then choose the .csv file and enter the settings as in the following image:&lt;br /&gt;
&lt;br /&gt;
[[File:Csv_import_libreoffice.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
For the scp-command to work without password you have to set up your connection as described in [[MikroserverSetup]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Transistor_operating_point_printer&amp;diff=2555</id>
		<title>Transistor operating point printer</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Transistor_operating_point_printer&amp;diff=2555"/>
		<updated>2017-11-01T12:51:08Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Commented the makefile&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DC operating parameters from simulation = &lt;br /&gt;
This script can be used to print the operating point parameters of all transistors in your design. &lt;br /&gt;
&lt;br /&gt;
== Get the DC operating points from a previous simulation ==&lt;br /&gt;
Navigate to the folder you want to save the script in (this tutorial uses the home (./) directory) and create a new file in the terminal by entering &amp;lt;code&amp;gt; touch transistors.ocn &amp;lt;/code&amp;gt;. Open the file by writing &amp;lt;code&amp;gt; gedit transistors.ocn &amp;amp; &amp;lt;/code&amp;gt; and copy the following script into the document. Change ./transistors.csv in the script if you want another output file name and/or location. Save the file.&lt;br /&gt;
 selectResult(&#039;dcOpInfo)&lt;br /&gt;
 report(?output &amp;quot;./transistors.csv&amp;quot; ?param list(&amp;quot;gm&amp;quot; &amp;quot;gmb&amp;quot; &amp;quot;gmoverid&amp;quot; &amp;quot;gds&amp;quot; &amp;quot;id&amp;quot; &amp;quot;idsat&amp;quot; &amp;quot;vth&amp;quot; &amp;quot;region&amp;quot; &amp;quot;cgs&amp;quot; &amp;quot;cgd&amp;quot; &amp;quot;self_gain&amp;quot; &amp;quot;type&amp;quot; &amp;quot;vds&amp;quot; &amp;quot;vdsat&amp;quot; &amp;quot;vgs&amp;quot;) ?format &amp;quot;spice&amp;quot; ?maxLineWidth 1000)&lt;br /&gt;
 &lt;br /&gt;
 file = outfile(&amp;quot;./transistors.csv&amp;quot; &amp;quot;a&amp;quot;)&lt;br /&gt;
 fprintf(file &amp;quot;\n\nRegion 0 is cutoff.\nRegion 1 is linear.\nRegion 2 is saturation .\nRegion 3 is subthreshold.\nRegion 4 is breakdown.\n\nType 0 is nMOS. \nType 1 is pMOS.&amp;quot;)&lt;br /&gt;
 close(file)&lt;br /&gt;
&lt;br /&gt;
For the IHP design kit use:&lt;br /&gt;
 selectResult(&#039;dcOpInfo)&lt;br /&gt;
 report(?output &amp;quot;./transistors.csv&amp;quot; ?param list(&amp;quot;model&amp;quot; &amp;quot;gm&amp;quot; &amp;quot;gmb&amp;quot; &amp;quot;gds&amp;quot; &amp;quot;ids&amp;quot; &amp;quot;idsat&amp;quot; &amp;quot;vth&amp;quot; &amp;quot;region&amp;quot; &amp;quot;cgs&amp;quot; &amp;quot;cgd&amp;quot; &amp;quot;vds&amp;quot; &amp;quot;vsat&amp;quot; &amp;quot;vgs&amp;quot;) ?format &amp;quot;spice&amp;quot; ?maxLineWidth 1000)&lt;br /&gt;
 &lt;br /&gt;
 file = outfile(&amp;quot;./transistors.csv&amp;quot; &amp;quot;a&amp;quot;)&lt;br /&gt;
 fprintf(file &amp;quot;\n\nRegion 0 is cutoff.\nRegion 1 is linear.\nRegion 2 is saturation .\nRegion 3 is subthreshold.\nRegion 4 is breakdown.\n\nType 0 is nMOS. \nType 1 is pMOS.&amp;quot;)&lt;br /&gt;
 close(file)&lt;br /&gt;
&lt;br /&gt;
This script uses the results from the previous Debug Test (from ADE XL Test Editor). Before running the script, run a test with DC analysis, and remember to check the box with &amp;quot;Save DC Operating Point&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
[[File:Run_debug_simulation.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After running DC analysis, run the script by entering the following into the Virtuoso Log Window (with file name and location as mentioned above): &amp;lt;code&amp;gt;load(&amp;quot;./transistors.ocn&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Run_transistors_script.png]]&lt;br /&gt;
&lt;br /&gt;
== Copy the file to your computer and convert the values == &lt;br /&gt;
After running the script, you can open the results file from the terminal using for example: &amp;lt;code&amp;gt; gedit transistors.csv &amp;amp; &amp;lt;/code&amp;gt; or alternatively to get the file out from mikroserver &lt;br /&gt;
to another computer try this: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a file named &amp;quot;Makefile&amp;quot; and put this into it:&lt;br /&gt;
&lt;br /&gt;
 # target that is the first (and default) and does all the stuff below&lt;br /&gt;
 all: get fix clean &lt;br /&gt;
 &lt;br /&gt;
 # gets the file from mikroserver3 and copies it to your computer in the root of your homefolder&lt;br /&gt;
 get :&lt;br /&gt;
        scp fli091@mikroserver3.ift.uib.no:~/tsmc/transistors.csv ~/transistors_raw.csv        &lt;br /&gt;
 &lt;br /&gt;
 # converts transitors.csv to a copy where all the postfixes for the SI units generated from Virtuoso (m, f, K etc), has been replaced with E-3, E-15, E+3 etc, so the values are useable in LibreOffice&lt;br /&gt;
 fix :&lt;br /&gt;
        sed -e &#039;s/\([0-9]\+\)m/\1E-3/g&#039; -e &#039;s/\([0-9]\+\)u/\1E-6/g&#039; -e &#039;s/\([0-9]\+\)n/\1E-9/g&#039; -e &#039;s/\([0-9]\+\)p/\1E-12/g&#039; -e &#039;s/\([0-9]\+\)f/\1E-15/g&#039; -e &#039;s/\([0-9]\+\)a/\1E-18/g&#039; -e &#039;s/\([0-9]\+\)z/\1E-21/g&#039; -e &#039;s/\([0-9]\+\)y/\1E-24/g&#039; -e &#039;s/\([0-9]\+\)K/\1E+3/g&#039; -e &#039;s/\([0-9]\+\)M/\1E+6/g&#039; -e &#039;s/\([0-9]\+\)G/\1E+9/g&#039; -e &#039;s/\([0-9]\+\)T/\1E+12/g&#039; transistors_raw.csv &amp;gt; transistors.csv&lt;br /&gt;
 &lt;br /&gt;
 # removes the not-fixed copy&lt;br /&gt;
 clean: &lt;br /&gt;
        rm transistors_raw.csv&lt;br /&gt;
&lt;br /&gt;
Modify the scp-command to use&lt;br /&gt;
* The username(and not fli091) in the scp-command&lt;br /&gt;
* change mikroserver if you are not using mikroserver3.&lt;br /&gt;
* change the folder on mikroserver where the transistors.csv is created, default is /home/$user/tsmc/&lt;br /&gt;
* change the local folder where you want your copy to be placed, default is /home/$user/&lt;br /&gt;
&lt;br /&gt;
Now you can type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in the folder you created the Makefile and the latestst simulation data will appear in your homefolder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open the file in Libre Office == &lt;br /&gt;
The resulting transistors.csv can then be imported into LibreOffice Calc (similar to Microsoft Excel) using File-&amp;gt;Open, then choose the .csv file and enter the settings as in the following image:&lt;br /&gt;
&lt;br /&gt;
[[File:Csv_import_libreoffice.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
For the scp-command to work without password you have to set up your connection as described in [[MikroserverSetup]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Transistor_operating_point_printer&amp;diff=2554</id>
		<title>Transistor operating point printer</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Transistor_operating_point_printer&amp;diff=2554"/>
		<updated>2017-11-01T12:48:38Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Remember to check the box with &amp;quot;Save DC Operating Point&amp;quot; !&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DC operating parameters from simulation = &lt;br /&gt;
This script can be used to print the operating point parameters of all transistors in your design. &lt;br /&gt;
&lt;br /&gt;
== Get the DC operating points from a previous simulation ==&lt;br /&gt;
Navigate to the folder you want to save the script in (this tutorial uses the home (./) directory) and create a new file in the terminal by entering &amp;lt;code&amp;gt; touch transistors.ocn &amp;lt;/code&amp;gt;. Open the file by writing &amp;lt;code&amp;gt; gedit transistors.ocn &amp;amp; &amp;lt;/code&amp;gt; and copy the following script into the document. Change ./transistors.csv in the script if you want another output file name and/or location. Save the file.&lt;br /&gt;
 selectResult(&#039;dcOpInfo)&lt;br /&gt;
 report(?output &amp;quot;./transistors.csv&amp;quot; ?param list(&amp;quot;gm&amp;quot; &amp;quot;gmb&amp;quot; &amp;quot;gmoverid&amp;quot; &amp;quot;gds&amp;quot; &amp;quot;id&amp;quot; &amp;quot;idsat&amp;quot; &amp;quot;vth&amp;quot; &amp;quot;region&amp;quot; &amp;quot;cgs&amp;quot; &amp;quot;cgd&amp;quot; &amp;quot;self_gain&amp;quot; &amp;quot;type&amp;quot; &amp;quot;vds&amp;quot; &amp;quot;vdsat&amp;quot; &amp;quot;vgs&amp;quot;) ?format &amp;quot;spice&amp;quot; ?maxLineWidth 1000)&lt;br /&gt;
 &lt;br /&gt;
 file = outfile(&amp;quot;./transistors.csv&amp;quot; &amp;quot;a&amp;quot;)&lt;br /&gt;
 fprintf(file &amp;quot;\n\nRegion 0 is cutoff.\nRegion 1 is linear.\nRegion 2 is saturation .\nRegion 3 is subthreshold.\nRegion 4 is breakdown.\n\nType 0 is nMOS. \nType 1 is pMOS.&amp;quot;)&lt;br /&gt;
 close(file)&lt;br /&gt;
&lt;br /&gt;
For the IHP design kit use:&lt;br /&gt;
 selectResult(&#039;dcOpInfo)&lt;br /&gt;
 report(?output &amp;quot;./transistors.csv&amp;quot; ?param list(&amp;quot;model&amp;quot; &amp;quot;gm&amp;quot; &amp;quot;gmb&amp;quot; &amp;quot;gds&amp;quot; &amp;quot;ids&amp;quot; &amp;quot;idsat&amp;quot; &amp;quot;vth&amp;quot; &amp;quot;region&amp;quot; &amp;quot;cgs&amp;quot; &amp;quot;cgd&amp;quot; &amp;quot;vds&amp;quot; &amp;quot;vsat&amp;quot; &amp;quot;vgs&amp;quot;) ?format &amp;quot;spice&amp;quot; ?maxLineWidth 1000)&lt;br /&gt;
 &lt;br /&gt;
 file = outfile(&amp;quot;./transistors.csv&amp;quot; &amp;quot;a&amp;quot;)&lt;br /&gt;
 fprintf(file &amp;quot;\n\nRegion 0 is cutoff.\nRegion 1 is linear.\nRegion 2 is saturation .\nRegion 3 is subthreshold.\nRegion 4 is breakdown.\n\nType 0 is nMOS. \nType 1 is pMOS.&amp;quot;)&lt;br /&gt;
 close(file)&lt;br /&gt;
&lt;br /&gt;
This script uses the results from the previous Debug Test (from ADE XL Test Editor). Before running the script, run a test with DC analysis, and remember to check the box with &amp;quot;Save DC Operating Point&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
[[File:Run_debug_simulation.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After running DC analysis, run the script by entering the following into the Virtuoso Log Window (with file name and location as mentioned above): &amp;lt;code&amp;gt;load(&amp;quot;./transistors.ocn&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Run_transistors_script.png]]&lt;br /&gt;
&lt;br /&gt;
== Copy the file to your computer and convert the values == &lt;br /&gt;
After running the script, you can open the results file from the terminal using for example: &amp;lt;code&amp;gt; gedit transistors.csv &amp;amp; &amp;lt;/code&amp;gt; or alternatively to get the file out from mikroserver &lt;br /&gt;
to another computer try this: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a file named &amp;quot;Makefile&amp;quot; and put this into it:&lt;br /&gt;
&lt;br /&gt;
 all: get fix clean &lt;br /&gt;
 &lt;br /&gt;
 get :&lt;br /&gt;
        scp fli091@mikroserver3.ift.uib.no:~/tsmc/transistors.csv ~/transistors_raw.csv        &lt;br /&gt;
 &lt;br /&gt;
 fix :&lt;br /&gt;
        sed -e &#039;s/\([0-9]\+\)m/\1E-3/g&#039; -e &#039;s/\([0-9]\+\)u/\1E-6/g&#039; -e &#039;s/\([0-9]\+\)n/\1E-9/g&#039; -e &#039;s/\([0-9]\+\)p/\1E-12/g&#039; -e &#039;s/\([0-9]\+\)f/\1E-15/g&#039; -e &#039;s/\([0-9]\+\)a/\1E-18/g&#039; -e &#039;s/\([0-9]\+\)z/\1E-21/g&#039; -e &#039;s/\([0-9]\+\)y/\1E-24/g&#039; -e &#039;s/\([0-9]\+\)K/\1E+3/g&#039; -e &#039;s/\([0-9]\+\)M/\1E+6/g&#039; -e &#039;s/\([0-9]\+\)G/\1E+9/g&#039; -e &#039;s/\([0-9]\+\)T/\1E+12/g&#039; transistors_raw.csv &amp;gt; transistors.csv&lt;br /&gt;
 &lt;br /&gt;
 clean: &lt;br /&gt;
        rm transistors_raw.csv&lt;br /&gt;
&lt;br /&gt;
Modify the scp-command to use&lt;br /&gt;
* The username(and not fli091) in the scp-command&lt;br /&gt;
* change mikroserver if you are not using mikroserver3.&lt;br /&gt;
* change the folder on mikroserver where the transistors.csv is created, default is /home/$user/tsmc/&lt;br /&gt;
* change the local folder where you want your copy to be placed, default is /home/$user/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A short explanation of the Makefile&lt;br /&gt;
* The get-target gets the file from mikroserver3 and copies it to your computer in the root of your homefolder&lt;br /&gt;
* The fix-target converts transitors.csv to a copy where all the postfixes for the SI units generated from Virtuoso (m, f, K etc), has been replaced with E-3, E-15, E+3 etc, so the values are useable in LibreOffice&lt;br /&gt;
* The clean-target just removes the not-fixed copy&lt;br /&gt;
&lt;br /&gt;
Now you can type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in the folder you created the Makefile and the latestst simulation data will appear in your homefolder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open the file in Libre Office == &lt;br /&gt;
The resulting transistors.csv can then be imported into LibreOffice Calc (similar to Microsoft Excel) using File-&amp;gt;Open, then choose the .csv file and enter the settings as in the following image:&lt;br /&gt;
&lt;br /&gt;
[[File:Csv_import_libreoffice.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
For the scp-command to work without password you have to set up your connection as described in [[MikroserverSetup]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2553</id>
		<title>MikroserverSetup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2553"/>
		<updated>2017-10-31T10:53:20Z</updated>

		<summary type="html">&lt;p&gt;Fli091: How to bookmark the mikroserver folder-connection&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Set-up of connection to mikroservers and cadence virtuoso  = &lt;br /&gt;
&lt;br /&gt;
This set-up will allow you to connect to the mikroservers and/or start Cadence virtuoso with one command without typing any password or host-names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;NB: This setup is for TSMC, but the commands can be tweaked to be used with IHP or AMS too.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The three mikroservers are :&lt;br /&gt;
* mikroserver1.klientdrift.uib.no&lt;br /&gt;
* mikroserver2.klientdrift.uib.no&lt;br /&gt;
* mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SSH key == &lt;br /&gt;
* Generate an ssh-key&lt;br /&gt;
 ssh-keygen -f ~/.ssh/id.rsa -t rsa -N &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Copy the key with your identity to your chosen mikroserver (mikroserver3 is chosen in this example). NB: Replace USERNAME with your user name&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id USERNAME@mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connection aliases ==&lt;br /&gt;
&lt;br /&gt;
For ease of use set up aliases for the connections in your terminal. Open .bashrc in a text editor (vim / nano) and type in this &lt;br /&gt;
&lt;br /&gt;
 alias mikroserver1=&#039;ssh -X USERNAME@mikroserver1.klientdrift.uib.no&#039;&lt;br /&gt;
 alias mikroserver2=&#039;ssh -X USERNAME@mikroserver2.klientdrift.uib.no&#039;&lt;br /&gt;
 alias mikroserver3=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&lt;br /&gt;
&lt;br /&gt;
Also create another alias for your favourite mikroserver &lt;br /&gt;
 echo &amp;quot;alias mikroserver=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatic sourcing ==&lt;br /&gt;
&lt;br /&gt;
Source scripts inside .bashrc. This will make sure the scripts are loaded every time you log in, so you don&#039;t have to do it manually&lt;br /&gt;
 # TSMC setup&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/2016-17/scripts/analog_flow.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/eda_general_init.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 # IHP setup&lt;br /&gt;
 echo &amp;quot;source ~/ihp/cds/sh.cadence&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
== Commands to run virtuoso remotely == &lt;br /&gt;
Then finally on the computers in the lab (NOT connected to the mikroservers)&lt;br /&gt;
 echo &amp;quot;alias virtuoso_tsmc=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd tsmc;virtuoso &amp;amp;&#039;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias virtuoso_ihp=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd ihp/cds;virtuoso &amp;amp;&#039;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
The next time you open your terminal on your computer you can type &lt;br /&gt;
 virtuoso_tsmc&lt;br /&gt;
to start Cadence Virtuoso, or &lt;br /&gt;
 mikroserver&lt;br /&gt;
to connect to mikroserver3 without any hassle!&lt;br /&gt;
&lt;br /&gt;
== Add mikroserver as a folder on your pc ==&lt;br /&gt;
&lt;br /&gt;
Open up your home folder in linux and in the bottom left  corner click &amp;quot;Connect to Server&amp;quot; as shown in this picture:&lt;br /&gt;
[[File:ConnectToServer.png|thumbnail]]&lt;br /&gt;
&lt;br /&gt;
as server address type:&lt;br /&gt;
 sftp://mikroserver3.ift.uib.no/home/USERNAME&lt;br /&gt;
to add your homefolder on mikroserver as a folder on your local PC for easy access to your files (for example the [[Transistor_operating_point_printer]])&lt;br /&gt;
To store this connection, right click the &amp;quot;mikroserver3&amp;quot;-folder and click &amp;quot;Add Bookmark&amp;quot;. The next time you just click the bookmark to open it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* Make sure you copy your ID (ssh-copy-id) to the correct mikroserver&lt;br /&gt;
* Make sure you have restarted your terminal (or source ~/.bashrc) if the commands doesn&#039;t work&lt;br /&gt;
* You have to be either connected to the UiB VPN or run the commands via the computers in the lab to be able to connect to microserver&lt;br /&gt;
* If you are using another shell like zsh or csh the aliases has to be in ~/.zshrc or  ~/.cshrc instead of ~/.bashrc&lt;br /&gt;
* Make sure you have replaced all the instances of USERNAME with your usename, i.e &amp;quot;fli091&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2552</id>
		<title>MikroserverSetup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2552"/>
		<updated>2017-10-31T10:51:33Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added description to add mikroserver as a folder&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Set-up of connection to mikroservers and cadence virtuoso  = &lt;br /&gt;
&lt;br /&gt;
This set-up will allow you to connect to the mikroservers and/or start Cadence virtuoso with one command without typing any password or host-names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;NB: This setup is for TSMC, but the commands can be tweaked to be used with IHP or AMS too.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The three mikroservers are :&lt;br /&gt;
* mikroserver1.klientdrift.uib.no&lt;br /&gt;
* mikroserver2.klientdrift.uib.no&lt;br /&gt;
* mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SSH key == &lt;br /&gt;
* Generate an ssh-key&lt;br /&gt;
 ssh-keygen -f ~/.ssh/id.rsa -t rsa -N &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Copy the key with your identity to your chosen mikroserver (mikroserver3 is chosen in this example). NB: Replace USERNAME with your user name&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id USERNAME@mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connection aliases ==&lt;br /&gt;
&lt;br /&gt;
For ease of use set up aliases for the connections in your terminal. Open .bashrc in a text editor (vim / nano) and type in this &lt;br /&gt;
&lt;br /&gt;
 alias mikroserver1=&#039;ssh -X USERNAME@mikroserver1.klientdrift.uib.no&#039;&lt;br /&gt;
 alias mikroserver2=&#039;ssh -X USERNAME@mikroserver2.klientdrift.uib.no&#039;&lt;br /&gt;
 alias mikroserver3=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&lt;br /&gt;
&lt;br /&gt;
Also create another alias for your favourite mikroserver &lt;br /&gt;
 echo &amp;quot;alias mikroserver=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatic sourcing ==&lt;br /&gt;
&lt;br /&gt;
Source scripts inside .bashrc. This will make sure the scripts are loaded every time you log in, so you don&#039;t have to do it manually&lt;br /&gt;
 # TSMC setup&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/2016-17/scripts/analog_flow.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/eda_general_init.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 # IHP setup&lt;br /&gt;
 echo &amp;quot;source ~/ihp/cds/sh.cadence&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
== Commands to run virtuoso remotely == &lt;br /&gt;
Then finally on the computers in the lab (NOT connected to the mikroservers)&lt;br /&gt;
 echo &amp;quot;alias virtuoso_tsmc=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd tsmc;virtuoso &amp;amp;&#039;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias virtuoso_ihp=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd ihp/cds;virtuoso &amp;amp;&#039;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
The next time you open your terminal on your computer you can type &lt;br /&gt;
 virtuoso_tsmc&lt;br /&gt;
to start Cadence Virtuoso, or &lt;br /&gt;
 mikroserver&lt;br /&gt;
to connect to mikroserver3 without any hassle!&lt;br /&gt;
&lt;br /&gt;
== Add mikroserver as a folder on your pc ==&lt;br /&gt;
&lt;br /&gt;
Open up your home folder in linux and in the bottom left  corner click &amp;quot;Connect to Server&amp;quot; as shown in this picture:&lt;br /&gt;
[[File:ConnectToServer.png|thumbnail]]&lt;br /&gt;
&lt;br /&gt;
as server address type:&lt;br /&gt;
 sftp://mikroserver3.ift.uib.no/home/USERNAME&lt;br /&gt;
to add your homefolder on mikroserver as a folder on your local PC for easy access to your files (for example the [[Transistor_operating_point_printer]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* Make sure you copy your ID (ssh-copy-id) to the correct mikroserver&lt;br /&gt;
* Make sure you have restarted your terminal (or source ~/.bashrc) if the commands doesn&#039;t work&lt;br /&gt;
* You have to be either connected to the UiB VPN or run the commands via the computers in the lab to be able to connect to microserver&lt;br /&gt;
* If you are using another shell like zsh or csh the aliases has to be in ~/.zshrc or  ~/.cshrc instead of ~/.bashrc&lt;br /&gt;
* Make sure you have replaced all the instances of USERNAME with your usename, i.e &amp;quot;fli091&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:ConnectToServer.png&amp;diff=2551</id>
		<title>File:ConnectToServer.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:ConnectToServer.png&amp;diff=2551"/>
		<updated>2017-10-31T10:41:15Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Screenshot showing where to click to add a folder on a server&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot showing where to click to add a folder on a server&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2550</id>
		<title>MikroserverSetup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2550"/>
		<updated>2017-10-31T08:43:56Z</updated>

		<summary type="html">&lt;p&gt;Fli091: The aliases needed the &amp;amp;. Added it again&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Set-up of connection to mikroservers and cadence virtuoso  = &lt;br /&gt;
&lt;br /&gt;
This set-up will allow you to connect to the mikroservers and/or start Cadence virtuoso with one command without typing any password or host-names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;NB: This setup is for TSMC, but the commands can be tweaked to be used with IHP or AMS too.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The three mikroservers are :&lt;br /&gt;
* mikroserver1.klientdrift.uib.no&lt;br /&gt;
* mikroserver2.klientdrift.uib.no&lt;br /&gt;
* mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
&lt;br /&gt;
* Generate an ssh-key&lt;br /&gt;
 ssh-keygen -f ~/.ssh/id.rsa -t rsa -N &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Copy the key with your identity to your chosen mikroserver (mikroserver3 is chosen in this example). NB: Replace USERNAME with your user name&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id USERNAME@mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
* Set up aliases for the connections in your terminal &lt;br /&gt;
 echo &amp;quot;alias mikroserver1=&#039;ssh -X USERNAME@mikroserver1.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver2=&#039;ssh -X USERNAME@mikroserver2.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver3=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Also create another alias for your favourite mikroserver &lt;br /&gt;
 echo &amp;quot;alias mikroserver=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
* source scripts inside .bashrc. This will make sure the scripts are loaded every time you log in, so you don&#039;t have to do it manually&lt;br /&gt;
 # TSMC setup&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/2016-17/scripts/analog_flow.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/eda_general_init.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 # IHP setup&lt;br /&gt;
 echo &amp;quot;source ~/ihp/cds/sh.cadence&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Then finally on the computers in the lab (NOT connected to the mikroservers)&lt;br /&gt;
 echo &amp;quot;alias virtuoso_tsmc=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd tsmc;virtuoso &amp;amp;&#039;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias virtuoso_ihp=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd ihp/cds;virtuoso &amp;amp;&#039;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
The next time you open your terminal on your computer you can type &lt;br /&gt;
 virtuoso_tsmc&lt;br /&gt;
to start Cadence Virtuoso, or &lt;br /&gt;
 mikroserver&lt;br /&gt;
to connect to mikroserver3 without any hassle!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* Make sure you copy your ID (ssh-copy-id) to the correct mikroserver&lt;br /&gt;
* Make sure you have restarted your terminal (or source ~/.bashrc) if the commands doesn&#039;t work&lt;br /&gt;
* You have to be either connected to the UiB VPN or run the commands via the computers in the lab to be able to connect to microserver&lt;br /&gt;
* If you are using another shell like zsh or csh the aliases has to be in ~/.zshrc or  ~/.cshrc instead of ~/.bashrc&lt;br /&gt;
* Make sure you have replaced all the instances of USERNAME with your usename, i.e &amp;quot;fli091&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2549</id>
		<title>MikroserverSetup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2549"/>
		<updated>2017-10-30T14:21:23Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added a alias for launching IHP directly as the TSMCcommand and renamed the aliases from &amp;quot;virtuoso&amp;quot; to &amp;quot;virtuoso_tsmc&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Set-up of connection to mikroservers and cadence virtuoso  = &lt;br /&gt;
&lt;br /&gt;
This set-up will allow you to connect to the mikroservers and/or start Cadence virtuoso with one command without typing any password or host-names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;NB: This setup is for TSMC, but the commands can be tweaked to be used with IHP or AMS too.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The three mikroservers are :&lt;br /&gt;
* mikroserver1.klientdrift.uib.no&lt;br /&gt;
* mikroserver2.klientdrift.uib.no&lt;br /&gt;
* mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
&lt;br /&gt;
* Generate an ssh-key&lt;br /&gt;
 ssh-keygen -f ~/.ssh/id.rsa -t rsa -N &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Copy the key with your identity to your chosen mikroserver (mikroserver3 is chosen in this example). NB: Replace USERNAME with your user name&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id USERNAME@mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
* Set up aliases for the connections in your terminal &lt;br /&gt;
 echo &amp;quot;alias mikroserver1=&#039;ssh -X USERNAME@mikroserver1.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver2=&#039;ssh -X USERNAME@mikroserver2.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver3=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Also create another alias for your favourite mikroserver &lt;br /&gt;
 echo &amp;quot;alias mikroserver=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
* source scripts inside .bashrc. This will make sure the scripts are loaded every time you log in, so you don&#039;t have to do it manually&lt;br /&gt;
 # TSMC setup&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/2016-17/scripts/analog_flow.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/eda_general_init.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 # IHP setup&lt;br /&gt;
 echo &amp;quot;source ~/ihp/cds/sh.cadence&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Then finally on the computers in the lab (NOT connected to the mikroservers)&lt;br /&gt;
 echo &amp;quot;alias virtuoso_tsmc=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd tsmc;virtuoso&#039;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias virtuoso_ihp=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd ihp/cds;virtuoso&#039;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
The next time you open your terminal on your computer you can type &lt;br /&gt;
 virtuoso_tsmc&lt;br /&gt;
to start Cadence Virtuoso, or &lt;br /&gt;
 mikroserver&lt;br /&gt;
to connect to mikroserver3 without any hassle!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* Make sure you copy your ID (ssh-copy-id) to the correct mikroserver&lt;br /&gt;
* Make sure you have restarted your terminal (or source ~/.bashrc) if the commands doesn&#039;t work&lt;br /&gt;
* You have to be either connected to the UiB VPN or run the commands via the computers in the lab to be able to connect to microserver&lt;br /&gt;
* If you are using another shell like zsh or csh the aliases has to be in ~/.zshrc or  ~/.cshrc instead of ~/.bashrc&lt;br /&gt;
* Make sure you have replaced all the instances of USERNAME with your usename, i.e &amp;quot;fli091&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=IHP_130nm_process&amp;diff=2548</id>
		<title>IHP 130nm process</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=IHP_130nm_process&amp;diff=2548"/>
		<updated>2017-10-30T14:19:48Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Removed uneccesary bash alias and linked to the setup page instead.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Cadence design with IHP 130nm process=&lt;br /&gt;
&lt;br /&gt;
==Starting up the IHP SG13S Design Kit==&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to install the Process Design Kit and start a new design. &lt;br /&gt;
&lt;br /&gt;
Log on to server (mikroserver2 or mikroserver3):&lt;br /&gt;
 ssh -X mikroserver2&lt;br /&gt;
&lt;br /&gt;
The preferred shell is bash. When using another shell it will be necessary to change the installation routine and modify the initialization script accordingly.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first time&#039;&#039;&#039; you are using the IHP design kit you should copy the user environment design to your chosen parent directory (e.g ~/ihp)&lt;br /&gt;
 cp -rp  /eda/design_kits/ihp_sg13/SG13S_616_rev1.5.0_a/work/skel ~/ihp&lt;br /&gt;
&lt;br /&gt;
Change sh.cadence in ~/ihp/cds to suit your needs. In particular you must define $IHP_TECH and $PROJECT according to your local environment. Then set general and user Cadence environment variables by doing:&lt;br /&gt;
 source /eda/cadence/2016-17/scripts/analog_flow.sh&lt;br /&gt;
 cd ~/ihp/cds/&lt;br /&gt;
 source sh.cadence&lt;br /&gt;
 virtuoso &amp;amp;&lt;br /&gt;
&lt;br /&gt;
To avoid having to do this every time try to set up your environment like described in [[MikroserverSetup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Follow the Design Kit User manual found in the menu SG13S Features &amp;gt; Design Kit Documentation. Make sure that your web browser is closed or started from the microserver, else the file will not be found.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]] [[Category:Cadence_Virtuoso]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Transistor_operating_point_printer&amp;diff=2547</id>
		<title>Transistor operating point printer</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Transistor_operating_point_printer&amp;diff=2547"/>
		<updated>2017-10-26T19:44:30Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added a script and description to get the file out from mikroserver and convert it to useable data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DC operating parameters from simulation = &lt;br /&gt;
This script can be used to print the operating point parameters of all transistors in your design. &lt;br /&gt;
&lt;br /&gt;
== Get the DC operating points from a previous simulation ==&lt;br /&gt;
Navigate to the folder you want to save the script in (this tutorial uses the home (./) directory) and create a new file in the terminal by entering &amp;lt;code&amp;gt; touch transistors.ocn &amp;lt;/code&amp;gt;. Open the file by writing &amp;lt;code&amp;gt; gedit transistors.ocn &amp;amp; &amp;lt;/code&amp;gt; and copy the following script into the document. Change ./transistors.csv in the script if you want another output file name and/or location. Save the file.&lt;br /&gt;
 selectResult(&#039;dcOpInfo)&lt;br /&gt;
 report(?output &amp;quot;./transistors.csv&amp;quot; ?param list(&amp;quot;gm&amp;quot; &amp;quot;gmb&amp;quot; &amp;quot;gmoverid&amp;quot; &amp;quot;gds&amp;quot; &amp;quot;id&amp;quot; &amp;quot;idsat&amp;quot; &amp;quot;vth&amp;quot; &amp;quot;region&amp;quot; &amp;quot;cgs&amp;quot; &amp;quot;cgd&amp;quot; &amp;quot;self_gain&amp;quot; &amp;quot;type&amp;quot; &amp;quot;vds&amp;quot; &amp;quot;vdsat&amp;quot; &amp;quot;vgs&amp;quot;) ?format &amp;quot;spice&amp;quot; ?maxLineWidth 1000)&lt;br /&gt;
 &lt;br /&gt;
 file = outfile(&amp;quot;./transistors.csv&amp;quot; &amp;quot;a&amp;quot;)&lt;br /&gt;
 fprintf(file &amp;quot;\n\nRegion 0 is cutoff.\nRegion 1 is linear.\nRegion 2 is saturation .\nRegion 3 is subthreshold.\nRegion 4 is breakdown.\n\nType 0 is nMOS. \nType 1 is pMOS.&amp;quot;)&lt;br /&gt;
 close(file)&lt;br /&gt;
&lt;br /&gt;
For the IHP design kit use:&lt;br /&gt;
 selectResult(&#039;dcOpInfo)&lt;br /&gt;
 report(?output &amp;quot;./transistors.csv&amp;quot; ?param list(&amp;quot;model&amp;quot; &amp;quot;gm&amp;quot; &amp;quot;gmb&amp;quot; &amp;quot;gds&amp;quot; &amp;quot;ids&amp;quot; &amp;quot;idsat&amp;quot; &amp;quot;vth&amp;quot; &amp;quot;region&amp;quot; &amp;quot;cgs&amp;quot; &amp;quot;cgd&amp;quot; &amp;quot;vds&amp;quot; &amp;quot;vsat&amp;quot; &amp;quot;vgs&amp;quot;) ?format &amp;quot;spice&amp;quot; ?maxLineWidth 1000)&lt;br /&gt;
 &lt;br /&gt;
 file = outfile(&amp;quot;./transistors.csv&amp;quot; &amp;quot;a&amp;quot;)&lt;br /&gt;
 fprintf(file &amp;quot;\n\nRegion 0 is cutoff.\nRegion 1 is linear.\nRegion 2 is saturation .\nRegion 3 is subthreshold.\nRegion 4 is breakdown.\n\nType 0 is nMOS. \nType 1 is pMOS.&amp;quot;)&lt;br /&gt;
 close(file)&lt;br /&gt;
&lt;br /&gt;
This script uses the results from the previous Debug Test (from ADE XL Test Editor). Before running the script, run a Debug Test with DC analysis:&lt;br /&gt;
&lt;br /&gt;
[[File:Run_debug_simulation.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After running DC analysis, run the script by entering the following into the Virtuoso Log Window (with file name and location as mentioned above): &amp;lt;code&amp;gt;load(&amp;quot;./transistors.ocn&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Run_transistors_script.png]]&lt;br /&gt;
&lt;br /&gt;
== Copy the file to your computer and convert the values == &lt;br /&gt;
After running the script, you can open the results file from the terminal using for example: &amp;lt;code&amp;gt; gedit transistors.csv &amp;amp; &amp;lt;/code&amp;gt; or alternatively to get the file out from mikroserver &lt;br /&gt;
to another computer try this: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a file named &amp;quot;Makefile&amp;quot; and put this into it:&lt;br /&gt;
&lt;br /&gt;
 all: get fix clean &lt;br /&gt;
 &lt;br /&gt;
 get :&lt;br /&gt;
        scp fli091@mikroserver3.ift.uib.no:~/tsmc/transistors.csv ~/transistors_raw.csv        &lt;br /&gt;
 &lt;br /&gt;
 fix :&lt;br /&gt;
        sed -e &#039;s/\([0-9]\+\)m/\1E-3/g&#039; -e &#039;s/\([0-9]\+\)u/\1E-6/g&#039; -e &#039;s/\([0-9]\+\)n/\1E-9/g&#039; -e &#039;s/\([0-9]\+\)p/\1E-12/g&#039; -e &#039;s/\([0-9]\+\)f/\1E-15/g&#039; -e &#039;s/\([0-9]\+\)a/\1E-18/g&#039; -e &#039;s/\([0-9]\+\)z/\1E-21/g&#039; -e &#039;s/\([0-9]\+\)y/\1E-24/g&#039; -e &#039;s/\([0-9]\+\)K/\1E+3/g&#039; -e &#039;s/\([0-9]\+\)M/\1E+6/g&#039; -e &#039;s/\([0-9]\+\)G/\1E+9/g&#039; -e &#039;s/\([0-9]\+\)T/\1E+12/g&#039; transistors_raw.csv &amp;gt; transistors.csv&lt;br /&gt;
 &lt;br /&gt;
 clean: &lt;br /&gt;
        rm transistors_raw.csv&lt;br /&gt;
&lt;br /&gt;
Modify the scp-command to use&lt;br /&gt;
* The username(and not fli091) in the scp-command&lt;br /&gt;
* change mikroserver if you are not using mikroserver3.&lt;br /&gt;
* change the folder on mikroserver where the transistors.csv is created, default is /home/$user/tsmc/&lt;br /&gt;
* change the local folder where you want your copy to be placed, default is /home/$user/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A short explanation of the Makefile&lt;br /&gt;
* The get-target gets the file from mikroserver3 and copies it to your computer in the root of your homefolder&lt;br /&gt;
* The fix-target converts transitors.csv to a copy where all the postfixes for the SI units generated from Virtuoso (m, f, K etc), has been replaced with E-3, E-15, E+3 etc, so the values are useable in LibreOffice&lt;br /&gt;
* The clean-target just removes the not-fixed copy&lt;br /&gt;
&lt;br /&gt;
Now you can type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in the folder you created the Makefile and the latestst simulation data will appear in your homefolder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open the file in Libre Office == &lt;br /&gt;
The resulting transistors.csv can then be imported into LibreOffice Calc (similar to Microsoft Excel) using File-&amp;gt;Open, then choose the .csv file and enter the settings as in the following image:&lt;br /&gt;
&lt;br /&gt;
[[File:Csv_import_libreoffice.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
For the scp-command to work without password you have to set up your connection as described in [[MikroserverSetup]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Transistor_operating_point_printer&amp;diff=2546</id>
		<title>Transistor operating point printer</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Transistor_operating_point_printer&amp;diff=2546"/>
		<updated>2017-10-23T14:53:53Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added sed command to convert transistors.csv&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DC operating parameters from simulation = &lt;br /&gt;
This script can be used to print the operating point parameters of all transistors in your design. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Navigate to the folder you want to save the script in (this tutorial uses the home (./) directory) and create a new file in the terminal by entering &amp;lt;code&amp;gt; touch transistors.ocn &amp;lt;/code&amp;gt;. Open the file by writing &amp;lt;code&amp;gt; gedit transistors.ocn &amp;amp; &amp;lt;/code&amp;gt; and copy the following script into the document. Change ./transistors.csv in the script if you want another output file name and/or location. Save the file.&lt;br /&gt;
 selectResult(&#039;dcOpInfo)&lt;br /&gt;
 report(?output &amp;quot;./transistors.csv&amp;quot; ?param list(&amp;quot;gm&amp;quot; &amp;quot;gmb&amp;quot; &amp;quot;gmoverid&amp;quot; &amp;quot;gds&amp;quot; &amp;quot;id&amp;quot; &amp;quot;idsat&amp;quot; &amp;quot;vth&amp;quot; &amp;quot;region&amp;quot; &amp;quot;cgs&amp;quot; &amp;quot;cgd&amp;quot; &amp;quot;self_gain&amp;quot; &amp;quot;type&amp;quot; &amp;quot;vds&amp;quot; &amp;quot;vdsat&amp;quot; &amp;quot;vgs&amp;quot;) ?format &amp;quot;spice&amp;quot; ?maxLineWidth 1000)&lt;br /&gt;
 &lt;br /&gt;
 file = outfile(&amp;quot;./transistors.csv&amp;quot; &amp;quot;a&amp;quot;)&lt;br /&gt;
 fprintf(file &amp;quot;\n\nRegion 0 is cutoff.\nRegion 1 is linear.\nRegion 2 is saturation .\nRegion 3 is subthreshold.\nRegion 4 is breakdown.\n\nType 0 is nMOS. \nType 1 is pMOS.&amp;quot;)&lt;br /&gt;
 close(file)&lt;br /&gt;
&lt;br /&gt;
For the IHP design kit use:&lt;br /&gt;
 selectResult(&#039;dcOpInfo)&lt;br /&gt;
 report(?output &amp;quot;./transistors.csv&amp;quot; ?param list(&amp;quot;model&amp;quot; &amp;quot;gm&amp;quot; &amp;quot;gmb&amp;quot; &amp;quot;gds&amp;quot; &amp;quot;ids&amp;quot; &amp;quot;idsat&amp;quot; &amp;quot;vth&amp;quot; &amp;quot;region&amp;quot; &amp;quot;cgs&amp;quot; &amp;quot;cgd&amp;quot; &amp;quot;vds&amp;quot; &amp;quot;vsat&amp;quot; &amp;quot;vgs&amp;quot;) ?format &amp;quot;spice&amp;quot; ?maxLineWidth 1000)&lt;br /&gt;
 &lt;br /&gt;
 file = outfile(&amp;quot;./transistors.csv&amp;quot; &amp;quot;a&amp;quot;)&lt;br /&gt;
 fprintf(file &amp;quot;\n\nRegion 0 is cutoff.\nRegion 1 is linear.\nRegion 2 is saturation .\nRegion 3 is subthreshold.\nRegion 4 is breakdown.\n\nType 0 is nMOS. \nType 1 is pMOS.&amp;quot;)&lt;br /&gt;
 close(file)&lt;br /&gt;
&lt;br /&gt;
This script uses the results from the previous Debug Test (from ADE XL Test Editor). Before running the script, run a Debug Test with DC analysis:&lt;br /&gt;
&lt;br /&gt;
[[File:Run_debug_simulation.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After running DC analysis, run the script by entering the following into the Virtuoso Log Window (with file name and location as mentioned above): &amp;lt;code&amp;gt;load(&amp;quot;./transistors.ocn&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Run_transistors_script.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After running the script, you can open the results file from the terminal using for example: &amp;lt;code&amp;gt; gedit transistors.csv &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The results file can also be imported into LibreOffice Calc (similar to Microsoft Excel) using File-&amp;gt;Open, then choose the .csv file and enter the settings as in the following image:&lt;br /&gt;
&lt;br /&gt;
[[File:Csv_import_libreoffice.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
== Importing the data into LibreOffice ==&lt;br /&gt;
&lt;br /&gt;
To use transistors.csv one has to get rid of the postfixes for the SI units generated from Virtuoso (m, f, K etc). To do this navigate to the folder with the transistors.csv and type this command:&lt;br /&gt;
 sed -e &#039;s/\([0-9]\+\)m/\1E-3/g&#039; -e &#039;s/\([0-9]\+\)u/\1E-6/g&#039; -e &#039;s/\([0-9]\+\)n/\1E-9/g&#039; -e &#039;s/\([0-9]\+\)p/\1E-12/g&#039; -e &#039;s/\([0-9]\+\)f/\1E-15/g&#039; -e &#039;s/\([0-9]\+\)a/\1E-18/g&#039; -e &#039;s/\([0-9]\+\)z/\1E-21/g&#039; -e &#039;s/\([0-9]\+\)y/\1E-24/g&#039; -e &#039;s/\([0-9]\+\)K/\1E+3/g&#039; -e &#039;s/\([0-9]\+\)M/\1E+6/g&#039; -e &#039;s/\([0-9]\+\)G/\1E+9/g&#039; -e &#039;s/\([0-9]\+\)T/\1E+12/g&#039; transistors.csv &amp;gt; transistors_fixed.csv&lt;br /&gt;
That converts transitors.csv to transistors_fixed.csv where all the SI-symbols has been replaced with E-3, E-15, E+3 etc, so the values are useable in LibreOffice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Tips&amp;diff=2545</id>
		<title>Tips</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Tips&amp;diff=2545"/>
		<updated>2017-10-23T09:00:21Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added categories / Category:Mikroelektronikk Category:Integrated_Circuts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Estimere delay av en og to invertere i serie==&lt;br /&gt;
&lt;br /&gt;
1. Høyre klikk i cell view i library vinduet og velg &amp;quot;New Cell View&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2. Kall det delay, velg schematic i dropdown menyen og trykk finish.&lt;br /&gt;
&lt;br /&gt;
3. Trykk &amp;quot;Add instance&amp;quot; på venstre side, velg inverteren du nettop laget og trykk OK.&lt;br /&gt;
&lt;br /&gt;
4. Lag tre invertere i serie ved å merke den du la til og trykke C på tastaturet.&lt;br /&gt;
&lt;br /&gt;
5. Velg &amp;quot;Add-&amp;gt;Source&amp;quot;, merk av DC og sett spenningen til 3.3V&lt;br /&gt;
&lt;br /&gt;
6. Trykk på &amp;quot;HIT-Kit Utilities-&amp;gt;AMS Library&amp;quot; på fil-menyen.&lt;br /&gt;
&lt;br /&gt;
7. Legg til VDD og GND. De ligger under &amp;quot;etc-&amp;gt;cell power-&amp;gt;vdd_g&amp;quot; for VDD og &amp;quot;etc-&amp;gt;cell power-&amp;gt;gnda_g&amp;quot; for GND&lt;br /&gt;
&lt;br /&gt;
8. Legg til puls kilde ved å velge &amp;quot;Add-&amp;gt;Source&amp;quot;, merk av PULSE og sett verdiene som vist på bildet.&lt;br /&gt;
&lt;br /&gt;
[[File:pulse.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
9. Legg til kabler som på bildet under.&lt;br /&gt;
&lt;br /&gt;
10. Sett navn på nettet mellom første og andre inverter ved å velge den og trykke på &amp;quot;Net name&amp;quot;, kall den out1. Kall nettet mellom inverter 2 og 3 for out2. Kall nettet etter kilden for in.&lt;br /&gt;
&lt;br /&gt;
[[File:skjema.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
11. Trykk &amp;quot;Check &amp;amp; Save&amp;quot;. Trykk &amp;quot;HIT-Kit Utilities-&amp;gt;Create Viewpoint&amp;quot;, trykk navigator og finn frem til mappen der prosjektet dit er i, $navn_på_library/default.group/logic.views/delay&lt;br /&gt;
Ikke åpne delay mappen, bare merk den.&lt;br /&gt;
&lt;br /&gt;
12. Trykk &amp;quot;Enter simulation mode&amp;quot; og trykk ok på vinduet som kommer opp.&lt;br /&gt;
&lt;br /&gt;
13. Velg &amp;quot;Session-&amp;gt;netlister&amp;quot; på høyre side og sjekk at det står gnda i &amp;quot;Set Node 0&amp;quot; feltet.&lt;br /&gt;
&lt;br /&gt;
14. Velg Analysis på høyre side, hak av for transient(ta vekk AC), trykk på setup ved siden av transient og sett stop time til 3n og max step time til 10p.&lt;br /&gt;
&lt;br /&gt;
15. Hold nede CTRL og velg in, out1 og out2 nettene. Trykk så på &amp;quot;Wave outputs&amp;quot; på høyre side.&lt;br /&gt;
&lt;br /&gt;
16. Velg alle nettene under objects, velg TRAN under analysis og trykk på knappen med en tegning av ett ark med et pluss tegn på, trykk krysset for å lukke.&lt;br /&gt;
&lt;br /&gt;
17. Velg &amp;quot;HIT-Kit Utilities-&amp;gt;Set simulation models&amp;quot;, trykk ok på vinduet.&lt;br /&gt;
&lt;br /&gt;
18. Trykk &amp;quot;Run ELDO&amp;quot; og når det er ferdig å flytte på seg i tekstruten som kommer opp kan du trykke &amp;quot;View waves&amp;quot;&lt;br /&gt;
&lt;br /&gt;
19. Ekspander tran mappen på venstre side, merk alle tre plottene med ctrl, høyreklikk og velg plot stacked.&lt;br /&gt;
&lt;br /&gt;
20. Trykk CTRL+M for å få opp measurement tool. Velg Time domain under measurement. Trykk på V(IN) på plottet i bakgrunnen(uten å lukke measurement tool) og trykk på knappen med bilde av en graf på på linjen til #1. Trykk så på V(Out1) og på knappen til #2.&lt;br /&gt;
Under Edge trigger trykker du på oppadgående flanke, under edge relationship velger du inverting, hak av for find closest reference edge og trykk apply. Skift edge trigger til nedadgående og trykk apply igjen.&lt;br /&gt;
&lt;br /&gt;
21. Gjør det samme som over men velg V(out2) istedet for V(out1) og skift edge relationship til non-inverting.&lt;br /&gt;
&lt;br /&gt;
22. Du får nå opp tpdf og tpdr på grafen.&lt;br /&gt;
&lt;br /&gt;
[[File:graf.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Andre tips til oppgaven ==&lt;br /&gt;
Fungerer ikke dynamiske eller statiske vippen?&lt;br /&gt;
&lt;br /&gt;
Sjekk at du har plassert clock og clock invers på riktig inngang/riktig transistor, de skifter side fra første til andre ledd.&lt;br /&gt;
&lt;br /&gt;
Prøv å bruke Cgs til kalkulering av delay om du ikke får noe fornuftig svar.&lt;br /&gt;
&lt;br /&gt;
Når du skal lage clk invers så er det en fordel å ikke bruke en inverter, lag to pulskilder der den ene har et delay like langt som en pulsbredde,  ellers så får du et ekstra delay på klokken aka clock skew.&lt;br /&gt;
&lt;br /&gt;
Tristate bufferet kan regnes som parasitisk, mao tilfører den 8C på inngangen og utgangen.&lt;br /&gt;
&lt;br /&gt;
Transmition gaten kobles opp med source mot kilden. Kobl bulk for nmos til gnd og pmos til VDD.&lt;br /&gt;
&lt;br /&gt;
Blir utsignalet bare bølgete rundt VDD så har du for kort pulslengde, hold deg over 2ns.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] &lt;br /&gt;
[[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=2542</id>
		<title>Cadence Virtuoso overview</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=2542"/>
		<updated>2017-10-18T10:37:51Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Some text to the different IC processes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IC design flow using Cadence =&lt;br /&gt;
&lt;br /&gt;
We have access to several silicon technologies from different foundries&lt;br /&gt;
&lt;br /&gt;
* 130nm CMOS process from Taiwan Semiconductor Manufacturing: &#039;&#039;&#039;[[ TSMC 130nm process ]]&#039;&#039;&#039;&lt;br /&gt;
* 130nm SiGe process from Innovations for High Performance Microelectronics: &#039;&#039;&#039;[[ IHP 130nm process ]]&#039;&#039;&#039;&lt;br /&gt;
* 350nm  CMOS process from Austria Mikro Systeme: &#039;&#039;&#039;[[ AMS 350nm process ]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Simulation =&lt;br /&gt;
&lt;br /&gt;
[[Testbench|Virtuoso Testbench]]&lt;br /&gt;
&lt;br /&gt;
= Layout =&lt;br /&gt;
&lt;br /&gt;
[[Layout XL and IHP SG13S]]&lt;br /&gt;
&lt;br /&gt;
=Helpful stuff=&lt;br /&gt;
[[MikroserverSetup]] - setup for easy connection to the mikroservers and Cadence Virtuoso&lt;br /&gt;
&lt;br /&gt;
[[ Transistor operating point printer ]] - Script to extract transistor operating point parameters after simulation.&lt;br /&gt;
&lt;br /&gt;
[[ ADEXL-butterfly-curves ]] - Howto make DC butterfly curves easily.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2541</id>
		<title>MikroserverSetup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2541"/>
		<updated>2017-10-18T10:32:14Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Actually sourcing the IHPscript too&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Set-up of connection to mikroservers and cadence virtuoso  = &lt;br /&gt;
&lt;br /&gt;
This set-up will allow you to connect to the mikroservers and/or start Cadence virtuoso with one command without typing any password or host-names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;NB: This setup is for TSMC, but the commands can be tweaked to be used with IHP or AMS too.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The three mikroservers are :&lt;br /&gt;
* mikroserver1.klientdrift.uib.no&lt;br /&gt;
* mikroserver2.klientdrift.uib.no&lt;br /&gt;
* mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
&lt;br /&gt;
* Generate an ssh-key&lt;br /&gt;
 ssh-keygen -f ~/.ssh/id.rsa -t rsa -N &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Copy the key with your identity to your chosen mikroserver (mikroserver3 is chosen in this example). NB: Replace USERNAME with your user name&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id USERNAME@mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
* Set up aliases for the connections in your terminal &lt;br /&gt;
 echo &amp;quot;alias mikroserver1=&#039;ssh -X USERNAME@mikroserver1.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver2=&#039;ssh -X USERNAME@mikroserver2.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver3=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Also create another alias for your favourite mikroserver &lt;br /&gt;
 echo &amp;quot;alias mikroserver=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
* source scripts inside .bashrc. This will make sure the scripts are loaded every time you log in, so you don&#039;t have to do it manually&lt;br /&gt;
 # TSMC setup&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/2016-17/scripts/analog_flow.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/eda_general_init.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 # IHP setup&lt;br /&gt;
 echo &amp;quot;source ~/ihp/cds/sh.cadence&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Then finally on the computers in the lab (NOT connected to the mikroservers)&lt;br /&gt;
 echo &amp;quot;alias virtuoso=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd tsmc;virtuoso&#039;&amp;amp;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
The next time you open your terminal on your computer you can type &lt;br /&gt;
 virtuoso&lt;br /&gt;
to start Cadence Virtuoso, or &lt;br /&gt;
 mikroserver&lt;br /&gt;
to connect to mikroserver3 without any hassle!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* Make sure you copy your ID (ssh-copy-id) to the correct mikroserver&lt;br /&gt;
* Make sure you have restarted your terminal (or source ~/.bashrc) if the commands doesn&#039;t work&lt;br /&gt;
* You have to be either connected to the UiB VPN or run the commands via the computers in the lab to be able to connect to microserver&lt;br /&gt;
* If you are using another shell like zsh or csh the aliases has to be in ~/.zshrc or  ~/.cshrc instead of ~/.bashrc&lt;br /&gt;
* Make sure you have replaced all the instances of USERNAME with your usename, i.e &amp;quot;fli091&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2540</id>
		<title>MikroserverSetup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2540"/>
		<updated>2017-10-18T10:31:23Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Sourcing the script for IPH in .bashrc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Set-up of connection to mikroservers and cadence virtuoso  = &lt;br /&gt;
&lt;br /&gt;
This set-up will allow you to connect to the mikroservers and/or start Cadence virtuoso with one command without typing any password or host-names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;NB: This setup is for TSMC, but the commands can be tweaked to be used with IHP or AMS too.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The three mikroservers are :&lt;br /&gt;
* mikroserver1.klientdrift.uib.no&lt;br /&gt;
* mikroserver2.klientdrift.uib.no&lt;br /&gt;
* mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
&lt;br /&gt;
* Generate an ssh-key&lt;br /&gt;
 ssh-keygen -f ~/.ssh/id.rsa -t rsa -N &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Copy the key with your identity to your chosen mikroserver (mikroserver3 is chosen in this example). NB: Replace USERNAME with your user name&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id USERNAME@mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
* Set up aliases for the connections in your terminal &lt;br /&gt;
 echo &amp;quot;alias mikroserver1=&#039;ssh -X USERNAME@mikroserver1.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver2=&#039;ssh -X USERNAME@mikroserver2.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver3=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Also create another alias for your favourite mikroserver &lt;br /&gt;
 echo &amp;quot;alias mikroserver=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
* source scripts inside .bashrc. This will make sure the scripts are loaded every time you log in, so you don&#039;t have to do it manually&lt;br /&gt;
 # TSMC setup&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/2016-17/scripts/analog_flow.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/eda_general_init.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 # IHP setup&lt;br /&gt;
 source ~/ihp/cds/sh.cadence&lt;br /&gt;
&lt;br /&gt;
Then finally on the computers in the lab (NOT connected to the mikroservers)&lt;br /&gt;
 echo &amp;quot;alias virtuoso=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd tsmc;virtuoso&#039;&amp;amp;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
The next time you open your terminal on your computer you can type &lt;br /&gt;
 virtuoso&lt;br /&gt;
to start Cadence Virtuoso, or &lt;br /&gt;
 mikroserver&lt;br /&gt;
to connect to mikroserver3 without any hassle!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* Make sure you copy your ID (ssh-copy-id) to the correct mikroserver&lt;br /&gt;
* Make sure you have restarted your terminal (or source ~/.bashrc) if the commands doesn&#039;t work&lt;br /&gt;
* You have to be either connected to the UiB VPN or run the commands via the computers in the lab to be able to connect to microserver&lt;br /&gt;
* If you are using another shell like zsh or csh the aliases has to be in ~/.zshrc or  ~/.cshrc instead of ~/.bashrc&lt;br /&gt;
* Make sure you have replaced all the instances of USERNAME with your usename, i.e &amp;quot;fli091&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2539</id>
		<title>MikroserverSetup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2539"/>
		<updated>2017-10-18T10:19:32Z</updated>

		<summary type="html">&lt;p&gt;Fli091: TSMC warning and fixed typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Set-up of connection to mikroservers and cadence virtuoso  = &lt;br /&gt;
&lt;br /&gt;
This set-up will allow you to connect to the mikroservers and/or start Cadence virtuoso with one command without typing any password or host-names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;NB: This setup is for TSMC, but the commands can be tweaked to be used with IHP or AMS too.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The three mikroservers are :&lt;br /&gt;
* mikroserver1.klientdrift.uib.no&lt;br /&gt;
* mikroserver2.klientdrift.uib.no&lt;br /&gt;
* mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
&lt;br /&gt;
* Generate an ssh-key&lt;br /&gt;
 ssh-keygen -f ~/.ssh/id.rsa -t rsa -N &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Copy the key with your identity to your chosen mikroserver (mikroserver3 is chosen in this example). NB: Replace USERNAME with your user name&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id USERNAME@mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
* Set up aliases for the connections in your terminal &lt;br /&gt;
 echo &amp;quot;alias mikroserver1=&#039;ssh -X USERNAME@mikroserver1.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver2=&#039;ssh -X USERNAME@mikroserver2.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver3=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Also create another alias for your favourite mikroserver &lt;br /&gt;
 echo &amp;quot;alias mikroserver=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
* source scripts inside .bashrc. This will make sure the scripts are loaded every time you log in, so you don&#039;t have to do it manually&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/2016-17/scripts/analog_flow.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/eda_general_init.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Then finally on the computers in the lab (NOT connected to the mikroservers)&lt;br /&gt;
 echo &amp;quot;alias virtuoso=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd tsmc;virtuoso&#039;&amp;amp;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
The next time you open your terminal on your computer you can type &lt;br /&gt;
 virtuoso&lt;br /&gt;
to start Cadence Virtuoso, or &lt;br /&gt;
 mikroserver&lt;br /&gt;
to connect to mikroserver3 without any hassle!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* Make sure you copy your ID (ssh-copy-id) to the correct mikroserver&lt;br /&gt;
* Make sure you have restarted your terminal (or source ~/.bashrc) if the commands doesn&#039;t work&lt;br /&gt;
* You have to be either connected to the UiB VPN or run the commands via the computers in the lab to be able to connect to microserver&lt;br /&gt;
* If you are using another shell like zsh or csh the aliases has to be in ~/.zshrc or  ~/.cshrc instead of ~/.bashrc&lt;br /&gt;
* Make sure you have replaced all the instances of USERNAME with your usename, i.e &amp;quot;fli091&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=User_talk:Fli091&amp;diff=2536</id>
		<title>User talk:Fli091</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=User_talk:Fli091&amp;diff=2536"/>
		<updated>2017-10-14T14:29:44Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Kill the red links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2535</id>
		<title>MikroserverSetup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2535"/>
		<updated>2017-10-14T14:27:57Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Fixed typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Setup of connection to mikroservers and cadence virtuoso = &lt;br /&gt;
&lt;br /&gt;
This setup will allow you to connect to the mikroservers and/or start Cadence virtuoso with one command without typing any password or hostnames&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The three mikroservers are :&lt;br /&gt;
* mikroserver1.klientdrift.uib.no&lt;br /&gt;
* mikroserver2.klientdrift.uib.no&lt;br /&gt;
* mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
&lt;br /&gt;
* Generate an ssh-key&lt;br /&gt;
 ssh-keygen -f ~/.ssh/id.rsa -t rsa -N &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Copy the key with your identity to your chosen mikroserver (mikroserver3 is chosen in this example). NB: Replace USERNAME with your usename&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id USENAME@mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
* Set up aliases for the connections in your terminal &lt;br /&gt;
 echo &amp;quot;alias mikroserver1=&#039;ssh -X USERNAME@mikroserver1.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver2=&#039;ssh -X USERNAME@mikroserver2.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver3=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Also create another alias for your favourite mikroserver &lt;br /&gt;
 echo &amp;quot;alias mikroserver=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
* source scripts inside .bashrc. This will make sure the scripts are loaded every time you log in, so you don&#039;t have to do it manually&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/2016-17/scripts/analog_flow.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/eda_general_init.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Then finally on the computers in the lab (NOT connected to the mikroservers)&lt;br /&gt;
 echo &amp;quot;alias virtuoso=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd tsmc;virtuoso&#039;&amp;amp;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
The next time you open your terminal on your computer you can type &lt;br /&gt;
 virtuoso&lt;br /&gt;
to start Cadence Virtuoso, or &lt;br /&gt;
 mikroserver&lt;br /&gt;
to connect to mikroserver3 without any hassle!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* Make sure you copy your ID (ssh-copy-id) to the correct mikroserver&lt;br /&gt;
* Make sure you have restarted your terminal (or source ~/.bashrc) if the commands doesn&#039;t work&lt;br /&gt;
* You have to be either connected to the UiB VPN or run the commands via the computers in the lab to be able to connect to microserver&lt;br /&gt;
* If you are using another shell like zsh or csh the aliases has to be in ~/.zshrc or  ~/.cshrc instead of ~/.bashrc&lt;br /&gt;
* Make sure you have replaced all the instances of USERNAME with your usename, i.e &amp;quot;fli091&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2534</id>
		<title>MikroserverSetup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2534"/>
		<updated>2017-10-14T14:15:37Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added Category:Mikroelektronikk&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Setup of connection to mikroservers and cadence virtuoso = &lt;br /&gt;
&lt;br /&gt;
This setup will allow you to connect to the mikroservers and/or start Cadence virtuoso with one command without typing any password or hostnames&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The three mikroservers are :&lt;br /&gt;
* mikroserver1.klientdrift.uib.no&lt;br /&gt;
* mikroserver2.klientdrift.uib.no&lt;br /&gt;
* mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
&lt;br /&gt;
* Generate an ssh-key&lt;br /&gt;
 ssh-keygen -f ~/.ssh/id.rsa -t rsa -N &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Copy the key with your identity to your chosen mikroserver (mikroserver3 is chosen in this example). NB: Replace USERNAME with your usename&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id USENAME@mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
* Set up aliases for the connections in your terminal &lt;br /&gt;
 echo &amp;quot;alias mikroserver1=&#039;ssh -X USERNAME@mikroserver1.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver2=&#039;ssh -X USERNAME@mikroserver2.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver3=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Also create another alias for your favourite mikroserver &lt;br /&gt;
 echo &amp;quot;alias mikroserver=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
* source scripts inside .bashrc. This will make sure the scripts are loaded every time you log in, so you don&#039;t have to do it manually&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/2016-17/scripts/analog_flow.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/eda_general_init.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Then finally on the computers in the lab (NOT connected to the mikroservers)&lt;br /&gt;
 echo &amp;quot;alias virtuoso=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd tsmc;virtuoso&#039;&amp;amp;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
The next time you open your terminal on your computer you can type &lt;br /&gt;
 virtuoso&lt;br /&gt;
to start cadence virutoso, or &lt;br /&gt;
 mikroserver&lt;br /&gt;
to connect to mikroserver3 without any hassle!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* Make sure you copy your ID (ssh-copy-id) to the correct mikroserver&lt;br /&gt;
* Make sure you have restarted your terminal (or source ~/.bashrc) if the commands doesn&#039;t work&lt;br /&gt;
* You have to be either connected to the UiB VPN or run the commands via the computers in the lab to be able to connect to microserver&lt;br /&gt;
* If you are using another shell like zsh or csh the aliases has be in ~/.zshrc or  ~/.cshrc instead of ~/.bashrc&lt;br /&gt;
* Make sure you have replaced all the USERNAME with your usename, i.e &amp;quot;fli091&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=2533</id>
		<title>Cadence Virtuoso overview</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=2533"/>
		<updated>2017-10-14T14:15:27Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added link to setup of mikroservers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Analog IC design flow using Cadence from basics (Schematic capture, Netlist extraction, Simulating using ELDO, Layout, Signoff Layout)=&lt;br /&gt;
&lt;br /&gt;
[[ TSMC 130nm process ]]&lt;br /&gt;
&lt;br /&gt;
[[ IHP 130nm process ]]&lt;br /&gt;
&lt;br /&gt;
[[ AMS 350nm process ]]&lt;br /&gt;
&lt;br /&gt;
= Simulation =&lt;br /&gt;
&lt;br /&gt;
[[Testbench|Virtuoso Testbench]]&lt;br /&gt;
&lt;br /&gt;
= Layout =&lt;br /&gt;
&lt;br /&gt;
[[Layout XL and IHP SG13S]]&lt;br /&gt;
&lt;br /&gt;
=Helpful stuff=&lt;br /&gt;
[[MikroserverSetup]] - setup for easy connection to the mikroservers and Cadence Virtuoso&lt;br /&gt;
&lt;br /&gt;
[[ Transistor operating point printer ]] - Script to extract transistor operating point parameters after simulation.&lt;br /&gt;
&lt;br /&gt;
[[ ADEXL-butterfly-curves ]] - Howto make DC butterfly curves easily.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2532</id>
		<title>MikroserverSetup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=MikroserverSetup&amp;diff=2532"/>
		<updated>2017-10-14T14:14:14Z</updated>

		<summary type="html">&lt;p&gt;Fli091: created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Setup of connection to mikroservers and cadence virtuoso = &lt;br /&gt;
&lt;br /&gt;
This setup will allow you to connect to the mikroservers and/or start Cadence virtuoso with one command without typing any password or hostnames&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The three mikroservers are :&lt;br /&gt;
* mikroserver1.klientdrift.uib.no&lt;br /&gt;
* mikroserver2.klientdrift.uib.no&lt;br /&gt;
* mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
&lt;br /&gt;
* Generate an ssh-key&lt;br /&gt;
 ssh-keygen -f ~/.ssh/id.rsa -t rsa -N &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Copy the key with your identity to your chosen mikroserver (mikroserver3 is chosen in this example). NB: Replace USERNAME with your usename&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id USENAME@mikroserver3.klientdrift.uib.no&lt;br /&gt;
&lt;br /&gt;
* Set up aliases for the connections in your terminal &lt;br /&gt;
 echo &amp;quot;alias mikroserver1=&#039;ssh -X USERNAME@mikroserver1.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver2=&#039;ssh -X USERNAME@mikroserver2.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;alias mikroserver3=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Also create another alias for your favourite mikroserver &lt;br /&gt;
 echo &amp;quot;alias mikroserver=&#039;ssh -X USERNAME@mikroserver3.klientdrift.uib.no&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
* source scripts inside .bashrc. This will make sure the scripts are loaded every time you log in, so you don&#039;t have to do it manually&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/2016-17/scripts/analog_flow.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo &amp;quot;source /eda/cadence/eda_general_init.sh&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Then finally on the computers in the lab (NOT connected to the mikroservers)&lt;br /&gt;
 echo &amp;quot;alias virtuoso=&amp;quot;ssh -X USERNAME@mikroserver3.klientdrift.uib.no &#039;cd tsmc;virtuoso&#039;&amp;amp;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
The next time you open your terminal on your computer you can type &lt;br /&gt;
 virtuoso&lt;br /&gt;
to start cadence virutoso, or &lt;br /&gt;
 mikroserver&lt;br /&gt;
to connect to mikroserver3 without any hassle!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &lt;br /&gt;
* Make sure you copy your ID (ssh-copy-id) to the correct mikroserver&lt;br /&gt;
* Make sure you have restarted your terminal (or source ~/.bashrc) if the commands doesn&#039;t work&lt;br /&gt;
* You have to be either connected to the UiB VPN or run the commands via the computers in the lab to be able to connect to microserver&lt;br /&gt;
* If you are using another shell like zsh or csh the aliases has be in ~/.zshrc or  ~/.cshrc instead of ~/.bashrc&lt;br /&gt;
* Make sure you have replaced all the USERNAME with your usename, i.e &amp;quot;fli091&amp;quot;&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=TSMC_130nm_process&amp;diff=2531</id>
		<title>TSMC 130nm process</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=TSMC_130nm_process&amp;diff=2531"/>
		<updated>2017-10-13T10:00:24Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Updated the setup. Now it works!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Cadence design with TSMC 130nm process=&lt;br /&gt;
This tutorial will start from very basics in analog IC design then take you through the whole analog IC design process.&lt;br /&gt;
&lt;br /&gt;
Here is the outline of the analog IC design flow:&lt;br /&gt;
# Schematic capture (Cadence tool)&lt;br /&gt;
# Netlist extraction from schematic&lt;br /&gt;
# Simulating using ELDO simulator and viewing results with EZWAVE (ELDO is a Mentor Graphic&#039;s tool for netlist level simulations)&lt;br /&gt;
# Layout using Cadence&lt;br /&gt;
# Signoff layout (DRC, LVS and parasitic extraction) using Calibre (Calibre is a Mentor Graphic&#039;s tool)&lt;br /&gt;
&lt;br /&gt;
==Setup of Cadence==&lt;br /&gt;
&lt;br /&gt;
To start virtuoso one must first connect to mikroserver3&lt;br /&gt;
 ssh -X mikroserver3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;First&#039;&#039;&#039; time you should add the following line to your cds.lib-file by running this command: &lt;br /&gt;
 mkdir ~/tsmc&lt;br /&gt;
 echo &amp;quot;DEFINE tsmc13rf /eda/design_kits/tsmc_013/tsmc13rf&amp;quot; &amp;gt; ~/tsmc/cds.lib&lt;br /&gt;
&lt;br /&gt;
Then (&#039;&#039;&#039;each time&#039;&#039;&#039;) run these commands to set up Cadence&lt;br /&gt;
 source /eda/cadence/2016-17/scripts/analog_flow.sh&lt;br /&gt;
 source /eda/cadence/eda_general_init.sh&lt;br /&gt;
&lt;br /&gt;
Virtuoso Mixed Signal Design Environment is started by issuing this command:&lt;br /&gt;
 virtuoso &amp;amp;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
* Make sure you source the script from the correct year. I.e 2016-17 and not 2015-16&lt;br /&gt;
* Make sure you are connected the the right mikroserver&lt;br /&gt;
* Make sure you run virtuoso from the same folder as your &#039;cds.lib&#039;-folder (&#039;~/tsmc/&#039;)&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
In the log window, choose &amp;quot;File &amp;gt; New &amp;gt; Library&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;New Library&amp;quot; dialog box, you must give the library a name (for example TORLIB, as I did). You must also specify a technology file. Here you choose &amp;quot;Attach to an existing technology library&amp;quot;. Then click the OK button. When asked for technology, choose &amp;quot;tsmc13rf&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After successfully creating the new library, it is time to create your first design. In the log window, choose &amp;quot;File &amp;gt; New &amp;gt; Cellview&amp;quot;. In the &amp;quot;Create New File&amp;quot; dialog box, you must give the design a name. You must also specify which library the design belongs to, and here you specify the library that you have just created. Choose to open the cell with &amp;quot;Schematics XL&amp;quot; and add a check-mark to always use this application if it is not checked.&lt;br /&gt;
&lt;br /&gt;
Now click OK, and the Virtuoso Schematic Editor should pop up. We will now draw a simple inverter design, as shown in the picture:&lt;br /&gt;
&lt;br /&gt;
[[File:virtuoso_schematic_editor.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Entering the design==&lt;br /&gt;
To create the inverter design, do the following:&lt;br /&gt;
&lt;br /&gt;
# Press &#039;i&#039; or click on the &amp;quot;Instance&amp;quot; icon to invoke the transistors. The &amp;quot;Add Instance&amp;quot; dialog box will now pop up. In the &amp;quot;Library&amp;quot; field, click &amp;quot;Browse&amp;quot; to open the &amp;quot;Library Browser&amp;quot;. In the library browser, choose &amp;quot;tsmc13rf&amp;quot; as library, &amp;quot;nmos3v&amp;quot; (for n-type transistor) or &amp;quot;pmos3v&amp;quot; (for p-type transistor) as cell and &amp;quot;spectre&amp;quot; as view. The cell is placed in the schematic by moving the cursor to the desired location and clicking the left mouse button.&lt;br /&gt;
# To insert the voltage sources, pick the &amp;quot;vdc&amp;quot; cell from the &amp;quot;analogLib&amp;quot; library. Add one connected to vdd and gnd and one connected to the input.&lt;br /&gt;
# To insert the ground and vdd nets, pick the &amp;quot;vdd&amp;quot; and &amp;quot;gnd&amp;quot; cells from the &amp;quot;analogLib&amp;quot; library. Here the view name should be &amp;quot;symbol&amp;quot;, not &amp;quot;spectreS&amp;quot; (in fact, &amp;quot;symbol&amp;quot; is the only available option).&lt;br /&gt;
# To connect the symbols, press &#039;w&#039; or click the &amp;quot;Wire (narrow)&amp;quot; icon. Then use the left mouse button to click the nodes togeter, two by two.&lt;br /&gt;
# To remove an instance or a wire, left click at the instance or wire that you want to remove, then press the &amp;quot;Delete&amp;quot; button on the keyboard.&lt;br /&gt;
# To insert a pin, press &#039;p&#039;. Choose a name for the pin in the dialog that occurs and click on the schematic to place it. Create one input and one output.&lt;br /&gt;
# To change the properties of the icons, press &#039;q&#039; or click at the &amp;quot;Properties&amp;quot; icon. Then click at the instances or nets that you want to modify. For the vdc source connected between vdd and gnd, set the &amp;quot;DC voltage&amp;quot; property to 3.3.&lt;br /&gt;
# To check and save the schematic, press &#039;x&#039; or click the &amp;quot;Check and save&amp;quot; icon. &lt;br /&gt;
# If there are any errors or warnings, press ok and press &#039;g&#039; or &amp;quot;Check-&amp;gt;Find Marker&amp;quot; to view the errors. Make sure you have no errors or warnings before continuing. &lt;br /&gt;
# Then open &amp;quot;Launch &amp;gt; ADE GXL&amp;quot; and press create new view. The &amp;quot;Virtuoso Analog Environment&amp;quot; should now come up.&lt;br /&gt;
&lt;br /&gt;
==Simulating the design==&lt;br /&gt;
&lt;br /&gt;
# Choose &amp;quot;Create &amp;gt; Test...&amp;quot; select the cell to simulate.&lt;br /&gt;
# Choose &amp;quot;Outputs &amp;gt; To be plotted &amp;gt; Select on Schematic&amp;quot;. Click at the &amp;quot;in&amp;quot; node connected to the inverter input and the &amp;quot;out&amp;quot; node connected to the output.&lt;br /&gt;
# Choose &amp;quot;Analyses &amp;gt; Choose&amp;quot;. We will now run a dc analysis to obtain the DC transfer characteristics of the inverter. Choose &amp;quot;Component parameter&amp;quot; as your sweep variable. Then click at &amp;quot;Select component&amp;quot;. In the schematic, click at the input &amp;quot;vdc&amp;quot; instance. In the &amp;quot;Select Component Parameter&amp;quot; dialog box, choose dc as your sweep parameter. The sweep range should go from 0 to 3.3.&lt;br /&gt;
[[File:select_comp_parameter.png|300px]]&lt;br /&gt;
The analog environment should now look like this:&lt;br /&gt;
[[File:analog_env_2.png|500px]]&lt;br /&gt;
# Switch to the &amp;quot;adexl&amp;quot; tab and choose the green run button. When the run is completed press the graph button beside the box that says &amp;quot;Replace&amp;quot;. The outputs should look like this:&lt;br /&gt;
[[File:plot_output_dc.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To save your simulation settings, choose &amp;quot;Session &amp;gt; Save state&amp;quot; in the test editor windoe to save your state information under whatever file name you want. In a later session, you can reload your saved states using &amp;quot;Session &amp;gt; Load state&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Generating a Symbol==&lt;br /&gt;
Finally, we want to generate a symbol for our inverter. This symbol is needed if we want to use our inverter design inside another design (hierarchical design methodology). &lt;br /&gt;
&lt;br /&gt;
Select the schematic tab and choose &amp;quot;Create -&amp;gt; Create Cellview -&amp;gt; From Cellview&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Press OK in the dialog that occurs.&lt;br /&gt;
&lt;br /&gt;
The pins should already be connected to the right positions in the symbol generator, so press OK here also and ths symbol editor will occur.&lt;br /&gt;
&lt;br /&gt;
Press the red X and delete the pre-created green square. Use the line tool and the circle tool to create the inverter symbol&lt;br /&gt;
&lt;br /&gt;
[[File:symbol.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Save it by clicking the &amp;quot;Save and check&amp;quot; symbol or pressing &#039;shift+X&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=TSMC_130nm_process&amp;diff=2530</id>
		<title>TSMC 130nm process</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=TSMC_130nm_process&amp;diff=2530"/>
		<updated>2017-10-13T07:04:38Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Put &amp;quot;first&amp;quot; in bold and added command to echo define into cds.lib&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Cadence design with TSMC 130nm process=&lt;br /&gt;
&lt;br /&gt;
==Starting up==&lt;br /&gt;
This tutorial will start from very basics in analog IC design then take you through the whole analog IC design process.&lt;br /&gt;
&lt;br /&gt;
Here is the outline of the analog IC design flow:&lt;br /&gt;
# Schematic capture (Cadence tool)&lt;br /&gt;
# Netlist extraction from schematic&lt;br /&gt;
# Simulating using ELDO simulator and viewing results with EZWAVE (ELDO is a Mentor Graphic&#039;s tool for netlist level simulations)&lt;br /&gt;
# Layout using Cadence&lt;br /&gt;
# Signoff layout (DRC, LVS and parasitic extraction) using Calibre (Calibre is a Mentor Graphic&#039;s tool)&lt;br /&gt;
&lt;br /&gt;
 ssh -X mikroserver2&lt;br /&gt;
 source /eda/cadence/cadence_init.sh&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;First&#039;&#039;&#039; time you should add the following line to your cds.lib file before starting the design environment. If the ~/cds.lib doesn&#039;t exist, just create it.&lt;br /&gt;
 echo &amp;quot;DEFINE tsmc13rf /eda/design_kits/tsmc_013/tsmc13rf&amp;quot; &amp;gt; cds.lib&lt;br /&gt;
&lt;br /&gt;
Virtuoso Mixed Signal Design Environment is started by issuing this command:&lt;br /&gt;
 tsmc_cds_start&lt;br /&gt;
&lt;br /&gt;
In the log window, choose &amp;quot;File &amp;gt; New &amp;gt; Library&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;New Library&amp;quot; dialog box, you must give the library a name (for example TORLIB, as I did). You must also specify a technology file. Here you choose &amp;quot;Attach to an existing technology library&amp;quot;. Then click the OK button. When asked for technology, choose &amp;quot;tsmc13rf&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After successfully creating the new library, it is time to create your first design. In the log window, choose &amp;quot;File &amp;gt; New &amp;gt; Cellview&amp;quot;. In the &amp;quot;Create New File&amp;quot; dialog box, you must give the design a name. You must also specify which library the design belongs to, and here you specify the library that you have just created. Choose to open the cell with &amp;quot;Schematics XL&amp;quot; and add a check-mark to always use this application if it is not checked.&lt;br /&gt;
&lt;br /&gt;
Now click OK, and the Virtuoso Schematic Editor should pop up. We will now draw a simple inverter design, as shown in the picture:&lt;br /&gt;
&lt;br /&gt;
[[File:virtuoso_schematic_editor.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Entering the design==&lt;br /&gt;
To create the inverter design, do the following:&lt;br /&gt;
&lt;br /&gt;
# Press &#039;i&#039; or click on the &amp;quot;Instance&amp;quot; icon to invoke the transistors. The &amp;quot;Add Instance&amp;quot; dialog box will now pop up. In the &amp;quot;Library&amp;quot; field, click &amp;quot;Browse&amp;quot; to open the &amp;quot;Library Browser&amp;quot;. In the library browser, choose &amp;quot;tsmc13rf&amp;quot; as library, &amp;quot;nmos3v&amp;quot; (for n-type transistor) or &amp;quot;pmos3v&amp;quot; (for p-type transistor) as cell and &amp;quot;spectre&amp;quot; as view. The cell is placed in the schematic by moving the cursor to the desired location and clicking the left mouse button.&lt;br /&gt;
# To insert the voltage sources, pick the &amp;quot;vdc&amp;quot; cell from the &amp;quot;analogLib&amp;quot; library. Add one connected to vdd and gnd and one connected to the input.&lt;br /&gt;
# To insert the ground and vdd nets, pick the &amp;quot;vdd&amp;quot; and &amp;quot;gnd&amp;quot; cells from the &amp;quot;analogLib&amp;quot; library. Here the view name should be &amp;quot;symbol&amp;quot;, not &amp;quot;spectreS&amp;quot; (in fact, &amp;quot;symbol&amp;quot; is the only available option).&lt;br /&gt;
# To connect the symbols, press &#039;w&#039; or click the &amp;quot;Wire (narrow)&amp;quot; icon. Then use the left mouse button to click the nodes togeter, two by two.&lt;br /&gt;
# To remove an instance or a wire, left click at the instance or wire that you want to remove, then press the &amp;quot;Delete&amp;quot; button on the keyboard.&lt;br /&gt;
# To insert a pin, press &#039;p&#039;. Choose a name for the pin in the dialog that occurs and click on the schematic to place it. Create one input and one output.&lt;br /&gt;
# To change the properties of the icons, press &#039;q&#039; or click at the &amp;quot;Properties&amp;quot; icon. Then click at the instances or nets that you want to modify. For the vdc source connected between vdd and gnd, set the &amp;quot;DC voltage&amp;quot; property to 3.3.&lt;br /&gt;
# To check and save the schematic, press &#039;x&#039; or click the &amp;quot;Check and save&amp;quot; icon. &lt;br /&gt;
# If there are any errors or warnings, press ok and press &#039;g&#039; or &amp;quot;Check-&amp;gt;Find Marker&amp;quot; to view the errors. Make sure you have no errors or warnings before continuing. &lt;br /&gt;
# Then open &amp;quot;Launch &amp;gt; ADE GXL&amp;quot; and press create new view. The &amp;quot;Virtuoso Analog Environment&amp;quot; should now come up.&lt;br /&gt;
&lt;br /&gt;
==Simulating the design==&lt;br /&gt;
&lt;br /&gt;
# Choose &amp;quot;Create &amp;gt; Test...&amp;quot; select the cell to simulate.&lt;br /&gt;
# Choose &amp;quot;Outputs &amp;gt; To be plotted &amp;gt; Select on Schematic&amp;quot;. Click at the &amp;quot;in&amp;quot; node connected to the inverter input and the &amp;quot;out&amp;quot; node connected to the output.&lt;br /&gt;
# Choose &amp;quot;Analyses &amp;gt; Choose&amp;quot;. We will now run a dc analysis to obtain the DC transfer characteristics of the inverter. Choose &amp;quot;Component parameter&amp;quot; as your sweep variable. Then click at &amp;quot;Select component&amp;quot;. In the schematic, click at the input &amp;quot;vdc&amp;quot; instance. In the &amp;quot;Select Component Parameter&amp;quot; dialog box, choose dc as your sweep parameter. The sweep range should go from 0 to 3.3.&lt;br /&gt;
[[File:select_comp_parameter.png|300px]]&lt;br /&gt;
The analog environment should now look like this:&lt;br /&gt;
[[File:analog_env_2.png|500px]]&lt;br /&gt;
# Switch to the &amp;quot;adexl&amp;quot; tab and choose the green run button. When the run is completed press the graph button beside the box that says &amp;quot;Replace&amp;quot;. The outputs should look like this:&lt;br /&gt;
[[File:plot_output_dc.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To save your simulation settings, choose &amp;quot;Session &amp;gt; Save state&amp;quot; in the test editor windoe to save your state information under whatever file name you want. In a later session, you can reload your saved states using &amp;quot;Session &amp;gt; Load state&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Generating a Symbol==&lt;br /&gt;
Finally, we want to generate a symbol for our inverter. This symbol is needed if we want to use our inverter design inside another design (hierarchical design methodology). &lt;br /&gt;
&lt;br /&gt;
Select the schematic tab and choose &amp;quot;Create -&amp;gt; Create Cellview -&amp;gt; From Cellview&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Press OK in the dialog that occurs.&lt;br /&gt;
&lt;br /&gt;
The pins should already be connected to the right positions in the symbol generator, so press OK here also and ths symbol editor will occur.&lt;br /&gt;
&lt;br /&gt;
Press the red X and delete the pre-created green square. Use the line tool and the circle tool to create the inverter symbol&lt;br /&gt;
&lt;br /&gt;
[[File:symbol.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Save it by clicking the &amp;quot;Save and check&amp;quot; symbol or pressing &#039;shift+X&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=IHP_130nm_process&amp;diff=2528</id>
		<title>IHP 130nm process</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=IHP_130nm_process&amp;diff=2528"/>
		<updated>2017-10-10T14:02:41Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Specified mikroserver2 or mikroserver3 (1 does not work atm)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Cadence design with IHP 130nm process=&lt;br /&gt;
&lt;br /&gt;
==Starting up the IHP SG13S Design Kit==&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to install the Process Design Kit and start a new design. &lt;br /&gt;
&lt;br /&gt;
Log on to server (mikroserver2 or mikroserver3):&lt;br /&gt;
 ssh -X mikroserver2&lt;br /&gt;
&lt;br /&gt;
The preferred shell is bash. When using another shell it will be necessary to change the installation routine and modify the initialization script accordingly.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first time&#039;&#039;&#039; you are using the IHP design kit you should copy the user environment design to your chosen parent directory (e.g ~/ihp)&lt;br /&gt;
 cp -rp  /eda/design_kits/ihp_sg13/SG13S_616_rev1.5.0_a/work/skel ~/ihp&lt;br /&gt;
&lt;br /&gt;
Change sh.cadence in ~/ihp/cds to suit your needs. In particular you must define $IHP_TECH and $PROJECT according to your local environment. Then set general and user Cadence environment variables by doing:&lt;br /&gt;
 source /eda/cadence/2016-17/scripts/analog_flow.sh&lt;br /&gt;
 cd ~/ihp/cds/&lt;br /&gt;
 source sh.cadence&lt;br /&gt;
 virtuoso &amp;amp;&lt;br /&gt;
&lt;br /&gt;
To create a command that will do this for you try this command:&lt;br /&gt;
  echo &amp;quot;alias startVirtuoso=&#039;source /eda/cadence/2016-17/scripts/analog_flow.sh &amp;amp;&amp;amp; cd ~/ihp/cds/ &amp;amp;&amp;amp; source sh.cadence &amp;amp;&amp;amp; virtuoso &amp;amp;&#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
Typing &#039;startVirtuoso&#039; in the terminal will execute these four commands  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Follow the Design Kit User manual found in the menu SG13S Features &amp;gt; Design Kit Documentation. Make sure that your web browser is closed or started from the microserver, else the file will not be found.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Category:Integrated_Circuts&amp;diff=2522</id>
		<title>Category:Integrated Circuts</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Category:Integrated_Circuts&amp;diff=2522"/>
		<updated>2017-09-15T13:32:50Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Created mikroelektronikk subcategory integrated_circuits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Transistor_operating_point_printer&amp;diff=2521</id>
		<title>Transistor operating point printer</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Transistor_operating_point_printer&amp;diff=2521"/>
		<updated>2017-09-15T13:32:07Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added Category:Integrated_Circuts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This script can be used to print the operating point parameters of all transistors in your design. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Navigate to the folder you want to save the script in (this tutorial uses the home (./) directory) and create a new file in the terminal by entering &amp;lt;code&amp;gt; touch transistors.ocn &amp;lt;/code&amp;gt;. Open the file by writing &amp;lt;code&amp;gt; gedit transistors.ocn &amp;amp; &amp;lt;/code&amp;gt; and copy the following script into the document. Change ./transistors.csv in the script if you want another output file name and/or location. Save the file.&lt;br /&gt;
 selectResult(&#039;dcOpInfo)&lt;br /&gt;
 report(?output &amp;quot;./transistors.csv&amp;quot; ?param list(&amp;quot;gm&amp;quot; &amp;quot;gmb&amp;quot; &amp;quot;gmoverid&amp;quot; &amp;quot;gds&amp;quot; &amp;quot;id&amp;quot; &amp;quot;idsat&amp;quot; &amp;quot;vth&amp;quot; &amp;quot;region&amp;quot; &amp;quot;cgs&amp;quot; &amp;quot;cgd&amp;quot; &amp;quot;self_gain&amp;quot; &amp;quot;type&amp;quot; &amp;quot;vds&amp;quot; &amp;quot;vdsat&amp;quot; &amp;quot;vgs&amp;quot;) ?format &amp;quot;spice&amp;quot; ?maxLineWidth 1000)&lt;br /&gt;
 &lt;br /&gt;
 file = outfile(&amp;quot;./transistors.csv&amp;quot; &amp;quot;a&amp;quot;)&lt;br /&gt;
 fprintf(file &amp;quot;\n\nRegion 0 is cutoff.\nRegion 1 is linear.\nRegion 2 is saturation .\nRegion 3 is subthreshold.\nRegion 4 is breakdown.\n\nType 0 is nMOS. \nType 1 is pMOS.&amp;quot;)&lt;br /&gt;
 close(file)&lt;br /&gt;
&lt;br /&gt;
For the IHP design kit use:&lt;br /&gt;
 selectResult(&#039;dcOpInfo)&lt;br /&gt;
 report(?output &amp;quot;./transistors.csv&amp;quot; ?param list(&amp;quot;model&amp;quot; &amp;quot;gm&amp;quot; &amp;quot;gmb&amp;quot; &amp;quot;gds&amp;quot; &amp;quot;ids&amp;quot; &amp;quot;idsat&amp;quot; &amp;quot;vth&amp;quot; &amp;quot;region&amp;quot; &amp;quot;cgs&amp;quot; &amp;quot;cgd&amp;quot; &amp;quot;vds&amp;quot; &amp;quot;vsat&amp;quot; &amp;quot;vgs&amp;quot;) ?format &amp;quot;spice&amp;quot; ?maxLineWidth 1000)&lt;br /&gt;
 &lt;br /&gt;
 file = outfile(&amp;quot;./transistors.csv&amp;quot; &amp;quot;a&amp;quot;)&lt;br /&gt;
 fprintf(file &amp;quot;\n\nRegion 0 is cutoff.\nRegion 1 is linear.\nRegion 2 is saturation .\nRegion 3 is subthreshold.\nRegion 4 is breakdown.\n\nType 0 is nMOS. \nType 1 is pMOS.&amp;quot;)&lt;br /&gt;
 close(file)&lt;br /&gt;
&lt;br /&gt;
This script uses the results from the previous Debug Test (from ADE XL Test Editor). Before running the script, run a Debug Test with DC analysis:&lt;br /&gt;
&lt;br /&gt;
[[File:Run_debug_simulation.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After running DC analysis, run the script by entering the following into the Virtuoso Log Window (with file name and location as mentioned above): &amp;lt;code&amp;gt;load(&amp;quot;./transistors.ocn&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Run_transistors_script.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After running the script, you can open the results file from the terminal using for example: &amp;lt;code&amp;gt; gedit transistors.csv &amp;amp; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The results file can also be imported into LibreOffice Calc (similar to Microsoft Excel) using File-&amp;gt;Open, then choose the .csv file and enter the settings as in the following image:&lt;br /&gt;
&lt;br /&gt;
[[File:Csv_import_libreoffice.png | 500px]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=TSMC_130nm_process&amp;diff=2520</id>
		<title>TSMC 130nm process</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=TSMC_130nm_process&amp;diff=2520"/>
		<updated>2017-09-15T13:31:55Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added Category:Integrated_Circuts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Cadence design with TSMC 130nm process=&lt;br /&gt;
&lt;br /&gt;
==Starting up==&lt;br /&gt;
This tutorial will start from very basics in analog IC design then take you through the whole analog IC design process.&lt;br /&gt;
&lt;br /&gt;
Here is the outline of the analog IC design flow:&lt;br /&gt;
# Schematic capture (Cadence tool)&lt;br /&gt;
# Netlist extraction from schematic&lt;br /&gt;
# Simulating using ELDO simulator and viewing results with EZWAVE (ELDO is a Mentor Graphic&#039;s tool for netlist level simulations)&lt;br /&gt;
# Layout using Cadence&lt;br /&gt;
# Signoff layout (DRC, LVS and parasitic extraction) using Calibre (Calibre is a Mentor Graphic&#039;s tool)&lt;br /&gt;
&lt;br /&gt;
 ssh -X mikroserver2&lt;br /&gt;
 source /eda/cadence/cadence_init.sh&lt;br /&gt;
&lt;br /&gt;
First time you should add the following line to your cds.lib file before starting the design environment. If the ~/cds.lib doesn&#039;t exist, just create it.&lt;br /&gt;
 DEFINE tsmc13rf /eda/design_kits/tsmc_013/tsmc13rf&lt;br /&gt;
&lt;br /&gt;
Virtuoso Mixed Signal Design Environment is started by issuing this command:&lt;br /&gt;
 tsmc_cds_start&lt;br /&gt;
&lt;br /&gt;
In the log window, choose &amp;quot;File &amp;gt; New &amp;gt; Library&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;New Library&amp;quot; dialog box, you must give the library a name (for example TORLIB, as I did). You must also specify a technology file. Here you choose &amp;quot;Attach to an existing technology library&amp;quot;. Then click the OK button. When asked for technology, choose &amp;quot;tsmc13rf&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After successfully creating the new library, it is time to create your first design. In the log window, choose &amp;quot;File &amp;gt; New &amp;gt; Cellview&amp;quot;. In the &amp;quot;Create New File&amp;quot; dialog box, you must give the design a name. You must also specify which library the design belongs to, and here you specify the library that you have just created. Choose to open the cell with &amp;quot;Schematics XL&amp;quot; and add a check-mark to always use this application if it is not checked.&lt;br /&gt;
&lt;br /&gt;
Now click OK, and the Virtuoso Schematic Editor should pop up. We will now draw a simple inverter design, as shown in the picture:&lt;br /&gt;
&lt;br /&gt;
[[File:virtuoso_schematic_editor.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Entering the design==&lt;br /&gt;
To create the inverter design, do the following:&lt;br /&gt;
&lt;br /&gt;
# Press &#039;i&#039; or click on the &amp;quot;Instance&amp;quot; icon to invoke the transistors. The &amp;quot;Add Instance&amp;quot; dialog box will now pop up. In the &amp;quot;Library&amp;quot; field, click &amp;quot;Browse&amp;quot; to open the &amp;quot;Library Browser&amp;quot;. In the library browser, choose &amp;quot;tsmc13rf&amp;quot; as library, &amp;quot;nmos3v&amp;quot; (for n-type transistor) or &amp;quot;pmos3v&amp;quot; (for p-type transistor) as cell and &amp;quot;spectre&amp;quot; as view. The cell is placed in the schematic by moving the cursor to the desired location and clicking the left mouse button.&lt;br /&gt;
# To insert the voltage sources, pick the &amp;quot;vdc&amp;quot; cell from the &amp;quot;analogLib&amp;quot; library. Add one connected to vdd and gnd and one connected to the input.&lt;br /&gt;
# To insert the ground and vdd nets, pick the &amp;quot;vdd&amp;quot; and &amp;quot;gnd&amp;quot; cells from the &amp;quot;analogLib&amp;quot; library. Here the view name should be &amp;quot;symbol&amp;quot;, not &amp;quot;spectreS&amp;quot; (in fact, &amp;quot;symbol&amp;quot; is the only available option).&lt;br /&gt;
# To connect the symbols, press &#039;w&#039; or click the &amp;quot;Wire (narrow)&amp;quot; icon. Then use the left mouse button to click the nodes togeter, two by two.&lt;br /&gt;
# To remove an instance or a wire, left click at the instance or wire that you want to remove, then press the &amp;quot;Delete&amp;quot; button on the keyboard.&lt;br /&gt;
# To insert a pin, press &#039;p&#039;. Choose a name for the pin in the dialog that occurs and click on the schematic to place it. Create one input and one output.&lt;br /&gt;
# To change the properties of the icons, press &#039;q&#039; or click at the &amp;quot;Properties&amp;quot; icon. Then click at the instances or nets that you want to modify. For the vdc source connected between vdd and gnd, set the &amp;quot;DC voltage&amp;quot; property to 3.3.&lt;br /&gt;
# To check and save the schematic, press &#039;x&#039; or click the &amp;quot;Check and save&amp;quot; icon. &lt;br /&gt;
# If there are any errors or warnings, press ok and press &#039;g&#039; or &amp;quot;Check-&amp;gt;Find Marker&amp;quot; to view the errors. Make sure you have no errors or warnings before continuing. &lt;br /&gt;
# Then open &amp;quot;Launch &amp;gt; ADE GXL&amp;quot; and press create new view. The &amp;quot;Virtuoso Analog Environment&amp;quot; should now come up.&lt;br /&gt;
&lt;br /&gt;
==Simulating the design==&lt;br /&gt;
&lt;br /&gt;
# Choose &amp;quot;Create &amp;gt; Test...&amp;quot; select the cell to simulate.&lt;br /&gt;
# Choose &amp;quot;Outputs &amp;gt; To be plotted &amp;gt; Select on Schematic&amp;quot;. Click at the &amp;quot;in&amp;quot; node connected to the inverter input and the &amp;quot;out&amp;quot; node connected to the output.&lt;br /&gt;
# Choose &amp;quot;Analyses &amp;gt; Choose&amp;quot;. We will now run a dc analysis to obtain the DC transfer characteristics of the inverter. Choose &amp;quot;Component parameter&amp;quot; as your sweep variable. Then click at &amp;quot;Select component&amp;quot;. In the schematic, click at the input &amp;quot;vdc&amp;quot; instance. In the &amp;quot;Select Component Parameter&amp;quot; dialog box, choose dc as your sweep parameter. The sweep range should go from 0 to 3.3.&lt;br /&gt;
[[File:select_comp_parameter.png|300px]]&lt;br /&gt;
The analog environment should now look like this:&lt;br /&gt;
[[File:analog_env_2.png|500px]]&lt;br /&gt;
# Switch to the &amp;quot;adexl&amp;quot; tab and choose the green run button. When the run is completed press the graph button beside the box that says &amp;quot;Replace&amp;quot;. The outputs should look like this:&lt;br /&gt;
[[File:plot_output_dc.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To save your simulation settings, choose &amp;quot;Session &amp;gt; Save state&amp;quot; in the test editor windoe to save your state information under whatever file name you want. In a later session, you can reload your saved states using &amp;quot;Session &amp;gt; Load state&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Generating a Symbol==&lt;br /&gt;
Finally, we want to generate a symbol for our inverter. This symbol is needed if we want to use our inverter design inside another design (hierarchical design methodology). &lt;br /&gt;
&lt;br /&gt;
Select the schematic tab and choose &amp;quot;Create -&amp;gt; Create Cellview -&amp;gt; From Cellview&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Press OK in the dialog that occurs.&lt;br /&gt;
&lt;br /&gt;
The pins should already be connected to the right positions in the symbol generator, so press OK here also and ths symbol editor will occur.&lt;br /&gt;
&lt;br /&gt;
Press the red X and delete the pre-created green square. Use the line tool and the circle tool to create the inverter symbol&lt;br /&gt;
&lt;br /&gt;
[[File:symbol.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Save it by clicking the &amp;quot;Save and check&amp;quot; symbol or pressing &#039;shift+X&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_setup&amp;diff=2519</id>
		<title>Cadence Virtuoso setup</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_setup&amp;diff=2519"/>
		<updated>2017-09-15T13:31:42Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added Category:Integrated_Circuts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= New single script install =&lt;br /&gt;
Edit the europractice_installer.sh and change INST_DIR=/eda to INST_DIR=/prog (ignore the warning of changing install paths){{-}}&lt;br /&gt;
Run &amp;quot;source europractice_installer.sh&amp;quot; and wait until done.{{-}}&lt;br /&gt;
Check in the /prog/cadence/20xx-xx/script folder if there is a IC, VIPCAT and ASSURA script in there, if not modify the release versions and add the following snippet in a file called cadence_missing.csh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tcl&amp;quot;&amp;gt;&lt;br /&gt;
setenv YEAR 2014-15&lt;br /&gt;
setenv $CDS_INST /prog/cadence/$YEAR/RHELx86&lt;br /&gt;
setenv CDS_VIPCAT $CDS_INST/VIPCAT_11.30.029_OVM &lt;br /&gt;
setenv PATH &amp;quot;${PATH}:${CDS_VIPCAT}/tools/bin&amp;quot;&lt;br /&gt;
if ( $?SPECMAN_PATH == 0) then &lt;br /&gt;
  setenv SPECMAN_PATH &amp;quot;${CDS_VIPCAT}/utils:${CDS_VIPCAT}/packages&amp;quot;&lt;br /&gt;
else &lt;br /&gt;
  setenv SPECMAN_PATH &amp;quot;${CDS_VIPCAT}/utils:${CDS_VIPCAT}/packages:${SPECMAN_PATH}&amp;quot;&lt;br /&gt;
endif&lt;br /&gt;
alias help_cds_vipcat  &#039;$CDS_VIPCAT/tools/bin/cdnshelp &amp;amp;&#039;&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
setenv CDS_VIPCAT $CDS_INST/VIPCAT_11.30.029_UVM &lt;br /&gt;
setenv PATH &amp;quot;${PATH}:${CDS_VIPCAT}/tools/bin&amp;quot;&lt;br /&gt;
if ( $?SPECMAN_PATH == 0) then &lt;br /&gt;
  setenv SPECMAN_PATH &amp;quot;${CDS_VIPCAT}/utils:${CDS_VIPCAT}/packages&amp;quot;&lt;br /&gt;
else &lt;br /&gt;
  setenv SPECMAN_PATH &amp;quot;${CDS_VIPCAT}/utils:${CDS_VIPCAT}/packages:${SPECMAN_PATH}&amp;quot;&lt;br /&gt;
endif&lt;br /&gt;
alias help_cds_vipcat  &#039;$CDS_VIPCAT/tools/bin/cdnshelp &amp;amp;&#039;&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
setenv CDS_ASSURA $CDS_INST/ASSURA_04.14.111_IC616OA &lt;br /&gt;
setenv ASSURAHOME $CDS_ASSURA&lt;br /&gt;
#the following line might be completely redundant&lt;br /&gt;
setenv SUBSTRATESTORMHOME $ASSURAHOME		# For Assura-RF&lt;br /&gt;
setenv LANG C&lt;br /&gt;
setenv PATH &amp;quot;${PATH}:${CDS_ASSURA}/tools/bin&amp;quot;&lt;br /&gt;
setenv PATH &amp;quot;${PATH}:${CDS_ASSURA}/tools/assura/bin&amp;quot;&lt;br /&gt;
setenv PATH &amp;quot;${PATH}:${SUBSTRATESTORMHOME}/bin&amp;quot;&lt;br /&gt;
setenv ASSURA_AUTO_64BIT ALL&lt;br /&gt;
alias help_cds_assura  &#039;$CDS_ASSURA/tools/bin/cdnshelp &amp;amp;&#039;&lt;br /&gt;
# assura&lt;br /&gt;
&lt;br /&gt;
setenv CDS_IC  $CDS_INST/IC_6.1.6.080 &lt;br /&gt;
# This line is required by the some design kits...&lt;br /&gt;
setenv CDSDIR $CDS_IC&lt;br /&gt;
# When using ADE set netlisting mode to analog (&amp;quot;dfIIconfig.pdf&amp;quot;), p16.&lt;br /&gt;
setenv CDS_Netlisting_Mode Analog&lt;br /&gt;
setenv MG_ENABLE_PTOT true&lt;br /&gt;
# Required for tutorial material and cadence libraries (eg analogLib)&lt;br /&gt;
setenv CDSHOME $CDS_IC&lt;br /&gt;
setenv CDS_USE_PALETTE&lt;br /&gt;
setenv PATH &amp;quot;${PATH}:${CDS_IC}/tools/bin&amp;quot;&lt;br /&gt;
setenv PATH &amp;quot;${PATH}:${CDS_IC}/tools/dfII/bin&amp;quot;&lt;br /&gt;
alias help_cds_ic  &#039;$CDS_IC/tools/bin/cdnshelp &amp;amp;&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the following to generate the startup script&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tcl&amp;quot;&amp;gt;&lt;br /&gt;
setenv YEAR 2014-15&lt;br /&gt;
# Fix path&lt;br /&gt;
sed -i &#039;s/eda/prog/g&#039; /prog/cadence/$YEAR/scripts/*.csh&lt;br /&gt;
# Fix non existent manpath&lt;br /&gt;
sed -i &#039;s/setenv MANPATH/#setenv MANPATH/g&#039; /prog/cadence/$YEAR/scripts/*.csh&lt;br /&gt;
chmod +x /prog/cadence/$YEAR/scripts/*.csh&lt;br /&gt;
# Add all scripts to one fil&lt;br /&gt;
ls /prog/cadence/$YEAR/scripts/*.csh &amp;gt; /prog/cadence/cadence_$YEAR\_init.csh&lt;br /&gt;
# Add source to each line&lt;br /&gt;
sed -i -e &#039;s/^/source /&#039; /prog/cadence/cadence_$YEAR\_init.csh&lt;br /&gt;
echo &#039;source /prog/cadence/eda_general_init.csh&#039; &amp;gt;&amp;gt; /prog/cadence/cadence_$YEAR\_init.csh&lt;br /&gt;
chmod +x /prog/cadence/cadence_$YEAR\_init.csh&lt;br /&gt;
ln -s /prog/cadence/cadence_$YEAR\_init.csh /prog/cadence/cadence_init.csh&lt;br /&gt;
source /prog/cadence/cadence_init.csh&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The content of eda_general_init.csh is &lt;br /&gt;
&amp;lt;source lang=&amp;quot;tcl&amp;quot;&amp;gt;&lt;br /&gt;
setenv CDS_LIC_FILE 5280@vlsi.ift.uib.no&lt;br /&gt;
setenv AMS_DIR /path/to/amslib&lt;br /&gt;
setenv TSMC_DIR /path/to/tsmc&lt;br /&gt;
setenv PATH &amp;quot;${PATH}:${AMS_DIR}/cds/bin&amp;quot;&lt;br /&gt;
setenv CDS_BIND_TMP_DD true&lt;br /&gt;
setenv IUSDIR $CDS_INCV&lt;br /&gt;
alias ams_cds_start &#039;setenv AMS;ams_cds -tech c35b4 -nologo&#039;&lt;br /&gt;
alias tsmc_cds_start &#039;unsetenv AMS;virtuoso &amp;amp;&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run checksys.sh script given at end of this page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Old install method=&lt;br /&gt;
== Update install manager ==&lt;br /&gt;
Always update install manager if a newer exists or else installations may fail.&lt;br /&gt;
&lt;br /&gt;
 cd /prog/cadence/&lt;br /&gt;
 mkdir iscape&lt;br /&gt;
 tar zxvf /prog/download/download.msc.rl.ac.uk/Cadence/2012_2013/ISCAPE/lnx86/iscape_VERSION&lt;br /&gt;
&lt;br /&gt;
== Extract downloaded files ==&lt;br /&gt;
&lt;br /&gt;
 cd /prog/cadence/&lt;br /&gt;
 mkdir download&lt;br /&gt;
 cd download&lt;br /&gt;
 find /prog/download/download.msc.rl.ac.uk/Cadence/ -name &#039;*.tar&#039; | xargs -l tar xvf&lt;br /&gt;
&lt;br /&gt;
== Run install manager ==&lt;br /&gt;
&lt;br /&gt;
 /prog/cadence/iscape/iscape/bin/iscape.sh&amp;amp;&lt;br /&gt;
&lt;br /&gt;
== configure install manager ==&lt;br /&gt;
preferences -&amp;gt; directories{{-}}&lt;br /&gt;
Set default install directory to{{-}}&lt;br /&gt;
/prog/cadence&lt;br /&gt;
&lt;br /&gt;
== install/update program with install manager ==&lt;br /&gt;
For new installs, follow the install instructions provided by europractice in addition to the tips from this guide. Correct directory naming reduces the amount of editing of the settings file later.&lt;br /&gt;
&lt;br /&gt;
* Press the icon which has the text &amp;quot;local directory/media install&amp;quot;&lt;br /&gt;
* Select browse and navigate to the directory containing the install files and select the CDROM1 folder. *Check that there isn&#039;t a slash at the end of the path. The program doesn&#039;t search recursively.&lt;br /&gt;
fex: /prog/cadence/unpacked/ASSURA04.12.020-5141_lnx86.Hotfix/CDROM1&lt;br /&gt;
*You don&#039;t need to install all updates recursively, select only the latest hotfix and the install will ask for the path to the base install when it is needed. If there are no hotfixes, install the base install.&lt;br /&gt;
*Select the correct path to install to, keep the existing naming convention.&lt;br /&gt;
*If a window opens with &amp;quot;Welcome to OpenAccess.....&amp;quot;, just press enter and then &#039;n&#039; and then enter again.&lt;br /&gt;
*If a window opens which asks about configuring the license server, press n.&lt;br /&gt;
*When the install is finished and you are back in the result list, you need to press the small underlined cancel text to change the path.&lt;br /&gt;
*To make make less changes to the environment script later run this command and use the provided paths in the installation. The CDS_INST path will be changed later.&lt;br /&gt;
 cat /prog/download/download.msc.rl.ac.uk/Cadence/2013_2014/cadence_ic_2013.csh | grep CDS_INST&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
== Package specifics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INCISIVE ===&lt;br /&gt;
When doing a full install, INCISIVE needs to be installed first as it is required by IC.&lt;br /&gt;
Press cancel when the ARM license file dialog shows.&lt;br /&gt;
&lt;br /&gt;
=== ASSURA ===&lt;br /&gt;
There are two versions ASSURA*-615 and ASSURA*-5141.&lt;br /&gt;
5141 is for compability with IC5 (CDB).&lt;br /&gt;
61 is for use with IC6 (OA).&lt;br /&gt;
&lt;br /&gt;
=== VIPCAT ===&lt;br /&gt;
Choose UVM as the packet to install for IP verification&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
If a new install, then copy the template script called &amp;quot;cadence_ic_20xx.csh&amp;quot; from the download folder to the /prog/cadence folder.&lt;br /&gt;
&lt;br /&gt;
Line references following will be based on the 2012 release of the file. Check that actual folder names are correct.&lt;br /&gt;
&lt;br /&gt;
*24 - Set correct license server at line&lt;br /&gt;
*27 - Set CDS_INST to /prog/candence&lt;br /&gt;
*37 - Set ALTOS path to /ALTOS/altos_rel3.2p3&lt;br /&gt;
*57 - Set ASSURA path to /ASSURA_4.12_CDB if using IC5, /ASSURA_4.12_OA if using IC6&lt;br /&gt;
*72/74 - Comment/uncomment line according to IC version&lt;br /&gt;
*83 - Set to correct MVS folder (correct according to install instructions)&lt;br /&gt;
*110 - Set to correct IC6 folder (correct according to install instructions)&lt;br /&gt;
*151 - Set to correct ICC folder (correct according to install instructions)&lt;br /&gt;
*188 - Set PVE path to /PVE_11.12HF106&lt;br /&gt;
*213 - Set Conformal path to /CONFORMAL_11.10&lt;br /&gt;
*229 - Set to correct RCL folder (correct according to install instructions)&lt;br /&gt;
*243 - Set EDI path to /EDI_11.1&lt;br /&gt;
*258 - Set to correct ET folder (correct according to install instructions)&lt;br /&gt;
*274 - Set to correct ETS folder (correct according to install instructions)&lt;br /&gt;
*293 - Set MMSIM path to /MMSIM_11.10&lt;br /&gt;
*315 - Set INCISIVE path to /INCISIVE_12.1&lt;br /&gt;
*387 - Set VIPCAT path to /VIPCAT_11.3.014&lt;br /&gt;
*411 - Set CTOS path to /CTOS_12.1&lt;br /&gt;
&lt;br /&gt;
If you correctly set the directories like specified above you can skip editing the paths to the specific programs and only change the one for CDS_INT.&lt;br /&gt;
&lt;br /&gt;
Include these lines at the bottom&lt;br /&gt;
 setenv AMS_DIR /path/to/amslib&lt;br /&gt;
 setenv TSMC_DIR /path/to/tsmc&lt;br /&gt;
 setenv PATH &amp;quot;${PATH}:${AMS_DIR}/cds/bin&amp;quot;&lt;br /&gt;
 setenv CDS_BIND_TMP_DD true&lt;br /&gt;
 setenv IUSDIR $CDS_INCV&lt;br /&gt;
 alias ams_cds_start &#039;setenv AMS;ams_cds -tech c35b4 -nologo&#039;&lt;br /&gt;
 alias tsmc_cds_start &#039;unsetenv AMS;virtuoso &amp;amp;&#039;&lt;br /&gt;
&lt;br /&gt;
Save file as cadence_ic_20xx_uib.csh and add/update the symlink&lt;br /&gt;
 csh&lt;br /&gt;
 chmod +x /prog/cadence/cadence_ic_20xx_uib.csh&lt;br /&gt;
 ln -s /prog/cadence/cadence_ic_20xx_uib.csh /prog/cadence/cadence_init.csh&lt;br /&gt;
 source /prog/cadence/cadence_init.csh&lt;br /&gt;
Run lmstat to check that it is possible to connect to the license server&lt;br /&gt;
 lmstat -c 5280@&amp;lt;your licenceserver&amp;gt;&lt;br /&gt;
Both cdslmd and altosda should be listed as up.&lt;br /&gt;
&lt;br /&gt;
Run the checksys.sh script listed below to check for any missing dependencies and to set up any missing tools links.&lt;br /&gt;
In case the scipt gives an error like&lt;br /&gt;
&amp;lt;source lang=text&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Configuration checks failed, status is: FAIL&lt;br /&gt;
&lt;br /&gt;
checkSysConf cannot reliably parse your systems /etc/redhat-release file&lt;br /&gt;
It would appear that the file is non-standard and does not contain release&lt;br /&gt;
information in the standard readable format.&lt;br /&gt;
&lt;br /&gt;
The contents of your /etc/redhat-release is listed below between&lt;br /&gt;
&amp;lt;RELEASE_FILE&amp;gt; tags.&lt;br /&gt;
A &#039;correct&#039; release file should have only one line of content, containing&lt;br /&gt;
version information in a standard format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;RELEASE_FILE&amp;gt;&lt;br /&gt;
Red Hat Enterprise Linux Server release 5.9 (Tikanga)&lt;br /&gt;
&amp;lt;/RELEASE_FILE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please check/correct your /etc/redhat-release file and try again.&lt;br /&gt;
There is no OEM datafile for -r for the Linux platform.&lt;br /&gt;
&lt;br /&gt;
Valid OEM images are :&lt;br /&gt;
foreach: No match.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
then the OS is probably newer than checkSysConf used, copy a newer version from another program folder.&lt;br /&gt;
If you then get&lt;br /&gt;
&amp;lt;source lang=text&amp;gt;&lt;br /&gt;
This operating system version &#039;5.0WS&#039; is not supported&lt;br /&gt;
&lt;br /&gt;
If you believe you are running a supported OS then check that&lt;br /&gt;
the OS version directory exists in the data directory:&lt;br /&gt;
/&amp;lt;path to cadence&amp;gt;/ICC_11.2.41/share/patchData/Linux/x86_64&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Then check the version in the aforementioned folder and the text file inside it.&lt;br /&gt;
&lt;br /&gt;
Copy the .cdsinit script below to the folder /prog/cadence/IC_6.X.X.X/tools/dfII/local&lt;br /&gt;
&lt;br /&gt;
== Scripts ==&lt;br /&gt;
&lt;br /&gt;
===Checksys.sh===&lt;br /&gt;
Usefull for setting up missing tools folders and checking that all dependencies are installed&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# Script for setting up tools folders and checking dependencies&lt;br /&gt;
# By Arild Velure 2014&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
if ( [ -z &amp;quot;$CDS_INST&amp;quot; ] &amp;amp;&amp;amp; [ -z &amp;quot;$CDS_TOP&amp;quot; ] )&lt;br /&gt;
then&lt;br /&gt;
  echo &amp;quot;Please run environment script first&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Add new modules if needed&lt;br /&gt;
#2012&lt;br /&gt;
#cds_paths=( $CDS_ASSURA $CDS_MVS $CDS_IC $CDS_ICC $CDS_PVE $CDS_CONFORMAL $RC_PATH $CDS_SOCE&lt;br /&gt;
#$CDS_ET $CDS_ETS $CDS_MMSIM $incisiv_dir $CDS_VIPCAT $CTOS_ROOT )&lt;br /&gt;
#2013&lt;br /&gt;
cds_paths=( $ALTOSHOME $CDS_ASSURA $CDS_IC $CDS_ICC $CDS_PVE $CDS_CONFORMAL $CDS_RC $CDS_EDI $CDS_ET &lt;br /&gt;
$CDS_ETS $CDS_MMSIM $CDS_INCV $CDS_VIPCAT $CTOS_ROOT)&lt;br /&gt;
# CTOS_ROOT doesn&#039;t seem to have a checksysconf&lt;br /&gt;
#2014&lt;br /&gt;
cds_paths=( $CDS_ASSURA $CDS_CONFORMAL $CTOS_ROOT $CDS_EDI $CDS_ET $CDS_EXT $CDS_IC $CDS_INCV $ALTOSHOME $CDS_MMSIM $CDS_MVS $CDS_PVS $CDS_RC $CDS_SSV $CDS_VIPCAT )&lt;br /&gt;
# CDS_ASSURA CDS_IC and CDS_VIPCAT needs manual script&lt;br /&gt;
&lt;br /&gt;
if [ -e ./problems.txt ]&lt;br /&gt;
  then&lt;br /&gt;
  rm ./problems.txt&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Some installers forget to link the tools folder to the tools.lnx86&lt;br /&gt;
# Creat links so we don&#039;t need to edit and check settings file&lt;br /&gt;
for i in &amp;quot;${cds_paths[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
  if [ ! -e $i ]&lt;br /&gt;
    then&lt;br /&gt;
    echo &amp;quot;Can&#039;t find path $i is it installed?&amp;quot;&lt;br /&gt;
    continue&lt;br /&gt;
  fi&lt;br /&gt;
  if [ ! -e $i/tools ]&lt;br /&gt;
  then&lt;br /&gt;
    if [ -e $i/tools.lnx86 ]&lt;br /&gt;
    then&lt;br /&gt;
      ln -s tools.lnx86 $i/tools&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
  # Run checksys to check that system is properly installed&lt;br /&gt;
  echo &amp;quot;Checking $i&amp;quot;&lt;br /&gt;
  if [ ! -e $i/tools/bin/checkSysConf ]&lt;br /&gt;
  then&lt;br /&gt;
    echo &amp;quot;checkSysConf not found&amp;quot;&lt;br /&gt;
    continue&lt;br /&gt;
  fi&lt;br /&gt;
  # You need to specifically mention the name of the release to test for.&lt;br /&gt;
  # Next line parses the output and grabs all lines which starts with a space and contains&lt;br /&gt;
  # some characters, which should only be release names, and puts them in an array&lt;br /&gt;
  proglist=($($i/tools/bin/checkSysConf -r | egrep &#039;^ +\w&#039;))&lt;br /&gt;
  # If it returns empty it propably didn&#039;t find a supported OS version&lt;br /&gt;
  if [ ${#proglist[@]} = 0 ]&lt;br /&gt;
  then&lt;br /&gt;
    $i/tools/bin/checkSysConf -r &amp;gt;&amp;gt; problems.txt&lt;br /&gt;
    echo &amp;quot;FAIL, couldn&#039;t find releasename&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
  for a in &amp;quot;${proglist[@]}&amp;quot;&lt;br /&gt;
  do&lt;br /&gt;
    echo &amp;quot;Prog version $a&amp;quot;&lt;br /&gt;
    result=$($i/tools/bin/checkSysConf $a -q)&lt;br /&gt;
    echo &amp;quot;$result&amp;quot;&lt;br /&gt;
    if [ &amp;quot;$result&amp;quot; = &amp;quot;FAIL&amp;quot; ]&lt;br /&gt;
    then&lt;br /&gt;
      #Something failed, run again with verbosity&lt;br /&gt;
      $i/tools/bin/checkSysConf $a &amp;gt;&amp;gt; problems.txt&lt;br /&gt;
    fi&lt;br /&gt;
  done&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ -e ./problems.txt ]&lt;br /&gt;
  then&lt;br /&gt;
  echo &amp;quot;Missing modules:&amp;quot;&lt;br /&gt;
  cat ./problems.txt | grep FAIL&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===.cdsinit===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;autohotkey&amp;quot;&amp;gt;&lt;br /&gt;
; AMS runs a script before starting virtuoso which creates a local .cdsinit in the current folder&lt;br /&gt;
; load the local .cdsinit if the program was started with the variable AMS set else load TSMC settings&lt;br /&gt;
if(getShellEnvVar(&amp;quot;AMS&amp;quot;) then&lt;br /&gt;
  loadi(&amp;quot;./.cdsinit&amp;quot;)&lt;br /&gt;
else&lt;br /&gt;
;if( ddIsId( ddGetObj( &amp;quot;tsmc13rf&amp;quot; ) ) then&lt;br /&gt;
  printf(&amp;quot;********************************************\n&amp;quot;)&lt;br /&gt;
  printf(&amp;quot;         Starting TSMC 130nm                \n&amp;quot;)&lt;br /&gt;
  printf(&amp;quot;********************************************\n&amp;quot;)&lt;br /&gt;
  ddCreateLib( &amp;quot;tsmc13rf&amp;quot; strcat(getShellEnvVar(&amp;quot;TSMC_DIR&amp;quot;) &amp;quot;/tsmc13rf&amp;quot;))&lt;br /&gt;
  loadi(strcat(getShellEnvVar(&amp;quot;TSMC_DIR&amp;quot;) &amp;quot;/tsmc13rf/libInit.il&amp;quot;))&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux packages that might be required ==&lt;br /&gt;
*openmotif22&lt;br /&gt;
*libXp&lt;br /&gt;
*compat-readline43&lt;br /&gt;
*tk&lt;br /&gt;
*ksh&lt;br /&gt;
*sysstat&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=2518</id>
		<title>Cadence Virtuoso overview</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=2518"/>
		<updated>2017-09-15T13:31:28Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added Category:Integrated_Circuts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Analog IC design flow using Cadence from basics (Schematic capture, Netlist extraction, Simulating using ELDO, Layout, Signoff Layout)=&lt;br /&gt;
&lt;br /&gt;
[[ TSMC 130nm process ]]&lt;br /&gt;
&lt;br /&gt;
[[ IHP 130nm process ]]&lt;br /&gt;
&lt;br /&gt;
[[ AMS 350nm process ]]&lt;br /&gt;
&lt;br /&gt;
= Simulation =&lt;br /&gt;
&lt;br /&gt;
[[Testbench|Virtuoso Testbench]]&lt;br /&gt;
&lt;br /&gt;
= Layout =&lt;br /&gt;
&lt;br /&gt;
[[Layout XL and IHP SG13S]]&lt;br /&gt;
&lt;br /&gt;
=Helpful stuff=&lt;br /&gt;
&lt;br /&gt;
[[ Transistor operating point printer ]] - Script to extract transistor operating point parameters after simulation.&lt;br /&gt;
&lt;br /&gt;
[[ ADEXL-butterfly-curves ]] - Howto make DC butterfly curves easily.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=ADEXL-butterfly-curves&amp;diff=2517</id>
		<title>ADEXL-butterfly-curves</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=ADEXL-butterfly-curves&amp;diff=2517"/>
		<updated>2017-09-15T13:31:14Z</updated>

		<summary type="html">&lt;p&gt;Fli091: Added Category:Integrated_Circuts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To create a butterfly curve, for example for characterizing SRAM read and hold margins, simulate a single DC sweep (one source, one sweep) on a input.&lt;br /&gt;
Plot both the input (shows up as a straight line for a linear DC sweep) and the output (shows up as the DC response of your circuit).&lt;br /&gt;
&lt;br /&gt;
Have both plots in the same subwindows.&lt;br /&gt;
&lt;br /&gt;
go to Axis -&amp;gt; Y vs Y &lt;br /&gt;
choose the first trace, press ok.&lt;br /&gt;
&lt;br /&gt;
go again to Axis -&amp;gt; Y vs Y&lt;br /&gt;
choose the second trace, press ok.&lt;br /&gt;
&lt;br /&gt;
Put both results in the same plot, and you are finished.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]] [[Category:Integrated_Circuts]]&lt;/div&gt;</summary>
		<author><name>Fli091</name></author>
	</entry>
</feed>