aboutsummaryrefslogtreecommitdiffstats
path: root/manual/CHAPTER_Intro.tex
diff options
context:
space:
mode:
authorKrystalDelusion <krystinedawn@yosyshq.com>2022-12-08 05:54:08 +1300
committerKrystalDelusion <krystinedawn@yosyshq.com>2022-12-08 05:54:08 +1300
commit1eec255e60f2854b4dd1fa212f02d57eb31c9f19 (patch)
tree9aae278e98bb5f210061c22bcf22d40854d98e8c /manual/CHAPTER_Intro.tex
parent4b95fac13934a39525a934329648cf76e4b4f219 (diff)
downloadyosys-1eec255e60f2854b4dd1fa212f02d57eb31c9f19.tar.gz
yosys-1eec255e60f2854b4dd1fa212f02d57eb31c9f19.tar.bz2
yosys-1eec255e60f2854b4dd1fa212f02d57eb31c9f19.zip
Removing manual files
Diffstat (limited to 'manual/CHAPTER_Intro.tex')
-rw-r--r--manual/CHAPTER_Intro.tex98
1 files changed, 0 insertions, 98 deletions
diff --git a/manual/CHAPTER_Intro.tex b/manual/CHAPTER_Intro.tex
deleted file mode 100644
index 76e5d847b..000000000
--- a/manual/CHAPTER_Intro.tex
+++ /dev/null
@@ -1,98 +0,0 @@
-
-\chapter{Introduction}
-\label{chapter:intro}
-
-This document presents the Free and Open Source (FOSS) Verilog HDL synthesis tool ``Yosys''.
-Its design and implementation as well as its performance on real-world designs
-is discussed in this document.
-
-\section{History of Yosys}
-
-A Hardware Description Language (HDL) is a computer language used to describe
-circuits. A HDL synthesis tool is a computer program that takes a formal
-description of a circuit written in an HDL as input and generates a netlist
-that implements the given circuit as output.
-
-Currently the most widely used and supported HDLs for digital circuits are
-Verilog \cite{Verilog2005}\cite{VerilogSynth} and
-VHDL\footnote{VHDL is an acronym for ``VHSIC hardware description language''
-and VHSIC is an acronym for ``Very-High-Speed Integrated
-Circuits''.} \cite{VHDL}\cite{VHDLSynth}.
-Both HDLs are used for test and verification purposes as well as logic
-synthesis, resulting in a set of synthesizable and a set of non-synthesizable
-language features. In this document we only look at the synthesizable subset
-of the language features.
-
-In recent work on heterogeneous coarse-grain reconfigurable
-logic \cite{intersynth} the need for a custom application-specific HDL synthesis
-tool emerged. It was soon realised that a synthesis tool that understood Verilog
-or VHDL would be preferred over a synthesis tool for a custom HDL. Given an
-existing Verilog or VHDL front end, the work for writing the necessary
-additional features and integrating them in an existing tool can be estimated to be
-about the same as writing a new tool with support for a minimalistic custom HDL.
-
-The proposed custom HDL synthesis tool should be licensed under a Free
-and Open Source Software (FOSS) licence. So an existing FOSS Verilog or VHDL
-synthesis tool would have been needed as basis to build upon. The main advantages
-of choosing Verilog or VHDL is the ability to synthesize existing HDL code and
-to mitigate the requirement for circuit-designers to learn a new language. In order to take full advantage of any existing FOSS Verilog or VHDL tool,
-such a tool would have to provide a feature-complete implementation of the
-synthesizable HDL subset.
-
-Basic RTL synthesis is a well understood field \cite{LogicSynthesis}. Lexing,
-parsing and processing of computer languages \cite{Dragonbook} is a thoroughly
-researched field. All the information required to write such tools has been openly
-available for a long time, and it is therefore likely that a FOSS HDL synthesis tool
-with a feature-complete Verilog or VHDL front end must exist which can be used as a basis for a custom RTL synthesis tool.
-
-Due to the author's preference for Verilog over VHDL it was decided early
-on to go for Verilog instead of VHDL\footnote{A quick investigation into FOSS
-VHDL tools yielded similar grim results for FOSS VHDL synthesis tools.}.
-So the existing FOSS Verilog synthesis tools were evaluated (see
-App.~\ref{chapter:sota}). The results of this evaluation are utterly
-devastating. Therefore a completely new Verilog synthesis tool was implemented
-and is recommended as basis for custom synthesis tools. This is the tool that
-is discussed in this document.
-
-\section{Structure of this Document}
-
-The structure of this document is as follows:
-
-Chapter~\ref{chapter:intro} is this introduction.
-
-Chapter~\ref{chapter:basics} covers a short introduction to the world of HDL
-synthesis. Basic principles and the terminology are outlined in this chapter.
-
-Chapter~\ref{chapter:approach} gives the quickest possible outline to how the
-problem of implementing a HDL synthesis tool is approached in the case of
-Yosys.
-
-Chapter~\ref{chapter:overview} contains a more detailed overview of the
-implementation of Yosys. This chapter covers the data structures used in
-Yosys to represent a design in detail and is therefore recommended reading
-for everyone who is interested in understanding the Yosys internals.
-
-Chapter~\ref{chapter:celllib} covers the internal cell library used by Yosys.
-This is especially important knowledge for anyone who wants to understand the
-intermediate netlists used internally by Yosys.
-
-Chapter~ \ref{chapter:prog} gives a tour to the internal APIs of Yosys. This
-is recommended reading for everyone who actually wants to read or write
-Yosys source code. The chapter concludes with an example loadable module
-for Yosys.
-
-Chapters~\ref{chapter:verilog}, \ref{chapter:opt}, and \ref{chapter:techmap}
-cover three important pieces of the synthesis pipeline: The Verilog frontend,
-the optimization passes and the technology mapping to the target architecture,
-respectively.
-
-Chapter~\ref{chapter:eval} covers the evaluation of the performance
-(correctness and quality) of Yosys on real-world input data.
-The chapter concludes the main part of this document with conclusions and
-outlook to future work.
-
-Various appendices, including a command reference manual
-(App.~\ref{commandref}) and an evaluation of pre-existing FOSS Verilog
-synthesis tools (App.~\ref{chapter:sota}) complete this document.
-
-