Chapter 1. Hspice IC CAD 실험 Analog part 1
Digital circuit design 2
Layout? MOSFET! Symbol Layout Physical structure 3
Digital circuit design Verilog 를이용한 coding 및 function 확인 Computer 가알아서해주는 gate level circuit design Computer 가알아서해주는 Layout 4
Analog circuit design TR level circuit design TR level l simulation Hspice, cadence 를이용한 TR level circuit design & simulation Vload Layout Clkpi+1 Clkni+1 Clkpi Clkni Post layout simulation Vbias Vcont Fabrication 5
Analog circuit design TR level circuit design Cadence layout editor 를이용한손으로하는 ~layout, Hspice, cadence 를이용한 post layout simulation TR level l simulation Layout Post layout simulation Fabrication 6
TR level circuit simulator! text 기반 Netlist file (Inverter, amp..) Test file (ac, dc, transient sweep) Hspice simulator Simulation log file Simulation results file Cosmos Scope (Simulation result veiwer) 7
[ICCAD@train##]/user1/train##/ > mkdir hspice [ICCAD@train##]/user1/train##/ > cd hspice [ICCAD@train##]/user1/train##/ hspice> cp /user1/master/hspice/netlist.sp. cp /user1/master/hspice/pmos_vtl.inc. cp /user1/master/hspice/nmos_vtl.inc. ls [ICCAD@train##]/user1/train##/ hspice> vi netlist.sp 8
Inverter vdd Netlist.subckt Inverter out in vdd vss M_p out in vdd vdd PMOS_ VTL w=10u l=0.05u M_n out in vss vss NMOS_VTL w=5u l=0.05u.ends in out.subckt Inverter out in vdd vss 회로만들기회로이름 회로바깥에서보이는 port 들 vss 9
Inverter vdd Netlist.subckt Inverter out in vdd vss M_p out in vdd vdd PMOS_ VTL w=10u l=0.05u M_n out in vss vss NMOS_VTL w=5u l=0.05u.ends in out Mosfet Drain 의 Gate 의 Source 의 Bulk 의의이름 node 명 node 명 node 명 node 명 M_p out in vdd vdd PMOS_VTL w=10u l=0.05u vss Mosfet 의 type Inverter 설계끝! Mosfet 의 width 와 length 10
[ICCAD@train##]/user1/train##/ hspice> cp /user1/master/hspice/inv_sim.sp p. [ICCAD@train##]/user1/train##/ hspice> vi inv_sim.sp 11
DC simulation.include 'PMOS_VTL.inc'.include 'NMOS_VTL.inc'.include 'netlist.sp'.options POST NODE LIST Model 및만들어놓은회로불러오기 V1 vdd 0 1 V2 vss 0 0 Vin in vss 0.5 Voltage 정의해주기 Inverter 라는회로불러오기 x_inv out in vdd vss Inverter c_out out vss 1p Capcitor 정의 Vin 이라는 voltage source 를 0.001001 단위로 0 에서 1 까지변화시키면서각각의 node 들의값이어떻게되는지 simulation 해라..dc Vin 0 1 0.001.END 12
[ICCAD@train##]/user1/train##/ hspice> hspice inv_sim.sp > a.lis & [ICCAD@train##]/user1/train##/ hspice> >info : **** hspice jab concluded [ICCAD@train##]/user1/train##/ hspice> cscope & 13
파형확인하기파형열어보자! Signal Manager click! 14
파형확인하기파형열어보자! 이거더블클릭! Signal Manager click! DC sweep 결과 : file 명. sw0 AC sweep 결과 : file명. ac0 Transient sweep 결과 : file명. tr0 15
보고싶은파형더블클릭! 16
AC simulation.include 'PMOS_VTL.inc'.include 'NMOS_VTL.inc'.include 'netlist.sp'.options POST NODE LIST V1 vdd 0 1 V2 vss 0 0 Vin in vss 0.5 ac=1 Ac sweep 을 frequency 축을 decade 단위로하여, 각 decade 마다 1000 개의 data 를찍고, 100KHZ 에서부터 10GHz 까지의주파수응답을 simulation 해라 x_inv out in vdd vss Inverter c_out out vss 1p.ac dec 1000 100k 10g.END 17
파형확인하기파형열어보자! 이거더블클릭! Signal Manager click! DC sweep 결과 : file 명. sw0 AC sweep 결과 : file명. ac0 Transient sweep 결과 : file명. tr0 18
보고싶은파형더블클릭! 19
transient simulation.include PMOS_VTL.inc'.include 'NMOS_VTL.inc'.include 'netlist.sp'.options POST NODE LIST V1 vdd 0 1 V2 vss 0 0 Vin in vss sin(0.5 0.5 100x) 0.5 V ± 0.5V 의 swing 을가지는 100MHz 의 sin 파신호생성 x_inv out in vdd vss Inverter c_out out vss 1p Transient sweep 을 1ps 마다 data 를찍어서 100ns 까지 simulation 해라.tran 1p 100n.END 20
파형확인하기파형열어보자! 이거더블클릭! Signal Manager click! DC sweep 결과 : file 명. sw0 AC sweep 결과 : file명. ac0 Transient sweep 결과 : file명. tr0 21
보고싶은파형더블클릭! 22
실습 차동증폭기 (differential amplifier) 의설계및시뮬레이션 INp Vdd Vdd DC, AC, Transient sweep 후파형확인 W=1.9u L=0.05u 05 W=1.9u L=0.05u 05 Differential input signal generator vin in vss ac=1 Voff off vss 0.75 Outp Outn Einp inp off in vss 0.5 Vss Einn inn off in vss -0.5 05 Vbias W=5u L=0.05u Vir_gnd W=5u L=0.05u W=10u L=0.3u INn Vvbias vbias vss 0.7.dc vin -0.5 0.5 0.001.ac dec 1000 100k 10g.tran 1p 100n Vss 모든 NMOS 의 bulk 는 vss 로모든 PMOS 의 bulk 는 vdd 로연결! 23
Appendix Parameter 설정및 parameter sweep Hspice netlist 에서 parameter 설정은다음과같이한다. 예를들어어떤 dc voltage 값을 cont 라는 parameter ( 변수 ) 값으로지정하고싶다면, Vcont cont vss cont 와같이 안에변수값을써주면된다. 그리고.param cont=0.6 과같이선언해주면 cont 에는 0.6 이란값이들어가게된다. Cont 값을바꿔가며 parameteric sweep 을하려면,.dc vx 0 1 0.001001 sweep cont 0 1 01 0.1 과같이설정해준다. 이렇게해주면, cont 값을 0 에서 1 까지 0.1 씩변화시키며 10번 반복하여 dc sweep 을하게된다. 이는 ac sweep, transient sweep 에서도마찬가지로적용할수있다..ac dec 1000 100k 10g sweep cont 0 1 0.1.tran 1p 100n sweep cont 0 1 0.1 24
Appendix Cosmos scope measurement tool Cosmos scope measurement tool Measurement tool 을잘사용하면파형에대한거의모든정보를얻을수있다. 예를들어파형의주파수혹은 swing 폭, rising time, falling time 등을알고싶을땐, 직접재려고하지말고 measurement tool 을이용하라 25