Skip to content

Commit

Permalink
synth: parallel
Browse files Browse the repository at this point in the history
Signed-off-by: Øyvind Harboe <[email protected]>
  • Loading branch information
oharboe committed Mar 6, 2025
1 parent 54ef181 commit d5b0ce7
Showing 1 changed file with 124 additions and 0 deletions.
124 changes: 124 additions & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -511,3 +511,127 @@ orfs_run(
],
script = ":write_macros.tcl",
)

# BLACKBOXES are those listed in SYNTH_HIERARCHICAL=1
#
# 33.1. IC_DATA_ICACHE_TAG_HIGH12_ICACHE_TAG_LOW6_ICACHE_IC_DEPTH8' to `<abc-temp-dir>/input.blif'..

BLACKBOXES = [
"ALU",
"ALUUnit",
"ALUUnit_1",
"ALUUnit_2",
"AMOALU",
"Arbiter_5",
"Arbiter_6",
"Arbiter_7",
"BIMBranchPredictorBank",
"BTBBranchPredictorBank",
"BoomCore",
"BoomDuplicatedDataArray",
"BoomFrontend",
"BoomIOMSHR",
"BoomMSHR",
"BoomMSHRFile",
"BoomNonBlockingDCache",
"BoomRAS",
"BoomTile",
"BranchDecode",
"BranchKillableQueue",
"BranchKillableQueue_10",
"BranchKillableQueue_11",
"BranchKillableQueue_9",
"BranchMaskGenerationLogic",
"BranchPredictor",
"CSRFile",
"DecodeUnit",
"DivSqrtRecF64ToRaw_mulAddZ31",
"FAMicroBTBBranchPredictorBank",
"FDivSqrtUnit",
"FPToInt",
"FPU",
"FPUExeUnit",
"FPUUnit",
"FetchBuffer",
"FetchTargetQueue",
"ForwardingAgeLogic",
"FpPipeline",
"ICache",
"INToRecFN",
"INToRecFN_1",
"IntToFP",
"IntToFPUnit",
"IssueSlot_32",
"IssueUnitCollapsing",
"IssueUnitCollapsing_1",
"IssueUnitCollapsing_2",
"L1MetadataArray",
"LSU",
"LoopBranchPredictorColumn",
"MulAddRecFNToRaw_postMul",
"MulAddRecFNToRaw_postMul_1",
"MulAddRecFNToRaw_preMul",
"MulAddRecFNToRaw_preMul_1",
"MulDiv",
"NBDTLB",
"PMPChecker",
"PMPChecker_1",
"PTW",
"Queue_20",
"Queue_22",
"RVCExpander",
"RecFNToIN",
"RecFNToIN_1",
"RegisterFileSynthesizable",
"RegisterFileSynthesizable_1",
"RegisterRead",
"RegisterRead_1",
"RenameBusyTable",
"RenameBusyTable_1",
"RenameFreeList",
"RenameFreeList_1",
"RenameMapTable",
"RenameMapTable_1",
"RenameStage",
"RenameStage_1",
"Rob",
"RoundAnyRawFNToRecFN_2",
"RoundAnyRawFNToRecFN_3",
"RoundAnyRawFNToRecFN_4",
"RoundAnyRawFNToRecFN_7",
"TLB",
"TLWidthWidget_9",
"TageBranchPredictorBank",
"TageTable",
"TageTable_1",
"TageTable_2",
"TageTable_3",
"TageTable_4",
"TageTable_5",
]

[orfs_flow(
name = "{name}".format(name = name),
arguments = {
"SYNTH_BLACKBOXES": " ".join([b for b in BLACKBOXES if b != name]),
} | BOOMTILE_VARIABLES,
macros = [
":" + m + "_generate_abstract"
for m in boomtile_all_rams
],
stage_sources = BOOMTILE_SOURCES,
variant = "netlist",
verilog_files = all_source_files,
) for name in BLACKBOXES]

[filegroup(
name = "{name}_netlist".format(name = name),
srcs = ["{name}_netlist_synth".format(name = name)],
output_group = "1_synth.v",
) for name in BLACKBOXES]

# ca. 540 seconds for sequential synthesis, vs 90 seconds for netlist synthesis.
filegroup(
name = "netlists",
srcs = [":{}_netlist".format(name) for name in BLACKBOXES],
)

0 comments on commit d5b0ce7

Please sign in to comment.