独自のマイクロサーキットを開発する方法。自分でプロセッサを作りたいときにこの質問をしました。私はグーグルに行って、何も良いものを見つけませんでした。答えは主に2つです。「難しすぎるので、自分でプロセッサを作ることはありません」と「コンポーネントからコンピュータをハンマーで組み立てます。」
, . Verilog FPGA. , 3 , , FPGA. .
?
. .
. . . . . . , .
. . 130 .
, GDS-II , .
։ . 10000 , . Multi project wafer service [ https://en.wikipedia.org/wiki/Multi-project_wafer_service ].
GDS-II . , , .
GDS-II Process Development Kit
SHA3. SHA3 , Caravel Harness. SKY130 . Caravel Harness .
.
, .
SPICE.
. , , .
, GDS-II .
- , ,
-
Design Rule Check
, .
Primitive Extraction rules . GDS-II (netlist). netlist , netlist .
Layout versus Schematic check , GDS-II netlist. , .
Standard Cell Library. , . .
, .
- - MOSFET. - NMOS PMOS.
. ։
։ . , N+ P Substrate. Vgs < Vth NMOS . Vgs >= Vth, Vds < Vgs - Vth . Vgs >= Vth Vds > Vgs - Vth . PMOS, NMOS , .
։ PMOS () NMOS ()
. Ubuntu ։ https://github.com/efabless/openlane#quick-start. ~/openlane_exp/
։ https://github.com/armleo/sky130_ubuntu_setup/blob/main/install_tools.sh
https://inst.eecs.berkeley.edu/~cs250/fa20/labs/lab1/
OpenLANE, . . skywater PDK + . .
Yosys. . ։ Claire Wolf. Verilog gate-level , . Design Compiler Synopsys
, gate-level GDS-II.
skywater-pdk. PDK skywater 130nm. , -
ngspice, spice. , HSPICE Synopsys.
xschem, . CustomCompiler Synopsys
klayout, GDS-II. CustomCompiler Synopsys
Magic, DRC, . . IC Validator Synopsys
Netgen, LVS . IC Validator Synopsys
OpenRAM. . Memory Compiler Synopsys. , - NDA. .
. , .
cd ~/openlane_exp/openlane
docker run -it --rm -v /home/armleo/openlane_exp/openlane:/openLANE_flow \
-v /home/armleo/openlane_exp/openlane/pdks:/home/armleo/openlane_exp/openlane/pdks \
-e PDK_ROOT=/home/armleo/openlane_exp/openlane/pdks \
-e PDKPATH=/home/armleo/openlane_exp/openlane/pdks/sky130A/libs.tech/magic \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /home/armleo/openlane_exp:/home/armleo/openlane_exp \
-e DISPLAY=unix$DISPLAY \
-u 1000:1001 efabless/openlane:v0.12
klayout /home/armleo/openlane_exp/openlane/pdks/skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/inv/sky130_fd_sc_hd__inv_1.gd
X11 .
.
Manage Technologies
/home/armleo/openlane_exp/openlane/pdks/sky130A/libs.tech/klayout/sky130A.lyt
sky130A
?
, ։D.
, . SOURCE BULK PMOS VDD . VGND , SOURCE BULK NMOS .
GATE A LI1.
Y LI1.
։
NMOS , , PMOS . . NMOS , , , PMOS .
NMOS , , PMOS VDD Y. NMOS , , . .
։
։
, 4 ։ DRAIN, SOURCE, GATE, BULK.
։
(NAND, NOR), LVS, DRC, PEX .
, (Sequential components) - Latch, Flip-flop
その後、GDSでVerilogをコンパイルする方法を分析します。
Caravelでスキーマを組み立てる方法を理解しましょう