blob: dd27989488dd2949f6de2985a7f02695e86e3561 [file] [log] [blame]
# SUE version MMI_SUE5.6.37
proc SCHEMATIC_DFFXL {} {
make input -name D -origin {50 400}
make input -name Clk -origin {50 -10}
make name_net_s -name Clk_b -origin {240 -10}
make global -orient RXY -name vdd -origin {160 -110}
make global -name gnd -origin {160 90}
make global -name gnd -origin {510 480}
make global -orient RXY -name vdd -origin {510 320}
make global -orient RX -name gnd -origin {420 200}
make global -orient RY -name vdd -origin {420 -140}
make output -name Q -origin {1530 400}
make global -name gnd -origin {1190 480}
make global -orient RXY -name vdd -origin {1190 320}
make global -orient RX -name gnd -origin {1100 200}
make global -orient RY -name vdd -origin {1100 -140}
make global -name gnd -origin {890 570}
make global -orient RXY -name vdd -origin {890 230}
make global -name gnd -origin {250 570}
make global -orient RXY -name vdd -origin {250 230}
make name_net_s -orient RX -name Clk -origin {150 350}
make name_net_s -orient RX -name Clk_b -origin {150 450}
make name_net_s -name Clk_b -origin {520 -20}
make name_net_s -name Clk -origin {520 80}
make name_net_s -orient RX -name Clk_b -origin {790 350}
make name_net_s -orient RX -name Clk -origin {790 450}
make name_net_s -name Clk -origin {1200 -20}
make name_net_s -name Clk_b -origin {1200 80}
make pmos -W 3 -L 0.150u -origin {160 -60}
make pmos -W 3 -L 0.150u -origin {1190 360}
make pmos -W 3 -L 0.150u -origin {250 270}
make pmos -W 3 -L 0.150u -origin {250 350}
make pmos -W 3 -L 0.150u -origin {510 360}
make pmos -orient RX -W 3 -L 0.150u -origin {420 -100}
make pmos -orient RX -W 3 -L 0.150u -origin {420 -20}
make pmos -W 3 -L 0.150u -origin {890 270}
make pmos -W 3 -L 0.150u -origin {890 350}
make pmos -orient RX -W 3 -L 0.150u -origin {1100 -100}
make pmos -orient RX -W 3 -L 0.150u -origin {1100 -20}
make nmos -L 0.150u -origin {250 530}
make nmos -L 0.150u -origin {250 450}
make nmos -L 0.150u -origin {510 440}
make nmos -L 0.150u -origin {890 450}
make nmos -L 0.150u -origin {890 530}
make nmos -L 0.150u -origin {1190 440}
make nmos -orient RX -L 0.150u -origin {1100 160}
make nmos -orient RX -L 0.150u -origin {1100 80}
make nmos -orient RX -L 0.150u -origin {420 160}
make nmos -orient RX -L 0.150u -origin {420 80}
make nmos -L 0.150u -origin {160 40}
make INVXL -origin {1380 400}
make INVXL -origin {1480 400}
make output -name QN -origin {1530 470}
make_wire 240 -10 160 -10
make_wire 440 440 450 440
make_wire 440 360 450 360
make_wire 440 400 440 360
make_wire 440 400 440 440
make_wire 480 -100 580 -100
make_wire 480 160 580 160
make_wire 420 30 420 40
make_wire 420 30 420 20
make_wire 160 -110 160 -100
make_wire 160 -20 160 -10
make_wire 90 -60 100 -60
make_wire 90 40 100 40
make_wire 90 -60 90 -10
make_wire 90 -10 90 40
make_wire 160 -10 160 0
make_wire 160 80 160 90
make_wire 580 40 630 40
make_wire 580 40 580 160
make_wire 580 40 580 -100
make_wire 630 40 630 400
make_wire 90 -10 50 -10
make_wire 520 80 480 80
make_wire 520 -20 480 -20
make_wire 1120 440 1130 440
make_wire 1120 360 1130 360
make_wire 1120 400 1120 360
make_wire 1120 400 1120 440
make_wire 1160 -100 1260 -100
make_wire 1160 160 1260 160
make_wire 1100 30 1010 30
make_wire 1100 30 1100 40
make_wire 1100 30 1100 20
make_wire 1010 30 1010 400
make_wire 1260 40 1310 40
make_wire 1260 40 1260 160
make_wire 1260 40 1260 -100
make_wire 1310 40 1310 400
make_wire 1200 80 1160 80
make_wire 1200 -20 1160 -20
make_wire 830 270 730 270
make_wire 830 530 730 530
make_wire 790 450 830 450
make_wire 790 350 830 350
make_wire 730 400 730 270
make_wire 730 400 730 530
make_wire 890 400 890 390
make_wire 890 400 890 410
make_wire 190 270 90 270
make_wire 190 530 90 530
make_wire 150 450 190 450
make_wire 150 350 190 350
make_wire 90 400 90 270
make_wire 90 400 90 530
make_wire 50 400 90 400
make_wire 250 390 250 400
make_wire 250 400 250 410
make_wire 340 30 340 400
make_wire 340 30 420 30
make_wire 510 400 630 400
make_wire 630 400 730 400
make_wire 250 400 340 400
make_wire 340 400 440 400
make_wire 890 400 1010 400
make_wire 1010 400 1120 400
make_wire 1190 400 1310 400
make_wire 1340 400 1310 400
make_wire 1520 400 1530 400
make_wire 1430 400 1420 400
make_wire 1430 400 1440 400
make_wire 1430 470 1530 470
make_wire 1430 400 1430 470
make_text -origin {220 -280} -text {Positve edge triggered D-FF
Johannes Grad, IIT}
}
proc ICON_DFFXL args {
icon_setup $args {{origin {0 0}} {orient R0} {name {}} {M {}} {dpc {}}}
icon_term -type input -origin {-50 30} -name Clk
icon_term -type input -origin {-50 -20} -name D
icon_term -type output -origin {60 10} -name Q
icon_term -type output -origin {0 0} -name QN
icon_property -origin {20 130} -type user -name name
icon_property -origin {20 150} -type user -name M
icon_property -origin {20 170} -type user -name dpc
icon_line -30 -50 -30 60 40 60 40 -50 -30 -50 -30 -50
icon_line 40 10 60 10
icon_line -50 30 -30 30
icon_line -50 -20 -30 -20
icon_line -30 20 -20 30 -30 40 -30 40
icon_property -origin {-30 -20} -label D
icon_property -origin {20 10} -label Q
icon_property -origin {-30 50} -size small -label DFFPOSX1
}