Skip to content

Commit 3912604

Browse files
committed
Fix segfault when use_latch=0
Signed-off-by: Thinh Nguyen <nguyenthinh19011@gmail.com>
1 parent 4c0358b commit 3912604

3 files changed

Lines changed: 90 additions & 130 deletions

File tree

src/ram/src/ram.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -684,14 +684,15 @@ void RamGen::findMasters()
684684
bool has_gate = false;
685685
auto port_iter = cell->portIterator();
686686
while (port_iter->hasNext()) {
687-
auto p = static_cast<sta::ConcretePort*>(port_iter->next());
688-
auto lp = p->libertyPort();
689-
if (lp && lp->isLatchData()) {
690-
has_latch_data = true;
691-
}
692-
if (std::string(p->name()) == "GATE"
693-
|| std::string(p->name()) == "G") {
694-
has_gate = true;
687+
auto lp = port_iter->next()->libertyPort();
688+
if (lp) {
689+
if (lp->isLatchData()) {
690+
has_latch_data = true;
691+
}
692+
if (std::string(lp->name()) == "GATE"
693+
|| std::string(lp->name()) == "G") {
694+
has_gate = true;
695+
}
695696
}
696697
}
697698
delete port_iter;
@@ -700,7 +701,9 @@ void RamGen::findMasters()
700701
"latch");
701702
}
702703

703-
latch_ports_ = buildPortMap(latch_cell_);
704+
if (use_latch_ && latch_cell_) {
705+
latch_ports_ = buildPortMap(latch_cell_);
706+
}
704707

705708
// aoi cells used for column mux functionality when column_mux_ratio > 1
706709
// uses truth table simulation to identify AOI22 and discover port names
@@ -1515,7 +1518,6 @@ void RamGen::generate(const int mask_size,
15151518
ram_grid_.addCell(nullptr, sel_col);
15161519
}
15171520
}
1518-
ram_grid_.addCell(nullptr, col_cell_count);
15191521
}
15201522

15211523
for (int slice = 0; slice < slices_per_word; ++slice) {

src/ram/test/make_8x8_latch_sky130.tcl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,5 @@ diff_files make_8x8_latch_sky130.lefok $lef_file
3636
set def_file [make_result_file make_8x8_latch_sky130.def]
3737
write_def $def_file
3838
diff_files make_8x8_latch_sky130.defok $def_file
39+
40+
diff_files make_8x8_behavioral.vok $behavioral_file

src/ram/test/make_8x8_sky130.defok

Lines changed: 76 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -690,8 +690,8 @@ NETS 152 ;
690690
+ ROUTED met1 ( 1352 2057 ) ( 1357 * )
691691
NEW met2 ( 1357 2057 ) ( * 2227 )
692692
NEW met1 ( 1311 2227 ) ( 1357 * )
693-
NEW met1 ( 1352 1717 ) ( 1357 * )
694-
NEW met2 ( 1357 1717 ) ( * 2057 )
693+
NEW met1 ( 1352 1751 ) ( 1357 * )
694+
NEW met2 ( 1357 1751 ) ( * 2057 )
695695
NEW met1 ( 1352 1547 ) ( 1357 * )
696696
NEW met2 ( 1357 1547 ) ( * 1751 )
697697
NEW met1 ( 1352 1207 ) ( 1357 * )
@@ -708,8 +708,8 @@ NETS 152 ;
708708
NEW met1 ( 1357 2057 ) M1M2_PR
709709
NEW met1 ( 1357 2227 ) M1M2_PR
710710
NEW li1 ( 1311 2227 ) L1M1_PR_MR
711-
NEW li1 ( 1352 1717 ) L1M1_PR_MR
712-
NEW met1 ( 1357 1717 ) M1M2_PR
711+
NEW li1 ( 1352 1751 ) L1M1_PR_MR
712+
NEW met1 ( 1357 1751 ) M1M2_PR
713713
NEW li1 ( 1352 1547 ) L1M1_PR_MR
714714
NEW met1 ( 1357 1547 ) M1M2_PR
715715
NEW li1 ( 1352 1207 ) L1M1_PR_MR
@@ -723,7 +723,7 @@ NETS 152 ;
723723
NEW li1 ( 1352 119 ) L1M1_PR_MR
724724
NEW met1 ( 1357 119 ) M1M2_PR
725725
NEW met1 ( 1352 2057 ) RECT ( -31 -7 0 7 )
726-
NEW met1 ( 1352 1717 ) RECT ( -31 -7 0 7 )
726+
NEW met1 ( 1352 1751 ) RECT ( -31 -7 0 7 )
727727
NEW met1 ( 1352 1547 ) RECT ( -31 -7 0 7 )
728728
NEW met1 ( 1352 1207 ) RECT ( -31 -7 0 7 )
729729
NEW met1 ( 1352 1003 ) RECT ( -31 -7 0 7 )
@@ -732,16 +732,7 @@ NETS 152 ;
732732
NEW met1 ( 1352 119 ) RECT ( -31 -7 0 7 ) ;
733733
- D_nets.b2 ( buffer.in[2] X ) ( storage_7_0_0.bit2.bit D ) ( storage_6_0_0.bit2.bit D ) ( storage_5_0_0.bit2.bit D ) ( storage_4_0_0.bit2.bit D ) ( storage_3_0_0.bit2.bit D ) ( storage_2_0_0.bit2.bit D )
734734
( storage_1_0_0.bit2.bit D ) ( storage_0_0_0.bit2.bit D ) + USE SIGNAL
735-
+ ROUTED met1 ( 2502 1207 ) ( 2507 * )
736-
NEW met1 ( 2502 1003 ) ( 2507 * )
737-
NEW met2 ( 2507 1003 ) ( * 1207 )
738-
NEW met1 ( 2502 629 ) ( 2507 * )
739-
NEW met2 ( 2507 629 ) ( * 1003 )
740-
NEW met1 ( 2502 459 ) ( 2507 * )
741-
NEW met2 ( 2507 459 ) ( * 629 )
742-
NEW met1 ( 2502 119 ) ( 2507 * )
743-
NEW met2 ( 2507 119 ) ( * 459 )
744-
NEW met1 ( 2502 2057 ) ( 2507 * )
735+
+ ROUTED met1 ( 2502 2057 ) ( 2507 * )
745736
NEW met2 ( 2507 2057 ) ( * 2227 )
746737
NEW met1 ( 2461 2227 ) ( 2507 * )
747738
NEW met1 ( 2502 1751 ) ( 2507 * )
@@ -766,26 +757,27 @@ NETS 152 ;
766757
NEW met1 ( 2507 1751 ) M1M2_PR
767758
NEW li1 ( 2502 1547 ) L1M1_PR_MR
768759
NEW met1 ( 2507 1547 ) M1M2_PR
760+
NEW li1 ( 2502 1207 ) L1M1_PR_MR
761+
NEW met1 ( 2507 1207 ) M1M2_PR
762+
NEW li1 ( 2502 1003 ) L1M1_PR_MR
763+
NEW met1 ( 2507 1003 ) M1M2_PR
764+
NEW li1 ( 2502 663 ) L1M1_PR_MR
765+
NEW met1 ( 2507 663 ) M1M2_PR
766+
NEW li1 ( 2502 459 ) L1M1_PR_MR
767+
NEW met1 ( 2507 459 ) M1M2_PR
768+
NEW li1 ( 2502 119 ) L1M1_PR_MR
769+
NEW met1 ( 2507 119 ) M1M2_PR
770+
NEW met1 ( 2502 2057 ) RECT ( -31 -7 0 7 )
771+
NEW met1 ( 2502 1751 ) RECT ( -31 -7 0 7 )
772+
NEW met1 ( 2502 1547 ) RECT ( -31 -7 0 7 )
769773
NEW met1 ( 2502 1207 ) RECT ( -31 -7 0 7 )
770774
NEW met1 ( 2502 1003 ) RECT ( -31 -7 0 7 )
771-
NEW met1 ( 2507 629 ) RECT ( 0 -7 31 7 )
775+
NEW met1 ( 2502 663 ) RECT ( -31 -7 0 7 )
772776
NEW met1 ( 2502 459 ) RECT ( -31 -7 0 7 )
773-
NEW met1 ( 2502 119 ) RECT ( -31 -7 0 7 )
774-
NEW met1 ( 2502 2057 ) RECT ( -31 -7 0 7 )
775-
NEW met1 ( 2502 1751 ) RECT ( -31 -7 0 7 )
776-
NEW met1 ( 2502 1547 ) RECT ( -31 -7 0 7 ) ;
777+
NEW met1 ( 2502 119 ) RECT ( -31 -7 0 7 ) ;
777778
- D_nets.b3 ( buffer.in[3] X ) ( storage_7_0_0.bit3.bit D ) ( storage_6_0_0.bit3.bit D ) ( storage_5_0_0.bit3.bit D ) ( storage_4_0_0.bit3.bit D ) ( storage_3_0_0.bit3.bit D ) ( storage_2_0_0.bit3.bit D )
778779
( storage_1_0_0.bit3.bit D ) ( storage_0_0_0.bit3.bit D ) + USE SIGNAL
779-
+ ROUTED met1 ( 3652 1207 ) ( 3657 * )
780-
NEW met1 ( 3652 1003 ) ( 3657 * )
781-
NEW met2 ( 3657 1003 ) ( * 1207 )
782-
NEW met1 ( 3652 629 ) ( 3657 * )
783-
NEW met2 ( 3657 629 ) ( * 1003 )
784-
NEW met1 ( 3652 459 ) ( 3657 * )
785-
NEW met2 ( 3657 459 ) ( * 629 )
786-
NEW met1 ( 3652 119 ) ( 3657 * )
787-
NEW met2 ( 3657 119 ) ( * 459 )
788-
NEW met1 ( 3652 2057 ) ( 3657 * )
780+
+ ROUTED met1 ( 3652 2057 ) ( 3657 * )
789781
NEW met2 ( 3657 2057 ) ( * 2227 )
790782
NEW met1 ( 3611 2227 ) ( 3657 * )
791783
NEW met1 ( 3652 1751 ) ( 3657 * )
@@ -810,26 +802,27 @@ NETS 152 ;
810802
NEW met1 ( 3657 1751 ) M1M2_PR
811803
NEW li1 ( 3652 1547 ) L1M1_PR_MR
812804
NEW met1 ( 3657 1547 ) M1M2_PR
805+
NEW li1 ( 3652 1207 ) L1M1_PR_MR
806+
NEW met1 ( 3657 1207 ) M1M2_PR
807+
NEW li1 ( 3652 1003 ) L1M1_PR_MR
808+
NEW met1 ( 3657 1003 ) M1M2_PR
809+
NEW li1 ( 3652 663 ) L1M1_PR_MR
810+
NEW met1 ( 3657 663 ) M1M2_PR
811+
NEW li1 ( 3652 459 ) L1M1_PR_MR
812+
NEW met1 ( 3657 459 ) M1M2_PR
813+
NEW li1 ( 3652 119 ) L1M1_PR_MR
814+
NEW met1 ( 3657 119 ) M1M2_PR
815+
NEW met1 ( 3652 2057 ) RECT ( -31 -7 0 7 )
816+
NEW met1 ( 3652 1751 ) RECT ( -31 -7 0 7 )
817+
NEW met1 ( 3652 1547 ) RECT ( -31 -7 0 7 )
813818
NEW met1 ( 3652 1207 ) RECT ( -31 -7 0 7 )
814819
NEW met1 ( 3652 1003 ) RECT ( -31 -7 0 7 )
815-
NEW met1 ( 3657 629 ) RECT ( 0 -7 31 7 )
820+
NEW met1 ( 3652 663 ) RECT ( -31 -7 0 7 )
816821
NEW met1 ( 3652 459 ) RECT ( -31 -7 0 7 )
817-
NEW met1 ( 3652 119 ) RECT ( -31 -7 0 7 )
818-
NEW met1 ( 3652 2057 ) RECT ( -31 -7 0 7 )
819-
NEW met1 ( 3652 1751 ) RECT ( -31 -7 0 7 )
820-
NEW met1 ( 3652 1547 ) RECT ( -31 -7 0 7 ) ;
822+
NEW met1 ( 3652 119 ) RECT ( -31 -7 0 7 ) ;
821823
- D_nets.b4 ( buffer.in[4] X ) ( storage_7_0_0.bit4.bit D ) ( storage_6_0_0.bit4.bit D ) ( storage_5_0_0.bit4.bit D ) ( storage_4_0_0.bit4.bit D ) ( storage_3_0_0.bit4.bit D ) ( storage_2_0_0.bit4.bit D )
822824
( storage_1_0_0.bit4.bit D ) ( storage_0_0_0.bit4.bit D ) + USE SIGNAL
823-
+ ROUTED met1 ( 4802 1207 ) ( 4807 * )
824-
NEW met1 ( 4802 1003 ) ( 4807 * )
825-
NEW met2 ( 4807 1003 ) ( * 1207 )
826-
NEW met1 ( 4802 629 ) ( 4807 * )
827-
NEW met2 ( 4807 629 ) ( * 1003 )
828-
NEW met1 ( 4802 459 ) ( 4807 * )
829-
NEW met2 ( 4807 459 ) ( * 629 )
830-
NEW met1 ( 4802 119 ) ( 4807 * )
831-
NEW met2 ( 4807 119 ) ( * 459 )
832-
NEW met1 ( 4802 2057 ) ( 4807 * )
825+
+ ROUTED met1 ( 4802 2057 ) ( 4807 * )
833826
NEW met2 ( 4807 2057 ) ( * 2227 )
834827
NEW met1 ( 4761 2227 ) ( 4807 * )
835828
NEW met1 ( 4802 1751 ) ( 4807 * )
@@ -854,14 +847,24 @@ NETS 152 ;
854847
NEW met1 ( 4807 1751 ) M1M2_PR
855848
NEW li1 ( 4802 1547 ) L1M1_PR_MR
856849
NEW met1 ( 4807 1547 ) M1M2_PR
850+
NEW li1 ( 4802 1207 ) L1M1_PR_MR
851+
NEW met1 ( 4807 1207 ) M1M2_PR
852+
NEW li1 ( 4802 1003 ) L1M1_PR_MR
853+
NEW met1 ( 4807 1003 ) M1M2_PR
854+
NEW li1 ( 4802 663 ) L1M1_PR_MR
855+
NEW met1 ( 4807 663 ) M1M2_PR
856+
NEW li1 ( 4802 459 ) L1M1_PR_MR
857+
NEW met1 ( 4807 459 ) M1M2_PR
858+
NEW li1 ( 4802 119 ) L1M1_PR_MR
859+
NEW met1 ( 4807 119 ) M1M2_PR
860+
NEW met1 ( 4802 2057 ) RECT ( -31 -7 0 7 )
861+
NEW met1 ( 4802 1751 ) RECT ( -31 -7 0 7 )
862+
NEW met1 ( 4802 1547 ) RECT ( -31 -7 0 7 )
857863
NEW met1 ( 4802 1207 ) RECT ( -31 -7 0 7 )
858864
NEW met1 ( 4802 1003 ) RECT ( -31 -7 0 7 )
859-
NEW met1 ( 4807 629 ) RECT ( 0 -7 31 7 )
865+
NEW met1 ( 4802 663 ) RECT ( -31 -7 0 7 )
860866
NEW met1 ( 4802 459 ) RECT ( -31 -7 0 7 )
861-
NEW met1 ( 4802 119 ) RECT ( -31 -7 0 7 )
862-
NEW met1 ( 4802 2057 ) RECT ( -31 -7 0 7 )
863-
NEW met1 ( 4802 1751 ) RECT ( -31 -7 0 7 )
864-
NEW met1 ( 4802 1547 ) RECT ( -31 -7 0 7 ) ;
867+
NEW met1 ( 4802 119 ) RECT ( -31 -7 0 7 ) ;
865868
- D_nets.b5 ( buffer.in[5] X ) ( storage_7_0_0.bit5.bit D ) ( storage_6_0_0.bit5.bit D ) ( storage_5_0_0.bit5.bit D ) ( storage_4_0_0.bit5.bit D ) ( storage_3_0_0.bit5.bit D ) ( storage_2_0_0.bit5.bit D )
866869
( storage_1_0_0.bit5.bit D ) ( storage_0_0_0.bit5.bit D ) + USE SIGNAL
867870
+ ROUTED met1 ( 5865 1751 ) ( 5947 * )
@@ -897,15 +900,7 @@ NETS 152 ;
897900
NEW li1 ( 5941 459 ) L1M1_PR_MR
898901
NEW met1 ( 5865 459 ) M1M2_PR
899902
NEW li1 ( 5947 119 ) L1M1_PR_MR
900-
NEW met1 ( 5865 119 ) M1M2_PR
901-
NEW li1 ( 5947 1513 ) L1M1_PR_MR
902-
NEW met1 ( 5865 1513 ) M1M2_PR
903-
NEW li1 ( 5941 1717 ) L1M1_PR_MR
904-
NEW met1 ( 5865 1717 ) M1M2_PR
905-
NEW li1 ( 5947 2057 ) L1M1_PR_MR
906-
NEW met1 ( 5865 2057 ) M1M2_PR
907-
NEW li1 ( 5911 2227 ) L1M1_PR_MR
908-
NEW met1 ( 5865 2227 ) M1M2_PR ;
903+
NEW met1 ( 5865 119 ) M1M2_PR ;
909904
- D_nets.b6 ( buffer.in[6] X ) ( storage_7_0_0.bit6.bit D ) ( storage_6_0_0.bit6.bit D ) ( storage_5_0_0.bit6.bit D ) ( storage_4_0_0.bit6.bit D ) ( storage_3_0_0.bit6.bit D ) ( storage_2_0_0.bit6.bit D )
910905
( storage_1_0_0.bit6.bit D ) ( storage_0_0_0.bit6.bit D ) + USE SIGNAL
911906
+ ROUTED met1 ( 7102 1207 ) ( 7107 * )
@@ -1051,13 +1046,7 @@ NETS 152 ;
10511046
NEW li1 ( 2277 493 ) L1M1_PR_MR
10521047
NEW met1 ( 2231 493 ) M1M2_PR
10531048
NEW li1 ( 2231 221 ) L1M1_PR_MR
1054-
NEW met1 ( 2231 221 ) M1M2_PR
1055-
NEW li1 ( 2277 2125 ) L1M1_PR_MR
1056-
NEW met1 ( 2231 2125 ) M1M2_PR
1057-
NEW li1 ( 2231 1853 ) L1M1_PR_MR
1058-
NEW met1 ( 2231 1853 ) M1M2_PR
1059-
NEW li1 ( 2277 1581 ) L1M1_PR_MR
1060-
NEW met1 ( 2231 1581 ) M1M2_PR ;
1049+
NEW met1 ( 2231 221 ) M1M2_PR ;
10611050
- Q[2] ( PIN Q[2] ) ( storage_7_0_0.bit2.obuf0 Z ) ( storage_6_0_0.bit2.obuf0 Z ) ( storage_5_0_0.bit2.obuf0 Z ) ( storage_4_0_0.bit2.obuf0 Z ) ( storage_3_0_0.bit2.obuf0 Z ) ( storage_2_0_0.bit2.obuf0 Z )
10621051
( storage_1_0_0.bit2.obuf0 Z ) ( storage_0_0_0.bit2.obuf0 Z ) + USE SIGNAL
10631052
+ ROUTED met2 ( 3427 2125 ) ( * 2414 0 )
@@ -1083,13 +1072,7 @@ NETS 152 ;
10831072
NEW li1 ( 3427 493 ) L1M1_PR_MR
10841073
NEW met1 ( 3427 493 ) M1M2_PR
10851074
NEW li1 ( 3427 221 ) L1M1_PR_MR
1086-
NEW met1 ( 3427 221 ) M1M2_PR
1087-
NEW li1 ( 3427 2125 ) L1M1_PR_MR
1088-
NEW met1 ( 3427 2125 ) M1M2_PR
1089-
NEW li1 ( 3427 1853 ) L1M1_PR_MR
1090-
NEW met1 ( 3427 1853 ) M1M2_PR
1091-
NEW li1 ( 3427 1581 ) L1M1_PR_MR
1092-
NEW met1 ( 3427 1581 ) M1M2_PR ;
1075+
NEW met1 ( 3427 221 ) M1M2_PR ;
10931076
- Q[3] ( PIN Q[3] ) ( storage_7_0_0.bit3.obuf0 Z ) ( storage_6_0_0.bit3.obuf0 Z ) ( storage_5_0_0.bit3.obuf0 Z ) ( storage_4_0_0.bit3.obuf0 Z ) ( storage_3_0_0.bit3.obuf0 Z ) ( storage_2_0_0.bit3.obuf0 Z )
10941077
( storage_1_0_0.bit3.obuf0 Z ) ( storage_0_0_0.bit3.obuf0 Z ) + USE SIGNAL
10951078
+ ROUTED met1 ( 4531 2125 ) ( 4577 * )
@@ -1119,13 +1102,7 @@ NETS 152 ;
11191102
NEW li1 ( 4577 493 ) L1M1_PR_MR
11201103
NEW met1 ( 4531 493 ) M1M2_PR
11211104
NEW li1 ( 4531 221 ) L1M1_PR_MR
1122-
NEW met1 ( 4531 221 ) M1M2_PR
1123-
NEW li1 ( 4577 2125 ) L1M1_PR_MR
1124-
NEW met1 ( 4531 2125 ) M1M2_PR
1125-
NEW li1 ( 4531 1853 ) L1M1_PR_MR
1126-
NEW met1 ( 4531 1853 ) M1M2_PR
1127-
NEW li1 ( 4577 1581 ) L1M1_PR_MR
1128-
NEW met1 ( 4531 1581 ) M1M2_PR ;
1105+
NEW met1 ( 4531 221 ) M1M2_PR ;
11291106
- Q[4] ( PIN Q[4] ) ( storage_7_0_0.bit4.obuf0 Z ) ( storage_6_0_0.bit4.obuf0 Z ) ( storage_5_0_0.bit4.obuf0 Z ) ( storage_4_0_0.bit4.obuf0 Z ) ( storage_3_0_0.bit4.obuf0 Z ) ( storage_2_0_0.bit4.obuf0 Z )
11301107
( storage_1_0_0.bit4.obuf0 Z ) ( storage_0_0_0.bit4.obuf0 Z ) + USE SIGNAL
11311108
+ ROUTED met2 ( 5727 2125 ) ( * 2414 0 )
@@ -1151,13 +1128,7 @@ NETS 152 ;
11511128
NEW li1 ( 5727 493 ) L1M1_PR_MR
11521129
NEW met1 ( 5727 493 ) M1M2_PR
11531130
NEW li1 ( 5727 221 ) L1M1_PR_MR
1154-
NEW met1 ( 5727 221 ) M1M2_PR
1155-
NEW li1 ( 5727 2125 ) L1M1_PR_MR
1156-
NEW met1 ( 5727 2125 ) M1M2_PR
1157-
NEW li1 ( 5727 1853 ) L1M1_PR_MR
1158-
NEW met1 ( 5727 1853 ) M1M2_PR
1159-
NEW li1 ( 5727 1581 ) L1M1_PR_MR
1160-
NEW met1 ( 5727 1581 ) M1M2_PR ;
1131+
NEW met1 ( 5727 221 ) M1M2_PR ;
11611132
- Q[5] ( PIN Q[5] ) ( storage_7_0_0.bit5.obuf0 Z ) ( storage_6_0_0.bit5.obuf0 Z ) ( storage_5_0_0.bit5.obuf0 Z ) ( storage_4_0_0.bit5.obuf0 Z ) ( storage_3_0_0.bit5.obuf0 Z ) ( storage_2_0_0.bit5.obuf0 Z )
11621133
( storage_1_0_0.bit5.obuf0 Z ) ( storage_0_0_0.bit5.obuf0 Z ) + USE SIGNAL
11631134
+ ROUTED met1 ( 6831 1037 ) ( 6877 * )
@@ -1636,10 +1607,8 @@ NETS 152 ;
16361607
NEW met1 ( 5819 221 ) ( 6647 * )
16371608
NEW met1 ( 8947 153 ) ( * 187 )
16381609
NEW met1 ( 8947 187 ) ( 10189 * )
1639-
NEW met1 ( 7797 153 ) ( 8073 * )
1640-
NEW met2 ( 8073 153 ) ( * 170 )
1641-
NEW met2 ( 8073 170 ) ( 8119 * )
1642-
NEW met2 ( 8119 170 ) ( * 221 )
1610+
NEW met1 ( 7797 153 ) ( 8119 * )
1611+
NEW met1 ( 8119 153 ) ( * 221 )
16431612
NEW met1 ( 8119 221 ) ( 8947 * )
16441613
NEW met1 ( 8947 187 ) ( * 221 )
16451614
NEW met1 ( 7797 153 ) ( * 221 )
@@ -1652,9 +1621,7 @@ NETS 152 ;
16521621
NEW li1 ( 6647 153 ) L1M1_PR_MR
16531622
NEW li1 ( 8947 153 ) L1M1_PR_MR
16541623
NEW li1 ( 10189 187 ) L1M1_PR_MR
1655-
NEW li1 ( 7797 153 ) L1M1_PR_MR
1656-
NEW met1 ( 8073 153 ) M1M2_PR
1657-
NEW met1 ( 8119 221 ) M1M2_PR ;
1624+
NEW li1 ( 7797 153 ) L1M1_PR_MR ;
16581625
- storage_0_0_0.we0 ( storage_0_0_0.gcand X ) ( storage_0_0_0.cg GATE ) + USE SIGNAL
16591626
+ ROUTED met2 ( 9453 153 ) ( * 221 )
16601627
NEW met1 ( 9453 221 ) ( 10097 * )
@@ -1764,23 +1731,20 @@ NETS 152 ;
17641731
NEW li1 ( 805 663 ) L1M1_PR_MR
17651732
NEW li1 ( 759 595 ) L1M1_PR_MR ;
17661733
- storage_2_0_0.bit1.storage ( storage_2_0_0.bit1.obuf0 A ) ( storage_2_0_0.bit1.bit Q ) + USE SIGNAL
1767-
+ ROUTED met1 ( 1955 663 ) ( * 731 )
1768-
NEW met1 ( 1909 731 ) ( 1955 * )
1734+
+ ROUTED met1 ( 1909 663 ) ( 1955 * )
1735+
NEW met1 ( 1909 663 ) ( * 731 )
17691736
NEW li1 ( 1955 663 ) L1M1_PR_MR
17701737
NEW li1 ( 1909 731 ) L1M1_PR_MR ;
17711738
- storage_2_0_0.bit2.storage ( storage_2_0_0.bit2.obuf0 A ) ( storage_2_0_0.bit2.bit Q ) + USE SIGNAL
17721739
+ ROUTED met1 ( 3059 663 ) ( 3105 * )
17731740
NEW met1 ( 3059 663 ) ( * 731 )
17741741
NEW li1 ( 3105 663 ) L1M1_PR_MR
1775-
NEW li1 ( 3059 595 ) L1M1_PR_MR ;
1742+
NEW li1 ( 3059 731 ) L1M1_PR_MR ;
17761743
- storage_2_0_0.bit3.storage ( storage_2_0_0.bit3.obuf0 A ) ( storage_2_0_0.bit3.bit Q ) + USE SIGNAL
1777-
+ ROUTED met1 ( 4209 595 ) ( 4255 * )
1778-
NEW met2 ( 4255 595 ) ( * 663 )
1779-
NEW met1 ( 4254 663 ) ( 4255 * )
1780-
NEW li1 ( 4209 595 ) L1M1_PR_MR
1781-
NEW met1 ( 4255 595 ) M1M2_PR
1782-
NEW met1 ( 4255 663 ) M1M2_PR
1783-
NEW li1 ( 4254 663 ) L1M1_PR_MR ;
1744+
+ ROUTED met1 ( 4209 663 ) ( 4255 * )
1745+
NEW met1 ( 4209 663 ) ( * 731 )
1746+
NEW li1 ( 4255 663 ) L1M1_PR_MR
1747+
NEW li1 ( 4209 731 ) L1M1_PR_MR ;
17841748
- storage_2_0_0.bit4.storage ( storage_2_0_0.bit4.obuf0 A ) ( storage_2_0_0.bit4.bit Q ) + USE SIGNAL
17851749
+ ROUTED met1 ( 5359 663 ) ( 5405 * )
17861750
NEW met2 ( 5359 663 ) ( * 765 )
@@ -1789,10 +1753,11 @@ NETS 152 ;
17891753
NEW li1 ( 5359 765 ) L1M1_PR_MR
17901754
NEW met1 ( 5359 765 ) M1M2_PR ;
17911755
- storage_2_0_0.bit5.storage ( storage_2_0_0.bit5.obuf0 A ) ( storage_2_0_0.bit5.bit Q ) + USE SIGNAL
1792-
+ ROUTED met1 ( 6509 663 ) ( 6555 * )
1793-
NEW met1 ( 6509 663 ) ( * 731 )
1756+
+ ROUTED met1 ( 6555 651 ) ( * 663 )
1757+
NEW met1 ( 6509 651 ) ( 6555 * )
1758+
NEW met1 ( 6509 595 ) ( * 651 )
17941759
NEW li1 ( 6555 663 ) L1M1_PR_MR
1795-
NEW li1 ( 6509 731 ) L1M1_PR_MR ;
1760+
NEW li1 ( 6509 595 ) L1M1_PR_MR ;
17961761
- storage_2_0_0.bit6.storage ( storage_2_0_0.bit6.obuf0 A ) ( storage_2_0_0.bit6.bit Q ) + USE SIGNAL
17971762
+ ROUTED met1 ( 7705 697 ) ( * 731 )
17981763
NEW met1 ( 7659 731 ) ( 7705 * )
@@ -1861,9 +1826,7 @@ NETS 152 ;
18611826
NEW met1 ( 6417 629 ) M1M2_PR
18621827
NEW met1 ( 6555 595 ) M1M2_PR
18631828
NEW li1 ( 8119 663 ) L1M1_PR_MR
1864-
NEW li1 ( 9867 595 ) L1M1_PR_MR
1865-
NEW met1 ( 7613 459 ) M1M2_PR
1866-
NEW met1 ( 7613 595 ) M1M2_PR ;
1829+
NEW li1 ( 9867 595 ) L1M1_PR_MR ;
18671830
- storage_2_0_0.select0_b ( storage_2_0_0.select_inv_0 Y ) ( storage_2_0_0.bit7.obuf0 TE_B ) ( storage_2_0_0.bit6.obuf0 TE_B ) ( storage_2_0_0.bit5.obuf0 TE_B ) ( storage_2_0_0.bit4.obuf0 TE_B ) ( storage_2_0_0.bit3.obuf0 TE_B ) ( storage_2_0_0.bit2.obuf0 TE_B )
18681831
( storage_2_0_0.bit1.obuf0 TE_B ) ( storage_2_0_0.bit0.obuf0 TE_B ) + USE SIGNAL
18691832
+ ROUTED met1 ( 2047 595 ) ( * 663 )
@@ -2218,12 +2181,9 @@ NETS 152 ;
22182181
NEW li1 ( 10189 1445 ) L1M1_PR_MR
22192182
NEW li1 ( 7797 1479 ) L1M1_PR_MR ;
22202183
- storage_5_0_0.we0 ( storage_5_0_0.gcand X ) ( storage_5_0_0.cg GATE ) + USE SIGNAL
2221-
+ ROUTED met2 ( 9453 1411 ) ( * 1479 )
2222-
NEW met1 ( 9453 1411 ) ( 10097 * )
2223-
NEW li1 ( 9453 1479 ) L1M1_PR_MR
2224-
NEW met1 ( 9453 1479 ) M1M2_PR
2225-
NEW met1 ( 9453 1411 ) M1M2_PR
2226-
NEW li1 ( 10097 1411 ) L1M1_PR_MR ;
2184+
+ ROUTED met1 ( 9453 1581 ) ( 10097 * )
2185+
NEW li1 ( 9453 1581 ) L1M1_PR_MR
2186+
NEW li1 ( 10097 1581 ) L1M1_PR_MR ;
22272187
- storage_6_0_0.bit0.storage ( storage_6_0_0.bit0.obuf0 A ) ( storage_6_0_0.bit0.bit Q ) + USE SIGNAL
22282188
+ ROUTED met1 ( 805 1785 ) ( * 1819 )
22292189
NEW met1 ( 759 1819 ) ( 805 * )
@@ -2408,10 +2368,6 @@ NETS 152 ;
24082368
NEW li1 ( 4669 2057 ) L1M1_PR_MR
24092369
NEW li1 ( 3519 2057 ) L1M1_PR_MR
24102370
NEW li1 ( 6969 2023 ) L1M1_PR_MR
2411-
NEW li1 ( 2369 2023 ) L1M1_PR_MR
2412-
NEW li1 ( 3519 2023 ) L1M1_PR_MR
2413-
NEW li1 ( 4669 2023 ) L1M1_PR_MR
2414-
NEW li1 ( 5819 2023 ) L1M1_PR_MR
24152371
NEW li1 ( 8119 2023 ) L1M1_PR_MR
24162372
NEW li1 ( 9867 1955 ) L1M1_PR_MR ;
24172373
- storage_7_0_0.select0_b ( storage_7_0_0.select_inv_0 Y ) ( storage_7_0_0.bit7.obuf0 TE_B ) ( storage_7_0_0.bit6.obuf0 TE_B ) ( storage_7_0_0.bit5.obuf0 TE_B ) ( storage_7_0_0.bit4.obuf0 TE_B ) ( storage_7_0_0.bit3.obuf0 TE_B ) ( storage_7_0_0.bit2.obuf0 TE_B )

0 commit comments

Comments
 (0)