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

Tim Edwards

07/10/2020, 3:05 PM
@User: In the spirit of Google we want engineers to start thinking like programmers (Tim Ansell said as much in his talk). So: Even analog design should be like software. This is the goal of BAG (Berkeley Analog Generator) and FaSOC (see the #bag and #fasoc channels; also #paracells which is analog in the sense of automatically handling the transistor-level implementation of digital standard cells). There is nothing wrong with drawing your own resistor except that the rules for primitive devices are often complex and the devices themselves sometimes have a fixed definition, and sometimes that fixed definition is not even explained in the DRC rule documentation, but only exist as part of a parameterized cell layout. But, that said: The parameterized cells need to be written and are written by hand and there is really no other way to do it since, as I said, there is often nothing documenting what the device should look like. For that, every device becomes (in Magic) a Tcl procedure (or set of procedures); in other tools, they will likely be Python scripts (I will, as a matter of principle, reject anything written in SKILL). The best way to "make a resistor", then, is to create a Tcl script that defines and draws that resistor in a parameterized way that automatically satisfies all DRC rules. There are a number devices in sky130 that do not have parameterized drawing routines in the PDK for Magic, including a lot of useful analog devices such as the high-voltage extended drain devices, the DENMOS and DEPMOS devices, etc. Unfortunately these are complicated devices to draw and so complicated devices to write parameterized scripts for. All of the devices that were simple to draw, I've already made Tcl scripts for. But writing a Tcl script for a simple device is a good exercise anyway, and there are many ways in which the parameterized scripts can be improved (for example, none of them has an option to contact up to metal1, but that should be an option for every pin because local interconnect cannot be used for routing, so in general every pin of every device will be expected to connect up to metal1).
👍 1