Skip to content

Commit a45b143

Browse files
committed
modules/zstd/buffer: Add benchmarking rules
Signed-off-by: Pawel Czarnecki <[email protected]>
1 parent 584ab3b commit a45b143

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

xls/modules/zstd/BUILD

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,64 @@ xls_dslx_test(
5353
library = ":window_buffer_dslx",
5454
)
5555

56+
xls_dslx_verilog(
57+
name = "window_buffer_verilog",
58+
codegen_args = {
59+
"module_name": "WindowBuffer64",
60+
"delay_model": "asap7",
61+
"pipeline_stages": "2",
62+
"reset": "rst",
63+
"use_system_verilog": "false",
64+
},
65+
dslx_top = "WindowBuffer64",
66+
library = ":window_buffer_dslx",
67+
# TODO: 2024-01-25: Workaround for https://github.com/google/xls/issues/869
68+
# Force proc inlining and set last internal proc as top proc for IR optimization
69+
opt_ir_args = {
70+
"inline_procs": "true",
71+
"top": "__window_buffer__WindowBuffer64__WindowBuffer_0__64_32_48_next",
72+
},
73+
verilog_file = "window_buffer.v",
74+
)
75+
76+
xls_benchmark_ir(
77+
name = "window_buffer_opt_ir_benchmark",
78+
src = ":window_buffer_verilog.opt.ir",
79+
benchmark_ir_args = {
80+
"pipeline_stages": "2",
81+
"delay_model": "asap7",
82+
},
83+
)
84+
85+
verilog_library(
86+
name = "window_buffer_verilog_lib",
87+
srcs = [
88+
":window_buffer.v",
89+
],
90+
)
91+
92+
synthesize_rtl(
93+
name = "window_buffer_synth_asap7",
94+
standard_cells = "@org_theopenroadproject_asap7sc7p5t_28//:asap7-sc7p5t_rev28_rvt",
95+
top_module = "WindowBuffer64",
96+
deps = [
97+
":window_buffer_verilog_lib",
98+
],
99+
)
100+
101+
benchmark_synth(
102+
name = "window_buffer_benchmark_synth",
103+
synth_target = ":window_buffer_synth_asap7",
104+
)
105+
106+
place_and_route(
107+
name = "window_buffer_place_and_route",
108+
clock_period = "750",
109+
core_padding_microns = 2,
110+
min_pin_distance = "0.5",
111+
placement_density = "0.30",
112+
skip_detailed_routing = True,
113+
synthesized_rtl = ":window_buffer_synth_asap7",
114+
target_die_utilization_percentage = "10",
115+
)
116+

0 commit comments

Comments
 (0)