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
t

Tom

05/24/2023, 11:13 PM
Wait we're no longer supposed to use open_pdks?
a

Amro Tork

05/25/2023, 4:44 AM
I think it’s better to use volare
l

Luis Henrique Rodovalho

05/25/2023, 7:17 AM
I use gf180 open_pdks, and it's so small I include some of its files (magic rc and ngspice models only - 1.8 MB) in the git repository of my analog projects. Simulation is straightforward this way). If I knew how to install it automatically along with my git projects, I would use it.
a

Amro Tork

05/25/2023, 7:41 AM
For simulation models, please use Efabless version
l

Luis Henrique Rodovalho

05/25/2023, 7:44 AM
I know it is a noob question, but is there a way to link the models directly to my git repository so I don't need to upload them with my project files?
a

Amro Tork

05/25/2023, 7:46 AM
You could use ‘git submodule add’ to add the above repo as a submodule to your project
l

Luis Henrique Rodovalho

05/25/2023, 7:47 AM
Thanks!
a

Amro Tork

05/25/2023, 7:48 AM
Example code
Make sure to run submodule update to keep track of changes
l

Luis Henrique Rodovalho

05/25/2023, 7:51 AM
By the way, has anybody simulated gf180 resistors? My simulations with their resistors aren't working.
a

Amro Tork

05/25/2023, 7:52 AM
We are responsible of the quality of the models with NGspice
Could you please send me details?
Cc @Farag Elsayed
@Luis Henrique Rodovalho ?
l

Luis Henrique Rodovalho

05/25/2023, 7:59 AM
@Farag Elsayed
It should be a 1k Ohm per square resistor, but it is not.
a

Amro Tork

05/25/2023, 8:15 AM
It's 1.2K
Let me check the data from foundry.
@Luis Henrique Rodovalho Usually resistors has about 20% around the typical value. I understand that are running typical. That's what I'm trying if the foundry data shows 1.2K or 1K exactly.
l

Luis Henrique Rodovalho

05/25/2023, 8:27 AM
But the simulation shows a 173 Ohm instead of 1.2k
a

Amro Tork

05/25/2023, 8:28 AM
@Luis Henrique Rodovalho I simulated the netlist that you sent me. And I just put the results in the sheet that I shared.
I made some minor updates here:
f

Farag Elsayed

05/25/2023, 8:28 AM
* resistor testbench

* .param
* +  sw_stat_global = 0
* +  sw_stat_mismatch = 0
* .temp 27

* vr vr vss 0
* xr  vr vss vss ppolyf_u_1k r_width=1u r_length=1u m=1

* .control
*     dc vr 0 1 10m
*     plot -i(vr) 
* .endc

Vin top GND 1.0
XR1 top GND GND ppolyf_u_1k r_width=1.0u r_length=1.0u m=1

.temp 25

.control
op
let ires=-1*vin#branch
let res=1.0/ires
print res
.endc

** library calling

.include "design.ngspice"
.lib "sm141064.ngspice" res_typical

.GLOBAL GND
* .end
It's 1.2k
a

Amro Tork

05/25/2023, 8:29 AM
* resistor testbench

.include "/home/atork/test/globalfoundries-pdk-libs-gf180mcu_fd_pr/models/ngspice/design.ngspice"
.lib "/home/atork/test/globalfoundries-pdk-libs-gf180mcu_fd_pr/models/ngspice/sm141064.ngspice" res_typical
.param
+  sw_stat_global = 0
+  sw_stat_mismatch = 0
.temp 27

vr rn vss 0
xr vss rn vss ppolyf_u_1k r_width=1u r_length=1u

.control
	dc vr 0 1 10m
        wrdata dc -i(vr)
.endc
l

Luis Henrique Rodovalho

05/25/2023, 8:30 AM
So does it need a GND global to work?
a

Amro Tork

05/25/2023, 8:31 AM
@Luis Henrique Rodovalho BTW, sheet resistance is variable against L and W. Large L and W usually better results.
l

Luis Henrique Rodovalho

05/25/2023, 8:31 AM
Maybe my models are outdated.
a

Amro Tork

05/25/2023, 8:31 AM
@Luis Henrique Rodovalho possibly please check the link that I shared and use the models that I shared above.
I keep it up to date.
f

Farag Elsayed

05/25/2023, 8:31 AM
It doesn't matter using
.GLOBAL GND
, you could remove it
a

Amro Tork

05/25/2023, 8:32 AM
@Luis Henrique Rodovalho I used your netlist. Check mine please.
@Luis Henrique Rodovalho Originally there was an issue with the resistor models and we resolved that more than 8 months back. But unfortunately, Google didn't get the updates so far. May be you are still using those wrong models.
@Luis Henrique Rodovalho If you have any issues with GF180MCU models, please don't hesitate to contact me.
FYI, I'm using ngspice 40 to simulate.
l

Luis Henrique Rodovalho

05/25/2023, 8:36 AM
I didn't see any magic technology files. Do you plan to include them? Is Klayout able to extract GF180 netlists?
a

Amro Tork

05/25/2023, 8:37 AM
I don't support magic. But we support klayout. Klayout is fully qualified on all devices both for DRC and LVS.
Yes, you should be able to do that.
Even on a very large designs.
One sec
@Luis Henrique Rodovalho Please use this version for Klayout LVS and DRC
Everything in that repo has been reviewed very carefully.
l

Luis Henrique Rodovalho

05/25/2023, 8:40 AM
Solved. It was my models. They were outdated.
a

Amro Tork

05/25/2023, 8:40 AM
For Simulation models, we are facing a few issues with few devices now, but it's work in progress: • CV characteristics for MOS devices • Diodes IV/CV (ngspice somehow doesn't seem to model breakdown correctly)
Please make sure to use keep updating your models from the repo above.
LVS and DRC are fully updated.
If you have any issues with models, I would advise opening an issue on the repo that I shared. Also, if you have any issues in DRC/LVS, please don't hesitate to open an issue on the repo above.
t

Tim Edwards

05/25/2023, 10:57 AM
@Tom: This conversation kind of took off and left the question behind, but: volare is just a repository that contains a pre-compiled version of the PDK built by open_pdks. That saves the trouble (and considerable disk and memory overhead) of compiling it yourself. But it is the same thing. Also, volare is version-controlled, whereas open_pdks will just build to the latest versions of everything (unless you specify otherwise, which is a manual process). It is very much the same difference as between installing a software package and compiling the software from source.
t

Tom

05/27/2023, 6:13 PM
Understood @Tim Edwards, thanks for the explanation