Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - esp

Pages: 1 [2] 3 4 ... 22
16
actually this figure is more appropriate .. they are using Si while i am using Graphene, but this figure shows a 25nm length device, mine is 16nm, so almost similar, and there they show Cgd (which makes up most of Cg), as between 0.2 and 1 fF/um .. so very similar numbers ..

17
one thing is bothering me here still ...

you said >> "a decent fraction of an electron (0.05-0.2) per 0.1 V or so (I assume) sounds about right"

So thinking of the definition of an electronvolt, yes that seems to make sense ... now, my numbers say that with .25V voltage difference on the gate, there are 0.19 more electrons in the channel ... now I know from transmission calculations that the whole range of gate voltage for this device, 0.5V, gives a current increase of current of about 100000x, or 10^5 ... so then it seems to me that the extra electrons in channel are really not helping the current much at all ... is that right?  i suppose since it is a tfet, and tunneling is happening only at one side (source side for n tfet) .. and it does not depend on their being any mosfet-like channel bridging source-drain for operation, then it all makes sense? 

I suppose as in the attached figure from "Tunneling Field-Effect Transistor: Capacitance Components and Modeling", my numbers are in line (my 0.1 fF/um versus theirs about 1.5 fF/um for a not so dissimilar device) with published results .. but then if that is the case .. then i think their picture of the inversion layer near the drain is misleading. .. if there are only a few extra electrons .. i would draw it extremeley thin .. do I have the right understanding here?

18
haha .. well this forum is invaluable . at least for some like me who has not used this type of simulator before ... you and the others at Quantumwise are indeed very wise to realize that this support can bring this tool to a much larger audience ... I am not a semiconductor person at all, i am interested more in circuit level and architecture level concepts, but we found we needed some solid cutting edge device simulations as a baseline, in order to do some higher level studies .. I surveyed all the tools available and i chose ATK based of course on the fact that it uses a very robust and complete set of algorithms, but also that it had the python interface . i work almost exclusively in python ... i use the GUI only to make sure the structures i make in python make sense ... anyway ... this forum is very useful and without your help I would not have gotten very far i think ...

19
ok that is all I wanted to know .. even so, i dont understand why the Id vs Vds curve is so different at Vgs=0.25 than it is at Vgs=0.5, so I am just going to run everything again for piece of mind  .. thank you

20
I suppose i can just run a fresh calculation and get my answer .. thank you

21
well the only plot with no axes is plot 3 ... plot 3 is the same as 2 (Ids versus Vds) except it is at Vgs=0.25 instead of Vgs=0.5 ...

My question though does not depend on the plots .. I am asking whether I can use the same nc file with the initial calc completed, to compute transmission for many different biases, different Vds, different Vgs ... for example for the vds sweep, i save the object ids as biasSweep1, 2, 3, 4, 5 .... then i use a different Vds and/or Vgs... and save over it .. the question is, will the nc file or the initial calc (which I am reading in , using update() and saving again) get messed up by doing this?

22
i could of course run a fresh calculation, but it takes so long i wanted to start from the same one

23
General Questions and Answers / calcaultions using same nc file
« on: November 14, 2012, 20:39 »
I ran transmission calcs and got a Ids vs Vgs curve like attached
tfet1.gif

I ran similar curves at different Vds, 0.4, 0.5, 0.6 ... all using same nc file, and always saving to same nc when done .. then i went back to the 0.5V vds versiob

Now I am seeing something very strange ... i ran a Vds sweep at a fixed Vgs, as attached:
tfet2.gif

Now I realized I did not take the minimum current point into consideration and I used Vgs = 0.5, which is not what I wanted to do .. so i ran again with Vgs = 0.25 ... but now the results look very odd .. and I am wondering if it has something to do with me using the same nc file every time i calculate ... ?  can the calculations get messed up if starting from the same nc file under many different biases? looks wierd
tfet3.gif

24
addition to script:

Code
	# convert to coulombs
chargeDiff1 = numElecDiff1*1.6e-19
chargeDiff2 = numElecDiff2*1.6e-19
voltDiff1 = 0.05
voltDiff2 = 0.25
capacitance1 = chargeDiff1/voltDiff1
capacitance2 = chargeDiff2/voltDiff2
print "capacitance", (capacitance1), (capacitance2)

capacitance1 /= 1e-15
capacitance2 /= 1e-15
print "capacitance in fF", (capacitance1), (capacitance2)

# (a in 1/nm**2)*(b in nm**2)=cap
# (a in 1/nm**2) = cap/(b in nm**2)
# above is fF over area of device, which is 16nm x 1.29nm = 20.64nm**2
deviceArea = 20.64 # in nm^2
capacitance1 /= deviceArea
capacitance2 /= deviceArea
print "capacitance in fF per nm^2", (capacitance1), (capacitance2)
capacitance1 = capacitance1*1e6
capacitance2 = capacitance2*1e6
print "capacitance in fF per um^2", (capacitance1), (capacitance2)

# multiply by device length in um
deviceLength = 0.016 # in um
capacitance1 = capacitance1*deviceLength
capacitance2 = capacitance2*deviceLength
print "capacitance in fF per um width", (capacitance1), (capacitance2)


Results:

Code
numElecDiff 0.0465095588926  0.190210927734 
capacitance 1.48830588456e-19  1.2173499375e-19
capacitance in fF 0.000148830588456  0.00012173499375
capacitance in fF per nm^2 7.21078432443e-06  5.89801326307e-06
capacitance in fF per um^2 7.21078432443  5.89801326307
capacitance in fF per um width 0.115372549191  0.094368212209

25
since my device channel is 16nm x 1.29nm, i can say this capacitance is in units of:  fF / (16*1.29 sq nm) correct? 

Then I can convert to um^2 by multiplying by 16*1.29, and then by 1000*1000 ... this gives:
capacitance in fF per um sq 3071.86334574  2512.61027099

Now if all that is right, how can I convert to ITRS units of fF per um device width? .... multiply by the length in um? That gives:
capacitance in fF per um width 49.1498135318  40.2017643359

Does that make sense?

26
Thank you .. i will post the final script, could be helpful to others after all this discussion ...
This is a 2 probe GNR TFET device, 16nm long, 1.29nm wide

Code
	diffDensity1 = nlread(fName, ElectronDifferenceDensity, object_id="diffDensity[vg-0.25000][vds0.50000]")[0]
diffDensity2 = nlread(fName, ElectronDifferenceDensity, object_id="diffDensity[vg-0.20000][vds0.50000]")[0]
diffDensity3 = nlread(fName, ElectronDifferenceDensity, object_id="diffDensity[vg0.00000][vds0.50000]")[0]

s1 = diffDensity1[:, :, :].sum()
s2 = diffDensity2[:, :, :].sum()
s3 = diffDensity3[:, :, :].sum()
print s1, s2, s3, s2-s1, s3-s2

# Find the volume elements.
dX1, dY1, dZ1 = diffDensity1.volumeElement()
dX2, dY2, dZ2 = diffDensity2.volumeElement()
dX3, dY3, dZ3 = diffDensity3.volumeElement()
print "unit lengths", dX1,dY1,dZ1
print "unit lengths", dX2,dY2,dZ2
length_unit1 = dX1.unit()
length_unit2 = dX2.unit()
length_unit3 = dX3.unit()
# Calculate the volume of the volume element.
dV1 = numpy.dot(dX1, numpy.cross(dY1,dZ1)) * length_unit1**3
dV2 = numpy.dot(dX2, numpy.cross(dY2,dZ2)) * length_unit2**3
dV3 = numpy.dot(dX3, numpy.cross(dY3,dZ3)) * length_unit3**3
print "volumes", dV1, dV2, dV3
numE1 = s1*dV1
numE2 = s2*dV2
numE3 = s3*dV3
print "Total # electrons: ", numE1, numE2, numE3

# let's use s2-s1 as difference in # electrons in channel due to voltage
numElecDiff1 = (numE2-numE1)
numElecDiff2 = (numE3-numE2)
print "numElecDiff", numElecDiff1, numElecDiff2

# convert to coulombs
chargeDiff1 = numElecDiff1*1.6e-19
chargeDiff2 = numElecDiff2*1.6e-19
voltDiff1 = 0.05
voltDiff2 = 0.25
capacitance1 = chargeDiff1/voltDiff1
capacitance2 = chargeDiff2/voltDiff2
print "capacitance", (capacitance1), (capacitance2)

print "capacitance in fF", (capacitance1)*1e15, (capacitance2)*1e15

my results for reference:
Code
2.49328980937 1/Bohr**3 2.62952644165 1/Bohr**3 3.18669569532 1/Bohr**3 0.136236632277 1/Bohr**3 0.557169253673 1/Bohr**3
unit lengths [ 0.69774531  0.          0.        ] Bohr [ 0.          0.69769726  0.        ] Bohr [ 0.          0.          0.70126857] Bohr
unit lengths [ 0.69774531  0.          0.        ] Bohr [ 0.          0.69769726  0.        ] Bohr [ 0.          0.          0.70126857] Bohr
volumes 0.341388054851 Bohr**3 0.341388054851 Bohr**3 0.341388054851 Bohr**3
Total # electrons:  0.851179358199  0.897688917092  1.08789984483
numElecDiff 0.0465095588926  0.190210927734
capacitance 1.48830588456e-19  1.2173499375e-19
capacitance in fF 0.000148830588456  0.00012173499375

27
ok then thank you very much .. it is just so small a capacitance so i was not sure .. ok thank you

28
wouldnt it be as simple as multiplying the change in charge, per this small volume, but the total volume ?  If so, how to get that volume? I can use device width and length which I know, but I do not know the dimension in the direction perpendicular to the 2D graphene plane ... can I estimate maybe 1 Bohr ?

29
the device itself gives a good on/off ratio of at least 10^5, so there is definitely a huge change in charge .. i just need to quantify that

30
ok yes i thought something was strange about that ... but i did think it made sense the differences were the same .. ok ..

but still although this is all sound, it still this is then going to give me in the end, the change in charge, per this small volume correct? not the total change in charge in the device channel?

Pages: 1 [2] 3 4 ... 22