• API
• FAQ
• Tools
• Archive
SHARE
TWEET

# Untitled

a guest Sep 18th, 2019 109 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. import math
2.
3. kon = .0008 * 10 ** 6
4. w = 2 * 10 ** -6
5. #ion = kon * w * (vdd - vt) ** 2
6. #ron = vdd / ion
7. cin = 0.2*5.52 * 10 ** -15
8. cout = cin / 4
9. cwire = .15 * 10 ** -15 * 60 * 100
10. rwire = 60 * 20 * 100
11. koff = 1 * 10 ** 6
12. #ioff = koff * w * math.exp(-vt/ (25 * 10 ** -3) )
13. #tclk = 18 / 2 * math.log(2) * (ron * (cout + cwire + 2 * cin) + rwire * (cwire / 2 + 2 * cin))
14. #etot = ( (vdd * ioff) * tclk + 1/2*(cout + cwire + 2 *cin) * vdd**2 * .1 ) * 10**9 * 262143 * 5
15. #edp= tclk * etot
16. #print(tclk)
17. #print(etot)
18. #print(edp)
19. listdd = []
20. listvt = []
21. for i in range(0,71):
22.    listdd.append(0.3 + i / 100)
23. for j in range(0,81):
24.    listvt.append(0.1 + j / 100)
25. print(listdd)
26. print(listvt)
27. temp1 = 100000
28. temp2 = 0
29. blah = []
30. smallestind = 0
31. for k in range(len(listdd)):
32.    for m in range(len(listvt)):
33.       if listvt[m] > listdd[k] - 0.1:
34.          continue
35.       ion_v = kon * w * (listdd[k] - listvt[m]) ** 2
36.       ron_v = listdd[k] / ion_v
37.       ioff_v = koff * w * math.exp(-listvt[m] / (25 * 10 ** -3))
38.       tclk_v = 18 / 2 * math.log(2) * (ron_v * (cout + cwire + 2 * cin) + rwire * (cwire / 2 + 2 * cin))
39.       etot_v = ((listdd[k] * ioff_v) * tclk_v + 1 / 2 * (cout + cwire + 2 * cin) * listdd[k] ** 2 * .1) * 10 ** 9 * 262143 * 5
40.       temp2 = (tclk_v) * (etot_v)
41.       blah.append(temp2)
42.       if(temp1 >= temp2):
43.          temp1 = temp2
44.          smallestind = (k,m)
45. print(temp1)
46. print(tclk_v)
47. print(etot_v)
48. print(smallestind)
49. print(listdd[smallestind[0]])
50. print(listvt[smallestind[1]])
51. print(min(blah))
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

Top