| # SUE version MMI_SUE5.6.37 |
| |
| proc SCHEMATIC_DFFX1 {} { |
| 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 {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 -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 INVX1 -origin {1380 400} |
| make INVX1 -origin {1480 400} |
| make output -name QN -origin {1530 470} |
| make pmos -M 2 -W 3 -L 0.150u -origin {1190 360} |
| make nmos -M 2 -L 0.150u -origin {1190 440} |
| 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_DFFX1 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 |
| } |
| |