Skip to content

Commit 51f2cf4

Browse files
committed
mock-array: power simulation cleanups
Signed-off-by: Øyvind Harboe <[email protected]>
1 parent c3d2c7c commit 51f2cf4

File tree

5 files changed

+80
-72
lines changed

5 files changed

+80
-72
lines changed

flow/designs/asap7/mock-array/simulate.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ cp ../../../results/asap7/mock-array/base/6_final.v post/MockArrayFinal.v
1212
cp ../../../results/asap7/mock-array_Element/base/6_final.v post/MockArrayElementFinal.v
1313

1414
pwd
15+
rm -rf test_run_dir/
1516
sbt -Duser.home="$HOME" -Djline.terminal=jline.UnsupportedTerminal -batch \
1617
"test:runMain SimulatePostSynthesis --width ${MOCK_ARRAY_COLS} --height ${MOCK_ARRAY_ROWS} --dataWidth ${MOCK_ARRAY_DATAWIDTH}"
1718

flow/designs/src/mock-array/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import scala.io.Source
33

44
organization := "edu.berkeley.cs"
55

6-
scalaVersion := "2.13.6"
6+
scalaVersion := "2.13.10"
77

88
scalacOptions ++= Seq("-deprecation", "-feature", "-unchecked", "-language:reflectiveCalls")
99

flow/designs/src/mock-array/src/main/scala/MockArray.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,11 +163,10 @@ extends BlackBox with HasBlackBoxPath {
163163
})
164164
val platformDir = sys.env.getOrElse("PLATFORM_DIR", "defaultPath") + "/verilog/stdcell/"
165165
(Seq("asap7sc7p5t_AO_RVT_TT_201020.v",
166-
"asap7sc7p5t_SEQ_RVT_TT_220101.v",
166+
"dff.v",
167167
"asap7sc7p5t_SIMPLE_RVT_TT_201020.v",
168168
"asap7sc7p5t_INVBUF_RVT_TT_201020.v",
169-
"empty.v",
170-
"dff.v").map(p=>Paths.get(platformDir + p)) ++
169+
"empty.v").map(p=>Paths.get(platformDir + p)) ++
171170
Seq(
172171
"MockArrayFinal.v",
173172
"MockArrayElementFinal.v").map(p=>Paths.get("post/" + p)))

flow/platforms/asap7/verilog/stdcell/asap7sc7p5t_SEQ_RVT_TT_220101.v

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ module DFFASRHQNx1_ASAP7_75t_R (QN, D, RESETN, SETN, CLK);
4747
not (int_fwire_d, delayed_D);
4848
not (int_fwire_s, delayed_RESETN);
4949
not (int_fwire_r, delayed_SETN);
50-
// altos_dff_sr_err (xcr_0, delayed_CLK, int_fwire_d, int_fwire_s, int_fwire_r);
51-
// altos_dff_sr_0 (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, int_fwire_s, int_fwire_r, xcr_0);
50+
altos_dff_sr_err (xcr_0, delayed_CLK, int_fwire_d, int_fwire_s, int_fwire_r);
51+
altos_dff_sr_0 (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, int_fwire_s, int_fwire_r, xcr_0);
5252
buf (QN, int_fwire_IQN);
5353

5454
// Timing
@@ -529,8 +529,8 @@ module DFFHQNx1_ASAP7_75t_R (QN, D, CLK);
529529
wire int_fwire_d, int_fwire_IQN, xcr_0;
530530

531531
not (int_fwire_d, delayed_D);
532-
// altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
533-
// altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
532+
altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
533+
altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
534534
buf (QN, int_fwire_IQN);
535535

536536
// Timing
@@ -559,8 +559,8 @@ module DFFHQNx2_ASAP7_75t_R (QN, D, CLK);
559559
wire int_fwire_d, int_fwire_IQN, xcr_0;
560560

561561
not (int_fwire_d, delayed_D);
562-
// altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
563-
// altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
562+
altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
563+
altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
564564
buf (QN, int_fwire_IQN);
565565

566566
// Timing
@@ -589,8 +589,8 @@ module DFFHQNx3_ASAP7_75t_R (QN, D, CLK);
589589
wire int_fwire_d, int_fwire_IQN, xcr_0;
590590

591591
not (int_fwire_d, delayed_D);
592-
// altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
593-
// altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
592+
altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
593+
altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
594594
buf (QN, int_fwire_IQN);
595595

596596
// Timing
@@ -618,8 +618,8 @@ module DFFHQx4_ASAP7_75t_R (Q, D, CLK);
618618
// Function
619619
wire int_fwire_IQ, xcr_0;
620620

621-
// altos_dff_err (xcr_0, delayed_CLK, delayed_D);
622-
// altos_dff (int_fwire_IQ, notifier, delayed_CLK, delayed_D, xcr_0);
621+
altos_dff_err (xcr_0, delayed_CLK, delayed_D);
622+
altos_dff (int_fwire_IQ, notifier, delayed_CLK, delayed_D, xcr_0);
623623
buf (Q, int_fwire_IQ);
624624

625625
// Timing
@@ -650,8 +650,8 @@ module DFFLQNx1_ASAP7_75t_R (QN, D, CLK);
650650

651651
not (int_fwire_d, delayed_D);
652652
not (int_fwire_clk, delayed_CLK);
653-
// altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
654-
// altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
653+
altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
654+
altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
655655
buf (QN, int_fwire_IQN);
656656

657657
// Timing
@@ -682,8 +682,8 @@ module DFFLQNx2_ASAP7_75t_R (QN, D, CLK);
682682

683683
not (int_fwire_d, delayed_D);
684684
not (int_fwire_clk, delayed_CLK);
685-
// altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
686-
// altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
685+
altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
686+
altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
687687
buf (QN, int_fwire_IQN);
688688

689689
// Timing
@@ -714,8 +714,8 @@ module DFFLQNx3_ASAP7_75t_R (QN, D, CLK);
714714

715715
not (int_fwire_d, delayed_D);
716716
not (int_fwire_clk, delayed_CLK);
717-
// altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
718-
// altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
717+
altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
718+
altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
719719
buf (QN, int_fwire_IQN);
720720

721721
// Timing
@@ -744,8 +744,8 @@ module DFFLQx4_ASAP7_75t_R (Q, D, CLK);
744744
wire int_fwire_clk, int_fwire_IQ, xcr_0;
745745

746746
not (int_fwire_clk, delayed_CLK);
747-
// altos_dff_err (xcr_0, int_fwire_clk, delayed_D);
748-
// altos_dff (int_fwire_IQ, notifier, int_fwire_clk, delayed_D, xcr_0);
747+
altos_dff_err (xcr_0, int_fwire_clk, delayed_D);
748+
altos_dff (int_fwire_IQ, notifier, int_fwire_clk, delayed_D, xcr_0);
749749
buf (Q, int_fwire_IQ);
750750

751751
// Timing
@@ -773,7 +773,7 @@ module DHLx1_ASAP7_75t_R (Q, D, CLK);
773773
// Function
774774
wire int_fwire_IQ;
775775

776-
// altos_latch (int_fwire_IQ, notifier, delayed_CLK, delayed_D);
776+
altos_latch (int_fwire_IQ, notifier, delayed_CLK, delayed_D);
777777
buf (Q, int_fwire_IQ);
778778

779779
// Timing
@@ -800,7 +800,7 @@ module DHLx2_ASAP7_75t_R (Q, D, CLK);
800800
// Function
801801
wire int_fwire_IQ;
802802

803-
// altos_latch (int_fwire_IQ, notifier, delayed_CLK, delayed_D);
803+
altos_latch (int_fwire_IQ, notifier, delayed_CLK, delayed_D);
804804
buf (Q, int_fwire_IQ);
805805

806806
// Timing
@@ -827,7 +827,7 @@ module DHLx3_ASAP7_75t_R (Q, D, CLK);
827827
// Function
828828
wire int_fwire_IQ;
829829

830-
// altos_latch (int_fwire_IQ, notifier, delayed_CLK, delayed_D);
830+
altos_latch (int_fwire_IQ, notifier, delayed_CLK, delayed_D);
831831
buf (Q, int_fwire_IQ);
832832

833833
// Timing
@@ -855,7 +855,7 @@ module DLLx1_ASAP7_75t_R (Q, D, CLK);
855855
wire int_fwire_clk, int_fwire_IQ;
856856

857857
not (int_fwire_clk, delayed_CLK);
858-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, delayed_D);
858+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, delayed_D);
859859
buf (Q, int_fwire_IQ);
860860

861861
// Timing
@@ -883,7 +883,7 @@ module DLLx2_ASAP7_75t_R (Q, D, CLK);
883883
wire int_fwire_clk, int_fwire_IQ;
884884

885885
not (int_fwire_clk, delayed_CLK);
886-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, delayed_D);
886+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, delayed_D);
887887
buf (Q, int_fwire_IQ);
888888

889889
// Timing
@@ -911,7 +911,7 @@ module DLLx3_ASAP7_75t_R (Q, D, CLK);
911911
wire int_fwire_clk, int_fwire_IQ;
912912

913913
not (int_fwire_clk, delayed_CLK);
914-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, delayed_D);
914+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, delayed_D);
915915
buf (Q, int_fwire_IQ);
916916

917917
// Timing
@@ -940,7 +940,7 @@ module ICGx1_ASAP7_75t_R (GCLK, ENA, SE, CLK);
940940

941941
not (int_fwire_clk, delayed_CLK);
942942
or (int_fwire_test, delayed_ENA, delayed_SE);
943-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
943+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
944944
and (GCLK, delayed_CLK, int_fwire_IQ);
945945

946946
// Timing
@@ -992,7 +992,7 @@ module ICGx2_ASAP7_75t_R (GCLK, ENA, SE, CLK);
992992

993993
not (int_fwire_clk, delayed_CLK);
994994
or (int_fwire_test, delayed_ENA, delayed_SE);
995-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
995+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
996996
and (GCLK, delayed_CLK, int_fwire_IQ);
997997

998998
// Timing
@@ -1044,7 +1044,7 @@ module ICGx2p67DC_ASAP7_75t_R (GCLK, ENA, SE, CLK);
10441044

10451045
not (int_fwire_clk, delayed_CLK);
10461046
or (int_fwire_test, delayed_ENA, delayed_SE);
1047-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
1047+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
10481048
and (GCLK, delayed_CLK, int_fwire_IQ);
10491049

10501050
// Timing
@@ -1096,7 +1096,7 @@ module ICGx3_ASAP7_75t_R (GCLK, ENA, SE, CLK);
10961096

10971097
not (int_fwire_clk, delayed_CLK);
10981098
or (int_fwire_test, delayed_ENA, delayed_SE);
1099-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
1099+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
11001100
and (GCLK, delayed_CLK, int_fwire_IQ);
11011101

11021102
// Timing
@@ -1148,7 +1148,7 @@ module ICGx4DC_ASAP7_75t_R (GCLK, ENA, SE, CLK);
11481148

11491149
not (int_fwire_clk, delayed_CLK);
11501150
or (int_fwire_test, delayed_ENA, delayed_SE);
1151-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
1151+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
11521152
and (GCLK, delayed_CLK, int_fwire_IQ);
11531153

11541154
// Timing
@@ -1200,7 +1200,7 @@ module ICGx4_ASAP7_75t_R (GCLK, ENA, SE, CLK);
12001200

12011201
not (int_fwire_clk, delayed_CLK);
12021202
or (int_fwire_test, delayed_ENA, delayed_SE);
1203-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
1203+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
12041204
and (GCLK, delayed_CLK, int_fwire_IQ);
12051205

12061206
// Timing
@@ -1252,7 +1252,7 @@ module ICGx5_ASAP7_75t_R (GCLK, ENA, SE, CLK);
12521252

12531253
not (int_fwire_clk, delayed_CLK);
12541254
or (int_fwire_test, delayed_ENA, delayed_SE);
1255-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
1255+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
12561256
and (GCLK, delayed_CLK, int_fwire_IQ);
12571257

12581258
// Timing
@@ -1304,7 +1304,7 @@ module ICGx5p33DC_ASAP7_75t_R (GCLK, ENA, SE, CLK);
13041304

13051305
not (int_fwire_clk, delayed_CLK);
13061306
or (int_fwire_test, delayed_ENA, delayed_SE);
1307-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
1307+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
13081308
and (GCLK, delayed_CLK, int_fwire_IQ);
13091309

13101310
// Timing
@@ -1356,7 +1356,7 @@ module ICGx6p67DC_ASAP7_75t_R (GCLK, ENA, SE, CLK);
13561356

13571357
not (int_fwire_clk, delayed_CLK);
13581358
or (int_fwire_test, delayed_ENA, delayed_SE);
1359-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
1359+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
13601360
and (GCLK, delayed_CLK, int_fwire_IQ);
13611361

13621362
// Timing
@@ -1408,7 +1408,7 @@ module ICGx8DC_ASAP7_75t_R (GCLK, ENA, SE, CLK);
14081408

14091409
not (int_fwire_clk, delayed_CLK);
14101410
or (int_fwire_test, delayed_ENA, delayed_SE);
1411-
// altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
1411+
altos_latch (int_fwire_IQ, notifier, int_fwire_clk, int_fwire_test);
14121412
and (GCLK, delayed_CLK, int_fwire_IQ);
14131413

14141414
// Timing
@@ -1467,8 +1467,8 @@ module SDFHx1_ASAP7_75t_R (QN, D, SE, SI, CLK);
14671467
not (delayed_SE__bar, delayed_SE);
14681468
and (int_fwire_2, delayed_D__bar, delayed_SE__bar);
14691469
or (int_fwire_d, int_fwire_2, int_fwire_1, int_fwire_0);
1470-
// altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
1471-
// altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
1470+
altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
1471+
altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
14721472
buf (QN, int_fwire_IQN);
14731473

14741474
// Timing
@@ -1550,8 +1550,8 @@ module SDFHx2_ASAP7_75t_R (QN, D, SE, SI, CLK);
15501550
not (delayed_SE__bar, delayed_SE);
15511551
and (int_fwire_2, delayed_D__bar, delayed_SE__bar);
15521552
or (int_fwire_d, int_fwire_2, int_fwire_1, int_fwire_0);
1553-
// altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
1554-
// altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
1553+
altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
1554+
altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
15551555
buf (QN, int_fwire_IQN);
15561556

15571557
// Timing
@@ -1633,8 +1633,8 @@ module SDFHx3_ASAP7_75t_R (QN, D, SE, SI, CLK);
16331633
not (delayed_SE__bar, delayed_SE);
16341634
and (int_fwire_2, delayed_D__bar, delayed_SE__bar);
16351635
or (int_fwire_d, int_fwire_2, int_fwire_1, int_fwire_0);
1636-
// altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
1637-
// altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
1636+
altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
1637+
altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
16381638
buf (QN, int_fwire_IQN);
16391639

16401640
// Timing
@@ -1716,8 +1716,8 @@ module SDFHx4_ASAP7_75t_R (QN, D, SE, SI, CLK);
17161716
not (delayed_SE__bar, delayed_SE);
17171717
and (int_fwire_2, delayed_D__bar, delayed_SE__bar);
17181718
or (int_fwire_d, int_fwire_2, int_fwire_1, int_fwire_0);
1719-
// altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
1720-
// altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
1719+
altos_dff_err (xcr_0, delayed_CLK, int_fwire_d);
1720+
altos_dff (int_fwire_IQN, notifier, delayed_CLK, int_fwire_d, xcr_0);
17211721
buf (QN, int_fwire_IQN);
17221722

17231723
// Timing
@@ -1801,8 +1801,8 @@ module SDFLx1_ASAP7_75t_R (QN, D, SE, SI, CLK);
18011801
and (int_fwire_2, delayed_D__bar, delayed_SE__bar);
18021802
or (int_fwire_d, int_fwire_2, int_fwire_1, int_fwire_0);
18031803
not (int_fwire_clk, delayed_CLK);
1804-
// altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
1805-
// altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
1804+
altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
1805+
altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
18061806
buf (QN, int_fwire_IQN);
18071807

18081808
// Timing
@@ -1886,8 +1886,8 @@ module SDFLx2_ASAP7_75t_R (QN, D, SE, SI, CLK);
18861886
and (int_fwire_2, delayed_D__bar, delayed_SE__bar);
18871887
or (int_fwire_d, int_fwire_2, int_fwire_1, int_fwire_0);
18881888
not (int_fwire_clk, delayed_CLK);
1889-
// altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
1890-
// altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
1889+
altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
1890+
altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
18911891
buf (QN, int_fwire_IQN);
18921892

18931893
// Timing
@@ -1971,8 +1971,8 @@ module SDFLx3_ASAP7_75t_R (QN, D, SE, SI, CLK);
19711971
and (int_fwire_2, delayed_D__bar, delayed_SE__bar);
19721972
or (int_fwire_d, int_fwire_2, int_fwire_1, int_fwire_0);
19731973
not (int_fwire_clk, delayed_CLK);
1974-
// altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
1975-
// altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
1974+
altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
1975+
altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
19761976
buf (QN, int_fwire_IQN);
19771977

19781978
// Timing
@@ -2056,8 +2056,8 @@ module SDFLx4_ASAP7_75t_R (QN, D, SE, SI, CLK);
20562056
and (int_fwire_2, delayed_D__bar, delayed_SE__bar);
20572057
or (int_fwire_d, int_fwire_2, int_fwire_1, int_fwire_0);
20582058
not (int_fwire_clk, delayed_CLK);
2059-
// altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
2060-
// altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
2059+
altos_dff_err (xcr_0, int_fwire_clk, int_fwire_d);
2060+
altos_dff (int_fwire_IQN, notifier, int_fwire_clk, int_fwire_d, xcr_0);
20612061
buf (QN, int_fwire_IQN);
20622062

20632063
// Timing

0 commit comments

Comments
 (0)