Compare commits
6 commits
ef3066273c
...
d6c4776b44
Author | SHA1 | Date | |
---|---|---|---|
d6c4776b44 | |||
1cb525748f | |||
35b62c8251 | |||
bb9d39a95d | |||
6e711be18f | |||
b7fae59d8e |
7
.gitignore
vendored
|
@ -4,12 +4,19 @@
|
||||||
*.bcf
|
*.bcf
|
||||||
*.blg
|
*.blg
|
||||||
*.fls
|
*.fls
|
||||||
|
*.idx
|
||||||
|
*.ilg
|
||||||
|
*.ind
|
||||||
|
*.lof
|
||||||
|
*.lol
|
||||||
|
*.lot
|
||||||
*.toc
|
*.toc
|
||||||
*.fdb_latexmk
|
*.fdb_latexmk
|
||||||
*.run.xml
|
*.run.xml
|
||||||
*.synctex.gz
|
*.synctex.gz
|
||||||
*.dvi
|
*.dvi
|
||||||
*.pdf
|
*.pdf
|
||||||
|
*.xdv
|
||||||
*.out
|
*.out
|
||||||
*.kate-swp
|
*.kate-swp
|
||||||
|
|
||||||
|
|
|
@ -59,3 +59,15 @@
|
||||||
title = {LiteEth},
|
title = {LiteEth},
|
||||||
url = {https://github.com/enjoy-digital/liteeth}
|
url = {https://github.com/enjoy-digital/liteeth}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@software{open-fpga-loader,
|
||||||
|
author = {Gwenhael Goavec-Merou},
|
||||||
|
title = {openFPGALoader},
|
||||||
|
url = {https://github.com/trabucayre/openFPGALoader},
|
||||||
|
}
|
||||||
|
|
||||||
|
@software{gtkwave,
|
||||||
|
author = {Tony Bybell},
|
||||||
|
title = {GTKWave},
|
||||||
|
url = {http://gtkwave.sourceforge.net},
|
||||||
|
}
|
||||||
|
|
|
@ -1,25 +1,209 @@
|
||||||
\documentclass[a4paper,10pt]{article}
|
|
||||||
|
|
||||||
\input{preamble.tex}
|
\input{preamble.tex}
|
||||||
|
|
||||||
\usepackage{subfiles}
|
\usepackage{subfiles}
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
\selectlanguage{ngerman}
|
||||||
|
|
||||||
\titleformat{\part}[display]
|
%/*Header-Einstellung*/
|
||||||
{\Huge\scshape\filright}
|
\pagestyle{fancy}
|
||||||
{\partname~\thepart:}
|
\fancyhf{}
|
||||||
{20pt}
|
\renewcommand{\sectionmark}[1]{\markright{#1}}
|
||||||
{\makeatother}
|
\renewcommand{\subsectionmark}[1]{\markright{#1}}
|
||||||
|
\renewcommand{\subsubsectionmark}[1]{\markright{#1}}
|
||||||
|
\chead{}
|
||||||
|
\rhead{}
|
||||||
|
\setlength{\headwidth} {1.0\textwidth}
|
||||||
|
\setlength{\headheight}{12mm}
|
||||||
|
\renewcommand{\headrulewidth}{0.0pt}
|
||||||
|
\renewcommand{\footrulewidth}{0.0pt}
|
||||||
|
|
||||||
\tableofcontents
|
\addtocounter{page}{1}
|
||||||
\let\tableofcontents\relax
|
|
||||||
|
%====================================================================================
|
||||||
|
\begin{titlepage}
|
||||||
|
\begin{center}
|
||||||
|
\begin{minipage}{\linewidth}
|
||||||
|
\begin{center}
|
||||||
|
\vspace*{-21mm}
|
||||||
|
\HtlHeader{}
|
||||||
|
\vspace*{-14mm}
|
||||||
|
\noindent%
|
||||||
|
\\[35mm]{\fontsize{25pt}{25pt}\selectfont\bf DIPLOMARBEIT}
|
||||||
|
\\[19mm]{\fontsize{20pt}{20pt}\selectfont\textbf{\textsc{FPGA-Basierte
|
||||||
|
Studie moderner Computersysteme am Beispiel RISC-V: YARM}}}
|
||||||
|
\\[15mm]{\fontsize{12.4pt}{12.4pt}\selectfont\bf
|
||||||
|
Höhere Technische Bundeslehr- und Versuchsanstalt Anichstra"se}
|
||||||
|
\\[ 5mm]\rule{132mm}{1.0pt}
|
||||||
|
\\[ 4mm]{\fontsize{12.4pt}{12.4pt}\selectfont\bf Abteilung}
|
||||||
|
\\[ 5mm]{\fontsize{16pt}{16pt}\selectfont
|
||||||
|
\textbf{\textsc{Elektronik und technische Informatik}}}
|
||||||
|
\\[24mm]{\hspace*{2mm}\parbox{154mm}{\fontsize{12.4pt}{12.4pt}\selectfont
|
||||||
|
\parbox[t]{75mm}{
|
||||||
|
Ausgef"uhrt im Schuljahr 2019/20 von:
|
||||||
|
\\[5.0mm]Armin Brauns 5AHEL
|
||||||
|
\\[2.5mm]Daniel Plank 5BHEL
|
||||||
|
}
|
||||||
|
\hspace*{6mm}
|
||||||
|
\parbox[t]{60mm}{
|
||||||
|
Betreuer/Betreuerin:
|
||||||
|
\\[5.0mm]Dipl.-Ing. Christoph Schönherr
|
||||||
|
}
|
||||||
|
\\[12mm]{Projektpartner: IT-Syndikat, Verein zur Förderung des freien
|
||||||
|
Zugangs zu technischer Fort- und Weiterbildung jeglicher Art}
|
||||||
|
\\[12mm]{Ansprechpartner: Herr David Oberhollenzer}
|
||||||
|
\\[14mm]{Innsbruck, am \today}
|
||||||
|
\\[16mm]\rule{150mm}{0.5pt}
|
||||||
|
\\[ 8mm]
|
||||||
|
\parbox[t]{75mm}{
|
||||||
|
Abgabevermerk:
|
||||||
|
\\[3.25mm]Datum:
|
||||||
|
}
|
||||||
|
\hspace*{6mm}
|
||||||
|
\parbox[t]{50mm}{
|
||||||
|
Betreuer/in:
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
\end{center}\hfill
|
||||||
|
\end{minipage}
|
||||||
|
\end{center}
|
||||||
|
\end{titlepage}
|
||||||
|
|
||||||
|
\pagestyle{empty}
|
||||||
|
|
||||||
|
\mylinespacing
|
||||||
|
%====================================================================================
|
||||||
|
\clearpage\vfill\newpage{}
|
||||||
|
\pagenumbering{roman}
|
||||||
|
\allAuth
|
||||||
|
\cfoot{\rightmark}
|
||||||
|
\rfoot[\thepage]{\thepage}
|
||||||
|
\renewcommand{\footrulewidth}{0.33pt}
|
||||||
|
%====================================================================================
|
||||||
|
\subsection*{Gendererklärung\markboth{}{Gendererklärung}}
|
||||||
|
\addcontentsline{toc}{section}{Gendererklärung}
|
||||||
|
Aus Gr"unden der besseren Lesbarkeit wird in dieser Diplomarbeit die Sprachform
|
||||||
|
des generischen Maskulinums angewendet. Es wird an dieser Stelle darauf
|
||||||
|
hingewiesen, dass die ausschlie"sliche Verwendung der m"annlichen Form
|
||||||
|
geschlechtsunabh"angig verstanden werden soll.
|
||||||
|
|
||||||
|
%====================================================================================
|
||||||
|
\clearpage\vfill\newpage{}
|
||||||
|
%====================================================================================
|
||||||
|
\subsection*{Kurzfassung/Abstract\markboth{}{Kurzfassung/Abstract}}
|
||||||
|
\addcontentsline{toc}{section}{Kurzfassung/Abstract}
|
||||||
|
%\input{sections/abstract.tex} TODO
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
|
\subsection*{Projektergebnis\markboth{}{Projektergebnis}}
|
||||||
|
\addcontentsline{toc}{section}{Projektergebnis}
|
||||||
|
%\input{sections/ergebnis.tex} TODO
|
||||||
|
%====================================================================================
|
||||||
|
\pagestyle{plain}
|
||||||
|
\tableofcontents
|
||||||
|
\newpage
|
||||||
|
\pagestyle{fancy}
|
||||||
|
\cfoot{\rightmark}
|
||||||
|
%====================================================================================
|
||||||
|
\lhead{}
|
||||||
|
\renewcommand{\headrulewidth}{0.4pt}
|
||||||
|
\setcounter{section}{0}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
|
||||||
\subfile{vhdl_intro/vhdl_intro.tex}
|
%\section{Einleitung}
|
||||||
\subfile{soc/soc.tex}
|
%\input{sections/einleitung.tex} TODO
|
||||||
\subfile{core/core.tex}
|
|
||||||
|
|
||||||
\printbibliography
|
\section{Aufgabenstellung}
|
||||||
|
\DP\input{planung/DP/aufgabenstellung.tex}
|
||||||
|
|
||||||
|
\section{Planung}
|
||||||
|
\DP\input{planung/DP/planung.tex}
|
||||||
|
|
||||||
|
\clearpage
|
||||||
|
% \MR\input{sections/Kapitel/MR/planungAufgabengenerator.tex}
|
||||||
|
|
||||||
|
\clearpage
|
||||||
|
%\MR\input{sections/Kapitel/MR/Aufgabengeneration.tex}
|
||||||
|
|
||||||
|
\clearpage
|
||||||
|
%\MR\input{sections/Kapitel/MR/EntwicklungAufgaben.tex}
|
||||||
|
|
||||||
|
\subfile{sections/vhdl_intro/vhdl_intro.tex}
|
||||||
|
\subfile{sections/soc/soc.tex}
|
||||||
|
\subfile{sections/core/core.tex}
|
||||||
|
|
||||||
|
%====================================================================================
|
||||||
|
\clearpage\vfill\newpage{}
|
||||||
|
%====================================================================================
|
||||||
|
\section{Erkl"arung der Eigenst"andigkeit der Arbeit}
|
||||||
|
\noindent\\[0mm] EIDESSTATTLICHE ERKLÄRUNG
|
||||||
|
\\[4mm]
|
||||||
|
\parbox{152mm}{
|
||||||
|
Ich erkläre an Eides statt, dass ich die vorliegende Arbeit selbständig und ohne
|
||||||
|
fremde Hilfe verfasst, andere als die angegebenen Quellen und Hilfsmittel nicht
|
||||||
|
benutzt und die den benutzten Quellen wörtlich und inhaltlich entnommenen
|
||||||
|
Stellen als solche erkenntlich gemacht habe. Meine Arbeit darf öffentlich
|
||||||
|
zugänglich gemacht werden, wenn kein Sperrvermerk vorliegt.
|
||||||
|
}
|
||||||
|
\\[19mm]\parbox{80mm}{
|
||||||
|
\rule{60mm}{.5pt}\\
|
||||||
|
\hspace*{3mm}Ort, Datum
|
||||||
|
}
|
||||||
|
\parbox{80mm}{
|
||||||
|
\rule{70mm}{.5pt}\\
|
||||||
|
\hspace*{3mm} Armin Brauns
|
||||||
|
}
|
||||||
|
\\[19mm]\parbox{80mm}{
|
||||||
|
\rule{60mm}{.5pt}\\
|
||||||
|
\hspace*{3mm}Ort, Datum
|
||||||
|
}
|
||||||
|
\parbox{80mm}{
|
||||||
|
\rule{70mm}{.5pt}\\
|
||||||
|
\hspace*{3mm} Daniel Plank
|
||||||
|
}
|
||||||
|
|
||||||
|
%====================================================================================
|
||||||
|
\clearpage\vfill\newpage{}
|
||||||
|
\pagenumbering{Roman}
|
||||||
|
%====================================================================================
|
||||||
|
\renewcommand{\thesection}{\Roman{section}\;}
|
||||||
|
\setcounter{section}{0}
|
||||||
|
\listoffigures\thispagestyle{fancy}
|
||||||
|
\listoftables\thispagestyle{fancy}
|
||||||
|
\lstlistoflistings\thispagestyle{fancy}
|
||||||
|
\printbibliography[title={Literaturverzeichnis},heading=bibnumbered]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%====================================================================================
|
||||||
|
\clearpage\vfill\newpage{}
|
||||||
|
%====================================================================================
|
||||||
|
%\noindent\\[-2mm]
|
||||||
|
%\hspace*{3mm}{\sc\textbf{\Large Anhang}}
|
||||||
|
%\noindent\\[-5mm]
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%\cfoot{Anhang}
|
||||||
|
%\addcontentsline{toc}{section}{Anhang}
|
||||||
|
%\appendix
|
||||||
|
%\renewcommand{\thesection}{\Alph{section}}
|
||||||
|
%\setcounter{section}{1}
|
||||||
|
%\setcounter{subsection}{0}
|
||||||
|
|
||||||
|
%\subsection{Pflichtenheft}
|
||||||
|
%\input{sections/Anhang/Pflichtenheft/pflichtenheftMR.tex}
|
||||||
|
%
|
||||||
|
%\newpage
|
||||||
|
%\subsection{Schlussfolgerung / Projekterfahrung}
|
||||||
|
%\input{sections/Anhang/schlussfolgerung.tex}
|
||||||
|
|
||||||
|
%\subsection{Projektterminplanung}
|
||||||
|
%\MR\input{sections/Anhang/Projektterminplanung/projektterminplanungMR.tex}
|
||||||
|
|
||||||
|
\clearpage
|
||||||
|
%\subsection{Arbeitsnachweis Diplomarbeit}
|
||||||
|
%\MR\input{sections/Anhang/Arbeitsnachweis/arbeitsnachweisMR.tex}
|
||||||
|
|
||||||
|
\label{LastPage}
|
||||||
|
%\addtocontents{toc}{\protect\end{multicols}}
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
337
LICENSE.md
Normal file
|
@ -0,0 +1,337 @@
|
||||||
|
## creative commons
|
||||||
|
|
||||||
|
# Attribution 4.0 International
|
||||||
|
|
||||||
|
Creative Commons Corporation (“Creative Commons”) is not a law firm and does not
|
||||||
|
provide legal services or legal advice. Distribution of Creative Commons public
|
||||||
|
licenses does not create a lawyer-client or other relationship. Creative Commons
|
||||||
|
makes its licenses and related information available on an “as-is” basis.
|
||||||
|
Creative Commons gives no warranties regarding its licenses, any material
|
||||||
|
licensed under their terms and conditions, or any related information. Creative
|
||||||
|
Commons disclaims all liability for damages resulting from their use to the
|
||||||
|
fullest extent possible.
|
||||||
|
|
||||||
|
### Using Creative Commons Public Licenses
|
||||||
|
|
||||||
|
Creative Commons public licenses provide a standard set of terms and conditions
|
||||||
|
that creators and other rights holders may use to share original works of
|
||||||
|
authorship and other material subject to copyright and certain other rights
|
||||||
|
specified in the public license below. The following considerations are for
|
||||||
|
informational purposes only, are not exhaustive, and do not form part of our
|
||||||
|
licenses.
|
||||||
|
|
||||||
|
* __Considerations for licensors:__ Our public licenses are intended for use by
|
||||||
|
those authorized to give the public permission to use material in ways otherwise
|
||||||
|
restricted by copyright and certain other rights. Our licenses are irrevocable.
|
||||||
|
Licensors should read and understand the terms and conditions of the license
|
||||||
|
they choose before applying it. Licensors should also secure all rights
|
||||||
|
necessary before applying our licenses so that the public can reuse the material
|
||||||
|
as expected. Licensors should clearly mark any material not subject to the license.
|
||||||
|
This includes other CC-licensed material, or material used under an exception or
|
||||||
|
limitation to copyright.
|
||||||
|
[More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors).
|
||||||
|
|
||||||
|
* __Considerations for the public:__ By using one of our public licenses, a
|
||||||
|
licensor grants the public permission to use the licensed material under
|
||||||
|
specified terms and conditions. If the licensor’s permission is not necessary
|
||||||
|
for any reason–for example, because of any applicable exception or limitation
|
||||||
|
to copyright–then that use is not regulated by the license. Our licenses grant
|
||||||
|
only permissions under copyright and certain other rights that a licensor has
|
||||||
|
authority to grant. Use of the licensed material may still be restricted for
|
||||||
|
other reasons, including because others have copyright or other rights in the
|
||||||
|
material. A licensor may make special requests, such as asking that all changes
|
||||||
|
be marked or described. Although not required by our licenses, you are
|
||||||
|
encouraged to respect those requests where reasonable.
|
||||||
|
[More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees).
|
||||||
|
|
||||||
|
## Creative Commons Attribution 4.0 International Public License
|
||||||
|
|
||||||
|
By exercising the Licensed Rights (defined below), You accept and agree to be
|
||||||
|
bound by the terms and conditions of this Creative Commons Attribution 4.0
|
||||||
|
International Public License ("Public License"). To the extent this Public
|
||||||
|
License may be interpreted as a contract, You are granted the Licensed Rights in
|
||||||
|
consideration of Your acceptance of these terms and conditions, and the Licensor
|
||||||
|
grants You such rights in consideration of benefits the Licensor receives from
|
||||||
|
making the Licensed Material available under these terms and conditions.
|
||||||
|
|
||||||
|
### Section 1 – Definitions.
|
||||||
|
|
||||||
|
a. __Adapted Material__ means material subject to Copyright and Similar Rights
|
||||||
|
that is derived from or based upon the Licensed Material and in which the
|
||||||
|
Licensed Material is translated, altered, arranged, transformed, or otherwise
|
||||||
|
modified in a manner requiring permission under the Copyright and Similar Rights
|
||||||
|
held by the Licensor. For purposes of this Public License, where the Licensed
|
||||||
|
Material is a musical work, performance, or sound recording, Adapted Material is
|
||||||
|
always produced where the Licensed Material is synched in timed relation with a
|
||||||
|
moving image.
|
||||||
|
|
||||||
|
b. __Adapter's License__ means the license You apply to Your Copyright and
|
||||||
|
Similar Rights in Your contributions to Adapted Material in accordance with the
|
||||||
|
terms and conditions of this Public License.
|
||||||
|
|
||||||
|
c. __Copyright and Similar Rights__ means copyright and/or similar rights
|
||||||
|
closely related to copyright including, without limitation, performance,
|
||||||
|
broadcast, sound recording, and Sui Generis Database Rights, without regard to
|
||||||
|
how the rights are labeled or categorized. For purposes of this Public License,
|
||||||
|
the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||||
|
Rights.
|
||||||
|
|
||||||
|
d. __Effective Technological Measures__ means those measures that, in the
|
||||||
|
absence of proper authority, may not be circumvented under laws fulfilling
|
||||||
|
obligations under Article 11 of the WIPO Copyright Treaty adopted on December
|
||||||
|
20, 1996, and/or similar international agreements.
|
||||||
|
|
||||||
|
e. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other
|
||||||
|
exception or limitation to Copyright and Similar Rights that applies to Your
|
||||||
|
use of the Licensed Material.
|
||||||
|
|
||||||
|
f. __Licensed Material__ means the artistic or literary work, database, or other
|
||||||
|
material to which the Licensor applied this Public License.
|
||||||
|
|
||||||
|
g. __Licensed Rights__ means the rights granted to You subject to the terms and
|
||||||
|
conditions of this Public License, which are limited to all Copyright and
|
||||||
|
Similar Rights that apply to Your use of the Licensed Material and that the
|
||||||
|
Licensor has authority to license.
|
||||||
|
|
||||||
|
h. __Licensor__ means the individual(s) or entity(ies) granting rights under
|
||||||
|
this Public License.
|
||||||
|
|
||||||
|
i. __Share__ means to provide material to the public by any means or process
|
||||||
|
that requires permission under the Licensed Rights, such as reproduction,
|
||||||
|
public display, public performance, distribution, dissemination, communication,
|
||||||
|
or importation, and to make material available to the public including in ways
|
||||||
|
that members of the public may access the material from a place and at a time
|
||||||
|
individually chosen by them.
|
||||||
|
|
||||||
|
j. __Sui Generis Database Rights__ means rights other than copyright resulting
|
||||||
|
from Directive 96/9/EC of the European Parliament and of the Council of 11 March
|
||||||
|
1996 on the legal protection of databases, as amended and/or succeeded, as well
|
||||||
|
as other essentially equivalent rights anywhere in the world.
|
||||||
|
|
||||||
|
k. __You__ means the individual or entity exercising the Licensed Rights under
|
||||||
|
this Public License. Your has a corresponding meaning.
|
||||||
|
|
||||||
|
### Section 2 – Scope.
|
||||||
|
|
||||||
|
a. ___License grant.___
|
||||||
|
|
||||||
|
1. Subject to the terms and conditions of this Public License, the Licensor
|
||||||
|
hereby grants You a worldwide, royalty-free, non-sublicensable,
|
||||||
|
non-exclusive, irrevocable license to exercise the Licensed Rights in the
|
||||||
|
Licensed Material to:
|
||||||
|
|
||||||
|
A. reproduce and Share the Licensed Material, in whole or in part; and
|
||||||
|
|
||||||
|
B. produce, reproduce, and Share Adapted Material.
|
||||||
|
|
||||||
|
2. __Exceptions and Limitations.__ For the avoidance of doubt, where
|
||||||
|
Exceptions and Limitations apply to Your use, this Public License does not
|
||||||
|
apply, and You do not need to comply with its terms and conditions.
|
||||||
|
|
||||||
|
3. __Term.__ The term of this Public License is specified in Section 6(a).
|
||||||
|
|
||||||
|
4. __Media and formats; technical modifications allowed.__ The Licensor
|
||||||
|
authorizes You to exercise the Licensed Rights in all media and formats
|
||||||
|
whether now known or hereafter created, and to make technical modifications
|
||||||
|
necessary to do so. The Licensor waives and/or agrees not to assert any right
|
||||||
|
or authority to forbid You from making technical modifications necessary to
|
||||||
|
exercise the Licensed Rights, including technical modifications necessary to
|
||||||
|
circumvent Effective Technological Measures. For purposes of this Public
|
||||||
|
License, simply making modifications authorized by this Section 2(a)(4)
|
||||||
|
never produces Adapted Material.
|
||||||
|
|
||||||
|
5. __Downstream recipients.__
|
||||||
|
|
||||||
|
A. __Offer from the Licensor – Licensed Material.__ Every recipient of
|
||||||
|
the Licensed Material automatically receives an offer from the Licensor
|
||||||
|
to exercise the Licensed Rights under the terms and conditions of this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
B. __No downstream restrictions.__ You may not offer or impose any
|
||||||
|
additional or different terms or conditions on, or apply any Effective
|
||||||
|
Technological Measures to, the Licensed Material if doing so restricts
|
||||||
|
exercise of the Licensed Rights by any recipient of the Licensed
|
||||||
|
Material.
|
||||||
|
|
||||||
|
6. __No endorsement.__ Nothing in this Public License constitutes or may be
|
||||||
|
construed as permission to assert or imply that You are, or that Your use of
|
||||||
|
the Licensed Material is, connected with, or sponsored, endorsed, or granted
|
||||||
|
official status by, the Licensor or others designated to receive attribution
|
||||||
|
as provided in Section 3(a)(1)(A)(i).
|
||||||
|
|
||||||
|
b. ___Other rights.___
|
||||||
|
|
||||||
|
1. Moral rights, such as the right of integrity, are not licensed under this
|
||||||
|
Public License, nor are publicity, privacy, and/or other similar personality
|
||||||
|
rights; however, to the extent possible, the Licensor waives and/or agrees
|
||||||
|
not to assert any such rights held by the Licensor to the limited extent
|
||||||
|
necessary to allow You to exercise the Licensed Rights, but not otherwise.
|
||||||
|
|
||||||
|
2. Patent and trademark rights are not licensed under this Public License.
|
||||||
|
|
||||||
|
3. To the extent possible, the Licensor waives any right to collect royalties
|
||||||
|
from You for the exercise of the Licensed Rights, whether directly or through
|
||||||
|
a collecting society under any voluntary or waivable statutory or compulsory
|
||||||
|
licensing scheme. In all other cases the Licensor expressly reserves any
|
||||||
|
right to collect such royalties.
|
||||||
|
|
||||||
|
### Section 3 – License Conditions.
|
||||||
|
|
||||||
|
Your exercise of the Licensed Rights is expressly made subject to the following
|
||||||
|
conditions.
|
||||||
|
|
||||||
|
a. ___Attribution.___
|
||||||
|
|
||||||
|
1. If You Share the Licensed Material (including in modified form), You must:
|
||||||
|
|
||||||
|
A. retain the following if it is supplied by the Licensor with the
|
||||||
|
Licensed Material:
|
||||||
|
|
||||||
|
i. identification of the creator(s) of the Licensed Material and any
|
||||||
|
others designated to receive attribution, in any reasonable manner
|
||||||
|
requested by the Licensor (including by pseudonym if designated);
|
||||||
|
|
||||||
|
ii. a copyright notice;
|
||||||
|
|
||||||
|
iii. a notice that refers to this Public License;
|
||||||
|
|
||||||
|
iv. a notice that refers to the disclaimer of warranties;
|
||||||
|
|
||||||
|
v. a URI or hyperlink to the Licensed Material to the extent reasonably
|
||||||
|
practicable;
|
||||||
|
|
||||||
|
B. indicate if You modified the Licensed Material and retain an
|
||||||
|
indication of any previous modifications; and
|
||||||
|
|
||||||
|
C. indicate the Licensed Material is licensed under this Public License,
|
||||||
|
and include the text of, or the URI or hyperlink to, this Public License.
|
||||||
|
|
||||||
|
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner
|
||||||
|
based on the medium, means, and context in which You Share the Licensed
|
||||||
|
Material. For example, it may be reasonable to satisfy the conditions by
|
||||||
|
providing a URI or hyperlink to a resource that includes the required
|
||||||
|
information.
|
||||||
|
|
||||||
|
3. If requested by the Licensor, You must remove any of the information
|
||||||
|
required by Section 3(a)(1)(A) to the extent reasonably practicable.
|
||||||
|
|
||||||
|
4. If You Share Adapted Material You produce, the Adapter's License You apply
|
||||||
|
must not prevent recipients of the Adapted Material from complying with this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
### Section 4 – Sui Generis Database Rights.
|
||||||
|
|
||||||
|
Where the Licensed Rights include Sui Generis Database Rights that apply to Your
|
||||||
|
use of the Licensed Material:
|
||||||
|
|
||||||
|
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract,
|
||||||
|
reuse, reproduce, and Share all or a substantial portion of the contents of the
|
||||||
|
database;
|
||||||
|
|
||||||
|
b. if You include all or a substantial portion of the database contents in a
|
||||||
|
database in which You have Sui Generis Database Rights, then the database in
|
||||||
|
which You have Sui Generis Database Rights (but not its individual contents) is
|
||||||
|
Adapted Material; and
|
||||||
|
|
||||||
|
c. You must comply with the conditions in Section 3(a) if You Share all or a
|
||||||
|
substantial portion of the contents of the database.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 4 supplements and does not replace
|
||||||
|
Your obligations under this Public License where the Licensed Rights include
|
||||||
|
other Copyright and Similar Rights.
|
||||||
|
|
||||||
|
### Section 5 – Disclaimer of Warranties and Limitation of Liability.
|
||||||
|
|
||||||
|
a. __Unless otherwise separately undertaken by the Licensor, to the extent
|
||||||
|
possible, the Licensor offers the Licensed Material as-is and as-available, and
|
||||||
|
makes no representations or warranties of any kind concerning the Licensed
|
||||||
|
Material, whether express, implied, statutory, or other. This includes, without
|
||||||
|
limitation, warranties of title, merchantability, fitness for a particular
|
||||||
|
purpose, non-infringement, absence of latent or other defects, accuracy, or the
|
||||||
|
presence or absence of errors, whether or not known or discoverable. Where
|
||||||
|
disclaimers of warranties are not allowed in full or in part, this disclaimer
|
||||||
|
may not apply to You.__
|
||||||
|
|
||||||
|
b. __To the extent possible, in no event will the Licensor be liable to You on
|
||||||
|
any legal theory (including, without limitation, negligence) or otherwise for
|
||||||
|
any direct, special, indirect, incidental, consequential, punitive, exemplary,
|
||||||
|
or other losses, costs, expenses, or damages arising out of this Public License
|
||||||
|
or use of the Licensed Material, even if the Licensor has been advised of the
|
||||||
|
possibility of such losses, costs, expenses, or damages. Where a limitation of
|
||||||
|
liability is not allowed in full or in part, this limitation may not apply to
|
||||||
|
You.__
|
||||||
|
|
||||||
|
c. The disclaimer of warranties and limitation of liability provided above shall
|
||||||
|
be interpreted in a manner that, to the extent possible, most closely
|
||||||
|
approximates an absolute disclaimer and waiver of all liability.
|
||||||
|
|
||||||
|
### Section 6 – Term and Termination.
|
||||||
|
|
||||||
|
a. This Public License applies for the term of the Copyright and Similar Rights
|
||||||
|
licensed here. However, if You fail to comply with this Public License, then
|
||||||
|
Your rights under this Public License terminate automatically.
|
||||||
|
|
||||||
|
b. Where Your right to use the Licensed Material has terminated under Section
|
||||||
|
6(a), it reinstates:
|
||||||
|
|
||||||
|
1. automatically as of the date the violation is cured, provided it is cured
|
||||||
|
within 30 days of Your discovery of the violation; or
|
||||||
|
|
||||||
|
2. upon express reinstatement by the Licensor.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 6(b) does not affect any right the
|
||||||
|
Licensor may have to seek remedies for Your violations of this Public
|
||||||
|
License.
|
||||||
|
|
||||||
|
c. For the avoidance of doubt, the Licensor may also offer the Licensed Material
|
||||||
|
under separate terms or conditions or stop distributing the Licensed Material
|
||||||
|
at any time; however, doing so will not terminate this Public License.
|
||||||
|
|
||||||
|
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
|
||||||
|
|
||||||
|
### Section 7 – Other Terms and Conditions.
|
||||||
|
|
||||||
|
a. The Licensor shall not be bound by any additional or different terms or
|
||||||
|
conditions communicated by You unless expressly agreed.
|
||||||
|
|
||||||
|
b. Any arrangements, understandings, or agreements regarding the Licensed
|
||||||
|
Material not stated herein are separate from and independent of the terms and
|
||||||
|
conditions of this Public License.
|
||||||
|
|
||||||
|
### Section 8 – Interpretation.
|
||||||
|
|
||||||
|
a. For the avoidance of doubt, this Public License does not, and shall not be
|
||||||
|
interpreted to, reduce, limit, restrict, or impose conditions on any use of the
|
||||||
|
Licensed Material that could lawfully be made without permission under this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
b. To the extent possible, if any provision of this Public License is deemed
|
||||||
|
unenforceable, it shall be automatically reformed to the minimum extent
|
||||||
|
necessary to make it enforceable. If the provision cannot be reformed, it shall
|
||||||
|
be severed from this Public License without affecting the enforceability of the
|
||||||
|
remaining terms and conditions.
|
||||||
|
|
||||||
|
c. No term or condition of this Public License will be waived and no failure to
|
||||||
|
comply consented to unless expressly agreed to by the Licensor.
|
||||||
|
|
||||||
|
d. Nothing in this Public License constitutes or may be interpreted as a
|
||||||
|
limitation upon, or waiver of, any privileges and immunities that apply to the
|
||||||
|
Licensor or You, including from the legal processes of any jurisdiction or
|
||||||
|
authority.
|
||||||
|
|
||||||
|
> Creative Commons is not a party to its public licenses. Notwithstanding,
|
||||||
|
Creative Commons may elect to apply one of its public licenses to material it
|
||||||
|
publishes and in those instances will be considered the “Licensor.” Except for
|
||||||
|
the limited purpose of indicating that material is shared under a Creative
|
||||||
|
Commons public license or as otherwise permitted by the Creative Commons
|
||||||
|
policies published at
|
||||||
|
[creativecommons.org/policies](http://creativecommons.org/policies),
|
||||||
|
Creative Commons does not authorize the use of the trademark “Creative Commons”
|
||||||
|
or any other trademark or logo of Creative Commons without its prior written
|
||||||
|
consent including, without limitation, in connection with any unauthorized
|
||||||
|
modifications to any of its public licenses or any other arrangements,
|
||||||
|
understandings, or agreements concerning use of licensed material. For the
|
||||||
|
avoidance of doubt, this paragraph does not form part of the public licenses.
|
||||||
|
>
|
||||||
|
> Creative Commons may be contacted at creativecommons.org
|
||||||
|
|
4
Makefile
|
@ -20,14 +20,14 @@ $1: $2
|
||||||
HEADER_DIRS += $1
|
HEADER_DIRS += $1
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call headers_template,core/entities/,$(wildcard $(VHDL_DIR)/core/*.vhd)))
|
$(eval $(call headers_template,sections/core/entities/,$(wildcard $(VHDL_DIR)/core/*.vhd)))
|
||||||
|
|
||||||
.PHONY: entity_headers
|
.PHONY: entity_headers
|
||||||
entity_headers: $(HEADER_DIRS)
|
entity_headers: $(HEADER_DIRS)
|
||||||
|
|
||||||
.PHONY: Diplomschrift.pdf
|
.PHONY: Diplomschrift.pdf
|
||||||
Diplomschrift.pdf: $(HEADER_DIRS) Diplomschrift.tex
|
Diplomschrift.pdf: $(HEADER_DIRS) Diplomschrift.tex
|
||||||
latexmk --pdf --pdflatex="pdflatex -interaction=nonstopmode" --use-make Diplomschrift.tex
|
latexmk --pdfxe --pdfxelatex="xelatex -interaction=nonstopmode --shell-escape" --use-make Diplomschrift.tex
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
|
|
11
README.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
# About
|
||||||
|
|
||||||
|
This repository contains documents related to the YARM thesis at the HTBLuVA
|
||||||
|
Innsbruck Anichstrasse.
|
||||||
|
# LICENSE
|
||||||
|
|
||||||
|
This thesis is licensed for use under the Creative Commons BY 4.0 License as
|
||||||
|
published by the Creative Commons Corporation. Please see the LICENSE.md
|
||||||
|
file or the creative commons website at
|
||||||
|
https://creativecommons.org/licenses/by/4.0/legalcode
|
||||||
|
for a full copy of the license.
|
BIN
antrag/antrag.pdf
Normal file
BIN
antrag/korrekturen/plabratxTfL.pdf
Normal file
|
@ -1,84 +0,0 @@
|
||||||
%PDF-1.4
|
|
||||||
%Çì<C387>¢
|
|
||||||
5 0 obj
|
|
||||||
<</Length 6 0 R/Filter /FlateDecode>>
|
|
||||||
stream
|
|
||||||
xœu’QnÄ Dÿ9…OàÚ>F÷
|
|
||||||
•v6mï/Õ$!A‚*R‚&!ofð72P»Îç×>^¿<><C2BF>’Y-ÆU†ŸWˆÅP˜<50>Å°¨À$'L5AFŠ™Þ!Š`[ÝJ.Œ¦ú·®PD‹iPžŽe3ËÃBÍ„mMžÿ‘Ôи‚Ôêvß—·‘TÓ ÜÞ׌Ää‹xL© Ä
|
|
||||||
¼bœJ<C593><„?ßÊi÷@ÖdJæÈ’ý•˜Êš:ï?âõ°«2g§Îl°jäÝ9<C39D>ÈO¶ÙJ“¡ƒ·E„«µKéýÝÁ{Ç·r ÕÝÙp¦Kä¼Ùë@ªråÜÂl³õªÞdÖ} é–NÜÆ»rw5É<Hû¶2óÿ¬Åøíiz¶Ui³¿gøJ9ºPendstream
|
|
||||||
endobj
|
|
||||||
6 0 obj
|
|
||||||
292
|
|
||||||
endobj
|
|
||||||
4 0 obj
|
|
||||||
<</Type/Page/MediaBox [0 0 57.69 57.69]
|
|
||||||
/Parent 3 0 R
|
|
||||||
/Resources<</ProcSet[/PDF]
|
|
||||||
/ExtGState 8 0 R
|
|
||||||
>>
|
|
||||||
/Contents 5 0 R
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
3 0 obj
|
|
||||||
<< /Type /Pages /Kids [
|
|
||||||
4 0 R
|
|
||||||
] /Count 1
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
1 0 obj
|
|
||||||
<</Type /Catalog /Pages 3 0 R
|
|
||||||
/Metadata 9 0 R
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
7 0 obj
|
|
||||||
<</Type/ExtGState
|
|
||||||
/OPM 1>>endobj
|
|
||||||
8 0 obj
|
|
||||||
<</R7
|
|
||||||
7 0 R>>
|
|
||||||
endobj
|
|
||||||
9 0 obj
|
|
||||||
<</Type/Metadata
|
|
||||||
/Subtype/XML/Length 1371>>stream
|
|
||||||
<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
|
|
||||||
<?adobe-xap-filters esc="CRLF"?>
|
|
||||||
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
|
|
||||||
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
|
|
||||||
<rdf:Description rdf:about='uuid:8a798284-5606-11f2-0000-42ba47da2376' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.05'/>
|
|
||||||
<rdf:Description rdf:about='uuid:8a798284-5606-11f2-0000-42ba47da2376' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2017-04-10T12:34:08Z</xmp:ModifyDate>
|
|
||||||
<xmp:CreateDate>2017-04-10T12:34:08Z</xmp:CreateDate>
|
|
||||||
<xmp:CreatorTool>dvips(k) 5.992 Copyright 2012 Radical Eye Software</xmp:CreatorTool></rdf:Description>
|
|
||||||
<rdf:Description rdf:about='uuid:8a798284-5606-11f2-0000-42ba47da2376' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:8a798284-5606-11f2-0000-42ba47da2376'/>
|
|
||||||
<rdf:Description rdf:about='uuid:8a798284-5606-11f2-0000-42ba47da2376' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>JNsetRXh1.dvi</rdf:li></rdf:Alt></dc:title></rdf:Description>
|
|
||||||
</rdf:RDF>
|
|
||||||
</x:xmpmeta>
|
|
||||||
|
|
||||||
|
|
||||||
<?xpacket end='w'?>
|
|
||||||
endstream
|
|
||||||
endobj
|
|
||||||
2 0 obj
|
|
||||||
<</Producer(GPL Ghostscript 9.05)
|
|
||||||
/CreationDate(D:20170410123408Z00'00')
|
|
||||||
/ModDate(D:20170410123408Z00'00')
|
|
||||||
/Creator(dvips\(k\) 5.992 Copyright 2012 Radical Eye Software)
|
|
||||||
/Title(JNsetRXh1.dvi)>>endobj
|
|
||||||
xref
|
|
||||||
0 10
|
|
||||||
0000000000 65535 f
|
|
||||||
0000000590 00000 n
|
|
||||||
0000002171 00000 n
|
|
||||||
0000000531 00000 n
|
|
||||||
0000000396 00000 n
|
|
||||||
0000000015 00000 n
|
|
||||||
0000000377 00000 n
|
|
||||||
0000000654 00000 n
|
|
||||||
0000000695 00000 n
|
|
||||||
0000000724 00000 n
|
|
||||||
trailer
|
|
||||||
<< /Size 10 /Root 1 0 R /Info 2 0 R
|
|
||||||
/ID [<ADE9694AC3EE77AEF1F97716539EA98F><ADE9694AC3EE77AEF1F97716539EA98F>]
|
|
||||||
>>
|
|
||||||
startxref
|
|
||||||
2379
|
|
||||||
%%EOF
|
|
80
pics/logoBpdf.svg
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="svg2"
|
||||||
|
xml:space="preserve"
|
||||||
|
width="76.919998"
|
||||||
|
height="76.919998"
|
||||||
|
viewBox="0 0 76.919998 76.919998"
|
||||||
|
sodipodi:docname="logoBpdf.svg"
|
||||||
|
inkscape:version="0.92.4 5da689c313, 2019-01-14"><metadata
|
||||||
|
id="metadata8"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs6" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1916"
|
||||||
|
inkscape:window-height="1041"
|
||||||
|
id="namedview4"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="17.355923"
|
||||||
|
inkscape:cx="11.003126"
|
||||||
|
inkscape:cy="55.365801"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="18"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="g10" /><g
|
||||||
|
id="g10"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
inkscape:label="logoBpdf"
|
||||||
|
transform="matrix(1.3333333,0,0,-1.3333333,0,76.92)"><g
|
||||||
|
id="g12"
|
||||||
|
transform="scale(0.1)"><path
|
||||||
|
d="M 379.211,129.762 254.484,5.03516 h 68.032 L 571.965,254.484 h -68.031"
|
||||||
|
style="fill:#0d0d80;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||||
|
id="path14"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
d="M 379.211,129.762 503.934,254.484 469.918,288.5 254.484,73.0664 V 5.03516"
|
||||||
|
style="fill:#3333b2;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||||
|
id="path16"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
d="M 447.238,379.211 571.965,254.484 v 68.032 L 322.516,571.965 v -68.031"
|
||||||
|
style="fill:#fdeb00;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||||
|
id="path18"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
d="M 447.238,379.211 322.516,503.934 288.5,469.918 503.934,254.484 h 68.031"
|
||||||
|
style="fill:#d9bf5c;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||||
|
id="path20"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
d="M 197.789,447.238 322.516,571.965 H 254.484 L 5.03516,322.516 H 73.0664"
|
||||||
|
style="fill:#00c94d;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||||
|
id="path22"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
d="M 197.789,447.238 73.0664,322.516 107.082,288.5 322.516,503.934 v 68.031"
|
||||||
|
style="fill:#00a633;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||||
|
id="path24"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
d="M 129.762,197.789 5.03516,322.516 V 254.484 L 254.484,5.03516 V 73.0664"
|
||||||
|
style="fill:#a80000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||||
|
id="path26"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
d="M 129.762,197.789 254.484,73.0664 288.5,107.082 73.0664,322.516 H 5.03516"
|
||||||
|
style="fill:#e30000;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||||
|
id="path28"
|
||||||
|
inkscape:connector-curvature="0" /></g></g></svg>
|
After Width: | Height: | Size: 3.5 KiB |
2
planung/DP/aufgabenstellung.tex
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
\subsection{Daniel Plank}
|
||||||
|
|
91
planung/DP/aufwand.tex
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
\subsection{Aufwandsabschätzung}
|
||||||
|
|
||||||
|
Die Aufwandsabschätzung beinhaltet nur die nach offiziellem Einreichen der
|
||||||
|
Diplomarbeit zu vollziehenden Arbeiten.
|
||||||
|
|
||||||
|
\subsubsection{Stundenabschätzung der Teilaufgaben}
|
||||||
|
|
||||||
|
\begin{table}[H]
|
||||||
|
\begin{tabularx}{\textwidth}{|c|X|c|}
|
||||||
|
\hline
|
||||||
|
\textbf{Teilbereich} & \textbf{Aufgabe} &
|
||||||
|
\textbf{Dauer[Stunden]}\\
|
||||||
|
\hline
|
||||||
|
Allgemeines & Informationsbeschaffung zur Funktionsweise & 2\\
|
||||||
|
\hline
|
||||||
|
Allgemeines & Bestückung der Backplane & 1\\
|
||||||
|
\hline
|
||||||
|
Allgemeines & Zeichnen der Testplatinen & 6\\
|
||||||
|
\hline
|
||||||
|
Allgemeines & Auswahl der Bauelemente der Testplatinen & 3\\
|
||||||
|
\hline
|
||||||
|
Allgemeines & Bestücken der Testplatinen & 3\\
|
||||||
|
\hline
|
||||||
|
Allgemeines & Verifikation der Backplane & 2\\
|
||||||
|
\hline
|
||||||
|
Soundpuffer & Informationsbeschaffung zur Funktionsweise & 2\\
|
||||||
|
\hline
|
||||||
|
Soundpuffer & Auswahl der Bauelemente & 1\\
|
||||||
|
\hline
|
||||||
|
Soundpuffer & Verifikations-Schaltungsenticklung & 4\\
|
||||||
|
\hline
|
||||||
|
Soundpuffer & Steckbrettaufbau und Fehlersuche & 7\\
|
||||||
|
\hline
|
||||||
|
Soundpuffer & Steckbrettaufbau Test und Verifikation & 3\\
|
||||||
|
\hline
|
||||||
|
Grafikpuffer & Infromationsbeschaffung zur Funktiosweise & 4\\
|
||||||
|
\hline
|
||||||
|
Grafikpuffer & Schaltungsplanung zum Pufferwechsel & 5\\
|
||||||
|
\hline
|
||||||
|
Grafikpuffer & Verifikations-Schalktungsentwicklung & 7\\
|
||||||
|
\hline
|
||||||
|
Grafikpuffer & Auswahl der Bauelemente & 1.5\\
|
||||||
|
\hline
|
||||||
|
Grafikpuffer & Steckbrettaufbau und Fehlersuche & 10\\
|
||||||
|
\hline
|
||||||
|
Soundpuffer & Fertigen der Platinenzeichnung & 2\\
|
||||||
|
\hline
|
||||||
|
Grafikpuffer & Fertigen der Platinenzeichnung & 3\\
|
||||||
|
\hline
|
||||||
|
Soundpuffer & Fertigen der Platine & 3.5\\
|
||||||
|
\hline
|
||||||
|
Grafikpuffer & Fertigen der Platine & 2\\
|
||||||
|
\hline
|
||||||
|
Soundpuffer & Bestücken der Platine & 1.5\\
|
||||||
|
\hline
|
||||||
|
Grafikpuffer & Bestücken der Platine & 1.5\\
|
||||||
|
\hline
|
||||||
|
Soundpuffer & Verifikation mittels Testplatine & 1.5\\
|
||||||
|
\hline
|
||||||
|
Grafikpuffer & Verifikation mittels Testplatine & 1.5\\
|
||||||
|
\hline
|
||||||
|
Allgemeines & Entwicklung von Beispielbedienungen mittels
|
||||||
|
Testplatinen & 3\\
|
||||||
|
\hline
|
||||||
|
Mikrokontrolle & Entwicklung von Interface zwischen Backplane
|
||||||
|
und Mikrokontroller & 2\\
|
||||||
|
\hline
|
||||||
|
Software & Entwicklung von Demosoftware mit Soundpuffer &
|
||||||
|
4\\
|
||||||
|
\hline
|
||||||
|
Software & Entwicklung von Demosoftware mit Grafikpuffer &
|
||||||
|
7\\
|
||||||
|
\hline
|
||||||
|
Allgemeines & Allgemeiner Fehlerpuffer während der Entwicklung
|
||||||
|
& 15h\\
|
||||||
|
\textbf{SUMME} & \textbf{SUMME} & 109\\
|
||||||
|
\hline
|
||||||
|
Dokumentation & Dokumentation & 60 \\
|
||||||
|
\hline
|
||||||
|
\textbf{SUMME} & \textbf{SUMME} & 169\\
|
||||||
|
\hline
|
||||||
|
\hline
|
||||||
|
\end{tabularx}
|
||||||
|
\label{tab:stunden_plank}
|
||||||
|
\caption{Stundenabschätzung Plank Daniel}
|
||||||
|
|
||||||
|
Die Dokumentation wird mit 60h beschätzt, da diese die Gesamte
|
||||||
|
Funktionsweise der Hardware abdeckt, und mehrere Messungen der Hardware
|
||||||
|
beeinhlatet.
|
||||||
|
|
||||||
|
\end{table}
|
33
planung/DP/grobdesign.tex
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
\subsection{Grobdesign}
|
||||||
|
|
||||||
|
\subsubsection{Aufgabenstellung}
|
||||||
|
|
||||||
|
Zur Klärung immerwiederkehrender Fragen im Umfeld des Vereins IT-Syndikat in
|
||||||
|
Innsbruck sollen Beispiele und Dokumentation der Funktion moderner
|
||||||
|
Prozessorperipherie und der Kommunikation selbiger mit dem Prozessorkern als
|
||||||
|
MMIO
|
||||||
|
\footnote{\href{https://en.wikipedia.org/wiki/Memory-mapped_I/O}{MMIO}...
|
||||||
|
Memory Mapped I/O} Angefertigt werden. Diese Dokumentation soll möglichst für alle
|
||||||
|
Prozessorarchitekturen gültig und daher Architekturunabhängig sein. Die
|
||||||
|
Dokumentation soll für Personen mit tieferem Verständniss von Hardware, sowie
|
||||||
|
für Anfänger hilfreiche Aussagen über die Funktionswiese der Hardware liefern,
|
||||||
|
welche sich aus einer seriellen Schnittstelle mit TIA-/EIA-232 Pegeln, einem
|
||||||
|
Framebuffer\footnote{\href{https://en.wikipedia.org/wiki/Framebuffer}
|
||||||
|
{Framebuffer}...Ein Speicherbereich in welchen
|
||||||
|
ein Bild geladen werden kann, welches dann ausgegeben werden} und einem
|
||||||
|
Soundbuffer\footnote{Ähnlich einem Framebuffer nur dass PCM-Audio anstatt
|
||||||
|
Bildern ausgegeben wird}.
|
||||||
|
|
||||||
|
\subsubsection{Umsetungsbeschreibung}
|
||||||
|
|
||||||
|
Zu aller erst müssen, um die ziele Verstehen zu können, die benötigten
|
||||||
|
Unterlagen beschaffen werden. Diese können in Papierform oder Digital vorhanden
|
||||||
|
sein. Letztere dürften leichter in diesem Industriezweig aufzutreiben sein,
|
||||||
|
jedoch muss mehr Acht gegeben werden auf die Korrektheit der Dokumente.
|
||||||
|
Nach der Beschaffung der Dokumente sollen Beispielschaltungen entwickelt werden,
|
||||||
|
damit die Funktionsweise auch tatsächlich verstanden werden kann.
|
||||||
|
Dokumentationen ohne sinnvollen Praktischen Hintergrund sind meist recht
|
||||||
|
unanschaulich. Nach Entwicklung der Schaltungen sollen diese sinnvoll
|
||||||
|
begründet werden und dann Dokumentiert werden. Die Dokumentation soll mindestens
|
||||||
|
aus Schaltungsbeschreibung, einer generellen Bauteilbeschreibung und den
|
||||||
|
Ideen hinter der aktuellen Umsetzung bestehen.
|
7
planung/DP/materialaufstellung.tex
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
\subsection{Materialaufstellung}
|
||||||
|
|
||||||
|
Zur Fertigung der in der Aufgabenstellung gegebenen Bauteile werden die
|
||||||
|
folgenden Bauteile Benötigt:
|
||||||
|
|
||||||
|
\subsubsection{}
|
||||||
|
|
31
planung/DP/meilensteine/1.tex
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
\subsubsection{1. Meilenstein - Beschaffung der Unterlagen}
|
||||||
|
|
||||||
|
\textbf{Datum: 2019-11-19}
|
||||||
|
|
||||||
|
Der 1. Meilenstein beschäftigt sich mit der Beschaffung der Benötigten
|
||||||
|
Unterlagen auf welchen die weitere Dokumentation basieren soll. Diese Unterlagen
|
||||||
|
sollen den Aufbau einer Seriellen Schnittstelle beschreiben, den Aufbau
|
||||||
|
eines Frame-Buffers und den Aufbau einer Sound-Karte. Die Unterlagen
|
||||||
|
sollen auch Beispielschlatungen beinhalten.
|
||||||
|
|
||||||
|
Die Folgenden Tests zur Verifikation der bisherigen Arbeit wurden dafür
|
||||||
|
definiert:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
|
||||||
|
\item{Testname:}
|
||||||
|
Testinhalt
|
||||||
|
|
||||||
|
\begin{table}[H]
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{|c|c|}
|
||||||
|
\hline
|
||||||
|
\textbf{FAILURE} & \textbf{SUCCESS}\\
|
||||||
|
\hline
|
||||||
|
& \\
|
||||||
|
\hline
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
\end{enumerate}
|
7
planung/DP/meilensteine/2.tex
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
\subsection{2. Meilenstein - Serielle Schnitstelle}
|
||||||
|
|
||||||
|
\textbf{Datum: 2019-01-10}
|
||||||
|
|
||||||
|
Der 2. Meilenstein beschäftigt sich mit der Seriellen Schnittstelle, ihrer
|
||||||
|
Schaltung und der Verifikation selbiger. Die Dokumentation ihrer Funktionsweise
|
||||||
|
soll zu einem späteren Zeitpunkt erfolgen.
|
7
planung/DP/meilensteine/3.tex
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
\subsection{3. Meilenstein - Soundbuffer}
|
||||||
|
|
||||||
|
\textbf{Datum: 2019-02-04}
|
||||||
|
|
||||||
|
Der 3. Meilenstein beschäftigt sich mit der Schaltungsentwicklung des
|
||||||
|
Soundbuffers, der Funktionsweise eines Soundbuffers und der
|
||||||
|
Schaltungsverifikation der entwickelten Schaltung.
|
8
planung/DP/meilensteine/4.tex
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
\subsection{4. Meilenstein - Dokumentation}
|
||||||
|
|
||||||
|
\textbf{Datum: 2019-03-10}
|
||||||
|
|
||||||
|
Der 4. Meilenstein beschäftigt sich mit der Dokumentation der bisherigen
|
||||||
|
Bauteile, namlich des Soundbuffers und der Seriellen Schnittstelle. Zu diesem
|
||||||
|
Meilenstein soll die Dokumentation der Funktionsweise und der Implementation
|
||||||
|
gefertigt werden.
|
6
planung/DP/meilensteine/5.tex
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
\subsection{4. Meilenstein - Framebuffer}
|
||||||
|
|
||||||
|
\textbf{Datum: 2019-04-14}
|
||||||
|
|
||||||
|
Der 5. Meilenstein beschäftigt sich mit der Dokumentation eines Framebuffers und
|
||||||
|
der rein theoretischen implementierung selbigens.
|
2
planung/DP/meilensteine/mst.tex
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
|
21
planung/DP/meilensteine/texput.log
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/Arch Linux) (preloaded format=xelatex 2019.7.11) 11 AUG 2019 22:35
|
||||||
|
entering extended mode
|
||||||
|
restricted \write18 enabled.
|
||||||
|
%&-line parsing enabled.
|
||||||
|
**main.
|
||||||
|
|
||||||
|
! Emergency stop.
|
||||||
|
<*> main.
|
||||||
|
|
||||||
|
End of file on the terminal!
|
||||||
|
|
||||||
|
|
||||||
|
Here is how much of TeX's memory you used:
|
||||||
|
3 strings out of 492922
|
||||||
|
15 string characters out of 6138851
|
||||||
|
64272 words of memory out of 5000000
|
||||||
|
4153 multiletter control sequences out of 15000+600000
|
||||||
|
3640 words of font info for 14 fonts, out of 8000000 for 9000
|
||||||
|
1348 hyphenation exceptions out of 8191
|
||||||
|
0i,0n,0p,8b,6s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||||
|
No pages of output.
|
20
planung/DP/planung.tex
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
\input{planung/DP/grobdesign.tex}
|
||||||
|
\subsection{Meilensteine}
|
||||||
|
|
||||||
|
\paragraph{Anmerkung zu den Daten}
|
||||||
|
|
||||||
|
Die Daten wurden den Vorgaben entsprechend gewählt, so wurden mindestens 2
|
||||||
|
Meilensteine in das Sommersemester hineingelegt. Die Meilensteine wurden
|
||||||
|
auf Dienstage gelegt, da an diesem Wochentag bekannt ist dass der Betreuer
|
||||||
|
sich im Gebäude der HTBLuVA befindet. Die Meilensteintermine wurden möglichst
|
||||||
|
Äquidistant über den zur Verfügung stehenden Zeitbereich verteilt.
|
||||||
|
|
||||||
|
\input{planung/DP/meilensteine/1.tex}
|
||||||
|
\input{planung/DP/meilensteine/2.tex}
|
||||||
|
\input{planung/DP/meilensteine/3.tex}
|
||||||
|
\input{planung/DP/meilensteine/4.tex}
|
||||||
|
\input{planung/DP/meilensteine/5.tex}
|
||||||
|
|
||||||
|
\subsection{Zeitabschätzung}
|
||||||
|
|
||||||
|
\input{planung/DP/aufwand.tex}
|
363
preamble.tex
|
@ -1,94 +1,335 @@
|
||||||
\usepackage[utf8]{inputenc}
|
%based on xhversion{v3.01 SiU} %PdJ,PdL,PdM,PdS,PdU,Pe6,PeI,PfB,PfD,RbN,RbP,RcL,RdC,RdD,RdF,Sb7,ScN,SiT,SiU,Sj3,
|
||||||
\usepackage{graphicx}
|
|
||||||
\usepackage{url}
|
|
||||||
\usepackage{listings}
|
|
||||||
\usepackage{svg}
|
|
||||||
|
|
||||||
\lstdefinelanguage{customvhdl}[]{VHDL}{
|
\listfiles %lists included files while processing 'pdflatex'
|
||||||
morekeywords=[2]{std_logic, std_logic_vector, natural, integer, bit, string},
|
\documentclass[12pt,a4paper]{article}
|
||||||
}
|
%\documentclass[12pt,a4paper]{book}
|
||||||
|
%\documentclass[11pt,a4paper]{article}
|
||||||
|
%\documentclass[12pt,a4paper]{report}
|
||||||
|
|
||||||
|
%\usepackage{etex} %gegen 'no more room for new dimen...' error bei 'tikz' xh@RaE1
|
||||||
|
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage[ngerman,english]{babel}
|
||||||
|
\usepackage[OT2,T1]{fontenc}
|
||||||
|
|
||||||
|
\usepackage{svg} % Allows the inclusion of SVG files
|
||||||
|
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amscd}
|
||||||
|
%\usepackage{extarrows} %\xleftrightarrow[obentext]{untentext}
|
||||||
|
\usepackage{wasysym}
|
||||||
|
\usepackage{pxfonts}
|
||||||
|
\usepackage{verbatim}
|
||||||
|
\usepackage{alltt}
|
||||||
|
\usepackage{moreverb}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{wrapfig}
|
||||||
|
%\usepackage{subfigure} % Probleme mit tocloft? -MR
|
||||||
|
%\usepackage{theorem}
|
||||||
|
%\usepackage[dvips]{color}
|
||||||
|
%\usepackage{lmodern}
|
||||||
|
%\usepackage{textcomp}
|
||||||
|
\usepackage{multicol} % 2-, 3-, ... -spaltige Formatierung mit 'multicols'
|
||||||
|
\usepackage{multirow} % fuer 'tabular' - Tabellen
|
||||||
|
%\usepackage{makeidx}
|
||||||
|
\usepackage{imakeidx} % erspart dieses externe Stichwortprogramm
|
||||||
|
%\usepackage{pdfpages} % fuer 'includepdf' (stattdessen nimmi meistens 'includegraphics[page=1,...]')
|
||||||
|
\usepackage{mdwlist} % f. 'compact lists' "itemize*", "enumerate*", "description*"
|
||||||
|
%\usepackage{ulem} %... produziertma nFehler ban 'latex' run
|
||||||
|
\usepackage{longtable} % fuer tabellen ueber mehrere Seiten
|
||||||
|
\usepackage{makecell} % Zeilenumbruch in Tabellenzelle -MR
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\definecolor{lltgy} {gray}{0.96} % selbstdefinierte Farben
|
||||||
|
\definecolor{ltgy} {gray}{0.91}
|
||||||
|
\definecolor{dkgn} {rgb}{0.0,0.7,0.0}
|
||||||
|
\definecolor{dkbu} {rgb}{0.0,0.0,0.6}
|
||||||
|
\definecolor{ddkbu} {rgb}{0.0,0.0,0.45}
|
||||||
|
|
||||||
|
\usepackage{ifthen} % fuer 'ifthenelse{}{}{}'
|
||||||
|
\usepackage{ifpdf} % fuer {\ifpdf ... \fi}
|
||||||
|
\usepackage{beramono} % monospace font -MR
|
||||||
|
\usepackage{listings}
|
||||||
|
|
||||||
\lstdefinestyle{default}{
|
\lstdefinestyle{default}{
|
||||||
showstringspaces=false,
|
columns=space-flexible,
|
||||||
tabsize=4,
|
basicstyle=\fontsize{9pt}{9pt}\selectfont\ttfamily,
|
||||||
belowcaptionskip=1\baselineskip,
|
frame=single,
|
||||||
basicstyle=\footnotesize\ttfamily,
|
frameround=tttt,
|
||||||
keywordstyle=\bfseries\color{green!40!black},
|
showstringspaces=false,
|
||||||
commentstyle=\itshape\color{purple},
|
breaklines=true,
|
||||||
stringstyle=\color{orange},
|
tabsize=4,
|
||||||
breaklines=true,
|
numbers=left,
|
||||||
xleftmargin=\parindent,
|
captionpos=b
|
||||||
numbers=left,
|
}
|
||||||
title=\lstname,
|
|
||||||
|
\lstdefinestyle{terminal}{
|
||||||
|
style=default,
|
||||||
|
language=bash,
|
||||||
|
frame=none,
|
||||||
|
numbers=none,
|
||||||
|
backgroundcolor=\color{ltgy}
|
||||||
|
}
|
||||||
|
|
||||||
|
\lstdefinelanguage{customvhdl}[]{VHDL}{
|
||||||
|
morekeywords=[2]{std_logic, std_logic_vector, natural, integer, bit, string},
|
||||||
}
|
}
|
||||||
|
|
||||||
\lstdefinestyle{vhdlstyle}{
|
\lstdefinestyle{vhdlstyle}{
|
||||||
style=default,
|
language=customvhdl,
|
||||||
language=customvhdl,
|
belowcaptionskip=1\baselineskip,
|
||||||
keywordstyle=[2]\bfseries\color{blue!80!white},
|
keywordstyle=\bfseries\color{green!40!black},
|
||||||
backgroundcolor=\color{lightgray!20},
|
keywordstyle=[2]\bfseries\color{blue!80!white},
|
||||||
frame=lrtb,
|
commentstyle=\itshape\color{purple},
|
||||||
|
backgroundcolor=\color{lightgray!20},
|
||||||
|
stringstyle=\color{orange},
|
||||||
|
xleftmargin=\parindent,
|
||||||
|
title=\lstname,
|
||||||
}
|
}
|
||||||
|
|
||||||
\lstset{
|
\lstset{
|
||||||
style=vhdlstyle,
|
style=default,
|
||||||
|
literate={ö}{{\"o}}1
|
||||||
|
{ä}{{\"a}}1
|
||||||
|
{ü}{{\"u}}1
|
||||||
|
{Ö}{{\"O}}1
|
||||||
|
{Ä}{{\"A}}1
|
||||||
|
{Ü}{{\"U}}1
|
||||||
|
}
|
||||||
|
%% fix minus sign conflict with listings and breqn
|
||||||
|
\mathchardef\hyphenmathcode=\mathcode`\-
|
||||||
|
\let\origlstlisting=\lstlisting
|
||||||
|
\let\endoriglstlisting=\endlstlisting
|
||||||
|
\renewenvironment{lstlisting}
|
||||||
|
{\mathcode`\-=\hyphenmathcode
|
||||||
|
\everymath{}\mathsurround=0pt\origlstlisting}
|
||||||
|
{\endoriglstlisting}
|
||||||
|
|
||||||
|
\usepackage{fancyhdr}
|
||||||
|
%\usepackage{framed} %'\begin{framed}' ... '\end{framed}', schautAusWiePartezettel:-)
|
||||||
|
\usepackage{hyphenat} %fuer '\hyph{}'
|
||||||
|
\usepackage{lastpage} %fuer '\pageref{LastPage}' - **funzt nid bei allen**
|
||||||
|
\usepackage[hyphens]{url} %fuer '\url{...}'
|
||||||
|
|
||||||
|
% lscape oder pdflscape: ('landscape' == Querformat)
|
||||||
|
\usepackage{lscape}
|
||||||
|
%\usepackage{pdflscape}
|
||||||
|
\usepackage{rotating} %f. 'rotate' und 'turn'
|
||||||
|
\usepackage[active]{pst-pdf}
|
||||||
|
\usepackage{pst-circ}
|
||||||
|
\usepackage{pst-plot}
|
||||||
|
\usepackage{pst-uml}
|
||||||
|
%\usepackage{calc}
|
||||||
|
\usepackage{fp}
|
||||||
|
%\usepackage[official]{eurosym}
|
||||||
|
\usepackage[gen]{eurosym}
|
||||||
|
|
||||||
|
% YHs Raender links 30mm rechts 25mm einstellen:
|
||||||
|
\setlength{\hoffset} {30mm-1in}
|
||||||
|
\setlength{\oddsidemargin}{0pt} %bei doppelseitigem Druck umstellen!
|
||||||
|
\setlength{\textwidth} {\paperwidth-55mm}
|
||||||
|
|
||||||
|
\setlength{\topmargin} {0pt}
|
||||||
|
\addtolength{\voffset} {-16.2mm}
|
||||||
|
\addtolength{\textheight}{39mm}
|
||||||
|
|
||||||
|
%\setcounter{tocdepth}{4} %bringt auch 'paragraph{titel}' ins Inhaltsverzeichnis
|
||||||
|
%
|
||||||
|
\definecolor{ydkbu}{rgb}{0.0,0.0,0.6} % YHs blaue Schriftfarb
|
||||||
|
\newcommand{\yhbu}[0]{\color{ydkbu}} % Macro fuer schreibfaulen XH
|
||||||
|
%\newcommand{\yhbu}[0]{\color{ydkbu}\usefont{T1}{laess}{m}{n}} % Macro fuer schreibfaulen XH
|
||||||
|
\definecolor{corrclr}{rgb}{0.7,0.2,0.2} % XHs Korrekturen-Farb ...
|
||||||
|
\newcommand{\korr}[0]{\color{corrclr}\fontsize{8pt}{9pt}\selectfont\bf} %plus Faulheitsmacro
|
||||||
|
\makeindex
|
||||||
|
|
||||||
|
%%% BibLaTeX settings
|
||||||
|
\usepackage[style = verbose, dashed=false, citestyle = authoryear-ibid, maxcitenames=1]{biblatex}
|
||||||
|
\usepackage{csquotes}
|
||||||
|
%\addbibresource{./bibliographies/MR.bib}
|
||||||
|
\DeclareNameAlias{sortname}{family-given}
|
||||||
|
\renewcommand\multinamedelim{;\ }
|
||||||
|
\renewcommand\finalnamedelim{;\ }
|
||||||
|
\renewcommand\intitlepunct{:\ }
|
||||||
|
\renewcommand\labelnamepunct{:\ }
|
||||||
|
\DeclareFieldFormat{title}{#1} %title not italic
|
||||||
|
%\bibnamedash
|
||||||
|
%\renewcommand\newunitpunct{OWO}
|
||||||
|
|
||||||
|
\usepackage{float} % Allows the H floating option
|
||||||
|
\usepackage{tabularx} % Allows the H floating option
|
||||||
|
\usepackage[headheight=0mm, margin=2.5cm]{geometry}
|
||||||
|
%%% MR-packages:
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\hypersetup{
|
||||||
|
pdfauthor={Daniel Plank, Armin Brauns},
|
||||||
|
pdftitle=YARM,
|
||||||
|
pdfproducer=5ABHEL,
|
||||||
|
bookmarks=true,
|
||||||
|
pdfcreator=xelatex,
|
||||||
}
|
}
|
||||||
|
|
||||||
\usepackage{biblatex}
|
\usepackage{tikz,pgfplots}
|
||||||
|
\usetikzlibrary{plotmarks}
|
||||||
|
\usetikzlibrary{angles,quotes,babel,shapes,arrows,positioning,calc}
|
||||||
|
\usepackage{tikz-timing}
|
||||||
|
\tikzset{
|
||||||
|
block/.style = {draw, fill=white, rectangle, minimum height=3em, minimum width=3em,align=center},
|
||||||
|
tmp/.style = {coordinate},
|
||||||
|
sum/.style= {draw, fill=white, circle, node distance=1cm},
|
||||||
|
input/.style = {coordinate},
|
||||||
|
output/.style= {coordinate},
|
||||||
|
pinstyle/.style = {pin edge={to-,thin,black}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
% https://www.overleaf.com/learn/latex/LaTeX_Graphics_using_TikZ:_A_Tutorial_for_Beginners_(Part_3)%E2%80%94Creating_Flowcharts
|
||||||
|
\tikzstyle{startstop} = [rectangle, rounded corners, minimum width=3cm, minimum
|
||||||
|
height=1cm,align=center, text width=3cm, draw=black, fill=red!30]
|
||||||
|
\tikzstyle{io} = [trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm,
|
||||||
|
minimum height=1cm, align=center, text width=3cm, draw=black, fill=blue!30]
|
||||||
|
\tikzstyle{process} = [rectangle, minimum width=3cm, minimum height=1cm, align=center, text width=3cm, draw=black, fill=orange!30]
|
||||||
|
\tikzstyle{decision} = [diamond, minimum width=3cm, minimum height=1cm, align=center, text width=3cm, draw=black, fill=green!30]
|
||||||
|
\tikzstyle{arrow} = [thick,->,>=latex]
|
||||||
|
|
||||||
|
\usepackage[european, straightvoltages]{circuitikz}
|
||||||
|
\usepackage[per-mode=fraction]{siunitx}
|
||||||
|
\usepackage{breqn}
|
||||||
|
\usepackage{physics}
|
||||||
|
\usepackage{caption}
|
||||||
|
\usepackage{slashed}
|
||||||
|
\input kvmacros
|
||||||
|
\usepackage{mdframed}
|
||||||
|
\usepackage{lipsum}
|
||||||
|
\usepackage{blindtext}
|
||||||
|
\usepackage{pgfgantt}
|
||||||
|
|
||||||
|
%%% Title formatting
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\titleformat{\section}{\normalfont\bfseries\scshape\fontsize{16pt}{19pt}\selectfont}{\thesection}{1em}{}
|
||||||
|
%%% ToC formatting
|
||||||
|
\usepackage{tocloft}
|
||||||
|
\renewcommand{\cftloftitlefont}{\section}
|
||||||
|
\renewcommand{\cftlottitlefont}{\section}
|
||||||
|
\renewcommand{\cftsecfont}{}
|
||||||
|
\renewcommand\cftsubsecdotsep{.2}
|
||||||
|
\renewcommand{\cftsecleader}{\cftdotfill{\cftsubsecdotsep}}
|
||||||
|
\setlength\cftbeforesecskip{3.84pt}
|
||||||
|
\setlength\cftsubsecindent{4.2mm}
|
||||||
|
% command for regular footer in ToC
|
||||||
|
\fancypagestyle{plain}{%
|
||||||
|
\fancyhf{}
|
||||||
|
\fancyhead[L]{\HtlHeader}
|
||||||
|
\fancyfoot[L]{Brauns, Plank}
|
||||||
|
\fancyfoot[R]{\thepage}
|
||||||
|
\setlength{\headwidth}{1.0\textwidth}
|
||||||
|
\setlength{\headheight}{12mm}
|
||||||
|
\renewcommand{\headrulewidth}{0.0pt}
|
||||||
|
\renewcommand{\footrulewidth}{0.33pt}
|
||||||
|
}
|
||||||
|
|
||||||
|
% make listoflistings its own section
|
||||||
|
\usepackage{tocbasic}
|
||||||
|
\addtotoclist[float]{lol}
|
||||||
|
\renewcommand*\lstlistoflistings{\listoftoc[{\lstlistlistingname}]{lol}}
|
||||||
|
\DeclareTOCStyleEntry[
|
||||||
|
level=1,
|
||||||
|
indent=1.5em,
|
||||||
|
numwidth=2.3em
|
||||||
|
]{default}{listing}
|
||||||
|
\doforeachtocfile[float]{%
|
||||||
|
\setuptoc{#1}{numbered}%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
%/* Xh Macros: */
|
||||||
|
\newcommand{\cmnt}[1]{} %eigene Kommentier-Funktion \cmnt{ ...Kommentar... }
|
||||||
|
\newcommand\tbs{\textbackslash} %'\textbackslash{}' isma z'long zan tippen ;-)
|
||||||
|
\newcommand{\xilist}[6]{ %XHs eigenes Auflistungs-Format
|
||||||
|
\noindent\\[#3mm]\protect\begin{list}{#1}{\setlength\topsep{-4mm}%
|
||||||
|
\setlength\partopsep{-1.0mm}\setlength\itemsep{#4mm}\setlength\leftmargin{#2mm}%
|
||||||
|
\setlength\itemindent{-0.0mm}\setlength{\baselineskip}{0.9\baselineskip} }%
|
||||||
|
#6%
|
||||||
|
\protect\end{list}\hfill\\[#5mm]%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
%/* Line Spacing: */
|
||||||
|
\usepackage{setspace}
|
||||||
|
% \newcommand{\mylinespacing}[0]{\singlespace} % 1,0-ZeilenAbstand
|
||||||
|
\newcommand{\mylinespacing}[0]{\onehalfspace} % 1,5-ZeilenAbstand
|
||||||
|
% \newcommand{\mylinespacing}[0]{\doublespace} % 2,0-ZeilenAbstand
|
||||||
|
|
||||||
|
|
||||||
|
%/* serifenlose Schrift-Grundeinstellung: */
|
||||||
|
% /*Font Family:*/
|
||||||
|
%\renewcommand*{\familydefault}{\rmdefault} %klassisches 'Roman' (statt MicroMurx...)
|
||||||
|
\renewcommand*{\familydefault}{\sfdefault} %klassisches 'Helvetica' statt 'Murx-Arial'
|
||||||
|
|
||||||
|
%%% Autoren:
|
||||||
|
\newcommand\AB{\lfoot{Armin Brauns}}
|
||||||
|
\newcommand\DP{\lfoot{Daniel Plank}}
|
||||||
|
\newcommand\allAuth{\lfoot{Brauns, Plank}}
|
||||||
|
|
||||||
|
\newcommand\TikZ{Ti\textit{k}Z}
|
||||||
|
|
||||||
|
\newcommand{\HtlHeader}[0]{%
|
||||||
|
%\hspace*{-11mm}%
|
||||||
|
%\raisebox{-1mm}{\logoB{0.12}}%
|
||||||
|
{
|
||||||
|
\includesvg[width=10.3mm]{pics/logoBpdf.svg}
|
||||||
|
}
|
||||||
|
\hspace*{2mm}%
|
||||||
|
\parbox[b]{110mm}{\flushleft
|
||||||
|
{\fontsize{20pt}{20pt}\selectfont\bf HTL}
|
||||||
|
{\fontsize{16.2pt}{16.2pt}\selectfont\color{teal}\bf Anichstra\ss e}
|
||||||
|
\\[-4.05mm]{\color{darkgray}\rule{110mm}{0.5pt}}
|
||||||
|
\\[-2.24mm]{\fontsize{7pt}{7pt}\selectfont\color{darkgray}
|
||||||
|
Biomedizin $\cdot$ Elektronik $\cdot$ Elektrotechnik
|
||||||
|
$\cdot$
|
||||||
|
Maschinenbau $\cdot$ Wirtschaftsingenieure
|
||||||
|
\rule{0pt}{0mm}
|
||||||
|
%\vspace*{1.1mm}
|
||||||
|
}
|
||||||
|
}%
|
||||||
|
\hspace*{5mm}%
|
||||||
|
\raisebox{-0.2mm}{ \includegraphics[width=25mm]{pics/HTLgenlogo02}}
|
||||||
|
\\[-1.5mm]\rule{\textwidth}{0.5pt}
|
||||||
|
%\hfill
|
||||||
|
}%HtlHeader
|
||||||
|
|
||||||
\addbibresource{Diplomschrift.bib}
|
\addbibresource{Diplomschrift.bib}
|
||||||
|
|
||||||
\usepackage{titling}
|
\usepackage{titling}
|
||||||
\usepackage{graphicx}
|
|
||||||
\usepackage{lastpage}
|
|
||||||
\usepackage{datetime}
|
\usepackage{datetime}
|
||||||
\yyyymmdddate
|
\yyyymmdddate
|
||||||
\renewcommand{\dateseparator}{-}
|
\renewcommand{\dateseparator}{-}
|
||||||
|
|
||||||
\usepackage{titlesec}
|
|
||||||
\usepackage{fancyhdr}
|
|
||||||
|
|
||||||
\usepackage{pst-uml}
|
|
||||||
\setlength{\hoffset}{30mm-1in}
|
|
||||||
\setlength{\oddsidemargin}{0pt}
|
|
||||||
\setlength{\textwidth}{\paperwidth-60mm}
|
|
||||||
\addtolength{\textheight}{5em}
|
|
||||||
|
|
||||||
\setlength{\headwidth}{\textwidth}
|
|
||||||
|
|
||||||
\setlength{\topmargin}{0pt}
|
|
||||||
\addtolength{\voffset}{-1em}
|
|
||||||
|
|
||||||
\setlength{\parindent}{0pt}
|
\setlength{\parindent}{0pt}
|
||||||
\setlength{\parskip}{1em}
|
\setlength{\parskip}{1em}
|
||||||
|
|
||||||
\usepackage{footnote}
|
\usepackage{footnote}
|
||||||
\usepackage{tikz}
|
|
||||||
|
|
||||||
\newcommand\instrset{rv32i}
|
\newcommand\instrset{rv32i}
|
||||||
|
|
||||||
\newcommand{\entityheader}[2]{
|
\newcommand{\entityheader}[2]{
|
||||||
\lstinputlisting[title=\texttt{#2}]{#1}
|
\lstinputlisting[style=vhdlstyle,title=\texttt{#2}]{#1}
|
||||||
}
|
}
|
||||||
|
|
||||||
\usepackage{tcolorbox}
|
\usepackage{tcolorbox}
|
||||||
|
|
||||||
\newtcbox{\codeBox}[1][gray]{
|
\newtcbox{\codeBox}[1][gray]{
|
||||||
on line,
|
on line,
|
||||||
arc=2pt,
|
arc=2pt,
|
||||||
colback=black!5,
|
colback=black!5,
|
||||||
colupper=black!80,
|
colupper=black!80,
|
||||||
colframe=black!20,
|
colframe=black!20,
|
||||||
before upper={
|
before upper={
|
||||||
\rule[-3pt]{0pt}{10pt}
|
\rule[-3pt]{0pt}{10pt}
|
||||||
},
|
},
|
||||||
boxrule=1pt,
|
boxrule=1pt,
|
||||||
boxsep=0pt,
|
boxsep=0pt,
|
||||||
left=3pt,
|
left=3pt,
|
||||||
right=3pt,
|
right=3pt,
|
||||||
top=2pt,
|
top=2pt,
|
||||||
bottom=0pt
|
bottom=0pt
|
||||||
}
|
}
|
||||||
\newcommand{\icode}[1]{\codeBox{\texttt{#1}}}
|
\newcommand{\icode}[1]{\codeBox{\texttt{#1}}}
|
||||||
|
|
||||||
% loaded last
|
|
||||||
\usepackage{hyperref}
|
|
||||||
|
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
18
sections/core/entities/alu_entity.vhd
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
entity alu is
|
||||||
|
port (
|
||||||
|
clk : in std_logic;
|
||||||
|
|
||||||
|
enable_math : in std_logic;
|
||||||
|
valid : out std_logic;
|
||||||
|
operation : in alu_operation_t;
|
||||||
|
a, b : in yarm_word;
|
||||||
|
math_result : out yarm_word;
|
||||||
|
|
||||||
|
-- compare inputs
|
||||||
|
-- do signed comparisons
|
||||||
|
enable_cmp : in std_logic;
|
||||||
|
cmp_signed : in std_logic;
|
||||||
|
cmp1, cmp2 : in yarm_word;
|
||||||
|
cmp_result : out compare_result_t
|
||||||
|
);
|
||||||
|
end alu;
|
54
sections/core/entities/control_entity.vhd
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
entity control is
|
||||||
|
generic (
|
||||||
|
RESET_VECTOR : yarm_word
|
||||||
|
);
|
||||||
|
port (
|
||||||
|
clk : in std_logic;
|
||||||
|
reset : in std_logic;
|
||||||
|
|
||||||
|
fetch_enable : out std_logic;
|
||||||
|
fetch_ready : in std_logic;
|
||||||
|
fetch_instr_out : in yarm_word;
|
||||||
|
|
||||||
|
decoder_enable : out std_logic;
|
||||||
|
decoder_instr_info_out : in instruction_info_t;
|
||||||
|
|
||||||
|
registers_data_a : in yarm_word;
|
||||||
|
registers_data_b : in yarm_word;
|
||||||
|
|
||||||
|
alu_enable_math : out std_logic;
|
||||||
|
alu_math_result : in yarm_word;
|
||||||
|
alu_valid : in std_logic;
|
||||||
|
alu_enable_cmp : out std_logic;
|
||||||
|
alu_cmp_result : in compare_result_t;
|
||||||
|
|
||||||
|
csr_enable : out std_logic;
|
||||||
|
csr_ready : in std_logic;
|
||||||
|
csr_data_read : in yarm_word;
|
||||||
|
csr_increase_instret : out std_logic;
|
||||||
|
|
||||||
|
datamem_enable : out std_logic;
|
||||||
|
datamem_ready : in std_logic;
|
||||||
|
|
||||||
|
alignment_raise_exc : out std_logic;
|
||||||
|
alignment_exc_data : out exception_data_t;
|
||||||
|
|
||||||
|
registers_read_enable : out std_logic;
|
||||||
|
registers_write_enable : out std_logic;
|
||||||
|
|
||||||
|
-- TRAP CONTROL
|
||||||
|
|
||||||
|
may_interrupt : out std_logic;
|
||||||
|
-- the stage that will receive an interrupt exception
|
||||||
|
interrupted_stage : out pipeline_stage_t;
|
||||||
|
|
||||||
|
do_trap : in std_logic;
|
||||||
|
trap_vector : in yarm_word;
|
||||||
|
|
||||||
|
trap_return_vec : in yarm_word;
|
||||||
|
return_trap : out std_logic;
|
||||||
|
|
||||||
|
-- instruction info records used as input for the respective stages
|
||||||
|
stage_inputs : out pipeline_frames_t
|
||||||
|
);
|
||||||
|
end control;
|
23
sections/core/entities/core_entity.vhd
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
entity core is
|
||||||
|
generic (
|
||||||
|
HART_ID : natural;
|
||||||
|
RESET_VECTOR : yarm_word := (others => '0')
|
||||||
|
);
|
||||||
|
port (
|
||||||
|
clk : in std_logic;
|
||||||
|
reset : in std_logic;
|
||||||
|
|
||||||
|
-- little-endian memory interface, 4 byte address alignment
|
||||||
|
MEM_addr : out yarm_word;
|
||||||
|
MEM_read : out std_logic;
|
||||||
|
MEM_write : out std_logic;
|
||||||
|
MEM_ready : in std_logic;
|
||||||
|
MEM_byte_enable : out std_logic_vector(3 downto 0);
|
||||||
|
MEM_data_read : in yarm_word;
|
||||||
|
MEM_data_write : out yarm_word;
|
||||||
|
|
||||||
|
external_int : in std_logic;
|
||||||
|
timer_int : in std_logic;
|
||||||
|
software_int : in std_logic
|
||||||
|
);
|
||||||
|
end core;
|
36
sections/core/entities/csr_entity.vhd
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
entity csr is
|
||||||
|
generic (
|
||||||
|
HART_ID : integer
|
||||||
|
);
|
||||||
|
port (
|
||||||
|
clk : in std_logic;
|
||||||
|
reset : in std_logic;
|
||||||
|
enable : in std_logic;
|
||||||
|
ready : out std_logic;
|
||||||
|
|
||||||
|
instr_info_in : in instruction_info_t;
|
||||||
|
data_write : in yarm_word;
|
||||||
|
data_read : out yarm_word;
|
||||||
|
|
||||||
|
increase_instret : in std_logic;
|
||||||
|
|
||||||
|
external_int : in std_logic;
|
||||||
|
timer_int : in std_logic;
|
||||||
|
software_int : in std_logic;
|
||||||
|
|
||||||
|
interrupts_pending : out yarm_word;
|
||||||
|
interrupts_enabled : out yarm_word;
|
||||||
|
global_int_enabled : out std_logic;
|
||||||
|
mtvec_out : out yarm_word;
|
||||||
|
mepc_out : out yarm_word;
|
||||||
|
|
||||||
|
do_trap : in std_logic;
|
||||||
|
return_m_trap : in std_logic;
|
||||||
|
mepc_in : in yarm_word;
|
||||||
|
mcause_in : in yarm_trap_cause;
|
||||||
|
mtval_in : in yarm_word;
|
||||||
|
|
||||||
|
raise_exc : out std_logic;
|
||||||
|
exc_data : out exception_data_t
|
||||||
|
);
|
||||||
|
end csr;
|
21
sections/core/entities/decoder_entity.vhd
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
entity decoder is
|
||||||
|
port (
|
||||||
|
clk : in std_logic;
|
||||||
|
enable : in std_logic;
|
||||||
|
|
||||||
|
async_addr_rs1 : out register_addr_t;
|
||||||
|
async_addr_rs2 : out register_addr_t;
|
||||||
|
|
||||||
|
alu_muxsel_a : out mux_selector_t;
|
||||||
|
alu_muxsel_b : out mux_selector_t;
|
||||||
|
alu_muxsel_cmp2 : out mux_selector_t;
|
||||||
|
|
||||||
|
csr_muxsel_in : out mux_selector_t;
|
||||||
|
|
||||||
|
instr_info_in : in instruction_info_t;
|
||||||
|
instr_info_out : out instruction_info_t;
|
||||||
|
|
||||||
|
raise_exc : out std_logic;
|
||||||
|
exc_data : out exception_data_t
|
||||||
|
);
|
||||||
|
end decoder;
|
36
sections/core/entities/exception_control_entity.vhd
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
entity exception_control is
|
||||||
|
port (
|
||||||
|
clk : in std_logic;
|
||||||
|
|
||||||
|
fetch_raise_exc : in std_logic;
|
||||||
|
fetch_exc_data : in exception_data_t;
|
||||||
|
|
||||||
|
-- synchronous exceptions
|
||||||
|
decoder_raise_exc : in std_logic;
|
||||||
|
decoder_exc_data : in exception_data_t;
|
||||||
|
|
||||||
|
csr_raise_exc : in std_logic;
|
||||||
|
csr_exc_data : in exception_data_t;
|
||||||
|
|
||||||
|
alignment_raise_exc : in std_logic;
|
||||||
|
alignment_exc_data : in exception_data_t;
|
||||||
|
|
||||||
|
datamem_raise_exc : in std_logic;
|
||||||
|
datamem_exc_data : in exception_data_t;
|
||||||
|
|
||||||
|
-- interrupts
|
||||||
|
global_int_enabled : in std_logic;
|
||||||
|
interrupts_enabled : in yarm_word;
|
||||||
|
interrupts_pending : in yarm_word;
|
||||||
|
|
||||||
|
-- stage inputs for return address + trap value (instruction)
|
||||||
|
stage_inputs : in pipeline_frames_t;
|
||||||
|
interrupted_stage : in pipeline_stage_t;
|
||||||
|
|
||||||
|
may_interrupt : in std_logic;
|
||||||
|
do_trap : out std_logic;
|
||||||
|
trap_cause : out yarm_trap_cause;
|
||||||
|
trap_address : out yarm_word;
|
||||||
|
trap_value : out yarm_word
|
||||||
|
);
|
||||||
|
end exception_control;
|
16
sections/core/entities/memctl_entity.vhd
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
entity memctl is
|
||||||
|
port (
|
||||||
|
addr : in yarm_word;
|
||||||
|
-- data width
|
||||||
|
data_width : in datum_width_t;
|
||||||
|
-- perfom sign extension when reading short data
|
||||||
|
sign_extend : in std_logic;
|
||||||
|
data_read : out yarm_word;
|
||||||
|
data_write : in yarm_word;
|
||||||
|
|
||||||
|
MEM_addr : out yarm_word;
|
||||||
|
MEM_byte_enable : out std_logic_vector(3 downto 0);
|
||||||
|
MEM_data_read : in yarm_word;
|
||||||
|
MEM_data_write : out yarm_word
|
||||||
|
);
|
||||||
|
end memctl;
|
31
sections/core/entities/memory_arbiter_entity.vhd
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
entity memory_arbiter is
|
||||||
|
port (
|
||||||
|
clk : in std_logic;
|
||||||
|
reset : in std_logic;
|
||||||
|
|
||||||
|
fetch_enable : in std_logic;
|
||||||
|
fetch_ready : out std_logic;
|
||||||
|
fetch_address : in yarm_word;
|
||||||
|
fetch_instr_out : out yarm_word;
|
||||||
|
|
||||||
|
fetch_raise_exc : out std_logic;
|
||||||
|
fetch_exc_data : out exception_data_t;
|
||||||
|
|
||||||
|
datamem_enable : in std_logic;
|
||||||
|
datamem_ready : out std_logic;
|
||||||
|
datamem_instr_info_in : in instruction_info_t;
|
||||||
|
datamem_read_data : out yarm_word;
|
||||||
|
|
||||||
|
datamem_raise_exc : out std_logic;
|
||||||
|
datamem_exc_data : out exception_data_t;
|
||||||
|
|
||||||
|
-- little-endian memory interface, 4 byte address alignment
|
||||||
|
MEM_addr : out yarm_word;
|
||||||
|
MEM_read : out std_logic;
|
||||||
|
MEM_write : out std_logic;
|
||||||
|
MEM_ready : in std_logic;
|
||||||
|
MEM_byte_enable : out std_logic_vector(3 downto 0);
|
||||||
|
MEM_data_read : in yarm_word;
|
||||||
|
MEM_data_write : out yarm_word
|
||||||
|
);
|
||||||
|
end memory_arbiter;
|
20
sections/core/entities/multiplier_entity.vhd
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
entity multiplier is
|
||||||
|
generic (
|
||||||
|
-- A shorter than B: faster, but wider adder required
|
||||||
|
WIDTH_A : positive;
|
||||||
|
WIDTH_B : positive
|
||||||
|
|
||||||
|
--PARALLELISM : positive
|
||||||
|
);
|
||||||
|
port (
|
||||||
|
clk : in std_logic;
|
||||||
|
|
||||||
|
run : in std_logic;
|
||||||
|
valid : out std_logic;
|
||||||
|
mul_signed : in std_logic;
|
||||||
|
|
||||||
|
a : in std_logic_vector(WIDTH_A-1 downto 0);
|
||||||
|
b : in std_logic_vector(WIDTH_B-1 downto 0);
|
||||||
|
result : out std_logic_vector(WIDTH_A+WIDTH_B-1 downto 0)
|
||||||
|
);
|
||||||
|
end multiplier;
|
9
sections/core/entities/program_counter_entity.vhd
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
entity program_counter is
|
||||||
|
port (
|
||||||
|
clk : in std_logic;
|
||||||
|
reset : in std_logic;
|
||||||
|
operation : in pc_operation_t;
|
||||||
|
pc_in : in yarm_word;
|
||||||
|
pc_out : out yarm_word
|
||||||
|
);
|
||||||
|
end program_counter;
|
16
sections/core/entities/registers_entity.vhd
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
entity registers is
|
||||||
|
port (
|
||||||
|
clk : in std_logic;
|
||||||
|
|
||||||
|
read_enable : in std_logic;
|
||||||
|
write_enable : in std_logic;
|
||||||
|
|
||||||
|
addr_a : in register_addr_t;
|
||||||
|
addr_b : in register_addr_t;
|
||||||
|
addr_d : in register_addr_t;
|
||||||
|
|
||||||
|
data_a : out yarm_word;
|
||||||
|
data_b : out yarm_word;
|
||||||
|
data_d : in yarm_word
|
||||||
|
);
|
||||||
|
end registers;
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
|
@ -56,7 +56,7 @@ A somewhat recent development is the creation of Free Software\footnotemark{} FP
|
||||||
\footnotetext{``Free Software'' refers to software that grants its user the freedom to share, study and modify it - see \url{https://www.fsf.org/about/what-is-free-software}.}
|
\footnotetext{``Free Software'' refers to software that grants its user the freedom to share, study and modify it - see \url{https://www.fsf.org/about/what-is-free-software}.}
|
||||||
Since then, both yosys and place-and-route tools like nextpnr\cite{nextpnr} have matured, however Lattice's iCE40 and ECP5 remained the only supported FPGA architectures for place-and-route.
|
Since then, both yosys and place-and-route tools like nextpnr\cite{nextpnr} have matured, however Lattice's iCE40 and ECP5 remained the only supported FPGA architectures for place-and-route.
|
||||||
|
|
||||||
Thus, two obstacles remained for Free toolchains to be viable for this project: synthesizing \emph{from} VHDL code and synthesizing \emph{to} Artix-7 FPGAs. During the development of the project, both of these were solved: Tristan Gingold released ghdlsynth-beta\cite{ghdlsynth-beta}, a bridge between GHDL\cite{ghdl} and yosys allowing VHDL to be synthesized just the same as Verilog, and Dave Shah added Xilinx support to nextpnr\cite{nextpnr-xilinx}. The latter was preceded by many months of volunteer work reverse-engineering the Xilinx bitstream format as part of \textit{Project X-Ray}\cite{prjxray}.
|
Thus, two obstacles remained for Free toolchains to be viable for this project: synthesizing \emph{from} VHDL code and synthesizing \emph{to} Artix-7 FPGAs. During the development of the project, both of these were solved: Tristan Gingold released ghdlsynth-beta\parencite*{ghdlsynth-beta}, a bridge between GHDL\cite{ghdl} and yosys allowing VHDL to be synthesized just the same as Verilog, and Dave Shah added Xilinx support to nextpnr\cite{nextpnr-xilinx}. The latter was preceded by many months of volunteer work reverse-engineering the Xilinx bitstream format as part of \textit{Project X-Ray}\parencite*{prjxray}.
|
||||||
|
|
||||||
With these two pieces in place, the project was switched over to a completely Free toolchain, removing any depencies on vendor tools:
|
With these two pieces in place, the project was switched over to a completely Free toolchain, removing any depencies on vendor tools:
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ With these two pieces in place, the project was switched over to a completely Fr
|
||||||
\item yosys, with ghdl as a frontend for processing VHDL, is used to synthesize the design
|
\item yosys, with ghdl as a frontend for processing VHDL, is used to synthesize the design
|
||||||
\item nextpnr-xilinx, together with the Project X-Ray database, is used for place-and-route
|
\item nextpnr-xilinx, together with the Project X-Ray database, is used for place-and-route
|
||||||
\item tools from Project X-Ray are used to convert the routed design to a bitstream
|
\item tools from Project X-Ray are used to convert the routed design to a bitstream
|
||||||
\item xc3sprog is used to transfer the bitstream to the FPGA via JTAG
|
\item openFPGALoader is used to transfer the bitstream to the FPGA via JTAG
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\section{Peripherals}
|
\section{Peripherals}
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
@ -11,12 +11,13 @@ Other than a text editor, the following Free Software packages have to be instal
|
||||||
|
|
||||||
\begin{savenotes}
|
\begin{savenotes}
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[\icode{ghdl}\footnote{\url{https://github.com/ghdl/ghdl}}] to analyze, compile, and simulate the design
|
\item[\icode{ghdl}\cite{ghdl}] to analyze, compile, and simulate the design
|
||||||
\item[\icode{gtkwave}\footnote{\url{http://gtkwave.sourceforge.net/}}] to view the simulation waveform files
|
\item[\icode{gtkwave}\cite{gtkwave}] to view the simulation waveform files
|
||||||
\item[\icode{yosys}\footnote{\url{http://www.clifford.at/yosys/}}] to synthesize the design
|
\item[\icode{yosys}\cite{yosys}] to synthesize the design
|
||||||
\item[\icode{nextpnr-xilinx}\footnote{\url{https://github.com/daveshah1/nextpnr-xilinx}}] to place and route the design
|
\item[\icode{ghdlsynth-beta}\cite{yosys}] to synthesize the design
|
||||||
\item[\icode{Project X-Ray}\footnote{\url{https://github.com/SymbiFlow/prjxray}}] for FPGA layout data and bitstream tools
|
\item[\icode{nextpnr-xilinx}\cite{nextpnr-xilinx}] to place and route the design
|
||||||
\item[\icode{xc3sprog}\footnote{\url{https://sourceforge.net/projects/xc3sprog/}}] to load the bitstream onto the FPGA
|
\item[\icode{Project X-Ray}\cite{prjxray}] for FPGA layout data and bitstream tools
|
||||||
|
\item[\icode{openFPGALoader}\cite{open-fpga-loader}] to load the bitstream onto the FPGA
|
||||||
\end{description}
|
\end{description}
|
||||||
\end{savenotes}
|
\end{savenotes}
|
||||||
|
|
||||||
|
@ -24,15 +25,15 @@ Other than a text editor, the following Free Software packages have to be instal
|
||||||
|
|
||||||
A simple starting design is an up/down counter. The following VHDL code describes the device:
|
A simple starting design is an up/down counter. The following VHDL code describes the device:
|
||||||
|
|
||||||
\lstinputlisting[title=\texttt{counter.vhd}]{vhdl/counter.vhd}
|
\lstinputlisting[style=vhdlstyle,title=\texttt{counter.vhd}]{vhdl/counter.vhd}
|
||||||
|
|
||||||
In order to test this design, a test bench has to be created:
|
In order to test this design, a test bench has to be created:
|
||||||
|
|
||||||
\lstinputlisting[title=\texttt{counter\_tb.vhd}]{vhdl/counter_tb.vhd}
|
\lstinputlisting[style=vhdlstyle,title=\texttt{counter_tb.vhd}]{vhdl/counter_tb.vhd}
|
||||||
|
|
||||||
\section{Simulating a design}
|
\section{Simulating a design}
|
||||||
|
|
||||||
\begin{lstlisting}[style=default,language=sh]
|
\begin{lstlisting}[style=terminal]
|
||||||
# analyze the design files
|
# analyze the design files
|
||||||
ghdl -a --std=08 *.vhd
|
ghdl -a --std=08 *.vhd
|
||||||
# elaborate the test bench entity
|
# elaborate the test bench entity
|
||||||
|
@ -52,9 +53,9 @@ gtkwave counter_tb.ghw counter_tb.gtkw
|
||||||
|
|
||||||
An additional Xilinx Design Constraints (XDC) file is required to assign the signals to pins on the FPGA:
|
An additional Xilinx Design Constraints (XDC) file is required to assign the signals to pins on the FPGA:
|
||||||
|
|
||||||
\lstinputlisting[style=default,title=\texttt{counter.xdc}]{vhdl/counter.xdc}
|
\lstinputlisting[title=\texttt{counter.xdc}]{vhdl/counter.xdc}
|
||||||
|
|
||||||
\begin{lstlisting}[style=default,language=sh]
|
\begin{lstlisting}[style=terminal]
|
||||||
# synthesize with yosys
|
# synthesize with yosys
|
||||||
yosys -m ghdl.so -p '
|
yosys -m ghdl.so -p '
|
||||||
ghdl --std=08 counter.vhd -e counter;
|
ghdl --std=08 counter.vhd -e counter;
|
||||||
|
@ -67,7 +68,7 @@ fasm2frames.py --part xc7a35tcsg324-1 counter.fasm counter.frames
|
||||||
# convert the frames to a bitstream
|
# convert the frames to a bitstream
|
||||||
xc7frames2bit --part-name xc7a35tcsg324-1 --frm-file counter.frames --output-file counter.bit
|
xc7frames2bit --part-name xc7a35tcsg324-1 --frm-file counter.frames --output-file counter.bit
|
||||||
# upload the bitstream to the FPGA
|
# upload the bitstream to the FPGA
|
||||||
xc3sprog -c nexys4 counter.bit
|
openFPGALoader -b arty counter.bit
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
The current value of the counter is displayed in binary on the eight LEDs on the board. When switch 0 (enable) is in the high position, the counter can be advanced using button 0, with the direction set by switch 1. Button 1 resets the counter to zero.
|
The current value of the counter is displayed in binary on the eight LEDs on the board. When switch 0 (enable) is in the high position, the counter can be advanced using button 0, with the direction set by switch 1. Button 1 resets the counter to zero.
|