ื“ื™ื•ืŸ: ืคืจื•ื™ืงื˜ OpenROAD ืžืชื›ื•ื•ืŸ ืœืคืชื•ืจ ืืช ื‘ืขื™ื™ืช ื”ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืขื™ืฆื•ื‘ ื”ืžืขื‘ื“ื™ื

ื“ื™ื•ืŸ: ืคืจื•ื™ืงื˜ OpenROAD ืžืชื›ื•ื•ืŸ ืœืคืชื•ืจ ืืช ื‘ืขื™ื™ืช ื”ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืขื™ืฆื•ื‘ ื”ืžืขื‘ื“ื™ื
ืชืžื•ื ื•ืช - Pexels - CC BY

ืขืœ ืขืœ ืคื™ PWC, ืฉื•ืง ื˜ื›ื ื•ืœื•ื’ื™ื™ืช ื”ืžื•ืœื™ื›ื™ื ืœืžื—ืฆื” ืฆื•ืžื— - ื‘ืฉื ื” ืฉืขื‘ืจื” ื”ื•ื ื”ื’ื™ืข ืœ-481 ืžื™ืœื™ืืจื“ ื“ื•ืœืจ. ืื‘ืœ ืงืฆื‘ ื”ืฆืžื™ื—ื” ืฉืœื• ืœืื—ืจื•ื ื” ื™ืจื“. ื”ืกื™ื‘ื•ืช ืœื™ืจื™ื“ื” ื›ื•ืœืœื•ืช ืชื”ืœื™ื›ื™ ืขื™ืฆื•ื‘ ืžื›ืฉื™ืจื™ื ืžื‘ืœื‘ืœื™ื ื•ื”ื™ืขื“ืจ ืื•ื˜ื•ืžืฆื™ื”.

ืœืคื ื™ ื›ืžื” ืฉื ื™ื, ืžื”ื ื“ืกื™ื ืžืื™ื ื˜ืœ ะฟะธัะฐะปะธืฉื›ืืฉืจ ื™ื•ืฆืจื™ื ืžื™ืงืจื•-ืžืขื‘ื“ ื‘ืขืœ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ืขืœื™ืš ืœื”ืฉืชืžืฉ ื‘-100-150 ื›ืœื™ ืชื•ื›ื ื” ื ืคืจื“ื™ื (ื•ืž). ื”ืžืฆื‘ ื™ื›ื•ืœ ืœื”ื—ืžื™ืจ ื‘ืžืงืจื” ืฉืœ ืžื›ืฉื™ืจื™ื ื”ื˜ืจื•ื’ื ื™ื™ื, ืฉื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœื”ื ื›ื•ืœืœืช ื›ืžื” ืกื•ื’ื™ื ืฉื•ื ื™ื ืฉืœ ืฉื‘ื‘ื™ื - ASIC, FPGA, CPU ืื• GPU. ื›ืชื•ืฆืื” ืžื›ืš, ืžืชืจื—ืฉื•ืช ืฉื’ื™ืื•ืช ืขื™ืฆื•ื‘ ื”ืžืขื›ื‘ื•ืช ืืช ืฉื—ืจื•ืจ ื”ืžื•ืฆืจื™ื.

ืœืžืจื•ืช ื”ืžืกืคืจ ื”ื’ื“ื•ืœ ืฉืœ ื›ืœื™ ืขื–ืจ, ื”ืžื”ื ื“ืกื™ื ืขื“ื™ื™ืŸ ื ืืœืฆื™ื ืœื‘ืฆืข ืขื‘ื•ื“ื” ื™ื“ื ื™ืช. ืžื—ื‘ืจื™ ื”ืกืคืจ"ืกื™ื ืชื–ืช ืœื•ื’ื™ืงื” ืžืชืงื“ืžืช"ืื•ืžืจื™ื ืฉืœืคืขืžื™ื ืžืขืฆื‘ื™ื ืฆืจื™ืš ืœื›ืชื•ื‘ ืกืงืจื™ืคื˜ื™ื ื‘-Skill ืื• Python ืฉืœ ืฉื ื™ ืžื™ืœื™ื•ืŸ ืฉื•ืจื•ืช ื›ื“ื™ ืœื™ืฆื•ืจ ืื™ืชืŸ ืกืคืจื™ื•ืช ืชืื™ื.

ืกืงืจื™ืคื˜ื™ื ื ื›ืชื‘ื™ื ื’ื ื›ื“ื™ ืœื ืชื— ื“ื•ื—ื•ืช ืฉื ื•ืฆืจื• ืขืœ ื™ื“ื™ ืžืขืจื›ื•ืช EDA. ื›ืืฉืจ ืžืคืชื—ื™ื ืฉื‘ื‘ ื‘ืืžืฆืขื•ืช ื˜ื›ื ื•ืœื•ื’ื™ื™ืช ืชื”ืœื™ืš ืฉืœ 22nm, ื“ื•ื—ื•ืช ืืœื” ื™ื›ื•ืœื™ื ืœื”ื™ืžืฉืš ืขื“ 30 ื˜ืจื”-ื‘ื™ื™ื˜.

DARPA ื”ื—ืœื™ื˜ื” ืœืชืงืŸ ืืช ื”ืžืฆื‘ ื•ืœื ืกื•ืช ืœืชืงืŸ ืืช ืชื”ืœื™ื›ื™ ื”ืชื›ื ื•ืŸ. ื’ื ื‘ืกื•ื›ื ื•ืช ืฉืงื•ืœืฉืฉื™ื˜ื•ืช ืงื™ื™ืžื•ืช ืœื™ืฆื™ืจืช ืฉื‘ื‘ื™ื ืžื™ื•ืฉื ื•ืช. ืึดืจื’ื•ึผืŸ ื”ื•ืฉืง ืชื•ื›ื ื™ืช ื—ืžืฉ ืฉื ื™ื ื›ื‘ื™ืฉ ืคืชื•ื—, ืฉืžื˜ืจืชื” ืœืคืชื— ื›ืœื™ื ื—ื“ืฉื™ื ืœืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืชื”ืœื™ื›ื™ ืขื™ืฆื•ื‘ ืฉื‘ื‘ื™ื.

ืื™ื–ื” ืกื•ื’ ืฉืœ ืชื•ื›ื ื™ืช

ื”ืชื•ื›ื ื™ืช ื›ื•ืœืœืช ืžืกืคืจ ืคืจื•ื™ืงื˜ื™ื ื”ืžืฉืชืžืฉื™ื ื‘ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ื‘ืขื ืŸ ื›ื“ื™ ืœื”ืคื•ืš ืฉืœื‘ื™ื ื‘ื•ื“ื“ื™ื ืฉืœ ื™ืฆื™ืจืช ืฉื‘ื‘ื™ื ืœืื•ื˜ื•ืžื˜ื™ื™ื. ื‘ืžืกื’ืจืช ื”ื™ื•ื–ืžื” ื ืžืฆืื™ื ื‘ืคื™ืชื•ื— (ืชืจืฉื™ื 1) ื™ื•ืชืจ ืžืขืฉืจื” ืžื›ืฉื™ืจื™ื. ื‘ืฉืœื‘ ื”ื‘ื ื ื“ื‘ืจ ื‘ื™ืชืจ ืคื™ืจื•ื˜ ืขืœ ื›ืžื” ืžื”ื: Flow Runner, RePlAce, TritonCTS, OpenSTA.

ืจืฅ ื–ืจื™ืžื” ื”ื•ื ื›ืœื™ ืœื ื™ื”ื•ืœ ืกืคืจื™ื•ืช RTL ื•-GDSII. ื”ืื—ืจื•ื ื™ื ื”ื ืงื‘ืฆื™ ืžืกื“ ื ืชื•ื ื™ื ืฉื”ื ืชืงืŸ ืชืขืฉื™ื™ืชื™ ืœื”ื—ืœืคืช ืžื™ื“ืข ืขืœ ืžืขื’ืœื™ื ืžืฉื•ืœื‘ื™ื ื•ื”ื˜ื•ืคื•ืœื•ื’ื™ื•ืช ืฉืœื”ื. ื”ืคืชืจื•ืŸ ืžื‘ื•ืกืก ืขืœ ื˜ื›ื ื•ืœื•ื’ื™ื™ืช ื”-Docker Container. ืืชื” ื™ื›ื•ืœ ืœื”ืคืขื™ืœ ืืช Flow Runner ื’ื ื‘ืขื ืŸ ื•ื’ื ื‘ืื•ืคืŸ ืžืงื•ืžื™. ืžื“ืจื™ืš ื”ื”ืชืงื ื” ื ืžืฆื ื‘ืžืื’ืจ ื”ืจืฉืžื™ ื‘-GitHub.

ื”ื—ืœืฃ ื”ื•ื ืคืชืจื•ืŸ ืขื ืŸ ื”ืžื‘ื•ืกืก ืขืœ ืœืžื™ื“ืช ืžื›ื•ื ื”, ืืฉืจ ืื—ืจืื™ ืขืœ ื”ืฆื‘ืช ืจื›ื™ื‘ื™ื ืขืœ ืฉื‘ื‘ ื•ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื ื™ืชื•ื‘. ืขืœ ื™ื“ื™ ื›ืžื” ื ืชื•ื ื™ื, ืืœื’ื•ืจื™ืชืžื™ื ื—ื›ืžื™ื ืžื’ื‘ื™ืจื™ื ืืช ื”ื™ืขื™ืœื•ืช ืฉืœ ื”ื›ืœื™ ื‘-2-10% ื‘ื”ืฉื•ื•ืื” ืœืžืขืจื›ื•ืช ืงืœืืกื™ื•ืช. ื‘ื ื•ืกืฃ, ื”ื˜ืžืขื” ื‘ืขื ืŸ ืžืงืœื” ืขืœ ืงื ื” ื”ืžื™ื“ื”. ื–ืžื™ืŸ ื’ื ืžื“ืจื™ืš ื”ืชืงื ื” ื•ืชืฆื•ืจื” ื‘ืžืื’ืจ.

TritonCTS - ื›ืœื™ ืขื–ืจ ืœืžื™ื˜ื•ื‘ ืคื•ืœืกื™ ื”ืฉืขื•ืŸ ื”ืžืกื•ืคืงื™ื ืœืฉื‘ื‘. ืขื•ื–ืจ ืœื ืชื‘ ืื•ืชื•ืช ืฉืขื•ืŸ ืœื›ืœ ื—ืœืงื™ ื”ืžื›ืฉื™ืจ ื‘ืื•ืชื ืขื™ื›ื•ื‘ื™ื. ืขื™ืงืจื•ืŸ ื”ืคืขื•ืœื” ืžื‘ื•ืกืก ืขืœ H-ืขืฆื™ื. ื”ื’ื™ืฉื” ื”ื–ื• ืžืขืœื” ื™ืขื™ืœื•ืช ื”ืคืฆืช ืื•ืชื•ืช ื‘-30% ื‘ื”ืฉื•ื•ืื” ืœืฉื™ื˜ื•ืช ืžืกื•ืจืชื™ื•ืช. ื”ื™ื–ืžื™ื ืื•ืžืจื™ื ื›ื™ ื‘ืขืชื™ื“ ื ื™ืชืŸ ืœื”ื’ื“ื™ืœ ื ืชื•ืŸ ื–ื” ืœ-56%. ืงื•ื“ ื”ืžืงื•ืจ ื•ื”ืกืงืจื™ืคื˜ื™ื ืฉืœ TritonCTS ื–ืžื™ื ื™ื ื‘-GitHub.

OpenSTA - ืžื ื•ืข ืœื ื™ืชื•ื— ืชื–ืžื•ืŸ ืกื˜ื˜ื™. ื–ื” ื ื•ืชืŸ ืœืžืขืฆื‘ ืืช ื”ื”ื–ื“ืžื ื•ืช ืœื‘ื“ื•ืง ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ื”ืฉื‘ื‘ ืœืคื ื™ ืฉื”ื•ื ืžื•ืจื›ื‘ ื‘ืคื•ืขืœ. ืงื•ื“ ืœื“ื•ื’ืžื” ื‘-OpenSTA ื ืจืื” ื›ื›ื”.

@@ -6,7 +6,7 @@ read_liberty -corner ff example1_fast.lib
read_verilog example1.v
link_design top
set_timing_derate -early 0.9
set_timing_derate -early 1.1
set_timing_derate -late 1.1
create_clock -name clk -period 10 {clk1 clk2 clk3}
set_input_delay -clock clk 0 {in1 in2}
# report all corners

ื›ืœื™ ื”ืฉื™ืจื•ืช ืชื•ืžืš ื‘ืชื™ืื•ืจื™ Netlist ืฉืœ ืงื•ื“ Verilog, ืกืคืจื™ื•ืช ืคื•ืจืžื˜ Liberty, ืงื‘ืฆื™ SDC ื•ื›ื•'.

ื™ืชืจื•ื ื•ืช ื•ื—ืกืจื•ื ื•ืช

ืžื•ืžื—ื™ื ืž-IBM ื•-IEEE ืœื—ื’ื•ื’ืฉื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืขื ืŸ ื•ืœืžื™ื“ืช ืžื›ื•ื ื” ื”ื’ื™ืขื” ื–ืžืŸ ืจื‘ ืœืฉื™ืžื•ืฉ ื‘ื™ื™ืฆื•ืจ ืฉื‘ื‘ื™ื. ืœื“ืขืชื, ืคืจื•ื™ืงื˜ DARPA ื™ื›ื•ืœ ืœื”ืคื•ืš ืœื“ื•ื’ืžื ืžื•ืฆืœื—ืช ืœื™ื™ืฉื•ื ืจืขื™ื•ืŸ ื–ื” ื• ืืฉื™ื ืชื—ื™ืœืชื ืฉืœ ืฉื™ื ื•ื™ื™ื ื‘ืชืขืฉื™ื™ื”.

ื›ืžื• ื›ืŸ, ืฆืคื•ื™ ืฉื”ืื•ืคื™ ื”ืคืชื•ื— ืฉืœ OpenROAD ื™ื™ืฆื•ืจ ืงื”ื™ืœื” ืจื‘ืช ืขื•ืฆืžื” ืกื‘ื™ื‘ ื”ื›ืœื™ื ื•ื™ืžืฉื•ืš ืกื˜ืืจื˜ืืคื™ื ื—ื“ืฉื™ื.

ื“ื™ื•ืŸ: ืคืจื•ื™ืงื˜ OpenROAD ืžืชื›ื•ื•ืŸ ืœืคืชื•ืจ ืืช ื‘ืขื™ื™ืช ื”ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืขื™ืฆื•ื‘ ื”ืžืขื‘ื“ื™ื
ืชืžื•ื ื•ืช - Pexels - CC BY

ื™ืฉ ื›ื‘ืจ ืžืฉืชืชืคื™ื - ืžืขื‘ื“ื” ืœืคื™ืชื•ื— ืฉื‘ื‘ื™ื ืฉื‘ืกื™ืกื” ื‘ืื•ื ื™ื‘ืจืกื™ื˜ืช ืžื™ืฉื™ื’ืŸ, ื™ื”ื™ื” ื”ืจืืฉื•ืŸ, ืฉื™ื‘ื“ื•ืง ื›ืœื™ ืงื•ื“ ืคืชื•ื— ืฉืœ OpenROAD. ืืš ืขื“ื™ื™ืŸ ืœื ื™ื“ื•ืข ืื ืœืคืชืจื•ื ื•ืช ื—ื“ืฉื™ื ืชื”ื™ื” ื”ืฉืคืขื” ื ื™ื›ืจืช ืขืœ ืขืœื•ืช ื”ืžื•ืฆืจื™ื ื”ืกื•ืคื™ื™ื.

ื‘ืกืš ื”ื›ืœ, ืœื›ืœื™ื ื”ืžืคื•ืชื—ื™ื ื‘ื”ื ื”ื’ืช DARPA ืฆืคื•ื™ื” ื”ืฉืคืขื” ื—ื™ื•ื‘ื™ืช ืขืœ ืชืขืฉื™ื™ืช ื”ืžืขื‘ื“ื™ื, ื•ืคืจื•ื™ืงื˜ื™ื ื—ื“ืฉื™ื ื ื•ืกืคื™ื ื™ืชื—ื™ืœื• ืœืฆื•ืฅ ื‘ืชื—ื•ื ื–ื”. ื“ื•ื’ืžื” ืชื”ื™ื” ื›ืœื™ GEDA - ื–ื” ืžืืคืฉืจ ืœืš ืœืขืฆื‘ ืฉื‘ื‘ื™ื ืขื ืžืกืคืจ ื‘ืœืชื™ ืžื•ื’ื‘ืœ ืฉืœ ืจื›ื™ื‘ื™ื. gEDA ื›ื•ืœืœ ื›ืœื™ ืขื–ืจ ืœืขืจื™ื›ื” ื•ืžื™ื“ื•ืœ ืžื™ืงืจื•-ืžืขื’ืœื™ื ื•ื ื™ืชื•ื‘ ืœื•ื—. ื”ืคืชืจื•ืŸ ืคื•ืชื— ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžื•ืช UNIX, ืืš ืžืกืคืจ ืžืจื›ื™ื‘ื™ื ืฉืœื• ืคื•ืขืœื™ื ื’ื ืชื—ืช Windows. ื ื™ืชืŸ ืœืžืฆื•ื ืžื“ืจื™ืš ืœืขื‘ื•ื“ื” ืื™ืชื ื‘ืชื™ืขื•ื“ ื‘ืืชืจ ื”ืคืจื•ื™ืงื˜.

ื›ืœื™ื ื–ืžื™ื ื™ื ื‘ืื•ืคืŸ ื—ื•ืคืฉื™ ืžืขื ื™ืงื™ื ืœืืจื’ื•ื ื™ื ืขืฆืžืื™ื™ื ื•ืœืกื˜ืืจื˜-ืืคื™ื ืืคืฉืจื•ื™ื•ืช ื ื•ืกืคื•ืช. ื™ื™ืชื›ืŸ ืฉืขื ื”ื–ืžืŸ, ื”ื’ื™ืฉื•ืช ื”ื—ื“ืฉื•ืช ืฉืœ OpenROAD ืœืคื™ืชื•ื— ื›ืœื™ EDA ื•ืขื™ืฆื•ื‘ ืฉื‘ื‘ื™ื ืขืฉื•ื™ื•ืช ืœื”ืคื•ืš ืœืกื˜ื ื“ืจื˜ ื‘ืชืขืฉื™ื™ื”.

ืขืœ ืžื” ืื ื—ื ื• ื›ื•ืชื‘ื™ื ื‘ื‘ืœื•ื’ ื”ืืจื’ื•ื ื™ ืฉืœื ื•:

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”