Tips

From ift

Estimere delay av en og to invertere i serie

1. Høyre klikk i cell view i library vinduet og velg "New Cell View".

2. Kall det delay, velg schematic i dropdown menyen og trykk finish.

3. Trykk "Add instance" på venstre side, velg inverteren du nettop laget og trykk OK.

4. Lag tre invertere i serie ved å merke den du la til og trykke C på tastaturet.

5. Velg "Add->Source", merk av DC og sett spenningen til 3.3V

6. Trykk på "HIT-Kit Utilities->AMS Library" på fil-menyen.

7. Legg til VDD og GND. De ligger under "etc->cell power->vdd_g" for VDD og "etc->cell power->gnda_g" for GND

8. Legg til puls kilde ved å velge "Add->Source", merk av PULSE og sett verdiene som vist på bildet.

9. Legg til kabler som på bildet under.

10. Sett navn på nettet mellom første og andre inverter ved å velge den og trykke på "Net name", kall den out1. Kall nettet mellom inverter 2 og 3 for out2. Kall nettet etter kilden for in.

11. Trykk "Check & Save". Trykk "HIT-Kit Utilities->Create Viewpoint", trykk navigator og finn frem til mappen der prosjektet dit er i, $navn_på_library/default.group/logic.views/delay Ikke åpne delay mappen, bare merk den.

12. Trykk "Enter simulation mode" og trykk ok på vinduet som kommer opp.

13. Velg "Session->netlister" på høyre side og sjekk at det står gnda i "Set Node 0" feltet.

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.

15. Hold nede CTRL og velg in, out1 og out2 nettene. Trykk så på "Wave outputs" på høyre side.

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.

17. Velg "HIT-Kit Utilities->Set simulation models", trykk ok på vinduet.

18. Trykk "Run ELDO" og når det er ferdig å flytte på seg i tekstruten som kommer opp kan du trykke "View waves"

19. Ekspander tran mappen på venstre side, merk alle tre plottene med ctrl, høyreklikk og velg plot stacked.

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. 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.

21. Gjør det samme som over men velg V(out2) istedet for V(out1) og skift edge relationship til non-inverting.

22. Du får nå opp tpdf og tpdr på grafen.


Andre tips til oppgaven

Fungerer ikke dynamiske eller statiske vippen?

Sjekk at du har plassert clock og clock invers på riktig inngang/riktig transistor, de skifter side fra første til andre ledd.

Prøv å bruke Cgs til kalkulering av delay om du ikke får noe fornuftig svar.

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.

Tristate bufferet kan regnes som parasitisk, mao tilfører den 8C på inngangen og utgangen.

Transmition gaten kobles opp med source mot kilden. Kobl bulk for nmos til gnd og pmos til VDD.

Blir utsignalet bare bølgete rundt VDD så har du for kort pulslengde, hold deg over 2ns.