These benchmarks are the result of collection of examples over the past years from different sources. This section has two subsections – FSM and Logic Circuits (combinational circuits). Subsection FSM contains five sets according to the complexity of examples – Small, Medium, Large, Huge and SuperHuge. Subsection Logic Circuits contains four sets – Small, Medium, Large and Huge.

Each set in the subsection FSMs has four folders:

  1. ASMs (Algorithmic State Machines).
  2. T1- FSM as a table;
  3. VHDL – FSM in VHDL;
  4. Verilog – FSM in Verilog.

To understand the ASM representation see Figure 1.


Figure 1. ASM with numbered vertices

ASM is the directed connected graph containing an initial vertex (Begin), a final vertex (End) and a finite set of operator and conditional vertices. In ASM, a logical condition is written in each conditional vertex. An operator (microinstruction), containing zero, one, two or more microoperations, is written in each operator vertex of ASM. Microoperations written in the same operator are implemented simultaneously. We numbered vertices of ASM in Fig. 1 by the underlined numbers from 0 to 19.

Each ASM is presented with two files – name.gsa (Fig. 2) and name.mic (Fig. 3). File name.gsa is two connected list of ASM graph. Each row of this list corresponds to one vertex. Columns in this list:

  1. The number of the vertex;
  2. The content of the vertex – Y(n) for operator and x(m) for logical condition;
  3. The number of the vertex following the operator vertex or output ”1” of the conditional       vertex;
  4. The number of the vertex following output “0” of the conditional vertex.

Vertices Begin and End are described as operator vertices. The maximal number of vertex (19 in our example) is at the top of this file on the left.


Figure 2. File name.gsa (ASM as two-connected graph)

File name.mic contains the list of operators with their microoperations.


Figure 3. File name.mic (Operators and microoperations)

 Subsection Logic Circuits contains non-minimized multinational circuits. Each set in this subsection has five folders:

1. M2 – netlists in files name.m12. In this file:

  • numbers of gates are in the first column;
  • inputs of gates (x(i) – input of circuit, e(p) – output of gate p) are in the second column;
  • outputs of gates are in the third column.

2. VHDL – logic circuits in VHDL;
3. Verilog – logic circuits inVerilog;
4. Edif – logic circuits in Edif;
5. Blif – logic circuits in Berkeley format Blif.