Skip to content

Latest commit

 

History

History

Generator

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ENG

Program for generating combinational circuits

Software for generating combinational circuits based on given parameters.

Оглавление

  1. Basic development parameters
  2. Used packages
  3. List of generators

Basic development parameters

The following parameters are required for the correct operation of the program:

  • Microsoft Visual Studio 17.1.1
  • .NETFramework,Version=v4.8

↑ Contents

Used packages

The following packages are required for the correct operation of the program:

All of the packages listed can be installed through Manage NuGet Packages in Microsoft Visual Studio.

↑ Contents

List of generators

Descriptions of the generators implemented in the program will be added to this section:

  • Basic methods and classes for implementing generators
    • Convert truth table to boolean expression
      • To canonical normal forms
    • Implementation of boolean expression parsing
    • Implementation of a graph for storing a combinational circuit
    • Generation of structural Verilog based on graph
    • Implementation of the structure with the main logical elements, their designations and hierarchy level
    • Implementation of the structure for storing the truth table
    • Base class implementations for generating a combinational circuit dataset
      • Generation using random truth table generator
    • Implementation of a class for storing a combinational circuit
  • Implementation of combinational circuit generators
    • Based on truth tables: The simplest method of generating a combinational circuit is the generation of a truth table of the circuit and its subsequent processing. To perform schema generation, you need to follow several steps:
      1. generation of a truth table;
      2. construction of SDNF and/or SKNF;
      3. representation of the resulting logical expression in a given basis;
      4. synthesis of a combinational circuit in Verilog.
    • Method of level-by-level random connection of elements among themselves
    • With random connection of vertices
      • Implementation of helper functions
      • Main software implementation
    • Genetic Algorithm
      • Parent selection implementation
        • Implementation of parent selection parameters class
        • Class implementation with 5 types of parent selection
      • Crossbreeding Implementation
        • Crossover parameter class implementation
        • Class implementation with 5 crossover types
      • Mutation Implementation
        • Mutation parameter class implementation
        • Class implementation with 6 types of mutations
        • Implementation of the main class for type selection and direct mutation
      • Implementation of the selection of a new population
        • Implementation of the new population selection parameter class
        • Implementation of a class with a base type of selection of a new population
    • Mechanism for adding and evaluating parameters of third-party schemes
  • Implementation of algorithms for assessing the reliability of combinational circuits
    • Polynomial calculation implementation
    • Connecting a third-party program Nadezhda

↑ Contents


RUS

Программа генерации комбинационных схем

Программное обеспечение для генерации комбинационных схем на основе заданных параметров.

Оглавление

  1. Основные параметры разработки
  2. Используемые Packages
  3. Список генераторов

Основные параметры разработки

Для корректной работы необходимы:

  • Microsoft Visual Studio 17.1.1
  • .NETFramework,Version=v4.8

↑ Оглавление

Используемые Packages

Для корректной работы необходимы следующие пакеты:

  • ConsoleTables - вывод таблиц в консоль. Версия: 2.4.2.
  • Newtonsoft - взаимодействие с файлами типа JSON. Версия: 13.0.1.
  • NotificationWindow - библиотека для отображения всплывающих окон. Версия: 1.1.38.

Все перечисленные пакеты можно установить через "Управление пакетами NuGet" в Microsoft Visual Studio.

↑ Оглавление

Список генераторов

В данный раздел будут добавляться описания генераторов, реализованных в программе:

  • Основные методы и классы для реализации генераторов
    • Перевод таблицы истинности в логическое выражение
      • В канонические нормальные формы
    • Реализация парсинга логического выражения
    • Реализация графа для храния комбинационной схемы
    • Генерация структурного Verilog на основе графа
    • Реализация структуры с оснвоными логическими элементами, их обозначениями и уровня иерархии
    • Реализации структуры для хранения таблицы истинности
    • Реализации базового класса для генерации датасета комбинационной схемы
      • Генерация с использованием генератора на основе случайной таблицы истинности
    • Реализация класса для хранения комбинационной схемы
  • Реализация генераторов комбинационных схем
    • На основе таблиц истинности: Наиболее простым методом генерации комбинационной схемы является генерация таблицы истинности схемы и ее последующая обработка. Для выполнения генерации схемы необходимо выполнить несколько шагов:
      1. генерация таблицы истинности;
      2. построение СДНФ и/или СКНФ;
      3. представление полученного логического выражения в заданном базисе;
      4. синтез комбинационной схемы в Verilog.
    • Методом поуровнего случайного соединения элементов между собой
    • Со случайным соединением вершин
      • Реализация вспомогательных функций
      • Основна программная реализация
    • Генетический алгоритм
      • Реализация отбора родителей
        • Реализация класса параметров отбора родителей
        • Реализация класса с 5 типами отбора родителей
      • Реализация скрещивания
        • Реализация класса параметров скрещивания
        • Реализация класса с 5 типами скрещивания
      • Реализация мутаций
        • Реализация класса параметров мутации
        • Реализация класса с 6 типами мутаций
        • Реализация основной класса для выбора типа и непосредственно мутации
      • Реализация отбора новой популяции
        • Реализация класса параметров отбора новой популяции
        • Реализация класса с базовым типом отбора новой популяции
    • Механизм добавления и оценки параметров сторонних схем
  • Реализация алгоритмов оценки надежности комбинационных схем
    • Реализация вычисления полинома
    • Подключение сторонней программы Nadezhda

↑ Оглавление