Open PDBF Benchmark Suite
GT PDBF Logic Synthesis Benchmark Suite
Open benchmark specifications for logic synthesis of Partially Defined Boolean Functions (PDBFs), with published GT gate count, logic depth and synthesis runtime.
Purpose of the benchmark suite
This page provides reproducible PDBF synthesis problems in standard PLA format. The benchmark suite collects experimental families used across the GT paper series: Contextual RTL and open-source RTL candidate studies associated with Paper II, real-RTL legal-completion validation associated with Paper III, memory-oriented PDBF experiments associated with Paper IV, and large-input scalability experiments associated with Paper VI. Additional semantic and AI-inspired PDBF benchmarks are provided as supporting open synthesis challenges.
GT synthesis results are reported as simple two-input logic-gate count, maximum logic depth, and synthesis time. The present benchmark release provides the original PLA specifications and synthesis statistics. GT synthesized netlists are not included in this release.
AI-Inspired Contextual PDBF Benchmarks
These benchmarks are synthetic, reproducible AI-like decision and classification functions expressed directly as contextual PDBFs. They are intended to study combinational synthesis over strongly constrained quantized feature domains; they are not results extracted from trained neural-network models and should not be interpreted as AI-accuracy benchmarks.
The current table reports 29 evaluated examples for which both GT and ABC synthesis data are available. Input features are quantized and encoded so that only the listed care terms are admissible; all other nominal Boolean input combinations are contextual don't-cares. Results are reported as Gates|Levels. Multiple GT entries show alternative synthesized implementations and therefore expose gate/depth tradeoffs rather than a single selected operating point.
| Benchmark | PI | PO | Care Terms | Care Density | GT Gates|Levels | ABC synt Gates|Levels | ABC transtoch Gates|Levels | PLA |
|---|---|---|---|---|---|---|---|---|
Autonomous Braking | 21 | 4 | 2,187 | 0.104284% | 20|5 | 83|9 | 71|11 | PLA |
Battery Management | 22 | 5 | 2,304 | 0.054932% | 20|7; 23|6 | 78|11 | 73|12 | PLA |
Crop Health | 24 | 6 | 5,184 | 0.030899% | 17|7; 18|5 | 85|13 | 73|17 | PLA |
Data-Center Cooling | 21 | 6 | 1,728 | 0.082397% | 20|7; 24|6 | 81|9 | 71|18 | PLA |
Drone Obstacle | 24 | 6 | 6,561 | 0.039107% | 27|10; 28|8; 31|7 | 94|11 | 81|11 | PLA |
ECG Arrhythmia | 18 | 4 | 729 | 0.278091% | 8|4 | 52|9 | 51|8 | PLA |
Financial Fraud | 21 | 5 | 2,187 | 0.104284% | 21|5 | 78|10 | 71|13 | PLA |
Food Quality | 22 | 6 | 2,304 | 0.054932% | 20|5 | 77|10 | 71|14 | PLA |
Hand Gesture | 24 | 4 | 6,561 | 0.039107% | 12|5; 14|4 | 73|9 | 69|10 | PLA |
Jet Engine Health | 23 | 6 | 3,072 | 0.036621% | 31|14; 32|13; 33|12; 39|11; 40|8 | 102|12 | 85|14 | PLA |
Keyword Spotting | 20 | 4 | 1,024 | 0.097656% | 9|5 | 60|9 | 57|12 | PLA |
Malware Behavior | 24 | 6 | 5,184 | 0.030899% | 25|13; 27|6 | 92|13 | 82|11 | PLA |
Medical Triage | 24 | 6 | 6,561 | 0.039107% | 24|8; 27|7; 28|6 | 101|10 | 81|14 | PLA |
Motor Fault | 21 | 5 | 2,187 | 0.104284% | 14|6; 15|5 | 67|9 | 63|11 | PLA |
Network Intrusion | 16 | 4 | 4,608 | 7.031250% | 10|4 | 27|8 | 27|8 | PLA |
Power-Grid Fault | 24 | 5 | 6,561 | 0.039107% | 14|6; 15|5 | 76|10 | 73|9 | PLA |
Predictive Maintenance | 24 | 6 | 6,561 | 0.039107% | 31|10; 32|9; 35|8 | 96|12 | 83|14 | PLA |
Railway Signal Anomaly |
24 | 6 | 5,184 | 0.030899% | 31|8 | 105|10 | 83|12 | PLA |
Road Scene | 23 | 6 | 3,072 | 0.036621% | 28|9; 30|7; 34|6 | 88|11 | 79|12 | PLA |
Robot Grasp | 22 | 6 | 2,304 | 0.054932% | 22|10; 23|7 | 84|15 | 73|16 | PLA |
Sepsis Risk | 22 | 6 | 2,304 | 0.054932% | 27|8; 30|7 | 83|11 | 78|15 | PLA |
Smart Camera Event | 21 | 6 | 2,187 | 0.104284% | 19|6; 22|5 | 76|10 | 66|16 | PLA |
Sonar Target | 22 | 6 | 2,304 | 0.054932% | 19|12; 20|10; 21|7; 23|6; 26|5 | 89|10 | 72|13 | PLA |
Supply-Chain Risk | 22 | 6 | 2,304 | 0.054932% | 23|15; 24|11; 25|8; 28|7; 32|6 | 82|10 | 75|14 | PLA |
Voice Command | 21 | 6 | 1,728 | 0.082397% | 24|11; 25|9; 26|8; 27|7 | 79|10 | 70|14 | PLA |
Wafer Defect | 24 | 5 | 4,096 | 0.024414% | 18|6; 26|5 | 80|10 | 74|13 | PLA |
Water-Treatment Anomaly | 22 | 6 | 2,304 | 0.054932% | 32|9; 33|8 | 88|9 | 80|11 | PLA |
Wildfire Risk | 22 | 6 | 2,304 | 0.054932% | 27|12; 28|10; 31|9; 32|7 | 90|10 | 79|16 | PLA |
Maritime Navigation | 24 | 7 | 4,096 | 0.024414% | 32|9; 34|8 | 101|12 | 85|15 | PLA |
Railway Signal Anomaly synthesis results are included from the supplied result listing; PI, PO, care-term and care-density metadata are left unspecified here until read directly from the PLA header.
Care density is |C|/2PI. Where several GT implementations are listed, the minimum gate count and minimum depth may occur in different variants. ABC columns correspond only to the evaluated synt and transtoch flows shown here. The spacecraft-autonomy testcase is not included in this table because it is presently being retained as a GT input-loader regression/debug case rather than as a synthesis result.
Availability of ABC comparison data
ABC results are shown only for benchmarks that we were able to process using ABC. The two comparison tables below therefore include ABC columns only where an ABC netlist/result was obtained.
The medium-input semantic benchmark table and the input-scalability table that follow intentionally contain GT results only: for those benchmark cases we did not obtain corresponding ABC synthesis results.
Paper II — Original Contextual RTL PDBF Demonstrations
These five benchmarks are the original RTL-derived demonstrations reported in Paper II and are distinct from the five open-source A/B/C candidate experiments shown later on this page. Extending Completion Optimization to RTL Designs Through Contextual Partially Defined Boolean Functions. Each row represents a Contextual PDBF extracted from an internal RTL block whose nominal local input space is much larger than the set of locally reachable care terms. The ABC result is for the evaluated fixed legal completion of the same Contextual PDBF, while the GT result is obtained by searching the Legal Completion Opportunity Space before circuit optimization. Results are reported as two-input gate count and maximum logic depth.
| Benchmark | PI | PO | Care Terms | ABC fixed completion | GT completion optimization | PLA | ||
|---|---|---|---|---|---|---|---|---|
| Gates | Levels | Gates | Levels | |||||
Secure Ingress |
18 | 6 | 343 | 202 | 22 | 20 | 5 | PLA |
Instruction Control |
22 | 8 | 327 | 107 | 12 | 10 | 3 | PLA |
DMA Transaction Control |
24 | 8 | 1,002 | 208 | 21 | 19 | 4 | PLA |
Protocol Control |
18 | 6 | 128 | 128 | 19 | 21 | 5 | PLA |
Resource Arbiter |
20 | 7 | 256 | 121 | 13 | 19 | 7 | PLA |
These are the five principal Paper II demonstrations. The comparison is intentionally framed as fixed Legal Completion + ABC synthesis versus GT search over the Legal Completion Opportunity Space; it is not presented as a general tool-to-tool comparison of ABC and GT.
Paper II — Controlled 15-Case RTL-Structured Validation
This 15-benchmark suite complements the five primary Paper II demonstrations with source-independent RTL-structured Contextual PDBFs. The cases are controlled synthesis experiments, not provenance-qualified projections of specific upstream RTL designs.
For each PDBF, conventional ABC optimization was evaluated after the unspecified terms had been fixed to zero using deepsyn, an independent transtoch run, and a chained deepsyn → transtoch flow. The table retains the Pareto-best ABC gate/depth points across those flows. GT instead searches the original Legal Completion Opportunity Space before circuit optimization.
| RTL-structured PDBF | PI | PO | Care Terms | Contextual DC | ABC zero-completion Pareto Gates / Levels | Representative GT Gates / Levels | PLA |
|---|---|---|---|---|---|---|---|
Instruction Decoder | 10 | 6 | 39 | 96.1914% | 27 / 4; 25 / 6 | 7 / 2 | PLA |
ALU Control | 8 | 5 | 42 | 83.5938% | 22 / 4; 20 / 6 | 10 / 4 | PLA |
Interrupt Priority | 8 | 4 | 108 | 57.8125% | 17 / 7 | 12 / 5 | PLA |
FSM Next State | 8 | 6 | 21 | 91.7969% | 32 / 9; 29 / 11 | 13 / 5 | PLA |
Round-Robin Arbiter | 8 | 5 | 80 | 68.7500% | 32 / 8; 24 / 12 | 18 / 7 | PLA |
Crossbar Route | 8 | 5 | 80 | 68.7500% | 14 / 6 | 13 / 5 | PLA |
FIFO Control | 7 | 8 | 41 | 67.9688% | 42 / 8; 37 / 20 | 35 / 8 | PLA |
Cache Controller | 8 | 6 | 14 | 94.5312% | 30 / 8; 26 / 9 | 12 / 4 | PLA |
DMA Channel Control | 10 | 6 | 337 | 67.0898% | 25 / 9; 23 / 10 | 19 / 6 | PLA |
AXI-Lite Protocol | 11 | 11 | 20 | 99.0234% | 47 / 7; 39 / 16; 38 / 17 | 15 / 3 | PLA |
Privilege Access | 9 | 3 | 63 | 87.6953% | 28 / 7 | 14 / 6 | PLA |
Address Decoder | 10 | 5 | 448 | 56.2500% | 14 / 6 | 7 / 2 | PLA |
Pipeline Hazard | 11 | 4 | 425 | 79.2480% | 31 / 7 | 20 / 6 | PLA |
CSR Control | 9 | 5 | 144 | 71.8750% | 19 / 5; 18 / 9 | 10 / 4 | PLA |
Packet Router VC | 10 | 5 | 161 | 84.2773% | 18 / 7 | 3 / 3 | PLA |
Verification. Across the controlled suite, all 73 reported implementation artifacts (28 GT and 45 ABC) were exhaustively checked on every specified care assignment of the unchanged original PDBFs, with zero observed mismatches. All 45 ABC artifacts were also exhaustively evaluated on every omitted input assignment; every omitted assignment produced the all-zero output vector, independently confirming the zero-completion baseline.
Interpretation. Every benchmark has at least one reported GT point that Pareto-dominates the reported ABC Pareto set. This is not presented as a generic GT-versus-ABC comparison: it compares conventional optimization after contextual freedom has been fixed to zero with synthesis that retains and searches Legal Completion freedom.
Paper II — Open-Source RTL A/B/C Validation
This section reports the five current open-source RTL candidate experiments added to the Paper II evaluation. Each candidate is evaluated through three paths: A — source-derived RTL → Yosys → ABC, B — Contextual PDBF → fixed-zero Legal Completion → ABC, and C — Contextual PDBF → GT Legal Completion search. Structural results are reported as AIG AND nodes / AIG levels; multiple entries are retained Pareto points.
| Candidate / upstream RTL | Care Terms | A — Original RTL → ABC ANDs / Levels |
B — Fixed-zero PDBF → ABC ANDs / Levels |
C — GT Legal Completion ANDs / Levels | PLA |
|---|---|---|---|---|---|
Ibex Exception Priorityibex_controller.sv | 15 | 9 / 4 | 22 / 5; 16 / 6 | 5 / 2 | PLA |
PicoRV32 Execution Controlpicorv32.v | 52 | 34 / 7; 33 / 10 | 71 / 8; 65 / 10; 64 / 11; 48 / 14 | 13 / 3; 11 / 4; 10 / 5 | PLA |
OpenTitan DMA Transfer Setupdma.sv | 588 | 58 / 12; 54 / 13; 53 / 14 | 48 / 9; 37 / 13 | 20 / 5 | PLA |
OpenTitan OTP Controlotp_macro.sv | 134 | 289 / 11; 193 / 12 | 1352 / 30; 249 / 35 | 95 / 24; 101 / 15; 106 / 13; 127 / 10 | PLA |
AXIS Switch Grant Routingaxis_switch.v / arbiter.v | 96 | 17 / 5 | 30 / 7; 27 / 8; 26 / 10 | 4 / 1 | PLA |
Interpretation. Flow A is the new Original-RTL structural baseline. Flow B is deliberately a fixed-zero Legal Completion and should not be treated as a proxy for the quality of the original RTL. Flow C retains the contextual don't-care freedom and searches Legal Completions before implementation optimization. Ibex, PicoRV32, DMA and AXIS contain GT points lower in both reported structural dimensions than their A points. OTP instead exposes a size/depth tradeoff: GT uses substantially fewer AIG AND nodes, while the shallowest Original-RTL point has lower depth.
Scope and provenance. These are candidate-level, source-derived/source-inspired contextual experiments, not automatic whole-design reachability or equivalence proofs. Ibex is evaluated under an explicit parameterization; PicoRV32 is a source-inspired execution-control abstraction; DMA is the corrected transfer-setup projection; OTP is a projected control relation over the supplied candidate context; and the submitted 96-care AXIS model is more restrictive than complete upstream arbitration behavior because source-permitted held-grant states are not all represented. Stronger upstream-source claims require regeneration from fixed source revisions with the relevant reachability constraints.
Metric. The A/B/C values are ABC AIG AND-node / AIG-level measurements. They are structural synthesis metrics and should not be interpreted directly as technology-mapped area, timing, power, routing or final physical PPA.
Paper III — Real-RTL Legal-Completion Validation
Paper III, GT AND Sequential Synthesis: Native Sequential Device PDBFs and Completion Optimization, adds a controlled five-candidate experiment over independently sourced RTL control logic. Each candidate was validated on its complete published care domain, then evaluated through three paths: source-derived RTL through Yosys/ABC, the same Contextual PDBF after fixed zero completion through ABC, and GT search over legal completions. Results below are Pareto points reported as Gates / Levels.
| Candidate | Care Terms | RTL → ABC Pareto Gates / Levels |
Zero Completion → ABC Pareto Gates / Levels | Legal Completion → GT Pareto Gates / Levels | PLA |
|---|---|---|---|---|---|
Ibex Exception Priority | 15 / 15 | 22 / 5; 16 / 6 | 22 / 5; 16 / 6 | 5 / 2 | PLA |
AXI-Stream Grant Routing | 160 / 160 | 29 / 6; 27 / 7 | 29 / 6; 27 / 7 | 12 / 4 | PLA |
OpenTitan DMA Byte Enable | 240 / 240 | 43 / 6; 39 / 12 | 44 / 7; 42 / 13; 41 / 16 | 32 / 5 | PLA |
OpenTitan ROM Controller FSM | 448 / 448 | 66 / 11; 52 / 18 | 72 / 12; 58 / 19 | 43 / 6; 35 / 17 | PLA |
PicoRV32 Memory Request | 112 / 112 | 13 / 4 | 13 / 4 | 5 / 3 | PLA |
Result. For every candidate, at least one validated GT implementation strictly Pareto-dominates every available conventional RTL → ABC Pareto point in both gate count and maximum logic depth. Ibex, AXI and PicoRV32 also show coincident RTL → ABC and zero-completion → ABC fronts. DMA and ROM provide the stronger control: source-derived RTL → ABC is better than zero-completed Contextual PDBF → ABC, yet legal-completion search still produces a dominating GT point.
Interpretation. This experiment is not a generic GT-versus-ABC tool comparison. It isolates completion freedom: conventional synthesis optimizes a fixed implementation or fixed zero completion, whereas GT retains and searches the legal unspecified region before circuit optimization.
Paper IV — Memory-Oriented / FSM PDBF Synthesis Results
These memory-oriented and FSM-style PDBF benchmarks are associated with the Paper IV evaluation family. They provide direct ABC/GT comparison where an ABC result is available, together with multiple GT netlist variants when they were obtained.
| Benchmark | PI | PO | Cubes | ABC | GT | PLA | ||
|---|---|---|---|---|---|---|---|---|
| Gates | Levels | Gates | Levels | |||||
can_receive_filter_fsm_semantic | 16 | 20 | 91 | 113 | 11 | 97 | 20 | PLA |
| 99 | 16 | |||||||
| 100 | 12 | |||||||
| 138 | 11 | |||||||
| 144 | 10 | |||||||
| 145 | 9 | |||||||
| 150 | 8 | |||||||
ethernet_frame_classifier_fsm_semantic | 17 | 20 | 29 | 92 | 9 | 82 | 18 | PLA |
| 85 | 15 | |||||||
| 86 | 14 | |||||||
| 88 | 12 | |||||||
| 91 | 11 | |||||||
| 93 | 10 | |||||||
| 124 | 9 | |||||||
| 125 | 8 | |||||||
| 131 | 7 | |||||||
i2c_target_transaction_fsm_semantic | 14 | 19 | 42 | 124 | 12 | 104 | 30 | PLA |
| 130 | 11 | |||||||
| 127 | 12 | |||||||
| 109 | 13 | |||||||
ipv4_ipv6_acl_packet_classifier_semantic | 83 | 12 | 4,096 | 134,536 | 59 | 569 | 53 | PLA |
nvme_submission_queue_command_fsm_semantic | 19 | 20 | 198 | 138 | 13 | 93 | 19 | PLA |
| 109 | 11 | |||||||
| 102 | 12 | |||||||
| 97 | 13 | |||||||
| 96 | 16 | |||||||
pcie_tlp_transaction_header_fsm_semantic | 20 | 21 | 120 | 129 | 11 | 86 | 14 | PLA |
| 88 | 11 | |||||||
| 90 | 10 | |||||||
| 91 | 9 | |||||||
| 92 | 8 | |||||||
| 119 | 7 | |||||||
riscv_pipeline_hazard_forwarding_semantic | 17 | 18 | 101 | 46 | 8 | 35 | 13 | PLA |
| 39 | 11 | 44 | 6 | |||||
| 43 | 7 | |||||||
| 37 | 8 | |||||||
| 36 | 9 | |||||||
riscv_privileged_trap_csr_controller_semantic | 31 | 24 | 177 | 110 | 14 | 66 | 16 | PLA |
| 99 | 10 | |||||||
| 75 | 11 | |||||||
| 72 | 13 | |||||||
sdcard_spi_command_fsm_semantic | 17 | 20 | 79 | 131 | 17 | 114 | 23 | PLA |
| 115 | 22 | |||||||
| 117 | 19 | |||||||
| 118 | 18 | |||||||
| 121 | 15 | |||||||
| 125 | 14 | |||||||
| 161 | 11 | |||||||
| 165 | 10 | |||||||
| 179 | 9 | |||||||
spi_transaction_fsm_semantic | 16 | 19 | 45 | 115 | 17 | 103 | 24 | PLA |
| 109 | 23 | |||||||
| 110 | 19 | |||||||
| 112 | 15 | |||||||
| 125 | 11 | |||||||
| 161 | 10 | |||||||
| 166 | 9 | |||||||
| 177 | 8 | |||||||
uart_rx_fsm_semantic | 8 | 10 | 26 | 35 | 12 | 32 | 7 | PLA |
| 34 | 6 | |||||||
| 35 | 5 | |||||||
The first line of each benchmark section identifies the benchmark and gives PI, PO, Cubes, the available ABC result, the first GT result, and the PLA download link. Additional lines show alternative GT netlist variants for the same PDBF.
Semantic PDBF synthesis results with available ABC comparisons
These semantic benchmarks provide direct ABC/GT comparison where an ABC result is available, together with multiple GT netlist variants when they were obtained.
| Benchmark | PI | PO | Cubes | ABC | GT | PLA | ||
|---|---|---|---|---|---|---|---|---|
| Gates | Levels | Gates | Levels | |||||
axi_transaction_response_error_policy_semantic | 26 | 20 | 3,152 | 95 | 5 | 78 | 23 | PLA |
| 79 | 13 | |||||||
| 80 | 11 | |||||||
| 84 | 10 | |||||||
| 91 | 9 | |||||||
can_11bit_identifier_decoder_native | 11 | 8 | 33 | 48 | 6 | 12 | 4 | PLA |
| 13 | 3 | |||||||
CAN_CANFD_frame_control_decoder | 8 | 11 | 128 | 26 | 5 | 21 | 6 | PLA |
| 22 | 4 | |||||||
CV32E40P_v1.0_actual_decoder_control_projection | 17 | 23 | 69 | 103 | 10 | 41 | 12 | PLA |
DALI_command_decoder | 9 | 4 | 83 | 56 | 7 | 7 | 5 | PLA |
| 11 | 4 | |||||||
DMX512_start_code_decoder | 4 | 4 | 4 | 9 | 3 | 2 | 1 | PLA |
ethernet_mac_address_filter_native | 9 | 4 | 16 | 27 | 8 | 2 | 1 | PLA |
| 29 | 5 | |||||||
FlexRay_header_semantic_decoder | 14 | 5 | 132 | 6 | 3 | 2 | 2 | PLA |
i2c_target_register_control_semantic | 5 | 14 | 16 | 31 | 7 | 24 | 5 | PLA |
| 30 | 8 | 26 | 4 | |||||
Ibex_RV32IM_actual_control_projection | 17 | 22 | 58 | 93 | 11 | 49 | 8 | PLA |
| 58 | 5 | |||||||
| 56 | 6 | |||||||
| 51 | 7 | |||||||
LIN_protected_identifier_decoder | 8 | 8 | 62 | 34 | 11 | 3 | 2 | PLA |
| 3 | 2 | |||||||
mdio_clause22_semantic_controller | 6 | 13 | 15 | 24 | 4 | 17 | 4 | PLA |
Modbus_public_function_decoder | 6 | 7 | 19 | 30 | 30 | 24 | 7 | PLA |
| 37 | 6 | |||||||
pcie_axil_master_minimal_source | 18 | 37 | 18,432 | 90 | 11 | 66 | 7 | PLA |
| 68 | 5 | |||||||
pcie_bar_address_routing_controller_semantic | 26 | 20 | 998 | 108 | 10 | 69 | 14 | PLA |
pcie_completion_validation_error_policy_semantic | 24 | 20 | 1,328 | 95 | 11 | 75 | 14 | PLA |
| 97 | 9 | |||||||
| 96 | 10 | |||||||
| 90 | 11 | |||||||
PicoRV32_default_actual_decode_projection | 10 | 39 | 40 | 74 | 5 | 67 | 4 | PLA |
| 70 | 3 | |||||||
SERV_MDU_actual_serv_decode_projection | 14 | 48 | 3,565 | 135 | 15 | 56 | 8 | PLA |
| 66 | 5 | |||||||
spi_semantic_command_register_controller | 6 | 15 | 15 | 38 | 10 | 22 | 3 | PLA |
usb_cdc_setup_source_derived | 24 | 36 | 30,720 | 201 | 13 | 80 | 19 | PLA |
| 82 | 17 | |||||||
| 83 | 12 | |||||||
| 84 | 11 | |||||||
| 112 | 10 | |||||||
usb_hid_setup_semantic_controller | 27 | 25 | 33 | 203 | 18 | 36 | 6 | PLA |
| 40 | 4 | |||||||
| 37 | 5 | |||||||
VexRiscv_GenSmallest_plugin_decode_projection | 14 | 12 | 49 | 66 | 9 | 19 | 4 | PLA |
| 20 | 3 | |||||||
The first line of each benchmark section identifies the benchmark and gives PI, PO, Cubes, the available ABC result, the first GT result, and the PLA download link. Additional lines show alternative GT netlist variants for the same PDBF.
Medium-input semantic PDBF benchmarks
In this benchmark suite, examples with hundreds to several thousand primary inputs are classified as medium-input PDBFs. The cases below model networking, security, storage, telecommunications and policy/control hardware.
| Benchmark | PI | PO | Cubes | GT Gates | GT Levels | GT Time, s | PLA |
|---|---|---|---|---|---|---|---|
ipv4_ipv6_acl_packet_classifier_semantic |
83 | 12 | 4,096 | 569 | 53 | 7 | PLA |
ipv6_5g_upf_gtpu_policy_semantic |
299 | 18 | 16,384 | 273 | 43 | 4 | PLA |
ipv6_bgp_evpn_route_policy_semantic |
398 | 18 | 16,384 | 14 | 3 | 0.2 | PLA |
ipv6_dns_doh_security_policy_semantic |
317 | 18 | 16,384 | 280 | 40 | 131 | PLA |
ipv6_firewall_policy_classifier_semantic |
96 | 14 | 8,192 | 3,633 | 188 | 1,374 | PLA |
ipv6_geneve_nsh_service_chain_policy_semantic |
257 | 17 | 16,384 | 936 | 79 | 426 | PLA |
ipv6_ids_ips_signature_policy_semantic |
300 | 18 | 16,384 | 316 | 49 | 66 | PLA |
ipv6_ipsec_sa_security_policy_semantic |
216 | 18 | 16,384 | 2,048 | 153 | 321 | PLA |
ipv6_macsec_zero_trust_policy_semantic |
253 | 17 | 16,384 | 1,633 | 109 | 256 | PLA |
ipv6_mpls_srv6_interworking_policy_semantic |
294 | 18 | 16,384 | 600 | 46 | 600 | PLA |
ipv6_nvmeof_storage_policy_semantic |
286 | 18 | 16,384 | 237 | 43 | 68 | PLA |
ipv6_ptp_tsn_policy_semantic |
219 | 18 | 16,384 | 291 | 48 | 27 | PLA |
ipv6_quic_ddos_mitigation_policy_semantic |
313 | 18 | 16,384 | 373 | 44 | 27 | PLA |
ipv6_quic_tls_sase_policy_semantic |
261 | 17 | 16,384 | 1,616 | 101 | 714 | PLA |
ipv6_rocev2_rdma_congestion_policy_semantic |
251 | 18 | 16,384 | 1,155 | 60 | 612 | PLA |
ipv6_security_telemetry_policy_medium_semantic |
246 | 16 | 8,192 | 156 | 28 | 5 | PLA |
ipv6_service_chain_security_policy_narrow_semantic |
221 | 16 | 8,192 | 559 | 51 | 68 | PLA |
ipv6_service_mesh_load_balancer_policy_semantic |
263 | 18 | 16,384 | 2,561 | 70 | 1,740 | PLA |
ipv6_srv6_service_policy_classifier_semantic |
281 | 18 | 16,384 | 712 | 54 | 44 | PLA |
ipv6_storage_replication_erasure_policy_semantic |
253 | 17 | 16,384 | 1,240 | 57 | 460 | PLA |
ipv6_vxlan_microsegmentation_ct_policy_semantic |
212 | 18 | 12,288 | 390 | 36 | 56 | PLA |
The PLA files should be uploaded using exactly the benchmark filenames shown in the first column.
Contextual PDBF synthesis: blockwise and whole-design examples
These three examples compare contextual PDBF synthesis at the block and whole-design levels across arithmetic, sequential/control, and instruction-decoding structures. For each example, the component blocks are synthesized using their specified contextual care domains, and the complete design is shown both as a blockwise assembled implementation and as a directly synthesized whole contextual PDBF.
The Design column identifies the individual contextual block or the corresponding whole-design case. Where multiple ABC or GT synthesis variants are available, they are shown on additional lines for the same design.
| Example | Design | PI | PO | Cubes | ABC | GT | PLA | ||
|---|---|---|---|---|---|---|---|---|---|
| Gates | Levels | Gates | Levels | ||||||
| BCD adder | A0 — Binary Adder | 9 | 5 | 200 | 37 | 11 | 32 | 11 | PLA |
| 36 | 12 | 34 | 9 | ||||||
| 35 | 8 | ||||||||
| BCD adder | A1 — Correction Condition | 5 | 1 | 20 | 6 | 3 | 4 | 3 | PLA |
| BCD adder | A2 — Correction Select | 1 | 4 | 2 | 0 | 0 | 0 | 0 | PLA |
| BCD adder | A3 — Correction Adder | 9 | 5 | 20 | 27 | 10 | 8 | 3 | PLA |
| 25 | 9 | ||||||||
| BCD adder | Whole — Assembled | 9 | 5 | 200 | 44 | 17 | 38 | 10 | PLA |
| 45 | 16 | ||||||||
| BCD adder | Whole — Contextual | 9 | 5 | 200 | 47 | 12 | 41 | 12 | PLA |
| One-hot FSM | F0 — Next-state | 6 | 4 | 16 | 18 | 6 | 4 | 2 | PLA |
| One-hot FSM | F1 — Action decode | 6 | 2 | 11 | 13 | 6 | 8 | 3 | PLA |
| One-hot FSM | Whole — Assembled | 6 | 6 | 16 | 20 | 8 | 11 | 4 | PLA |
| One-hot FSM | Whole — Contextual | 6 | 6 | 16 | 20 | 8 | 8 | 3 | PLA |
| Instruction decoder | D0 — Opcode class | 8 | 4 | 8 | 16 | 8 | 9 | 4 | PLA |
| Instruction decoder | D1 — ALU control | 4 | 3 | 8 | 12 | 4 | 4 | 3 | PLA |
| Instruction decoder | Whole — Assembled | 8 | 4 | 8 | 22 | 10 | 12 | 8 | PLA |
| 13 | 7 | ||||||||
| Instruction decoder | Whole — Contextual | 8 | 4 | 8 | 20 | 10 | 12 | 8 | PLA |
| 13 | 7 | ||||||||
“Whole — Assembled” denotes the complete function corresponding to the interconnected block implementation; “Whole — Contextual” denotes direct synthesis of the corresponding externally specified whole-design PDBF. Cube counts describe specified PLA care terms.
Randomly generated PDBFs: cube quantity to netlist parameters comparison
This experiment keeps the benchmark size fixed at 250 primary inputs and 1 primary output while increasing the number of PDBF cubes from 16 to 2,000. The table compares the resulting ABC and GT netlist gate counts and logic levels.
| Benchmark | PI | PO | Cubes | ABC | GT | PLA | ||
|---|---|---|---|---|---|---|---|---|
| Gates | Levels | Gates | Levels | |||||
E250_1_16 |
250 | 1 | 16 | 708 | 16 | 1 | 1 | PLA |
E250_1_32 |
250 | 1 | 32 | 2,175 | 30 | 4 | 3 | PLA |
E250_1_64 |
250 | 1 | 64 | 3,783 | 35 | 9 | 5 | PLA |
E250_1_128 |
250 | 1 | 128 | 7,003 | 35 | 21 | 6 | PLA |
E250_1_256 |
250 | 1 | 256 | 13,648 | 37 | 45 | 8 | PLA |
E250_1_500 |
250 | 1 | 500 | 25,779 | 42 | 95 | 14 | PLA |
E250_1_1000 |
250 | 1 | 1,000 | 46,256 | 44 | 209 | 20 | PLA |
E250_1_2000 |
250 | 1 | 2,000 | 82,107 | 44 | 431 | 28 | PLA |
Each PLA button links to /benchmarks/<Benchmark>.pla.
Paper VI — PDBF Input-Scalability Challenge
This Paper VI benchmark series studies PDBF synthesis as the primary-input dimension grows from hundreds to tens of thousands, hundreds of thousands and one million inputs.
| Benchmark | PI | PO | Cubes | GT Gates | GT Levels | GT Time, s | PLA |
|---|---|---|---|---|---|---|---|
Example_250_1_2000 |
250 | 1 | 2,000 | 431 | 28 | 4 | PLA |
Example_250_100_2000 |
250 | 100 | 2,000 | 38,272 | 78 | 1,063 | PLA |
Example_10000_1000_5000 |
10,000 | 1,000 | 5,000 | 769,799 | 47 | 26,875 | PLA |
Ex100000_1_1000 |
100,000 | 1 | 1,000 | 89 | 15 | 63 | PLA |
Ex_1000000_1_100 |
1,000,000 | 1 | 100 | 6 | 4 | 4 | PLA |
The results illustrate that primary-input count alone does not determine synthesis difficulty. The care structure, number of outputs, cube structure and interactions among conditions can be equally important.
Reported synthesis metrics
PI — number of primary inputs. PO — number of primary outputs. Cubes — number of PLA product terms.
For the GT results, Gates denotes the number of internal two-input simple/AIG logic nodes. Complemented AIG edges do not count as additional gates. Levels is the maximum logic depth from a primary input to a primary output.
GT Time is the reported synthesis runtime in seconds for the corresponding experiment.
Verification rules and acceptance criteria
A synthesized network is a valid implementation of a benchmark only if it satisfies every specified PDBF output value over the complete care domain of the PLA.
-
For every PLA cube and every output specified as
0, the synthesized output must be0for every concrete binary input assignment covered by that cube. -
For every PLA cube and every output specified as
1, the synthesized output must be1for every concrete binary input assignment covered by that cube. -
An output value
-is unrestricted. A term for which all outputs are-imposes no PDBF constraint and should not be included in the effective truth table. -
Verification must cover the complete input region represented by a cube, not only one representative minterm.
If a PLA input is
-and belongs to the effective support of the synthesized output, all relevant assignments of that free support variable must be checked or proven equivalent. - If all primary inputs in the effective support of an output are fixed within a PLA cube, evaluation of that support assignment proves the output over the complete cube; primary inputs outside the output support cannot affect the result.
-
Two overlapping cubes may not impose contradictory values on the same output.
If two terms require opposite values,
0/1or1/0, for an output, their input cubes must be disjoint. Therefore at least one input position must contain an explicit complementary pair0/1or1/0. - Behavior outside the PDBF care domain is unrestricted. Two valid synthesized networks do not have to be globally equivalent if they make different choices in don't-care regions.
Results obtained with other synthesis tools
We welcome independent experiments with these benchmarks. If you obtain a synthesis result using another combinational logic synthesis tool, please inform us of the result and the synthesis conditions.
For meaningful comparison, please identify the tool and version, synthesis commands/options, hardware platform, runtime, peak memory if available, gate/node count and logic depth. The resulting implementation can be validated against the original PLA using the verification criteria above.
A valid result with fewer gates, fewer levels, or competitive synthesis time is welcome.
Input-size terminology used in this suite
The terms below are benchmark-suite classifications rather than claims of universal EDA terminology:
| Class | Primary inputs |
|---|---|
| Small | < 200 |
| Medium | 200 – 9,999 |
| Large | 10,000 – 99,999 |
| Very large | 100,000 – 999,999 |
| Extreme | ≥ 1,000,000 |
