Cómo diseñar un microcircuito. Procesador propio (casi)

Cómo desarrollar tu propio microcircuito. Hice esta pregunta cuando quise crear mi propio procesador. Fui a Google y no encontré nada bueno. Las respuestas son en su mayoría dos։ "No fabricará su propio procesador, porque es demasiado difícil" y "Martillear y ensamblar una computadora a partir de componentes".





, . 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 .





Circuito integrado SHA3 basado en tecnología SKY130, https://efabless.com/projects/4
SHA3 SKY130, https://efabless.com/projects/4

Process Development Kit ։





  • .





    • , .





  • SPICE.





    • . , , .





  • , GDS-II .





  • - , ,

















  • Design Rule Check





    • , .





    • Primitive Extraction rules . GDS-II (netlist). netlist , netlist .





    • Layout versus Schematic check , GDS-II netlist. , .





, SKY130 (130) . , , .





Standard Cell Library. , . .





, .





- - MOSFET. - NMOS PMOS.





. ։





Transistor N-MOS.  Puede comprender el tipo por el tipo de dos contactos Fuente y Drenaje
N-MOS. Source Drain

։ . , N+ P Substrate. Vgs < Vth NMOS . Vgs >= Vth, Vds < Vgs - Vth . Vgs >= Vth Vds > Vgs - Vth . PMOS, NMOS , .





։ PMOS () NMOS ()





Circuito inversor en Magic de inversores speedrunner en YouTube
Magic

. 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





    ?





Inversor

, ։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





  • Después de eso, analizaremos cómo compilar nuestro Verilog en GDS.





  • Entendamos cómo ensamblar nuestro esquema en Caravel.








All Articles