# Převaděč formátů pro specifikaci logických obvodů

Anotace

> Zadáním diplomové práce bylo navrhnout vhodné datové struktury vnitřní reprezentace různých standardizovaných i nestandardizovaných formátů pro popis struktury elektronických obvodů. Důležité bylo počítat s tím, že takovou univerzální strukturu bude fakulta používat v rozsáhlém EDA (Electronic Design Automation) systému. Dále pak implementovat načítání těchto formátů ze vstupních souborů, jejich vzájemnou konverzi a simulátor kombinačních a synchronních sekvenčních obvodů. Navrhnul jsem tedy dvě různé datové struktury. Jedna z nich je velmi jednoduchá, koresponduje z velké části s nestandardizovaným formátem BENCH. Zároveň se velmi dobře hodí pro simulaci. Druhá z nich je architekturní, strukturovaná, složitější, koresponduje z velké části s formátem EDIF. Hodí pro strukturované ukládání a využívaní komplexních informací o elektronickém obvodu. Pro účely simulace jsem implementoval převod architekturní struktury do té jednodušší. Alespoň do jedné z těchto struktur se podařil implementovat převod těchto formátů: BENCH, EDIF, PLA, BLIF. Podporován je ještě výstupní formát CIR. Simulovat je možné strukturu vzniklou načtením libovolného souboru obsahujícího jednu z výše zmíněných specifikací. Implementace byla provedena v prostředí jazyka Borland C++ 5.0 s tím, že převod na jiné platformy by vyžadoval pouze minimální množství úprav.

Abstract

> The objective of the diploma thesis was to design appropriate structures for internal representation of several different specifications of electronic circuits. The specification is intended to be further used in a wide electronic design automation system. Another objective was to implement a reading of those specifications from input files, their conversion and simulation of combinational and synchronnous sequentional circuits. I have designed two different structures. The first one is very simple, corresponds with unstandardised BENCH specification. It is very useful for simulation. The second one is architectural, structured, more complex, corresponds to the EDIF specification. It is useful for storing complex electronic circuit's information. There has been implemented a conversion of the second one to the first one, for the simulation purposes. The specifications implemented were: BENCH, EDIF, PLA, BLIF and the output specification CIR. The sourcecodes are designed for Borland C++ 5.0 language. It is also possible to compile them with another C++ compiler without major changes.

Dokumentace (pdf)
Source (zip)
Windows Executable
Bench to Cir translator (Windows command line executable)
Edif to Bench translator (Windows command line executable)