Design Examples | 105 Examples of High Level and Register Transfer Level
105 Examples of High Level and Register Transfer Level Design
We used Synthagate for a lot of designs, such as processors, robots, controllers etc. You will find the designs of 105 projects in real-time used with our tool Synthagate in three zip files. You can download and play with them yourself.
– beginning from ASMs, constructed with ASM Creator (asd files).
– beginning from ASMs in System C (cpp files).
– beginning from ASMs in VHDL (vhd files).
Among the projects in each set, there are six simple, seven medium, twenty large, and two huge projects. After the design, each project has 16 folders, but we left only the eight or nine more interesting folders (nine, if the project has folder Components with the predesigned IP cores).
After the design, we have 38,511 files in 2,126 folders. And at the beginning, we only had Algorithmic State Machines – no VHDL, no Verilog, or anything else.
The initial parameters of the projects and results of designs from GUI.zip are summarized in table Parameters of Projects. In this table, the section Initial description contains six columns:
The number of operators in the project.
The number of microoperations in the project.
The number of logical conditions in the project.
The number of ASMs in folder Initial and its subfolder General.
The total number of vertices in all ASMs in the project and
The average number of vertices in one ASM in the project.
The next two columns in the section Description after transformation contain the information about ASMs after all transformations. The column “# levels” contains the number of the ASM transformations made by Synthagate before the design. If a project has one ASM without subASMs, the number of levels is equal to 1. If a project has several modes in folder Initial, Synthagate combines them into one ASM (plus one to the number of levels). If Synthagate minimizes the initial ASMs or ASM after combining – plus 1 to the number of levels. If a project has subASMs in folder General – we must add the number of ASM insertions, written in file Funcmi.log in folder InsertComp, to the number of levels. You can see that the minimal number of levels is one, and the maximal number of levels is ten.
The column “Vertices” in the section Description after transformation is equal to the number of vertices in ASM Funcmi.gsa in folder InsertComp after all transformations of ASMs made by Synthagate. Maybe it will be interesting for you to compare this column with the column “Vertices” in the section Initial Description.
The next two columns in the section High Level Synthesis have the number of states and the number of lines in FSM Funcmi.vhd, which is the result of the High Level Synthesis.
The large section Register Transfer Level contains the parameters of the designs at the RTL. You can see in subsection DataPath:
The total number of components in Data Path.
The number of components instantiated in file dp.vhd.
The number of lines in file dp.vhd.
The next four columns contain
The number of states in FSM Structm.vhd (Control Unit).
The number of lines in FSM Structm.vhd.
The number of lines in the file top.vhd – the top level of RTL design.
The total number of lines in all files at the RTL design (in folder RTL).
The second last column informs us about the design time of each project. And finally, in the last column, I repeated the names of the projects for ease of use with this wide table.