https://open-source-silicon.dev logo
Channels
aa
abcc
activity
adiabatonauts
analog-design
announce
announcements
b2aws
b2aws-tutorial
bag
basebands
beagleboard
bluetooth
board-respin
cadence-genus
cadence-innovus
cadence-spectre
cadence-virtuoso
caravan
caravel
caravel-board
chilechipmakers
chip-yard
chipignite
chipignite2206q_stanford_bringup
chisel
coalition-for-digital-environmental-sustainability
community_denmark_dtu
containers
courses
design-review
design-services
dffram
digital-design
digital-electronics-learners
discord-mods
dynamic-power-estimation
efabless
electric
events
fasoc
fault
foss-asic-tools
fossee-iitb-esim
fossee-iitb-google-sky130
fpga
funding
fuserisc
general
generative-ai-silicon-challenge
genius-vlsi
gf180
gf180mcu
hardware-beginners
help-
ieee-sscs-cac-23
ieee-sscs-dc-21q3
ieee-sscs-dc-22
ieee-sscs-dc-23
ihp-sg13g2
images
infiniband
j-core
japan-region
junk
klayout
latam_vlsi
layouteditor
lvs
lvs-analysis
magic
magical
maker-projects
maker-zone
microwatt
mpw-2-silicon
mpw-one-clean-short
mpw-one-silicon
neuro-mem
nydesign
open_pdks
open-pdk
openadiabaticlogic
openfpga
openhighqualityresonators
openlane
openlane_cloudrunner
openlane-development
openocd
openpositarithmetic
openpower
openram
openroad
opentitan
osu
pa-test-chip
paracells
pd-openlane-and-sky130
picosoc
pll
popy_neel
power
private-shuttle
rad-lab-silicon
radio
rdircd
reram
researchers
rf-mmw-design
rios
riscv
sdram
serdes
shuttle
shuttle-precheck
shuttle-status
silicon-photonics
silicon-validation
silicon-validation-private
sky130
sky130-ci
sky130-pv-workshop
sky65
sky90
skywater
sram
stdcelllib
strive
swerv
system-verilog-learners
tapeout-job
tapeout-pakistan
team-awesome
timing-closure
toysram
travis-ci
uvm-learners
vendor-synopsys
venn
verification-be
verification-fe
verilog-learners
vh2v
vhdl
vhdl-learners
vliw
vlsi_verilog_using_opensource_eda
vlsi_verilog_using_opensoure_eda
vlsi-learners-group
vlsi101
waveform-viewers
xls
xschem
xyce
zettascale
Powered by
Title
j

Jon Ho

03/11/2023, 4:13 PM
@Tim Edwards @Stefan Schippers I am currently attempting to use both fingers and multipliers at the same time. For example, I would like to instantiate a MOSFET with a total width of 14u: a multiplier of two, 7 fingers per unit transistor (each finger would be 1um wide). In other words, I set W = 7, NF = 7, and M = 2. However, when I do this, Ngspice casts an error. Am I misunderstanding how the notation works for fingers and multipliers in Xschem? And am I supposed to set the W = 14, NF = 7, M = 2 in this case? Side note: I am just using the regular nfet_01v8 symbol. Final side note: is there no performance difference during simulation of multipliers and fingers? I ran tests on the two circuits, one using fingers, and the other using multipliers and there was no difference from what I could tell (I expected greater BW from my circuit with fingers). Do the models not account for the shared diffusions / reduced parasitic cap?
m

milad

03/11/2023, 4:37 PM
i faced the same issue. For nf more than 2 or 3 there will be an error. it also doesn't work with the certain sizing. for example there will be an error if you set w=0.84
s

Stefan Schippers

03/12/2023, 10:46 AM
@Jon Ho I tried
nfet_01v8.sym
and
nfet_01v8_lvt.sym
and both worked with
W=7 nf=7
and
mult=2
. Keep in mind that if using W=1, nf=5 the single finger will have width=0.2 and this is probably too small.
👍 1
The netlist:
XM1 net1 G1v8 S B sky130_fd_pr__nfet_01v8_lvt *L=0.15 W=7 nf=7* ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
+ sa=0 sb=0 sd=0 mult=2 *m=2*
XM2 net3 G1v8 S B sky130_fd_pr__nfet_01v8 *L=0.15 W=7 nf=7* ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
+ sa=0 sb=0 sd=0 mult=2 *m=2*
The I-V characteristic: (gate sweep from 0 to 1.8V, step 0.2V)
m

milad

03/12/2023, 12:50 PM
@Stefan Schippers i set w=0.36 and nf=2, ngspice works with width less than 0.2 for each finger but when i set w=1.05 or w=0.84 there is an error
Untitled1.png
however it works with nf=1 and w=0.84
s

Stefan Schippers

03/12/2023, 5:13 PM
your problem is the ngspice version is too old. My version is 39 yours is 26. Do not install ngspice from ubuntu repositories, get ngspice sources from sourceforge and build your ngspice. Remove the installed one (sudo apt purge ngspice). I have no problem simulating W-0.84 and nf=2
👍 1
j

Jon Ho

03/13/2023, 7:29 PM
@Stefan Schippers Thank you very much for the info! I believe I was mistaken: I was using the nf version of the 1.8V NMOS when this error occurred.
👍 1