Commit e60706a2 authored by Javier Serrano's avatar Javier Serrano

Initial check in with files from Patrick, Natasa and Cesar.

parent b880afab
%\newif\ifpdf
\ifx\pdfoutput\undefined
\pdffalse % we are not running PDFLaTeX => normal DVI output
\else
\pdfoutput=1 % we are running PDFLaTeX
\pdfcompresslevel=9
\pdfinfo
{ /Title (Guidelines for VHDL Coding)
/Author (Patrick Loschmidt, Natasa Simanic, Cesar Prados)
/Subject (VHDL)}
%\pdftrue
\fi
%\ifx\pdfoutput\undefined
\documentclass[a4paper,pdftex,12pt]{article}
\usepackage[a4paper,pdftex=true]{hyperref}
%\else
% \documentclass[a4paper,12pt]{article}
% \usepackage[a4paper]{hyperref}
%\fi
\usepackage{a4wide}
\usepackage[latin1]{inputenc}
\usepackage{color,listings} % color code source code
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{units}
\usepackage{svn-multi} % use SVN keyword replacements
\svnid{$Id: VHDLcoding.tex 327 2009-04-21 10:51:34Z loschmidt $} % if replacement does not work set property 'svn:keywords' to 'Id'
\setlength{\parindent}{0pt}
\definecolor{darkgreen}{rgb}{0,0.5,0} % define new color dark green (50% green)
\definecolor{darkred}{rgb}{0.5,0,0} % define new color dark red (50% red)
\lstset{ language=VHDL, % set coding style to VHDL syntax
columns=fixed,
flexiblecolumns=false, % set fixed column width
basewidth=0.5em,
basicstyle=\ttfamily\footnotesize, % set fixed with font in small
keywordstyle=\color{blue},
commentstyle=\color{darkgreen},
identifierstyle=\color{black},
stringstyle=\color{darkred},
emph={std_logic, std_logic_vector, integer},
emphstyle={\color{cyan}}}
\hypersetup{linkcolor=blue,
urlcolor=blue,
citecolor=blue,
colorlinks=true,
breaklinks=false}
\date{\svnyear-\svnmonth-\svnday}
\author{Patrick Loschmidt$^{1}$, Nata$\check{s}$a Simani\'{c}$^{1}$, C\'{e}sar Prados$^{2}$\\
{\footnotesize
$^{1}$Research Unit for Integrated Sensor Systems, Austrian Academy of Sciences}\\
{\footnotesize \{Patrick.Loschmidt, Natasa.Simanic\}@OEAW.ac.at}\\
{\footnotesize
$^{2}$Gesellschaft fr Schwerionenforschung mbH, GSI}\\
{\footnotesize \ C.Prados@GSI.de}}
\title{Guidelines for VHDL Coding}
\begin{document}
\maketitle
\begin{abstract}
This is a summary of coding style rules which is intended to be a guideline for writing portable and readable VHDL code. Following these rules should result in better code quality or, at least, should make finding errors easier.
This version was printed on \today.
\end{abstract}
\newpage
\tableofcontents
\clearpage
\section*{Changelog for rev. \svnrev}
\footnotesize
2009-04-21
\begin{itemize}
\item changed postfix for pulsed signals
\end{itemize}
2009-03-03
\begin{itemize}
\item Author info added
\item \emph{Doxygen} chapter modified
\end{itemize}
2003-02-19
\begin{itemize}
\item SVN revision number / date
\item \emph{Doxygen} and Changelog chapters added
\item Variables usage and placing component instantiation determined
\item Naming conventions extended
\item Combinational blocks template added
\end{itemize}
2009-02-08
\begin{itemize}
\item Minor text corrections
\item Upper case naming convention changed
\end{itemize}
2008-12-19
\begin{itemize}
\item Initial release
\end{itemize}
\normalsize
\clearpage
\include{conventions}
\clearpage
\include{rules}
\clearpage
\begin{appendix}
\begin{flushleft}
\begin{thebibliography}{VHDL01}
\bibitem[ESA94]{ESA94}\emph{R. Creasey, R. Coirault, P. Sinander}: VHDL Modelling Guidelines,
\url{ftp://ftp.estec.esa.nl/pub/vhdl/doc/ModelGuide.pdf}, September 1994
\bibitem[Cad00]{Cad00}\emph{Gerhard R. Cadek}: HDL Coding Style Rules,
\url{http://agcad.ict.tuwien.ac.at/info/hdl_gesamt/hdlcoding/hdlcoding.htm}, 10 September 2000
\bibitem[OC01]{OC01}\emph{Yair Amitay, Jamil Khatib, Damjan Lampret}: OpenCores Coding Guidelines,
\url{http://www.opencores.org/cvsweb.shtml/common/opencores_coding_guidelines.pdf}, 24 October 2001
\bibitem[Kha00]{Kha00}\emph{Jamil Khatib}: VHDL Coding Style,
\url{http://www.opencores.org/OIPC/projects/vhdl_style.html}, 2000
\bibitem[VHDL01]{VHDL01}\emph{comp.lang.vhdl}: Frequently Asked Questions And Answers,
\url{http://vhdl.org/comp.lang.vhdl}, 3 November 2001
\bibitem[COM10]{COM10}\emph{Peter Chambers}: The Ten Commandments of Excellent Design-VHDL Code
Examples,
\url{http://www.bawankule.com/verilogcenter/files/10\_2.pdf}
\bibitem[CERN]{CERN}\emph{Pablo Alvarez Sanchez}: VHDL guidelines,
\url{https://espace.cern.ch/ab-co-timing/hw-project/VHDL\%20guidelines/Home.aspx}
\bibitem[DXGN]{DXGN}\emph{doxygen} website,
\url{www.doxygen.org}
\end{thebibliography}
\end{flushleft}
\end{appendix}
\end{document}
\section{Conventions}
A lot of cross references are used because they make it easier to find other corresponding parts within the document. A link looks like ``($\rightarrow$ \ref{fonts})'' and always belongs to the word(s) right before it.
Further, this document distinguishes between different types of rules. An explanation of these types and the appropriate symbol is shown in table \ref{tab:ruleTypes}.\\
\begin{table}[htb]
\begin{center}
\begin{tabular}{lll}
\toprule
symbol & type & description\\
\midrule
(*) & important & This rule should be followed in any case.\\
(x) & recommended & Coding and reading is a lot easier with this rule.\\
(o) & practical & Your code quality will improve using the rule.\\
none & hints & Just giving you an idea of how it could be.\\
\bottomrule
\end{tabular}
\end{center}
\caption{Rule types}
\label{tab:ruleTypes}
\end{table}
\ No newline at end of file
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment