init aus gzip
authorBernhard Urban <lewurm@gmx.net>
Thu, 15 Oct 2009 18:05:21 +0000 (20:05 +0200)
committerBernhard Urban <lewurm@gmx.net>
Thu, 15 Oct 2009 18:05:21 +0000 (20:05 +0200)
94 files changed:
bsp1/Angabe/dide_16.sof [new file with mode: 0644]
bsp1/Angabe/dide_16_1.txt [new file with mode: 0644]
bsp1/Protokolle/DigitalDesign_prot.sty [new file with mode: 0644]
bsp1/Protokolle/DigitalDesign_prot.tex [new file with mode: 0644]
bsp1/Protokolle/chapter1.tex [new file with mode: 0644]
bsp1/Protokolle/chapter2.tex [new file with mode: 0644]
bsp1/Protokolle/chapter3.tex [new file with mode: 0644]
bsp1/Protokolle/chapter4.tex [new file with mode: 0644]
bsp1/Protokolle/prot_1.txt [new file with mode: 0644]
bsp1/Protokolle/prot_2.txt [new file with mode: 0644]
bsp1/Protokolle/prot_4.txt [new file with mode: 0644]
bsp2/Angabe/board_driver_arc.vhd [new file with mode: 0644]
bsp2/Angabe/board_driver_ent.vhd [new file with mode: 0644]
bsp2/Angabe/dide_16_2.txt [new file with mode: 0644]
bsp2/Angabe/vga.hex [new file with mode: 0644]
bsp2/Angabe/vga_arc.vhd [new file with mode: 0644]
bsp2/Angabe/vga_beh_tb.vhd [new file with mode: 0644]
bsp2/Angabe/vga_control_arc.vhd [new file with mode: 0644]
bsp2/Angabe/vga_control_ent.vhd [new file with mode: 0644]
bsp2/Angabe/vga_driver_arc.vhd [new file with mode: 0644]
bsp2/Angabe/vga_driver_ent.vhd [new file with mode: 0644]
bsp2/Angabe/vga_ent.vhd [new file with mode: 0644]
bsp2/Angabe/vga_pak.vhd [new file with mode: 0644]
bsp2/Angabe/vga_pll.bdf [new file with mode: 0755]
bsp2/Angabe/vga_pll.tcl [new file with mode: 0755]
bsp2/Angabe/vga_pos_tb.vhd [new file with mode: 0644]
bsp2/Angabe/vga_pre_tb.vhd [new file with mode: 0644]
bsp2/Angabe/vpll.bsf [new file with mode: 0644]
bsp2/Angabe/vpll.vhd [new file with mode: 0644]
bsp2/Protokolle/DigitalDesign_prot.sty [new file with mode: 0644]
bsp2/Protokolle/DigitalDesign_prot.tex [new file with mode: 0644]
bsp2/Protokolle/chapter1.tex [new file with mode: 0644]
bsp2/Protokolle/chapter2.tex [new file with mode: 0644]
bsp2/Protokolle/chapter3.tex [new file with mode: 0644]
bsp2/Protokolle/chapter4.tex [new file with mode: 0644]
bsp2/Protokolle/prot_1.txt [new file with mode: 0644]
bsp2/Protokolle/prot_2.txt [new file with mode: 0644]
bsp2/Protokolle/prot_4.txt [new file with mode: 0644]
bsp3/Angabe/board_driver_arc.vhd [new file with mode: 0644]
bsp3/Angabe/board_driver_ent.vhd [new file with mode: 0644]
bsp3/Angabe/dide_16_3.txt [new file with mode: 0644]
bsp3/Angabe/vga_arc.vhd [new file with mode: 0755]
bsp3/Angabe/vga_beh_tb.vhd [new file with mode: 0644]
bsp3/Angabe/vga_beh_tb.vhd~ [new file with mode: 0644]
bsp3/Angabe/vga_control_arc.vhd [new file with mode: 0644]
bsp3/Angabe/vga_control_ent.vhd [new file with mode: 0644]
bsp3/Angabe/vga_driver_arc.vhd [new file with mode: 0644]
bsp3/Angabe/vga_driver_ent.vhd [new file with mode: 0644]
bsp3/Angabe/vga_ent.vhd [new file with mode: 0644]
bsp3/Angabe/vga_pak.vhd [new file with mode: 0644]
bsp3/Angabe/vga_pll.bdf [new file with mode: 0755]
bsp3/Angabe/vga_pll.tcl [new file with mode: 0755]
bsp3/Angabe/vga_pos_tb.vhd [new file with mode: 0644]
bsp3/Angabe/vga_pos_tb.vhd~ [new file with mode: 0644]
bsp3/Angabe/vga_pre_tb.vhd [new file with mode: 0644]
bsp3/Angabe/vga_pre_tb.vhd~ [new file with mode: 0644]
bsp3/Angabe/vpll.bsf [new file with mode: 0644]
bsp3/Angabe/vpll.vhd [new file with mode: 0644]
bsp3/Protokolle/DigitalDesign_prot.sty [new file with mode: 0644]
bsp3/Protokolle/DigitalDesign_prot.tex [new file with mode: 0644]
bsp3/Protokolle/chapter1.tex [new file with mode: 0644]
bsp3/Protokolle/chapter2.tex [new file with mode: 0644]
bsp3/Protokolle/chapter3.tex [new file with mode: 0644]
bsp3/Protokolle/chapter4.tex [new file with mode: 0644]
bsp3/Protokolle/prot_1.txt [new file with mode: 0644]
bsp3/Protokolle/prot_2.txt [new file with mode: 0644]
bsp3/Protokolle/prot_4.txt [new file with mode: 0644]
bsp4/Angabe/board_driver_arc.vhd [new file with mode: 0644]
bsp4/Angabe/board_driver_ent.vhd [new file with mode: 0644]
bsp4/Angabe/dide_16_4.txt [new file with mode: 0644]
bsp4/Angabe/vga.hex [new file with mode: 0644]
bsp4/Angabe/vga_arc.vhd [new file with mode: 0644]
bsp4/Angabe/vga_beh_tb.vhd [new file with mode: 0644]
bsp4/Angabe/vga_control_arc.vhd [new file with mode: 0644]
bsp4/Angabe/vga_control_ent.vhd [new file with mode: 0644]
bsp4/Angabe/vga_driver_arc.vhd [new file with mode: 0644]
bsp4/Angabe/vga_driver_ent.vhd [new file with mode: 0644]
bsp4/Angabe/vga_ent.vhd [new file with mode: 0644]
bsp4/Angabe/vga_pak.vhd [new file with mode: 0644]
bsp4/Angabe/vga_pll.bdf [new file with mode: 0755]
bsp4/Angabe/vga_pll.tcl [new file with mode: 0755]
bsp4/Angabe/vga_pos_tb.vhd [new file with mode: 0644]
bsp4/Angabe/vga_pre_tb.vhd [new file with mode: 0644]
bsp4/Angabe/vpll.bsf [new file with mode: 0644]
bsp4/Angabe/vpll.vhd [new file with mode: 0644]
bsp4/Protokolle/DigitalDesign_prot.sty [new file with mode: 0644]
bsp4/Protokolle/DigitalDesign_prot.tex [new file with mode: 0644]
bsp4/Protokolle/chapter1.tex [new file with mode: 0644]
bsp4/Protokolle/chapter2.tex [new file with mode: 0644]
bsp4/Protokolle/chapter3.tex [new file with mode: 0644]
bsp4/Protokolle/chapter4.tex [new file with mode: 0644]
bsp4/Protokolle/prot_1.txt [new file with mode: 0644]
bsp4/Protokolle/prot_2.txt [new file with mode: 0644]
bsp4/Protokolle/prot_4.txt [new file with mode: 0644]

diff --git a/bsp1/Angabe/dide_16.sof b/bsp1/Angabe/dide_16.sof
new file mode 100644 (file)
index 0000000..db16564
Binary files /dev/null and b/bsp1/Angabe/dide_16.sof differ
diff --git a/bsp1/Angabe/dide_16_1.txt b/bsp1/Angabe/dide_16_1.txt
new file mode 100644 (file)
index 0000000..a696cc9
--- /dev/null
@@ -0,0 +1 @@
+Koordinaten: (x,y) = (317,148)
diff --git a/bsp1/Protokolle/DigitalDesign_prot.sty b/bsp1/Protokolle/DigitalDesign_prot.sty
new file mode 100644 (file)
index 0000000..6cb3c1c
--- /dev/null
@@ -0,0 +1,225 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%                          DigitalDesign_app.sty
+%
+%                             Babak Rahbaran
+%                     (rahbaran@ecs.tuwien.ac.at)
+% 
+%                               14.07.03
+%
+%              Institut f"ur Technische Informatik (182/2) 
+%                          ECS Group
+%                     Technische Universit"at Wien 
+%                      1040 Treitlstr. 3, 2. Stk.
+%                      (www.ecs.tuwien.ac.at)
+% 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% packages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{fancyheadings}
+\usepackage{german}
+\usepackage{graphicx}
+\usepackage[latin1]{inputenc} %------- Umlaute im Text
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% user-defined commands
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% typeset pin numbers
+\newcommand{\pin}[1]{\emph{\textbf{#1}}\ }
+\renewcommand{\chaptername}{Aufgabe}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% some size definitions and counter settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\oddsidemargin 1cm
+\evensidemargin 1cm
+\topmargin 0pt
+\headsep 50pt
+\textheight 21.5cm
+\textwidth 14.1cm
+
+\renewcommand{\floatpagefraction}{0.9}
+\renewcommand{\textfraction}{0.05}
+\renewcommand{\topfraction}{1.0}
+\renewcommand{\bottomfraction}{1.0}
+
+\setcounter{totalnumber}{3}
+\setcounter{bottomnumber}{3}
+\setcounter{topnumber}{3}
+
+\setlength{\unitlength}{1mm}
+\setlength{\parindent}{6mm}
+\setlength{\parskip}{12pt plus2pt minus2pt}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% define variables used on titlepage
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% heading
+\def\headline#1{\gdef\@headline{#1}}
+% group number
+\def\groupnr#1{\gdef\@groupnr{#1}}
+% authors
+\def\vornamea#1{\gdef\@vornamea{#1}}
+\def\nachnamea#1{\gdef\@nachnamea{#1}}
+\def\matrikela#1{\gdef\@matrikela{#1}}
+\def\emaila#1{\gdef\@emaila{#1}}
+
+\def\vornameb#1{\gdef\@vornameb{#1}}
+\def\nachnameb#1{\gdef\@nachnameb{#1}}
+\def\matrikelb#1{\gdef\@matrikelb{#1}}
+\def\emailb#1{\gdef\@emailb{#1}}
+
+\def\vornamec#1{\gdef\@vornamec{#1}}
+\def\nachnamec#1{\gdef\@nachnamec{#1}}
+\def\matrikelc#1{\gdef\@matrikelc{#1}}
+\def\emailc#1{\gdef\@emailc{#1}}
+
+%\def\vornamed#1{\gdef\@vornamed{#1}}
+%\def\nachnamed#1{\gdef\@nachnamed{#1}}
+%\def\matrikeld#1{\gdef\@matrikeld{#1}}
+%\def\emaild#1{\gdef\@emaild{#1}}
+
+% address of department
+\def\address#1{\gdef\@address{#1}}
+% LVA-Nr.
+\def\lvanr#1{\gdef\@aufgabe{#1}}
+
+\setcounter{footnote}{0} 
+
+% initialize variables
+\gdef\@headline{Digital Design LU}            
+\gdef\@title{P r o t o k o l l}
+
+\gdef\@groupnr{00}
+
+\gdef\@vornamea{Vorname1}
+\gdef\@nachnamea{Nachname1}
+\gdef\@matrikela{0000000}
+\gdef\@emaila{a@æstudent.tuwien.ac.at}
+
+\gdef\@vornameb{Vorname2}
+\gdef\@nachnameb{Nachname2}
+\gdef\@matrikelb{0000000}
+\gdef\@emailb{b@æstudent.tuwien.ac.at}
+
+\gdef\@vornamec{Vorname3}
+\gdef\@nachnamec{Nachname3}
+\gdef\@matrikelc{0000000}
+\gdef\@emailc{c@student.tuwien.ac.at}
+
+%\gdef\@vornamed{Vorname4}
+%\gdef\@nachnamed{Nachname4}
+%\gdef\@matrikeld{0000000}
+%\gdef\@emaild{d@student.tuwien.ac.at}
+
+\gdef\@aufgabe{zu Aufgabe 1}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% titlepage
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\maketitle{
+\begin{titlepage}
+
+% enlarge page
+\setlength{\topmargin}{0pt}
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{0pt}
+\setlength{\footskip}{0pt}
+
+\let\footnotesize\small \let\footnoterule\relax \setcounter{page}{1}
+\null
+\vfill
+\large
+\vskip -4 cm 
+
+\begin{center}
+% heading
+{\LARGE\bf \@headline \par} \vskip 2cm
+
+\vskip 1cm
+
+% title
+{\Huge\bf\underline \@title \par} 
+\vskip 1cm
+%{\Large \bf \@aufgabe \par}
+\vskip 4cm
+
+\begin{flushright}
+Gruppe \@groupnr \par
+% authors
+\@vornamea \  \@nachnamea, Matr. Nr. \@matrikela \par
+{\small \@emaila \par}
+\@vornameb \  \@nachnameb, Matr. Nr. \@matrikelb \par
+{\small \@emailb \par}
+\@vornamec \  \@nachnamec, Matr. Nr. \@matrikelc \par
+{\small \@emailc \par}
+%\@vornamed \  \@nachnamed, Matr. Nr. \@matrikeld \par
+%{\small \@emaild \par}
+
+%\@authora \par
+%\@authorb \par
+%\@authorc \par
+%\@authord \par
+\vskip 1cm
+Wien, am~\today{}
+\end{flushright}
+\end{center} \par
+\vskip 1.5cm 
+
+\end{titlepage}
+
+\setcounter{footnote}{0} 
+\let\thanks\relax
+} % \def\maketitle
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newenvironment{Ventry}[1]%
+{\begin{list}{}{\renewcommand{\makelabel}[1]{\textbf{##1:}\hfill}%
+\settowidth{\labelwidth}{\textbf{#1:}}%
+\setlength{\leftmargin}{\labelwidth}%
+\addtolength{\leftmargin}{\labelsep}}}%
+{\end{list}}
+
+\newcommand{\tablesize}{\fontsize{8}{10}\selectfont}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% layout of non-title pages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\pagenumbering{roman}
+\setlength{\parskip}{5pt plus2pt minus2pt}
+
+\setlength{\parskip}{1mm}
+\clearpage
+\setlength{\parskip}{5pt plus2pt minus2pt}
+
+\pagestyle{fancy}
+\renewcommand{\chaptermark}[1]{\markboth{\thechapter\ #1}{}}
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}{}}
+\addtolength{\headheight}{2pt}
+
+\pagenumbering{arabic}
+\setcounter{page} {1}
diff --git a/bsp1/Protokolle/DigitalDesign_prot.tex b/bsp1/Protokolle/DigitalDesign_prot.tex
new file mode 100644 (file)
index 0000000..acbdaed
--- /dev/null
@@ -0,0 +1,36 @@
+
+\documentclass[12pt,a4paper,titlepage,oneside]{report}
+
+
+\usepackage{DigitalDesign_prot}
+\sloppy
+
+
+\begin{document}
+% create titlepage
+\maketitle
+
+% tables and lists
+%\tableofcontents
+%\newpage
+%\listoffigures
+%\newpage
+%\listoftables
+%\newpage
+
+% chapters
+\input{chapter1}
+\input{chapter2}
+\input{chapter3}
+\input{chapter4}
+
+% appendices
+%\appendix
+%\input{app1}
+
+% bibliography
+%\bibliographystyle{alpha}
+%\nocite{*}
+%\bibliography{DigitalDesign}
+
+\end{document}
diff --git a/bsp1/Protokolle/chapter1.tex b/bsp1/Protokolle/chapter1.tex
new file mode 100644 (file)
index 0000000..27f796e
--- /dev/null
@@ -0,0 +1,10 @@
+\chapter{Logikanalysator}
+
+
+\begin{itemize}
+\item Frequenz HSYNC =  Hz
+\item Frequenz VSYNC =  Hz
+\item Farbe Pixel = (r,g,b)
+\item Farbe Hintergrund = (r,g,b)
+\item x-Koordinate = 
+\end{itemize}
diff --git a/bsp1/Protokolle/chapter2.tex b/bsp1/Protokolle/chapter2.tex
new file mode 100644 (file)
index 0000000..a8ddc1a
--- /dev/null
@@ -0,0 +1,6 @@
+\chapter{Design-Flow}
+
+\begin{itemize}
+\item Blinkfrequenz =  Hz
+\end{itemize}
+
diff --git a/bsp1/Protokolle/chapter3.tex b/bsp1/Protokolle/chapter3.tex
new file mode 100644 (file)
index 0000000..c6bbec2
--- /dev/null
@@ -0,0 +1 @@
+\chapter{VHDL}
diff --git a/bsp1/Protokolle/chapter4.tex b/bsp1/Protokolle/chapter4.tex
new file mode 100644 (file)
index 0000000..4b1b7cc
--- /dev/null
@@ -0,0 +1,13 @@
+\chapter{Simulation und Test}
+
+\begin{itemize}
+\item File Syntaxfehler: 
+\item Zeilennummer Syntaxfehler: 
+
+\item File Semantikfehler 1: 
+\item Zeilennummer Semantikfehler 1: 
+
+\item File Semantikfehler 2: 
+\item Zeilennummer Semantikfehler 2: 
+\end{itemize}
+
diff --git a/bsp1/Protokolle/prot_1.txt b/bsp1/Protokolle/prot_1.txt
new file mode 100644 (file)
index 0000000..91a8a82
--- /dev/null
@@ -0,0 +1,6 @@
+
+Frequenz HSYNC = ___ ___ Hz 
+Frequenz VSYNC = ___ ___ Hz
+Farbe Pixel = (r,g,b)
+Farbe Hintergrund = (r,g,b)
+x-Koordinate = ___ ___
diff --git a/bsp1/Protokolle/prot_2.txt b/bsp1/Protokolle/prot_2.txt
new file mode 100644 (file)
index 0000000..da24c18
--- /dev/null
@@ -0,0 +1 @@
+blinker_max = ___ ___
diff --git a/bsp1/Protokolle/prot_4.txt b/bsp1/Protokolle/prot_4.txt
new file mode 100644 (file)
index 0000000..d45603d
--- /dev/null
@@ -0,0 +1,9 @@
+File Syntaxfehler: ___ ___
+Zeilennummer Syntaxfehler: ___ ___
+
+File Semantikfehler 1: ___ ___
+Zeilennummer Semantikfehler 1: ___ ___
+
+File Semantikfehler 2: ___ ___
+Zeilennummer Semantikfehler 2: ___ ___
+
diff --git a/bsp2/Angabe/board_driver_arc.vhd b/bsp2/Angabe/board_driver_arc.vhd
new file mode 100644 (file)
index 0000000..7636a37
--- /dev/null
@@ -0,0 +1,102 @@
+-------------------------------------------------------------------------------\r
+-- Title      : board_driver architecture\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : board_driver.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-12-15\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: display number on 7-segment display\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-12-15  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;\r
+\r
+-------------------------------------------------------------------------------\r
+-- ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
+\r
+\r
+architecture behav of board_driver is\r
+\r
+  attribute syn_preserve          : boolean;\r
+  attribute syn_preserve of behav : architecture is true;\r
+\r
+\r
+  signal   display_value  : std_logic_vector(2*BCD_WIDTH-1 downto 0);\r
+  signal   ten_value      : std_logic_vector(BCD_WIDTH-1 downto 0);\r
+  signal   one_value      : std_logic_vector(BCD_WIDTH-1 downto 0);\r
+  signal   digit_left     : std_logic_vector(SEG_WIDTH-1 downto 0);\r
+  signal   digit_right    : std_logic_vector(SEG_WIDTH-1 downto 0);\r
+\r
+begin\r
+\r
+  -----------------------------------------------------------------------------\r
+  -- generate control data\r
+  -----------------------------------------------------------------------------\r
+\r
+\r
+  display_value <= "00000001";                                 -- vector of two BCD coded numbers to be displayed\r
+  one_value <= display_value(BCD_WIDTH-1 downto 0);            -- BCD number to be displayed in right digit\r
+  ten_value <= display_value(2*BCD_WIDTH-1 downto BCD_WIDTH);  -- BCD number to be displayed in left digit\r
+\r
+\r
+  SEG_DATA: process(reset, one_value, ten_value)\r
+  begin\r
+    if (reset = RES_ACT) then                     -- upon reset\r
+      digit_left  <= DIGIT_OFF;                   -- ... switch off display\r
+      digit_right <= DIGIT_OFF;\r
+    else                                          -- during operation\r
+      case one_value is                           -- ...display "one" position according\r
+        when "0000" => digit_right <= DIGIT_ZERO; -- ...to translation table\r
+        when "0001" => digit_right <= DIGIT_ONE;\r
+        when "0010" => digit_right <= DIGIT_TWO;\r
+        when "0011" => digit_right <= DIGIT_THREE;\r
+        when "0100" => digit_right <= DIGIT_FOUR;\r
+        when "0101" => digit_right <= DIGIT_FIVE;\r
+        when "0110" => digit_right <= DIGIT_SIX;\r
+        when "0111" => digit_right <= DIGIT_SEVEN;\r
+        when "1000" => digit_right <= DIGIT_EIGHT;\r
+        when "1001" => digit_right <= DIGIT_NINE;\r
+        when others => digit_right <= DIGIT_F;    -- use "F" as overflow\r
+      end case;\r
+\r
+      case ten_value is                           -- same for "ten" position\r
+        when "0000" => digit_left <= DIGIT_ZERO;\r
+        when "0001" => digit_left <= DIGIT_ONE;\r
+        when "0010" => digit_left <= DIGIT_TWO;\r
+        when "0011" => digit_left <= DIGIT_THREE;\r
+        when "0100" => digit_left <= DIGIT_FOUR;\r
+        when "0101" => digit_left <= DIGIT_FIVE;\r
+        when "0110" => digit_left <= DIGIT_SIX;\r
+        when "0111" => digit_left <= DIGIT_SEVEN;\r
+        when "1000" => digit_left <= DIGIT_EIGHT;\r
+        when "1001" => digit_left <= DIGIT_NINE;\r
+        when others => digit_left <= DIGIT_F;\r
+      end case;\r
+    end if;\r
+  end process;\r
+\r
+\r
+-- combine the two digits to one bus\r
+  seven_seg(SEG_WIDTH-1 downto 0)  <= digit_right;\r
+  seven_seg(2*SEG_WIDTH-1 downto SEG_WIDTH) <= digit_left;\r
+  \r
+end behav;\r
diff --git a/bsp2/Angabe/board_driver_ent.vhd b/bsp2/Angabe/board_driver_ent.vhd
new file mode 100644 (file)
index 0000000..17e5cf7
--- /dev/null
@@ -0,0 +1,42 @@
+-------------------------------------------------------------------------------\r
+-- Title      : board_driver entity\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : board_driver_ent.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-12-15\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: display number on 7-segment display\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-12-15  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;\r
+\r
+-------------------------------------------------------------------------------\r
+-- ENTITY\r
+-------------------------------------------------------------------------------\r
+\r
+entity board_driver is\r
+  \r
+  port (\r
+        reset      : in  std_logic;\r
+        seven_seg  : out std_logic_vector(2*SEG_WIDTH-1 downto 0)\r
+        );                       \r
+end board_driver;\r
diff --git a/bsp2/Angabe/dide_16_2.txt b/bsp2/Angabe/dide_16_2.txt
new file mode 100644 (file)
index 0000000..29c2cf3
--- /dev/null
@@ -0,0 +1 @@
+Periodendauer: 0.12 Sekunden
diff --git a/bsp2/Angabe/vga.hex b/bsp2/Angabe/vga.hex
new file mode 100644 (file)
index 0000000..b3c05bd
--- /dev/null
@@ -0,0 +1,4097 @@
+:010000001ce3\r
+:010001001ce2\r
+:010002001ce1\r
+:010003001ce0\r
+:010004001cdf\r
+:010005001cde\r
+:010006001cdd\r
+:010007001cdc\r
+:010008001cdb\r
+:010009001cda\r
+:01000a001cd9\r
+:01000b001cd8\r
+:01000c001cd7\r
+:01000d001cd6\r
+:01000e001cd5\r
+:01000f001cd4\r
+:010010001cd3\r
+:010011001cd2\r
+:010012001cd1\r
+:010013001cd0\r
+:010014001ccf\r
+:010015001cce\r
+:010016001ccd\r
+:010017001ccc\r
+:010018001ccb\r
+:010019001cca\r
+:01001a001cc9\r
+:01001b001cc8\r
+:01001c001cc7\r
+:01001d001cc6\r
+:01001e001cc5\r
+:01001f001cc4\r
+:010020001cc3\r
+:010021001cc2\r
+:010022001cc1\r
+:010023001cc0\r
+:010024001cbf\r
+:010025001cbe\r
+:010026001cbd\r
+:010027001cbc\r
+:010028001cbb\r
+:010029001cba\r
+:01002a001cb9\r
+:01002b001cb8\r
+:01002c001cb7\r
+:01002d001cb6\r
+:01002e001cb5\r
+:01002f001cb4\r
+:010030001cb3\r
+:010031001cb2\r
+:010032001cb1\r
+:010033001cb0\r
+:010034001caf\r
+:010035001cae\r
+:010036001cad\r
+:010037001cac\r
+:010038001cab\r
+:010039001caa\r
+:01003a001ca9\r
+:01003b001ca8\r
+:01003c001ca7\r
+:01003d001ca6\r
+:01003e001ca5\r
+:01003f001ca4\r
+:0100400003bc\r
+:0100410000be\r
+:0100420000bd\r
+:0100430000bc\r
+:0100440000bb\r
+:0100450000ba\r
+:0100460000b9\r
+:0100470000b8\r
+:0100480000b7\r
+:0100490000b6\r
+:01004a0000b5\r
+:01004b0000b4\r
+:01004c0000b3\r
+:01004d0000b2\r
+:01004e0000b1\r
+:01004f0000b0\r
+:0100500000af\r
+:0100510000ae\r
+:0100520000ad\r
+:0100530000ac\r
+:0100540000ab\r
+:0100550000aa\r
+:0100560000a9\r
+:0100570000a8\r
+:0100580000a7\r
+:0100590000a6\r
+:01005a0000a5\r
+:01005b0000a4\r
+:01005c0000a3\r
+:01005d0000a2\r
+:01005e0000a1\r
+:01005f0000a0\r
+:01006000009f\r
+:01006100009e\r
+:01006200009d\r
+:01006300009c\r
+:01006400009b\r
+:01006500009a\r
+:010066000099\r
+:010067000098\r
+:010068000097\r
+:010069000096\r
+:01006a000095\r
+:01006b000094\r
+:01006c000093\r
+:01006d000092\r
+:01006e000091\r
+:01006f000090\r
+:01007000008f\r
+:01007100008e\r
+:01007200008d\r
+:01007300008c\r
+:01007400008b\r
+:01007500008a\r
+:010076000089\r
+:010077000088\r
+:010078000087\r
+:010079000086\r
+:01007a000085\r
+:01007b000084\r
+:01007c000083\r
+:01007d000082\r
+:01007e000081\r
+:01007f0090f0\r
+:01008000037c\r
+:01008100007e\r
+:01008200007d\r
+:01008300007c\r
+:01008400007b\r
+:01008500007a\r
+:010086000079\r
+:010087000078\r
+:010088000077\r
+:010089000076\r
+:01008a000075\r
+:01008b000074\r
+:01008c000073\r
+:01008d000072\r
+:01008e000071\r
+:01008f000070\r
+:01009000006f\r
+:01009100006e\r
+:01009200006d\r
+:01009300006c\r
+:01009400006b\r
+:01009500006a\r
+:010096000069\r
+:010097000068\r
+:010098000067\r
+:010099000066\r
+:01009a000065\r
+:01009b000064\r
+:01009c000063\r
+:01009d000062\r
+:01009e000061\r
+:01009f000060\r
+:0100a000005f\r
+:0100a100005e\r
+:0100a200005d\r
+:0100a300005c\r
+:0100a400005b\r
+:0100a500005a\r
+:0100a6000059\r
+:0100a7000058\r
+:0100a8000057\r
+:0100a9000056\r
+:0100aa000055\r
+:0100ab000054\r
+:0100ac000053\r
+:0100ad000052\r
+:0100ae000051\r
+:0100af000050\r
+:0100b000004f\r
+:0100b100004e\r
+:0100b200004d\r
+:0100b300004c\r
+:0100b400004b\r
+:0100b500004a\r
+:0100b6000049\r
+:0100b7000048\r
+:0100b8000047\r
+:0100b9000046\r
+:0100ba000045\r
+:0100bb000044\r
+:0100bc000043\r
+:0100bd000042\r
+:0100be000041\r
+:0100bf0090b0\r
+:0100c000033c\r
+:0100c100003e\r
+:0100c200003d\r
+:0100c300003c\r
+:0100c400003b\r
+:0100c500003a\r
+:0100c6000039\r
+:0100c7000038\r
+:0100c8000037\r
+:0100c9000036\r
+:0100ca000035\r
+:0100cb000034\r
+:0100cc000033\r
+:0100cd000032\r
+:0100ce000031\r
+:0100cf000030\r
+:0100d000002f\r
+:0100d100002e\r
+:0100d200002d\r
+:0100d300002c\r
+:0100d400002b\r
+:0100d500002a\r
+:0100d6000029\r
+:0100d7000028\r
+:0100d8000027\r
+:0100d9000026\r
+:0100da000025\r
+:0100db000024\r
+:0100dc000023\r
+:0100dd000022\r
+:0100de000021\r
+:0100df000020\r
+:0100e000001f\r
+:0100e100001e\r
+:0100e200001d\r
+:0100e300001c\r
+:0100e400001b\r
+:0100e500001a\r
+:0100e6000019\r
+:0100e7000018\r
+:0100e8000017\r
+:0100e9000016\r
+:0100ea000015\r
+:0100eb000014\r
+:0100ec000013\r
+:0100ed000012\r
+:0100ee000011\r
+:0100ef000010\r
+:0100f000000f\r
+:0100f100000e\r
+:0100f200000d\r
+:0100f300000c\r
+:0100f400000b\r
+:0100f500000a\r
+:0100f6000009\r
+:0100f7000008\r
+:0100f8000007\r
+:0100f9000006\r
+:0100fa000005\r
+:0100fb000004\r
+:0100fc000003\r
+:0100fd000002\r
+:0100fe000001\r
+:0100ff009070\r
+:0101000003fb\r
+:0101010000fd\r
+:0101020000fc\r
+:0101030000fb\r
+:0101040000fa\r
+:0101050000f9\r
+:0101060000f8\r
+:0101070000f7\r
+:0101080000f6\r
+:0101090000f5\r
+:01010a0000f4\r
+:01010b0000f3\r
+:01010c0000f2\r
+:01010d0000f1\r
+:01010e0000f0\r
+:01010f0000ef\r
+:0101100000ee\r
+:0101110000ed\r
+:0101120000ec\r
+:0101130000eb\r
+:0101140000ea\r
+:0101150000e9\r
+:0101160000e8\r
+:0101170000e7\r
+:0101180000e6\r
+:0101190000e5\r
+:01011a0000e4\r
+:01011b0000e3\r
+:01011c0000e2\r
+:01011d0000e1\r
+:01011e0000e0\r
+:01011f0000df\r
+:0101200000de\r
+:0101210000dd\r
+:0101220000dc\r
+:0101230000db\r
+:0101240000da\r
+:0101250000d9\r
+:0101260000d8\r
+:0101270000d7\r
+:0101280000d6\r
+:0101290000d5\r
+:01012a0000d4\r
+:01012b0000d3\r
+:01012c0000d2\r
+:01012d0000d1\r
+:01012e0000d0\r
+:01012f0000cf\r
+:0101300000ce\r
+:0101310000cd\r
+:0101320000cc\r
+:0101330000cb\r
+:0101340000ca\r
+:0101350000c9\r
+:0101360000c8\r
+:0101370000c7\r
+:0101380000c6\r
+:0101390000c5\r
+:01013a0000c4\r
+:01013b0000c3\r
+:01013c0000c2\r
+:01013d0000c1\r
+:01013e0000c0\r
+:01013f00902f\r
+:0101400003bb\r
+:0101410000bd\r
+:0101420000bc\r
+:0101430000bb\r
+:0101440000ba\r
+:0101450000b9\r
+:0101460000b8\r
+:0101470000b7\r
+:0101480000b6\r
+:0101490000b5\r
+:01014a0000b4\r
+:01014b0000b3\r
+:01014c0000b2\r
+:01014d0000b1\r
+:01014e0000b0\r
+:01014f0000af\r
+:0101500000ae\r
+:0101510000ad\r
+:0101520000ac\r
+:0101530000ab\r
+:0101540000aa\r
+:0101550000a9\r
+:0101560000a8\r
+:0101570000a7\r
+:0101580000a6\r
+:0101590000a5\r
+:01015a0000a4\r
+:01015b0000a3\r
+:01015c0000a2\r
+:01015d0000a1\r
+:01015e0000a0\r
+:01015f00009f\r
+:01016000009e\r
+:01016100009d\r
+:01016200009c\r
+:01016300009b\r
+:01016400009a\r
+:010165000099\r
+:010166000098\r
+:010167000097\r
+:010168000096\r
+:010169000095\r
+:01016a000094\r
+:01016b000093\r
+:01016c000092\r
+:01016d000091\r
+:01016e000090\r
+:01016f00008f\r
+:01017000008e\r
+:01017100008d\r
+:01017200008c\r
+:01017300008b\r
+:01017400008a\r
+:010175000089\r
+:010176000088\r
+:010177000087\r
+:010178000086\r
+:010179000085\r
+:01017a000084\r
+:01017b000083\r
+:01017c000082\r
+:01017d000081\r
+:01017e000080\r
+:01017f0090ef\r
+:01018000037b\r
+:01018100007d\r
+:01018200007c\r
+:01018300007b\r
+:01018400007a\r
+:010185000079\r
+:010186000078\r
+:010187000077\r
+:010188000076\r
+:010189000075\r
+:01018a000074\r
+:01018b000073\r
+:01018c000072\r
+:01018d000071\r
+:01018e000070\r
+:01018f00006f\r
+:01019000006e\r
+:01019100006d\r
+:01019200006c\r
+:01019300006b\r
+:01019400006a\r
+:010195000069\r
+:010196000068\r
+:010197000067\r
+:010198000066\r
+:010199000065\r
+:01019a000064\r
+:01019b000063\r
+:01019c000062\r
+:01019d000061\r
+:01019e000060\r
+:01019f00005f\r
+:0101a000005e\r
+:0101a100005d\r
+:0101a200005c\r
+:0101a300005b\r
+:0101a400005a\r
+:0101a5000059\r
+:0101a6000058\r
+:0101a7000057\r
+:0101a8000056\r
+:0101a9000055\r
+:0101aa000054\r
+:0101ab000053\r
+:0101ac000052\r
+:0101ad000051\r
+:0101ae000050\r
+:0101af00004f\r
+:0101b000004e\r
+:0101b100004d\r
+:0101b200004c\r
+:0101b300004b\r
+:0101b400004a\r
+:0101b5000049\r
+:0101b6000048\r
+:0101b7000047\r
+:0101b8000046\r
+:0101b9000045\r
+:0101ba000044\r
+:0101bb000043\r
+:0101bc000042\r
+:0101bd000041\r
+:0101be000040\r
+:0101bf0090af\r
+:0101c000033b\r
+:0101c100003d\r
+:0101c200003c\r
+:0101c300003b\r
+:0101c400003a\r
+:0101c5000039\r
+:0101c6000038\r
+:0101c7000037\r
+:0101c8000036\r
+:0101c9000035\r
+:0101ca000034\r
+:0101cb000033\r
+:0101cc000032\r
+:0101cd000031\r
+:0101ce000030\r
+:0101cf00002f\r
+:0101d000002e\r
+:0101d100002d\r
+:0101d200002c\r
+:0101d300002b\r
+:0101d400002a\r
+:0101d5000029\r
+:0101d6000028\r
+:0101d7000027\r
+:0101d8000026\r
+:0101d9000025\r
+:0101da000024\r
+:0101db000023\r
+:0101dc000022\r
+:0101dd000021\r
+:0101de000020\r
+:0101df00001f\r
+:0101e000001e\r
+:0101e100001d\r
+:0101e200001c\r
+:0101e300001b\r
+:0101e400001a\r
+:0101e5000019\r
+:0101e6000018\r
+:0101e7000017\r
+:0101e8000016\r
+:0101e9000015\r
+:0101ea000014\r
+:0101eb000013\r
+:0101ec000012\r
+:0101ed000011\r
+:0101ee000010\r
+:0101ef00000f\r
+:0101f000000e\r
+:0101f100000d\r
+:0101f200000c\r
+:0101f300000b\r
+:0101f400000a\r
+:0101f5000009\r
+:0101f6000008\r
+:0101f7000007\r
+:0101f8000006\r
+:0101f9000005\r
+:0101fa000004\r
+:0101fb000003\r
+:0101fc000002\r
+:0101fd000001\r
+:0101fe000000\r
+:0101ff00906f\r
+:0102000003fa\r
+:0102010000fc\r
+:0102020000fb\r
+:0102030000fa\r
+:0102040000f9\r
+:0102050000f8\r
+:0102060000f7\r
+:0102070000f6\r
+:0102080000f5\r
+:0102090000f4\r
+:01020a0000f3\r
+:01020b0000f2\r
+:01020c0000f1\r
+:01020d0000f0\r
+:01020e0000ef\r
+:01020f0000ee\r
+:0102100000ed\r
+:0102110000ec\r
+:0102120000eb\r
+:0102130000ea\r
+:0102140000e9\r
+:0102150000e8\r
+:0102160000e7\r
+:0102170000e6\r
+:0102180000e5\r
+:0102190000e4\r
+:01021a0000e3\r
+:01021b0000e2\r
+:01021c0000e1\r
+:01021d0000e0\r
+:01021e0000df\r
+:01021f0000de\r
+:0102200000dd\r
+:0102210000dc\r
+:0102220000db\r
+:0102230000da\r
+:0102240000d9\r
+:0102250000d8\r
+:0102260000d7\r
+:0102270000d6\r
+:0102280000d5\r
+:0102290000d4\r
+:01022a0000d3\r
+:01022b0000d2\r
+:01022c0000d1\r
+:01022d0000d0\r
+:01022e0000cf\r
+:01022f0000ce\r
+:0102300000cd\r
+:0102310000cc\r
+:0102320000cb\r
+:0102330000ca\r
+:0102340000c9\r
+:0102350000c8\r
+:0102360000c7\r
+:0102370000c6\r
+:0102380000c5\r
+:0102390000c4\r
+:01023a0000c3\r
+:01023b0000c2\r
+:01023c0000c1\r
+:01023d0000c0\r
+:01023e0000bf\r
+:01023f00902e\r
+:0102400003ba\r
+:0102410000bc\r
+:0102420000bb\r
+:0102430000ba\r
+:0102440000b9\r
+:0102450000b8\r
+:0102460000b7\r
+:0102470000b6\r
+:0102480000b5\r
+:0102490000b4\r
+:01024a0000b3\r
+:01024b0000b2\r
+:01024c0000b1\r
+:01024d0000b0\r
+:01024e0000af\r
+:01024f0000ae\r
+:0102500000ad\r
+:0102510000ac\r
+:0102520000ab\r
+:0102530000aa\r
+:0102540000a9\r
+:0102550000a8\r
+:0102560000a7\r
+:0102570000a6\r
+:0102580000a5\r
+:0102590000a4\r
+:01025a0000a3\r
+:01025b0000a2\r
+:01025c0000a1\r
+:01025d0000a0\r
+:01025e00009f\r
+:01025f00009e\r
+:01026000009d\r
+:01026100009c\r
+:01026200009b\r
+:01026300009a\r
+:010264000099\r
+:010265000098\r
+:010266000097\r
+:010267000096\r
+:010268000095\r
+:010269000094\r
+:01026a000093\r
+:01026b000092\r
+:01026c000091\r
+:01026d000090\r
+:01026e00008f\r
+:01026f00008e\r
+:01027000008d\r
+:01027100008c\r
+:01027200008b\r
+:01027300008a\r
+:010274000089\r
+:010275000088\r
+:010276000087\r
+:010277000086\r
+:010278000085\r
+:010279000084\r
+:01027a000083\r
+:01027b000082\r
+:01027c000081\r
+:01027d000080\r
+:01027e00007f\r
+:01027f0090ee\r
+:01028000037a\r
+:01028100007c\r
+:01028200007b\r
+:01028300007a\r
+:010284000079\r
+:010285000078\r
+:010286000077\r
+:010287000076\r
+:010288000075\r
+:010289000074\r
+:01028a000073\r
+:01028b000072\r
+:01028c000071\r
+:01028d000070\r
+:01028e00006f\r
+:01028f00006e\r
+:01029000006d\r
+:01029100006c\r
+:01029200006b\r
+:01029300006a\r
+:010294000069\r
+:010295000068\r
+:010296000067\r
+:010297000066\r
+:010298000065\r
+:010299000064\r
+:01029a000063\r
+:01029b000062\r
+:01029c000061\r
+:01029d000060\r
+:01029e00005f\r
+:01029f00005e\r
+:0102a000005d\r
+:0102a100005c\r
+:0102a200005b\r
+:0102a300005a\r
+:0102a4000059\r
+:0102a5000058\r
+:0102a6000057\r
+:0102a7000056\r
+:0102a8000055\r
+:0102a9000054\r
+:0102aa000053\r
+:0102ab000052\r
+:0102ac000051\r
+:0102ad000050\r
+:0102ae00004f\r
+:0102af00004e\r
+:0102b000004d\r
+:0102b100004c\r
+:0102b200004b\r
+:0102b300004a\r
+:0102b4000049\r
+:0102b5000048\r
+:0102b6000047\r
+:0102b7000046\r
+:0102b8000045\r
+:0102b9000044\r
+:0102ba000043\r
+:0102bb000042\r
+:0102bc000041\r
+:0102bd000040\r
+:0102be00003f\r
+:0102bf0090ae\r
+:0102c000033a\r
+:0102c100003c\r
+:0102c200003b\r
+:0102c300003a\r
+:0102c4000039\r
+:0102c5000038\r
+:0102c6000037\r
+:0102c7000036\r
+:0102c8000035\r
+:0102c9000034\r
+:0102ca000033\r
+:0102cb000032\r
+:0102cc000031\r
+:0102cd000030\r
+:0102ce00002f\r
+:0102cf00002e\r
+:0102d000002d\r
+:0102d100002c\r
+:0102d200002b\r
+:0102d300002a\r
+:0102d4000029\r
+:0102d5000028\r
+:0102d6000027\r
+:0102d7000026\r
+:0102d8000025\r
+:0102d9000024\r
+:0102da000023\r
+:0102db000022\r
+:0102dc000021\r
+:0102dd000020\r
+:0102de00001f\r
+:0102df00001e\r
+:0102e000001d\r
+:0102e100001c\r
+:0102e200001b\r
+:0102e300001a\r
+:0102e4000019\r
+:0102e5000018\r
+:0102e6000017\r
+:0102e7000016\r
+:0102e8000015\r
+:0102e9000014\r
+:0102ea000013\r
+:0102eb000012\r
+:0102ec000011\r
+:0102ed000010\r
+:0102ee00000f\r
+:0102ef00000e\r
+:0102f000000d\r
+:0102f100000c\r
+:0102f200000b\r
+:0102f300000a\r
+:0102f4000009\r
+:0102f5000008\r
+:0102f6000007\r
+:0102f7000006\r
+:0102f8000005\r
+:0102f9000004\r
+:0102fa000003\r
+:0102fb000002\r
+:0102fc000001\r
+:0102fd000000\r
+:0102fe0000ff\r
+:0102ff00906e\r
+:0103000003f9\r
+:0103010000fb\r
+:0103020000fa\r
+:0103030000f9\r
+:0103040000f8\r
+:0103050000f7\r
+:0103060000f6\r
+:0103070000f5\r
+:0103080000f4\r
+:0103090000f3\r
+:01030a0000f2\r
+:01030b0000f1\r
+:01030c0000f0\r
+:01030d0000ef\r
+:01030e0000ee\r
+:01030f0000ed\r
+:0103100000ec\r
+:0103110000eb\r
+:0103120000ea\r
+:0103130000e9\r
+:0103140000e8\r
+:0103150000e7\r
+:0103160000e6\r
+:0103170000e5\r
+:0103180000e4\r
+:0103190000e3\r
+:01031a0000e2\r
+:01031b0000e1\r
+:01031c0000e0\r
+:01031d0000df\r
+:01031e0000de\r
+:01031f0000dd\r
+:0103200000dc\r
+:0103210000db\r
+:0103220000da\r
+:0103230000d9\r
+:0103240000d8\r
+:0103250000d7\r
+:0103260000d6\r
+:0103270000d5\r
+:0103280000d4\r
+:0103290000d3\r
+:01032a0000d2\r
+:01032b0000d1\r
+:01032c0000d0\r
+:01032d0000cf\r
+:01032e0000ce\r
+:01032f0000cd\r
+:0103300000cc\r
+:0103310000cb\r
+:0103320000ca\r
+:0103330000c9\r
+:0103340000c8\r
+:0103350000c7\r
+:0103360000c6\r
+:0103370000c5\r
+:0103380000c4\r
+:0103390000c3\r
+:01033a0000c2\r
+:01033b0000c1\r
+:01033c0000c0\r
+:01033d0000bf\r
+:01033e0000be\r
+:01033f00902d\r
+:0103400003b9\r
+:0103410000bb\r
+:0103420000ba\r
+:0103430000b9\r
+:0103440000b8\r
+:0103450000b7\r
+:0103460000b6\r
+:0103470000b5\r
+:0103480000b4\r
+:0103490000b3\r
+:01034a0000b2\r
+:01034b0000b1\r
+:01034c0000b0\r
+:01034d0000af\r
+:01034e0000ae\r
+:01034f0000ad\r
+:0103500000ac\r
+:0103510000ab\r
+:0103520000aa\r
+:0103530000a9\r
+:0103540000a8\r
+:0103550000a7\r
+:0103560000a6\r
+:0103570000a5\r
+:0103580000a4\r
+:0103590000a3\r
+:01035a0000a2\r
+:01035b0000a1\r
+:01035c0000a0\r
+:01035d00009f\r
+:01035e00009e\r
+:01035f00009d\r
+:01036000009c\r
+:01036100009b\r
+:01036200009a\r
+:010363000099\r
+:010364000098\r
+:010365000097\r
+:010366000096\r
+:010367000095\r
+:010368000094\r
+:010369000093\r
+:01036a000092\r
+:01036b000091\r
+:01036c000090\r
+:01036d00008f\r
+:01036e00008e\r
+:01036f00008d\r
+:01037000008c\r
+:01037100008b\r
+:01037200008a\r
+:010373000089\r
+:010374000088\r
+:010375000087\r
+:010376000086\r
+:010377000085\r
+:010378000084\r
+:010379000083\r
+:01037a000082\r
+:01037b000081\r
+:01037c000080\r
+:01037d00007f\r
+:01037e00007e\r
+:01037f0090ed\r
+:010380000379\r
+:01038100007b\r
+:01038200007a\r
+:010383000079\r
+:010384000078\r
+:010385000077\r
+:010386000076\r
+:010387000075\r
+:010388000074\r
+:010389000073\r
+:01038a000072\r
+:01038b000071\r
+:01038c000070\r
+:01038d00006f\r
+:01038e00006e\r
+:01038f00006d\r
+:01039000006c\r
+:01039100006b\r
+:01039200006a\r
+:010393000069\r
+:010394000068\r
+:010395000067\r
+:010396000066\r
+:010397000065\r
+:010398000064\r
+:010399000063\r
+:01039a000062\r
+:01039b000061\r
+:01039c000060\r
+:01039d00005f\r
+:01039e00005e\r
+:01039f00005d\r
+:0103a000005c\r
+:0103a100005b\r
+:0103a200005a\r
+:0103a3000059\r
+:0103a4000058\r
+:0103a5000057\r
+:0103a6000056\r
+:0103a7000055\r
+:0103a8000054\r
+:0103a9000053\r
+:0103aa000052\r
+:0103ab000051\r
+:0103ac000050\r
+:0103ad00004f\r
+:0103ae00004e\r
+:0103af00004d\r
+:0103b000004c\r
+:0103b100004b\r
+:0103b200004a\r
+:0103b3000049\r
+:0103b4000048\r
+:0103b5000047\r
+:0103b6000046\r
+:0103b7000045\r
+:0103b8000044\r
+:0103b9000043\r
+:0103ba000042\r
+:0103bb000041\r
+:0103bc000040\r
+:0103bd00003f\r
+:0103be00003e\r
+:0103bf0090ad\r
+:0103c0000339\r
+:0103c100003b\r
+:0103c200003a\r
+:0103c3000039\r
+:0103c4000038\r
+:0103c5000037\r
+:0103c6000036\r
+:0103c7000035\r
+:0103c8000034\r
+:0103c9000033\r
+:0103ca000032\r
+:0103cb000031\r
+:0103cc000030\r
+:0103cd00002f\r
+:0103ce00002e\r
+:0103cf00002d\r
+:0103d000002c\r
+:0103d100002b\r
+:0103d200002a\r
+:0103d3000029\r
+:0103d4000028\r
+:0103d5000027\r
+:0103d6000026\r
+:0103d7000025\r
+:0103d8000024\r
+:0103d9000023\r
+:0103da000022\r
+:0103db000021\r
+:0103dc000020\r
+:0103dd00001f\r
+:0103de00001e\r
+:0103df00001d\r
+:0103e000001c\r
+:0103e100001b\r
+:0103e200001a\r
+:0103e3000019\r
+:0103e4000018\r
+:0103e5000017\r
+:0103e6000016\r
+:0103e7000015\r
+:0103e8000014\r
+:0103e9000013\r
+:0103ea000012\r
+:0103eb000011\r
+:0103ec000010\r
+:0103ed00000f\r
+:0103ee00000e\r
+:0103ef00000d\r
+:0103f000000c\r
+:0103f100000b\r
+:0103f200000a\r
+:0103f3000009\r
+:0103f4000008\r
+:0103f5000007\r
+:0103f6000006\r
+:0103f7000005\r
+:0103f8000004\r
+:0103f9000003\r
+:0103fa000002\r
+:0103fb000001\r
+:0103fc000000\r
+:0103fd0000ff\r
+:0103fe0000fe\r
+:0103ff00906d\r
+:0104000003f8\r
+:0104010000fa\r
+:0104020000f9\r
+:0104030000f8\r
+:0104040000f7\r
+:0104050000f6\r
+:0104060000f5\r
+:0104070000f4\r
+:0104080000f3\r
+:0104090000f2\r
+:01040a0000f1\r
+:01040b0000f0\r
+:01040c0000ef\r
+:01040d0000ee\r
+:01040e0000ed\r
+:01040f0000ec\r
+:0104100000eb\r
+:0104110000ea\r
+:0104120000e9\r
+:0104130000e8\r
+:0104140000e7\r
+:0104150000e6\r
+:0104160000e5\r
+:0104170000e4\r
+:0104180000e3\r
+:0104190000e2\r
+:01041a0000e1\r
+:01041b0000e0\r
+:01041c0000df\r
+:01041d0000de\r
+:01041e0000dd\r
+:01041f0000dc\r
+:0104200000db\r
+:0104210000da\r
+:0104220000d9\r
+:0104230000d8\r
+:0104240000d7\r
+:0104250000d6\r
+:0104260000d5\r
+:0104270000d4\r
+:0104280000d3\r
+:0104290000d2\r
+:01042a0000d1\r
+:01042b0000d0\r
+:01042c0000cf\r
+:01042d0000ce\r
+:01042e0000cd\r
+:01042f0000cc\r
+:0104300000cb\r
+:0104310000ca\r
+:0104320000c9\r
+:0104330000c8\r
+:0104340000c7\r
+:0104350000c6\r
+:0104360000c5\r
+:0104370000c4\r
+:0104380000c3\r
+:0104390000c2\r
+:01043a0000c1\r
+:01043b0000c0\r
+:01043c0000bf\r
+:01043d0000be\r
+:01043e0000bd\r
+:01043f00902c\r
+:0104400003b8\r
+:0104410000ba\r
+:0104420000b9\r
+:0104430000b8\r
+:0104440000b7\r
+:0104450000b6\r
+:0104460000b5\r
+:0104470000b4\r
+:0104480000b3\r
+:0104490000b2\r
+:01044a0000b1\r
+:01044b0000b0\r
+:01044c0000af\r
+:01044d0000ae\r
+:01044e0000ad\r
+:01044f0000ac\r
+:0104500000ab\r
+:0104510000aa\r
+:0104520000a9\r
+:0104530000a8\r
+:0104540000a7\r
+:0104550000a6\r
+:0104560000a5\r
+:0104570000a4\r
+:0104580000a3\r
+:0104590000a2\r
+:01045a0000a1\r
+:01045b0000a0\r
+:01045c00009f\r
+:01045d00009e\r
+:01045e00009d\r
+:01045f00009c\r
+:01046000009b\r
+:01046100009a\r
+:010462000099\r
+:010463000098\r
+:010464000097\r
+:010465000096\r
+:010466000095\r
+:010467000094\r
+:010468000093\r
+:010469000092\r
+:01046a000091\r
+:01046b000090\r
+:01046c00008f\r
+:01046d00008e\r
+:01046e00008d\r
+:01046f00008c\r
+:01047000008b\r
+:01047100008a\r
+:010472000089\r
+:010473000088\r
+:010474000087\r
+:010475000086\r
+:010476000085\r
+:010477000084\r
+:010478000083\r
+:010479000082\r
+:01047a000081\r
+:01047b000080\r
+:01047c00007f\r
+:01047d00007e\r
+:01047e00007d\r
+:01047f0090ec\r
+:010480000378\r
+:01048100007a\r
+:010482000079\r
+:010483000078\r
+:010484000077\r
+:010485000076\r
+:010486000075\r
+:010487000074\r
+:010488000073\r
+:010489000072\r
+:01048a000071\r
+:01048b000070\r
+:01048c00006f\r
+:01048d00006e\r
+:01048e00006d\r
+:01048f00006c\r
+:01049000006b\r
+:01049100006a\r
+:010492000069\r
+:010493000068\r
+:010494000067\r
+:010495000066\r
+:010496000065\r
+:010497000064\r
+:010498000063\r
+:010499000062\r
+:01049a000061\r
+:01049b000060\r
+:01049c00005f\r
+:01049d00005e\r
+:01049e00005d\r
+:01049f00005c\r
+:0104a000005b\r
+:0104a100005a\r
+:0104a2000059\r
+:0104a3000058\r
+:0104a4000057\r
+:0104a5000056\r
+:0104a6000055\r
+:0104a7000054\r
+:0104a8000053\r
+:0104a9000052\r
+:0104aa000051\r
+:0104ab000050\r
+:0104ac00004f\r
+:0104ad00004e\r
+:0104ae00004d\r
+:0104af00004c\r
+:0104b000004b\r
+:0104b100004a\r
+:0104b2000049\r
+:0104b3000048\r
+:0104b4000047\r
+:0104b5000046\r
+:0104b6000045\r
+:0104b7000044\r
+:0104b8000043\r
+:0104b9000042\r
+:0104ba000041\r
+:0104bb000040\r
+:0104bc00003f\r
+:0104bd00003e\r
+:0104be00003d\r
+:0104bf0090ac\r
+:0104c0000338\r
+:0104c100003a\r
+:0104c2000039\r
+:0104c3000038\r
+:0104c4000037\r
+:0104c5000036\r
+:0104c6000035\r
+:0104c7000034\r
+:0104c8000033\r
+:0104c9000032\r
+:0104ca000031\r
+:0104cb000030\r
+:0104cc00002f\r
+:0104cd00002e\r
+:0104ce00002d\r
+:0104cf00002c\r
+:0104d000002b\r
+:0104d100002a\r
+:0104d2000029\r
+:0104d3000028\r
+:0104d4000027\r
+:0104d5000026\r
+:0104d6000025\r
+:0104d7000024\r
+:0104d8000023\r
+:0104d9000022\r
+:0104da000021\r
+:0104db000020\r
+:0104dc00001f\r
+:0104dd00001e\r
+:0104de00001d\r
+:0104df00001c\r
+:0104e000001b\r
+:0104e100001a\r
+:0104e2000019\r
+:0104e3000018\r
+:0104e4000017\r
+:0104e5000016\r
+:0104e6000015\r
+:0104e7000014\r
+:0104e8000013\r
+:0104e9000012\r
+:0104ea000011\r
+:0104eb000010\r
+:0104ec00000f\r
+:0104ed00000e\r
+:0104ee00000d\r
+:0104ef00000c\r
+:0104f000000b\r
+:0104f100000a\r
+:0104f2000009\r
+:0104f3000008\r
+:0104f4000007\r
+:0104f5000006\r
+:0104f6000005\r
+:0104f7000004\r
+:0104f8000003\r
+:0104f9000002\r
+:0104fa000001\r
+:0104fb000000\r
+:0104fc0000ff\r
+:0104fd0000fe\r
+:0104fe0000fd\r
+:0104ff00906c\r
+:0105000003f7\r
+:0105010000f9\r
+:0105020000f8\r
+:0105030000f7\r
+:0105040000f6\r
+:0105050000f5\r
+:0105060000f4\r
+:0105070000f3\r
+:0105080000f2\r
+:0105090000f1\r
+:01050a0000f0\r
+:01050b0000ef\r
+:01050c0000ee\r
+:01050d0000ed\r
+:01050e0000ec\r
+:01050f0000eb\r
+:0105100000ea\r
+:0105110000e9\r
+:0105120000e8\r
+:0105130000e7\r
+:0105140000e6\r
+:0105150000e5\r
+:0105160000e4\r
+:0105170000e3\r
+:0105180000e2\r
+:0105190000e1\r
+:01051a0000e0\r
+:01051b0000df\r
+:01051c0000de\r
+:01051d0000dd\r
+:01051e0000dc\r
+:01051f0000db\r
+:0105200000da\r
+:0105210000d9\r
+:0105220000d8\r
+:0105230000d7\r
+:0105240000d6\r
+:0105250000d5\r
+:0105260000d4\r
+:0105270000d3\r
+:0105280000d2\r
+:0105290000d1\r
+:01052a0000d0\r
+:01052b0000cf\r
+:01052c0000ce\r
+:01052d0000cd\r
+:01052e0000cc\r
+:01052f0000cb\r
+:0105300000ca\r
+:0105310000c9\r
+:0105320000c8\r
+:0105330000c7\r
+:0105340000c6\r
+:0105350000c5\r
+:0105360000c4\r
+:0105370000c3\r
+:0105380000c2\r
+:0105390000c1\r
+:01053a0000c0\r
+:01053b0000bf\r
+:01053c0000be\r
+:01053d0000bd\r
+:01053e0000bc\r
+:01053f00902b\r
+:0105400003b7\r
+:0105410000b9\r
+:0105420000b8\r
+:0105430000b7\r
+:0105440000b6\r
+:0105450000b5\r
+:0105460000b4\r
+:0105470000b3\r
+:0105480000b2\r
+:0105490000b1\r
+:01054a0000b0\r
+:01054b0000af\r
+:01054c0000ae\r
+:01054d0000ad\r
+:01054e0000ac\r
+:01054f0000ab\r
+:0105500000aa\r
+:0105510000a9\r
+:0105520000a8\r
+:0105530000a7\r
+:0105540000a6\r
+:0105550000a5\r
+:0105560000a4\r
+:0105570000a3\r
+:0105580000a2\r
+:0105590000a1\r
+:01055a0000a0\r
+:01055b00009f\r
+:01055c00009e\r
+:01055d00009d\r
+:01055e00009c\r
+:01055f00009b\r
+:01056000009a\r
+:010561000099\r
+:010562000098\r
+:010563000097\r
+:010564000096\r
+:010565000095\r
+:010566000094\r
+:010567000093\r
+:010568000092\r
+:010569000091\r
+:01056a000090\r
+:01056b00008f\r
+:01056c00008e\r
+:01056d00008d\r
+:01056e00008c\r
+:01056f00008b\r
+:01057000008a\r
+:010571000089\r
+:010572000088\r
+:010573000087\r
+:010574000086\r
+:010575000085\r
+:010576000084\r
+:010577000083\r
+:010578000082\r
+:010579000081\r
+:01057a000080\r
+:01057b00007f\r
+:01057c00007e\r
+:01057d00007d\r
+:01057e00007c\r
+:01057f0090eb\r
+:010580000377\r
+:010581000079\r
+:010582000078\r
+:010583000077\r
+:010584000076\r
+:010585000075\r
+:010586000074\r
+:010587000073\r
+:010588000072\r
+:010589000071\r
+:01058a000070\r
+:01058b00006f\r
+:01058c00006e\r
+:01058d00006d\r
+:01058e00006c\r
+:01058f00006b\r
+:01059000006a\r
+:010591000069\r
+:010592000068\r
+:010593000067\r
+:010594000066\r
+:010595000065\r
+:010596000064\r
+:010597000063\r
+:010598000062\r
+:010599000061\r
+:01059a000060\r
+:01059b00005f\r
+:01059c00005e\r
+:01059d00005d\r
+:01059e00005c\r
+:01059f00005b\r
+:0105a000005a\r
+:0105a1000059\r
+:0105a2000058\r
+:0105a3000057\r
+:0105a4000056\r
+:0105a5000055\r
+:0105a6000054\r
+:0105a7000053\r
+:0105a8000052\r
+:0105a9000051\r
+:0105aa000050\r
+:0105ab00004f\r
+:0105ac00004e\r
+:0105ad00004d\r
+:0105ae00004c\r
+:0105af00004b\r
+:0105b000004a\r
+:0105b1000049\r
+:0105b2000048\r
+:0105b3000047\r
+:0105b4000046\r
+:0105b5000045\r
+:0105b6000044\r
+:0105b7000043\r
+:0105b8000042\r
+:0105b9000041\r
+:0105ba000040\r
+:0105bb00003f\r
+:0105bc00003e\r
+:0105bd00003d\r
+:0105be00003c\r
+:0105bf0090ab\r
+:0105c0000337\r
+:0105c1000039\r
+:0105c2000038\r
+:0105c3000037\r
+:0105c4000036\r
+:0105c5000035\r
+:0105c6000034\r
+:0105c7000033\r
+:0105c8000032\r
+:0105c9000031\r
+:0105ca000030\r
+:0105cb00002f\r
+:0105cc00002e\r
+:0105cd00002d\r
+:0105ce00002c\r
+:0105cf00002b\r
+:0105d000002a\r
+:0105d1000029\r
+:0105d2000028\r
+:0105d3000027\r
+:0105d4000026\r
+:0105d5000025\r
+:0105d6000024\r
+:0105d7000023\r
+:0105d8000022\r
+:0105d9000021\r
+:0105da000020\r
+:0105db00001f\r
+:0105dc00001e\r
+:0105dd00001d\r
+:0105de00001c\r
+:0105df00001b\r
+:0105e000001a\r
+:0105e1000019\r
+:0105e2000018\r
+:0105e3000017\r
+:0105e4000016\r
+:0105e5000015\r
+:0105e6000014\r
+:0105e7000013\r
+:0105e8000012\r
+:0105e9000011\r
+:0105ea000010\r
+:0105eb00000f\r
+:0105ec00000e\r
+:0105ed00000d\r
+:0105ee00000c\r
+:0105ef00000b\r
+:0105f000000a\r
+:0105f1000009\r
+:0105f2000008\r
+:0105f3000007\r
+:0105f4000006\r
+:0105f5000005\r
+:0105f6000004\r
+:0105f7000003\r
+:0105f8000002\r
+:0105f9000001\r
+:0105fa000000\r
+:0105fb0000ff\r
+:0105fc0000fe\r
+:0105fd0000fd\r
+:0105fe0000fc\r
+:0105ff00906b\r
+:0106000003f6\r
+:0106010000f8\r
+:0106020000f7\r
+:0106030000f6\r
+:0106040000f5\r
+:0106050000f4\r
+:0106060000f3\r
+:0106070000f2\r
+:0106080000f1\r
+:0106090000f0\r
+:01060a0000ef\r
+:01060b0000ee\r
+:01060c0000ed\r
+:01060d0000ec\r
+:01060e0000eb\r
+:01060f0000ea\r
+:0106100000e9\r
+:0106110000e8\r
+:0106120000e7\r
+:0106130000e6\r
+:0106140000e5\r
+:0106150000e4\r
+:0106160000e3\r
+:0106170000e2\r
+:0106180000e1\r
+:0106190000e0\r
+:01061a0000df\r
+:01061b0000de\r
+:01061c0000dd\r
+:01061d0000dc\r
+:01061e0000db\r
+:01061f0000da\r
+:0106200000d9\r
+:0106210000d8\r
+:0106220000d7\r
+:0106230000d6\r
+:0106240000d5\r
+:0106250000d4\r
+:0106260000d3\r
+:0106270000d2\r
+:0106280000d1\r
+:0106290000d0\r
+:01062a0000cf\r
+:01062b0000ce\r
+:01062c0000cd\r
+:01062d0000cc\r
+:01062e0000cb\r
+:01062f0000ca\r
+:0106300000c9\r
+:0106310000c8\r
+:0106320000c7\r
+:0106330000c6\r
+:0106340000c5\r
+:0106350000c4\r
+:0106360000c3\r
+:0106370000c2\r
+:0106380000c1\r
+:0106390000c0\r
+:01063a0000bf\r
+:01063b0000be\r
+:01063c0000bd\r
+:01063d0000bc\r
+:01063e0000bb\r
+:01063f00902a\r
+:0106400003b6\r
+:0106410000b8\r
+:0106420000b7\r
+:0106430000b6\r
+:0106440000b5\r
+:0106450000b4\r
+:0106460000b3\r
+:0106470000b2\r
+:0106480000b1\r
+:0106490000b0\r
+:01064a0000af\r
+:01064b0000ae\r
+:01064c0000ad\r
+:01064d0000ac\r
+:01064e0000ab\r
+:01064f0000aa\r
+:0106500000a9\r
+:0106510000a8\r
+:0106520000a7\r
+:0106530000a6\r
+:0106540000a5\r
+:0106550000a4\r
+:0106560000a3\r
+:0106570000a2\r
+:0106580000a1\r
+:0106590000a0\r
+:01065a00009f\r
+:01065b00009e\r
+:01065c00009d\r
+:01065d00009c\r
+:01065e00009b\r
+:01065f00009a\r
+:010660000099\r
+:010661000098\r
+:010662000097\r
+:010663000096\r
+:010664000095\r
+:010665000094\r
+:010666000093\r
+:010667000092\r
+:010668000091\r
+:010669000090\r
+:01066a00008f\r
+:01066b00008e\r
+:01066c00008d\r
+:01066d00008c\r
+:01066e00008b\r
+:01066f00008a\r
+:010670000089\r
+:010671000088\r
+:010672000087\r
+:010673000086\r
+:010674000085\r
+:010675000084\r
+:010676000083\r
+:010677000082\r
+:010678000081\r
+:010679000080\r
+:01067a00007f\r
+:01067b00007e\r
+:01067c00007d\r
+:01067d00007c\r
+:01067e00007b\r
+:01067f0090ea\r
+:010680000376\r
+:010681000078\r
+:010682000077\r
+:010683000076\r
+:010684000075\r
+:010685000074\r
+:010686000073\r
+:010687000072\r
+:010688000071\r
+:010689000070\r
+:01068a00006f\r
+:01068b00006e\r
+:01068c00006d\r
+:01068d00006c\r
+:01068e00006b\r
+:01068f00006a\r
+:010690000069\r
+:010691000068\r
+:010692000067\r
+:010693000066\r
+:010694000065\r
+:010695000064\r
+:010696000063\r
+:010697000062\r
+:010698000061\r
+:010699000060\r
+:01069a00005f\r
+:01069b00005e\r
+:01069c00005d\r
+:01069d00005c\r
+:01069e00005b\r
+:01069f00005a\r
+:0106a0000059\r
+:0106a1000058\r
+:0106a2000057\r
+:0106a3000056\r
+:0106a4000055\r
+:0106a5000054\r
+:0106a6000053\r
+:0106a7000052\r
+:0106a8000051\r
+:0106a9000050\r
+:0106aa00004f\r
+:0106ab00004e\r
+:0106ac00004d\r
+:0106ad00004c\r
+:0106ae00004b\r
+:0106af00004a\r
+:0106b0000049\r
+:0106b1000048\r
+:0106b2000047\r
+:0106b3000046\r
+:0106b4000045\r
+:0106b5000044\r
+:0106b6000043\r
+:0106b7000042\r
+:0106b8000041\r
+:0106b9000040\r
+:0106ba00003f\r
+:0106bb00003e\r
+:0106bc00003d\r
+:0106bd00003c\r
+:0106be00003b\r
+:0106bf0090aa\r
+:0106c0000336\r
+:0106c1000038\r
+:0106c2000037\r
+:0106c3000036\r
+:0106c4000035\r
+:0106c5000034\r
+:0106c6000033\r
+:0106c7000032\r
+:0106c8000031\r
+:0106c9000030\r
+:0106ca00002f\r
+:0106cb00002e\r
+:0106cc00002d\r
+:0106cd00002c\r
+:0106ce00002b\r
+:0106cf00002a\r
+:0106d0000029\r
+:0106d1000028\r
+:0106d2000027\r
+:0106d3000026\r
+:0106d4000025\r
+:0106d5000024\r
+:0106d6000023\r
+:0106d7000022\r
+:0106d8000021\r
+:0106d9000020\r
+:0106da00001f\r
+:0106db00001e\r
+:0106dc00001d\r
+:0106dd00001c\r
+:0106de00001b\r
+:0106df00001a\r
+:0106e0000019\r
+:0106e1000018\r
+:0106e2000017\r
+:0106e3000016\r
+:0106e4000015\r
+:0106e5000014\r
+:0106e6000013\r
+:0106e7000012\r
+:0106e8000011\r
+:0106e9000010\r
+:0106ea00000f\r
+:0106eb00000e\r
+:0106ec00000d\r
+:0106ed00000c\r
+:0106ee00000b\r
+:0106ef00000a\r
+:0106f0000009\r
+:0106f1000008\r
+:0106f2000007\r
+:0106f3000006\r
+:0106f4000005\r
+:0106f5000004\r
+:0106f6000003\r
+:0106f7000002\r
+:0106f8000001\r
+:0106f9000000\r
+:0106fa0000ff\r
+:0106fb0000fe\r
+:0106fc0000fd\r
+:0106fd0000fc\r
+:0106fe0000fb\r
+:0106ff00906a\r
+:0107000003f5\r
+:0107010000f7\r
+:0107020000f6\r
+:0107030000f5\r
+:0107040000f4\r
+:0107050000f3\r
+:0107060000f2\r
+:0107070000f1\r
+:0107080000f0\r
+:0107090000ef\r
+:01070a0000ee\r
+:01070b0000ed\r
+:01070c0000ec\r
+:01070d0000eb\r
+:01070e0000ea\r
+:01070f0000e9\r
+:0107100000e8\r
+:0107110000e7\r
+:0107120000e6\r
+:0107130000e5\r
+:0107140000e4\r
+:0107150000e3\r
+:0107160000e2\r
+:0107170000e1\r
+:0107180000e0\r
+:0107190000df\r
+:01071a0000de\r
+:01071b0000dd\r
+:01071c0000dc\r
+:01071d0000db\r
+:01071e0000da\r
+:01071f0000d9\r
+:0107200000d8\r
+:0107210000d7\r
+:0107220000d6\r
+:0107230000d5\r
+:0107240000d4\r
+:0107250000d3\r
+:0107260000d2\r
+:0107270000d1\r
+:0107280000d0\r
+:0107290000cf\r
+:01072a0000ce\r
+:01072b0000cd\r
+:01072c0000cc\r
+:01072d0000cb\r
+:01072e0000ca\r
+:01072f0000c9\r
+:0107300000c8\r
+:0107310000c7\r
+:0107320000c6\r
+:0107330000c5\r
+:0107340000c4\r
+:0107350000c3\r
+:0107360000c2\r
+:0107370000c1\r
+:0107380000c0\r
+:0107390000bf\r
+:01073a0000be\r
+:01073b0000bd\r
+:01073c0000bc\r
+:01073d0000bb\r
+:01073e0000ba\r
+:01073f009029\r
+:0107400003b5\r
+:0107410000b7\r
+:0107420000b6\r
+:0107430000b5\r
+:0107440000b4\r
+:0107450000b3\r
+:0107460000b2\r
+:0107470000b1\r
+:0107480000b0\r
+:0107490000af\r
+:01074a0000ae\r
+:01074b0000ad\r
+:01074c0000ac\r
+:01074d0000ab\r
+:01074e0000aa\r
+:01074f0000a9\r
+:0107500000a8\r
+:0107510000a7\r
+:0107520000a6\r
+:0107530000a5\r
+:0107540000a4\r
+:0107550000a3\r
+:0107560000a2\r
+:0107570000a1\r
+:0107580000a0\r
+:01075900009f\r
+:01075a00009e\r
+:01075b00009d\r
+:01075c00009c\r
+:01075d00009b\r
+:01075e00009a\r
+:01075f000099\r
+:010760000098\r
+:010761000097\r
+:010762000096\r
+:010763000095\r
+:010764000094\r
+:010765000093\r
+:010766000092\r
+:010767000091\r
+:010768000090\r
+:01076900008f\r
+:01076a00008e\r
+:01076b00008d\r
+:01076c00008c\r
+:01076d00008b\r
+:01076e00008a\r
+:01076f000089\r
+:010770000088\r
+:010771000087\r
+:010772000086\r
+:010773000085\r
+:010774000084\r
+:010775000083\r
+:010776000082\r
+:010777000081\r
+:010778000080\r
+:01077900007f\r
+:01077a00007e\r
+:01077b00007d\r
+:01077c00007c\r
+:01077d00007b\r
+:01077e00007a\r
+:01077f0090e9\r
+:010780000375\r
+:010781000077\r
+:010782000076\r
+:010783000075\r
+:010784000074\r
+:010785000073\r
+:010786000072\r
+:010787000071\r
+:010788000070\r
+:01078900006f\r
+:01078a00006e\r
+:01078b00006d\r
+:01078c00006c\r
+:01078d00006b\r
+:01078e00006a\r
+:01078f000069\r
+:010790000068\r
+:010791000067\r
+:010792000066\r
+:010793000065\r
+:010794000064\r
+:010795000063\r
+:010796000062\r
+:010797000061\r
+:010798000060\r
+:01079900005f\r
+:01079a00005e\r
+:01079b00005d\r
+:01079c00005c\r
+:01079d00005b\r
+:01079e00005a\r
+:01079f000059\r
+:0107a0000058\r
+:0107a1000057\r
+:0107a2000056\r
+:0107a3000055\r
+:0107a4000054\r
+:0107a5000053\r
+:0107a6000052\r
+:0107a7000051\r
+:0107a8000050\r
+:0107a900004f\r
+:0107aa00004e\r
+:0107ab00004d\r
+:0107ac00004c\r
+:0107ad00004b\r
+:0107ae00004a\r
+:0107af000049\r
+:0107b0000048\r
+:0107b1000047\r
+:0107b2000046\r
+:0107b3000045\r
+:0107b4000044\r
+:0107b5000043\r
+:0107b6000042\r
+:0107b7000041\r
+:0107b8000040\r
+:0107b900003f\r
+:0107ba00003e\r
+:0107bb00003d\r
+:0107bc00003c\r
+:0107bd00003b\r
+:0107be00003a\r
+:0107bf0090a9\r
+:0107c0000335\r
+:0107c1000037\r
+:0107c2000036\r
+:0107c3000035\r
+:0107c4000034\r
+:0107c5000033\r
+:0107c6000032\r
+:0107c7000031\r
+:0107c8000030\r
+:0107c900002f\r
+:0107ca00002e\r
+:0107cb00002d\r
+:0107cc00002c\r
+:0107cd00002b\r
+:0107ce00002a\r
+:0107cf000029\r
+:0107d0000028\r
+:0107d1000027\r
+:0107d2000026\r
+:0107d3000025\r
+:0107d4000024\r
+:0107d5000023\r
+:0107d6000022\r
+:0107d7000021\r
+:0107d8000020\r
+:0107d900001f\r
+:0107da00001e\r
+:0107db00001d\r
+:0107dc00001c\r
+:0107dd00001b\r
+:0107de00001a\r
+:0107df000019\r
+:0107e0000018\r
+:0107e1000017\r
+:0107e2000016\r
+:0107e3000015\r
+:0107e4000014\r
+:0107e5000013\r
+:0107e6000012\r
+:0107e7000011\r
+:0107e8000010\r
+:0107e900000f\r
+:0107ea00000e\r
+:0107eb00000d\r
+:0107ec00000c\r
+:0107ed00000b\r
+:0107ee00000a\r
+:0107ef000009\r
+:0107f0000008\r
+:0107f1000007\r
+:0107f2000006\r
+:0107f3000005\r
+:0107f4000004\r
+:0107f5000003\r
+:0107f6000002\r
+:0107f7000001\r
+:0107f8000000\r
+:0107f90000ff\r
+:0107fa0000fe\r
+:0107fb0000fd\r
+:0107fc0000fc\r
+:0107fd0000fb\r
+:0107fe0000fa\r
+:0107ff009069\r
+:0108000003f4\r
+:0108010000f6\r
+:0108020000f5\r
+:0108030000f4\r
+:0108040000f3\r
+:0108050000f2\r
+:0108060000f1\r
+:0108070000f0\r
+:0108080000ef\r
+:0108090000ee\r
+:01080a0000ed\r
+:01080b0000ec\r
+:01080c0000eb\r
+:01080d0000ea\r
+:01080e0000e9\r
+:01080f0000e8\r
+:0108100000e7\r
+:0108110000e6\r
+:0108120000e5\r
+:0108130000e4\r
+:0108140000e3\r
+:0108150000e2\r
+:0108160000e1\r
+:0108170000e0\r
+:0108180000df\r
+:0108190000de\r
+:01081a0000dd\r
+:01081b0000dc\r
+:01081c0000db\r
+:01081d0000da\r
+:01081e0000d9\r
+:01081f0000d8\r
+:0108200000d7\r
+:0108210000d6\r
+:0108220000d5\r
+:0108230000d4\r
+:0108240000d3\r
+:0108250000d2\r
+:0108260000d1\r
+:0108270000d0\r
+:0108280000cf\r
+:0108290000ce\r
+:01082a0000cd\r
+:01082b0000cc\r
+:01082c0000cb\r
+:01082d0000ca\r
+:01082e0000c9\r
+:01082f0000c8\r
+:0108300000c7\r
+:0108310000c6\r
+:0108320000c5\r
+:0108330000c4\r
+:0108340000c3\r
+:0108350000c2\r
+:0108360000c1\r
+:0108370000c0\r
+:0108380000bf\r
+:0108390000be\r
+:01083a0000bd\r
+:01083b0000bc\r
+:01083c0000bb\r
+:01083d0000ba\r
+:01083e0000b9\r
+:01083f009028\r
+:0108400003b4\r
+:0108410000b6\r
+:0108420000b5\r
+:0108430000b4\r
+:0108440000b3\r
+:0108450000b2\r
+:0108460000b1\r
+:0108470000b0\r
+:0108480000af\r
+:0108490000ae\r
+:01084a0000ad\r
+:01084b0000ac\r
+:01084c0000ab\r
+:01084d0000aa\r
+:01084e0000a9\r
+:01084f0000a8\r
+:0108500000a7\r
+:0108510000a6\r
+:0108520000a5\r
+:0108530000a4\r
+:0108540000a3\r
+:0108550000a2\r
+:0108560000a1\r
+:0108570000a0\r
+:01085800009f\r
+:01085900009e\r
+:01085a00009d\r
+:01085b00009c\r
+:01085c00009b\r
+:01085d00009a\r
+:01085e000099\r
+:01085f000098\r
+:010860000097\r
+:010861000096\r
+:010862000095\r
+:010863000094\r
+:010864000093\r
+:010865000092\r
+:010866000091\r
+:010867000090\r
+:01086800008f\r
+:01086900008e\r
+:01086a00008d\r
+:01086b00008c\r
+:01086c00008b\r
+:01086d00008a\r
+:01086e000089\r
+:01086f000088\r
+:010870000087\r
+:010871000086\r
+:010872000085\r
+:010873000084\r
+:010874000083\r
+:010875000082\r
+:010876000081\r
+:010877000080\r
+:01087800007f\r
+:01087900007e\r
+:01087a00007d\r
+:01087b00007c\r
+:01087c00007b\r
+:01087d00007a\r
+:01087e000079\r
+:01087f0090e8\r
+:010880000374\r
+:010881000076\r
+:010882000075\r
+:010883000074\r
+:010884000073\r
+:010885000072\r
+:010886000071\r
+:010887000070\r
+:01088800006f\r
+:01088900006e\r
+:01088a00006d\r
+:01088b00006c\r
+:01088c00006b\r
+:01088d00006a\r
+:01088e000069\r
+:01088f000068\r
+:010890000067\r
+:010891000066\r
+:010892000065\r
+:010893000064\r
+:010894000063\r
+:010895000062\r
+:010896000061\r
+:010897000060\r
+:01089800005f\r
+:01089900005e\r
+:01089a00005d\r
+:01089b00005c\r
+:01089c00005b\r
+:01089d00005a\r
+:01089e000059\r
+:01089f000058\r
+:0108a0000057\r
+:0108a1000056\r
+:0108a2000055\r
+:0108a3000054\r
+:0108a4000053\r
+:0108a5000052\r
+:0108a6000051\r
+:0108a7000050\r
+:0108a800004f\r
+:0108a900004e\r
+:0108aa00004d\r
+:0108ab00004c\r
+:0108ac00004b\r
+:0108ad00004a\r
+:0108ae000049\r
+:0108af000048\r
+:0108b0000047\r
+:0108b1000046\r
+:0108b2000045\r
+:0108b3000044\r
+:0108b4000043\r
+:0108b5000042\r
+:0108b6000041\r
+:0108b7000040\r
+:0108b800003f\r
+:0108b900003e\r
+:0108ba00003d\r
+:0108bb00003c\r
+:0108bc00003b\r
+:0108bd00003a\r
+:0108be000039\r
+:0108bf0090a8\r
+:0108c0000334\r
+:0108c1000036\r
+:0108c2000035\r
+:0108c3000034\r
+:0108c4000033\r
+:0108c5000032\r
+:0108c6000031\r
+:0108c7000030\r
+:0108c800002f\r
+:0108c900002e\r
+:0108ca00002d\r
+:0108cb00002c\r
+:0108cc00002b\r
+:0108cd00002a\r
+:0108ce000029\r
+:0108cf000028\r
+:0108d0000027\r
+:0108d1000026\r
+:0108d2000025\r
+:0108d3000024\r
+:0108d4000023\r
+:0108d5000022\r
+:0108d6000021\r
+:0108d7000020\r
+:0108d800001f\r
+:0108d900001e\r
+:0108da00001d\r
+:0108db00001c\r
+:0108dc00001b\r
+:0108dd00001a\r
+:0108de000019\r
+:0108df000018\r
+:0108e0000017\r
+:0108e1000016\r
+:0108e2000015\r
+:0108e3000014\r
+:0108e4000013\r
+:0108e5000012\r
+:0108e6000011\r
+:0108e7000010\r
+:0108e800000f\r
+:0108e900000e\r
+:0108ea00000d\r
+:0108eb00000c\r
+:0108ec00000b\r
+:0108ed00000a\r
+:0108ee000009\r
+:0108ef000008\r
+:0108f0000007\r
+:0108f1000006\r
+:0108f2000005\r
+:0108f3000004\r
+:0108f4000003\r
+:0108f5000002\r
+:0108f6000001\r
+:0108f7000000\r
+:0108f80000ff\r
+:0108f90000fe\r
+:0108fa0000fd\r
+:0108fb0000fc\r
+:0108fc0000fb\r
+:0108fd0000fa\r
+:0108fe0000f9\r
+:0108ff009068\r
+:0109000003f3\r
+:0109010000f5\r
+:0109020000f4\r
+:0109030000f3\r
+:0109040000f2\r
+:0109050000f1\r
+:0109060000f0\r
+:0109070000ef\r
+:0109080000ee\r
+:0109090000ed\r
+:01090a0000ec\r
+:01090b0000eb\r
+:01090c0000ea\r
+:01090d0000e9\r
+:01090e0000e8\r
+:01090f0000e7\r
+:0109100000e6\r
+:0109110000e5\r
+:0109120000e4\r
+:0109130000e3\r
+:0109140000e2\r
+:0109150000e1\r
+:0109160000e0\r
+:0109170000df\r
+:0109180000de\r
+:0109190000dd\r
+:01091a0000dc\r
+:01091b0000db\r
+:01091c0000da\r
+:01091d0000d9\r
+:01091e0000d8\r
+:01091f0000d7\r
+:0109200000d6\r
+:0109210000d5\r
+:0109220000d4\r
+:0109230000d3\r
+:0109240000d2\r
+:0109250000d1\r
+:0109260000d0\r
+:0109270000cf\r
+:0109280000ce\r
+:0109290000cd\r
+:01092a0000cc\r
+:01092b0000cb\r
+:01092c0000ca\r
+:01092d0000c9\r
+:01092e0000c8\r
+:01092f0000c7\r
+:0109300000c6\r
+:0109310000c5\r
+:0109320000c4\r
+:0109330000c3\r
+:0109340000c2\r
+:0109350000c1\r
+:0109360000c0\r
+:0109370000bf\r
+:0109380000be\r
+:0109390000bd\r
+:01093a0000bc\r
+:01093b0000bb\r
+:01093c0000ba\r
+:01093d0000b9\r
+:01093e0000b8\r
+:01093f009027\r
+:0109400003b3\r
+:0109410000b5\r
+:0109420000b4\r
+:0109430000b3\r
+:0109440000b2\r
+:0109450000b1\r
+:0109460000b0\r
+:0109470000af\r
+:0109480000ae\r
+:0109490000ad\r
+:01094a0000ac\r
+:01094b0000ab\r
+:01094c0000aa\r
+:01094d0000a9\r
+:01094e0000a8\r
+:01094f0000a7\r
+:0109500000a6\r
+:0109510000a5\r
+:0109520000a4\r
+:0109530000a3\r
+:0109540000a2\r
+:0109550000a1\r
+:0109560000a0\r
+:01095700009f\r
+:01095800009e\r
+:01095900009d\r
+:01095a00009c\r
+:01095b00009b\r
+:01095c00009a\r
+:01095d000099\r
+:01095e000098\r
+:01095f000097\r
+:010960000096\r
+:010961000095\r
+:010962000094\r
+:010963000093\r
+:010964000092\r
+:010965000091\r
+:010966000090\r
+:01096700008f\r
+:01096800008e\r
+:01096900008d\r
+:01096a00008c\r
+:01096b00008b\r
+:01096c00008a\r
+:01096d000089\r
+:01096e000088\r
+:01096f000087\r
+:010970000086\r
+:010971000085\r
+:010972000084\r
+:010973000083\r
+:010974000082\r
+:010975000081\r
+:010976000080\r
+:01097700007f\r
+:01097800007e\r
+:01097900007d\r
+:01097a00007c\r
+:01097b00007b\r
+:01097c00007a\r
+:01097d000079\r
+:01097e000078\r
+:01097f0090e7\r
+:010980000373\r
+:010981000075\r
+:010982000074\r
+:010983000073\r
+:010984000072\r
+:010985000071\r
+:010986000070\r
+:01098700006f\r
+:01098800006e\r
+:01098900006d\r
+:01098a00006c\r
+:01098b00006b\r
+:01098c00006a\r
+:01098d000069\r
+:01098e000068\r
+:01098f000067\r
+:010990000066\r
+:010991000065\r
+:010992000064\r
+:010993000063\r
+:010994000062\r
+:010995000061\r
+:010996000060\r
+:01099700005f\r
+:01099800005e\r
+:01099900005d\r
+:01099a00005c\r
+:01099b00005b\r
+:01099c00005a\r
+:01099d000059\r
+:01099e000058\r
+:01099f000057\r
+:0109a0000056\r
+:0109a1000055\r
+:0109a2000054\r
+:0109a3000053\r
+:0109a4000052\r
+:0109a5000051\r
+:0109a6000050\r
+:0109a700004f\r
+:0109a800004e\r
+:0109a900004d\r
+:0109aa00004c\r
+:0109ab00004b\r
+:0109ac00004a\r
+:0109ad000049\r
+:0109ae000048\r
+:0109af000047\r
+:0109b0000046\r
+:0109b1000045\r
+:0109b2000044\r
+:0109b3000043\r
+:0109b4000042\r
+:0109b5000041\r
+:0109b6000040\r
+:0109b700003f\r
+:0109b800003e\r
+:0109b900003d\r
+:0109ba00003c\r
+:0109bb00003b\r
+:0109bc00003a\r
+:0109bd000039\r
+:0109be000038\r
+:0109bf0090a7\r
+:0109c0000333\r
+:0109c1000035\r
+:0109c2000034\r
+:0109c3000033\r
+:0109c4000032\r
+:0109c5000031\r
+:0109c6000030\r
+:0109c700002f\r
+:0109c800002e\r
+:0109c900002d\r
+:0109ca00002c\r
+:0109cb00002b\r
+:0109cc00002a\r
+:0109cd000029\r
+:0109ce000028\r
+:0109cf000027\r
+:0109d0000026\r
+:0109d1000025\r
+:0109d2000024\r
+:0109d3000023\r
+:0109d4000022\r
+:0109d5000021\r
+:0109d6000020\r
+:0109d700001f\r
+:0109d800001e\r
+:0109d900001d\r
+:0109da00001c\r
+:0109db00001b\r
+:0109dc00001a\r
+:0109dd000019\r
+:0109de000018\r
+:0109df000017\r
+:0109e0000016\r
+:0109e1000015\r
+:0109e2000014\r
+:0109e3000013\r
+:0109e4000012\r
+:0109e5000011\r
+:0109e6000010\r
+:0109e700000f\r
+:0109e800000e\r
+:0109e900000d\r
+:0109ea00000c\r
+:0109eb00000b\r
+:0109ec00000a\r
+:0109ed000009\r
+:0109ee000008\r
+:0109ef000007\r
+:0109f0000006\r
+:0109f1000005\r
+:0109f2000004\r
+:0109f3000003\r
+:0109f4000002\r
+:0109f5000001\r
+:0109f6000000\r
+:0109f70000ff\r
+:0109f80000fe\r
+:0109f90000fd\r
+:0109fa0000fc\r
+:0109fb0000fb\r
+:0109fc0000fa\r
+:0109fd0000f9\r
+:0109fe0000f8\r
+:0109ff009067\r
+:010a000003f2\r
+:010a010000f4\r
+:010a020000f3\r
+:010a030000f2\r
+:010a040000f1\r
+:010a050000f0\r
+:010a060000ef\r
+:010a070000ee\r
+:010a080000ed\r
+:010a090000ec\r
+:010a0a0000eb\r
+:010a0b0000ea\r
+:010a0c0000e9\r
+:010a0d0000e8\r
+:010a0e0000e7\r
+:010a0f0000e6\r
+:010a100000e5\r
+:010a110000e4\r
+:010a120000e3\r
+:010a130000e2\r
+:010a140000e1\r
+:010a150000e0\r
+:010a160000df\r
+:010a170000de\r
+:010a180000dd\r
+:010a190000dc\r
+:010a1a0000db\r
+:010a1b0000da\r
+:010a1c0000d9\r
+:010a1d0000d8\r
+:010a1e0000d7\r
+:010a1f0000d6\r
+:010a200000d5\r
+:010a210000d4\r
+:010a220000d3\r
+:010a230000d2\r
+:010a240000d1\r
+:010a250000d0\r
+:010a260000cf\r
+:010a270000ce\r
+:010a280000cd\r
+:010a290000cc\r
+:010a2a0000cb\r
+:010a2b0000ca\r
+:010a2c0000c9\r
+:010a2d0000c8\r
+:010a2e0000c7\r
+:010a2f0000c6\r
+:010a300000c5\r
+:010a310000c4\r
+:010a320000c3\r
+:010a330000c2\r
+:010a340000c1\r
+:010a350000c0\r
+:010a360000bf\r
+:010a370000be\r
+:010a380000bd\r
+:010a390000bc\r
+:010a3a0000bb\r
+:010a3b0000ba\r
+:010a3c0000b9\r
+:010a3d0000b8\r
+:010a3e0000b7\r
+:010a3f009026\r
+:010a400003b2\r
+:010a410000b4\r
+:010a420000b3\r
+:010a430000b2\r
+:010a440000b1\r
+:010a450000b0\r
+:010a460000af\r
+:010a470000ae\r
+:010a480000ad\r
+:010a490000ac\r
+:010a4a0000ab\r
+:010a4b0000aa\r
+:010a4c0000a9\r
+:010a4d0000a8\r
+:010a4e0000a7\r
+:010a4f0000a6\r
+:010a500000a5\r
+:010a510000a4\r
+:010a520000a3\r
+:010a530000a2\r
+:010a540000a1\r
+:010a550000a0\r
+:010a5600009f\r
+:010a5700009e\r
+:010a5800009d\r
+:010a5900009c\r
+:010a5a00009b\r
+:010a5b00009a\r
+:010a5c000099\r
+:010a5d000098\r
+:010a5e000097\r
+:010a5f000096\r
+:010a60000095\r
+:010a61000094\r
+:010a62000093\r
+:010a63000092\r
+:010a64000091\r
+:010a65000090\r
+:010a6600008f\r
+:010a6700008e\r
+:010a6800008d\r
+:010a6900008c\r
+:010a6a00008b\r
+:010a6b00008a\r
+:010a6c000089\r
+:010a6d000088\r
+:010a6e000087\r
+:010a6f000086\r
+:010a70000085\r
+:010a71000084\r
+:010a72000083\r
+:010a73000082\r
+:010a74000081\r
+:010a75000080\r
+:010a7600007f\r
+:010a7700007e\r
+:010a7800007d\r
+:010a7900007c\r
+:010a7a00007b\r
+:010a7b00007a\r
+:010a7c000079\r
+:010a7d000078\r
+:010a7e000077\r
+:010a7f0090e6\r
+:010a80000372\r
+:010a81000074\r
+:010a82000073\r
+:010a83000072\r
+:010a84000071\r
+:010a85000070\r
+:010a8600006f\r
+:010a8700006e\r
+:010a8800006d\r
+:010a8900006c\r
+:010a8a00006b\r
+:010a8b00006a\r
+:010a8c000069\r
+:010a8d000068\r
+:010a8e000067\r
+:010a8f000066\r
+:010a90000065\r
+:010a91000064\r
+:010a92000063\r
+:010a93000062\r
+:010a94000061\r
+:010a95000060\r
+:010a9600005f\r
+:010a9700005e\r
+:010a9800005d\r
+:010a9900005c\r
+:010a9a00005b\r
+:010a9b00005a\r
+:010a9c000059\r
+:010a9d000058\r
+:010a9e000057\r
+:010a9f000056\r
+:010aa0000055\r
+:010aa1000054\r
+:010aa2000053\r
+:010aa3000052\r
+:010aa4000051\r
+:010aa5000050\r
+:010aa600004f\r
+:010aa700004e\r
+:010aa800004d\r
+:010aa900004c\r
+:010aaa00004b\r
+:010aab00004a\r
+:010aac000049\r
+:010aad000048\r
+:010aae000047\r
+:010aaf000046\r
+:010ab0000045\r
+:010ab1000044\r
+:010ab2000043\r
+:010ab3000042\r
+:010ab4000041\r
+:010ab5000040\r
+:010ab600003f\r
+:010ab700003e\r
+:010ab800003d\r
+:010ab900003c\r
+:010aba00003b\r
+:010abb00003a\r
+:010abc000039\r
+:010abd000038\r
+:010abe000037\r
+:010abf0090a6\r
+:010ac0000332\r
+:010ac1000034\r
+:010ac2000033\r
+:010ac3000032\r
+:010ac4000031\r
+:010ac5000030\r
+:010ac600002f\r
+:010ac700002e\r
+:010ac800002d\r
+:010ac900002c\r
+:010aca00002b\r
+:010acb00002a\r
+:010acc000029\r
+:010acd000028\r
+:010ace000027\r
+:010acf000026\r
+:010ad0000025\r
+:010ad1000024\r
+:010ad2000023\r
+:010ad3000022\r
+:010ad4000021\r
+:010ad5000020\r
+:010ad600001f\r
+:010ad700001e\r
+:010ad800001d\r
+:010ad900001c\r
+:010ada00001b\r
+:010adb00001a\r
+:010adc000019\r
+:010add000018\r
+:010ade000017\r
+:010adf000016\r
+:010ae0000015\r
+:010ae1000014\r
+:010ae2000013\r
+:010ae3000012\r
+:010ae4000011\r
+:010ae5000010\r
+:010ae600000f\r
+:010ae700000e\r
+:010ae800000d\r
+:010ae900000c\r
+:010aea00000b\r
+:010aeb00000a\r
+:010aec000009\r
+:010aed000008\r
+:010aee000007\r
+:010aef000006\r
+:010af0000005\r
+:010af1000004\r
+:010af2000003\r
+:010af3000002\r
+:010af4000001\r
+:010af5000000\r
+:010af60000ff\r
+:010af70000fe\r
+:010af80000fd\r
+:010af90000fc\r
+:010afa0000fb\r
+:010afb0000fa\r
+:010afc0000f9\r
+:010afd0000f8\r
+:010afe0000f7\r
+:010aff009066\r
+:010b000003f1\r
+:010b010000f3\r
+:010b020000f2\r
+:010b030000f1\r
+:010b040000f0\r
+:010b050000ef\r
+:010b060000ee\r
+:010b070000ed\r
+:010b080000ec\r
+:010b090000eb\r
+:010b0a0000ea\r
+:010b0b0000e9\r
+:010b0c0000e8\r
+:010b0d0000e7\r
+:010b0e0000e6\r
+:010b0f0000e5\r
+:010b100000e4\r
+:010b110000e3\r
+:010b120000e2\r
+:010b130000e1\r
+:010b140000e0\r
+:010b150000df\r
+:010b160000de\r
+:010b170000dd\r
+:010b180000dc\r
+:010b190000db\r
+:010b1a0000da\r
+:010b1b0000d9\r
+:010b1c0000d8\r
+:010b1d0000d7\r
+:010b1e0000d6\r
+:010b1f0000d5\r
+:010b200000d4\r
+:010b210000d3\r
+:010b220000d2\r
+:010b230000d1\r
+:010b240000d0\r
+:010b250000cf\r
+:010b260000ce\r
+:010b270000cd\r
+:010b280000cc\r
+:010b290000cb\r
+:010b2a0000ca\r
+:010b2b0000c9\r
+:010b2c0000c8\r
+:010b2d0000c7\r
+:010b2e0000c6\r
+:010b2f0000c5\r
+:010b300000c4\r
+:010b310000c3\r
+:010b320000c2\r
+:010b330000c1\r
+:010b340000c0\r
+:010b350000bf\r
+:010b360000be\r
+:010b370000bd\r
+:010b380000bc\r
+:010b390000bb\r
+:010b3a0000ba\r
+:010b3b0000b9\r
+:010b3c0000b8\r
+:010b3d0000b7\r
+:010b3e0000b6\r
+:010b3f009025\r
+:010b400003b1\r
+:010b410000b3\r
+:010b420000b2\r
+:010b430000b1\r
+:010b440000b0\r
+:010b450000af\r
+:010b460000ae\r
+:010b470000ad\r
+:010b480000ac\r
+:010b490000ab\r
+:010b4a0000aa\r
+:010b4b0000a9\r
+:010b4c0000a8\r
+:010b4d0000a7\r
+:010b4e0000a6\r
+:010b4f0000a5\r
+:010b500000a4\r
+:010b510000a3\r
+:010b520000a2\r
+:010b530000a1\r
+:010b540000a0\r
+:010b5500009f\r
+:010b5600009e\r
+:010b5700009d\r
+:010b5800009c\r
+:010b5900009b\r
+:010b5a00009a\r
+:010b5b000099\r
+:010b5c000098\r
+:010b5d000097\r
+:010b5e000096\r
+:010b5f000095\r
+:010b60000094\r
+:010b61000093\r
+:010b62000092\r
+:010b63000091\r
+:010b64000090\r
+:010b6500008f\r
+:010b6600008e\r
+:010b6700008d\r
+:010b6800008c\r
+:010b6900008b\r
+:010b6a00008a\r
+:010b6b000089\r
+:010b6c000088\r
+:010b6d000087\r
+:010b6e000086\r
+:010b6f000085\r
+:010b70000084\r
+:010b71000083\r
+:010b72000082\r
+:010b73000081\r
+:010b74000080\r
+:010b7500007f\r
+:010b7600007e\r
+:010b7700007d\r
+:010b7800007c\r
+:010b7900007b\r
+:010b7a00007a\r
+:010b7b000079\r
+:010b7c000078\r
+:010b7d000077\r
+:010b7e000076\r
+:010b7f0090e5\r
+:010b80000371\r
+:010b81000073\r
+:010b82000072\r
+:010b83000071\r
+:010b84000070\r
+:010b8500006f\r
+:010b8600006e\r
+:010b8700006d\r
+:010b8800006c\r
+:010b8900006b\r
+:010b8a00006a\r
+:010b8b000069\r
+:010b8c000068\r
+:010b8d000067\r
+:010b8e000066\r
+:010b8f000065\r
+:010b90000064\r
+:010b91000063\r
+:010b92000062\r
+:010b93000061\r
+:010b94000060\r
+:010b9500005f\r
+:010b9600005e\r
+:010b9700005d\r
+:010b9800005c\r
+:010b9900005b\r
+:010b9a00005a\r
+:010b9b000059\r
+:010b9c000058\r
+:010b9d000057\r
+:010b9e000056\r
+:010b9f000055\r
+:010ba0000054\r
+:010ba1000053\r
+:010ba2000052\r
+:010ba3000051\r
+:010ba4000050\r
+:010ba500004f\r
+:010ba600004e\r
+:010ba700004d\r
+:010ba800004c\r
+:010ba900004b\r
+:010baa00004a\r
+:010bab000049\r
+:010bac000048\r
+:010bad000047\r
+:010bae000046\r
+:010baf000045\r
+:010bb0000044\r
+:010bb1000043\r
+:010bb2000042\r
+:010bb3000041\r
+:010bb4000040\r
+:010bb500003f\r
+:010bb600003e\r
+:010bb700003d\r
+:010bb800003c\r
+:010bb900003b\r
+:010bba00003a\r
+:010bbb000039\r
+:010bbc000038\r
+:010bbd000037\r
+:010bbe000036\r
+:010bbf0090a5\r
+:010bc0000331\r
+:010bc1000033\r
+:010bc2000032\r
+:010bc3000031\r
+:010bc4000030\r
+:010bc500002f\r
+:010bc600002e\r
+:010bc700002d\r
+:010bc800002c\r
+:010bc900002b\r
+:010bca00002a\r
+:010bcb000029\r
+:010bcc000028\r
+:010bcd000027\r
+:010bce000026\r
+:010bcf000025\r
+:010bd0000024\r
+:010bd1000023\r
+:010bd2000022\r
+:010bd3000021\r
+:010bd4000020\r
+:010bd500001f\r
+:010bd600001e\r
+:010bd700001d\r
+:010bd800001c\r
+:010bd900001b\r
+:010bda00001a\r
+:010bdb000019\r
+:010bdc000018\r
+:010bdd000017\r
+:010bde000016\r
+:010bdf000015\r
+:010be0000014\r
+:010be1000013\r
+:010be2000012\r
+:010be3000011\r
+:010be4000010\r
+:010be500000f\r
+:010be600000e\r
+:010be700000d\r
+:010be800000c\r
+:010be900000b\r
+:010bea00000a\r
+:010beb000009\r
+:010bec000008\r
+:010bed000007\r
+:010bee000006\r
+:010bef000005\r
+:010bf0000004\r
+:010bf1000003\r
+:010bf2000002\r
+:010bf3000001\r
+:010bf4000000\r
+:010bf50000ff\r
+:010bf60000fe\r
+:010bf70000fd\r
+:010bf80000fc\r
+:010bf90000fb\r
+:010bfa0000fa\r
+:010bfb0000f9\r
+:010bfc0000f8\r
+:010bfd0000f7\r
+:010bfe0000f6\r
+:010bff009065\r
+:010c000003f0\r
+:010c010000f2\r
+:010c020000f1\r
+:010c030000f0\r
+:010c040000ef\r
+:010c050000ee\r
+:010c060000ed\r
+:010c070000ec\r
+:010c080000eb\r
+:010c090000ea\r
+:010c0a0000e9\r
+:010c0b0000e8\r
+:010c0c0000e7\r
+:010c0d0000e6\r
+:010c0e0000e5\r
+:010c0f0000e4\r
+:010c100000e3\r
+:010c110000e2\r
+:010c120000e1\r
+:010c130000e0\r
+:010c140000df\r
+:010c150000de\r
+:010c160000dd\r
+:010c170000dc\r
+:010c180000db\r
+:010c190000da\r
+:010c1a0000d9\r
+:010c1b0000d8\r
+:010c1c0000d7\r
+:010c1d0000d6\r
+:010c1e0000d5\r
+:010c1f0000d4\r
+:010c200000d3\r
+:010c210000d2\r
+:010c220000d1\r
+:010c230000d0\r
+:010c240000cf\r
+:010c250000ce\r
+:010c260000cd\r
+:010c270000cc\r
+:010c280000cb\r
+:010c290000ca\r
+:010c2a0000c9\r
+:010c2b0000c8\r
+:010c2c0000c7\r
+:010c2d0000c6\r
+:010c2e0000c5\r
+:010c2f0000c4\r
+:010c300000c3\r
+:010c310000c2\r
+:010c320000c1\r
+:010c330000c0\r
+:010c340000bf\r
+:010c350000be\r
+:010c360000bd\r
+:010c370000bc\r
+:010c380000bb\r
+:010c390000ba\r
+:010c3a0000b9\r
+:010c3b0000b8\r
+:010c3c0000b7\r
+:010c3d0000b6\r
+:010c3e0000b5\r
+:010c3f009024\r
+:010c400003b0\r
+:010c410000b2\r
+:010c420000b1\r
+:010c430000b0\r
+:010c440000af\r
+:010c450000ae\r
+:010c460000ad\r
+:010c470000ac\r
+:010c480000ab\r
+:010c490000aa\r
+:010c4a0000a9\r
+:010c4b0000a8\r
+:010c4c0000a7\r
+:010c4d0000a6\r
+:010c4e0000a5\r
+:010c4f0000a4\r
+:010c500000a3\r
+:010c510000a2\r
+:010c520000a1\r
+:010c530000a0\r
+:010c5400009f\r
+:010c5500009e\r
+:010c5600009d\r
+:010c5700009c\r
+:010c5800009b\r
+:010c5900009a\r
+:010c5a000099\r
+:010c5b000098\r
+:010c5c000097\r
+:010c5d000096\r
+:010c5e000095\r
+:010c5f000094\r
+:010c60000093\r
+:010c61000092\r
+:010c62000091\r
+:010c63000090\r
+:010c6400008f\r
+:010c6500008e\r
+:010c6600008d\r
+:010c6700008c\r
+:010c6800008b\r
+:010c6900008a\r
+:010c6a000089\r
+:010c6b000088\r
+:010c6c000087\r
+:010c6d000086\r
+:010c6e000085\r
+:010c6f000084\r
+:010c70000083\r
+:010c71000082\r
+:010c72000081\r
+:010c73000080\r
+:010c7400007f\r
+:010c7500007e\r
+:010c7600007d\r
+:010c7700007c\r
+:010c7800007b\r
+:010c7900007a\r
+:010c7a000079\r
+:010c7b000078\r
+:010c7c000077\r
+:010c7d000076\r
+:010c7e000075\r
+:010c7f0090e4\r
+:010c80000370\r
+:010c81000072\r
+:010c82000071\r
+:010c83000070\r
+:010c8400006f\r
+:010c8500006e\r
+:010c8600006d\r
+:010c8700006c\r
+:010c8800006b\r
+:010c8900006a\r
+:010c8a000069\r
+:010c8b000068\r
+:010c8c000067\r
+:010c8d000066\r
+:010c8e000065\r
+:010c8f000064\r
+:010c90000063\r
+:010c91000062\r
+:010c92000061\r
+:010c93000060\r
+:010c9400005f\r
+:010c9500005e\r
+:010c9600005d\r
+:010c9700005c\r
+:010c9800005b\r
+:010c9900005a\r
+:010c9a000059\r
+:010c9b000058\r
+:010c9c000057\r
+:010c9d000056\r
+:010c9e000055\r
+:010c9f000054\r
+:010ca0000053\r
+:010ca1000052\r
+:010ca2000051\r
+:010ca3000050\r
+:010ca400004f\r
+:010ca500004e\r
+:010ca600004d\r
+:010ca700004c\r
+:010ca800004b\r
+:010ca900004a\r
+:010caa000049\r
+:010cab000048\r
+:010cac000047\r
+:010cad000046\r
+:010cae000045\r
+:010caf000044\r
+:010cb0000043\r
+:010cb1000042\r
+:010cb2000041\r
+:010cb3000040\r
+:010cb400003f\r
+:010cb500003e\r
+:010cb600003d\r
+:010cb700003c\r
+:010cb800003b\r
+:010cb900003a\r
+:010cba000039\r
+:010cbb000038\r
+:010cbc000037\r
+:010cbd000036\r
+:010cbe000035\r
+:010cbf0090a4\r
+:010cc0000330\r
+:010cc1000032\r
+:010cc2000031\r
+:010cc3000030\r
+:010cc400002f\r
+:010cc500002e\r
+:010cc600002d\r
+:010cc700002c\r
+:010cc800002b\r
+:010cc900002a\r
+:010cca000029\r
+:010ccb000028\r
+:010ccc000027\r
+:010ccd000026\r
+:010cce000025\r
+:010ccf000024\r
+:010cd0000023\r
+:010cd1000022\r
+:010cd2000021\r
+:010cd3000020\r
+:010cd400001f\r
+:010cd500001e\r
+:010cd600001d\r
+:010cd700001c\r
+:010cd800001b\r
+:010cd900001a\r
+:010cda000019\r
+:010cdb000018\r
+:010cdc000017\r
+:010cdd000016\r
+:010cde000015\r
+:010cdf000014\r
+:010ce0000013\r
+:010ce1000012\r
+:010ce2000011\r
+:010ce3000010\r
+:010ce400000f\r
+:010ce500000e\r
+:010ce600000d\r
+:010ce700000c\r
+:010ce800000b\r
+:010ce900000a\r
+:010cea000009\r
+:010ceb000008\r
+:010cec000007\r
+:010ced000006\r
+:010cee000005\r
+:010cef000004\r
+:010cf0000003\r
+:010cf1000002\r
+:010cf2000001\r
+:010cf3000000\r
+:010cf40000ff\r
+:010cf50000fe\r
+:010cf60000fd\r
+:010cf70000fc\r
+:010cf80000fb\r
+:010cf90000fa\r
+:010cfa0000f9\r
+:010cfb0000f8\r
+:010cfc0000f7\r
+:010cfd0000f6\r
+:010cfe0000f5\r
+:010cff009064\r
+:010d000003ef\r
+:010d010000f1\r
+:010d020000f0\r
+:010d030000ef\r
+:010d040000ee\r
+:010d050000ed\r
+:010d060000ec\r
+:010d070000eb\r
+:010d080000ea\r
+:010d090000e9\r
+:010d0a0000e8\r
+:010d0b0000e7\r
+:010d0c0000e6\r
+:010d0d0000e5\r
+:010d0e0000e4\r
+:010d0f0000e3\r
+:010d100000e2\r
+:010d110000e1\r
+:010d120000e0\r
+:010d130000df\r
+:010d140000de\r
+:010d150000dd\r
+:010d160000dc\r
+:010d170000db\r
+:010d180000da\r
+:010d190000d9\r
+:010d1a0000d8\r
+:010d1b0000d7\r
+:010d1c0000d6\r
+:010d1d0000d5\r
+:010d1e0000d4\r
+:010d1f0000d3\r
+:010d200000d2\r
+:010d210000d1\r
+:010d220000d0\r
+:010d230000cf\r
+:010d240000ce\r
+:010d250000cd\r
+:010d260000cc\r
+:010d270000cb\r
+:010d280000ca\r
+:010d290000c9\r
+:010d2a0000c8\r
+:010d2b0000c7\r
+:010d2c0000c6\r
+:010d2d0000c5\r
+:010d2e0000c4\r
+:010d2f0000c3\r
+:010d300000c2\r
+:010d310000c1\r
+:010d320000c0\r
+:010d330000bf\r
+:010d340000be\r
+:010d350000bd\r
+:010d360000bc\r
+:010d370000bb\r
+:010d380000ba\r
+:010d390000b9\r
+:010d3a0000b8\r
+:010d3b0000b7\r
+:010d3c0000b6\r
+:010d3d0000b5\r
+:010d3e0000b4\r
+:010d3f009023\r
+:010d400003af\r
+:010d410000b1\r
+:010d420000b0\r
+:010d430000af\r
+:010d440000ae\r
+:010d450000ad\r
+:010d460000ac\r
+:010d470000ab\r
+:010d480000aa\r
+:010d490000a9\r
+:010d4a0000a8\r
+:010d4b0000a7\r
+:010d4c0000a6\r
+:010d4d0000a5\r
+:010d4e0000a4\r
+:010d4f0000a3\r
+:010d500000a2\r
+:010d510000a1\r
+:010d520000a0\r
+:010d5300009f\r
+:010d5400009e\r
+:010d5500009d\r
+:010d5600009c\r
+:010d5700009b\r
+:010d5800009a\r
+:010d59000099\r
+:010d5a000098\r
+:010d5b000097\r
+:010d5c000096\r
+:010d5d000095\r
+:010d5e000094\r
+:010d5f000093\r
+:010d60000092\r
+:010d61000091\r
+:010d62000090\r
+:010d6300008f\r
+:010d6400008e\r
+:010d6500008d\r
+:010d6600008c\r
+:010d6700008b\r
+:010d6800008a\r
+:010d69000089\r
+:010d6a000088\r
+:010d6b000087\r
+:010d6c000086\r
+:010d6d000085\r
+:010d6e000084\r
+:010d6f000083\r
+:010d70000082\r
+:010d71000081\r
+:010d72000080\r
+:010d7300007f\r
+:010d7400007e\r
+:010d7500007d\r
+:010d7600007c\r
+:010d7700007b\r
+:010d7800007a\r
+:010d79000079\r
+:010d7a000078\r
+:010d7b000077\r
+:010d7c000076\r
+:010d7d000075\r
+:010d7e000074\r
+:010d7f0090e3\r
+:010d8000036f\r
+:010d81000071\r
+:010d82000070\r
+:010d8300006f\r
+:010d8400006e\r
+:010d8500006d\r
+:010d8600006c\r
+:010d8700006b\r
+:010d8800006a\r
+:010d89000069\r
+:010d8a000068\r
+:010d8b000067\r
+:010d8c000066\r
+:010d8d000065\r
+:010d8e000064\r
+:010d8f000063\r
+:010d90000062\r
+:010d91000061\r
+:010d92000060\r
+:010d9300005f\r
+:010d9400005e\r
+:010d9500005d\r
+:010d9600005c\r
+:010d9700005b\r
+:010d9800005a\r
+:010d99000059\r
+:010d9a000058\r
+:010d9b000057\r
+:010d9c000056\r
+:010d9d000055\r
+:010d9e000054\r
+:010d9f000053\r
+:010da0000052\r
+:010da1000051\r
+:010da2000050\r
+:010da300004f\r
+:010da400004e\r
+:010da500004d\r
+:010da600004c\r
+:010da700004b\r
+:010da800004a\r
+:010da9000049\r
+:010daa000048\r
+:010dab000047\r
+:010dac000046\r
+:010dad000045\r
+:010dae000044\r
+:010daf000043\r
+:010db0000042\r
+:010db1000041\r
+:010db2000040\r
+:010db300003f\r
+:010db400003e\r
+:010db500003d\r
+:010db600003c\r
+:010db700003b\r
+:010db800003a\r
+:010db9000039\r
+:010dba000038\r
+:010dbb000037\r
+:010dbc000036\r
+:010dbd000035\r
+:010dbe000034\r
+:010dbf0090a3\r
+:010dc000032f\r
+:010dc1000031\r
+:010dc2000030\r
+:010dc300002f\r
+:010dc400002e\r
+:010dc500002d\r
+:010dc600002c\r
+:010dc700002b\r
+:010dc800002a\r
+:010dc9000029\r
+:010dca000028\r
+:010dcb000027\r
+:010dcc000026\r
+:010dcd000025\r
+:010dce000024\r
+:010dcf000023\r
+:010dd0000022\r
+:010dd1000021\r
+:010dd2000020\r
+:010dd300001f\r
+:010dd400001e\r
+:010dd500001d\r
+:010dd600001c\r
+:010dd700001b\r
+:010dd800001a\r
+:010dd9000019\r
+:010dda000018\r
+:010ddb000017\r
+:010ddc000016\r
+:010ddd000015\r
+:010dde000014\r
+:010ddf000013\r
+:010de0000012\r
+:010de1000011\r
+:010de2000010\r
+:010de300000f\r
+:010de400000e\r
+:010de500000d\r
+:010de600000c\r
+:010de700000b\r
+:010de800000a\r
+:010de9000009\r
+:010dea000008\r
+:010deb000007\r
+:010dec000006\r
+:010ded000005\r
+:010dee000004\r
+:010def000003\r
+:010df0000002\r
+:010df1000001\r
+:010df2000000\r
+:010df30000ff\r
+:010df40000fe\r
+:010df50000fd\r
+:010df60000fc\r
+:010df70000fb\r
+:010df80000fa\r
+:010df90000f9\r
+:010dfa0000f8\r
+:010dfb0000f7\r
+:010dfc0000f6\r
+:010dfd0000f5\r
+:010dfe0000f4\r
+:010dff009063\r
+:010e000003ee\r
+:010e010000f0\r
+:010e020000ef\r
+:010e030000ee\r
+:010e040000ed\r
+:010e050000ec\r
+:010e060000eb\r
+:010e070000ea\r
+:010e080000e9\r
+:010e090000e8\r
+:010e0a0000e7\r
+:010e0b0000e6\r
+:010e0c0000e5\r
+:010e0d0000e4\r
+:010e0e0000e3\r
+:010e0f0000e2\r
+:010e100000e1\r
+:010e110000e0\r
+:010e120000df\r
+:010e130000de\r
+:010e140000dd\r
+:010e150000dc\r
+:010e160000db\r
+:010e170000da\r
+:010e180000d9\r
+:010e190000d8\r
+:010e1a0000d7\r
+:010e1b0000d6\r
+:010e1c0000d5\r
+:010e1d0000d4\r
+:010e1e0000d3\r
+:010e1f0000d2\r
+:010e200000d1\r
+:010e210000d0\r
+:010e220000cf\r
+:010e230000ce\r
+:010e240000cd\r
+:010e250000cc\r
+:010e260000cb\r
+:010e270000ca\r
+:010e280000c9\r
+:010e290000c8\r
+:010e2a0000c7\r
+:010e2b0000c6\r
+:010e2c0000c5\r
+:010e2d0000c4\r
+:010e2e0000c3\r
+:010e2f0000c2\r
+:010e300000c1\r
+:010e310000c0\r
+:010e320000bf\r
+:010e330000be\r
+:010e340000bd\r
+:010e350000bc\r
+:010e360000bb\r
+:010e370000ba\r
+:010e380000b9\r
+:010e390000b8\r
+:010e3a0000b7\r
+:010e3b0000b6\r
+:010e3c0000b5\r
+:010e3d0000b4\r
+:010e3e0000b3\r
+:010e3f009022\r
+:010e400003ae\r
+:010e410000b0\r
+:010e420000af\r
+:010e430000ae\r
+:010e440000ad\r
+:010e450000ac\r
+:010e460000ab\r
+:010e470000aa\r
+:010e480000a9\r
+:010e490000a8\r
+:010e4a0000a7\r
+:010e4b0000a6\r
+:010e4c0000a5\r
+:010e4d0000a4\r
+:010e4e0000a3\r
+:010e4f0000a2\r
+:010e500000a1\r
+:010e510000a0\r
+:010e5200009f\r
+:010e5300009e\r
+:010e5400009d\r
+:010e5500009c\r
+:010e5600009b\r
+:010e5700009a\r
+:010e58000099\r
+:010e59000098\r
+:010e5a000097\r
+:010e5b000096\r
+:010e5c000095\r
+:010e5d000094\r
+:010e5e000093\r
+:010e5f000092\r
+:010e60000091\r
+:010e61000090\r
+:010e6200008f\r
+:010e6300008e\r
+:010e6400008d\r
+:010e6500008c\r
+:010e6600008b\r
+:010e6700008a\r
+:010e68000089\r
+:010e69000088\r
+:010e6a000087\r
+:010e6b000086\r
+:010e6c000085\r
+:010e6d000084\r
+:010e6e000083\r
+:010e6f000082\r
+:010e70000081\r
+:010e71000080\r
+:010e7200007f\r
+:010e7300007e\r
+:010e7400007d\r
+:010e7500007c\r
+:010e7600007b\r
+:010e7700007a\r
+:010e78000079\r
+:010e79000078\r
+:010e7a000077\r
+:010e7b000076\r
+:010e7c000075\r
+:010e7d000074\r
+:010e7e000073\r
+:010e7f0090e2\r
+:010e8000036e\r
+:010e81000070\r
+:010e8200006f\r
+:010e8300006e\r
+:010e8400006d\r
+:010e8500006c\r
+:010e8600006b\r
+:010e8700006a\r
+:010e88000069\r
+:010e89000068\r
+:010e8a000067\r
+:010e8b000066\r
+:010e8c000065\r
+:010e8d000064\r
+:010e8e000063\r
+:010e8f000062\r
+:010e90000061\r
+:010e91000060\r
+:010e9200005f\r
+:010e9300005e\r
+:010e9400005d\r
+:010e9500005c\r
+:010e9600005b\r
+:010e9700005a\r
+:010e98000059\r
+:010e99000058\r
+:010e9a000057\r
+:010e9b000056\r
+:010e9c000055\r
+:010e9d000054\r
+:010e9e000053\r
+:010e9f000052\r
+:010ea0000051\r
+:010ea1000050\r
+:010ea200004f\r
+:010ea300004e\r
+:010ea400004d\r
+:010ea500004c\r
+:010ea600004b\r
+:010ea700004a\r
+:010ea8000049\r
+:010ea9000048\r
+:010eaa000047\r
+:010eab000046\r
+:010eac000045\r
+:010ead000044\r
+:010eae000043\r
+:010eaf000042\r
+:010eb0000041\r
+:010eb1000040\r
+:010eb200003f\r
+:010eb300003e\r
+:010eb400003d\r
+:010eb500003c\r
+:010eb600003b\r
+:010eb700003a\r
+:010eb8000039\r
+:010eb9000038\r
+:010eba000037\r
+:010ebb000036\r
+:010ebc000035\r
+:010ebd000034\r
+:010ebe000033\r
+:010ebf0090a2\r
+:010ec000032e\r
+:010ec1000030\r
+:010ec200002f\r
+:010ec300002e\r
+:010ec400002d\r
+:010ec500002c\r
+:010ec600002b\r
+:010ec700002a\r
+:010ec8000029\r
+:010ec9000028\r
+:010eca000027\r
+:010ecb000026\r
+:010ecc000025\r
+:010ecd000024\r
+:010ece000023\r
+:010ecf000022\r
+:010ed0000021\r
+:010ed1000020\r
+:010ed200001f\r
+:010ed300001e\r
+:010ed400001d\r
+:010ed500001c\r
+:010ed600001b\r
+:010ed700001a\r
+:010ed8000019\r
+:010ed9000018\r
+:010eda000017\r
+:010edb000016\r
+:010edc000015\r
+:010edd000014\r
+:010ede000013\r
+:010edf000012\r
+:010ee0000011\r
+:010ee1000010\r
+:010ee200000f\r
+:010ee300000e\r
+:010ee400000d\r
+:010ee500000c\r
+:010ee600000b\r
+:010ee700000a\r
+:010ee8000009\r
+:010ee9000008\r
+:010eea000007\r
+:010eeb000006\r
+:010eec000005\r
+:010eed000004\r
+:010eee000003\r
+:010eef000002\r
+:010ef0000001\r
+:010ef1000000\r
+:010ef20000ff\r
+:010ef30000fe\r
+:010ef40000fd\r
+:010ef50000fc\r
+:010ef60000fb\r
+:010ef70000fa\r
+:010ef80000f9\r
+:010ef90000f8\r
+:010efa0000f7\r
+:010efb0000f6\r
+:010efc0000f5\r
+:010efd0000f4\r
+:010efe0000f3\r
+:010eff009062\r
+:010f000003ed\r
+:010f010000ef\r
+:010f020000ee\r
+:010f030000ed\r
+:010f040000ec\r
+:010f050000eb\r
+:010f060000ea\r
+:010f070000e9\r
+:010f080000e8\r
+:010f090000e7\r
+:010f0a0000e6\r
+:010f0b0000e5\r
+:010f0c0000e4\r
+:010f0d0000e3\r
+:010f0e0000e2\r
+:010f0f0000e1\r
+:010f100000e0\r
+:010f110000df\r
+:010f120000de\r
+:010f130000dd\r
+:010f140000dc\r
+:010f150000db\r
+:010f160000da\r
+:010f170000d9\r
+:010f180000d8\r
+:010f190000d7\r
+:010f1a0000d6\r
+:010f1b0000d5\r
+:010f1c0000d4\r
+:010f1d0000d3\r
+:010f1e0000d2\r
+:010f1f0000d1\r
+:010f200000d0\r
+:010f210000cf\r
+:010f220000ce\r
+:010f230000cd\r
+:010f240000cc\r
+:010f250000cb\r
+:010f260000ca\r
+:010f270000c9\r
+:010f280000c8\r
+:010f290000c7\r
+:010f2a0000c6\r
+:010f2b0000c5\r
+:010f2c0000c4\r
+:010f2d0000c3\r
+:010f2e0000c2\r
+:010f2f0000c1\r
+:010f300000c0\r
+:010f310000bf\r
+:010f320000be\r
+:010f330000bd\r
+:010f340000bc\r
+:010f350000bb\r
+:010f360000ba\r
+:010f370000b9\r
+:010f380000b8\r
+:010f390000b7\r
+:010f3a0000b6\r
+:010f3b0000b5\r
+:010f3c0000b4\r
+:010f3d0000b3\r
+:010f3e0000b2\r
+:010f3f009021\r
+:010f400003ad\r
+:010f410000af\r
+:010f420000ae\r
+:010f430000ad\r
+:010f440000ac\r
+:010f450000ab\r
+:010f460000aa\r
+:010f470000a9\r
+:010f480000a8\r
+:010f490000a7\r
+:010f4a0000a6\r
+:010f4b0000a5\r
+:010f4c0000a4\r
+:010f4d0000a3\r
+:010f4e0000a2\r
+:010f4f0000a1\r
+:010f500000a0\r
+:010f5100009f\r
+:010f5200009e\r
+:010f5300009d\r
+:010f5400009c\r
+:010f5500009b\r
+:010f5600009a\r
+:010f57000099\r
+:010f58000098\r
+:010f59000097\r
+:010f5a000096\r
+:010f5b000095\r
+:010f5c000094\r
+:010f5d000093\r
+:010f5e000092\r
+:010f5f000091\r
+:010f60000090\r
+:010f6100008f\r
+:010f6200008e\r
+:010f6300008d\r
+:010f6400008c\r
+:010f6500008b\r
+:010f6600008a\r
+:010f67000089\r
+:010f68000088\r
+:010f69000087\r
+:010f6a000086\r
+:010f6b000085\r
+:010f6c000084\r
+:010f6d000083\r
+:010f6e000082\r
+:010f6f000081\r
+:010f70000080\r
+:010f7100007f\r
+:010f7200007e\r
+:010f7300007d\r
+:010f7400007c\r
+:010f7500007b\r
+:010f7600007a\r
+:010f77000079\r
+:010f78000078\r
+:010f79000077\r
+:010f7a000076\r
+:010f7b000075\r
+:010f7c000074\r
+:010f7d000073\r
+:010f7e000072\r
+:010f7f0090e1\r
+:010f8000036d\r
+:010f8100006f\r
+:010f8200006e\r
+:010f8300006d\r
+:010f8400006c\r
+:010f8500006b\r
+:010f8600006a\r
+:010f87000069\r
+:010f88000068\r
+:010f89000067\r
+:010f8a000066\r
+:010f8b000065\r
+:010f8c000064\r
+:010f8d000063\r
+:010f8e000062\r
+:010f8f000061\r
+:010f90000060\r
+:010f9100005f\r
+:010f9200005e\r
+:010f9300005d\r
+:010f9400005c\r
+:010f9500005b\r
+:010f9600005a\r
+:010f97000059\r
+:010f98000058\r
+:010f99000057\r
+:010f9a000056\r
+:010f9b000055\r
+:010f9c000054\r
+:010f9d000053\r
+:010f9e000052\r
+:010f9f000051\r
+:010fa0000050\r
+:010fa100004f\r
+:010fa200004e\r
+:010fa300004d\r
+:010fa400004c\r
+:010fa500004b\r
+:010fa600004a\r
+:010fa7000049\r
+:010fa8000048\r
+:010fa9000047\r
+:010faa000046\r
+:010fab000045\r
+:010fac000044\r
+:010fad000043\r
+:010fae000042\r
+:010faf000041\r
+:010fb0000040\r
+:010fb100003f\r
+:010fb200003e\r
+:010fb300003d\r
+:010fb400003c\r
+:010fb500003b\r
+:010fb600003a\r
+:010fb7000039\r
+:010fb8000038\r
+:010fb9000037\r
+:010fba000036\r
+:010fbb000035\r
+:010fbc000034\r
+:010fbd000033\r
+:010fbe000032\r
+:010fbf0090a1\r
+:010fc000e050\r
+:010fc100e04f\r
+:010fc200e04e\r
+:010fc300e04d\r
+:010fc400e04c\r
+:010fc500e04b\r
+:010fc600e04a\r
+:010fc700e049\r
+:010fc800e048\r
+:010fc900e047\r
+:010fca00e046\r
+:010fcb00e045\r
+:010fcc00e044\r
+:010fcd00e043\r
+:010fce00e042\r
+:010fcf00e041\r
+:010fd000e040\r
+:010fd100e03f\r
+:010fd200e03e\r
+:010fd300e03d\r
+:010fd400e03c\r
+:010fd500e03b\r
+:010fd600e03a\r
+:010fd700e039\r
+:010fd800e038\r
+:010fd900e037\r
+:010fda00e036\r
+:010fdb00e035\r
+:010fdc00e034\r
+:010fdd00e033\r
+:010fde00e032\r
+:010fdf00e031\r
+:010fe000e030\r
+:010fe100e02f\r
+:010fe200e02e\r
+:010fe300e02d\r
+:010fe400e02c\r
+:010fe500e02b\r
+:010fe600e02a\r
+:010fe700e029\r
+:010fe800e028\r
+:010fe900e027\r
+:010fea00e026\r
+:010feb00e025\r
+:010fec00e024\r
+:010fed00e023\r
+:010fee00e022\r
+:010fef00e021\r
+:010ff000e020\r
+:010ff100e01f\r
+:010ff200e01e\r
+:010ff300e01d\r
+:010ff400e01c\r
+:010ff500e01b\r
+:010ff600e01a\r
+:010ff700e019\r
+:010ff800e018\r
+:010ff900e017\r
+:010ffa00e016\r
+:010ffb00e015\r
+:010ffc00e014\r
+:010ffd00e013\r
+:010ffe00e012\r
+:010fff00e011\r
+:00000001ff\r
diff --git a/bsp2/Angabe/vga_arc.vhd b/bsp2/Angabe/vga_arc.vhd
new file mode 100644 (file)
index 0000000..3d2d158
--- /dev/null
@@ -0,0 +1,223 @@
+ -------------------------------------------------------------------------------\r
+-- Title      : vga architecture\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : vga.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-04-07\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: arch of top level module, the sub-modules are connected here\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-04-07  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;      -- include package\r
+\r
+-------------------------------------------------------------------------------\r
+-- ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
+\r
+architecture behav of vga is\r
+\r
+  attribute syn_preserve          : boolean;\r
+  attribute syn_preserve of behav : architecture is true;\r
+\r
+\r
+-------------------------------------------------------------------------------\r
+-- component declarations for the modules\r
+-------------------------------------------------------------------------------\r
+\r
+  component vga_driver\r
+    port (\r
+      clk                  : in  std_logic;\r
+      reset                : in  std_logic;\r
+      column_counter       : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);\r
+      line_counter         : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);\r
+      h_enable             : out std_logic;\r
+      v_enable             : out std_logic;\r
+      hsync                : out std_logic; \r
+      vsync                : out std_logic;\r
+      d_hsync_state          : out hsync_state_type;\r
+      d_vsync_state          : out vsync_state_type;\r
+      d_hsync_counter        : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);\r
+      d_vsync_counter        : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);\r
+      d_set_hsync_counter    : out std_logic;\r
+      d_set_vsync_counter    : out std_logic;\r
+      d_set_column_counter   : out std_logic;\r
+      d_set_line_counter     : out std_logic);\r
+  end component;\r
+\r
+\r
+  component vga_control\r
+    port (\r
+      clk            : in  std_logic;\r
+      reset          : in  std_logic;\r
+      column_counter : in  std_logic_vector(COL_CNT_WIDTH-1 downto 0);\r
+      line_counter   : in  std_logic_vector(LINE_CNT_WIDTH-1 downto 0);\r
+      h_enable       : in  std_logic;\r
+      v_enable       : in  std_logic;\r
+      toggle_counter : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0);\r
+      toggle         : out std_logic;\r
+      r, g, b        : out std_logic\r
+      );\r
+  end component;\r
+\r
+\r
+  component board_driver\r
+    port (\r
+       reset : in  std_logic;\r
+      seven_seg  : out std_logic_vector(2*SEG_WIDTH-1 downto 0));\r
+  end component;\r
+\r
+\r
+-- declare signals needed for internal wiring of these components later\r
+  signal column_counter_sig   : std_logic_vector(COL_CNT_WIDTH-1 downto 0);\r
+  signal line_counter_sig     : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);\r
+  signal h_enable_sig         : std_logic;\r
+  signal v_enable_sig         : std_logic;\r
+  signal r_sig, g_sig, b_sig  : std_logic;\r
+  signal hsync_sig, vsync_sig : std_logic;\r
+  \r
+-- declare signals needed for prolongation of reset\r
+  signal   dly_counter       : std_logic_vector(1 downto 0);\r
+  signal   dly_counter_next  : std_logic_vector(1 downto 0);\r
+  constant MAX_DLY           : std_logic_vector(1 downto 0) := "11";\r
+  signal   reset_dly         : std_logic;      --\r
+  signal   safe_reset        : std_logic;     \r
+\r
+\r
+-------------------------------------------------------------------------------\r
+-- prolong duration of reset to prevent glitches  at power-up\r
+-------------------------------------------------------------------------------\r
+\r
+begin\r
+\r
+  DELAY_RESET_syn : process(clk_pin)            -- synchronous capture\r
+  begin\r
+    if clk_pin'event and clk_pin = '1' then     -- upon rising clock\r
+      dly_counter <= dly_counter_next;          -- ... capture new counter value\r
+    end if;\r
+  end process;\r
+\r
+  DELAY_RESET_next : process(dly_counter, reset_pin)    -- next state logic\r
+  begin\r
+    if reset_pin = RES_ACT then              -- upon reset\r
+      dly_counter_next <= (others => '0');   -- ...clear dly counter\r
+    elsif dly_counter < MAX_DLY then         -- if no oflo\r
+      dly_counter_next <= dly_counter + '1'; -- ...increment dly counter\r
+    else \r
+      dly_counter_next <= dly_counter;       -- freeze dly counter when oflo\r
+    end if;\r
+  end process;\r
+  \r
+  DELAY_RESET_out: process(dly_counter)\r
+  begin\r
+    if dly_counter < MAX_DLY then      -- until dly counter reaches maximum\r
+      reset_dly   <= RES_ACT;          -- ...activate delayed reset signal\r
+    else                               -- upon counter oflo \r
+      reset_dly <= not(RES_ACT);       -- ...finally deactivate delayed reset\r
+    end if;\r
+  end process;\r
+\r
+\r
+\r
+  COMBINE_RESET: process(reset_pin, reset_dly)         -- generate "safe" reset signal\r
+  begin\r
+    if reset_pin = RES_ACT or reset_dly = RES_ACT then -- ...by combining delayed reset with non-delayed reset input \r
+      safe_reset <= RES_ACT;\r
+    else\r
+      safe_reset <= not(RES_ACT);\r
+    end if;\r
+  end process;\r
+\r
+\r
+-------------------------------------------------------------------------------\r
+-- instantiate the components and connect to internal and external signals\r
+-------------------------------------------------------------------------------\r
+\r
+\r
+board_driver_unit : board_driver\r
+    port map (\r
+      reset       => safe_reset,\r
+      seven_seg   => seven_seg_pin);\r
+\r
+\r
+vga_driver_unit : vga_driver\r
+    port map (\r
+      clk                => clk_pin,\r
+      reset              => safe_reset,\r
+      column_counter     => column_counter_sig,\r
+      line_counter       => line_counter_sig,\r
+      h_enable           => h_enable_sig,\r
+      v_enable           => v_enable_sig,\r
+      hsync              => hsync_sig,\r
+      vsync              => vsync_sig,\r
+      d_hsync_state        => d_hsync_state,\r
+      d_vsync_state        => d_vsync_state,\r
+      d_hsync_counter      => d_hsync_counter,\r
+      d_vsync_counter      => d_vsync_counter,\r
+      d_set_hsync_counter  => d_set_hsync_counter,\r
+      d_set_vsync_counter  => d_set_vsync_counter,\r
+      d_set_column_counter => d_set_column_counter,\r
+      d_set_line_counter   => d_set_line_counter);\r
+\r
+-- make the wiring for hsync and vsync pins \r
+-- (pin is output only => internal _sig version required to allow readback of signal)\r
+  vsync_pin <= vsync_sig;\r
+  hsync_pin <= hsync_sig;\r
+\r
+\r
+  vga_control_unit : vga_control\r
+    port map (\r
+      clk            => clk_pin,\r
+      reset          => safe_reset,\r
+      column_counter => column_counter_sig,\r
+      line_counter   => line_counter_sig,\r
+      h_enable       => h_enable_sig,\r
+      v_enable       => v_enable_sig,\r
+      toggle_counter => d_toggle_counter,\r
+      toggle         => d_toggle,\r
+      r              => r_sig,\r
+      g              => g_sig,\r
+      b              => b_sig);\r
+\r
+-- make the wiring for RGB pins: drive all pins for same color from one source ("8 color mode")\r
+  r0_pin <= r_sig; r1_pin <= r_sig; r2_pin <= r_sig;\r
+  g0_pin <= g_sig; g1_pin <= g_sig; g2_pin <= g_sig;\r
+  b0_pin <= b_sig; b1_pin <= b_sig;\r
+\r
+\r
+-- make extra pin connections for debug signals\r
+  d_hsync          <= hsync_sig;       -- make duplicate of signal for debug connector\r
+  d_vsync          <= vsync_sig;       -- make duplicate of signal for debug connector\r
+  d_column_counter <= column_counter_sig;\r
+  d_line_counter   <= line_counter_sig;\r
+  d_h_enable       <= h_enable_sig;\r
+  d_v_enable       <= v_enable_sig;\r
+  d_r              <= r_sig;\r
+  d_g              <= g_sig;\r
+  d_b              <= b_sig;\r
+  d_state_clk      <= clk_pin;        -- make duplicate of signal for debug connector\r
+\r
+  \r
+end behav;\r
+\r
+-------------------------------------------------------------------------------\r
+-- END ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
diff --git a/bsp2/Angabe/vga_beh_tb.vhd b/bsp2/Angabe/vga_beh_tb.vhd
new file mode 100644 (file)
index 0000000..9530bed
--- /dev/null
@@ -0,0 +1,194 @@
+-------------------------------------------------------------------------------
+-- Title      : vga testbench
+-- Project    : 
+-------------------------------------------------------------------------------
+-- File       : vga_tb.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-09-29
+-- Platform   : 
+-------------------------------------------------------------------------------
+-- Description: 
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+entity vga_tb is
+
+end vga_tb;
+
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+architecture behaviour of vga_tb is
+  
+  constant cc : time := 39.7 ns;        -- test clock period
+  component vga
+    port (
+      clk_pin                                  : in  std_logic;
+      reset_pin                                : in  std_logic;
+      r0_pin, r1_pin, r2_pin                   : out std_logic;
+      g0_pin, g1_pin, g2_pin                   : out std_logic;
+      b0_pin, b1_pin                           : out std_logic;
+      hsync_pin                                : out std_logic;
+      vsync_pin                                : out std_logic;
+      seven_seg_pin                            : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+      d_hsync, d_vsync                         : out std_logic;
+      d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+      d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+      d_set_column_counter, d_set_line_counter : out std_logic;
+      d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+      d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+      d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+      d_h_enable                               : out std_logic;
+      d_v_enable                               : out std_logic;
+      d_r, d_g, d_b                            : out std_logic;
+      d_hsync_state                            : out hsync_state_type;
+      d_vsync_state                            : out vsync_state_type;
+      d_state_clk                              : out std_logic;
+      d_toggle                                 : out std_logic;
+      d_toggle_counter                         : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0));
+  end component;
+
+  signal clk_pin                                  : std_logic;
+  signal reset_pin                                : std_logic;
+  signal r0_pin, r1_pin, r2_pin                   : std_logic;
+  signal g0_pin, g1_pin, g2_pin                   : std_logic;
+  signal b0_pin, b1_pin                           : std_logic;
+  signal hsync_pin                                : std_logic;
+  signal vsync_pin                                : std_logic;
+  signal seven_seg_pin                            : std_logic_vector(2*SEG_WIDTH-1 downto 0);
+  signal d_hsync, d_vsync                         : std_logic;
+  signal d_column_counter                         : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal d_line_counter                           : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal d_set_column_counter, d_set_line_counter : std_logic;
+  signal d_hsync_counter                          : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal d_vsync_counter                          : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal d_set_hsync_counter, d_set_vsync_counter : std_logic;
+  signal d_h_enable                               : std_logic;
+  signal d_v_enable                               : std_logic;
+  signal d_r, d_g, d_b                            : std_logic;
+  signal d_hsync_state                            : hsync_state_type;
+  signal d_vsync_state                            : vsync_state_type;
+  signal d_state_clk                              : std_logic;
+  signal d_toggle                                 : std_logic;
+  signal d_toggle_counter                         : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);
+
+  
+begin
+
+  vga_unit: vga
+    port map (
+      clk_pin              => clk_pin,
+      reset_pin            => reset_pin,
+      r0_pin               => r0_pin,
+      r1_pin               => r1_pin,
+      r2_pin               => r2_pin,
+      g0_pin               => g0_pin,
+      g1_pin               => g1_pin,
+      g2_pin               => g2_pin,
+      b0_pin               => b0_pin,
+      b1_pin               => b1_pin,
+      hsync_pin            => hsync_pin,
+      vsync_pin            => vsync_pin,
+      seven_seg_pin        => seven_seg_pin,
+      d_hsync              => d_hsync,
+      d_vsync              => d_vsync,
+      d_column_counter     => d_column_counter,
+      d_line_counter       => d_line_counter,
+      d_set_column_counter => d_set_column_counter,
+      d_set_line_counter   => d_set_line_counter,
+      d_hsync_counter      => d_hsync_counter,
+      d_vsync_counter      => d_vsync_counter,
+      d_set_hsync_counter  => d_set_hsync_counter,
+      d_set_vsync_counter  => d_set_vsync_counter,
+      d_h_enable           => d_h_enable,
+      d_v_enable           => d_v_enable,
+      d_r                  => d_r,
+      d_g                  => d_g,
+      d_b                  => d_b,
+      d_hsync_state        => d_hsync_state,
+      d_vsync_state        => d_vsync_state,
+      d_state_clk          => d_state_clk,
+      d_toggle             => d_toggle,
+      d_toggle_counter     => d_toggle_counter);
+
+  
+-------------------------------------------------------------------------------
+-- generate simulation clock
+-------------------------------------------------------------------------------
+  CLKGEN : process
+  begin
+    clk_pin <= '1';
+    wait for cc/2;
+    clk_pin <= '0';
+    wait for cc/2;
+  end process CLKGEN;
+
+-------------------------------------------------------------------------------
+-- test the design
+-------------------------------------------------------------------------------
+  TEST_IT : process
+
+    -- wait for n clock cycles
+    procedure icwait(cycles : natural) is
+    begin
+      for i in 1 to cycles loop
+        wait until clk_pin = '1' and clk_pin'event;
+      end loop;
+    end;
+
+  begin
+    -----------------------------------------------------------------------------
+    -- initial reset
+    -----------------------------------------------------------------------------
+    reset_pin <= '0';
+    icwait(10);
+    reset_pin <= '1';
+    icwait(10000000);
+
+    ---------------------------------------------------------------------------
+    -- exit testbench
+    ---------------------------------------------------------------------------
+    assert false
+      report "Test finished"
+      severity error;
+
+  end process test_it;
+
+end behaviour;
+
+
+-------------------------------------------------------------------------------
+-- configuration
+-------------------------------------------------------------------------------
+configuration vga_conf_beh of vga_tb is
+  for behaviour
+    for vga_unit : vga use entity work.vga(behav);
+    end for;
+  end for;
+end vga_conf_beh;
+
+
diff --git a/bsp2/Angabe/vga_control_arc.vhd b/bsp2/Angabe/vga_control_arc.vhd
new file mode 100644 (file)
index 0000000..7f78d72
--- /dev/null
@@ -0,0 +1,128 @@
+-------------------------------------------------------------------------------\r
+-- Title      : vga_control architecture\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : vga_control.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-12-15\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: generation of colors (RGB)\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-12-15  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;\r
+\r
+-------------------------------------------------------------------------------\r
+-- ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
+\r
+architecture behav of vga_control is\r
+\r
+\r
+  attribute syn_preserve          : boolean;\r
+  attribute syn_preserve of behav : architecture is true;\r
+\r
+\r
+  -- signal and constant declarations  \r
+  signal   r_next, g_next, b_next  : std_logic;                                 -- auxiliary signals for next state logic\r
+  signal   toggle_sig   : std_logic;                                            -- auxiliary signal to allow read back of toggle\r
+  signal   toggle_counter_sig  : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);    -- auxiliary signal to allow read back of blinker\r
+  signal   toggle_next  : std_logic;                                            -- auxiliary signal for next state logic\r
+  signal   toggle_counter_next : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);    -- auxiliary signal for next state logic\r
+  constant HALFPERIOD   : std_logic_vector(TOG_CNT_WIDTH-1 downto 0) := "1100000000010001111011000";\r
+                                                                                -- define half period of toggle frequency in clock ticks\r
+\r
+begin  \r
+  -----------------------------------------------------------------------------\r
+  -- draw rectangle on screen\r
+  -----------------------------------------------------------------------------\r
+    \r
+  DRAW_SQUARE_syn: process(clk, reset)\r
+  begin\r
+    if (reset = RES_ACT) then   -- draw black screen upon reset\r
+      r <= COLR_OFF;\r
+      g <= COLR_OFF;\r
+      b <= COLR_OFF;\r
+    elsif (clk'event and clk = '1') then     -- synchronous capture\r
+      r <= r_next;\r
+      g <= g_next;\r
+      b <= b_next;\r
+    end if;\r
+  end process;\r
+\r
+\r
+  DRAW_SQUARE_next: process (column_counter, line_counter, v_enable, h_enable, toggle_sig)\r
+  begin\r
+    if v_enable = ENABLE and h_enable = ENABLE then        \r
+      if (column_counter >= X_MIN and column_counter <= X_MAX and    -- if pixel within the rectangle borders\r
+          line_counter   >= Y_MIN and line_counter   <= Y_MAX) then\r
+        r_next <= toggle_sig;                                        -- ...red\r
+        g_next <= COLR_OFF;                                          -- ...green\r
+        b_next <= not toggle_sig;                                    -- ...blue\r
+      else                                                           -- if somewhere else on screen...\r
+        r_next <= COLR_OFF;\r
+        g_next <= COLR_OFF;                                          -- ... draw background color\r
+        b_next <= COLR_OFF;\r
+      end if;\r
+    else                                                             -- if out of screen...\r
+      r_next <= COLR_OFF;\r
+      g_next <= COLR_OFF;                                            -- ... do not activate any color\r
+      b_next <= COLR_OFF;                                            --     (black screen)\r
+    end if;\r
+  end process;\r
+\r
+\r
+  -----------------------------------------------------------------------------\r
+  -- control blinking of rectangle\r
+  -----------------------------------------------------------------------------\r
+\r
+  BLINKER_syn: process(clk, reset)\r
+  begin\r
+    if (reset = RES_ACT) then                       -- asyn reset\r
+      toggle_counter_sig  <= (others => '0');\r
+      toggle_sig  <= COLR_OFF;\r
+    elsif(clk'event and clk = '1') then             -- synchronous capture\r
+      toggle_counter_sig <= toggle_counter_next;\r
+      toggle_sig  <= toggle_next;\r
+    end if;\r
+  end process;\r
+\r
+\r
+  BLINKER_next : process(toggle_counter_sig, toggle_sig)\r
+  begin\r
+    if toggle_counter_sig >= HALFPERIOD then           -- after half period ...\r
+      toggle_counter_next <= (others => '0');          -- ... clear counter\r
+      toggle_next  <= not(toggle_sig);                 -- ... and toggle colour.\r
+    else                                               -- before half period ...\r
+      toggle_counter_next <= toggle_counter_sig + '1'; -- ... increment counter\r
+      toggle_next  <= toggle_sig;                      -- ... and hold colour\r
+    end if;\r
+  end process;\r
+\r
+\r
+-- assign auxiliary signals to module outputs\r
+toggle <= toggle_sig;\r
+toggle_counter <= toggle_counter_sig;\r
+\r
+end behav;\r
+\r
+-------------------------------------------------------------------------------\r
+-- END ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
diff --git a/bsp2/Angabe/vga_control_ent.vhd b/bsp2/Angabe/vga_control_ent.vhd
new file mode 100644 (file)
index 0000000..2ff5a0a
--- /dev/null
@@ -0,0 +1,53 @@
+-------------------------------------------------------------------------------\r
+-- Title      : vga_control entity\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : vga_control_ent.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-12-15\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: generation of colors (RGB)\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-12-15  1.0      handl     Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;\r
+\r
+-------------------------------------------------------------------------------\r
+-- ENTITY\r
+-------------------------------------------------------------------------------\r
+\r
+\r
+entity vga_control is\r
+  port(clk            : in std_logic;\r
+       reset          : in  std_logic;\r
+       column_counter : in std_logic_vector(COL_CNT_WIDTH-1 downto 0);\r
+       toggle_counter : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0);\r
+       toggle         : out std_logic;\r
+       line_counter   : in std_logic_vector(LINE_CNT_WIDTH-1 downto 0);\r
+       v_enable       : in std_logic;\r
+       h_enable       : in std_logic;\r
+       r, g, b        : out std_logic\r
+       );\r
+\r
+end vga_control;\r
+\r
+-------------------------------------------------------------------------------\r
+-- END ENTITY\r
+-------------------------------------------------------------------------------\r
diff --git a/bsp2/Angabe/vga_driver_arc.vhd b/bsp2/Angabe/vga_driver_arc.vhd
new file mode 100644 (file)
index 0000000..1b89ac1
--- /dev/null
@@ -0,0 +1,402 @@
+-------------------------------------------------------------------------------
+-- Title      : vga_driver architecture
+-- Project    : LU Digital Design
+-------------------------------------------------------------------------------
+-- File       : vga_driver.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-12-15
+-- Last update: 2006-01-24
+-------------------------------------------------------------------------------
+-- Description: generate hsync and vsync
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-12-15  1.0      handl   Created
+-- 2006-01-24  2.0      ST      revised
+-------------------------------------------------------------------------------
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+
+architecture behav of vga_driver is
+
+  attribute syn_preserve          : boolean;
+  attribute syn_preserve of behav : architecture is true;
+
+  constant TIME_A   : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "1100011111";
+  constant TIME_B   : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "0001011010";
+  constant TIME_BC  : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "0010000111";
+  constant TIME_BCD : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "1100000111";
+
+  constant TIME_O   : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "1000001000";
+  constant TIME_P   : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "0000000001";
+  constant TIME_PQ  : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "0000100001";
+  constant TIME_PQR : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "1000000001";
+
+  signal h_sync      : std_logic;
+  signal h_sync_next : std_logic;
+
+  signal hsync_state      : hsync_state_type;
+  signal hsync_state_next : hsync_state_type;
+
+  signal h_enable_sig  : std_logic;
+  signal h_enable_next : std_logic;
+
+  signal   set_hsync_counter : std_logic;
+  signal   hsync_counter     : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal   hsync_counter_next     : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  constant HSYN_CNT_MAX : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "1111111111";
+
+  signal column_counter_sig : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal column_counter_next : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal set_column_counter : std_logic;
+
+  signal v_sync      : std_logic;
+  signal v_sync_next : std_logic;
+
+  signal vsync_state      : vsync_state_type;
+  signal vsync_state_next : vsync_state_type;
+
+  signal v_enable_sig  : std_logic;
+  signal v_enable_next : std_logic;
+
+  signal   set_vsync_counter : std_logic;
+  signal   vsync_counter     : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal   vsync_counter_next     : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  constant VSYN_CNT_MAX : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "1111111111";
+
+  signal line_counter_sig : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal line_counter_next : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal set_line_counter : std_logic;
+
+
+
+begin
+
+----------------------------------------------------------------------------
+-- Column_Counter [0..639]: calculates column number for next pixel to be displayed
+----------------------------------------------------------------------------
+
+  COLUMN_COUNT_syn: process(clk, reset, column_counter_next)
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then                              -- synchronous reset
+        column_counter_sig <= (others => '0');
+      else
+        column_counter_sig <= column_counter_next;         -- synchronous capture
+      end if;
+    end if;
+  end process;
+
+  COLUMN_COUNT_next: process(set_column_counter, column_counter_sig)
+  begin
+    if set_column_counter = ENABLE then                     -- reset counter
+      column_counter_next <= (others => '0');   
+    else
+      if column_counter_sig < RIGHT_BORDER then 
+        column_counter_next <= column_counter_sig + '1';    -- increment column
+      else
+        column_counter_next <= RIGHT_BORDER;                -- ... but do not count beyond right border
+      end if;
+    end if;
+  end process;
+
+----------------------------------------------------------------------------
+-- Line_counter [0..479]: calculates line number for next pixel to be displayed
+----------------------------------------------------------------------------
+
+  LINE_COUNT_syn: process(clk, reset, line_counter_next)
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then                              -- synchronous reset
+        line_counter_sig <= (others => '0');
+      else
+        line_counter_sig <= line_counter_next;             -- synchronous capture
+      end if;
+    end if;
+  end process;
+
+  LINE_COUNT_next: process(set_line_counter, line_counter_sig, set_hsync_counter)
+  begin
+    if set_line_counter = ENABLE then                     -- reset counter
+      line_counter_next <= (others => '0');   
+    else
+      if line_counter_sig < BOTTOM_BORDER then 
+        if set_hsync_counter = '1' then                   -- when enabled
+          line_counter_next <= line_counter_sig + '1';    -- ... increment line
+        else
+          line_counter_next <= line_counter_sig;
+          end if;
+      else
+        line_counter_next <= BOTTOM_BORDER;               -- ... but do not count below bottom
+      end if;
+    end if;
+  end process;
+
+
+----------------------------------------------------------------------------
+-- Hsync_Counter: generates time base for HSYNC State Machine
+----------------------------------------------------------------------------
+
+  HSYNC_COUNT_syn: process(clk, reset, hsync_counter_next)
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then                        -- synchronous reset
+        hsync_counter <= (others => '0');
+      else
+        hsync_counter <= hsync_counter_next;         -- synchronous capture
+      end if;
+    end if;
+  end process;
+
+  HSYNC_COUNT_next: process(set_hsync_counter, hsync_counter)
+  begin
+    if set_hsync_counter = ENABLE then               -- reset counter
+      hsync_counter_next <= (others => '0');   
+    else
+      if hsync_counter < HSYN_CNT_MAX then 
+        hsync_counter_next <= hsync_counter + '1';   -- increment time
+      else
+        hsync_counter_next <= HSYN_CNT_MAX;          -- ... but do not count beyond max period
+      end if;
+    end if;
+  end process;
+
+
+----------------------------------------------------------------------------
+-- HSYNC STATE MACHINE: generates hsync signal and controls hsync counter & column counter
+----------------------------------------------------------------------------
+
+  HSYNC_FSM_syn: process (clk, reset)       -- synchronous capture
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then
+        hsync_state  <= RESET_STATE;
+        h_sync       <= '1';
+        v_enable_sig <= not(ENABLE);
+      else
+        hsync_state  <= hsync_state_next;
+        h_sync       <= h_sync_next;
+        v_enable_sig <= v_enable_next;
+      end if;
+    end if;
+  end process;
+
+  HSYNC_FSM_next : process(hsync_state, hsync_counter, h_sync, v_enable_sig)   -- next-state logic
+  begin                                 -- default assignments
+    hsync_state_next <= hsync_state;    -- ... hold current state
+    h_sync_next        <= h_sync;       -- ... and values
+    v_enable_next      <= v_enable_sig;
+
+    case hsync_state is
+      when RESET_STATE =>
+        h_sync_next      <= '0';        -- next signal values are defined here
+        v_enable_next    <= not(ENABLE);
+        hsync_state_next <= B_STATE;    -- ... as well as state transitions 
+      when B_STATE =>
+        h_sync_next      <= '0';
+        if hsync_counter = TIME_B then
+          hsync_state_next <= C_STATE;
+        end if;
+      when C_STATE =>
+        h_sync_next      <= '1';
+        if hsync_counter = TIME_BC then
+          hsync_state_next <= pre_D_STATE;
+        end if;
+      when pre_D_STATE =>
+        v_enable_next    <= ENABLE;
+        hsync_state_next <= D_STATE;        
+      when D_STATE =>
+        v_enable_next    <= ENABLE;
+        if hsync_counter = TIME_BCD then
+          hsync_state_next <= E_STATE;
+        end if;
+      when E_STATE =>
+        v_enable_next    <= not(ENABLE);
+        if hsync_counter = TIME_A then
+          hsync_state_next <= pre_B_STATE;
+        end if;
+      when pre_B_STATE =>
+        h_sync_next      <= '0';
+        v_enable_next    <= not(ENABLE);        
+        hsync_state_next <= B_STATE;
+      when others =>
+        null;
+    end case;
+  end process;
+
+  HSYNC_FSM_out : process(hsync_state)  -- output logic
+  begin
+    set_hsync_counter  <= not(ENABLE);      -- default assignments
+    set_column_counter <= not(ENABLE);
+
+    case hsync_state is
+      when RESET_STATE =>                   -- outputs for each state are defined here
+        set_hsync_counter  <= ENABLE;
+      when pre_D_STATE =>
+        set_column_counter <= ENABLE;
+      when pre_B_STATE =>
+        set_hsync_counter  <= ENABLE;
+      when others =>
+        null;
+    end case;
+  end process;
+
+
+----------------------------------------------------------------------------
+-- Vsync_Counter: generates time base for VSYNC State Machine
+----------------------------------------------------------------------------
+
+  VSYNC_COUNT_syn: process(clk, reset, vsync_counter_next)
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then                        -- synchronous reset
+        vsync_counter <= (others => '0');
+      else
+        vsync_counter <= vsync_counter_next;         -- synchronous capture
+      end if;
+    end if;
+  end process;
+
+  VSYNC_COUNT_next: process(set_vsync_counter, vsync_counter, set_hsync_counter)
+  begin
+    if set_vsync_counter = ENABLE then               -- reset counter
+      vsync_counter_next <= (others => '0');   
+    else
+      if vsync_counter < VSYN_CNT_MAX then 
+        if set_hsync_counter = '1' then              -- if enabled
+          vsync_counter_next <= vsync_counter + '1'; -- ... increment time
+        else
+          vsync_counter_next <= vsync_counter;
+        end if;
+      else
+        vsync_counter_next <= VSYN_CNT_MAX;          -- ... but do not count beyond max period
+      end if;
+    end if;
+  end process;
+
+
+----------------------------------------------------------------------------
+-- VSYNC STATE MACHINE: generates vsync signal and controls vsync counter & line counter 
+----------------------------------------------------------------------------
+
+  VSYNC_FSM_syn : process (clk, reset)      -- synchronous capture
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then
+        vsync_state  <= RESET_STATE;
+        v_sync       <= '1';
+        h_enable_sig <= not(ENABLE);
+      else
+        vsync_state  <= vsync_state_next;
+        v_sync       <= v_sync_next;
+        h_enable_sig <= h_enable_next;
+      end if;
+    end if;
+  end process;
+
+  VSYNC_FSM_next : process(vsync_state, vsync_counter, v_sync, h_enable_sig)
+  begin                                     -- next state logic
+    vsync_state_next <= vsync_state;        -- default assignments
+    v_sync_next       <= v_sync;
+    h_enable_next     <= h_enable_sig;
+
+    case vsync_state is                     -- state transitions and next signals are defined here
+      when RESET_STATE =>
+        v_sync_next      <= '0';
+        h_enable_next    <= not(ENABLE);
+        vsync_state_next <= P_STATE;
+      when P_STATE =>
+        v_sync_next      <= '0';
+        if vsync_counter = time_p then
+          vsync_state_next <= Q_STATE;
+        end if;
+      when Q_STATE =>
+        v_sync_next      <= '1';
+        if vsync_counter = time_pq then
+          vsync_state_next <= pre_R_STATE;
+        end if;
+      when pre_R_STATE =>
+        h_enable_next    <= ENABLE;
+        vsync_state_next <= R_STATE;
+      when R_STATE =>
+        h_enable_next    <= ENABLE;
+        if vsync_counter = time_pqr then
+          vsync_state_next <= S_STATE;
+        end if;
+      when S_STATE =>
+        h_enable_next    <= not(ENABLE);
+        if vsync_counter = time_o then
+          vsync_state_next <= pre_P_STATE;
+        end if;
+      when pre_P_STATE =>
+        v_sync_next      <= '0';
+        h_enable_next    <= not(ENABLE);
+        vsync_state_next <= P_STATE;
+      when others =>
+        null;
+    end case;
+  end process;
+
+  VSYNC_FSM_out : process(vsync_state)
+  begin                                       -- output logic
+    set_vsync_counter <= not(ENABLE);         -- output values for each state defined here
+    set_line_counter  <= not(ENABLE);
+
+    case vsync_state is
+      when RESET_STATE =>
+        set_vsync_counter <= ENABLE;
+      when pre_R_STATE =>
+        set_line_counter  <= ENABLE;
+      when pre_P_STATE =>
+        set_vsync_counter <= ENABLE;
+      when others => 
+        null;
+    end case;
+  end process;
+
+
+
+-- signal wiring for entity (introduced _sig to allow readback of output signals)
+
+  column_counter <= column_counter_sig;
+  v_enable       <= v_enable_sig;
+  line_counter   <= line_counter_sig;
+  h_enable       <= h_enable_sig;
+
+
+  hsync <= h_sync;
+  vsync <= v_sync;
+
+  -----------------------------------------------------------------------------
+  -- debug signals
+  -----------------------------------------------------------------------------
+  d_hsync_state        <= hsync_state;
+  d_vsync_state        <= vsync_state;
+  d_hsync_counter      <= hsync_counter;
+  d_vsync_counter      <= vsync_counter;
+  d_set_hsync_counter  <= set_hsync_counter;
+  d_set_vsync_counter  <= set_vsync_counter;
+  d_set_column_counter <= set_column_counter;
+  d_set_line_counter   <= set_line_counter;
+  
+end behav;
+
+-------------------------------------------------------------------------------
+-- END ARCHITECTURE
+-------------------------------------------------------------------------------
diff --git a/bsp2/Angabe/vga_driver_ent.vhd b/bsp2/Angabe/vga_driver_ent.vhd
new file mode 100644 (file)
index 0000000..f4c00be
--- /dev/null
@@ -0,0 +1,60 @@
+-------------------------------------------------------------------------------
+-- Title      : vga_driver entity
+-- Project    : LU Digital Design
+-------------------------------------------------------------------------------
+-- File       : vga_driver_ent.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-12-15
+-- Last update: 2006-02-24
+-------------------------------------------------------------------------------
+-- Description: generate vsync and hsync
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-12-15  1.0      handl   Created
+-- 2006-02-24  2.0      ST      revised
+-------------------------------------------------------------------------------
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+
+
+entity vga_driver is
+  port(clk            : in  std_logic;
+       reset          : in  std_logic;
+       column_counter : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+       line_counter   : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+       h_enable       : out std_logic;
+       v_enable       : out std_logic;
+       hsync, vsync   : out std_logic;
+
+       d_hsync_state        : out hsync_state_type;
+       d_vsync_state        : out vsync_state_type;
+       d_hsync_counter      : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+       d_vsync_counter      : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+       d_set_hsync_counter  : out std_logic;
+       d_set_vsync_counter  : out std_logic;
+       d_set_column_counter : out std_logic;
+       d_set_line_counter   : out std_logic
+       );
+
+end vga_driver;
+
+-------------------------------------------------------------------------------
+-- END ENTITY
+-------------------------------------------------------------------------------
diff --git a/bsp2/Angabe/vga_ent.vhd b/bsp2/Angabe/vga_ent.vhd
new file mode 100644 (file)
index 0000000..a32ebc0
--- /dev/null
@@ -0,0 +1,73 @@
+-------------------------------------------------------------------------------
+-- Title      : vga entitiy
+-- Project    : LU Digital Design
+-------------------------------------------------------------------------------
+-- File       : vga_ent.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-02-24
+-------------------------------------------------------------------------------
+-- Description: entity of top level module, external pins defined here
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-- 2006-02-24  2.0      ST      revised
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+
+entity vga is
+  port(
+-- input pins from PCB board  
+       clk_pin                                  : in  std_logic;         -- clock pin
+       reset_pin                                : in  std_logic;         -- reset pins (from switch)
+-- output pins to RGB connector / VGA screen
+       r0_pin, r1_pin, r2_pin                   : out std_logic;         -- to RGB connector "red"
+       g0_pin, g1_pin, g2_pin                   : out std_logic;         -- to RGB connector "green"
+       b0_pin, b1_pin                           : out std_logic;         -- to RGB connector "blue"
+       hsync_pin                                : out std_logic;         -- to RGB connector "Hsync"
+       vsync_pin                                : out std_logic;         -- to RGB connector "Vsync"
+-- output pins to 7-segment display
+       seven_seg_pin                                 : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+-- output pins provided for debugging only / logic analyzer
+       d_hsync, d_vsync                         : out std_logic;         -- copy of hsync_pin, vsync_pin
+       d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+       d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+       d_set_column_counter, d_set_line_counter : out std_logic;
+       d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+       d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+       d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+       d_h_enable                               : out std_logic;
+       d_v_enable                               : out std_logic;
+       d_r, d_g, d_b                            : out std_logic;
+       d_hsync_state                            : out hsync_state_type;
+       d_vsync_state                            : out vsync_state_type;
+       d_state_clk                              : out std_logic;
+       d_toggle                                 : out std_logic;
+       d_toggle_counter                         : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0)
+       );
+
+end vga;
+
+-------------------------------------------------------------------------------
+-- END ENTITY
+-------------------------------------------------------------------------------
diff --git a/bsp2/Angabe/vga_pak.vhd b/bsp2/Angabe/vga_pak.vhd
new file mode 100644 (file)
index 0000000..61c8adf
--- /dev/null
@@ -0,0 +1,85 @@
+-------------------------------------------------------------------------------\r
+-- Title      : vga package\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : vga_pak.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-08-19\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: definitions of global constants and enumerated types\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-08-19  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+\r
+-------------------------------------------------------------------------------\r
+-- PACKAGE\r
+-------------------------------------------------------------------------------\r
+\r
+package vga_pak is\r
+\r
+  constant RES_ACT   : std_logic := '0';            -- define reset active LO\r
+  constant ENABLE    : std_logic := '1';            -- define diverse enable HI\r
+  constant COLR_ON    : std_logic := '1';           -- define VGA color on as HI\r
+  constant COLR_OFF   : std_logic := '0';           -- define VGA color off as LO\r
+  constant SEG_WIDTH : integer := 7;                -- display has 7 segments\r
+  constant BCD_WIDTH : integer := 4;                -- BCD number has 4 bit\r
+  constant TOG_CNT_WIDTH : integer := 25;           -- bitwidth of counter that controls blinking\r
+\r
+  constant COL_CNT_WIDTH   : integer := 10;          -- width of the column counter\r
+  constant LINE_CNT_WIDTH  : integer := 9;           -- width of the line counter\r
+  constant HSYN_CNT_WIDTH : integer := 10;          -- width of the h-sync counter\r
+  constant VSYN_CNT_WIDTH : integer := 10;          -- width of the v-sync counter\r
+\r
+  constant RIGHT_BORDER:  std_logic_vector(COL_CNT_WIDTH-1 downto 0) := "1001111111";  -- 640 columns (0...639)\r
+  constant BOTTOM_BORDER: std_logic_vector(LINE_CNT_WIDTH-1 downto 0) := "111011111";   -- 480 lines (0...479)\r
+\r
+  -- define coordinates of rectangle\r
+  constant X_MIN : std_logic_vector(COL_CNT_WIDTH-1 downto 0) := "0001100100";  -- 100\r
+  constant X_MAX : std_logic_vector(COL_CNT_WIDTH-1 downto 0) := "0011001000";  -- 200\r
+  constant Y_MIN : std_logic_vector(LINE_CNT_WIDTH-1 downto 0) := "001100100";\r
+  constant Y_MAX : std_logic_vector(LINE_CNT_WIDTH-1 downto 0) := "011001000";\r
+\r
+  -- define emumerated types for state machines\r
+  type hsync_state_type is (RESET_STATE, B_STATE, C_STATE, D_STATE, E_STATE,\r
+                            pre_D_STATE, pre_B_STATE);\r
+  type vsync_state_type is (RESET_STATE, P_STATE, Q_STATE, R_STATE, S_STATE,\r
+                            pre_R_STATE, pre_P_STATE);\r
+  \r
+  --  Definitions for 7-segment display                             gfedcba\r
+  constant DIGIT_ZERO  : std_logic_vector(SEG_WIDTH-1 downto 0) := "1000000";\r
+  constant DIGIT_ONE   : std_logic_vector(SEG_WIDTH-1 downto 0) := "1111001";\r
+  constant DIGIT_TWO   : std_logic_vector(SEG_WIDTH-1 downto 0) := "0100100";\r
+  constant DIGIT_THREE : std_logic_vector(SEG_WIDTH-1 downto 0) := "0110000";\r
+  constant DIGIT_FOUR  : std_logic_vector(SEG_WIDTH-1 downto 0) := "0011001";\r
+  constant DIGIT_FIVE  : std_logic_vector(SEG_WIDTH-1 downto 0) := "0010010";\r
+  constant DIGIT_SIX   : std_logic_vector(SEG_WIDTH-1 downto 0) := "0000010";\r
+  constant DIGIT_SEVEN : std_logic_vector(SEG_WIDTH-1 downto 0) := "1111000";\r
+  constant DIGIT_EIGHT : std_logic_vector(SEG_WIDTH-1 downto 0) := "0000000";\r
+  constant DIGIT_NINE  : std_logic_vector(SEG_WIDTH-1 downto 0) := "0011000";\r
+  constant DIGIT_MINUS : std_logic_vector(SEG_WIDTH-1 downto 0) := "0111111";\r
+  constant DIGIT_A     : std_logic_vector(SEG_WIDTH-1 downto 0) := "0001000";\r
+  constant DIGIT_B     : std_logic_vector(SEG_WIDTH-1 downto 0) := "0000011";\r
+  constant DIGIT_C     : std_logic_vector(SEG_WIDTH-1 downto 0) := "0110001";\r
+  constant DIGIT_D     : std_logic_vector(SEG_WIDTH-1 downto 0) := "1000010";\r
+  constant DIGIT_E     : std_logic_vector(SEG_WIDTH-1 downto 0) := "1001111";\r
+  constant DIGIT_F     : std_logic_vector(SEG_WIDTH-1 downto 0) := "1000111";\r
+  constant DIGIT_OFF   : std_logic_vector(SEG_WIDTH-1 downto 0) := "1111111";\r
\r
+end package;\r
diff --git a/bsp2/Angabe/vga_pll.bdf b/bsp2/Angabe/vga_pll.bdf
new file mode 100755 (executable)
index 0000000..906c435
--- /dev/null
@@ -0,0 +1,847 @@
+/*\r
+WARNING: Do NOT edit the input and output ports in this file in a text\r
+editor if you plan to continue editing the block that represents it in\r
+the Block Editor! File corruption is VERY likely to occur.\r
+*/\r
+/*\r
+Copyright (C) 1991-2006 Altera Corporation\r
+Your use of Altera Corporation's design tools, logic functions \r
+and other software and tools, and its AMPP partner logic \r
+functions, and any output files any of the foregoing \r
+(including device programming or simulation files), and any \r
+associated documentation or information are expressly subject \r
+to the terms and conditions of the Altera Program License \r
+Subscription Agreement, Altera MegaCore Function License \r
+Agreement, or other applicable license agreement, including, \r
+without limitation, that your use is for the sole purpose of \r
+programming logic devices manufactured by Altera and sold by \r
+Altera or its authorized distributors.  Please refer to the \r
+applicable agreement for further details.\r
+*/\r
+(header "graphic" (version "1.3"))\r
+(pin\r
+       (input)\r
+       (rect 248 80 416 96)\r
+       (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))\r
+       (text "board_clk" (rect 5 0 52 12)(font "Arial" ))\r
+       (pt 168 8)\r
+       (drawing\r
+               (line (pt 92 12)(pt 117 12)(line_width 1))\r
+               (line (pt 92 4)(pt 117 4)(line_width 1))\r
+               (line (pt 121 8)(pt 168 8)(line_width 1))\r
+               (line (pt 92 12)(pt 92 4)(line_width 1))\r
+               (line (pt 117 4)(pt 121 8)(line_width 1))\r
+               (line (pt 117 12)(pt 121 8)(line_width 1))\r
+       )\r
+       (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))\r
+       (annotation_block (location)(rect 256 136 304 152))\r
+)\r
+(pin\r
+       (input)\r
+       (rect 544 96 712 112)\r
+       (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))\r
+       (text "reset" (rect 5 0 29 12)(font "Arial" ))\r
+       (pt 168 8)\r
+       (drawing\r
+               (line (pt 92 12)(pt 117 12)(line_width 1))\r
+               (line (pt 92 4)(pt 117 4)(line_width 1))\r
+               (line (pt 121 8)(pt 168 8)(line_width 1))\r
+               (line (pt 92 12)(pt 92 4)(line_width 1))\r
+               (line (pt 117 4)(pt 121 8)(line_width 1))\r
+               (line (pt 117 12)(pt 121 8)(line_width 1))\r
+       )\r
+       (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))\r
+       (annotation_block (location)(rect 512 176 560 192))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 256 1148 272)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_hsync" (rect 90 0 132 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 96 1188 112))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 272 1148 288)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_vsync" (rect 90 0 133 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 112 1188 128))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 288 1148 304)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_column_counter[9..0]" (rect 90 0 205 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 128 1188 272))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 320 1148 336)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_set_column_counter" (rect 90 0 200 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 160 1196 176))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 336 1148 352)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_set_line_counter" (rect 90 0 182 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 176 1188 192))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 352 1148 368)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_hsync_counter[9..0]" (rect 90 0 200 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 192 1196 248))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 368 1142 384)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_vsync_counter[9..0]" (rect 90 0 202 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 208 1182 264))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 384 1142 400)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_set_hsync_counter" (rect 90 0 196 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 224 1182 240))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 400 1142 416)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_set_vsync_counter" (rect 90 0 197 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 240 1182 256))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 448 1142 464)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_r" (rect 90 0 105 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 288 1182 304))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 464 1142 480)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_g" (rect 90 0 107 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 304 1182 320))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 480 1142 496)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_b" (rect 90 0 107 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 320 1182 336))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 496 1142 512)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_hsync_state[0..6]" (rect 90 0 189 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1216 480 1264 584))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 512 1136 528)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_vsync_state[0..6]" (rect 90 0 190 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1256 352 1312 456))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 304 1148 320)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_line_counter[8..0]" (rect 90 0 186 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 144 1188 272))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 416 1142 432)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_h_enable" (rect 90 0 145 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 256 1182 272))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 432 1142 448)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_v_enable" (rect 90 0 146 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 272 1182 288))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 528 1148 544)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_state_clk" (rect 90 0 146 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1404 88 1452 104))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 544 1148 560)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_toggle" (rect 90 0 131 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1468 112 1516 128))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 80 1104 96)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "r0_pin" (rect 90 0 119 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 400 1144 416))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 96 1104 112)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "r1_pin" (rect 90 0 119 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 416 1144 432))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 112 1104 128)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "r2_pin" (rect 90 0 119 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 432 1144 448))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 128 1104 144)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "g0_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 448 1144 464))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 144 1104 160)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "g1_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 464 1144 480))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 160 1104 176)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "g2_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 480 1144 496))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 176 1104 192)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "b0_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 496 1144 512))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 192 1104 208)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "b1_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 512 1144 528))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 240 1148 256)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "seven_seg_pin[13..0]" (rect 90 0 196 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1508 472 1572 672))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 560 1148 576)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_toggle_counter[24..0]" (rect 90 0 205 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1492 128 1548 288))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 208 1104 224)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "hsync_pin" (rect 90 0 140 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 528 1144 544))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 224 1104 240)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "vsync_pin" (rect 90 0 141 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 544 1144 560))\r
+)\r
+(symbol\r
+       (rect 712 56 928 600)\r
+       (text "vga" (rect 5 0 23 12)(font "Arial" ))\r
+       (text "inst" (rect 8 528 25 540)(font "Arial" ))\r
+       (port\r
+               (pt 0 32)\r
+               (input)\r
+               (text "clk_pin" (rect 0 0 34 12)(font "Arial" ))\r
+               (text "clk_pin" (rect 21 27 55 39)(font "Arial" ))\r
+               (line (pt 0 32)(pt 16 32)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 0 48)\r
+               (input)\r
+               (text "reset_pin" (rect 0 0 44 12)(font "Arial" ))\r
+               (text "reset_pin" (rect 21 43 65 55)(font "Arial" ))\r
+               (line (pt 0 48)(pt 16 48)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 32)\r
+               (output)\r
+               (text "r0_pin" (rect 0 0 29 12)(font "Arial" ))\r
+               (text "r0_pin" (rect 166 27 195 39)(font "Arial" ))\r
+               (line (pt 216 32)(pt 200 32)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 48)\r
+               (output)\r
+               (text "r1_pin" (rect 0 0 29 12)(font "Arial" ))\r
+               (text "r1_pin" (rect 166 43 195 55)(font "Arial" ))\r
+               (line (pt 216 48)(pt 200 48)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 64)\r
+               (output)\r
+               (text "r2_pin" (rect 0 0 29 12)(font "Arial" ))\r
+               (text "r2_pin" (rect 166 59 195 71)(font "Arial" ))\r
+               (line (pt 216 64)(pt 200 64)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 80)\r
+               (output)\r
+               (text "g0_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "g0_pin" (rect 164 75 195 87)(font "Arial" ))\r
+               (line (pt 216 80)(pt 200 80)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 96)\r
+               (output)\r
+               (text "g1_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "g1_pin" (rect 164 91 195 103)(font "Arial" ))\r
+               (line (pt 216 96)(pt 200 96)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 112)\r
+               (output)\r
+               (text "g2_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "g2_pin" (rect 164 107 195 119)(font "Arial" ))\r
+               (line (pt 216 112)(pt 200 112)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 128)\r
+               (output)\r
+               (text "b0_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "b0_pin" (rect 164 123 195 135)(font "Arial" ))\r
+               (line (pt 216 128)(pt 200 128)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 144)\r
+               (output)\r
+               (text "b1_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "b1_pin" (rect 164 139 195 151)(font "Arial" ))\r
+               (line (pt 216 144)(pt 200 144)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 160)\r
+               (output)\r
+               (text "hsync_pin" (rect 0 0 50 12)(font "Arial" ))\r
+               (text "hsync_pin" (rect 145 155 195 167)(font "Arial" ))\r
+               (line (pt 216 160)(pt 200 160)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 176)\r
+               (output)\r
+               (text "vsync_pin" (rect 0 0 51 12)(font "Arial" ))\r
+               (text "vsync_pin" (rect 144 171 195 183)(font "Arial" ))\r
+               (line (pt 216 176)(pt 200 176)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 192)\r
+               (output)\r
+               (text "seven_seg_pin[13..0]" (rect 0 0 106 12)(font "Arial" ))\r
+               (text "seven_seg_pin[13..0]" (rect 89 187 195 199)(font "Arial" ))\r
+               (line (pt 216 192)(pt 200 192)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 208)\r
+               (output)\r
+               (text "d_hsync" (rect 0 0 42 12)(font "Arial" ))\r
+               (text "d_hsync" (rect 153 203 195 215)(font "Arial" ))\r
+               (line (pt 216 208)(pt 200 208)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 224)\r
+               (output)\r
+               (text "d_vsync" (rect 0 0 43 12)(font "Arial" ))\r
+               (text "d_vsync" (rect 152 219 195 231)(font "Arial" ))\r
+               (line (pt 216 224)(pt 200 224)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 240)\r
+               (output)\r
+               (text "d_column_counter[9..0]" (rect 0 0 115 12)(font "Arial" ))\r
+               (text "d_column_counter[9..0]" (rect 80 235 195 247)(font "Arial" ))\r
+               (line (pt 216 240)(pt 200 240)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 256)\r
+               (output)\r
+               (text "d_line_counter[8..0]" (rect 0 0 96 12)(font "Arial" ))\r
+               (text "d_line_counter[8..0]" (rect 99 251 195 263)(font "Arial" ))\r
+               (line (pt 216 256)(pt 200 256)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 272)\r
+               (output)\r
+               (text "d_set_column_counter" (rect 0 0 110 12)(font "Arial" ))\r
+               (text "d_set_column_counter" (rect 85 267 195 279)(font "Arial" ))\r
+               (line (pt 216 272)(pt 200 272)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 288)\r
+               (output)\r
+               (text "d_set_line_counter" (rect 0 0 92 12)(font "Arial" ))\r
+               (text "d_set_line_counter" (rect 103 283 195 295)(font "Arial" ))\r
+               (line (pt 216 288)(pt 200 288)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 304)\r
+               (output)\r
+               (text "d_hsync_counter[9..0]" (rect 0 0 110 12)(font "Arial" ))\r
+               (text "d_hsync_counter[9..0]" (rect 85 299 195 311)(font "Arial" ))\r
+               (line (pt 216 304)(pt 200 304)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 320)\r
+               (output)\r
+               (text "d_vsync_counter[9..0]" (rect 0 0 112 12)(font "Arial" ))\r
+               (text "d_vsync_counter[9..0]" (rect 83 315 195 327)(font "Arial" ))\r
+               (line (pt 216 320)(pt 200 320)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 336)\r
+               (output)\r
+               (text "d_set_hsync_counter" (rect 0 0 106 12)(font "Arial" ))\r
+               (text "d_set_hsync_counter" (rect 89 331 195 343)(font "Arial" ))\r
+               (line (pt 216 336)(pt 200 336)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 352)\r
+               (output)\r
+               (text "d_set_vsync_counter" (rect 0 0 107 12)(font "Arial" ))\r
+               (text "d_set_vsync_counter" (rect 88 347 195 359)(font "Arial" ))\r
+               (line (pt 216 352)(pt 200 352)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 368)\r
+               (output)\r
+               (text "d_h_enable" (rect 0 0 55 12)(font "Arial" ))\r
+               (text "d_h_enable" (rect 140 363 195 375)(font "Arial" ))\r
+               (line (pt 216 368)(pt 200 368)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 384)\r
+               (output)\r
+               (text "d_v_enable" (rect 0 0 56 12)(font "Arial" ))\r
+               (text "d_v_enable" (rect 139 379 195 391)(font "Arial" ))\r
+               (line (pt 216 384)(pt 200 384)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 400)\r
+               (output)\r
+               (text "d_r" (rect 0 0 15 12)(font "Arial" ))\r
+               (text "d_r" (rect 180 395 195 407)(font "Arial" ))\r
+               (line (pt 216 400)(pt 200 400)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 416)\r
+               (output)\r
+               (text "d_g" (rect 0 0 17 12)(font "Arial" ))\r
+               (text "d_g" (rect 178 411 195 423)(font "Arial" ))\r
+               (line (pt 216 416)(pt 200 416)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 432)\r
+               (output)\r
+               (text "d_b" (rect 0 0 17 12)(font "Arial" ))\r
+               (text "d_b" (rect 178 427 195 439)(font "Arial" ))\r
+               (line (pt 216 432)(pt 200 432)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 448)\r
+               (output)\r
+               (text "d_hsync_state[0..6]" (rect 0 0 99 12)(font "Arial" ))\r
+               (text "d_hsync_state[0..6]" (rect 96 443 195 455)(font "Arial" ))\r
+               (line (pt 216 448)(pt 200 448)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 464)\r
+               (output)\r
+               (text "d_vsync_state[0..6]" (rect 0 0 100 12)(font "Arial" ))\r
+               (text "d_vsync_state[0..6]" (rect 95 459 195 471)(font "Arial" ))\r
+               (line (pt 216 464)(pt 200 464)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 480)\r
+               (output)\r
+               (text "d_state_clk" (rect 0 0 56 12)(font "Arial" ))\r
+               (text "d_state_clk" (rect 139 475 195 487)(font "Arial" ))\r
+               (line (pt 216 480)(pt 200 480)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 496)\r
+               (output)\r
+               (text "d_toggle" (rect 0 0 41 12)(font "Arial" ))\r
+               (text "d_toggle" (rect 154 491 195 503)(font "Arial" ))\r
+               (line (pt 216 496)(pt 200 496)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 512)\r
+               (output)\r
+               (text "d_toggle_counter[24..0]" (rect 0 0 115 12)(font "Arial" ))\r
+               (text "d_toggle_counter[24..0]" (rect 80 507 195 519)(font "Arial" ))\r
+               (line (pt 216 512)(pt 200 512)(line_width 3))\r
+       )\r
+       (drawing\r
+               (rectangle (rect 16 16 200 528)(line_width 1))\r
+       )\r
+)\r
+(symbol\r
+       (rect 416 56 512 152)\r
+       (text "vpll" (rect 5 0 22 12)(font "Arial" ))\r
+       (text "inst1" (rect 8 80 31 92)(font "Arial" ))\r
+       (port\r
+               (pt 0 32)\r
+               (input)\r
+               (text "inclk0" (rect 0 0 28 12)(font "Arial" ))\r
+               (text "inclk0" (rect 21 27 49 39)(font "Arial" ))\r
+               (line (pt 0 32)(pt 16 32)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 96 32)\r
+               (output)\r
+               (text "c0" (rect 0 0 11 12)(font "Arial" ))\r
+               (text "c0" (rect 64 27 75 39)(font "Arial" ))\r
+               (line (pt 96 32)(pt 80 32)(line_width 1))\r
+       )\r
+       (drawing\r
+               (rectangle (rect 16 16 80 80)(line_width 1))\r
+       )\r
+)\r
+(connector\r
+       (pt 512 88)\r
+       (pt 712 88)\r
+)\r
diff --git a/bsp2/Angabe/vga_pll.tcl b/bsp2/Angabe/vga_pll.tcl
new file mode 100755 (executable)
index 0000000..c260434
--- /dev/null
@@ -0,0 +1,184 @@
+# Copyright (C) 1991-2006 Altera Corporation\r
+# Your use of Altera Corporation's design tools, logic functions \r
+# and other software and tools, and its AMPP partner logic \r
+# functions, and any output files any of the foregoing \r
+# (including device programming or simulation files), and any \r
+# associated documentation or information are expressly subject \r
+# to the terms and conditions of the Altera Program License \r
+# Subscription Agreement, Altera MegaCore Function License \r
+# Agreement, or other applicable license agreement, including, \r
+# without limitation, that your use is for the sole purpose of \r
+# programming logic devices manufactured by Altera and sold by \r
+# Altera or its authorized distributors.  Please refer to the \r
+# applicable agreement for further details.\r
+\r
+# Quartus II: Generate Tcl File for Project\r
+# File: vga_pll.tcl\r
+# Generated on: Fri Sep 29 09:31:24 2006\r
+\r
+# Load Quartus II Tcl Project package\r
+package require ::quartus::project\r
+package require ::quartus::flow\r
+\r
+set need_to_close_project 0\r
+set make_assignments 1\r
+\r
+# Check that the right project is open\r
+if {[is_project_open]} {\r
+       if {[string compare $quartus(project) "vga_pll"]} {\r
+               puts "Project vga_pll is not open"\r
+               set make_assignments 0\r
+       }\r
+} else {\r
+       # Only open if not already open\r
+       if {[project_exists vga_pll]} {\r
+               project_open -cmp vga_pll vga_pll\r
+       } else {\r
+               project_new -cmp vga_pll vga_pll\r
+       }\r
+       set need_to_close_project 1\r
+}\r
+\r
+# Make assignments\r
+if {$make_assignments} {\r
+       catch { set_global_assignment -name FAMILY Stratix } result\r
+       catch { set_global_assignment -name DEVICE EP1S25F672C6 } result\r
+       catch { set_global_assignment -name ORIGINAL_QUARTUS_VERSION 6.0 } result\r
+       catch { set_global_assignment -name PROJECT_CREATION_TIME_DATE "09:04:10  SEPTEMBER 29, 2006" } result\r
+       catch { set_global_assignment -name LAST_QUARTUS_VERSION 6.0 } result\r
+       catch { set_global_assignment -name EDA_DESIGN_ENTRY_SYNTHESIS_TOOL "Synplify Pro" } result\r
+       catch { set_global_assignment -name EDA_LMF_FILE synplcty.lmf -section_id eda_design_synthesis } result\r
+       catch { set_global_assignment -name EDA_INPUT_DATA_FORMAT VQM -section_id eda_design_synthesis } result\r
+       catch { set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (Verilog)" } result\r
+       catch { set_global_assignment -name EDA_TIME_SCALE "1 ps" -section_id eda_simulation } result\r
+       catch { set_global_assignment -name EDA_OUTPUT_DATA_FORMAT VERILOG -section_id eda_simulation } result\r
+       catch { set_global_assignment -name DEVICE_FILTER_PACKAGE FBGA } result\r
+       catch { set_global_assignment -name DEVICE_FILTER_PIN_COUNT 672 } result\r
+       catch { set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 6 } result\r
+       catch { set_global_assignment -name BSF_FILE ../../src/vpll.bsf } result\r
+       catch { set_global_assignment -name VHDL_FILE ../../src/vpll.vhd } result\r
+       catch { set_global_assignment -name BDF_FILE ../../src/vga_pll.bdf } result\r
+       catch { set_global_assignment -name VQM_FILE ../../syn/rev_1/vga.vqm } result\r
+\r
+       set_location_assignment PIN_E24 -to b0_pin\r
+       set_location_assignment PIN_T6 -to b1_pin\r
+       set_location_assignment PIN_N3 -to board_clk\r
+       set_location_assignment PIN_E23 -to g0_pin\r
+       set_location_assignment PIN_T5 -to g1_pin\r
+       set_location_assignment PIN_T24 -to g2_pin\r
+       set_location_assignment PIN_F1 -to hsync_pin\r
+       set_location_assignment PIN_E22 -to r0_pin\r
+       set_location_assignment PIN_T4 -to r1_pin\r
+       set_location_assignment PIN_T7 -to r2_pin\r
+       set_location_assignment PIN_A5 -to reset\r
+       set_location_assignment PIN_F2 -to vsync_pin\r
+       set_location_assignment PIN_Y5 -to d_hsync_state[0]\r
+       set_location_assignment PIN_F19 -to d_hsync_state[1]\r
+       set_location_assignment PIN_F17 -to d_hsync_state[2]\r
+       set_location_assignment PIN_Y2 -to d_hsync_state[3]\r
+       set_location_assignment PIN_F10 -to d_hsync_state[4]\r
+       set_location_assignment PIN_F9 -to d_hsync_state[5]\r
+       set_location_assignment PIN_F6 -to d_hsync_state[6]\r
+       set_location_assignment PIN_H4 -to d_hsync_counter[0]\r
+       set_location_assignment PIN_G25 -to d_hsync_counter[7]\r
+       set_location_assignment PIN_G22 -to d_hsync_counter[8]\r
+       set_location_assignment PIN_G18 -to d_hsync_counter[9]\r
+       set_location_assignment PIN_F5 -to d_vsync_state[0]\r
+       set_location_assignment PIN_F4 -to d_vsync_state[1]\r
+       set_location_assignment PIN_F3 -to d_vsync_state[2]\r
+       set_location_assignment PIN_M19 -to d_vsync_state[3]\r
+       set_location_assignment PIN_M18 -to d_vsync_state[4]\r
+       set_location_assignment PIN_M7 -to d_vsync_state[5]\r
+       set_location_assignment PIN_M4 -to d_vsync_state[6]\r
+       set_location_assignment PIN_G9 -to d_vsync_counter[0]\r
+       set_location_assignment PIN_G6 -to d_vsync_counter[7]\r
+       set_location_assignment PIN_G4 -to d_vsync_counter[8]\r
+       set_location_assignment PIN_G2 -to d_vsync_counter[9]\r
+       set_location_assignment PIN_K6 -to d_line_counter[0]\r
+       set_location_assignment PIN_K4 -to d_line_counter[1]\r
+       set_location_assignment PIN_J22 -to d_line_counter[2]\r
+       set_location_assignment PIN_M9 -to d_line_counter[3]\r
+       set_location_assignment PIN_M8 -to d_line_counter[4]\r
+       set_location_assignment PIN_M6 -to d_line_counter[5]\r
+       set_location_assignment PIN_M5 -to d_line_counter[6]\r
+       set_location_assignment PIN_L24 -to d_line_counter[7]\r
+       set_location_assignment PIN_L25 -to d_line_counter[8]\r
+       set_location_assignment PIN_L23 -to d_column_counter[0]\r
+       set_location_assignment PIN_L22 -to d_column_counter[1]\r
+       set_location_assignment PIN_L21 -to d_column_counter[2]\r
+       set_location_assignment PIN_L20 -to d_column_counter[3]\r
+       set_location_assignment PIN_L6 -to d_column_counter[4]\r
+       set_location_assignment PIN_L4 -to d_column_counter[5]\r
+       set_location_assignment PIN_L2 -to d_column_counter[6]\r
+       set_location_assignment PIN_K23 -to d_column_counter[7]\r
+       set_location_assignment PIN_K19 -to d_column_counter[8]\r
+       set_location_assignment PIN_K5 -to d_column_counter[9]\r
+       set_location_assignment PIN_L7 -to d_hsync\r
+       set_location_assignment PIN_L5 -to d_vsync\r
+       set_location_assignment PIN_F26 -to d_set_hsync_counter\r
+       set_location_assignment PIN_F24 -to d_set_vsync_counter\r
+       set_location_assignment PIN_F21 -to d_set_line_counter\r
+       set_location_assignment PIN_Y23 -to d_set_column_counter\r
+       set_location_assignment PIN_L3 -to d_r\r
+       set_location_assignment PIN_K24 -to d_g\r
+       set_location_assignment PIN_K20 -to d_b\r
+       set_location_assignment PIN_H18 -to d_v_enable\r
+       set_location_assignment PIN_J21 -to d_h_enable\r
+       set_location_assignment PIN_R8 -to seven_seg_pin[0]\r
+       set_location_assignment PIN_R9 -to seven_seg_pin[1]\r
+       set_location_assignment PIN_R19 -to seven_seg_pin[2]\r
+       set_location_assignment PIN_R20 -to seven_seg_pin[3]\r
+       set_location_assignment PIN_R21 -to seven_seg_pin[4]\r
+       set_location_assignment PIN_R22 -to seven_seg_pin[5]\r
+       set_location_assignment PIN_R23 -to seven_seg_pin[6]\r
+       set_location_assignment PIN_Y11 -to seven_seg_pin[7]\r
+       set_location_assignment PIN_N7 -to seven_seg_pin[8]\r
+       set_location_assignment PIN_N8 -to seven_seg_pin[9]\r
+       set_location_assignment PIN_R4 -to seven_seg_pin[10]\r
+       set_location_assignment PIN_R6 -to seven_seg_pin[11]\r
+       set_location_assignment PIN_AA11 -to seven_seg_pin[12]\r
+       set_location_assignment PIN_T2 -to seven_seg_pin[13]\r
+       set_location_assignment PIN_K3 -to d_state_clk\r
+        set_location_assignment PIN_H3 -to d_toggle\r
+        set_location_assignment PIN_H26 -to d_toggle_counter[0]\r
+        set_location_assignment PIN_G24 -to d_toggle_counter[15]\r
+        set_location_assignment PIN_G23 -to d_toggle_counter[16]\r
+        set_location_assignment PIN_G21 -to d_toggle_counter[17]\r
+        set_location_assignment PIN_G20 -to d_toggle_counter[18]\r
+        set_location_assignment PIN_G5 -to d_toggle_counter[19]\r
+        set_location_assignment PIN_G3 -to d_toggle_counter[20]\r
+        set_location_assignment PIN_G1 -to d_toggle_counter[21]\r
+        set_location_assignment PIN_F25 -to d_toggle_counter[22]\r
+        set_location_assignment PIN_F23 -to d_toggle_counter[23]\r
+        set_location_assignment PIN_T19 -to d_toggle_counter[24]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_column_counter\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[1]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[2]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[3]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[4]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[5]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[6]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_state\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_line_counter\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[1]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[2]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[3]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[4]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[5]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[6]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_state\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to seven_seg_pin\r
+\r
+\r
+       # Commit assignments\r
+       export_assignments\r
+\r
+execute_flow -compile\r
+\r
+       # Close project\r
+       if {$need_to_close_project} {\r
+               project_close\r
+       }\r
+}\r
diff --git a/bsp2/Angabe/vga_pos_tb.vhd b/bsp2/Angabe/vga_pos_tb.vhd
new file mode 100644 (file)
index 0000000..ebcff70
--- /dev/null
@@ -0,0 +1,198 @@
+-------------------------------------------------------------------------------
+-- Title      : vga testbench
+-- Project    : 
+-------------------------------------------------------------------------------
+-- File       : vga_tb.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-09-29
+-- Platform   : 
+-------------------------------------------------------------------------------
+-- Description: 
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+entity vga_pos_tb is
+
+end vga_pos_tb;
+
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+architecture structure of vga_pos_tb is
+  
+  constant cc : time := 39.7 ns;        -- test clock period
+
+  component vga
+    port (
+      clk_pin                                  : in  std_logic;
+      reset_pin                                : in  std_logic;
+      r0_pin, r1_pin, r2_pin                   : out std_logic;
+      g0_pin, g1_pin, g2_pin                   : out std_logic;
+      b0_pin, b1_pin                           : out std_logic;
+      hsync_pin                                : out std_logic;
+      vsync_pin                                : out std_logic;
+      seven_seg_pin                            : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+      d_hsync, d_vsync                         : out std_logic;
+      d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+      d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+      d_set_column_counter, d_set_line_counter : out std_logic;
+      d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+      d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+      d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+      d_h_enable                               : out std_logic;
+      d_v_enable                               : out std_logic;
+      d_r, d_g, d_b                            : out std_logic;
+      d_hsync_state                            : out std_logic_vector(0 to 6);
+      d_vsync_state                            : out std_logic_vector(0 to 6);
+      d_state_clk                              : out std_logic;
+      d_toggle                                 : out std_logic;
+      d_toggle_counter                         : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0));
+  end component;
+  
+  signal clk_pin                                  : std_logic;
+  signal reset_pin                                : std_logic;
+  signal r0_pin, r1_pin, r2_pin                   : std_logic;
+  signal g0_pin, g1_pin, g2_pin                   : std_logic;
+  signal b0_pin, b1_pin                           : std_logic;
+  signal hsync_pin                                : std_logic;
+  signal vsync_pin                                : std_logic;
+  signal seven_seg_pin                            : std_logic_vector(2*SEG_WIDTH-1 downto 0);
+  signal d_hsync, d_vsync                         : std_logic;
+  signal d_column_counter                         : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal d_line_counter                           : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal d_set_column_counter, d_set_line_counter : std_logic;
+  signal d_hsync_counter                          : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal d_vsync_counter                          : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal d_set_hsync_counter, d_set_vsync_counter : std_logic;
+  signal d_h_enable                               : std_logic;
+  signal d_v_enable                               : std_logic;
+  signal d_r, d_g, d_b                            : std_logic;
+  signal d_hsync_state                            : std_logic_vector(0 to 6);
+  signal d_vsync_state                            : std_logic_vector(0 to 6);
+  signal d_state_clk                              : std_logic;
+  signal d_toggle                                 : std_logic;
+  signal d_toggle_counter                         : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);
+  signal clk                                      : std_logic;
+  
+begin
+
+  vga_unit: vga
+    port map (
+      clk_pin              => clk_pin,
+      reset_pin            => reset_pin,
+      r0_pin               => r0_pin,
+      r1_pin               => r1_pin,
+      r2_pin               => r2_pin,
+      g0_pin               => g0_pin,
+      g1_pin               => g1_pin,
+      g2_pin               => g2_pin,
+      b0_pin               => b0_pin,
+      b1_pin               => b1_pin,
+      hsync_pin            => hsync_pin,
+      vsync_pin            => vsync_pin,
+      seven_seg_pin        => seven_seg_pin,
+      d_hsync              => d_hsync,
+      d_vsync              => d_vsync,
+      d_column_counter     => d_column_counter,
+      d_line_counter       => d_line_counter,
+      d_set_column_counter => d_set_column_counter,
+      d_set_line_counter   => d_set_line_counter,
+      d_hsync_counter      => d_hsync_counter,
+      d_vsync_counter      => d_vsync_counter,
+      d_set_hsync_counter  => d_set_hsync_counter,
+      d_set_vsync_counter  => d_set_vsync_counter,
+      d_h_enable           => d_h_enable,
+      d_v_enable           => d_v_enable,
+      d_r                  => d_r,
+      d_g                  => d_g,
+      d_b                  => d_b,
+      d_hsync_state        => d_hsync_state,
+      d_vsync_state        => d_vsync_state,
+      d_state_clk          => d_state_clk,
+      d_toggle             => d_toggle,
+      d_toggle_counter     => d_toggle_counter);
+
+
+  
+-------------------------------------------------------------------------------
+-- generate simulation clock
+-------------------------------------------------------------------------------
+  CLKGEN : process
+  begin
+    clk <= '1';
+    wait for cc/2;
+    clk <= '0';
+    wait for cc/2;
+  end process CLKGEN;
+
+-------------------------------------------------------------------------------
+-- test the design
+-------------------------------------------------------------------------------
+  TEST_IT : process
+
+    -- wait for n clock cycles
+    procedure icwait(cycles : natural) is
+    begin
+      for i in 1 to cycles loop
+        wait until clk = '1' and clk'event;
+      end loop;
+    end;
+
+  begin
+    -----------------------------------------------------------------------------
+    -- initial reset
+    -----------------------------------------------------------------------------
+    reset_pin <= '0';
+    icwait(10);
+    reset_pin <= '1';
+    icwait(1000000000);
+
+    ---------------------------------------------------------------------------
+    -- exit testbench
+    ---------------------------------------------------------------------------
+    assert false
+      report "Test finished"
+      severity error;
+
+  end process test_it;
+  
+  clk_pin <= clk;
+
+end structure;
+
+-------------------------------------------------------------------------------
+-- configuration
+-------------------------------------------------------------------------------
+configuration vga_conf_pos of vga_pos_tb is
+  for structure
+    for vga_unit : vga use entity work.vga(structure);
+    end for;
+  end for;
+end vga_conf_pos;
+
+
+
diff --git a/bsp2/Angabe/vga_pre_tb.vhd b/bsp2/Angabe/vga_pre_tb.vhd
new file mode 100644 (file)
index 0000000..dc010f7
--- /dev/null
@@ -0,0 +1,197 @@
+-------------------------------------------------------------------------------
+-- Title      : vga testbench
+-- Project    : 
+-------------------------------------------------------------------------------
+-- File       : vga_tb.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-09-29
+-- Platform   : 
+-------------------------------------------------------------------------------
+-- Description: 
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+entity vga_pre_tb is
+
+end vga_pre_tb;
+
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+architecture structure of vga_pre_tb is
+
+  constant cc : time := 39.7 ns;        -- test clock period
+
+  component vga
+    port (
+      clk_pin                                  : in  std_logic;
+      reset_pin                                : in  std_logic;
+      r0_pin, r1_pin, r2_pin                   : out std_logic;
+      g0_pin, g1_pin, g2_pin                   : out std_logic;
+      b0_pin, b1_pin                           : out std_logic;
+      hsync_pin                                : out std_logic;
+      vsync_pin                                : out std_logic;
+      seven_seg_pin                            : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+      d_hsync, d_vsync                         : out std_logic;
+      d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+      d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+      d_set_column_counter, d_set_line_counter : out std_logic;
+      d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+      d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+      d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+      d_h_enable                               : out std_logic;
+      d_v_enable                               : out std_logic;
+      d_r, d_g, d_b                            : out std_logic;
+      d_hsync_state                            : out std_logic_vector(0 to 6);
+      d_vsync_state                            : out std_logic_vector(0 to 6);
+      d_state_clk                              : out std_logic;
+      d_toggle                                 : out std_logic;
+      d_toggle_counter                         : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0));
+  end component;
+
+  signal clk_pin                                  : std_logic;
+  signal reset_pin                                : std_logic;
+  signal r0_pin, r1_pin, r2_pin                   : std_logic;
+  signal g0_pin, g1_pin, g2_pin                   : std_logic;
+  signal b0_pin, b1_pin                           : std_logic;
+  signal hsync_pin                                : std_logic;
+  signal vsync_pin                                : std_logic;
+  signal seven_seg_pin                            : std_logic_vector(2*SEG_WIDTH-1 downto 0);
+  signal d_hsync, d_vsync                         : std_logic;
+  signal d_column_counter                         : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal d_line_counter                           : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal d_set_column_counter, d_set_line_counter : std_logic;
+  signal d_hsync_counter                          : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal d_vsync_counter                          : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal d_set_hsync_counter, d_set_vsync_counter : std_logic;
+  signal d_h_enable                               : std_logic;
+  signal d_v_enable                               : std_logic;
+  signal d_r, d_g, d_b                            : std_logic;
+  signal d_hsync_state                            : std_logic_vector(0 to 6);
+  signal d_vsync_state                            : std_logic_vector(0 to 6);
+  signal d_state_clk                              : std_logic;
+  signal d_toggle                                 : std_logic;
+  signal d_toggle_counter                         : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);
+  signal clk                                      : std_logic;
+
+begin
+
+  vga_unit: vga
+    port map (
+      clk_pin              => clk_pin,
+      reset_pin            => reset_pin,
+      r0_pin               => r0_pin,
+      r1_pin               => r1_pin,
+      r2_pin               => r2_pin,
+      g0_pin               => g0_pin,
+      g1_pin               => g1_pin,
+      g2_pin               => g2_pin,
+      b0_pin               => b0_pin,
+      b1_pin               => b1_pin,
+      hsync_pin            => hsync_pin,
+      vsync_pin            => vsync_pin,
+      seven_seg_pin        => seven_seg_pin,
+      d_hsync              => d_hsync,
+      d_vsync              => d_vsync,
+      d_column_counter     => d_column_counter,
+      d_line_counter       => d_line_counter,
+      d_set_column_counter => d_set_column_counter,
+      d_set_line_counter   => d_set_line_counter,
+      d_hsync_counter      => d_hsync_counter,
+      d_vsync_counter      => d_vsync_counter,
+      d_set_hsync_counter  => d_set_hsync_counter,
+      d_set_vsync_counter  => d_set_vsync_counter,
+      d_h_enable           => d_h_enable,
+      d_v_enable           => d_v_enable,
+      d_r                  => d_r,
+      d_g                  => d_g,
+      d_b                  => d_b,
+      d_hsync_state        => d_hsync_state,
+      d_vsync_state        => d_vsync_state,
+      d_state_clk          => d_state_clk,
+      d_toggle             => d_toggle,
+      d_toggle_counter     => d_toggle_counter);
+
+  
+-------------------------------------------------------------------------------
+-- generate simulation clock
+-------------------------------------------------------------------------------
+  CLKGEN : process
+  begin
+    clk <= '1';
+    wait for cc/2;
+    clk <= '0';
+    wait for cc/2;
+  end process CLKGEN;
+
+-------------------------------------------------------------------------------
+-- test the design
+-------------------------------------------------------------------------------
+  TEST_IT : process
+
+    -- wait for n clock cycles
+    procedure icwait(cycles : natural) is
+    begin
+      for i in 1 to cycles loop
+        wait until clk = '1' and clk'event;
+      end loop;
+    end;
+
+  begin
+    -----------------------------------------------------------------------------
+    -- initial reset
+    -----------------------------------------------------------------------------
+    reset_pin <= '0';
+    icwait(10);
+    reset_pin <= '1';
+    icwait(10000000);
+
+    ---------------------------------------------------------------------------
+    -- exit testbench
+    ---------------------------------------------------------------------------
+    assert false
+      report "Test finished"
+      severity error;
+
+  end process test_it;
+  
+  clk_pin <= clk;
+
+end structure;
+
+-------------------------------------------------------------------------------
+-- configuration
+-------------------------------------------------------------------------------
+configuration vga_conf_pre of vga_pre_tb is
+  for structure
+    for vga_unit : vga use entity work.vga(beh);
+    end for;
+  end for;
+end vga_conf_pre;
+
+
+
diff --git a/bsp2/Angabe/vpll.bsf b/bsp2/Angabe/vpll.bsf
new file mode 100644 (file)
index 0000000..63c3118
--- /dev/null
@@ -0,0 +1,49 @@
+/*\r
+WARNING: Do NOT edit the input and output ports in this file in a text\r
+editor if you plan to continue editing the block that represents it in\r
+the Block Editor! File corruption is VERY likely to occur.\r
+*/\r
+/*\r
+Copyright (C) 1991-2004 Altera Corporation\r
+Any  megafunction  design,  and related netlist (encrypted  or  decrypted),\r
+support information,  device programming or simulation file,  and any other\r
+associated  documentation or information  provided by  Altera  or a partner\r
+under  Altera's   Megafunction   Partnership   Program  may  be  used  only\r
+to program  PLD  devices (but not masked  PLD  devices) from  Altera.   Any\r
+other  use  of such  megafunction  design,  netlist,  support  information,\r
+device programming or simulation file,  or any other  related documentation\r
+or information  is prohibited  for  any  other purpose,  including, but not\r
+limited to  modification,  reverse engineering,  de-compiling, or use  with\r
+any other  silicon devices,  unless such use is  explicitly  licensed under\r
+a separate agreement with  Altera  or a megafunction partner.  Title to the\r
+intellectual property,  including patents,  copyrights,  trademarks,  trade\r
+secrets,  or maskworks,  embodied in any such megafunction design, netlist,\r
+support  information,  device programming or simulation file,  or any other\r
+related documentation or information provided by  Altera  or a megafunction\r
+partner, remains with Altera, the megafunction partner, or their respective\r
+licensors. No other licenses, including any licenses needed under any third\r
+party's intellectual property, are provided herein.\r
+*/\r
+(header "symbol" (version "1.1"))\r
+(symbol\r
+       (rect 16 16 112 112)\r
+       (text "vpll" (rect 5 0 22 12)(font "Arial" ))\r
+       (text "inst" (rect 8 80 25 92)(font "Arial" ))\r
+       (port\r
+               (pt 0 32)\r
+               (input)\r
+               (text "inclk0" (rect 0 0 28 12)(font "Arial" ))\r
+               (text "inclk0" (rect 21 27 49 39)(font "Arial" ))\r
+               (line (pt 0 32)(pt 16 32)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 96 32)\r
+               (output)\r
+               (text "c0" (rect 0 0 11 12)(font "Arial" ))\r
+               (text "c0" (rect 64 27 75 39)(font "Arial" ))\r
+               (line (pt 96 32)(pt 80 32)(line_width 1))\r
+       )\r
+       (drawing\r
+               (rectangle (rect 16 16 80 80)(line_width 1))\r
+       )\r
+)\r
diff --git a/bsp2/Angabe/vpll.vhd b/bsp2/Angabe/vpll.vhd
new file mode 100644 (file)
index 0000000..dbb347f
--- /dev/null
@@ -0,0 +1,274 @@
+-- megafunction wizard: %ALTPLL%\r
+-- GENERATION: STANDARD\r
+-- VERSION: WM1.0\r
+-- MODULE: altpll \r
+\r
+-- ============================================================\r
+-- File Name: vpll.vhd\r
+-- Megafunction Name(s):\r
+--                     altpll\r
+-- ============================================================\r
+-- ************************************************************\r
+-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!\r
+--\r
+-- 4.1 Build 181 06/29/2004 SJ Full Version\r
+-- ************************************************************\r
+\r
+\r
+--Copyright (C) 1991-2004 Altera Corporation\r
+--Any  megafunction  design,  and related netlist (encrypted  or  decrypted),\r
+--support information,  device programming or simulation file,  and any other\r
+--associated  documentation or information  provided by  Altera  or a partner\r
+--under  Altera's   Megafunction   Partnership   Program  may  be  used  only\r
+--to program  PLD  devices (but not masked  PLD  devices) from  Altera.   Any\r
+--other  use  of such  megafunction  design,  netlist,  support  information,\r
+--device programming or simulation file,  or any other  related documentation\r
+--or information  is prohibited  for  any  other purpose,  including, but not\r
+--limited to  modification,  reverse engineering,  de-compiling, or use  with\r
+--any other  silicon devices,  unless such use is  explicitly  licensed under\r
+--a separate agreement with  Altera  or a megafunction partner.  Title to the\r
+--intellectual property,  including patents,  copyrights,  trademarks,  trade\r
+--secrets,  or maskworks,  embodied in any such megafunction design, netlist,\r
+--support  information,  device programming or simulation file,  or any other\r
+--related documentation or information provided by  Altera  or a megafunction\r
+--partner, remains with Altera, the megafunction partner, or their respective\r
+--licensors. No other licenses, including any licenses needed under any third\r
+--party's intellectual property, are provided herein.\r
+\r
+\r
+LIBRARY ieee;\r
+USE ieee.std_logic_1164.all;\r
+\r
+LIBRARY altera_mf;\r
+USE altera_mf.altera_mf_components.all;\r
+\r
+ENTITY vpll IS\r
+       PORT\r
+       (\r
+               inclk0          : IN STD_LOGIC  := '0';\r
+--             pllena          : IN STD_LOGIC  := '1';\r
+--             areset          : IN STD_LOGIC  := '0';\r
+               c0              : OUT STD_LOGIC \r
+--             locked          : OUT STD_LOGIC \r
+       );\r
+END vpll;\r
+\r
+\r
+ARCHITECTURE SYN OF vpll IS\r
+\r
+       SIGNAL sub_wire0        : STD_LOGIC_VECTOR (5 DOWNTO 0);\r
+       SIGNAL sub_wire1        : STD_LOGIC ;\r
+       SIGNAL sub_wire2        : STD_LOGIC ;\r
+       SIGNAL sub_wire3_bv     : BIT_VECTOR (0 DOWNTO 0);\r
+       SIGNAL sub_wire3        : STD_LOGIC_VECTOR (0 DOWNTO 0);\r
+       SIGNAL sub_wire4        : STD_LOGIC_VECTOR (5 DOWNTO 0);\r
+       SIGNAL sub_wire5_bv     : BIT_VECTOR (0 DOWNTO 0);\r
+       SIGNAL sub_wire5        : STD_LOGIC_VECTOR (0 DOWNTO 0);\r
+       SIGNAL sub_wire6        : STD_LOGIC ;\r
+       SIGNAL sub_wire7        : STD_LOGIC_VECTOR (1 DOWNTO 0);\r
+       SIGNAL sub_wire8        : STD_LOGIC_VECTOR (3 DOWNTO 0);\r
+\r
+signal pllena_int : std_logic;\r
+signal areset_int : std_logic;\r
+signal locked : std_logic;\r
+\r
+       COMPONENT altpll\r
+       GENERIC (\r
+               bandwidth_type          : STRING;\r
+               clk0_duty_cycle         : NATURAL;\r
+               lpm_type                : STRING;\r
+               clk0_multiply_by                : NATURAL;\r
+               invalid_lock_multiplier         : NATURAL;\r
+               inclk0_input_frequency          : NATURAL;\r
+               gate_lock_signal                : STRING;\r
+               clk0_divide_by          : NATURAL;\r
+               pll_type                : STRING;\r
+               valid_lock_multiplier           : NATURAL;\r
+               clk0_time_delay         : STRING;\r
+               spread_frequency                : NATURAL;\r
+               intended_device_family          : STRING;\r
+               operation_mode          : STRING;\r
+               compensate_clock                : STRING;\r
+               clk0_phase_shift                : STRING\r
+       );\r
+       PORT (\r
+                       clkena  : IN STD_LOGIC_VECTOR (5 DOWNTO 0);\r
+                       inclk   : IN STD_LOGIC_VECTOR (1 DOWNTO 0);\r
+                       pllena  : IN STD_LOGIC ;\r
+                       extclkena       : IN STD_LOGIC_VECTOR (3 DOWNTO 0);\r
+                       locked  : OUT STD_LOGIC ;\r
+                       areset  : IN STD_LOGIC ;\r
+                       clk     : OUT STD_LOGIC_VECTOR (5 DOWNTO 0)\r
+       );\r
+       END COMPONENT;\r
+\r
+BEGIN\r
+       sub_wire3_bv(0 DOWNTO 0) <= "0";\r
+       sub_wire3    <= To_stdlogicvector(sub_wire3_bv);\r
+       sub_wire5_bv(0 DOWNTO 0) <= "0";\r
+       sub_wire5    <= NOT(To_stdlogicvector(sub_wire5_bv));\r
+       sub_wire1    <= sub_wire0(0);\r
+       c0    <= sub_wire1;\r
+       locked    <= sub_wire2;\r
+       sub_wire4    <= sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire5(0 DOWNTO 0);\r
+       sub_wire6    <= inclk0;\r
+       sub_wire7    <= sub_wire3(0 DOWNTO 0) & sub_wire6;\r
+       sub_wire8    <= sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0);\r
+\r
+areset_int <= '0';\r
+pllena_int <= '1';\r
+\r
+       altpll_component : altpll\r
+       GENERIC MAP (\r
+               bandwidth_type => "AUTO",\r
+               clk0_duty_cycle => 50,\r
+               lpm_type => "altpll",\r
+               clk0_multiply_by => 5435,\r
+               invalid_lock_multiplier => 5,\r
+               inclk0_input_frequency => 30003,\r
+               gate_lock_signal => "NO",\r
+               clk0_divide_by => 6666,\r
+               pll_type => "AUTO",\r
+               valid_lock_multiplier => 1,\r
+               clk0_time_delay => "0",\r
+               spread_frequency => 0,\r
+               intended_device_family => "Stratix",\r
+               operation_mode => "NORMAL",\r
+               compensate_clock => "CLK0",\r
+               clk0_phase_shift => "0"\r
+       )\r
+       PORT MAP (\r
+               clkena => sub_wire4,\r
+               inclk => sub_wire7,\r
+               pllena => pllena_int,\r
+               extclkena => sub_wire8,\r
+               areset => areset_int,\r
+               clk => sub_wire0,\r
+               locked => sub_wire2\r
+       );\r
+\r
+\r
+\r
+END SYN;\r
+\r
+-- ============================================================\r
+-- CNX file retrieval info\r
+-- ============================================================\r
+-- Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0"\r
+-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg"\r
+-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz"\r
+-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz"\r
+-- Retrieval info: PRIVATE: SPREAD_USE STRING "0"\r
+-- Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1"\r
+-- Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575"\r
+-- Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"\r
+-- Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000"\r
+-- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "1"\r
+-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "1"\r
+-- Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500"\r
+-- Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1"\r
+-- Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "1"\r
+-- Retrieval info: PRIVATE: TIME_SHIFT0 STRING "0.00000000"\r
+-- Retrieval info: PRIVATE: STICKY_CLK0 STRING "1"\r
+-- Retrieval info: PRIVATE: BANDWIDTH STRING "1.000"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_USE_CUSTOM STRING "0"\r
+-- Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "6"\r
+-- Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1"\r
+-- Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0"\r
+-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0"\r
+-- Retrieval info: PRIVATE: USE_CLK0 STRING "1"\r
+-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1"\r
+-- Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "33.330"\r
+-- Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0"\r
+-- Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0"\r
+-- Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz"\r
+-- Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz"\r
+-- Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"\r
+-- Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "e0"\r
+-- Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "1"\r
+-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1"\r
+-- Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1"\r
+-- Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1"\r
+-- Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1"\r
+-- Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "299.970"\r
+-- Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz"\r
+-- Retrieval info: PRIVATE: PLL_ENA_CHECK STRING "1"\r
+-- Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "33.330"\r
+-- Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1"\r
+-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "27.175"\r
+-- Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0"\r
+-- Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: DEV_FAMILY STRING "Stratix"\r
+-- Retrieval info: PRIVATE: LOCK_LOSS_SWITCHOVER_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1"\r
+-- Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low"\r
+-- Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: USE_CLKENA0 STRING "0"\r
+-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg"\r
+-- Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0"\r
+-- Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0"\r
+-- Retrieval info: PRIVATE: DEVICE_FAMILY NUMERIC "9"\r
+-- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all\r
+-- Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO"\r
+-- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50"\r
+-- Retrieval info: CONSTANT: LPM_TYPE STRING "altpll"\r
+-- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "5435"\r
+-- Retrieval info: CONSTANT: INVALID_LOCK_MULTIPLIER NUMERIC "5"\r
+-- Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "30003"\r
+-- Retrieval info: CONSTANT: GATE_LOCK_SIGNAL STRING "NO"\r
+-- Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "6666"\r
+-- Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO"\r
+-- Retrieval info: CONSTANT: VALID_LOCK_MULTIPLIER NUMERIC "1"\r
+-- Retrieval info: CONSTANT: CLK0_TIME_DELAY STRING "0"\r
+-- Retrieval info: CONSTANT: SPREAD_FREQUENCY NUMERIC "0"\r
+-- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Stratix"\r
+-- Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL"\r
+-- Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0"\r
+-- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0"\r
+-- Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT VCC "c0"\r
+-- Retrieval info: USED_PORT: @clk 0 0 6 0 OUTPUT VCC "@clk[5..0]"\r
+-- Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT GND "inclk0"\r
+-- Retrieval info: USED_PORT: locked 0 0 0 0 OUTPUT GND "locked"\r
+-- Retrieval info: USED_PORT: pllena 0 0 0 0 INPUT VCC "pllena"\r
+-- Retrieval info: USED_PORT: @extclk 0 0 4 0 OUTPUT VCC "@extclk[3..0]"\r
+-- Retrieval info: USED_PORT: @inclk 0 0 2 0 INPUT VCC "@inclk[1..0]"\r
+-- Retrieval info: USED_PORT: areset 0 0 0 0 INPUT GND "areset"\r
+-- Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0\r
+-- Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0\r
+-- Retrieval info: CONNECT: @extclkena 0 0 1 1 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 4 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 1 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0\r
+-- Retrieval info: CONNECT: @pllena 0 0 0 0 pllena 0 0 0 0\r
+-- Retrieval info: CONNECT: @extclkena 0 0 1 2 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 5 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 2 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 0 VCC 0 0 0 0\r
+-- Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @extclkena 0 0 1 3 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @extclkena 0 0 1 0 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @areset 0 0 0 0 areset 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 3 GND 0 0 0 0\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll.vhd TRUE FALSE\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll.inc FALSE FALSE\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll.cmp TRUE FALSE\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll.bsf TRUE\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll_inst.vhd TRUE FALSE\r
diff --git a/bsp2/Protokolle/DigitalDesign_prot.sty b/bsp2/Protokolle/DigitalDesign_prot.sty
new file mode 100644 (file)
index 0000000..6cb3c1c
--- /dev/null
@@ -0,0 +1,225 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%                          DigitalDesign_app.sty
+%
+%                             Babak Rahbaran
+%                     (rahbaran@ecs.tuwien.ac.at)
+% 
+%                               14.07.03
+%
+%              Institut f"ur Technische Informatik (182/2) 
+%                          ECS Group
+%                     Technische Universit"at Wien 
+%                      1040 Treitlstr. 3, 2. Stk.
+%                      (www.ecs.tuwien.ac.at)
+% 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% packages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{fancyheadings}
+\usepackage{german}
+\usepackage{graphicx}
+\usepackage[latin1]{inputenc} %------- Umlaute im Text
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% user-defined commands
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% typeset pin numbers
+\newcommand{\pin}[1]{\emph{\textbf{#1}}\ }
+\renewcommand{\chaptername}{Aufgabe}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% some size definitions and counter settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\oddsidemargin 1cm
+\evensidemargin 1cm
+\topmargin 0pt
+\headsep 50pt
+\textheight 21.5cm
+\textwidth 14.1cm
+
+\renewcommand{\floatpagefraction}{0.9}
+\renewcommand{\textfraction}{0.05}
+\renewcommand{\topfraction}{1.0}
+\renewcommand{\bottomfraction}{1.0}
+
+\setcounter{totalnumber}{3}
+\setcounter{bottomnumber}{3}
+\setcounter{topnumber}{3}
+
+\setlength{\unitlength}{1mm}
+\setlength{\parindent}{6mm}
+\setlength{\parskip}{12pt plus2pt minus2pt}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% define variables used on titlepage
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% heading
+\def\headline#1{\gdef\@headline{#1}}
+% group number
+\def\groupnr#1{\gdef\@groupnr{#1}}
+% authors
+\def\vornamea#1{\gdef\@vornamea{#1}}
+\def\nachnamea#1{\gdef\@nachnamea{#1}}
+\def\matrikela#1{\gdef\@matrikela{#1}}
+\def\emaila#1{\gdef\@emaila{#1}}
+
+\def\vornameb#1{\gdef\@vornameb{#1}}
+\def\nachnameb#1{\gdef\@nachnameb{#1}}
+\def\matrikelb#1{\gdef\@matrikelb{#1}}
+\def\emailb#1{\gdef\@emailb{#1}}
+
+\def\vornamec#1{\gdef\@vornamec{#1}}
+\def\nachnamec#1{\gdef\@nachnamec{#1}}
+\def\matrikelc#1{\gdef\@matrikelc{#1}}
+\def\emailc#1{\gdef\@emailc{#1}}
+
+%\def\vornamed#1{\gdef\@vornamed{#1}}
+%\def\nachnamed#1{\gdef\@nachnamed{#1}}
+%\def\matrikeld#1{\gdef\@matrikeld{#1}}
+%\def\emaild#1{\gdef\@emaild{#1}}
+
+% address of department
+\def\address#1{\gdef\@address{#1}}
+% LVA-Nr.
+\def\lvanr#1{\gdef\@aufgabe{#1}}
+
+\setcounter{footnote}{0} 
+
+% initialize variables
+\gdef\@headline{Digital Design LU}            
+\gdef\@title{P r o t o k o l l}
+
+\gdef\@groupnr{00}
+
+\gdef\@vornamea{Vorname1}
+\gdef\@nachnamea{Nachname1}
+\gdef\@matrikela{0000000}
+\gdef\@emaila{a@æstudent.tuwien.ac.at}
+
+\gdef\@vornameb{Vorname2}
+\gdef\@nachnameb{Nachname2}
+\gdef\@matrikelb{0000000}
+\gdef\@emailb{b@æstudent.tuwien.ac.at}
+
+\gdef\@vornamec{Vorname3}
+\gdef\@nachnamec{Nachname3}
+\gdef\@matrikelc{0000000}
+\gdef\@emailc{c@student.tuwien.ac.at}
+
+%\gdef\@vornamed{Vorname4}
+%\gdef\@nachnamed{Nachname4}
+%\gdef\@matrikeld{0000000}
+%\gdef\@emaild{d@student.tuwien.ac.at}
+
+\gdef\@aufgabe{zu Aufgabe 1}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% titlepage
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\maketitle{
+\begin{titlepage}
+
+% enlarge page
+\setlength{\topmargin}{0pt}
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{0pt}
+\setlength{\footskip}{0pt}
+
+\let\footnotesize\small \let\footnoterule\relax \setcounter{page}{1}
+\null
+\vfill
+\large
+\vskip -4 cm 
+
+\begin{center}
+% heading
+{\LARGE\bf \@headline \par} \vskip 2cm
+
+\vskip 1cm
+
+% title
+{\Huge\bf\underline \@title \par} 
+\vskip 1cm
+%{\Large \bf \@aufgabe \par}
+\vskip 4cm
+
+\begin{flushright}
+Gruppe \@groupnr \par
+% authors
+\@vornamea \  \@nachnamea, Matr. Nr. \@matrikela \par
+{\small \@emaila \par}
+\@vornameb \  \@nachnameb, Matr. Nr. \@matrikelb \par
+{\small \@emailb \par}
+\@vornamec \  \@nachnamec, Matr. Nr. \@matrikelc \par
+{\small \@emailc \par}
+%\@vornamed \  \@nachnamed, Matr. Nr. \@matrikeld \par
+%{\small \@emaild \par}
+
+%\@authora \par
+%\@authorb \par
+%\@authorc \par
+%\@authord \par
+\vskip 1cm
+Wien, am~\today{}
+\end{flushright}
+\end{center} \par
+\vskip 1.5cm 
+
+\end{titlepage}
+
+\setcounter{footnote}{0} 
+\let\thanks\relax
+} % \def\maketitle
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newenvironment{Ventry}[1]%
+{\begin{list}{}{\renewcommand{\makelabel}[1]{\textbf{##1:}\hfill}%
+\settowidth{\labelwidth}{\textbf{#1:}}%
+\setlength{\leftmargin}{\labelwidth}%
+\addtolength{\leftmargin}{\labelsep}}}%
+{\end{list}}
+
+\newcommand{\tablesize}{\fontsize{8}{10}\selectfont}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% layout of non-title pages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\pagenumbering{roman}
+\setlength{\parskip}{5pt plus2pt minus2pt}
+
+\setlength{\parskip}{1mm}
+\clearpage
+\setlength{\parskip}{5pt plus2pt minus2pt}
+
+\pagestyle{fancy}
+\renewcommand{\chaptermark}[1]{\markboth{\thechapter\ #1}{}}
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}{}}
+\addtolength{\headheight}{2pt}
+
+\pagenumbering{arabic}
+\setcounter{page} {1}
diff --git a/bsp2/Protokolle/DigitalDesign_prot.tex b/bsp2/Protokolle/DigitalDesign_prot.tex
new file mode 100644 (file)
index 0000000..acbdaed
--- /dev/null
@@ -0,0 +1,36 @@
+
+\documentclass[12pt,a4paper,titlepage,oneside]{report}
+
+
+\usepackage{DigitalDesign_prot}
+\sloppy
+
+
+\begin{document}
+% create titlepage
+\maketitle
+
+% tables and lists
+%\tableofcontents
+%\newpage
+%\listoffigures
+%\newpage
+%\listoftables
+%\newpage
+
+% chapters
+\input{chapter1}
+\input{chapter2}
+\input{chapter3}
+\input{chapter4}
+
+% appendices
+%\appendix
+%\input{app1}
+
+% bibliography
+%\bibliographystyle{alpha}
+%\nocite{*}
+%\bibliography{DigitalDesign}
+
+\end{document}
diff --git a/bsp2/Protokolle/chapter1.tex b/bsp2/Protokolle/chapter1.tex
new file mode 100644 (file)
index 0000000..27f796e
--- /dev/null
@@ -0,0 +1,10 @@
+\chapter{Logikanalysator}
+
+
+\begin{itemize}
+\item Frequenz HSYNC =  Hz
+\item Frequenz VSYNC =  Hz
+\item Farbe Pixel = (r,g,b)
+\item Farbe Hintergrund = (r,g,b)
+\item x-Koordinate = 
+\end{itemize}
diff --git a/bsp2/Protokolle/chapter2.tex b/bsp2/Protokolle/chapter2.tex
new file mode 100644 (file)
index 0000000..a8ddc1a
--- /dev/null
@@ -0,0 +1,6 @@
+\chapter{Design-Flow}
+
+\begin{itemize}
+\item Blinkfrequenz =  Hz
+\end{itemize}
+
diff --git a/bsp2/Protokolle/chapter3.tex b/bsp2/Protokolle/chapter3.tex
new file mode 100644 (file)
index 0000000..c6bbec2
--- /dev/null
@@ -0,0 +1 @@
+\chapter{VHDL}
diff --git a/bsp2/Protokolle/chapter4.tex b/bsp2/Protokolle/chapter4.tex
new file mode 100644 (file)
index 0000000..4b1b7cc
--- /dev/null
@@ -0,0 +1,13 @@
+\chapter{Simulation und Test}
+
+\begin{itemize}
+\item File Syntaxfehler: 
+\item Zeilennummer Syntaxfehler: 
+
+\item File Semantikfehler 1: 
+\item Zeilennummer Semantikfehler 1: 
+
+\item File Semantikfehler 2: 
+\item Zeilennummer Semantikfehler 2: 
+\end{itemize}
+
diff --git a/bsp2/Protokolle/prot_1.txt b/bsp2/Protokolle/prot_1.txt
new file mode 100644 (file)
index 0000000..91a8a82
--- /dev/null
@@ -0,0 +1,6 @@
+
+Frequenz HSYNC = ___ ___ Hz 
+Frequenz VSYNC = ___ ___ Hz
+Farbe Pixel = (r,g,b)
+Farbe Hintergrund = (r,g,b)
+x-Koordinate = ___ ___
diff --git a/bsp2/Protokolle/prot_2.txt b/bsp2/Protokolle/prot_2.txt
new file mode 100644 (file)
index 0000000..da24c18
--- /dev/null
@@ -0,0 +1 @@
+blinker_max = ___ ___
diff --git a/bsp2/Protokolle/prot_4.txt b/bsp2/Protokolle/prot_4.txt
new file mode 100644 (file)
index 0000000..d45603d
--- /dev/null
@@ -0,0 +1,9 @@
+File Syntaxfehler: ___ ___
+Zeilennummer Syntaxfehler: ___ ___
+
+File Semantikfehler 1: ___ ___
+Zeilennummer Semantikfehler 1: ___ ___
+
+File Semantikfehler 2: ___ ___
+Zeilennummer Semantikfehler 2: ___ ___
+
diff --git a/bsp3/Angabe/board_driver_arc.vhd b/bsp3/Angabe/board_driver_arc.vhd
new file mode 100644 (file)
index 0000000..7636a37
--- /dev/null
@@ -0,0 +1,102 @@
+-------------------------------------------------------------------------------\r
+-- Title      : board_driver architecture\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : board_driver.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-12-15\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: display number on 7-segment display\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-12-15  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;\r
+\r
+-------------------------------------------------------------------------------\r
+-- ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
+\r
+\r
+architecture behav of board_driver is\r
+\r
+  attribute syn_preserve          : boolean;\r
+  attribute syn_preserve of behav : architecture is true;\r
+\r
+\r
+  signal   display_value  : std_logic_vector(2*BCD_WIDTH-1 downto 0);\r
+  signal   ten_value      : std_logic_vector(BCD_WIDTH-1 downto 0);\r
+  signal   one_value      : std_logic_vector(BCD_WIDTH-1 downto 0);\r
+  signal   digit_left     : std_logic_vector(SEG_WIDTH-1 downto 0);\r
+  signal   digit_right    : std_logic_vector(SEG_WIDTH-1 downto 0);\r
+\r
+begin\r
+\r
+  -----------------------------------------------------------------------------\r
+  -- generate control data\r
+  -----------------------------------------------------------------------------\r
+\r
+\r
+  display_value <= "00000001";                                 -- vector of two BCD coded numbers to be displayed\r
+  one_value <= display_value(BCD_WIDTH-1 downto 0);            -- BCD number to be displayed in right digit\r
+  ten_value <= display_value(2*BCD_WIDTH-1 downto BCD_WIDTH);  -- BCD number to be displayed in left digit\r
+\r
+\r
+  SEG_DATA: process(reset, one_value, ten_value)\r
+  begin\r
+    if (reset = RES_ACT) then                     -- upon reset\r
+      digit_left  <= DIGIT_OFF;                   -- ... switch off display\r
+      digit_right <= DIGIT_OFF;\r
+    else                                          -- during operation\r
+      case one_value is                           -- ...display "one" position according\r
+        when "0000" => digit_right <= DIGIT_ZERO; -- ...to translation table\r
+        when "0001" => digit_right <= DIGIT_ONE;\r
+        when "0010" => digit_right <= DIGIT_TWO;\r
+        when "0011" => digit_right <= DIGIT_THREE;\r
+        when "0100" => digit_right <= DIGIT_FOUR;\r
+        when "0101" => digit_right <= DIGIT_FIVE;\r
+        when "0110" => digit_right <= DIGIT_SIX;\r
+        when "0111" => digit_right <= DIGIT_SEVEN;\r
+        when "1000" => digit_right <= DIGIT_EIGHT;\r
+        when "1001" => digit_right <= DIGIT_NINE;\r
+        when others => digit_right <= DIGIT_F;    -- use "F" as overflow\r
+      end case;\r
+\r
+      case ten_value is                           -- same for "ten" position\r
+        when "0000" => digit_left <= DIGIT_ZERO;\r
+        when "0001" => digit_left <= DIGIT_ONE;\r
+        when "0010" => digit_left <= DIGIT_TWO;\r
+        when "0011" => digit_left <= DIGIT_THREE;\r
+        when "0100" => digit_left <= DIGIT_FOUR;\r
+        when "0101" => digit_left <= DIGIT_FIVE;\r
+        when "0110" => digit_left <= DIGIT_SIX;\r
+        when "0111" => digit_left <= DIGIT_SEVEN;\r
+        when "1000" => digit_left <= DIGIT_EIGHT;\r
+        when "1001" => digit_left <= DIGIT_NINE;\r
+        when others => digit_left <= DIGIT_F;\r
+      end case;\r
+    end if;\r
+  end process;\r
+\r
+\r
+-- combine the two digits to one bus\r
+  seven_seg(SEG_WIDTH-1 downto 0)  <= digit_right;\r
+  seven_seg(2*SEG_WIDTH-1 downto SEG_WIDTH) <= digit_left;\r
+  \r
+end behav;\r
diff --git a/bsp3/Angabe/board_driver_ent.vhd b/bsp3/Angabe/board_driver_ent.vhd
new file mode 100644 (file)
index 0000000..17e5cf7
--- /dev/null
@@ -0,0 +1,42 @@
+-------------------------------------------------------------------------------\r
+-- Title      : board_driver entity\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : board_driver_ent.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-12-15\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: display number on 7-segment display\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-12-15  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;\r
+\r
+-------------------------------------------------------------------------------\r
+-- ENTITY\r
+-------------------------------------------------------------------------------\r
+\r
+entity board_driver is\r
+  \r
+  port (\r
+        reset      : in  std_logic;\r
+        seven_seg  : out std_logic_vector(2*SEG_WIDTH-1 downto 0)\r
+        );                       \r
+end board_driver;\r
diff --git a/bsp3/Angabe/dide_16_3.txt b/bsp3/Angabe/dide_16_3.txt
new file mode 100644 (file)
index 0000000..8af1bbb
--- /dev/null
@@ -0,0 +1,4 @@
+Anzahl der Streifen: 3
+Breite Streifen 1: 67 Pixel     Farbe: (r,g,b) =  (0,0,1)
+Breite Streifen 2: 65 Pixel     Farbe: (r,g,b) =  (0,1,1)
+Breite Streifen 3: 136 Pixel    Farbe: (r,g,b) =  (1,0,1)
diff --git a/bsp3/Angabe/vga_arc.vhd b/bsp3/Angabe/vga_arc.vhd
new file mode 100755 (executable)
index 0000000..1723f58
--- /dev/null
@@ -0,0 +1,219 @@
+ -------------------------------------------------------------------------------\r
+-- Title      : vga architecture\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : vga.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-04-07\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: arch of top level module, the sub-modules are connected here\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-04-07  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;      -- include package\r
+\r
+-------------------------------------------------------------------------------\r
+-- ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
+\r
+architecture behav of vga is\r
+\r
+  attribute syn_preserve          : boolean;\r
+  attribute syn_preserve of behav : architecture is true;\r
+\r
+\r
+-------------------------------------------------------------------------------\r
+-- component declarations for the modules\r
+-------------------------------------------------------------------------------\r
+\r
+  component vga_driver\r
+    port (\r
+      clk                  : in  std_logic;\r
+      reset                : in  std_logic;\r
+      column_counter       : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);\r
+      line_counter         : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);\r
+      h_enable             : out std_logic;\r
+      v_enable             : out std_logic;\r
+      hsync                : out std_logic; \r
+      vsync                : out std_logic;\r
+      d_hsync_state          : out hsync_state_type;\r
+      d_vsync_state          : out vsync_state_type;\r
+      d_hsync_counter        : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);\r
+      d_vsync_counter        : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);\r
+      d_set_hsync_counter    : out std_logic;\r
+      d_set_vsync_counter    : out std_logic;\r
+      d_set_column_counter   : out std_logic;\r
+      d_set_line_counter     : out std_logic);\r
+  end component;\r
+\r
+\r
+  component vga_control\r
+    port (\r
+      clk            : in  std_logic;\r
+      reset          : in  std_logic;\r
+      column_counter : in  std_logic_vector(COL_CNT_WIDTH-1 downto 0);\r
+      line_counter   : in  std_logic_vector(LINE_CNT_WIDTH-1 downto 0);\r
+      h_enable       : in  std_logic;\r
+      v_enable       : in  std_logic;\r
+      r, g, b        : out std_logic\r
+      );\r
+  end component;\r
+\r
+\r
+  component board_driver\r
+    port (\r
+       reset : in  std_logic;\r
+      seven_seg  : out std_logic_vector(2*SEG_WIDTH-1 downto 0));\r
+  end component;\r
+\r
+\r
+-- declare signals needed for internal wiring of these components later\r
+  signal column_counter_sig   : std_logic_vector(COL_CNT_WIDTH-1 downto 0);\r
+  signal line_counter_sig     : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);\r
+  signal h_enable_sig         : std_logic;\r
+  signal v_enable_sig         : std_logic;\r
+  signal r_sig, g_sig, b_sig  : std_logic;\r
+  signal hsync_sig, vsync_sig : std_logic;\r
+  \r
+-- declare signals needed for prolongation of reset\r
+  signal   dly_counter       : std_logic_vector(1 downto 0);\r
+  signal   dly_counter_next  : std_logic_vector(1 downto 0);\r
+  constant MAX_DLY           : std_logic_vector(1 downto 0) := "11";\r
+  signal   reset_dly         : std_logic;      --\r
+  signal   safe_reset        : std_logic;     \r
+\r
+\r
+-------------------------------------------------------------------------------\r
+-- prolong duration of reset to prevent glitches  at power-up\r
+-------------------------------------------------------------------------------\r
+\r
+begin\r
+\r
+  DELAY_RESET_syn : process(clk_pin)            -- synchronous capture\r
+  begin\r
+    if clk_pin'event and clk_pin = '1' then     -- upon rising clock\r
+      dly_counter <= dly_counter_next;          -- ... capture new counter value\r
+    end if;\r
+  end process;\r
+\r
+  DELAY_RESET_next : process(dly_counter, reset_pin)    -- next state logic\r
+  begin\r
+    if reset_pin = RES_ACT then              -- upon reset\r
+      dly_counter_next <= (others => '0');   -- ...clear dly counter\r
+    elsif dly_counter < MAX_DLY then         -- if no oflo\r
+      dly_counter_next <= dly_counter + '1'; -- ...increment dly counter\r
+    else \r
+      dly_counter_next <= dly_counter;       -- freeze dly counter when oflo\r
+    end if;\r
+  end process;\r
+  \r
+  DELAY_RESET_out: process(dly_counter)\r
+  begin\r
+    if dly_counter < MAX_DLY then      -- until dly counter reaches maximum\r
+      reset_dly   <= RES_ACT;          -- ...activate delayed reset signal\r
+    else                               -- upon counter oflo \r
+      reset_dly <= not(RES_ACT);       -- ...finally deactivate delayed reset\r
+    end if;\r
+  end process;\r
+\r
+\r
+\r
+  COMBINE_RESET: process(reset_pin, reset_dly)         -- generate "safe" reset signal\r
+  begin\r
+    if reset_pin = RES_ACT or reset_dly = RES_ACT then -- ...by combining delayed reset with non-delayed reset input \r
+      safe_reset <= RES_ACT;\r
+    else\r
+      safe_reset <= not(RES_ACT);\r
+    end if;\r
+  end process;\r
+\r
+\r
+-------------------------------------------------------------------------------\r
+-- instantiate the components and connect to internal and external signals\r
+-------------------------------------------------------------------------------\r
+\r
+\r
+board_driver_unit : board_driver\r
+    port map (\r
+      reset       => safe_reset,\r
+      seven_seg   => seven_seg_pin);\r
+\r
+\r
+vga_driver_unit : vga_driver\r
+    port map (\r
+      clk                => clk_pin,\r
+      reset              => safe_reset,\r
+      column_counter     => column_counter_sig,\r
+      line_counter       => line_counter_sig,\r
+      h_enable           => h_enable_sig,\r
+      v_enable           => v_enable_sig,\r
+      hsync              => hsync_sig,\r
+      vsync              => vsync_sig,\r
+      d_hsync_state        => d_hsync_state,\r
+      d_vsync_state        => d_vsync_state,\r
+      d_hsync_counter      => d_hsync_counter,\r
+      d_vsync_counter      => d_vsync_counter,\r
+      d_set_hsync_counter  => d_set_hsync_counter,\r
+      d_set_vsync_counter  => d_set_vsync_counter,\r
+      d_set_column_counter => d_set_column_counter,\r
+      d_set_line_counter   => d_set_line_counter);\r
+\r
+-- make the wiring for hsync and vsync pins \r
+-- (pin is output only => internal _sig version required to allow readback of signal)\r
+  vsync_pin <= vsync_sig;\r
+  hsync_pin <= hsync_sig;\r
+\r
+\r
+  vga_control_unit : vga_control\r
+    port map (\r
+      clk            => clk_pin,\r
+      reset          => safe_reset,\r
+      column_counter => column_counter_sig,\r
+      line_counter   => line_counter_sig,\r
+      h_enable       => h_enable_sig,\r
+      v_enable       => v_enable_sig,\r
+      r              => r_sig,\r
+      g              => g_sig,\r
+      b              => b_sig);\r
+\r
+-- make the wiring for RGB pins: drive all pins for same color from one source ("8 color mode")\r
+  r0_pin <= r_sig; r1_pin <= r_sig; r2_pin <= r_sig;\r
+  g0_pin <= g_sig; g1_pin <= g_sig; g2_pin <= g_sig;\r
+  b0_pin <= b_sig; b1_pin <= b_sig;\r
+\r
+\r
+-- make extra pin connections for debug signals\r
+  d_hsync          <= hsync_sig;       -- make duplicate of signal for debug connector\r
+  d_vsync          <= vsync_sig;       -- make duplicate of signal for debug connector\r
+  d_column_counter <= column_counter_sig;\r
+  d_line_counter   <= line_counter_sig;\r
+  d_h_enable       <= h_enable_sig;\r
+  d_v_enable       <= v_enable_sig;\r
+  d_r              <= r_sig;\r
+  d_g              <= g_sig;\r
+  d_b              <= b_sig;\r
+  d_state_clk      <= clk_pin;        -- make duplicate of signal for debug connector\r
+\r
+  \r
+end behav;\r
+\r
+-------------------------------------------------------------------------------\r
+-- END ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
diff --git a/bsp3/Angabe/vga_beh_tb.vhd b/bsp3/Angabe/vga_beh_tb.vhd
new file mode 100644 (file)
index 0000000..4a4ba09
--- /dev/null
@@ -0,0 +1,189 @@
+-------------------------------------------------------------------------------
+-- Title      : vga testbench
+-- Project    : 
+-------------------------------------------------------------------------------
+-- File       : vga_tb.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-11-21
+-- Platform   : 
+-------------------------------------------------------------------------------
+-- Description: 
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+entity vga_tb is
+
+end vga_tb;
+
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+architecture behaviour of vga_tb is
+  
+  constant cc : time := 39.7 ns;        -- test clock period
+  component vga
+    port (
+      clk_pin                                  : in  std_logic;
+      reset_pin                                : in  std_logic;
+      r0_pin, r1_pin, r2_pin                   : out std_logic;
+      g0_pin, g1_pin, g2_pin                   : out std_logic;
+      b0_pin, b1_pin                           : out std_logic;
+      hsync_pin                                : out std_logic;
+      vsync_pin                                : out std_logic;
+      seven_seg_pin                            : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+      d_hsync, d_vsync                         : out std_logic;
+      d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+      d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+      d_set_column_counter, d_set_line_counter : out std_logic;
+      d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+      d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+      d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+      d_h_enable                               : out std_logic;
+      d_v_enable                               : out std_logic;
+      d_r, d_g, d_b                            : out std_logic;
+      d_hsync_state                            : out hsync_state_type;
+      d_vsync_state                            : out vsync_state_type;
+      d_state_clk                              : out std_logic);
+  end component;
+
+  signal clk_pin                                  : std_logic;
+  signal reset_pin                                : std_logic;
+  signal r0_pin, r1_pin, r2_pin                   : std_logic;
+  signal g0_pin, g1_pin, g2_pin                   : std_logic;
+  signal b0_pin, b1_pin                           : std_logic;
+  signal hsync_pin                                : std_logic;
+  signal vsync_pin                                : std_logic;
+  signal seven_seg_pin                            : std_logic_vector(2*SEG_WIDTH-1 downto 0);
+  signal d_hsync, d_vsync                         : std_logic;
+  signal d_column_counter                         : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal d_line_counter                           : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal d_set_column_counter, d_set_line_counter : std_logic;
+  signal d_hsync_counter                          : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal d_vsync_counter                          : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal d_set_hsync_counter, d_set_vsync_counter : std_logic;
+  signal d_h_enable                               : std_logic;
+  signal d_v_enable                               : std_logic;
+  signal d_r, d_g, d_b                            : std_logic;
+  signal d_hsync_state                            : hsync_state_type;
+  signal d_vsync_state                            : vsync_state_type;
+  signal d_state_clk                              : std_logic;
+
+  
+begin
+
+  vga_unit: vga
+    port map (
+      clk_pin              => clk_pin,
+      reset_pin            => reset_pin,
+      r0_pin               => r0_pin,
+      r1_pin               => r1_pin,
+      r2_pin               => r2_pin,
+      g0_pin               => g0_pin,
+      g1_pin               => g1_pin,
+      g2_pin               => g2_pin,
+      b0_pin               => b0_pin,
+      b1_pin               => b1_pin,
+      hsync_pin            => hsync_pin,
+      vsync_pin            => vsync_pin,
+      seven_seg_pin        => seven_seg_pin,
+      d_hsync              => d_hsync,
+      d_vsync              => d_vsync,
+      d_column_counter     => d_column_counter,
+      d_line_counter       => d_line_counter,
+      d_set_column_counter => d_set_column_counter,
+      d_set_line_counter   => d_set_line_counter,
+      d_hsync_counter      => d_hsync_counter,
+      d_vsync_counter      => d_vsync_counter,
+      d_set_hsync_counter  => d_set_hsync_counter,
+      d_set_vsync_counter  => d_set_vsync_counter,
+      d_h_enable           => d_h_enable,
+      d_v_enable           => d_v_enable,
+      d_r                  => d_r,
+      d_g                  => d_g,
+      d_b                  => d_b,
+      d_hsync_state        => d_hsync_state,
+      d_vsync_state        => d_vsync_state,
+      d_state_clk          => d_state_clk);
+
+
+  
+-------------------------------------------------------------------------------
+-- generate simulation clock
+-------------------------------------------------------------------------------
+  CLKGEN : process
+  begin
+    clk_pin <= '1';
+    wait for cc/2;
+    clk_pin <= '0';
+    wait for cc/2;
+  end process CLKGEN;
+
+-------------------------------------------------------------------------------
+-- test the design
+-------------------------------------------------------------------------------
+  TEST_IT : process
+
+    -- wait for n clock cycles
+    procedure icwait(cycles : natural) is
+    begin
+      for i in 1 to cycles loop
+        wait until clk_pin = '1' and clk_pin'event;
+      end loop;
+    end;
+
+  begin
+    -----------------------------------------------------------------------------
+    -- initial reset
+    -----------------------------------------------------------------------------
+    reset_pin <= '0';
+    icwait(10);
+    reset_pin <= '1';
+    icwait(10000000);
+
+    ---------------------------------------------------------------------------
+    -- exit testbench
+    ---------------------------------------------------------------------------
+    assert false
+      report "Test finished"
+      severity error;
+
+  end process test_it;
+
+end behaviour;
+
+
+-------------------------------------------------------------------------------
+-- configuration
+-------------------------------------------------------------------------------
+configuration vga_conf_beh of vga_tb is
+  for behaviour
+    for vga_unit : vga use entity work.vga(behav);
+    end for;
+  end for;
+end vga_conf_beh;
+
+
diff --git a/bsp3/Angabe/vga_beh_tb.vhd~ b/bsp3/Angabe/vga_beh_tb.vhd~
new file mode 100644 (file)
index 0000000..9530bed
--- /dev/null
@@ -0,0 +1,194 @@
+-------------------------------------------------------------------------------
+-- Title      : vga testbench
+-- Project    : 
+-------------------------------------------------------------------------------
+-- File       : vga_tb.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-09-29
+-- Platform   : 
+-------------------------------------------------------------------------------
+-- Description: 
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+entity vga_tb is
+
+end vga_tb;
+
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+architecture behaviour of vga_tb is
+  
+  constant cc : time := 39.7 ns;        -- test clock period
+  component vga
+    port (
+      clk_pin                                  : in  std_logic;
+      reset_pin                                : in  std_logic;
+      r0_pin, r1_pin, r2_pin                   : out std_logic;
+      g0_pin, g1_pin, g2_pin                   : out std_logic;
+      b0_pin, b1_pin                           : out std_logic;
+      hsync_pin                                : out std_logic;
+      vsync_pin                                : out std_logic;
+      seven_seg_pin                            : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+      d_hsync, d_vsync                         : out std_logic;
+      d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+      d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+      d_set_column_counter, d_set_line_counter : out std_logic;
+      d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+      d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+      d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+      d_h_enable                               : out std_logic;
+      d_v_enable                               : out std_logic;
+      d_r, d_g, d_b                            : out std_logic;
+      d_hsync_state                            : out hsync_state_type;
+      d_vsync_state                            : out vsync_state_type;
+      d_state_clk                              : out std_logic;
+      d_toggle                                 : out std_logic;
+      d_toggle_counter                         : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0));
+  end component;
+
+  signal clk_pin                                  : std_logic;
+  signal reset_pin                                : std_logic;
+  signal r0_pin, r1_pin, r2_pin                   : std_logic;
+  signal g0_pin, g1_pin, g2_pin                   : std_logic;
+  signal b0_pin, b1_pin                           : std_logic;
+  signal hsync_pin                                : std_logic;
+  signal vsync_pin                                : std_logic;
+  signal seven_seg_pin                            : std_logic_vector(2*SEG_WIDTH-1 downto 0);
+  signal d_hsync, d_vsync                         : std_logic;
+  signal d_column_counter                         : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal d_line_counter                           : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal d_set_column_counter, d_set_line_counter : std_logic;
+  signal d_hsync_counter                          : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal d_vsync_counter                          : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal d_set_hsync_counter, d_set_vsync_counter : std_logic;
+  signal d_h_enable                               : std_logic;
+  signal d_v_enable                               : std_logic;
+  signal d_r, d_g, d_b                            : std_logic;
+  signal d_hsync_state                            : hsync_state_type;
+  signal d_vsync_state                            : vsync_state_type;
+  signal d_state_clk                              : std_logic;
+  signal d_toggle                                 : std_logic;
+  signal d_toggle_counter                         : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);
+
+  
+begin
+
+  vga_unit: vga
+    port map (
+      clk_pin              => clk_pin,
+      reset_pin            => reset_pin,
+      r0_pin               => r0_pin,
+      r1_pin               => r1_pin,
+      r2_pin               => r2_pin,
+      g0_pin               => g0_pin,
+      g1_pin               => g1_pin,
+      g2_pin               => g2_pin,
+      b0_pin               => b0_pin,
+      b1_pin               => b1_pin,
+      hsync_pin            => hsync_pin,
+      vsync_pin            => vsync_pin,
+      seven_seg_pin        => seven_seg_pin,
+      d_hsync              => d_hsync,
+      d_vsync              => d_vsync,
+      d_column_counter     => d_column_counter,
+      d_line_counter       => d_line_counter,
+      d_set_column_counter => d_set_column_counter,
+      d_set_line_counter   => d_set_line_counter,
+      d_hsync_counter      => d_hsync_counter,
+      d_vsync_counter      => d_vsync_counter,
+      d_set_hsync_counter  => d_set_hsync_counter,
+      d_set_vsync_counter  => d_set_vsync_counter,
+      d_h_enable           => d_h_enable,
+      d_v_enable           => d_v_enable,
+      d_r                  => d_r,
+      d_g                  => d_g,
+      d_b                  => d_b,
+      d_hsync_state        => d_hsync_state,
+      d_vsync_state        => d_vsync_state,
+      d_state_clk          => d_state_clk,
+      d_toggle             => d_toggle,
+      d_toggle_counter     => d_toggle_counter);
+
+  
+-------------------------------------------------------------------------------
+-- generate simulation clock
+-------------------------------------------------------------------------------
+  CLKGEN : process
+  begin
+    clk_pin <= '1';
+    wait for cc/2;
+    clk_pin <= '0';
+    wait for cc/2;
+  end process CLKGEN;
+
+-------------------------------------------------------------------------------
+-- test the design
+-------------------------------------------------------------------------------
+  TEST_IT : process
+
+    -- wait for n clock cycles
+    procedure icwait(cycles : natural) is
+    begin
+      for i in 1 to cycles loop
+        wait until clk_pin = '1' and clk_pin'event;
+      end loop;
+    end;
+
+  begin
+    -----------------------------------------------------------------------------
+    -- initial reset
+    -----------------------------------------------------------------------------
+    reset_pin <= '0';
+    icwait(10);
+    reset_pin <= '1';
+    icwait(10000000);
+
+    ---------------------------------------------------------------------------
+    -- exit testbench
+    ---------------------------------------------------------------------------
+    assert false
+      report "Test finished"
+      severity error;
+
+  end process test_it;
+
+end behaviour;
+
+
+-------------------------------------------------------------------------------
+-- configuration
+-------------------------------------------------------------------------------
+configuration vga_conf_beh of vga_tb is
+  for behaviour
+    for vga_unit : vga use entity work.vga(behav);
+    end for;
+  end for;
+end vga_conf_beh;
+
+
diff --git a/bsp3/Angabe/vga_control_arc.vhd b/bsp3/Angabe/vga_control_arc.vhd
new file mode 100644 (file)
index 0000000..0c4425b
--- /dev/null
@@ -0,0 +1,54 @@
+-------------------------------------------------------------------------------
+-- Title      : vga_control architecture
+-- Project    : LU Digital Design
+-------------------------------------------------------------------------------
+-- File       : vga_control.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-12-15
+-- Last update: 2006-02-24
+-------------------------------------------------------------------------------
+-- Description: generation of colors (RGB)
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-12-15  1.0      handl   Created
+-- 2006-02-24  2.0      ST      revised
+-------------------------------------------------------------------------------
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+
+architecture behav of vga_control is
+
+
+  attribute syn_preserve          : boolean;
+  attribute syn_preserve of behav : architecture is true;
+
+
+
+begin  
+    
+      r <= COLR_OFF;
+      g <= COLR_OFF;
+      b <= COLR_OFF;
+
+end behav;
+
+-------------------------------------------------------------------------------
+-- END ARCHITECTURE
+-------------------------------------------------------------------------------
diff --git a/bsp3/Angabe/vga_control_ent.vhd b/bsp3/Angabe/vga_control_ent.vhd
new file mode 100644 (file)
index 0000000..5fce16a
--- /dev/null
@@ -0,0 +1,51 @@
+-------------------------------------------------------------------------------\r
+-- Title      : vga_control entity\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : vga_control_ent.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-12-15\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: generation of colors (RGB)\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-12-15  1.0      handl     Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;\r
+\r
+-------------------------------------------------------------------------------\r
+-- ENTITY\r
+-------------------------------------------------------------------------------\r
+\r
+\r
+entity vga_control is\r
+  port(clk            : in std_logic;\r
+       reset          : in  std_logic;\r
+       column_counter : in std_logic_vector(COL_CNT_WIDTH-1 downto 0);\r
+       line_counter   : in std_logic_vector(LINE_CNT_WIDTH-1 downto 0);\r
+       v_enable       : in std_logic;\r
+       h_enable       : in std_logic;\r
+       r, g, b        : out std_logic\r
+       );\r
+\r
+end vga_control;\r
+\r
+-------------------------------------------------------------------------------\r
+-- END ENTITY\r
+-------------------------------------------------------------------------------\r
diff --git a/bsp3/Angabe/vga_driver_arc.vhd b/bsp3/Angabe/vga_driver_arc.vhd
new file mode 100644 (file)
index 0000000..1b89ac1
--- /dev/null
@@ -0,0 +1,402 @@
+-------------------------------------------------------------------------------
+-- Title      : vga_driver architecture
+-- Project    : LU Digital Design
+-------------------------------------------------------------------------------
+-- File       : vga_driver.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-12-15
+-- Last update: 2006-01-24
+-------------------------------------------------------------------------------
+-- Description: generate hsync and vsync
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-12-15  1.0      handl   Created
+-- 2006-01-24  2.0      ST      revised
+-------------------------------------------------------------------------------
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+
+architecture behav of vga_driver is
+
+  attribute syn_preserve          : boolean;
+  attribute syn_preserve of behav : architecture is true;
+
+  constant TIME_A   : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "1100011111";
+  constant TIME_B   : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "0001011010";
+  constant TIME_BC  : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "0010000111";
+  constant TIME_BCD : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "1100000111";
+
+  constant TIME_O   : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "1000001000";
+  constant TIME_P   : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "0000000001";
+  constant TIME_PQ  : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "0000100001";
+  constant TIME_PQR : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "1000000001";
+
+  signal h_sync      : std_logic;
+  signal h_sync_next : std_logic;
+
+  signal hsync_state      : hsync_state_type;
+  signal hsync_state_next : hsync_state_type;
+
+  signal h_enable_sig  : std_logic;
+  signal h_enable_next : std_logic;
+
+  signal   set_hsync_counter : std_logic;
+  signal   hsync_counter     : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal   hsync_counter_next     : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  constant HSYN_CNT_MAX : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "1111111111";
+
+  signal column_counter_sig : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal column_counter_next : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal set_column_counter : std_logic;
+
+  signal v_sync      : std_logic;
+  signal v_sync_next : std_logic;
+
+  signal vsync_state      : vsync_state_type;
+  signal vsync_state_next : vsync_state_type;
+
+  signal v_enable_sig  : std_logic;
+  signal v_enable_next : std_logic;
+
+  signal   set_vsync_counter : std_logic;
+  signal   vsync_counter     : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal   vsync_counter_next     : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  constant VSYN_CNT_MAX : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "1111111111";
+
+  signal line_counter_sig : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal line_counter_next : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal set_line_counter : std_logic;
+
+
+
+begin
+
+----------------------------------------------------------------------------
+-- Column_Counter [0..639]: calculates column number for next pixel to be displayed
+----------------------------------------------------------------------------
+
+  COLUMN_COUNT_syn: process(clk, reset, column_counter_next)
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then                              -- synchronous reset
+        column_counter_sig <= (others => '0');
+      else
+        column_counter_sig <= column_counter_next;         -- synchronous capture
+      end if;
+    end if;
+  end process;
+
+  COLUMN_COUNT_next: process(set_column_counter, column_counter_sig)
+  begin
+    if set_column_counter = ENABLE then                     -- reset counter
+      column_counter_next <= (others => '0');   
+    else
+      if column_counter_sig < RIGHT_BORDER then 
+        column_counter_next <= column_counter_sig + '1';    -- increment column
+      else
+        column_counter_next <= RIGHT_BORDER;                -- ... but do not count beyond right border
+      end if;
+    end if;
+  end process;
+
+----------------------------------------------------------------------------
+-- Line_counter [0..479]: calculates line number for next pixel to be displayed
+----------------------------------------------------------------------------
+
+  LINE_COUNT_syn: process(clk, reset, line_counter_next)
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then                              -- synchronous reset
+        line_counter_sig <= (others => '0');
+      else
+        line_counter_sig <= line_counter_next;             -- synchronous capture
+      end if;
+    end if;
+  end process;
+
+  LINE_COUNT_next: process(set_line_counter, line_counter_sig, set_hsync_counter)
+  begin
+    if set_line_counter = ENABLE then                     -- reset counter
+      line_counter_next <= (others => '0');   
+    else
+      if line_counter_sig < BOTTOM_BORDER then 
+        if set_hsync_counter = '1' then                   -- when enabled
+          line_counter_next <= line_counter_sig + '1';    -- ... increment line
+        else
+          line_counter_next <= line_counter_sig;
+          end if;
+      else
+        line_counter_next <= BOTTOM_BORDER;               -- ... but do not count below bottom
+      end if;
+    end if;
+  end process;
+
+
+----------------------------------------------------------------------------
+-- Hsync_Counter: generates time base for HSYNC State Machine
+----------------------------------------------------------------------------
+
+  HSYNC_COUNT_syn: process(clk, reset, hsync_counter_next)
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then                        -- synchronous reset
+        hsync_counter <= (others => '0');
+      else
+        hsync_counter <= hsync_counter_next;         -- synchronous capture
+      end if;
+    end if;
+  end process;
+
+  HSYNC_COUNT_next: process(set_hsync_counter, hsync_counter)
+  begin
+    if set_hsync_counter = ENABLE then               -- reset counter
+      hsync_counter_next <= (others => '0');   
+    else
+      if hsync_counter < HSYN_CNT_MAX then 
+        hsync_counter_next <= hsync_counter + '1';   -- increment time
+      else
+        hsync_counter_next <= HSYN_CNT_MAX;          -- ... but do not count beyond max period
+      end if;
+    end if;
+  end process;
+
+
+----------------------------------------------------------------------------
+-- HSYNC STATE MACHINE: generates hsync signal and controls hsync counter & column counter
+----------------------------------------------------------------------------
+
+  HSYNC_FSM_syn: process (clk, reset)       -- synchronous capture
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then
+        hsync_state  <= RESET_STATE;
+        h_sync       <= '1';
+        v_enable_sig <= not(ENABLE);
+      else
+        hsync_state  <= hsync_state_next;
+        h_sync       <= h_sync_next;
+        v_enable_sig <= v_enable_next;
+      end if;
+    end if;
+  end process;
+
+  HSYNC_FSM_next : process(hsync_state, hsync_counter, h_sync, v_enable_sig)   -- next-state logic
+  begin                                 -- default assignments
+    hsync_state_next <= hsync_state;    -- ... hold current state
+    h_sync_next        <= h_sync;       -- ... and values
+    v_enable_next      <= v_enable_sig;
+
+    case hsync_state is
+      when RESET_STATE =>
+        h_sync_next      <= '0';        -- next signal values are defined here
+        v_enable_next    <= not(ENABLE);
+        hsync_state_next <= B_STATE;    -- ... as well as state transitions 
+      when B_STATE =>
+        h_sync_next      <= '0';
+        if hsync_counter = TIME_B then
+          hsync_state_next <= C_STATE;
+        end if;
+      when C_STATE =>
+        h_sync_next      <= '1';
+        if hsync_counter = TIME_BC then
+          hsync_state_next <= pre_D_STATE;
+        end if;
+      when pre_D_STATE =>
+        v_enable_next    <= ENABLE;
+        hsync_state_next <= D_STATE;        
+      when D_STATE =>
+        v_enable_next    <= ENABLE;
+        if hsync_counter = TIME_BCD then
+          hsync_state_next <= E_STATE;
+        end if;
+      when E_STATE =>
+        v_enable_next    <= not(ENABLE);
+        if hsync_counter = TIME_A then
+          hsync_state_next <= pre_B_STATE;
+        end if;
+      when pre_B_STATE =>
+        h_sync_next      <= '0';
+        v_enable_next    <= not(ENABLE);        
+        hsync_state_next <= B_STATE;
+      when others =>
+        null;
+    end case;
+  end process;
+
+  HSYNC_FSM_out : process(hsync_state)  -- output logic
+  begin
+    set_hsync_counter  <= not(ENABLE);      -- default assignments
+    set_column_counter <= not(ENABLE);
+
+    case hsync_state is
+      when RESET_STATE =>                   -- outputs for each state are defined here
+        set_hsync_counter  <= ENABLE;
+      when pre_D_STATE =>
+        set_column_counter <= ENABLE;
+      when pre_B_STATE =>
+        set_hsync_counter  <= ENABLE;
+      when others =>
+        null;
+    end case;
+  end process;
+
+
+----------------------------------------------------------------------------
+-- Vsync_Counter: generates time base for VSYNC State Machine
+----------------------------------------------------------------------------
+
+  VSYNC_COUNT_syn: process(clk, reset, vsync_counter_next)
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then                        -- synchronous reset
+        vsync_counter <= (others => '0');
+      else
+        vsync_counter <= vsync_counter_next;         -- synchronous capture
+      end if;
+    end if;
+  end process;
+
+  VSYNC_COUNT_next: process(set_vsync_counter, vsync_counter, set_hsync_counter)
+  begin
+    if set_vsync_counter = ENABLE then               -- reset counter
+      vsync_counter_next <= (others => '0');   
+    else
+      if vsync_counter < VSYN_CNT_MAX then 
+        if set_hsync_counter = '1' then              -- if enabled
+          vsync_counter_next <= vsync_counter + '1'; -- ... increment time
+        else
+          vsync_counter_next <= vsync_counter;
+        end if;
+      else
+        vsync_counter_next <= VSYN_CNT_MAX;          -- ... but do not count beyond max period
+      end if;
+    end if;
+  end process;
+
+
+----------------------------------------------------------------------------
+-- VSYNC STATE MACHINE: generates vsync signal and controls vsync counter & line counter 
+----------------------------------------------------------------------------
+
+  VSYNC_FSM_syn : process (clk, reset)      -- synchronous capture
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then
+        vsync_state  <= RESET_STATE;
+        v_sync       <= '1';
+        h_enable_sig <= not(ENABLE);
+      else
+        vsync_state  <= vsync_state_next;
+        v_sync       <= v_sync_next;
+        h_enable_sig <= h_enable_next;
+      end if;
+    end if;
+  end process;
+
+  VSYNC_FSM_next : process(vsync_state, vsync_counter, v_sync, h_enable_sig)
+  begin                                     -- next state logic
+    vsync_state_next <= vsync_state;        -- default assignments
+    v_sync_next       <= v_sync;
+    h_enable_next     <= h_enable_sig;
+
+    case vsync_state is                     -- state transitions and next signals are defined here
+      when RESET_STATE =>
+        v_sync_next      <= '0';
+        h_enable_next    <= not(ENABLE);
+        vsync_state_next <= P_STATE;
+      when P_STATE =>
+        v_sync_next      <= '0';
+        if vsync_counter = time_p then
+          vsync_state_next <= Q_STATE;
+        end if;
+      when Q_STATE =>
+        v_sync_next      <= '1';
+        if vsync_counter = time_pq then
+          vsync_state_next <= pre_R_STATE;
+        end if;
+      when pre_R_STATE =>
+        h_enable_next    <= ENABLE;
+        vsync_state_next <= R_STATE;
+      when R_STATE =>
+        h_enable_next    <= ENABLE;
+        if vsync_counter = time_pqr then
+          vsync_state_next <= S_STATE;
+        end if;
+      when S_STATE =>
+        h_enable_next    <= not(ENABLE);
+        if vsync_counter = time_o then
+          vsync_state_next <= pre_P_STATE;
+        end if;
+      when pre_P_STATE =>
+        v_sync_next      <= '0';
+        h_enable_next    <= not(ENABLE);
+        vsync_state_next <= P_STATE;
+      when others =>
+        null;
+    end case;
+  end process;
+
+  VSYNC_FSM_out : process(vsync_state)
+  begin                                       -- output logic
+    set_vsync_counter <= not(ENABLE);         -- output values for each state defined here
+    set_line_counter  <= not(ENABLE);
+
+    case vsync_state is
+      when RESET_STATE =>
+        set_vsync_counter <= ENABLE;
+      when pre_R_STATE =>
+        set_line_counter  <= ENABLE;
+      when pre_P_STATE =>
+        set_vsync_counter <= ENABLE;
+      when others => 
+        null;
+    end case;
+  end process;
+
+
+
+-- signal wiring for entity (introduced _sig to allow readback of output signals)
+
+  column_counter <= column_counter_sig;
+  v_enable       <= v_enable_sig;
+  line_counter   <= line_counter_sig;
+  h_enable       <= h_enable_sig;
+
+
+  hsync <= h_sync;
+  vsync <= v_sync;
+
+  -----------------------------------------------------------------------------
+  -- debug signals
+  -----------------------------------------------------------------------------
+  d_hsync_state        <= hsync_state;
+  d_vsync_state        <= vsync_state;
+  d_hsync_counter      <= hsync_counter;
+  d_vsync_counter      <= vsync_counter;
+  d_set_hsync_counter  <= set_hsync_counter;
+  d_set_vsync_counter  <= set_vsync_counter;
+  d_set_column_counter <= set_column_counter;
+  d_set_line_counter   <= set_line_counter;
+  
+end behav;
+
+-------------------------------------------------------------------------------
+-- END ARCHITECTURE
+-------------------------------------------------------------------------------
diff --git a/bsp3/Angabe/vga_driver_ent.vhd b/bsp3/Angabe/vga_driver_ent.vhd
new file mode 100644 (file)
index 0000000..f4c00be
--- /dev/null
@@ -0,0 +1,60 @@
+-------------------------------------------------------------------------------
+-- Title      : vga_driver entity
+-- Project    : LU Digital Design
+-------------------------------------------------------------------------------
+-- File       : vga_driver_ent.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-12-15
+-- Last update: 2006-02-24
+-------------------------------------------------------------------------------
+-- Description: generate vsync and hsync
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-12-15  1.0      handl   Created
+-- 2006-02-24  2.0      ST      revised
+-------------------------------------------------------------------------------
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+
+
+entity vga_driver is
+  port(clk            : in  std_logic;
+       reset          : in  std_logic;
+       column_counter : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+       line_counter   : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+       h_enable       : out std_logic;
+       v_enable       : out std_logic;
+       hsync, vsync   : out std_logic;
+
+       d_hsync_state        : out hsync_state_type;
+       d_vsync_state        : out vsync_state_type;
+       d_hsync_counter      : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+       d_vsync_counter      : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+       d_set_hsync_counter  : out std_logic;
+       d_set_vsync_counter  : out std_logic;
+       d_set_column_counter : out std_logic;
+       d_set_line_counter   : out std_logic
+       );
+
+end vga_driver;
+
+-------------------------------------------------------------------------------
+-- END ENTITY
+-------------------------------------------------------------------------------
diff --git a/bsp3/Angabe/vga_ent.vhd b/bsp3/Angabe/vga_ent.vhd
new file mode 100644 (file)
index 0000000..32256bb
--- /dev/null
@@ -0,0 +1,71 @@
+-------------------------------------------------------------------------------
+-- Title      : vga entitiy
+-- Project    : LU Digital Design
+-------------------------------------------------------------------------------
+-- File       : vga_ent.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-02-24
+-------------------------------------------------------------------------------
+-- Description: entity of top level module, external pins defined here
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-- 2006-02-24  2.0      ST      revised
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+
+entity vga is
+  port(
+-- input pins from PCB board  
+       clk_pin                                  : in  std_logic;         -- clock pin
+       reset_pin                                : in  std_logic;         -- reset pins (from switch)
+-- output pins to RGB connector / VGA screen
+       r0_pin, r1_pin, r2_pin                   : out std_logic;         -- to RGB connector "red"
+       g0_pin, g1_pin, g2_pin                   : out std_logic;         -- to RGB connector "green"
+       b0_pin, b1_pin                           : out std_logic;         -- to RGB connector "blue"
+       hsync_pin                                : out std_logic;         -- to RGB connector "Hsync"
+       vsync_pin                                : out std_logic;         -- to RGB connector "Vsync"
+-- output pins to 7-segment display
+       seven_seg_pin                                 : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+-- output pins provided for debugging only / logic analyzer
+       d_hsync, d_vsync                         : out std_logic;         -- copy of hsync_pin, vsync_pin
+       d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+       d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+       d_set_column_counter, d_set_line_counter : out std_logic;
+       d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+       d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+       d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+       d_h_enable                               : out std_logic;
+       d_v_enable                               : out std_logic;
+       d_r, d_g, d_b                            : out std_logic;
+       d_hsync_state                            : out hsync_state_type;
+       d_vsync_state                            : out vsync_state_type;
+       d_state_clk                              : out std_logic
+       );
+
+end vga;
+
+-------------------------------------------------------------------------------
+-- END ENTITY
+-------------------------------------------------------------------------------
diff --git a/bsp3/Angabe/vga_pak.vhd b/bsp3/Angabe/vga_pak.vhd
new file mode 100644 (file)
index 0000000..7f59eab
--- /dev/null
@@ -0,0 +1,85 @@
+-------------------------------------------------------------------------------
+-- Title      : vga package
+-- Project    : LU Digital Design
+-------------------------------------------------------------------------------
+-- File       : vga_pak.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-08-19
+-- Last update: 2006-02-24
+-------------------------------------------------------------------------------
+-- Description: definitions of global constants and enumerated types
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-08-19  1.0      handl   Created
+-- 2006-02-24  2.0      ST      revised
+-------------------------------------------------------------------------------
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+
+-------------------------------------------------------------------------------
+-- PACKAGE
+-------------------------------------------------------------------------------
+
+package vga_pak is
+
+  constant RES_ACT   : std_logic := '0';            -- define reset active LO
+  constant ENABLE    : std_logic := '1';            -- define diverse enable HI
+  constant COLR_ON    : std_logic := '1';           -- define VGA color on as HI
+  constant COLR_OFF   : std_logic := '0';           -- define VGA color off as LO
+  constant SEG_WIDTH : integer := 7;                -- display has 7 segments
+  constant BCD_WIDTH : integer := 4;                -- BCD number has 4 bit
+  constant TOG_CNT_WIDTH : integer := 25;           -- bitwidth of counter that controls blinking
+
+  constant COL_CNT_WIDTH   : integer := 10;          -- width of the column counter
+  constant LINE_CNT_WIDTH  : integer := 9;           -- width of the line counter
+  constant HSYN_CNT_WIDTH : integer := 10;          -- width of the h-sync counter
+  constant VSYN_CNT_WIDTH : integer := 10;          -- width of the v-sync counter
+
+  constant RIGHT_BORDER:  std_logic_vector(COL_CNT_WIDTH-1 downto 0) := "1001111111";  -- 640 columns (0...639)
+  constant BOTTOM_BORDER: std_logic_vector(LINE_CNT_WIDTH-1 downto 0) := "111011111";   -- 480 lines (0...479)
+
+  -- define coordinates of rectangle
+  constant X_MIN : std_logic_vector(COL_CNT_WIDTH-1 downto 0) := "0001100100";  -- 100
+  constant X_MAX : std_logic_vector(COL_CNT_WIDTH-1 downto 0) := "0011001000";  -- 200
+  constant Y_MIN : std_logic_vector(LINE_CNT_WIDTH-1 downto 0) := "001100100";
+  constant Y_MAX : std_logic_vector(LINE_CNT_WIDTH-1 downto 0) := "011001000";
+
+  -- define emumerated types for state machines
+  type hsync_state_type is (RESET_STATE, B_STATE, C_STATE, D_STATE, E_STATE,
+                            pre_D_STATE, pre_B_STATE);
+  type vsync_state_type is (RESET_STATE, P_STATE, Q_STATE, R_STATE, S_STATE,
+                            pre_R_STATE, pre_P_STATE);
+  
+  --  Definitions for 7-segment display                             gfedcba
+  constant DIGIT_ZERO  : std_logic_vector(SEG_WIDTH-1 downto 0) := "1000000";
+  constant DIGIT_ONE   : std_logic_vector(SEG_WIDTH-1 downto 0) := "1111001";
+  constant DIGIT_TWO   : std_logic_vector(SEG_WIDTH-1 downto 0) := "0100100";
+  constant DIGIT_THREE : std_logic_vector(SEG_WIDTH-1 downto 0) := "0110000";
+  constant DIGIT_FOUR  : std_logic_vector(SEG_WIDTH-1 downto 0) := "0011001";
+  constant DIGIT_FIVE  : std_logic_vector(SEG_WIDTH-1 downto 0) := "0010010";
+  constant DIGIT_SIX   : std_logic_vector(SEG_WIDTH-1 downto 0) := "0000010";
+  constant DIGIT_SEVEN : std_logic_vector(SEG_WIDTH-1 downto 0) := "1111000";
+  constant DIGIT_EIGHT : std_logic_vector(SEG_WIDTH-1 downto 0) := "0000000";
+  constant DIGIT_NINE  : std_logic_vector(SEG_WIDTH-1 downto 0) := "0011000";
+  constant DIGIT_MINUS : std_logic_vector(SEG_WIDTH-1 downto 0) := "0111111";
+  constant DIGIT_A     : std_logic_vector(SEG_WIDTH-1 downto 0) := "0001000";
+  constant DIGIT_B     : std_logic_vector(SEG_WIDTH-1 downto 0) := "0000011";
+  constant DIGIT_C     : std_logic_vector(SEG_WIDTH-1 downto 0) := "0110001";
+  constant DIGIT_D     : std_logic_vector(SEG_WIDTH-1 downto 0) := "1000010";
+  constant DIGIT_E     : std_logic_vector(SEG_WIDTH-1 downto 0) := "1001111";
+  constant DIGIT_F     : std_logic_vector(SEG_WIDTH-1 downto 0) := "1000111";
+  constant DIGIT_OFF   : std_logic_vector(SEG_WIDTH-1 downto 0) := "1111111";
+end package;
diff --git a/bsp3/Angabe/vga_pll.bdf b/bsp3/Angabe/vga_pll.bdf
new file mode 100755 (executable)
index 0000000..414cf76
--- /dev/null
@@ -0,0 +1,799 @@
+/*\r
+WARNING: Do NOT edit the input and output ports in this file in a text\r
+editor if you plan to continue editing the block that represents it in\r
+the Block Editor! File corruption is VERY likely to occur.\r
+*/\r
+/*\r
+Copyright (C) 1991-2006 Altera Corporation\r
+Your use of Altera Corporation's design tools, logic functions \r
+and other software and tools, and its AMPP partner logic \r
+functions, and any output files any of the foregoing \r
+(including device programming or simulation files), and any \r
+associated documentation or information are expressly subject \r
+to the terms and conditions of the Altera Program License \r
+Subscription Agreement, Altera MegaCore Function License \r
+Agreement, or other applicable license agreement, including, \r
+without limitation, that your use is for the sole purpose of \r
+programming logic devices manufactured by Altera and sold by \r
+Altera or its authorized distributors.  Please refer to the \r
+applicable agreement for further details.\r
+*/\r
+(header "graphic" (version "1.3"))\r
+(pin\r
+       (input)\r
+       (rect 240 80 408 96)\r
+       (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))\r
+       (text "board_clk" (rect 5 0 52 12)(font "Arial" ))\r
+       (pt 168 8)\r
+       (drawing\r
+               (line (pt 92 12)(pt 117 12)(line_width 1))\r
+               (line (pt 92 4)(pt 117 4)(line_width 1))\r
+               (line (pt 121 8)(pt 168 8)(line_width 1))\r
+               (line (pt 92 12)(pt 92 4)(line_width 1))\r
+               (line (pt 117 4)(pt 121 8)(line_width 1))\r
+               (line (pt 117 12)(pt 121 8)(line_width 1))\r
+       )\r
+       (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))\r
+       (annotation_block (location)(rect 232 120 280 136))\r
+)\r
+(pin\r
+       (input)\r
+       (rect 528 96 696 112)\r
+       (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))\r
+       (text "reset" (rect 5 0 29 12)(font "Arial" ))\r
+       (pt 168 8)\r
+       (drawing\r
+               (line (pt 92 12)(pt 117 12)(line_width 1))\r
+               (line (pt 92 4)(pt 117 4)(line_width 1))\r
+               (line (pt 121 8)(pt 168 8)(line_width 1))\r
+               (line (pt 92 12)(pt 92 4)(line_width 1))\r
+               (line (pt 117 4)(pt 121 8)(line_width 1))\r
+               (line (pt 117 12)(pt 121 8)(line_width 1))\r
+       )\r
+       (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))\r
+       (annotation_block (location)(rect 536 168 584 184))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 256 1132 272)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_hsync" (rect 90 0 132 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 916 96 964 112))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 272 1132 288)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_vsync" (rect 90 0 133 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 916 112 964 128))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 288 1132 304)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_column_counter[9..0]" (rect 90 0 205 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 916 128 964 272))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 320 1132 336)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_set_column_counter" (rect 90 0 200 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 916 160 972 176))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 336 1132 352)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_set_line_counter" (rect 90 0 182 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 916 176 964 192))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 352 1132 368)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_hsync_counter[9..0]" (rect 90 0 200 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 916 192 972 248))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 368 1126 384)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_vsync_counter[9..0]" (rect 90 0 202 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 910 208 958 264))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 384 1126 400)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_set_hsync_counter" (rect 90 0 196 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 910 224 958 240))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 400 1126 416)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_set_vsync_counter" (rect 90 0 197 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 910 240 958 256))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 448 1126 464)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_r" (rect 90 0 105 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 910 288 958 304))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 464 1126 480)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_g" (rect 90 0 107 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 910 304 958 320))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 480 1126 496)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_b" (rect 90 0 107 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 910 320 958 336))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 496 1126 512)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_hsync_state[0..6]" (rect 90 0 189 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 992 480 1040 584))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 512 1120 528)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_vsync_state[0..6]" (rect 90 0 190 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1032 352 1088 456))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 304 1132 320)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_line_counter[8..0]" (rect 90 0 186 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 916 144 964 272))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 416 1126 432)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_h_enable" (rect 90 0 145 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 910 256 958 272))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 432 1126 448)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_v_enable" (rect 90 0 146 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 910 272 958 288))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 528 1132 544)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_state_clk" (rect 90 0 146 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1180 88 1228 104))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 80 1088 96)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "r0_pin" (rect 90 0 119 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 872 400 920 416))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 96 1088 112)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "r1_pin" (rect 90 0 119 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 872 416 920 432))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 112 1088 128)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "r2_pin" (rect 90 0 119 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 872 432 920 448))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 128 1088 144)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "g0_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 872 448 920 464))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 144 1088 160)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "g1_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 872 464 920 480))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 160 1088 176)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "g2_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 872 480 920 496))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 176 1088 192)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "b0_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 872 496 920 512))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 192 1088 208)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "b1_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 872 512 920 528))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 240 1132 256)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "seven_seg_pin[13..0]" (rect 90 0 196 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1284 472 1348 672))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 208 1088 224)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "hsync_pin" (rect 90 0 140 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 872 528 920 544))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 912 224 1088 240)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "vsync_pin" (rect 90 0 141 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 872 544 920 560))\r
+)\r
+(symbol\r
+       (rect 696 56 912 568)\r
+       (text "vga" (rect 5 0 23 12)(font "Arial" ))\r
+       (text "inst" (rect 8 496 25 508)(font "Arial" ))\r
+       (port\r
+               (pt 0 32)\r
+               (input)\r
+               (text "clk_pin" (rect 0 0 34 12)(font "Arial" ))\r
+               (text "clk_pin" (rect 21 27 55 39)(font "Arial" ))\r
+               (line (pt 0 32)(pt 16 32)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 0 48)\r
+               (input)\r
+               (text "reset_pin" (rect 0 0 44 12)(font "Arial" ))\r
+               (text "reset_pin" (rect 21 43 65 55)(font "Arial" ))\r
+               (line (pt 0 48)(pt 16 48)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 32)\r
+               (output)\r
+               (text "r0_pin" (rect 0 0 29 12)(font "Arial" ))\r
+               (text "r0_pin" (rect 166 27 195 39)(font "Arial" ))\r
+               (line (pt 216 32)(pt 200 32)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 48)\r
+               (output)\r
+               (text "r1_pin" (rect 0 0 29 12)(font "Arial" ))\r
+               (text "r1_pin" (rect 166 43 195 55)(font "Arial" ))\r
+               (line (pt 216 48)(pt 200 48)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 64)\r
+               (output)\r
+               (text "r2_pin" (rect 0 0 29 12)(font "Arial" ))\r
+               (text "r2_pin" (rect 166 59 195 71)(font "Arial" ))\r
+               (line (pt 216 64)(pt 200 64)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 80)\r
+               (output)\r
+               (text "g0_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "g0_pin" (rect 164 75 195 87)(font "Arial" ))\r
+               (line (pt 216 80)(pt 200 80)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 96)\r
+               (output)\r
+               (text "g1_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "g1_pin" (rect 164 91 195 103)(font "Arial" ))\r
+               (line (pt 216 96)(pt 200 96)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 112)\r
+               (output)\r
+               (text "g2_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "g2_pin" (rect 164 107 195 119)(font "Arial" ))\r
+               (line (pt 216 112)(pt 200 112)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 128)\r
+               (output)\r
+               (text "b0_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "b0_pin" (rect 164 123 195 135)(font "Arial" ))\r
+               (line (pt 216 128)(pt 200 128)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 144)\r
+               (output)\r
+               (text "b1_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "b1_pin" (rect 164 139 195 151)(font "Arial" ))\r
+               (line (pt 216 144)(pt 200 144)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 160)\r
+               (output)\r
+               (text "hsync_pin" (rect 0 0 50 12)(font "Arial" ))\r
+               (text "hsync_pin" (rect 145 155 195 167)(font "Arial" ))\r
+               (line (pt 216 160)(pt 200 160)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 176)\r
+               (output)\r
+               (text "vsync_pin" (rect 0 0 51 12)(font "Arial" ))\r
+               (text "vsync_pin" (rect 144 171 195 183)(font "Arial" ))\r
+               (line (pt 216 176)(pt 200 176)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 192)\r
+               (output)\r
+               (text "seven_seg_pin[13..0]" (rect 0 0 106 12)(font "Arial" ))\r
+               (text "seven_seg_pin[13..0]" (rect 89 187 195 199)(font "Arial" ))\r
+               (line (pt 216 192)(pt 200 192)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 208)\r
+               (output)\r
+               (text "d_hsync" (rect 0 0 42 12)(font "Arial" ))\r
+               (text "d_hsync" (rect 153 203 195 215)(font "Arial" ))\r
+               (line (pt 216 208)(pt 200 208)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 224)\r
+               (output)\r
+               (text "d_vsync" (rect 0 0 43 12)(font "Arial" ))\r
+               (text "d_vsync" (rect 152 219 195 231)(font "Arial" ))\r
+               (line (pt 216 224)(pt 200 224)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 240)\r
+               (output)\r
+               (text "d_column_counter[9..0]" (rect 0 0 115 12)(font "Arial" ))\r
+               (text "d_column_counter[9..0]" (rect 80 235 195 247)(font "Arial" ))\r
+               (line (pt 216 240)(pt 200 240)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 256)\r
+               (output)\r
+               (text "d_line_counter[8..0]" (rect 0 0 96 12)(font "Arial" ))\r
+               (text "d_line_counter[8..0]" (rect 99 251 195 263)(font "Arial" ))\r
+               (line (pt 216 256)(pt 200 256)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 272)\r
+               (output)\r
+               (text "d_set_column_counter" (rect 0 0 110 12)(font "Arial" ))\r
+               (text "d_set_column_counter" (rect 85 267 195 279)(font "Arial" ))\r
+               (line (pt 216 272)(pt 200 272)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 288)\r
+               (output)\r
+               (text "d_set_line_counter" (rect 0 0 92 12)(font "Arial" ))\r
+               (text "d_set_line_counter" (rect 103 283 195 295)(font "Arial" ))\r
+               (line (pt 216 288)(pt 200 288)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 304)\r
+               (output)\r
+               (text "d_hsync_counter[9..0]" (rect 0 0 110 12)(font "Arial" ))\r
+               (text "d_hsync_counter[9..0]" (rect 85 299 195 311)(font "Arial" ))\r
+               (line (pt 216 304)(pt 200 304)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 320)\r
+               (output)\r
+               (text "d_vsync_counter[9..0]" (rect 0 0 112 12)(font "Arial" ))\r
+               (text "d_vsync_counter[9..0]" (rect 83 315 195 327)(font "Arial" ))\r
+               (line (pt 216 320)(pt 200 320)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 336)\r
+               (output)\r
+               (text "d_set_hsync_counter" (rect 0 0 106 12)(font "Arial" ))\r
+               (text "d_set_hsync_counter" (rect 89 331 195 343)(font "Arial" ))\r
+               (line (pt 216 336)(pt 200 336)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 352)\r
+               (output)\r
+               (text "d_set_vsync_counter" (rect 0 0 107 12)(font "Arial" ))\r
+               (text "d_set_vsync_counter" (rect 88 347 195 359)(font "Arial" ))\r
+               (line (pt 216 352)(pt 200 352)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 368)\r
+               (output)\r
+               (text "d_h_enable" (rect 0 0 55 12)(font "Arial" ))\r
+               (text "d_h_enable" (rect 140 363 195 375)(font "Arial" ))\r
+               (line (pt 216 368)(pt 200 368)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 384)\r
+               (output)\r
+               (text "d_v_enable" (rect 0 0 56 12)(font "Arial" ))\r
+               (text "d_v_enable" (rect 139 379 195 391)(font "Arial" ))\r
+               (line (pt 216 384)(pt 200 384)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 400)\r
+               (output)\r
+               (text "d_r" (rect 0 0 15 12)(font "Arial" ))\r
+               (text "d_r" (rect 180 395 195 407)(font "Arial" ))\r
+               (line (pt 216 400)(pt 200 400)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 416)\r
+               (output)\r
+               (text "d_g" (rect 0 0 17 12)(font "Arial" ))\r
+               (text "d_g" (rect 178 411 195 423)(font "Arial" ))\r
+               (line (pt 216 416)(pt 200 416)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 432)\r
+               (output)\r
+               (text "d_b" (rect 0 0 17 12)(font "Arial" ))\r
+               (text "d_b" (rect 178 427 195 439)(font "Arial" ))\r
+               (line (pt 216 432)(pt 200 432)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 448)\r
+               (output)\r
+               (text "d_hsync_state[0..6]" (rect 0 0 99 12)(font "Arial" ))\r
+               (text "d_hsync_state[0..6]" (rect 96 443 195 455)(font "Arial" ))\r
+               (line (pt 216 448)(pt 200 448)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 464)\r
+               (output)\r
+               (text "d_vsync_state[0..6]" (rect 0 0 100 12)(font "Arial" ))\r
+               (text "d_vsync_state[0..6]" (rect 95 459 195 471)(font "Arial" ))\r
+               (line (pt 216 464)(pt 200 464)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 480)\r
+               (output)\r
+               (text "d_state_clk" (rect 0 0 56 12)(font "Arial" ))\r
+               (text "d_state_clk" (rect 139 475 195 487)(font "Arial" ))\r
+               (line (pt 216 480)(pt 200 480)(line_width 1))\r
+       )\r
+       (drawing\r
+               (rectangle (rect 16 16 200 496)(line_width 1))\r
+       )\r
+)\r
+(symbol\r
+       (rect 408 56 504 152)\r
+       (text "vpll" (rect 5 0 22 12)(font "Arial" ))\r
+       (text "inst1" (rect 8 80 31 92)(font "Arial" ))\r
+       (port\r
+               (pt 0 32)\r
+               (input)\r
+               (text "inclk0" (rect 0 0 28 12)(font "Arial" ))\r
+               (text "inclk0" (rect 21 27 49 39)(font "Arial" ))\r
+               (line (pt 0 32)(pt 16 32)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 96 32)\r
+               (output)\r
+               (text "c0" (rect 0 0 11 12)(font "Arial" ))\r
+               (text "c0" (rect 64 27 75 39)(font "Arial" ))\r
+               (line (pt 96 32)(pt 80 32)(line_width 1))\r
+       )\r
+       (drawing\r
+               (rectangle (rect 16 16 80 80)(line_width 1))\r
+       )\r
+)\r
+(connector\r
+       (pt 696 88)\r
+       (pt 504 88)\r
+)\r
diff --git a/bsp3/Angabe/vga_pll.tcl b/bsp3/Angabe/vga_pll.tcl
new file mode 100755 (executable)
index 0000000..aa73503
--- /dev/null
@@ -0,0 +1,172 @@
+# Copyright (C) 1991-2006 Altera Corporation\r
+# Your use of Altera Corporation's design tools, logic functions \r
+# and other software and tools, and its AMPP partner logic \r
+# functions, and any output files any of the foregoing \r
+# (including device programming or simulation files), and any \r
+# associated documentation or information are expressly subject \r
+# to the terms and conditions of the Altera Program License \r
+# Subscription Agreement, Altera MegaCore Function License \r
+# Agreement, or other applicable license agreement, including, \r
+# without limitation, that your use is for the sole purpose of \r
+# programming logic devices manufactured by Altera and sold by \r
+# Altera or its authorized distributors.  Please refer to the \r
+# applicable agreement for further details.\r
+\r
+# Quartus II: Generate Tcl File for Project\r
+# File: vga_pll.tcl\r
+# Generated on: Fri Sep 29 09:31:24 2006\r
+\r
+# Load Quartus II Tcl Project package\r
+package require ::quartus::project\r
+package require ::quartus::flow\r
+\r
+set need_to_close_project 0\r
+set make_assignments 1\r
+\r
+# Check that the right project is open\r
+if {[is_project_open]} {\r
+       if {[string compare $quartus(project) "vga_pll"]} {\r
+               puts "Project vga_pll is not open"\r
+               set make_assignments 0\r
+       }\r
+} else {\r
+       # Only open if not already open\r
+       if {[project_exists vga_pll]} {\r
+               project_open -cmp vga_pll vga_pll\r
+       } else {\r
+               project_new -cmp vga_pll vga_pll\r
+       }\r
+       set need_to_close_project 1\r
+}\r
+\r
+# Make assignments\r
+if {$make_assignments} {\r
+       catch { set_global_assignment -name FAMILY Stratix } result\r
+       catch { set_global_assignment -name DEVICE EP1S25F672C6 } result\r
+       catch { set_global_assignment -name ORIGINAL_QUARTUS_VERSION 6.0 } result\r
+       catch { set_global_assignment -name PROJECT_CREATION_TIME_DATE "09:04:10  SEPTEMBER 29, 2006" } result\r
+       catch { set_global_assignment -name LAST_QUARTUS_VERSION 6.0 } result\r
+       catch { set_global_assignment -name EDA_DESIGN_ENTRY_SYNTHESIS_TOOL "Synplify Pro" } result\r
+       catch { set_global_assignment -name EDA_LMF_FILE synplcty.lmf -section_id eda_design_synthesis } result\r
+       catch { set_global_assignment -name EDA_INPUT_DATA_FORMAT VQM -section_id eda_design_synthesis } result\r
+       catch { set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (Verilog)" } result\r
+       catch { set_global_assignment -name EDA_TIME_SCALE "1 ps" -section_id eda_simulation } result\r
+       catch { set_global_assignment -name EDA_OUTPUT_DATA_FORMAT VERILOG -section_id eda_simulation } result\r
+       catch { set_global_assignment -name DEVICE_FILTER_PACKAGE FBGA } result\r
+       catch { set_global_assignment -name DEVICE_FILTER_PIN_COUNT 672 } result\r
+       catch { set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 6 } result\r
+       catch { set_global_assignment -name BSF_FILE ../../src/vpll.bsf } result\r
+       catch { set_global_assignment -name VHDL_FILE ../../src/vpll.vhd } result\r
+       catch { set_global_assignment -name BDF_FILE ../../src/vga_pll.bdf } result\r
+       catch { set_global_assignment -name VQM_FILE ../../syn/rev_1/vga.vqm } result\r
+\r
+       set_location_assignment PIN_E24 -to b0_pin\r
+       set_location_assignment PIN_T6 -to b1_pin\r
+       set_location_assignment PIN_N3 -to board_clk\r
+       set_location_assignment PIN_E23 -to g0_pin\r
+       set_location_assignment PIN_T5 -to g1_pin\r
+       set_location_assignment PIN_T24 -to g2_pin\r
+       set_location_assignment PIN_F1 -to hsync_pin\r
+       set_location_assignment PIN_E22 -to r0_pin\r
+       set_location_assignment PIN_T4 -to r1_pin\r
+       set_location_assignment PIN_T7 -to r2_pin\r
+       set_location_assignment PIN_A5 -to reset\r
+       set_location_assignment PIN_F2 -to vsync_pin\r
+       set_location_assignment PIN_Y5 -to d_hsync_state[0]\r
+       set_location_assignment PIN_F19 -to d_hsync_state[1]\r
+       set_location_assignment PIN_F17 -to d_hsync_state[2]\r
+       set_location_assignment PIN_Y2 -to d_hsync_state[3]\r
+       set_location_assignment PIN_F10 -to d_hsync_state[4]\r
+       set_location_assignment PIN_F9 -to d_hsync_state[5]\r
+       set_location_assignment PIN_F6 -to d_hsync_state[6]\r
+       set_location_assignment PIN_H4 -to d_hsync_counter[0]\r
+       set_location_assignment PIN_G25 -to d_hsync_counter[7]\r
+       set_location_assignment PIN_G22 -to d_hsync_counter[8]\r
+       set_location_assignment PIN_G18 -to d_hsync_counter[9]\r
+       set_location_assignment PIN_F5 -to d_vsync_state[0]\r
+       set_location_assignment PIN_F4 -to d_vsync_state[1]\r
+       set_location_assignment PIN_F3 -to d_vsync_state[2]\r
+       set_location_assignment PIN_M19 -to d_vsync_state[3]\r
+       set_location_assignment PIN_M18 -to d_vsync_state[4]\r
+       set_location_assignment PIN_M7 -to d_vsync_state[5]\r
+       set_location_assignment PIN_M4 -to d_vsync_state[6]\r
+       set_location_assignment PIN_G9 -to d_vsync_counter[0]\r
+       set_location_assignment PIN_G6 -to d_vsync_counter[7]\r
+       set_location_assignment PIN_G4 -to d_vsync_counter[8]\r
+       set_location_assignment PIN_G2 -to d_vsync_counter[9]\r
+       set_location_assignment PIN_K6 -to d_line_counter[0]\r
+       set_location_assignment PIN_K4 -to d_line_counter[1]\r
+       set_location_assignment PIN_J22 -to d_line_counter[2]\r
+       set_location_assignment PIN_M9 -to d_line_counter[3]\r
+       set_location_assignment PIN_M8 -to d_line_counter[4]\r
+       set_location_assignment PIN_M6 -to d_line_counter[5]\r
+       set_location_assignment PIN_M5 -to d_line_counter[6]\r
+       set_location_assignment PIN_L24 -to d_line_counter[7]\r
+       set_location_assignment PIN_L25 -to d_line_counter[8]\r
+       set_location_assignment PIN_L23 -to d_column_counter[0]\r
+       set_location_assignment PIN_L22 -to d_column_counter[1]\r
+       set_location_assignment PIN_L21 -to d_column_counter[2]\r
+       set_location_assignment PIN_L20 -to d_column_counter[3]\r
+       set_location_assignment PIN_L6 -to d_column_counter[4]\r
+       set_location_assignment PIN_L4 -to d_column_counter[5]\r
+       set_location_assignment PIN_L2 -to d_column_counter[6]\r
+       set_location_assignment PIN_K23 -to d_column_counter[7]\r
+       set_location_assignment PIN_K19 -to d_column_counter[8]\r
+       set_location_assignment PIN_K5 -to d_column_counter[9]\r
+       set_location_assignment PIN_L7 -to d_hsync\r
+       set_location_assignment PIN_L5 -to d_vsync\r
+       set_location_assignment PIN_F26 -to d_set_hsync_counter\r
+       set_location_assignment PIN_F24 -to d_set_vsync_counter\r
+       set_location_assignment PIN_F21 -to d_set_line_counter\r
+       set_location_assignment PIN_Y23 -to d_set_column_counter\r
+       set_location_assignment PIN_L3 -to d_r\r
+       set_location_assignment PIN_K24 -to d_g\r
+       set_location_assignment PIN_K20 -to d_b\r
+       set_location_assignment PIN_H18 -to d_v_enable\r
+       set_location_assignment PIN_J21 -to d_h_enable\r
+       set_location_assignment PIN_R8 -to seven_seg_pin[0]\r
+       set_location_assignment PIN_R9 -to seven_seg_pin[1]\r
+       set_location_assignment PIN_R19 -to seven_seg_pin[2]\r
+       set_location_assignment PIN_R20 -to seven_seg_pin[3]\r
+       set_location_assignment PIN_R21 -to seven_seg_pin[4]\r
+       set_location_assignment PIN_R22 -to seven_seg_pin[5]\r
+       set_location_assignment PIN_R23 -to seven_seg_pin[6]\r
+       set_location_assignment PIN_Y11 -to seven_seg_pin[7]\r
+       set_location_assignment PIN_N7 -to seven_seg_pin[8]\r
+       set_location_assignment PIN_N8 -to seven_seg_pin[9]\r
+       set_location_assignment PIN_R4 -to seven_seg_pin[10]\r
+       set_location_assignment PIN_R6 -to seven_seg_pin[11]\r
+       set_location_assignment PIN_AA11 -to seven_seg_pin[12]\r
+       set_location_assignment PIN_T2 -to seven_seg_pin[13]\r
+       set_location_assignment PIN_K3 -to d_state_clk\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_column_counter\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[1]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[2]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[3]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[4]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[5]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[6]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_state\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_line_counter\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[1]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[2]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[3]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[4]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[5]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[6]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_state\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to seven_seg_pin\r
+\r
+\r
+       # Commit assignments\r
+       export_assignments\r
+\r
+execute_flow -compile\r
+\r
+       # Close project\r
+       if {$need_to_close_project} {\r
+               project_close\r
+       }\r
+}\r
diff --git a/bsp3/Angabe/vga_pos_tb.vhd b/bsp3/Angabe/vga_pos_tb.vhd
new file mode 100644 (file)
index 0000000..4c314d8
--- /dev/null
@@ -0,0 +1,192 @@
+-------------------------------------------------------------------------------
+-- Title      : vga testbench
+-- Project    : 
+-------------------------------------------------------------------------------
+-- File       : vga_tb.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-11-21
+-- Platform   : 
+-------------------------------------------------------------------------------
+-- Description: 
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+entity vga_pos_tb is
+
+end vga_pos_tb;
+
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+architecture structure of vga_pos_tb is
+  
+  constant cc : time := 39.7 ns;        -- test clock period
+
+  component vga
+    port (
+      clk_pin                                  : in  std_logic;
+      reset_pin                                : in  std_logic;
+      r0_pin, r1_pin, r2_pin                   : out std_logic;
+      g0_pin, g1_pin, g2_pin                   : out std_logic;
+      b0_pin, b1_pin                           : out std_logic;
+      hsync_pin                                : out std_logic;
+      vsync_pin                                : out std_logic;
+      seven_seg_pin                            : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+      d_hsync, d_vsync                         : out std_logic;
+      d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+      d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+      d_set_column_counter, d_set_line_counter : out std_logic;
+      d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+      d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+      d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+      d_h_enable                               : out std_logic;
+      d_v_enable                               : out std_logic;
+      d_r, d_g, d_b                            : out std_logic;
+      d_hsync_state                            : out std_logic_vector(0 to 6);
+      d_vsync_state                            : out std_logic_vector(0 to 6);
+      d_state_clk                              : out std_logic);
+  end component;
+  
+  signal clk_pin                                  : std_logic;
+  signal reset_pin                                : std_logic;
+  signal r0_pin, r1_pin, r2_pin                   : std_logic;
+  signal g0_pin, g1_pin, g2_pin                   : std_logic;
+  signal b0_pin, b1_pin                           : std_logic;
+  signal hsync_pin                                : std_logic;
+  signal vsync_pin                                : std_logic;
+  signal seven_seg_pin                            : std_logic_vector(2*SEG_WIDTH-1 downto 0);
+  signal d_hsync, d_vsync                         : std_logic;
+  signal d_column_counter                         : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal d_line_counter                           : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal d_set_column_counter, d_set_line_counter : std_logic;
+  signal d_hsync_counter                          : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal d_vsync_counter                          : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal d_set_hsync_counter, d_set_vsync_counter : std_logic;
+  signal d_h_enable                               : std_logic;
+  signal d_v_enable                               : std_logic;
+  signal d_r, d_g, d_b                            : std_logic;
+  signal d_hsync_state                            : std_logic_vector(0 to 6);
+  signal d_vsync_state                            : std_logic_vector(0 to 6);
+  signal d_state_clk                              : std_logic;
+  signal clk                                      : std_logic;
+  
+begin
+
+  vga_unit: vga
+    port map (
+      clk_pin              => clk_pin,
+      reset_pin            => reset_pin,
+      r0_pin               => r0_pin,
+      r1_pin               => r1_pin,
+      r2_pin               => r2_pin,
+      g0_pin               => g0_pin,
+      g1_pin               => g1_pin,
+      g2_pin               => g2_pin,
+      b0_pin               => b0_pin,
+      b1_pin               => b1_pin,
+      hsync_pin            => hsync_pin,
+      vsync_pin            => vsync_pin,
+      seven_seg_pin        => seven_seg_pin,
+      d_hsync              => d_hsync,
+      d_vsync              => d_vsync,
+      d_column_counter     => d_column_counter,
+      d_line_counter       => d_line_counter,
+      d_set_column_counter => d_set_column_counter,
+      d_set_line_counter   => d_set_line_counter,
+      d_hsync_counter      => d_hsync_counter,
+      d_vsync_counter      => d_vsync_counter,
+      d_set_hsync_counter  => d_set_hsync_counter,
+      d_set_vsync_counter  => d_set_vsync_counter,
+      d_h_enable           => d_h_enable,
+      d_v_enable           => d_v_enable,
+      d_r                  => d_r,
+      d_g                  => d_g,
+      d_b                  => d_b,
+      d_hsync_state        => d_hsync_state,
+      d_vsync_state        => d_vsync_state,
+      d_state_clk          => d_state_clk);
+
+
+  
+-------------------------------------------------------------------------------
+-- generate simulation clock
+-------------------------------------------------------------------------------
+  CLKGEN : process
+  begin
+    clk <= '1';
+    wait for cc/2;
+    clk <= '0';
+    wait for cc/2;
+  end process CLKGEN;
+
+-------------------------------------------------------------------------------
+-- test the design
+-------------------------------------------------------------------------------
+  TEST_IT : process
+
+    -- wait for n clock cycles
+    procedure icwait(cycles : natural) is
+    begin
+      for i in 1 to cycles loop
+        wait until clk = '1' and clk'event;
+      end loop;
+    end;
+
+  begin
+    -----------------------------------------------------------------------------
+    -- initial reset
+    -----------------------------------------------------------------------------
+    reset_pin <= '0';
+    icwait(10);
+    reset_pin <= '1';
+    icwait(1000000000);
+
+    ---------------------------------------------------------------------------
+    -- exit testbench
+    ---------------------------------------------------------------------------
+    assert false
+      report "Test finished"
+      severity error;
+
+  end process test_it;
+  
+  clk_pin <= clk;
+
+end structure;
+
+-------------------------------------------------------------------------------
+-- configuration
+-------------------------------------------------------------------------------
+configuration vga_conf_pos of vga_pos_tb is
+  for structure
+    for vga_unit : vga use entity work.vga(structure);
+    end for;
+  end for;
+end vga_conf_pos;
+
+
+
diff --git a/bsp3/Angabe/vga_pos_tb.vhd~ b/bsp3/Angabe/vga_pos_tb.vhd~
new file mode 100644 (file)
index 0000000..ebcff70
--- /dev/null
@@ -0,0 +1,198 @@
+-------------------------------------------------------------------------------
+-- Title      : vga testbench
+-- Project    : 
+-------------------------------------------------------------------------------
+-- File       : vga_tb.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-09-29
+-- Platform   : 
+-------------------------------------------------------------------------------
+-- Description: 
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+entity vga_pos_tb is
+
+end vga_pos_tb;
+
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+architecture structure of vga_pos_tb is
+  
+  constant cc : time := 39.7 ns;        -- test clock period
+
+  component vga
+    port (
+      clk_pin                                  : in  std_logic;
+      reset_pin                                : in  std_logic;
+      r0_pin, r1_pin, r2_pin                   : out std_logic;
+      g0_pin, g1_pin, g2_pin                   : out std_logic;
+      b0_pin, b1_pin                           : out std_logic;
+      hsync_pin                                : out std_logic;
+      vsync_pin                                : out std_logic;
+      seven_seg_pin                            : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+      d_hsync, d_vsync                         : out std_logic;
+      d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+      d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+      d_set_column_counter, d_set_line_counter : out std_logic;
+      d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+      d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+      d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+      d_h_enable                               : out std_logic;
+      d_v_enable                               : out std_logic;
+      d_r, d_g, d_b                            : out std_logic;
+      d_hsync_state                            : out std_logic_vector(0 to 6);
+      d_vsync_state                            : out std_logic_vector(0 to 6);
+      d_state_clk                              : out std_logic;
+      d_toggle                                 : out std_logic;
+      d_toggle_counter                         : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0));
+  end component;
+  
+  signal clk_pin                                  : std_logic;
+  signal reset_pin                                : std_logic;
+  signal r0_pin, r1_pin, r2_pin                   : std_logic;
+  signal g0_pin, g1_pin, g2_pin                   : std_logic;
+  signal b0_pin, b1_pin                           : std_logic;
+  signal hsync_pin                                : std_logic;
+  signal vsync_pin                                : std_logic;
+  signal seven_seg_pin                            : std_logic_vector(2*SEG_WIDTH-1 downto 0);
+  signal d_hsync, d_vsync                         : std_logic;
+  signal d_column_counter                         : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal d_line_counter                           : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal d_set_column_counter, d_set_line_counter : std_logic;
+  signal d_hsync_counter                          : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal d_vsync_counter                          : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal d_set_hsync_counter, d_set_vsync_counter : std_logic;
+  signal d_h_enable                               : std_logic;
+  signal d_v_enable                               : std_logic;
+  signal d_r, d_g, d_b                            : std_logic;
+  signal d_hsync_state                            : std_logic_vector(0 to 6);
+  signal d_vsync_state                            : std_logic_vector(0 to 6);
+  signal d_state_clk                              : std_logic;
+  signal d_toggle                                 : std_logic;
+  signal d_toggle_counter                         : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);
+  signal clk                                      : std_logic;
+  
+begin
+
+  vga_unit: vga
+    port map (
+      clk_pin              => clk_pin,
+      reset_pin            => reset_pin,
+      r0_pin               => r0_pin,
+      r1_pin               => r1_pin,
+      r2_pin               => r2_pin,
+      g0_pin               => g0_pin,
+      g1_pin               => g1_pin,
+      g2_pin               => g2_pin,
+      b0_pin               => b0_pin,
+      b1_pin               => b1_pin,
+      hsync_pin            => hsync_pin,
+      vsync_pin            => vsync_pin,
+      seven_seg_pin        => seven_seg_pin,
+      d_hsync              => d_hsync,
+      d_vsync              => d_vsync,
+      d_column_counter     => d_column_counter,
+      d_line_counter       => d_line_counter,
+      d_set_column_counter => d_set_column_counter,
+      d_set_line_counter   => d_set_line_counter,
+      d_hsync_counter      => d_hsync_counter,
+      d_vsync_counter      => d_vsync_counter,
+      d_set_hsync_counter  => d_set_hsync_counter,
+      d_set_vsync_counter  => d_set_vsync_counter,
+      d_h_enable           => d_h_enable,
+      d_v_enable           => d_v_enable,
+      d_r                  => d_r,
+      d_g                  => d_g,
+      d_b                  => d_b,
+      d_hsync_state        => d_hsync_state,
+      d_vsync_state        => d_vsync_state,
+      d_state_clk          => d_state_clk,
+      d_toggle             => d_toggle,
+      d_toggle_counter     => d_toggle_counter);
+
+
+  
+-------------------------------------------------------------------------------
+-- generate simulation clock
+-------------------------------------------------------------------------------
+  CLKGEN : process
+  begin
+    clk <= '1';
+    wait for cc/2;
+    clk <= '0';
+    wait for cc/2;
+  end process CLKGEN;
+
+-------------------------------------------------------------------------------
+-- test the design
+-------------------------------------------------------------------------------
+  TEST_IT : process
+
+    -- wait for n clock cycles
+    procedure icwait(cycles : natural) is
+    begin
+      for i in 1 to cycles loop
+        wait until clk = '1' and clk'event;
+      end loop;
+    end;
+
+  begin
+    -----------------------------------------------------------------------------
+    -- initial reset
+    -----------------------------------------------------------------------------
+    reset_pin <= '0';
+    icwait(10);
+    reset_pin <= '1';
+    icwait(1000000000);
+
+    ---------------------------------------------------------------------------
+    -- exit testbench
+    ---------------------------------------------------------------------------
+    assert false
+      report "Test finished"
+      severity error;
+
+  end process test_it;
+  
+  clk_pin <= clk;
+
+end structure;
+
+-------------------------------------------------------------------------------
+-- configuration
+-------------------------------------------------------------------------------
+configuration vga_conf_pos of vga_pos_tb is
+  for structure
+    for vga_unit : vga use entity work.vga(structure);
+    end for;
+  end for;
+end vga_conf_pos;
+
+
+
diff --git a/bsp3/Angabe/vga_pre_tb.vhd b/bsp3/Angabe/vga_pre_tb.vhd
new file mode 100644 (file)
index 0000000..d3dd745
--- /dev/null
@@ -0,0 +1,191 @@
+-------------------------------------------------------------------------------
+-- Title      : vga testbench
+-- Project    : 
+-------------------------------------------------------------------------------
+-- File       : vga_tb.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-11-21
+-- Platform   : 
+-------------------------------------------------------------------------------
+-- Description: 
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+entity vga_pre_tb is
+
+end vga_pre_tb;
+
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+architecture structure of vga_pre_tb is
+
+  constant cc : time := 39.7 ns;        -- test clock period
+
+  component vga
+    port (
+      clk_pin                                  : in  std_logic;
+      reset_pin                                : in  std_logic;
+      r0_pin, r1_pin, r2_pin                   : out std_logic;
+      g0_pin, g1_pin, g2_pin                   : out std_logic;
+      b0_pin, b1_pin                           : out std_logic;
+      hsync_pin                                : out std_logic;
+      vsync_pin                                : out std_logic;
+      seven_seg_pin                            : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+      d_hsync, d_vsync                         : out std_logic;
+      d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+      d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+      d_set_column_counter, d_set_line_counter : out std_logic;
+      d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+      d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+      d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+      d_h_enable                               : out std_logic;
+      d_v_enable                               : out std_logic;
+      d_r, d_g, d_b                            : out std_logic;
+      d_hsync_state                            : out std_logic_vector(0 to 6);
+      d_vsync_state                            : out std_logic_vector(0 to 6);
+      d_state_clk                              : out std_logic);
+  end component;
+
+  signal clk_pin                                  : std_logic;
+  signal reset_pin                                : std_logic;
+  signal r0_pin, r1_pin, r2_pin                   : std_logic;
+  signal g0_pin, g1_pin, g2_pin                   : std_logic;
+  signal b0_pin, b1_pin                           : std_logic;
+  signal hsync_pin                                : std_logic;
+  signal vsync_pin                                : std_logic;
+  signal seven_seg_pin                            : std_logic_vector(2*SEG_WIDTH-1 downto 0);
+  signal d_hsync, d_vsync                         : std_logic;
+  signal d_column_counter                         : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal d_line_counter                           : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal d_set_column_counter, d_set_line_counter : std_logic;
+  signal d_hsync_counter                          : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal d_vsync_counter                          : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal d_set_hsync_counter, d_set_vsync_counter : std_logic;
+  signal d_h_enable                               : std_logic;
+  signal d_v_enable                               : std_logic;
+  signal d_r, d_g, d_b                            : std_logic;
+  signal d_hsync_state                            : std_logic_vector(0 to 6);
+  signal d_vsync_state                            : std_logic_vector(0 to 6);
+  signal d_state_clk                              : std_logic;
+  signal clk                                      : std_logic;
+
+begin
+
+  vga_unit: vga
+    port map (
+      clk_pin              => clk_pin,
+      reset_pin            => reset_pin,
+      r0_pin               => r0_pin,
+      r1_pin               => r1_pin,
+      r2_pin               => r2_pin,
+      g0_pin               => g0_pin,
+      g1_pin               => g1_pin,
+      g2_pin               => g2_pin,
+      b0_pin               => b0_pin,
+      b1_pin               => b1_pin,
+      hsync_pin            => hsync_pin,
+      vsync_pin            => vsync_pin,
+      seven_seg_pin        => seven_seg_pin,
+      d_hsync              => d_hsync,
+      d_vsync              => d_vsync,
+      d_column_counter     => d_column_counter,
+      d_line_counter       => d_line_counter,
+      d_set_column_counter => d_set_column_counter,
+      d_set_line_counter   => d_set_line_counter,
+      d_hsync_counter      => d_hsync_counter,
+      d_vsync_counter      => d_vsync_counter,
+      d_set_hsync_counter  => d_set_hsync_counter,
+      d_set_vsync_counter  => d_set_vsync_counter,
+      d_h_enable           => d_h_enable,
+      d_v_enable           => d_v_enable,
+      d_r                  => d_r,
+      d_g                  => d_g,
+      d_b                  => d_b,
+      d_hsync_state        => d_hsync_state,
+      d_vsync_state        => d_vsync_state,
+      d_state_clk          => d_state_clk);
+
+  
+-------------------------------------------------------------------------------
+-- generate simulation clock
+-------------------------------------------------------------------------------
+  CLKGEN : process
+  begin
+    clk <= '1';
+    wait for cc/2;
+    clk <= '0';
+    wait for cc/2;
+  end process CLKGEN;
+
+-------------------------------------------------------------------------------
+-- test the design
+-------------------------------------------------------------------------------
+  TEST_IT : process
+
+    -- wait for n clock cycles
+    procedure icwait(cycles : natural) is
+    begin
+      for i in 1 to cycles loop
+        wait until clk = '1' and clk'event;
+      end loop;
+    end;
+
+  begin
+    -----------------------------------------------------------------------------
+    -- initial reset
+    -----------------------------------------------------------------------------
+    reset_pin <= '0';
+    icwait(10);
+    reset_pin <= '1';
+    icwait(10000000);
+
+    ---------------------------------------------------------------------------
+    -- exit testbench
+    ---------------------------------------------------------------------------
+    assert false
+      report "Test finished"
+      severity error;
+
+  end process test_it;
+  
+  clk_pin <= clk;
+
+end structure;
+
+-------------------------------------------------------------------------------
+-- configuration
+-------------------------------------------------------------------------------
+configuration vga_conf_pre of vga_pre_tb is
+  for structure
+    for vga_unit : vga use entity work.vga(beh);
+    end for;
+  end for;
+end vga_conf_pre;
+
+
+
diff --git a/bsp3/Angabe/vga_pre_tb.vhd~ b/bsp3/Angabe/vga_pre_tb.vhd~
new file mode 100644 (file)
index 0000000..dc010f7
--- /dev/null
@@ -0,0 +1,197 @@
+-------------------------------------------------------------------------------
+-- Title      : vga testbench
+-- Project    : 
+-------------------------------------------------------------------------------
+-- File       : vga_tb.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-09-29
+-- Platform   : 
+-------------------------------------------------------------------------------
+-- Description: 
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+entity vga_pre_tb is
+
+end vga_pre_tb;
+
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+architecture structure of vga_pre_tb is
+
+  constant cc : time := 39.7 ns;        -- test clock period
+
+  component vga
+    port (
+      clk_pin                                  : in  std_logic;
+      reset_pin                                : in  std_logic;
+      r0_pin, r1_pin, r2_pin                   : out std_logic;
+      g0_pin, g1_pin, g2_pin                   : out std_logic;
+      b0_pin, b1_pin                           : out std_logic;
+      hsync_pin                                : out std_logic;
+      vsync_pin                                : out std_logic;
+      seven_seg_pin                            : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+      d_hsync, d_vsync                         : out std_logic;
+      d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+      d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+      d_set_column_counter, d_set_line_counter : out std_logic;
+      d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+      d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+      d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+      d_h_enable                               : out std_logic;
+      d_v_enable                               : out std_logic;
+      d_r, d_g, d_b                            : out std_logic;
+      d_hsync_state                            : out std_logic_vector(0 to 6);
+      d_vsync_state                            : out std_logic_vector(0 to 6);
+      d_state_clk                              : out std_logic;
+      d_toggle                                 : out std_logic;
+      d_toggle_counter                         : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0));
+  end component;
+
+  signal clk_pin                                  : std_logic;
+  signal reset_pin                                : std_logic;
+  signal r0_pin, r1_pin, r2_pin                   : std_logic;
+  signal g0_pin, g1_pin, g2_pin                   : std_logic;
+  signal b0_pin, b1_pin                           : std_logic;
+  signal hsync_pin                                : std_logic;
+  signal vsync_pin                                : std_logic;
+  signal seven_seg_pin                            : std_logic_vector(2*SEG_WIDTH-1 downto 0);
+  signal d_hsync, d_vsync                         : std_logic;
+  signal d_column_counter                         : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal d_line_counter                           : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal d_set_column_counter, d_set_line_counter : std_logic;
+  signal d_hsync_counter                          : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal d_vsync_counter                          : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal d_set_hsync_counter, d_set_vsync_counter : std_logic;
+  signal d_h_enable                               : std_logic;
+  signal d_v_enable                               : std_logic;
+  signal d_r, d_g, d_b                            : std_logic;
+  signal d_hsync_state                            : std_logic_vector(0 to 6);
+  signal d_vsync_state                            : std_logic_vector(0 to 6);
+  signal d_state_clk                              : std_logic;
+  signal d_toggle                                 : std_logic;
+  signal d_toggle_counter                         : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);
+  signal clk                                      : std_logic;
+
+begin
+
+  vga_unit: vga
+    port map (
+      clk_pin              => clk_pin,
+      reset_pin            => reset_pin,
+      r0_pin               => r0_pin,
+      r1_pin               => r1_pin,
+      r2_pin               => r2_pin,
+      g0_pin               => g0_pin,
+      g1_pin               => g1_pin,
+      g2_pin               => g2_pin,
+      b0_pin               => b0_pin,
+      b1_pin               => b1_pin,
+      hsync_pin            => hsync_pin,
+      vsync_pin            => vsync_pin,
+      seven_seg_pin        => seven_seg_pin,
+      d_hsync              => d_hsync,
+      d_vsync              => d_vsync,
+      d_column_counter     => d_column_counter,
+      d_line_counter       => d_line_counter,
+      d_set_column_counter => d_set_column_counter,
+      d_set_line_counter   => d_set_line_counter,
+      d_hsync_counter      => d_hsync_counter,
+      d_vsync_counter      => d_vsync_counter,
+      d_set_hsync_counter  => d_set_hsync_counter,
+      d_set_vsync_counter  => d_set_vsync_counter,
+      d_h_enable           => d_h_enable,
+      d_v_enable           => d_v_enable,
+      d_r                  => d_r,
+      d_g                  => d_g,
+      d_b                  => d_b,
+      d_hsync_state        => d_hsync_state,
+      d_vsync_state        => d_vsync_state,
+      d_state_clk          => d_state_clk,
+      d_toggle             => d_toggle,
+      d_toggle_counter     => d_toggle_counter);
+
+  
+-------------------------------------------------------------------------------
+-- generate simulation clock
+-------------------------------------------------------------------------------
+  CLKGEN : process
+  begin
+    clk <= '1';
+    wait for cc/2;
+    clk <= '0';
+    wait for cc/2;
+  end process CLKGEN;
+
+-------------------------------------------------------------------------------
+-- test the design
+-------------------------------------------------------------------------------
+  TEST_IT : process
+
+    -- wait for n clock cycles
+    procedure icwait(cycles : natural) is
+    begin
+      for i in 1 to cycles loop
+        wait until clk = '1' and clk'event;
+      end loop;
+    end;
+
+  begin
+    -----------------------------------------------------------------------------
+    -- initial reset
+    -----------------------------------------------------------------------------
+    reset_pin <= '0';
+    icwait(10);
+    reset_pin <= '1';
+    icwait(10000000);
+
+    ---------------------------------------------------------------------------
+    -- exit testbench
+    ---------------------------------------------------------------------------
+    assert false
+      report "Test finished"
+      severity error;
+
+  end process test_it;
+  
+  clk_pin <= clk;
+
+end structure;
+
+-------------------------------------------------------------------------------
+-- configuration
+-------------------------------------------------------------------------------
+configuration vga_conf_pre of vga_pre_tb is
+  for structure
+    for vga_unit : vga use entity work.vga(beh);
+    end for;
+  end for;
+end vga_conf_pre;
+
+
+
diff --git a/bsp3/Angabe/vpll.bsf b/bsp3/Angabe/vpll.bsf
new file mode 100644 (file)
index 0000000..63c3118
--- /dev/null
@@ -0,0 +1,49 @@
+/*\r
+WARNING: Do NOT edit the input and output ports in this file in a text\r
+editor if you plan to continue editing the block that represents it in\r
+the Block Editor! File corruption is VERY likely to occur.\r
+*/\r
+/*\r
+Copyright (C) 1991-2004 Altera Corporation\r
+Any  megafunction  design,  and related netlist (encrypted  or  decrypted),\r
+support information,  device programming or simulation file,  and any other\r
+associated  documentation or information  provided by  Altera  or a partner\r
+under  Altera's   Megafunction   Partnership   Program  may  be  used  only\r
+to program  PLD  devices (but not masked  PLD  devices) from  Altera.   Any\r
+other  use  of such  megafunction  design,  netlist,  support  information,\r
+device programming or simulation file,  or any other  related documentation\r
+or information  is prohibited  for  any  other purpose,  including, but not\r
+limited to  modification,  reverse engineering,  de-compiling, or use  with\r
+any other  silicon devices,  unless such use is  explicitly  licensed under\r
+a separate agreement with  Altera  or a megafunction partner.  Title to the\r
+intellectual property,  including patents,  copyrights,  trademarks,  trade\r
+secrets,  or maskworks,  embodied in any such megafunction design, netlist,\r
+support  information,  device programming or simulation file,  or any other\r
+related documentation or information provided by  Altera  or a megafunction\r
+partner, remains with Altera, the megafunction partner, or their respective\r
+licensors. No other licenses, including any licenses needed under any third\r
+party's intellectual property, are provided herein.\r
+*/\r
+(header "symbol" (version "1.1"))\r
+(symbol\r
+       (rect 16 16 112 112)\r
+       (text "vpll" (rect 5 0 22 12)(font "Arial" ))\r
+       (text "inst" (rect 8 80 25 92)(font "Arial" ))\r
+       (port\r
+               (pt 0 32)\r
+               (input)\r
+               (text "inclk0" (rect 0 0 28 12)(font "Arial" ))\r
+               (text "inclk0" (rect 21 27 49 39)(font "Arial" ))\r
+               (line (pt 0 32)(pt 16 32)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 96 32)\r
+               (output)\r
+               (text "c0" (rect 0 0 11 12)(font "Arial" ))\r
+               (text "c0" (rect 64 27 75 39)(font "Arial" ))\r
+               (line (pt 96 32)(pt 80 32)(line_width 1))\r
+       )\r
+       (drawing\r
+               (rectangle (rect 16 16 80 80)(line_width 1))\r
+       )\r
+)\r
diff --git a/bsp3/Angabe/vpll.vhd b/bsp3/Angabe/vpll.vhd
new file mode 100644 (file)
index 0000000..dbb347f
--- /dev/null
@@ -0,0 +1,274 @@
+-- megafunction wizard: %ALTPLL%\r
+-- GENERATION: STANDARD\r
+-- VERSION: WM1.0\r
+-- MODULE: altpll \r
+\r
+-- ============================================================\r
+-- File Name: vpll.vhd\r
+-- Megafunction Name(s):\r
+--                     altpll\r
+-- ============================================================\r
+-- ************************************************************\r
+-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!\r
+--\r
+-- 4.1 Build 181 06/29/2004 SJ Full Version\r
+-- ************************************************************\r
+\r
+\r
+--Copyright (C) 1991-2004 Altera Corporation\r
+--Any  megafunction  design,  and related netlist (encrypted  or  decrypted),\r
+--support information,  device programming or simulation file,  and any other\r
+--associated  documentation or information  provided by  Altera  or a partner\r
+--under  Altera's   Megafunction   Partnership   Program  may  be  used  only\r
+--to program  PLD  devices (but not masked  PLD  devices) from  Altera.   Any\r
+--other  use  of such  megafunction  design,  netlist,  support  information,\r
+--device programming or simulation file,  or any other  related documentation\r
+--or information  is prohibited  for  any  other purpose,  including, but not\r
+--limited to  modification,  reverse engineering,  de-compiling, or use  with\r
+--any other  silicon devices,  unless such use is  explicitly  licensed under\r
+--a separate agreement with  Altera  or a megafunction partner.  Title to the\r
+--intellectual property,  including patents,  copyrights,  trademarks,  trade\r
+--secrets,  or maskworks,  embodied in any such megafunction design, netlist,\r
+--support  information,  device programming or simulation file,  or any other\r
+--related documentation or information provided by  Altera  or a megafunction\r
+--partner, remains with Altera, the megafunction partner, or their respective\r
+--licensors. No other licenses, including any licenses needed under any third\r
+--party's intellectual property, are provided herein.\r
+\r
+\r
+LIBRARY ieee;\r
+USE ieee.std_logic_1164.all;\r
+\r
+LIBRARY altera_mf;\r
+USE altera_mf.altera_mf_components.all;\r
+\r
+ENTITY vpll IS\r
+       PORT\r
+       (\r
+               inclk0          : IN STD_LOGIC  := '0';\r
+--             pllena          : IN STD_LOGIC  := '1';\r
+--             areset          : IN STD_LOGIC  := '0';\r
+               c0              : OUT STD_LOGIC \r
+--             locked          : OUT STD_LOGIC \r
+       );\r
+END vpll;\r
+\r
+\r
+ARCHITECTURE SYN OF vpll IS\r
+\r
+       SIGNAL sub_wire0        : STD_LOGIC_VECTOR (5 DOWNTO 0);\r
+       SIGNAL sub_wire1        : STD_LOGIC ;\r
+       SIGNAL sub_wire2        : STD_LOGIC ;\r
+       SIGNAL sub_wire3_bv     : BIT_VECTOR (0 DOWNTO 0);\r
+       SIGNAL sub_wire3        : STD_LOGIC_VECTOR (0 DOWNTO 0);\r
+       SIGNAL sub_wire4        : STD_LOGIC_VECTOR (5 DOWNTO 0);\r
+       SIGNAL sub_wire5_bv     : BIT_VECTOR (0 DOWNTO 0);\r
+       SIGNAL sub_wire5        : STD_LOGIC_VECTOR (0 DOWNTO 0);\r
+       SIGNAL sub_wire6        : STD_LOGIC ;\r
+       SIGNAL sub_wire7        : STD_LOGIC_VECTOR (1 DOWNTO 0);\r
+       SIGNAL sub_wire8        : STD_LOGIC_VECTOR (3 DOWNTO 0);\r
+\r
+signal pllena_int : std_logic;\r
+signal areset_int : std_logic;\r
+signal locked : std_logic;\r
+\r
+       COMPONENT altpll\r
+       GENERIC (\r
+               bandwidth_type          : STRING;\r
+               clk0_duty_cycle         : NATURAL;\r
+               lpm_type                : STRING;\r
+               clk0_multiply_by                : NATURAL;\r
+               invalid_lock_multiplier         : NATURAL;\r
+               inclk0_input_frequency          : NATURAL;\r
+               gate_lock_signal                : STRING;\r
+               clk0_divide_by          : NATURAL;\r
+               pll_type                : STRING;\r
+               valid_lock_multiplier           : NATURAL;\r
+               clk0_time_delay         : STRING;\r
+               spread_frequency                : NATURAL;\r
+               intended_device_family          : STRING;\r
+               operation_mode          : STRING;\r
+               compensate_clock                : STRING;\r
+               clk0_phase_shift                : STRING\r
+       );\r
+       PORT (\r
+                       clkena  : IN STD_LOGIC_VECTOR (5 DOWNTO 0);\r
+                       inclk   : IN STD_LOGIC_VECTOR (1 DOWNTO 0);\r
+                       pllena  : IN STD_LOGIC ;\r
+                       extclkena       : IN STD_LOGIC_VECTOR (3 DOWNTO 0);\r
+                       locked  : OUT STD_LOGIC ;\r
+                       areset  : IN STD_LOGIC ;\r
+                       clk     : OUT STD_LOGIC_VECTOR (5 DOWNTO 0)\r
+       );\r
+       END COMPONENT;\r
+\r
+BEGIN\r
+       sub_wire3_bv(0 DOWNTO 0) <= "0";\r
+       sub_wire3    <= To_stdlogicvector(sub_wire3_bv);\r
+       sub_wire5_bv(0 DOWNTO 0) <= "0";\r
+       sub_wire5    <= NOT(To_stdlogicvector(sub_wire5_bv));\r
+       sub_wire1    <= sub_wire0(0);\r
+       c0    <= sub_wire1;\r
+       locked    <= sub_wire2;\r
+       sub_wire4    <= sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire5(0 DOWNTO 0);\r
+       sub_wire6    <= inclk0;\r
+       sub_wire7    <= sub_wire3(0 DOWNTO 0) & sub_wire6;\r
+       sub_wire8    <= sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0);\r
+\r
+areset_int <= '0';\r
+pllena_int <= '1';\r
+\r
+       altpll_component : altpll\r
+       GENERIC MAP (\r
+               bandwidth_type => "AUTO",\r
+               clk0_duty_cycle => 50,\r
+               lpm_type => "altpll",\r
+               clk0_multiply_by => 5435,\r
+               invalid_lock_multiplier => 5,\r
+               inclk0_input_frequency => 30003,\r
+               gate_lock_signal => "NO",\r
+               clk0_divide_by => 6666,\r
+               pll_type => "AUTO",\r
+               valid_lock_multiplier => 1,\r
+               clk0_time_delay => "0",\r
+               spread_frequency => 0,\r
+               intended_device_family => "Stratix",\r
+               operation_mode => "NORMAL",\r
+               compensate_clock => "CLK0",\r
+               clk0_phase_shift => "0"\r
+       )\r
+       PORT MAP (\r
+               clkena => sub_wire4,\r
+               inclk => sub_wire7,\r
+               pllena => pllena_int,\r
+               extclkena => sub_wire8,\r
+               areset => areset_int,\r
+               clk => sub_wire0,\r
+               locked => sub_wire2\r
+       );\r
+\r
+\r
+\r
+END SYN;\r
+\r
+-- ============================================================\r
+-- CNX file retrieval info\r
+-- ============================================================\r
+-- Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0"\r
+-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg"\r
+-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz"\r
+-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz"\r
+-- Retrieval info: PRIVATE: SPREAD_USE STRING "0"\r
+-- Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1"\r
+-- Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575"\r
+-- Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"\r
+-- Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000"\r
+-- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "1"\r
+-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "1"\r
+-- Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500"\r
+-- Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1"\r
+-- Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "1"\r
+-- Retrieval info: PRIVATE: TIME_SHIFT0 STRING "0.00000000"\r
+-- Retrieval info: PRIVATE: STICKY_CLK0 STRING "1"\r
+-- Retrieval info: PRIVATE: BANDWIDTH STRING "1.000"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_USE_CUSTOM STRING "0"\r
+-- Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "6"\r
+-- Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1"\r
+-- Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0"\r
+-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0"\r
+-- Retrieval info: PRIVATE: USE_CLK0 STRING "1"\r
+-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1"\r
+-- Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "33.330"\r
+-- Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0"\r
+-- Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0"\r
+-- Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz"\r
+-- Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz"\r
+-- Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"\r
+-- Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "e0"\r
+-- Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "1"\r
+-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1"\r
+-- Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1"\r
+-- Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1"\r
+-- Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1"\r
+-- Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "299.970"\r
+-- Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz"\r
+-- Retrieval info: PRIVATE: PLL_ENA_CHECK STRING "1"\r
+-- Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "33.330"\r
+-- Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1"\r
+-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "27.175"\r
+-- Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0"\r
+-- Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: DEV_FAMILY STRING "Stratix"\r
+-- Retrieval info: PRIVATE: LOCK_LOSS_SWITCHOVER_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1"\r
+-- Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low"\r
+-- Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: USE_CLKENA0 STRING "0"\r
+-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg"\r
+-- Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0"\r
+-- Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0"\r
+-- Retrieval info: PRIVATE: DEVICE_FAMILY NUMERIC "9"\r
+-- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all\r
+-- Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO"\r
+-- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50"\r
+-- Retrieval info: CONSTANT: LPM_TYPE STRING "altpll"\r
+-- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "5435"\r
+-- Retrieval info: CONSTANT: INVALID_LOCK_MULTIPLIER NUMERIC "5"\r
+-- Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "30003"\r
+-- Retrieval info: CONSTANT: GATE_LOCK_SIGNAL STRING "NO"\r
+-- Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "6666"\r
+-- Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO"\r
+-- Retrieval info: CONSTANT: VALID_LOCK_MULTIPLIER NUMERIC "1"\r
+-- Retrieval info: CONSTANT: CLK0_TIME_DELAY STRING "0"\r
+-- Retrieval info: CONSTANT: SPREAD_FREQUENCY NUMERIC "0"\r
+-- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Stratix"\r
+-- Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL"\r
+-- Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0"\r
+-- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0"\r
+-- Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT VCC "c0"\r
+-- Retrieval info: USED_PORT: @clk 0 0 6 0 OUTPUT VCC "@clk[5..0]"\r
+-- Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT GND "inclk0"\r
+-- Retrieval info: USED_PORT: locked 0 0 0 0 OUTPUT GND "locked"\r
+-- Retrieval info: USED_PORT: pllena 0 0 0 0 INPUT VCC "pllena"\r
+-- Retrieval info: USED_PORT: @extclk 0 0 4 0 OUTPUT VCC "@extclk[3..0]"\r
+-- Retrieval info: USED_PORT: @inclk 0 0 2 0 INPUT VCC "@inclk[1..0]"\r
+-- Retrieval info: USED_PORT: areset 0 0 0 0 INPUT GND "areset"\r
+-- Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0\r
+-- Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0\r
+-- Retrieval info: CONNECT: @extclkena 0 0 1 1 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 4 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 1 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0\r
+-- Retrieval info: CONNECT: @pllena 0 0 0 0 pllena 0 0 0 0\r
+-- Retrieval info: CONNECT: @extclkena 0 0 1 2 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 5 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 2 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 0 VCC 0 0 0 0\r
+-- Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @extclkena 0 0 1 3 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @extclkena 0 0 1 0 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @areset 0 0 0 0 areset 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 3 GND 0 0 0 0\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll.vhd TRUE FALSE\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll.inc FALSE FALSE\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll.cmp TRUE FALSE\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll.bsf TRUE\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll_inst.vhd TRUE FALSE\r
diff --git a/bsp3/Protokolle/DigitalDesign_prot.sty b/bsp3/Protokolle/DigitalDesign_prot.sty
new file mode 100644 (file)
index 0000000..6cb3c1c
--- /dev/null
@@ -0,0 +1,225 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%                          DigitalDesign_app.sty
+%
+%                             Babak Rahbaran
+%                     (rahbaran@ecs.tuwien.ac.at)
+% 
+%                               14.07.03
+%
+%              Institut f"ur Technische Informatik (182/2) 
+%                          ECS Group
+%                     Technische Universit"at Wien 
+%                      1040 Treitlstr. 3, 2. Stk.
+%                      (www.ecs.tuwien.ac.at)
+% 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% packages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{fancyheadings}
+\usepackage{german}
+\usepackage{graphicx}
+\usepackage[latin1]{inputenc} %------- Umlaute im Text
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% user-defined commands
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% typeset pin numbers
+\newcommand{\pin}[1]{\emph{\textbf{#1}}\ }
+\renewcommand{\chaptername}{Aufgabe}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% some size definitions and counter settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\oddsidemargin 1cm
+\evensidemargin 1cm
+\topmargin 0pt
+\headsep 50pt
+\textheight 21.5cm
+\textwidth 14.1cm
+
+\renewcommand{\floatpagefraction}{0.9}
+\renewcommand{\textfraction}{0.05}
+\renewcommand{\topfraction}{1.0}
+\renewcommand{\bottomfraction}{1.0}
+
+\setcounter{totalnumber}{3}
+\setcounter{bottomnumber}{3}
+\setcounter{topnumber}{3}
+
+\setlength{\unitlength}{1mm}
+\setlength{\parindent}{6mm}
+\setlength{\parskip}{12pt plus2pt minus2pt}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% define variables used on titlepage
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% heading
+\def\headline#1{\gdef\@headline{#1}}
+% group number
+\def\groupnr#1{\gdef\@groupnr{#1}}
+% authors
+\def\vornamea#1{\gdef\@vornamea{#1}}
+\def\nachnamea#1{\gdef\@nachnamea{#1}}
+\def\matrikela#1{\gdef\@matrikela{#1}}
+\def\emaila#1{\gdef\@emaila{#1}}
+
+\def\vornameb#1{\gdef\@vornameb{#1}}
+\def\nachnameb#1{\gdef\@nachnameb{#1}}
+\def\matrikelb#1{\gdef\@matrikelb{#1}}
+\def\emailb#1{\gdef\@emailb{#1}}
+
+\def\vornamec#1{\gdef\@vornamec{#1}}
+\def\nachnamec#1{\gdef\@nachnamec{#1}}
+\def\matrikelc#1{\gdef\@matrikelc{#1}}
+\def\emailc#1{\gdef\@emailc{#1}}
+
+%\def\vornamed#1{\gdef\@vornamed{#1}}
+%\def\nachnamed#1{\gdef\@nachnamed{#1}}
+%\def\matrikeld#1{\gdef\@matrikeld{#1}}
+%\def\emaild#1{\gdef\@emaild{#1}}
+
+% address of department
+\def\address#1{\gdef\@address{#1}}
+% LVA-Nr.
+\def\lvanr#1{\gdef\@aufgabe{#1}}
+
+\setcounter{footnote}{0} 
+
+% initialize variables
+\gdef\@headline{Digital Design LU}            
+\gdef\@title{P r o t o k o l l}
+
+\gdef\@groupnr{00}
+
+\gdef\@vornamea{Vorname1}
+\gdef\@nachnamea{Nachname1}
+\gdef\@matrikela{0000000}
+\gdef\@emaila{a@æstudent.tuwien.ac.at}
+
+\gdef\@vornameb{Vorname2}
+\gdef\@nachnameb{Nachname2}
+\gdef\@matrikelb{0000000}
+\gdef\@emailb{b@æstudent.tuwien.ac.at}
+
+\gdef\@vornamec{Vorname3}
+\gdef\@nachnamec{Nachname3}
+\gdef\@matrikelc{0000000}
+\gdef\@emailc{c@student.tuwien.ac.at}
+
+%\gdef\@vornamed{Vorname4}
+%\gdef\@nachnamed{Nachname4}
+%\gdef\@matrikeld{0000000}
+%\gdef\@emaild{d@student.tuwien.ac.at}
+
+\gdef\@aufgabe{zu Aufgabe 1}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% titlepage
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\maketitle{
+\begin{titlepage}
+
+% enlarge page
+\setlength{\topmargin}{0pt}
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{0pt}
+\setlength{\footskip}{0pt}
+
+\let\footnotesize\small \let\footnoterule\relax \setcounter{page}{1}
+\null
+\vfill
+\large
+\vskip -4 cm 
+
+\begin{center}
+% heading
+{\LARGE\bf \@headline \par} \vskip 2cm
+
+\vskip 1cm
+
+% title
+{\Huge\bf\underline \@title \par} 
+\vskip 1cm
+%{\Large \bf \@aufgabe \par}
+\vskip 4cm
+
+\begin{flushright}
+Gruppe \@groupnr \par
+% authors
+\@vornamea \  \@nachnamea, Matr. Nr. \@matrikela \par
+{\small \@emaila \par}
+\@vornameb \  \@nachnameb, Matr. Nr. \@matrikelb \par
+{\small \@emailb \par}
+\@vornamec \  \@nachnamec, Matr. Nr. \@matrikelc \par
+{\small \@emailc \par}
+%\@vornamed \  \@nachnamed, Matr. Nr. \@matrikeld \par
+%{\small \@emaild \par}
+
+%\@authora \par
+%\@authorb \par
+%\@authorc \par
+%\@authord \par
+\vskip 1cm
+Wien, am~\today{}
+\end{flushright}
+\end{center} \par
+\vskip 1.5cm 
+
+\end{titlepage}
+
+\setcounter{footnote}{0} 
+\let\thanks\relax
+} % \def\maketitle
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newenvironment{Ventry}[1]%
+{\begin{list}{}{\renewcommand{\makelabel}[1]{\textbf{##1:}\hfill}%
+\settowidth{\labelwidth}{\textbf{#1:}}%
+\setlength{\leftmargin}{\labelwidth}%
+\addtolength{\leftmargin}{\labelsep}}}%
+{\end{list}}
+
+\newcommand{\tablesize}{\fontsize{8}{10}\selectfont}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% layout of non-title pages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\pagenumbering{roman}
+\setlength{\parskip}{5pt plus2pt minus2pt}
+
+\setlength{\parskip}{1mm}
+\clearpage
+\setlength{\parskip}{5pt plus2pt minus2pt}
+
+\pagestyle{fancy}
+\renewcommand{\chaptermark}[1]{\markboth{\thechapter\ #1}{}}
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}{}}
+\addtolength{\headheight}{2pt}
+
+\pagenumbering{arabic}
+\setcounter{page} {1}
diff --git a/bsp3/Protokolle/DigitalDesign_prot.tex b/bsp3/Protokolle/DigitalDesign_prot.tex
new file mode 100644 (file)
index 0000000..acbdaed
--- /dev/null
@@ -0,0 +1,36 @@
+
+\documentclass[12pt,a4paper,titlepage,oneside]{report}
+
+
+\usepackage{DigitalDesign_prot}
+\sloppy
+
+
+\begin{document}
+% create titlepage
+\maketitle
+
+% tables and lists
+%\tableofcontents
+%\newpage
+%\listoffigures
+%\newpage
+%\listoftables
+%\newpage
+
+% chapters
+\input{chapter1}
+\input{chapter2}
+\input{chapter3}
+\input{chapter4}
+
+% appendices
+%\appendix
+%\input{app1}
+
+% bibliography
+%\bibliographystyle{alpha}
+%\nocite{*}
+%\bibliography{DigitalDesign}
+
+\end{document}
diff --git a/bsp3/Protokolle/chapter1.tex b/bsp3/Protokolle/chapter1.tex
new file mode 100644 (file)
index 0000000..27f796e
--- /dev/null
@@ -0,0 +1,10 @@
+\chapter{Logikanalysator}
+
+
+\begin{itemize}
+\item Frequenz HSYNC =  Hz
+\item Frequenz VSYNC =  Hz
+\item Farbe Pixel = (r,g,b)
+\item Farbe Hintergrund = (r,g,b)
+\item x-Koordinate = 
+\end{itemize}
diff --git a/bsp3/Protokolle/chapter2.tex b/bsp3/Protokolle/chapter2.tex
new file mode 100644 (file)
index 0000000..a8ddc1a
--- /dev/null
@@ -0,0 +1,6 @@
+\chapter{Design-Flow}
+
+\begin{itemize}
+\item Blinkfrequenz =  Hz
+\end{itemize}
+
diff --git a/bsp3/Protokolle/chapter3.tex b/bsp3/Protokolle/chapter3.tex
new file mode 100644 (file)
index 0000000..c6bbec2
--- /dev/null
@@ -0,0 +1 @@
+\chapter{VHDL}
diff --git a/bsp3/Protokolle/chapter4.tex b/bsp3/Protokolle/chapter4.tex
new file mode 100644 (file)
index 0000000..4b1b7cc
--- /dev/null
@@ -0,0 +1,13 @@
+\chapter{Simulation und Test}
+
+\begin{itemize}
+\item File Syntaxfehler: 
+\item Zeilennummer Syntaxfehler: 
+
+\item File Semantikfehler 1: 
+\item Zeilennummer Semantikfehler 1: 
+
+\item File Semantikfehler 2: 
+\item Zeilennummer Semantikfehler 2: 
+\end{itemize}
+
diff --git a/bsp3/Protokolle/prot_1.txt b/bsp3/Protokolle/prot_1.txt
new file mode 100644 (file)
index 0000000..91a8a82
--- /dev/null
@@ -0,0 +1,6 @@
+
+Frequenz HSYNC = ___ ___ Hz 
+Frequenz VSYNC = ___ ___ Hz
+Farbe Pixel = (r,g,b)
+Farbe Hintergrund = (r,g,b)
+x-Koordinate = ___ ___
diff --git a/bsp3/Protokolle/prot_2.txt b/bsp3/Protokolle/prot_2.txt
new file mode 100644 (file)
index 0000000..da24c18
--- /dev/null
@@ -0,0 +1 @@
+blinker_max = ___ ___
diff --git a/bsp3/Protokolle/prot_4.txt b/bsp3/Protokolle/prot_4.txt
new file mode 100644 (file)
index 0000000..d45603d
--- /dev/null
@@ -0,0 +1,9 @@
+File Syntaxfehler: ___ ___
+Zeilennummer Syntaxfehler: ___ ___
+
+File Semantikfehler 1: ___ ___
+Zeilennummer Semantikfehler 1: ___ ___
+
+File Semantikfehler 2: ___ ___
+Zeilennummer Semantikfehler 2: ___ ___
+
diff --git a/bsp4/Angabe/board_driver_arc.vhd b/bsp4/Angabe/board_driver_arc.vhd
new file mode 100644 (file)
index 0000000..7636a37
--- /dev/null
@@ -0,0 +1,102 @@
+-------------------------------------------------------------------------------\r
+-- Title      : board_driver architecture\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : board_driver.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-12-15\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: display number on 7-segment display\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-12-15  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;\r
+\r
+-------------------------------------------------------------------------------\r
+-- ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
+\r
+\r
+architecture behav of board_driver is\r
+\r
+  attribute syn_preserve          : boolean;\r
+  attribute syn_preserve of behav : architecture is true;\r
+\r
+\r
+  signal   display_value  : std_logic_vector(2*BCD_WIDTH-1 downto 0);\r
+  signal   ten_value      : std_logic_vector(BCD_WIDTH-1 downto 0);\r
+  signal   one_value      : std_logic_vector(BCD_WIDTH-1 downto 0);\r
+  signal   digit_left     : std_logic_vector(SEG_WIDTH-1 downto 0);\r
+  signal   digit_right    : std_logic_vector(SEG_WIDTH-1 downto 0);\r
+\r
+begin\r
+\r
+  -----------------------------------------------------------------------------\r
+  -- generate control data\r
+  -----------------------------------------------------------------------------\r
+\r
+\r
+  display_value <= "00000001";                                 -- vector of two BCD coded numbers to be displayed\r
+  one_value <= display_value(BCD_WIDTH-1 downto 0);            -- BCD number to be displayed in right digit\r
+  ten_value <= display_value(2*BCD_WIDTH-1 downto BCD_WIDTH);  -- BCD number to be displayed in left digit\r
+\r
+\r
+  SEG_DATA: process(reset, one_value, ten_value)\r
+  begin\r
+    if (reset = RES_ACT) then                     -- upon reset\r
+      digit_left  <= DIGIT_OFF;                   -- ... switch off display\r
+      digit_right <= DIGIT_OFF;\r
+    else                                          -- during operation\r
+      case one_value is                           -- ...display "one" position according\r
+        when "0000" => digit_right <= DIGIT_ZERO; -- ...to translation table\r
+        when "0001" => digit_right <= DIGIT_ONE;\r
+        when "0010" => digit_right <= DIGIT_TWO;\r
+        when "0011" => digit_right <= DIGIT_THREE;\r
+        when "0100" => digit_right <= DIGIT_FOUR;\r
+        when "0101" => digit_right <= DIGIT_FIVE;\r
+        when "0110" => digit_right <= DIGIT_SIX;\r
+        when "0111" => digit_right <= DIGIT_SEVEN;\r
+        when "1000" => digit_right <= DIGIT_EIGHT;\r
+        when "1001" => digit_right <= DIGIT_NINE;\r
+        when others => digit_right <= DIGIT_F;    -- use "F" as overflow\r
+      end case;\r
+\r
+      case ten_value is                           -- same for "ten" position\r
+        when "0000" => digit_left <= DIGIT_ZERO;\r
+        when "0001" => digit_left <= DIGIT_ONE;\r
+        when "0010" => digit_left <= DIGIT_TWO;\r
+        when "0011" => digit_left <= DIGIT_THREE;\r
+        when "0100" => digit_left <= DIGIT_FOUR;\r
+        when "0101" => digit_left <= DIGIT_FIVE;\r
+        when "0110" => digit_left <= DIGIT_SIX;\r
+        when "0111" => digit_left <= DIGIT_SEVEN;\r
+        when "1000" => digit_left <= DIGIT_EIGHT;\r
+        when "1001" => digit_left <= DIGIT_NINE;\r
+        when others => digit_left <= DIGIT_F;\r
+      end case;\r
+    end if;\r
+  end process;\r
+\r
+\r
+-- combine the two digits to one bus\r
+  seven_seg(SEG_WIDTH-1 downto 0)  <= digit_right;\r
+  seven_seg(2*SEG_WIDTH-1 downto SEG_WIDTH) <= digit_left;\r
+  \r
+end behav;\r
diff --git a/bsp4/Angabe/board_driver_ent.vhd b/bsp4/Angabe/board_driver_ent.vhd
new file mode 100644 (file)
index 0000000..17e5cf7
--- /dev/null
@@ -0,0 +1,42 @@
+-------------------------------------------------------------------------------\r
+-- Title      : board_driver entity\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : board_driver_ent.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-12-15\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: display number on 7-segment display\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-12-15  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;\r
+\r
+-------------------------------------------------------------------------------\r
+-- ENTITY\r
+-------------------------------------------------------------------------------\r
+\r
+entity board_driver is\r
+  \r
+  port (\r
+        reset      : in  std_logic;\r
+        seven_seg  : out std_logic_vector(2*SEG_WIDTH-1 downto 0)\r
+        );                       \r
+end board_driver;\r
diff --git a/bsp4/Angabe/dide_16_4.txt b/bsp4/Angabe/dide_16_4.txt
new file mode 100644 (file)
index 0000000..36d5855
--- /dev/null
@@ -0,0 +1,3 @@
+Blinkfrequenz: 12 Hz
+Farbe 1: (r,g,b) = (0,0,0)
+Farbe 2: (r,g,b) = (0,0,1)
diff --git a/bsp4/Angabe/vga.hex b/bsp4/Angabe/vga.hex
new file mode 100644 (file)
index 0000000..b3c05bd
--- /dev/null
@@ -0,0 +1,4097 @@
+:010000001ce3\r
+:010001001ce2\r
+:010002001ce1\r
+:010003001ce0\r
+:010004001cdf\r
+:010005001cde\r
+:010006001cdd\r
+:010007001cdc\r
+:010008001cdb\r
+:010009001cda\r
+:01000a001cd9\r
+:01000b001cd8\r
+:01000c001cd7\r
+:01000d001cd6\r
+:01000e001cd5\r
+:01000f001cd4\r
+:010010001cd3\r
+:010011001cd2\r
+:010012001cd1\r
+:010013001cd0\r
+:010014001ccf\r
+:010015001cce\r
+:010016001ccd\r
+:010017001ccc\r
+:010018001ccb\r
+:010019001cca\r
+:01001a001cc9\r
+:01001b001cc8\r
+:01001c001cc7\r
+:01001d001cc6\r
+:01001e001cc5\r
+:01001f001cc4\r
+:010020001cc3\r
+:010021001cc2\r
+:010022001cc1\r
+:010023001cc0\r
+:010024001cbf\r
+:010025001cbe\r
+:010026001cbd\r
+:010027001cbc\r
+:010028001cbb\r
+:010029001cba\r
+:01002a001cb9\r
+:01002b001cb8\r
+:01002c001cb7\r
+:01002d001cb6\r
+:01002e001cb5\r
+:01002f001cb4\r
+:010030001cb3\r
+:010031001cb2\r
+:010032001cb1\r
+:010033001cb0\r
+:010034001caf\r
+:010035001cae\r
+:010036001cad\r
+:010037001cac\r
+:010038001cab\r
+:010039001caa\r
+:01003a001ca9\r
+:01003b001ca8\r
+:01003c001ca7\r
+:01003d001ca6\r
+:01003e001ca5\r
+:01003f001ca4\r
+:0100400003bc\r
+:0100410000be\r
+:0100420000bd\r
+:0100430000bc\r
+:0100440000bb\r
+:0100450000ba\r
+:0100460000b9\r
+:0100470000b8\r
+:0100480000b7\r
+:0100490000b6\r
+:01004a0000b5\r
+:01004b0000b4\r
+:01004c0000b3\r
+:01004d0000b2\r
+:01004e0000b1\r
+:01004f0000b0\r
+:0100500000af\r
+:0100510000ae\r
+:0100520000ad\r
+:0100530000ac\r
+:0100540000ab\r
+:0100550000aa\r
+:0100560000a9\r
+:0100570000a8\r
+:0100580000a7\r
+:0100590000a6\r
+:01005a0000a5\r
+:01005b0000a4\r
+:01005c0000a3\r
+:01005d0000a2\r
+:01005e0000a1\r
+:01005f0000a0\r
+:01006000009f\r
+:01006100009e\r
+:01006200009d\r
+:01006300009c\r
+:01006400009b\r
+:01006500009a\r
+:010066000099\r
+:010067000098\r
+:010068000097\r
+:010069000096\r
+:01006a000095\r
+:01006b000094\r
+:01006c000093\r
+:01006d000092\r
+:01006e000091\r
+:01006f000090\r
+:01007000008f\r
+:01007100008e\r
+:01007200008d\r
+:01007300008c\r
+:01007400008b\r
+:01007500008a\r
+:010076000089\r
+:010077000088\r
+:010078000087\r
+:010079000086\r
+:01007a000085\r
+:01007b000084\r
+:01007c000083\r
+:01007d000082\r
+:01007e000081\r
+:01007f0090f0\r
+:01008000037c\r
+:01008100007e\r
+:01008200007d\r
+:01008300007c\r
+:01008400007b\r
+:01008500007a\r
+:010086000079\r
+:010087000078\r
+:010088000077\r
+:010089000076\r
+:01008a000075\r
+:01008b000074\r
+:01008c000073\r
+:01008d000072\r
+:01008e000071\r
+:01008f000070\r
+:01009000006f\r
+:01009100006e\r
+:01009200006d\r
+:01009300006c\r
+:01009400006b\r
+:01009500006a\r
+:010096000069\r
+:010097000068\r
+:010098000067\r
+:010099000066\r
+:01009a000065\r
+:01009b000064\r
+:01009c000063\r
+:01009d000062\r
+:01009e000061\r
+:01009f000060\r
+:0100a000005f\r
+:0100a100005e\r
+:0100a200005d\r
+:0100a300005c\r
+:0100a400005b\r
+:0100a500005a\r
+:0100a6000059\r
+:0100a7000058\r
+:0100a8000057\r
+:0100a9000056\r
+:0100aa000055\r
+:0100ab000054\r
+:0100ac000053\r
+:0100ad000052\r
+:0100ae000051\r
+:0100af000050\r
+:0100b000004f\r
+:0100b100004e\r
+:0100b200004d\r
+:0100b300004c\r
+:0100b400004b\r
+:0100b500004a\r
+:0100b6000049\r
+:0100b7000048\r
+:0100b8000047\r
+:0100b9000046\r
+:0100ba000045\r
+:0100bb000044\r
+:0100bc000043\r
+:0100bd000042\r
+:0100be000041\r
+:0100bf0090b0\r
+:0100c000033c\r
+:0100c100003e\r
+:0100c200003d\r
+:0100c300003c\r
+:0100c400003b\r
+:0100c500003a\r
+:0100c6000039\r
+:0100c7000038\r
+:0100c8000037\r
+:0100c9000036\r
+:0100ca000035\r
+:0100cb000034\r
+:0100cc000033\r
+:0100cd000032\r
+:0100ce000031\r
+:0100cf000030\r
+:0100d000002f\r
+:0100d100002e\r
+:0100d200002d\r
+:0100d300002c\r
+:0100d400002b\r
+:0100d500002a\r
+:0100d6000029\r
+:0100d7000028\r
+:0100d8000027\r
+:0100d9000026\r
+:0100da000025\r
+:0100db000024\r
+:0100dc000023\r
+:0100dd000022\r
+:0100de000021\r
+:0100df000020\r
+:0100e000001f\r
+:0100e100001e\r
+:0100e200001d\r
+:0100e300001c\r
+:0100e400001b\r
+:0100e500001a\r
+:0100e6000019\r
+:0100e7000018\r
+:0100e8000017\r
+:0100e9000016\r
+:0100ea000015\r
+:0100eb000014\r
+:0100ec000013\r
+:0100ed000012\r
+:0100ee000011\r
+:0100ef000010\r
+:0100f000000f\r
+:0100f100000e\r
+:0100f200000d\r
+:0100f300000c\r
+:0100f400000b\r
+:0100f500000a\r
+:0100f6000009\r
+:0100f7000008\r
+:0100f8000007\r
+:0100f9000006\r
+:0100fa000005\r
+:0100fb000004\r
+:0100fc000003\r
+:0100fd000002\r
+:0100fe000001\r
+:0100ff009070\r
+:0101000003fb\r
+:0101010000fd\r
+:0101020000fc\r
+:0101030000fb\r
+:0101040000fa\r
+:0101050000f9\r
+:0101060000f8\r
+:0101070000f7\r
+:0101080000f6\r
+:0101090000f5\r
+:01010a0000f4\r
+:01010b0000f3\r
+:01010c0000f2\r
+:01010d0000f1\r
+:01010e0000f0\r
+:01010f0000ef\r
+:0101100000ee\r
+:0101110000ed\r
+:0101120000ec\r
+:0101130000eb\r
+:0101140000ea\r
+:0101150000e9\r
+:0101160000e8\r
+:0101170000e7\r
+:0101180000e6\r
+:0101190000e5\r
+:01011a0000e4\r
+:01011b0000e3\r
+:01011c0000e2\r
+:01011d0000e1\r
+:01011e0000e0\r
+:01011f0000df\r
+:0101200000de\r
+:0101210000dd\r
+:0101220000dc\r
+:0101230000db\r
+:0101240000da\r
+:0101250000d9\r
+:0101260000d8\r
+:0101270000d7\r
+:0101280000d6\r
+:0101290000d5\r
+:01012a0000d4\r
+:01012b0000d3\r
+:01012c0000d2\r
+:01012d0000d1\r
+:01012e0000d0\r
+:01012f0000cf\r
+:0101300000ce\r
+:0101310000cd\r
+:0101320000cc\r
+:0101330000cb\r
+:0101340000ca\r
+:0101350000c9\r
+:0101360000c8\r
+:0101370000c7\r
+:0101380000c6\r
+:0101390000c5\r
+:01013a0000c4\r
+:01013b0000c3\r
+:01013c0000c2\r
+:01013d0000c1\r
+:01013e0000c0\r
+:01013f00902f\r
+:0101400003bb\r
+:0101410000bd\r
+:0101420000bc\r
+:0101430000bb\r
+:0101440000ba\r
+:0101450000b9\r
+:0101460000b8\r
+:0101470000b7\r
+:0101480000b6\r
+:0101490000b5\r
+:01014a0000b4\r
+:01014b0000b3\r
+:01014c0000b2\r
+:01014d0000b1\r
+:01014e0000b0\r
+:01014f0000af\r
+:0101500000ae\r
+:0101510000ad\r
+:0101520000ac\r
+:0101530000ab\r
+:0101540000aa\r
+:0101550000a9\r
+:0101560000a8\r
+:0101570000a7\r
+:0101580000a6\r
+:0101590000a5\r
+:01015a0000a4\r
+:01015b0000a3\r
+:01015c0000a2\r
+:01015d0000a1\r
+:01015e0000a0\r
+:01015f00009f\r
+:01016000009e\r
+:01016100009d\r
+:01016200009c\r
+:01016300009b\r
+:01016400009a\r
+:010165000099\r
+:010166000098\r
+:010167000097\r
+:010168000096\r
+:010169000095\r
+:01016a000094\r
+:01016b000093\r
+:01016c000092\r
+:01016d000091\r
+:01016e000090\r
+:01016f00008f\r
+:01017000008e\r
+:01017100008d\r
+:01017200008c\r
+:01017300008b\r
+:01017400008a\r
+:010175000089\r
+:010176000088\r
+:010177000087\r
+:010178000086\r
+:010179000085\r
+:01017a000084\r
+:01017b000083\r
+:01017c000082\r
+:01017d000081\r
+:01017e000080\r
+:01017f0090ef\r
+:01018000037b\r
+:01018100007d\r
+:01018200007c\r
+:01018300007b\r
+:01018400007a\r
+:010185000079\r
+:010186000078\r
+:010187000077\r
+:010188000076\r
+:010189000075\r
+:01018a000074\r
+:01018b000073\r
+:01018c000072\r
+:01018d000071\r
+:01018e000070\r
+:01018f00006f\r
+:01019000006e\r
+:01019100006d\r
+:01019200006c\r
+:01019300006b\r
+:01019400006a\r
+:010195000069\r
+:010196000068\r
+:010197000067\r
+:010198000066\r
+:010199000065\r
+:01019a000064\r
+:01019b000063\r
+:01019c000062\r
+:01019d000061\r
+:01019e000060\r
+:01019f00005f\r
+:0101a000005e\r
+:0101a100005d\r
+:0101a200005c\r
+:0101a300005b\r
+:0101a400005a\r
+:0101a5000059\r
+:0101a6000058\r
+:0101a7000057\r
+:0101a8000056\r
+:0101a9000055\r
+:0101aa000054\r
+:0101ab000053\r
+:0101ac000052\r
+:0101ad000051\r
+:0101ae000050\r
+:0101af00004f\r
+:0101b000004e\r
+:0101b100004d\r
+:0101b200004c\r
+:0101b300004b\r
+:0101b400004a\r
+:0101b5000049\r
+:0101b6000048\r
+:0101b7000047\r
+:0101b8000046\r
+:0101b9000045\r
+:0101ba000044\r
+:0101bb000043\r
+:0101bc000042\r
+:0101bd000041\r
+:0101be000040\r
+:0101bf0090af\r
+:0101c000033b\r
+:0101c100003d\r
+:0101c200003c\r
+:0101c300003b\r
+:0101c400003a\r
+:0101c5000039\r
+:0101c6000038\r
+:0101c7000037\r
+:0101c8000036\r
+:0101c9000035\r
+:0101ca000034\r
+:0101cb000033\r
+:0101cc000032\r
+:0101cd000031\r
+:0101ce000030\r
+:0101cf00002f\r
+:0101d000002e\r
+:0101d100002d\r
+:0101d200002c\r
+:0101d300002b\r
+:0101d400002a\r
+:0101d5000029\r
+:0101d6000028\r
+:0101d7000027\r
+:0101d8000026\r
+:0101d9000025\r
+:0101da000024\r
+:0101db000023\r
+:0101dc000022\r
+:0101dd000021\r
+:0101de000020\r
+:0101df00001f\r
+:0101e000001e\r
+:0101e100001d\r
+:0101e200001c\r
+:0101e300001b\r
+:0101e400001a\r
+:0101e5000019\r
+:0101e6000018\r
+:0101e7000017\r
+:0101e8000016\r
+:0101e9000015\r
+:0101ea000014\r
+:0101eb000013\r
+:0101ec000012\r
+:0101ed000011\r
+:0101ee000010\r
+:0101ef00000f\r
+:0101f000000e\r
+:0101f100000d\r
+:0101f200000c\r
+:0101f300000b\r
+:0101f400000a\r
+:0101f5000009\r
+:0101f6000008\r
+:0101f7000007\r
+:0101f8000006\r
+:0101f9000005\r
+:0101fa000004\r
+:0101fb000003\r
+:0101fc000002\r
+:0101fd000001\r
+:0101fe000000\r
+:0101ff00906f\r
+:0102000003fa\r
+:0102010000fc\r
+:0102020000fb\r
+:0102030000fa\r
+:0102040000f9\r
+:0102050000f8\r
+:0102060000f7\r
+:0102070000f6\r
+:0102080000f5\r
+:0102090000f4\r
+:01020a0000f3\r
+:01020b0000f2\r
+:01020c0000f1\r
+:01020d0000f0\r
+:01020e0000ef\r
+:01020f0000ee\r
+:0102100000ed\r
+:0102110000ec\r
+:0102120000eb\r
+:0102130000ea\r
+:0102140000e9\r
+:0102150000e8\r
+:0102160000e7\r
+:0102170000e6\r
+:0102180000e5\r
+:0102190000e4\r
+:01021a0000e3\r
+:01021b0000e2\r
+:01021c0000e1\r
+:01021d0000e0\r
+:01021e0000df\r
+:01021f0000de\r
+:0102200000dd\r
+:0102210000dc\r
+:0102220000db\r
+:0102230000da\r
+:0102240000d9\r
+:0102250000d8\r
+:0102260000d7\r
+:0102270000d6\r
+:0102280000d5\r
+:0102290000d4\r
+:01022a0000d3\r
+:01022b0000d2\r
+:01022c0000d1\r
+:01022d0000d0\r
+:01022e0000cf\r
+:01022f0000ce\r
+:0102300000cd\r
+:0102310000cc\r
+:0102320000cb\r
+:0102330000ca\r
+:0102340000c9\r
+:0102350000c8\r
+:0102360000c7\r
+:0102370000c6\r
+:0102380000c5\r
+:0102390000c4\r
+:01023a0000c3\r
+:01023b0000c2\r
+:01023c0000c1\r
+:01023d0000c0\r
+:01023e0000bf\r
+:01023f00902e\r
+:0102400003ba\r
+:0102410000bc\r
+:0102420000bb\r
+:0102430000ba\r
+:0102440000b9\r
+:0102450000b8\r
+:0102460000b7\r
+:0102470000b6\r
+:0102480000b5\r
+:0102490000b4\r
+:01024a0000b3\r
+:01024b0000b2\r
+:01024c0000b1\r
+:01024d0000b0\r
+:01024e0000af\r
+:01024f0000ae\r
+:0102500000ad\r
+:0102510000ac\r
+:0102520000ab\r
+:0102530000aa\r
+:0102540000a9\r
+:0102550000a8\r
+:0102560000a7\r
+:0102570000a6\r
+:0102580000a5\r
+:0102590000a4\r
+:01025a0000a3\r
+:01025b0000a2\r
+:01025c0000a1\r
+:01025d0000a0\r
+:01025e00009f\r
+:01025f00009e\r
+:01026000009d\r
+:01026100009c\r
+:01026200009b\r
+:01026300009a\r
+:010264000099\r
+:010265000098\r
+:010266000097\r
+:010267000096\r
+:010268000095\r
+:010269000094\r
+:01026a000093\r
+:01026b000092\r
+:01026c000091\r
+:01026d000090\r
+:01026e00008f\r
+:01026f00008e\r
+:01027000008d\r
+:01027100008c\r
+:01027200008b\r
+:01027300008a\r
+:010274000089\r
+:010275000088\r
+:010276000087\r
+:010277000086\r
+:010278000085\r
+:010279000084\r
+:01027a000083\r
+:01027b000082\r
+:01027c000081\r
+:01027d000080\r
+:01027e00007f\r
+:01027f0090ee\r
+:01028000037a\r
+:01028100007c\r
+:01028200007b\r
+:01028300007a\r
+:010284000079\r
+:010285000078\r
+:010286000077\r
+:010287000076\r
+:010288000075\r
+:010289000074\r
+:01028a000073\r
+:01028b000072\r
+:01028c000071\r
+:01028d000070\r
+:01028e00006f\r
+:01028f00006e\r
+:01029000006d\r
+:01029100006c\r
+:01029200006b\r
+:01029300006a\r
+:010294000069\r
+:010295000068\r
+:010296000067\r
+:010297000066\r
+:010298000065\r
+:010299000064\r
+:01029a000063\r
+:01029b000062\r
+:01029c000061\r
+:01029d000060\r
+:01029e00005f\r
+:01029f00005e\r
+:0102a000005d\r
+:0102a100005c\r
+:0102a200005b\r
+:0102a300005a\r
+:0102a4000059\r
+:0102a5000058\r
+:0102a6000057\r
+:0102a7000056\r
+:0102a8000055\r
+:0102a9000054\r
+:0102aa000053\r
+:0102ab000052\r
+:0102ac000051\r
+:0102ad000050\r
+:0102ae00004f\r
+:0102af00004e\r
+:0102b000004d\r
+:0102b100004c\r
+:0102b200004b\r
+:0102b300004a\r
+:0102b4000049\r
+:0102b5000048\r
+:0102b6000047\r
+:0102b7000046\r
+:0102b8000045\r
+:0102b9000044\r
+:0102ba000043\r
+:0102bb000042\r
+:0102bc000041\r
+:0102bd000040\r
+:0102be00003f\r
+:0102bf0090ae\r
+:0102c000033a\r
+:0102c100003c\r
+:0102c200003b\r
+:0102c300003a\r
+:0102c4000039\r
+:0102c5000038\r
+:0102c6000037\r
+:0102c7000036\r
+:0102c8000035\r
+:0102c9000034\r
+:0102ca000033\r
+:0102cb000032\r
+:0102cc000031\r
+:0102cd000030\r
+:0102ce00002f\r
+:0102cf00002e\r
+:0102d000002d\r
+:0102d100002c\r
+:0102d200002b\r
+:0102d300002a\r
+:0102d4000029\r
+:0102d5000028\r
+:0102d6000027\r
+:0102d7000026\r
+:0102d8000025\r
+:0102d9000024\r
+:0102da000023\r
+:0102db000022\r
+:0102dc000021\r
+:0102dd000020\r
+:0102de00001f\r
+:0102df00001e\r
+:0102e000001d\r
+:0102e100001c\r
+:0102e200001b\r
+:0102e300001a\r
+:0102e4000019\r
+:0102e5000018\r
+:0102e6000017\r
+:0102e7000016\r
+:0102e8000015\r
+:0102e9000014\r
+:0102ea000013\r
+:0102eb000012\r
+:0102ec000011\r
+:0102ed000010\r
+:0102ee00000f\r
+:0102ef00000e\r
+:0102f000000d\r
+:0102f100000c\r
+:0102f200000b\r
+:0102f300000a\r
+:0102f4000009\r
+:0102f5000008\r
+:0102f6000007\r
+:0102f7000006\r
+:0102f8000005\r
+:0102f9000004\r
+:0102fa000003\r
+:0102fb000002\r
+:0102fc000001\r
+:0102fd000000\r
+:0102fe0000ff\r
+:0102ff00906e\r
+:0103000003f9\r
+:0103010000fb\r
+:0103020000fa\r
+:0103030000f9\r
+:0103040000f8\r
+:0103050000f7\r
+:0103060000f6\r
+:0103070000f5\r
+:0103080000f4\r
+:0103090000f3\r
+:01030a0000f2\r
+:01030b0000f1\r
+:01030c0000f0\r
+:01030d0000ef\r
+:01030e0000ee\r
+:01030f0000ed\r
+:0103100000ec\r
+:0103110000eb\r
+:0103120000ea\r
+:0103130000e9\r
+:0103140000e8\r
+:0103150000e7\r
+:0103160000e6\r
+:0103170000e5\r
+:0103180000e4\r
+:0103190000e3\r
+:01031a0000e2\r
+:01031b0000e1\r
+:01031c0000e0\r
+:01031d0000df\r
+:01031e0000de\r
+:01031f0000dd\r
+:0103200000dc\r
+:0103210000db\r
+:0103220000da\r
+:0103230000d9\r
+:0103240000d8\r
+:0103250000d7\r
+:0103260000d6\r
+:0103270000d5\r
+:0103280000d4\r
+:0103290000d3\r
+:01032a0000d2\r
+:01032b0000d1\r
+:01032c0000d0\r
+:01032d0000cf\r
+:01032e0000ce\r
+:01032f0000cd\r
+:0103300000cc\r
+:0103310000cb\r
+:0103320000ca\r
+:0103330000c9\r
+:0103340000c8\r
+:0103350000c7\r
+:0103360000c6\r
+:0103370000c5\r
+:0103380000c4\r
+:0103390000c3\r
+:01033a0000c2\r
+:01033b0000c1\r
+:01033c0000c0\r
+:01033d0000bf\r
+:01033e0000be\r
+:01033f00902d\r
+:0103400003b9\r
+:0103410000bb\r
+:0103420000ba\r
+:0103430000b9\r
+:0103440000b8\r
+:0103450000b7\r
+:0103460000b6\r
+:0103470000b5\r
+:0103480000b4\r
+:0103490000b3\r
+:01034a0000b2\r
+:01034b0000b1\r
+:01034c0000b0\r
+:01034d0000af\r
+:01034e0000ae\r
+:01034f0000ad\r
+:0103500000ac\r
+:0103510000ab\r
+:0103520000aa\r
+:0103530000a9\r
+:0103540000a8\r
+:0103550000a7\r
+:0103560000a6\r
+:0103570000a5\r
+:0103580000a4\r
+:0103590000a3\r
+:01035a0000a2\r
+:01035b0000a1\r
+:01035c0000a0\r
+:01035d00009f\r
+:01035e00009e\r
+:01035f00009d\r
+:01036000009c\r
+:01036100009b\r
+:01036200009a\r
+:010363000099\r
+:010364000098\r
+:010365000097\r
+:010366000096\r
+:010367000095\r
+:010368000094\r
+:010369000093\r
+:01036a000092\r
+:01036b000091\r
+:01036c000090\r
+:01036d00008f\r
+:01036e00008e\r
+:01036f00008d\r
+:01037000008c\r
+:01037100008b\r
+:01037200008a\r
+:010373000089\r
+:010374000088\r
+:010375000087\r
+:010376000086\r
+:010377000085\r
+:010378000084\r
+:010379000083\r
+:01037a000082\r
+:01037b000081\r
+:01037c000080\r
+:01037d00007f\r
+:01037e00007e\r
+:01037f0090ed\r
+:010380000379\r
+:01038100007b\r
+:01038200007a\r
+:010383000079\r
+:010384000078\r
+:010385000077\r
+:010386000076\r
+:010387000075\r
+:010388000074\r
+:010389000073\r
+:01038a000072\r
+:01038b000071\r
+:01038c000070\r
+:01038d00006f\r
+:01038e00006e\r
+:01038f00006d\r
+:01039000006c\r
+:01039100006b\r
+:01039200006a\r
+:010393000069\r
+:010394000068\r
+:010395000067\r
+:010396000066\r
+:010397000065\r
+:010398000064\r
+:010399000063\r
+:01039a000062\r
+:01039b000061\r
+:01039c000060\r
+:01039d00005f\r
+:01039e00005e\r
+:01039f00005d\r
+:0103a000005c\r
+:0103a100005b\r
+:0103a200005a\r
+:0103a3000059\r
+:0103a4000058\r
+:0103a5000057\r
+:0103a6000056\r
+:0103a7000055\r
+:0103a8000054\r
+:0103a9000053\r
+:0103aa000052\r
+:0103ab000051\r
+:0103ac000050\r
+:0103ad00004f\r
+:0103ae00004e\r
+:0103af00004d\r
+:0103b000004c\r
+:0103b100004b\r
+:0103b200004a\r
+:0103b3000049\r
+:0103b4000048\r
+:0103b5000047\r
+:0103b6000046\r
+:0103b7000045\r
+:0103b8000044\r
+:0103b9000043\r
+:0103ba000042\r
+:0103bb000041\r
+:0103bc000040\r
+:0103bd00003f\r
+:0103be00003e\r
+:0103bf0090ad\r
+:0103c0000339\r
+:0103c100003b\r
+:0103c200003a\r
+:0103c3000039\r
+:0103c4000038\r
+:0103c5000037\r
+:0103c6000036\r
+:0103c7000035\r
+:0103c8000034\r
+:0103c9000033\r
+:0103ca000032\r
+:0103cb000031\r
+:0103cc000030\r
+:0103cd00002f\r
+:0103ce00002e\r
+:0103cf00002d\r
+:0103d000002c\r
+:0103d100002b\r
+:0103d200002a\r
+:0103d3000029\r
+:0103d4000028\r
+:0103d5000027\r
+:0103d6000026\r
+:0103d7000025\r
+:0103d8000024\r
+:0103d9000023\r
+:0103da000022\r
+:0103db000021\r
+:0103dc000020\r
+:0103dd00001f\r
+:0103de00001e\r
+:0103df00001d\r
+:0103e000001c\r
+:0103e100001b\r
+:0103e200001a\r
+:0103e3000019\r
+:0103e4000018\r
+:0103e5000017\r
+:0103e6000016\r
+:0103e7000015\r
+:0103e8000014\r
+:0103e9000013\r
+:0103ea000012\r
+:0103eb000011\r
+:0103ec000010\r
+:0103ed00000f\r
+:0103ee00000e\r
+:0103ef00000d\r
+:0103f000000c\r
+:0103f100000b\r
+:0103f200000a\r
+:0103f3000009\r
+:0103f4000008\r
+:0103f5000007\r
+:0103f6000006\r
+:0103f7000005\r
+:0103f8000004\r
+:0103f9000003\r
+:0103fa000002\r
+:0103fb000001\r
+:0103fc000000\r
+:0103fd0000ff\r
+:0103fe0000fe\r
+:0103ff00906d\r
+:0104000003f8\r
+:0104010000fa\r
+:0104020000f9\r
+:0104030000f8\r
+:0104040000f7\r
+:0104050000f6\r
+:0104060000f5\r
+:0104070000f4\r
+:0104080000f3\r
+:0104090000f2\r
+:01040a0000f1\r
+:01040b0000f0\r
+:01040c0000ef\r
+:01040d0000ee\r
+:01040e0000ed\r
+:01040f0000ec\r
+:0104100000eb\r
+:0104110000ea\r
+:0104120000e9\r
+:0104130000e8\r
+:0104140000e7\r
+:0104150000e6\r
+:0104160000e5\r
+:0104170000e4\r
+:0104180000e3\r
+:0104190000e2\r
+:01041a0000e1\r
+:01041b0000e0\r
+:01041c0000df\r
+:01041d0000de\r
+:01041e0000dd\r
+:01041f0000dc\r
+:0104200000db\r
+:0104210000da\r
+:0104220000d9\r
+:0104230000d8\r
+:0104240000d7\r
+:0104250000d6\r
+:0104260000d5\r
+:0104270000d4\r
+:0104280000d3\r
+:0104290000d2\r
+:01042a0000d1\r
+:01042b0000d0\r
+:01042c0000cf\r
+:01042d0000ce\r
+:01042e0000cd\r
+:01042f0000cc\r
+:0104300000cb\r
+:0104310000ca\r
+:0104320000c9\r
+:0104330000c8\r
+:0104340000c7\r
+:0104350000c6\r
+:0104360000c5\r
+:0104370000c4\r
+:0104380000c3\r
+:0104390000c2\r
+:01043a0000c1\r
+:01043b0000c0\r
+:01043c0000bf\r
+:01043d0000be\r
+:01043e0000bd\r
+:01043f00902c\r
+:0104400003b8\r
+:0104410000ba\r
+:0104420000b9\r
+:0104430000b8\r
+:0104440000b7\r
+:0104450000b6\r
+:0104460000b5\r
+:0104470000b4\r
+:0104480000b3\r
+:0104490000b2\r
+:01044a0000b1\r
+:01044b0000b0\r
+:01044c0000af\r
+:01044d0000ae\r
+:01044e0000ad\r
+:01044f0000ac\r
+:0104500000ab\r
+:0104510000aa\r
+:0104520000a9\r
+:0104530000a8\r
+:0104540000a7\r
+:0104550000a6\r
+:0104560000a5\r
+:0104570000a4\r
+:0104580000a3\r
+:0104590000a2\r
+:01045a0000a1\r
+:01045b0000a0\r
+:01045c00009f\r
+:01045d00009e\r
+:01045e00009d\r
+:01045f00009c\r
+:01046000009b\r
+:01046100009a\r
+:010462000099\r
+:010463000098\r
+:010464000097\r
+:010465000096\r
+:010466000095\r
+:010467000094\r
+:010468000093\r
+:010469000092\r
+:01046a000091\r
+:01046b000090\r
+:01046c00008f\r
+:01046d00008e\r
+:01046e00008d\r
+:01046f00008c\r
+:01047000008b\r
+:01047100008a\r
+:010472000089\r
+:010473000088\r
+:010474000087\r
+:010475000086\r
+:010476000085\r
+:010477000084\r
+:010478000083\r
+:010479000082\r
+:01047a000081\r
+:01047b000080\r
+:01047c00007f\r
+:01047d00007e\r
+:01047e00007d\r
+:01047f0090ec\r
+:010480000378\r
+:01048100007a\r
+:010482000079\r
+:010483000078\r
+:010484000077\r
+:010485000076\r
+:010486000075\r
+:010487000074\r
+:010488000073\r
+:010489000072\r
+:01048a000071\r
+:01048b000070\r
+:01048c00006f\r
+:01048d00006e\r
+:01048e00006d\r
+:01048f00006c\r
+:01049000006b\r
+:01049100006a\r
+:010492000069\r
+:010493000068\r
+:010494000067\r
+:010495000066\r
+:010496000065\r
+:010497000064\r
+:010498000063\r
+:010499000062\r
+:01049a000061\r
+:01049b000060\r
+:01049c00005f\r
+:01049d00005e\r
+:01049e00005d\r
+:01049f00005c\r
+:0104a000005b\r
+:0104a100005a\r
+:0104a2000059\r
+:0104a3000058\r
+:0104a4000057\r
+:0104a5000056\r
+:0104a6000055\r
+:0104a7000054\r
+:0104a8000053\r
+:0104a9000052\r
+:0104aa000051\r
+:0104ab000050\r
+:0104ac00004f\r
+:0104ad00004e\r
+:0104ae00004d\r
+:0104af00004c\r
+:0104b000004b\r
+:0104b100004a\r
+:0104b2000049\r
+:0104b3000048\r
+:0104b4000047\r
+:0104b5000046\r
+:0104b6000045\r
+:0104b7000044\r
+:0104b8000043\r
+:0104b9000042\r
+:0104ba000041\r
+:0104bb000040\r
+:0104bc00003f\r
+:0104bd00003e\r
+:0104be00003d\r
+:0104bf0090ac\r
+:0104c0000338\r
+:0104c100003a\r
+:0104c2000039\r
+:0104c3000038\r
+:0104c4000037\r
+:0104c5000036\r
+:0104c6000035\r
+:0104c7000034\r
+:0104c8000033\r
+:0104c9000032\r
+:0104ca000031\r
+:0104cb000030\r
+:0104cc00002f\r
+:0104cd00002e\r
+:0104ce00002d\r
+:0104cf00002c\r
+:0104d000002b\r
+:0104d100002a\r
+:0104d2000029\r
+:0104d3000028\r
+:0104d4000027\r
+:0104d5000026\r
+:0104d6000025\r
+:0104d7000024\r
+:0104d8000023\r
+:0104d9000022\r
+:0104da000021\r
+:0104db000020\r
+:0104dc00001f\r
+:0104dd00001e\r
+:0104de00001d\r
+:0104df00001c\r
+:0104e000001b\r
+:0104e100001a\r
+:0104e2000019\r
+:0104e3000018\r
+:0104e4000017\r
+:0104e5000016\r
+:0104e6000015\r
+:0104e7000014\r
+:0104e8000013\r
+:0104e9000012\r
+:0104ea000011\r
+:0104eb000010\r
+:0104ec00000f\r
+:0104ed00000e\r
+:0104ee00000d\r
+:0104ef00000c\r
+:0104f000000b\r
+:0104f100000a\r
+:0104f2000009\r
+:0104f3000008\r
+:0104f4000007\r
+:0104f5000006\r
+:0104f6000005\r
+:0104f7000004\r
+:0104f8000003\r
+:0104f9000002\r
+:0104fa000001\r
+:0104fb000000\r
+:0104fc0000ff\r
+:0104fd0000fe\r
+:0104fe0000fd\r
+:0104ff00906c\r
+:0105000003f7\r
+:0105010000f9\r
+:0105020000f8\r
+:0105030000f7\r
+:0105040000f6\r
+:0105050000f5\r
+:0105060000f4\r
+:0105070000f3\r
+:0105080000f2\r
+:0105090000f1\r
+:01050a0000f0\r
+:01050b0000ef\r
+:01050c0000ee\r
+:01050d0000ed\r
+:01050e0000ec\r
+:01050f0000eb\r
+:0105100000ea\r
+:0105110000e9\r
+:0105120000e8\r
+:0105130000e7\r
+:0105140000e6\r
+:0105150000e5\r
+:0105160000e4\r
+:0105170000e3\r
+:0105180000e2\r
+:0105190000e1\r
+:01051a0000e0\r
+:01051b0000df\r
+:01051c0000de\r
+:01051d0000dd\r
+:01051e0000dc\r
+:01051f0000db\r
+:0105200000da\r
+:0105210000d9\r
+:0105220000d8\r
+:0105230000d7\r
+:0105240000d6\r
+:0105250000d5\r
+:0105260000d4\r
+:0105270000d3\r
+:0105280000d2\r
+:0105290000d1\r
+:01052a0000d0\r
+:01052b0000cf\r
+:01052c0000ce\r
+:01052d0000cd\r
+:01052e0000cc\r
+:01052f0000cb\r
+:0105300000ca\r
+:0105310000c9\r
+:0105320000c8\r
+:0105330000c7\r
+:0105340000c6\r
+:0105350000c5\r
+:0105360000c4\r
+:0105370000c3\r
+:0105380000c2\r
+:0105390000c1\r
+:01053a0000c0\r
+:01053b0000bf\r
+:01053c0000be\r
+:01053d0000bd\r
+:01053e0000bc\r
+:01053f00902b\r
+:0105400003b7\r
+:0105410000b9\r
+:0105420000b8\r
+:0105430000b7\r
+:0105440000b6\r
+:0105450000b5\r
+:0105460000b4\r
+:0105470000b3\r
+:0105480000b2\r
+:0105490000b1\r
+:01054a0000b0\r
+:01054b0000af\r
+:01054c0000ae\r
+:01054d0000ad\r
+:01054e0000ac\r
+:01054f0000ab\r
+:0105500000aa\r
+:0105510000a9\r
+:0105520000a8\r
+:0105530000a7\r
+:0105540000a6\r
+:0105550000a5\r
+:0105560000a4\r
+:0105570000a3\r
+:0105580000a2\r
+:0105590000a1\r
+:01055a0000a0\r
+:01055b00009f\r
+:01055c00009e\r
+:01055d00009d\r
+:01055e00009c\r
+:01055f00009b\r
+:01056000009a\r
+:010561000099\r
+:010562000098\r
+:010563000097\r
+:010564000096\r
+:010565000095\r
+:010566000094\r
+:010567000093\r
+:010568000092\r
+:010569000091\r
+:01056a000090\r
+:01056b00008f\r
+:01056c00008e\r
+:01056d00008d\r
+:01056e00008c\r
+:01056f00008b\r
+:01057000008a\r
+:010571000089\r
+:010572000088\r
+:010573000087\r
+:010574000086\r
+:010575000085\r
+:010576000084\r
+:010577000083\r
+:010578000082\r
+:010579000081\r
+:01057a000080\r
+:01057b00007f\r
+:01057c00007e\r
+:01057d00007d\r
+:01057e00007c\r
+:01057f0090eb\r
+:010580000377\r
+:010581000079\r
+:010582000078\r
+:010583000077\r
+:010584000076\r
+:010585000075\r
+:010586000074\r
+:010587000073\r
+:010588000072\r
+:010589000071\r
+:01058a000070\r
+:01058b00006f\r
+:01058c00006e\r
+:01058d00006d\r
+:01058e00006c\r
+:01058f00006b\r
+:01059000006a\r
+:010591000069\r
+:010592000068\r
+:010593000067\r
+:010594000066\r
+:010595000065\r
+:010596000064\r
+:010597000063\r
+:010598000062\r
+:010599000061\r
+:01059a000060\r
+:01059b00005f\r
+:01059c00005e\r
+:01059d00005d\r
+:01059e00005c\r
+:01059f00005b\r
+:0105a000005a\r
+:0105a1000059\r
+:0105a2000058\r
+:0105a3000057\r
+:0105a4000056\r
+:0105a5000055\r
+:0105a6000054\r
+:0105a7000053\r
+:0105a8000052\r
+:0105a9000051\r
+:0105aa000050\r
+:0105ab00004f\r
+:0105ac00004e\r
+:0105ad00004d\r
+:0105ae00004c\r
+:0105af00004b\r
+:0105b000004a\r
+:0105b1000049\r
+:0105b2000048\r
+:0105b3000047\r
+:0105b4000046\r
+:0105b5000045\r
+:0105b6000044\r
+:0105b7000043\r
+:0105b8000042\r
+:0105b9000041\r
+:0105ba000040\r
+:0105bb00003f\r
+:0105bc00003e\r
+:0105bd00003d\r
+:0105be00003c\r
+:0105bf0090ab\r
+:0105c0000337\r
+:0105c1000039\r
+:0105c2000038\r
+:0105c3000037\r
+:0105c4000036\r
+:0105c5000035\r
+:0105c6000034\r
+:0105c7000033\r
+:0105c8000032\r
+:0105c9000031\r
+:0105ca000030\r
+:0105cb00002f\r
+:0105cc00002e\r
+:0105cd00002d\r
+:0105ce00002c\r
+:0105cf00002b\r
+:0105d000002a\r
+:0105d1000029\r
+:0105d2000028\r
+:0105d3000027\r
+:0105d4000026\r
+:0105d5000025\r
+:0105d6000024\r
+:0105d7000023\r
+:0105d8000022\r
+:0105d9000021\r
+:0105da000020\r
+:0105db00001f\r
+:0105dc00001e\r
+:0105dd00001d\r
+:0105de00001c\r
+:0105df00001b\r
+:0105e000001a\r
+:0105e1000019\r
+:0105e2000018\r
+:0105e3000017\r
+:0105e4000016\r
+:0105e5000015\r
+:0105e6000014\r
+:0105e7000013\r
+:0105e8000012\r
+:0105e9000011\r
+:0105ea000010\r
+:0105eb00000f\r
+:0105ec00000e\r
+:0105ed00000d\r
+:0105ee00000c\r
+:0105ef00000b\r
+:0105f000000a\r
+:0105f1000009\r
+:0105f2000008\r
+:0105f3000007\r
+:0105f4000006\r
+:0105f5000005\r
+:0105f6000004\r
+:0105f7000003\r
+:0105f8000002\r
+:0105f9000001\r
+:0105fa000000\r
+:0105fb0000ff\r
+:0105fc0000fe\r
+:0105fd0000fd\r
+:0105fe0000fc\r
+:0105ff00906b\r
+:0106000003f6\r
+:0106010000f8\r
+:0106020000f7\r
+:0106030000f6\r
+:0106040000f5\r
+:0106050000f4\r
+:0106060000f3\r
+:0106070000f2\r
+:0106080000f1\r
+:0106090000f0\r
+:01060a0000ef\r
+:01060b0000ee\r
+:01060c0000ed\r
+:01060d0000ec\r
+:01060e0000eb\r
+:01060f0000ea\r
+:0106100000e9\r
+:0106110000e8\r
+:0106120000e7\r
+:0106130000e6\r
+:0106140000e5\r
+:0106150000e4\r
+:0106160000e3\r
+:0106170000e2\r
+:0106180000e1\r
+:0106190000e0\r
+:01061a0000df\r
+:01061b0000de\r
+:01061c0000dd\r
+:01061d0000dc\r
+:01061e0000db\r
+:01061f0000da\r
+:0106200000d9\r
+:0106210000d8\r
+:0106220000d7\r
+:0106230000d6\r
+:0106240000d5\r
+:0106250000d4\r
+:0106260000d3\r
+:0106270000d2\r
+:0106280000d1\r
+:0106290000d0\r
+:01062a0000cf\r
+:01062b0000ce\r
+:01062c0000cd\r
+:01062d0000cc\r
+:01062e0000cb\r
+:01062f0000ca\r
+:0106300000c9\r
+:0106310000c8\r
+:0106320000c7\r
+:0106330000c6\r
+:0106340000c5\r
+:0106350000c4\r
+:0106360000c3\r
+:0106370000c2\r
+:0106380000c1\r
+:0106390000c0\r
+:01063a0000bf\r
+:01063b0000be\r
+:01063c0000bd\r
+:01063d0000bc\r
+:01063e0000bb\r
+:01063f00902a\r
+:0106400003b6\r
+:0106410000b8\r
+:0106420000b7\r
+:0106430000b6\r
+:0106440000b5\r
+:0106450000b4\r
+:0106460000b3\r
+:0106470000b2\r
+:0106480000b1\r
+:0106490000b0\r
+:01064a0000af\r
+:01064b0000ae\r
+:01064c0000ad\r
+:01064d0000ac\r
+:01064e0000ab\r
+:01064f0000aa\r
+:0106500000a9\r
+:0106510000a8\r
+:0106520000a7\r
+:0106530000a6\r
+:0106540000a5\r
+:0106550000a4\r
+:0106560000a3\r
+:0106570000a2\r
+:0106580000a1\r
+:0106590000a0\r
+:01065a00009f\r
+:01065b00009e\r
+:01065c00009d\r
+:01065d00009c\r
+:01065e00009b\r
+:01065f00009a\r
+:010660000099\r
+:010661000098\r
+:010662000097\r
+:010663000096\r
+:010664000095\r
+:010665000094\r
+:010666000093\r
+:010667000092\r
+:010668000091\r
+:010669000090\r
+:01066a00008f\r
+:01066b00008e\r
+:01066c00008d\r
+:01066d00008c\r
+:01066e00008b\r
+:01066f00008a\r
+:010670000089\r
+:010671000088\r
+:010672000087\r
+:010673000086\r
+:010674000085\r
+:010675000084\r
+:010676000083\r
+:010677000082\r
+:010678000081\r
+:010679000080\r
+:01067a00007f\r
+:01067b00007e\r
+:01067c00007d\r
+:01067d00007c\r
+:01067e00007b\r
+:01067f0090ea\r
+:010680000376\r
+:010681000078\r
+:010682000077\r
+:010683000076\r
+:010684000075\r
+:010685000074\r
+:010686000073\r
+:010687000072\r
+:010688000071\r
+:010689000070\r
+:01068a00006f\r
+:01068b00006e\r
+:01068c00006d\r
+:01068d00006c\r
+:01068e00006b\r
+:01068f00006a\r
+:010690000069\r
+:010691000068\r
+:010692000067\r
+:010693000066\r
+:010694000065\r
+:010695000064\r
+:010696000063\r
+:010697000062\r
+:010698000061\r
+:010699000060\r
+:01069a00005f\r
+:01069b00005e\r
+:01069c00005d\r
+:01069d00005c\r
+:01069e00005b\r
+:01069f00005a\r
+:0106a0000059\r
+:0106a1000058\r
+:0106a2000057\r
+:0106a3000056\r
+:0106a4000055\r
+:0106a5000054\r
+:0106a6000053\r
+:0106a7000052\r
+:0106a8000051\r
+:0106a9000050\r
+:0106aa00004f\r
+:0106ab00004e\r
+:0106ac00004d\r
+:0106ad00004c\r
+:0106ae00004b\r
+:0106af00004a\r
+:0106b0000049\r
+:0106b1000048\r
+:0106b2000047\r
+:0106b3000046\r
+:0106b4000045\r
+:0106b5000044\r
+:0106b6000043\r
+:0106b7000042\r
+:0106b8000041\r
+:0106b9000040\r
+:0106ba00003f\r
+:0106bb00003e\r
+:0106bc00003d\r
+:0106bd00003c\r
+:0106be00003b\r
+:0106bf0090aa\r
+:0106c0000336\r
+:0106c1000038\r
+:0106c2000037\r
+:0106c3000036\r
+:0106c4000035\r
+:0106c5000034\r
+:0106c6000033\r
+:0106c7000032\r
+:0106c8000031\r
+:0106c9000030\r
+:0106ca00002f\r
+:0106cb00002e\r
+:0106cc00002d\r
+:0106cd00002c\r
+:0106ce00002b\r
+:0106cf00002a\r
+:0106d0000029\r
+:0106d1000028\r
+:0106d2000027\r
+:0106d3000026\r
+:0106d4000025\r
+:0106d5000024\r
+:0106d6000023\r
+:0106d7000022\r
+:0106d8000021\r
+:0106d9000020\r
+:0106da00001f\r
+:0106db00001e\r
+:0106dc00001d\r
+:0106dd00001c\r
+:0106de00001b\r
+:0106df00001a\r
+:0106e0000019\r
+:0106e1000018\r
+:0106e2000017\r
+:0106e3000016\r
+:0106e4000015\r
+:0106e5000014\r
+:0106e6000013\r
+:0106e7000012\r
+:0106e8000011\r
+:0106e9000010\r
+:0106ea00000f\r
+:0106eb00000e\r
+:0106ec00000d\r
+:0106ed00000c\r
+:0106ee00000b\r
+:0106ef00000a\r
+:0106f0000009\r
+:0106f1000008\r
+:0106f2000007\r
+:0106f3000006\r
+:0106f4000005\r
+:0106f5000004\r
+:0106f6000003\r
+:0106f7000002\r
+:0106f8000001\r
+:0106f9000000\r
+:0106fa0000ff\r
+:0106fb0000fe\r
+:0106fc0000fd\r
+:0106fd0000fc\r
+:0106fe0000fb\r
+:0106ff00906a\r
+:0107000003f5\r
+:0107010000f7\r
+:0107020000f6\r
+:0107030000f5\r
+:0107040000f4\r
+:0107050000f3\r
+:0107060000f2\r
+:0107070000f1\r
+:0107080000f0\r
+:0107090000ef\r
+:01070a0000ee\r
+:01070b0000ed\r
+:01070c0000ec\r
+:01070d0000eb\r
+:01070e0000ea\r
+:01070f0000e9\r
+:0107100000e8\r
+:0107110000e7\r
+:0107120000e6\r
+:0107130000e5\r
+:0107140000e4\r
+:0107150000e3\r
+:0107160000e2\r
+:0107170000e1\r
+:0107180000e0\r
+:0107190000df\r
+:01071a0000de\r
+:01071b0000dd\r
+:01071c0000dc\r
+:01071d0000db\r
+:01071e0000da\r
+:01071f0000d9\r
+:0107200000d8\r
+:0107210000d7\r
+:0107220000d6\r
+:0107230000d5\r
+:0107240000d4\r
+:0107250000d3\r
+:0107260000d2\r
+:0107270000d1\r
+:0107280000d0\r
+:0107290000cf\r
+:01072a0000ce\r
+:01072b0000cd\r
+:01072c0000cc\r
+:01072d0000cb\r
+:01072e0000ca\r
+:01072f0000c9\r
+:0107300000c8\r
+:0107310000c7\r
+:0107320000c6\r
+:0107330000c5\r
+:0107340000c4\r
+:0107350000c3\r
+:0107360000c2\r
+:0107370000c1\r
+:0107380000c0\r
+:0107390000bf\r
+:01073a0000be\r
+:01073b0000bd\r
+:01073c0000bc\r
+:01073d0000bb\r
+:01073e0000ba\r
+:01073f009029\r
+:0107400003b5\r
+:0107410000b7\r
+:0107420000b6\r
+:0107430000b5\r
+:0107440000b4\r
+:0107450000b3\r
+:0107460000b2\r
+:0107470000b1\r
+:0107480000b0\r
+:0107490000af\r
+:01074a0000ae\r
+:01074b0000ad\r
+:01074c0000ac\r
+:01074d0000ab\r
+:01074e0000aa\r
+:01074f0000a9\r
+:0107500000a8\r
+:0107510000a7\r
+:0107520000a6\r
+:0107530000a5\r
+:0107540000a4\r
+:0107550000a3\r
+:0107560000a2\r
+:0107570000a1\r
+:0107580000a0\r
+:01075900009f\r
+:01075a00009e\r
+:01075b00009d\r
+:01075c00009c\r
+:01075d00009b\r
+:01075e00009a\r
+:01075f000099\r
+:010760000098\r
+:010761000097\r
+:010762000096\r
+:010763000095\r
+:010764000094\r
+:010765000093\r
+:010766000092\r
+:010767000091\r
+:010768000090\r
+:01076900008f\r
+:01076a00008e\r
+:01076b00008d\r
+:01076c00008c\r
+:01076d00008b\r
+:01076e00008a\r
+:01076f000089\r
+:010770000088\r
+:010771000087\r
+:010772000086\r
+:010773000085\r
+:010774000084\r
+:010775000083\r
+:010776000082\r
+:010777000081\r
+:010778000080\r
+:01077900007f\r
+:01077a00007e\r
+:01077b00007d\r
+:01077c00007c\r
+:01077d00007b\r
+:01077e00007a\r
+:01077f0090e9\r
+:010780000375\r
+:010781000077\r
+:010782000076\r
+:010783000075\r
+:010784000074\r
+:010785000073\r
+:010786000072\r
+:010787000071\r
+:010788000070\r
+:01078900006f\r
+:01078a00006e\r
+:01078b00006d\r
+:01078c00006c\r
+:01078d00006b\r
+:01078e00006a\r
+:01078f000069\r
+:010790000068\r
+:010791000067\r
+:010792000066\r
+:010793000065\r
+:010794000064\r
+:010795000063\r
+:010796000062\r
+:010797000061\r
+:010798000060\r
+:01079900005f\r
+:01079a00005e\r
+:01079b00005d\r
+:01079c00005c\r
+:01079d00005b\r
+:01079e00005a\r
+:01079f000059\r
+:0107a0000058\r
+:0107a1000057\r
+:0107a2000056\r
+:0107a3000055\r
+:0107a4000054\r
+:0107a5000053\r
+:0107a6000052\r
+:0107a7000051\r
+:0107a8000050\r
+:0107a900004f\r
+:0107aa00004e\r
+:0107ab00004d\r
+:0107ac00004c\r
+:0107ad00004b\r
+:0107ae00004a\r
+:0107af000049\r
+:0107b0000048\r
+:0107b1000047\r
+:0107b2000046\r
+:0107b3000045\r
+:0107b4000044\r
+:0107b5000043\r
+:0107b6000042\r
+:0107b7000041\r
+:0107b8000040\r
+:0107b900003f\r
+:0107ba00003e\r
+:0107bb00003d\r
+:0107bc00003c\r
+:0107bd00003b\r
+:0107be00003a\r
+:0107bf0090a9\r
+:0107c0000335\r
+:0107c1000037\r
+:0107c2000036\r
+:0107c3000035\r
+:0107c4000034\r
+:0107c5000033\r
+:0107c6000032\r
+:0107c7000031\r
+:0107c8000030\r
+:0107c900002f\r
+:0107ca00002e\r
+:0107cb00002d\r
+:0107cc00002c\r
+:0107cd00002b\r
+:0107ce00002a\r
+:0107cf000029\r
+:0107d0000028\r
+:0107d1000027\r
+:0107d2000026\r
+:0107d3000025\r
+:0107d4000024\r
+:0107d5000023\r
+:0107d6000022\r
+:0107d7000021\r
+:0107d8000020\r
+:0107d900001f\r
+:0107da00001e\r
+:0107db00001d\r
+:0107dc00001c\r
+:0107dd00001b\r
+:0107de00001a\r
+:0107df000019\r
+:0107e0000018\r
+:0107e1000017\r
+:0107e2000016\r
+:0107e3000015\r
+:0107e4000014\r
+:0107e5000013\r
+:0107e6000012\r
+:0107e7000011\r
+:0107e8000010\r
+:0107e900000f\r
+:0107ea00000e\r
+:0107eb00000d\r
+:0107ec00000c\r
+:0107ed00000b\r
+:0107ee00000a\r
+:0107ef000009\r
+:0107f0000008\r
+:0107f1000007\r
+:0107f2000006\r
+:0107f3000005\r
+:0107f4000004\r
+:0107f5000003\r
+:0107f6000002\r
+:0107f7000001\r
+:0107f8000000\r
+:0107f90000ff\r
+:0107fa0000fe\r
+:0107fb0000fd\r
+:0107fc0000fc\r
+:0107fd0000fb\r
+:0107fe0000fa\r
+:0107ff009069\r
+:0108000003f4\r
+:0108010000f6\r
+:0108020000f5\r
+:0108030000f4\r
+:0108040000f3\r
+:0108050000f2\r
+:0108060000f1\r
+:0108070000f0\r
+:0108080000ef\r
+:0108090000ee\r
+:01080a0000ed\r
+:01080b0000ec\r
+:01080c0000eb\r
+:01080d0000ea\r
+:01080e0000e9\r
+:01080f0000e8\r
+:0108100000e7\r
+:0108110000e6\r
+:0108120000e5\r
+:0108130000e4\r
+:0108140000e3\r
+:0108150000e2\r
+:0108160000e1\r
+:0108170000e0\r
+:0108180000df\r
+:0108190000de\r
+:01081a0000dd\r
+:01081b0000dc\r
+:01081c0000db\r
+:01081d0000da\r
+:01081e0000d9\r
+:01081f0000d8\r
+:0108200000d7\r
+:0108210000d6\r
+:0108220000d5\r
+:0108230000d4\r
+:0108240000d3\r
+:0108250000d2\r
+:0108260000d1\r
+:0108270000d0\r
+:0108280000cf\r
+:0108290000ce\r
+:01082a0000cd\r
+:01082b0000cc\r
+:01082c0000cb\r
+:01082d0000ca\r
+:01082e0000c9\r
+:01082f0000c8\r
+:0108300000c7\r
+:0108310000c6\r
+:0108320000c5\r
+:0108330000c4\r
+:0108340000c3\r
+:0108350000c2\r
+:0108360000c1\r
+:0108370000c0\r
+:0108380000bf\r
+:0108390000be\r
+:01083a0000bd\r
+:01083b0000bc\r
+:01083c0000bb\r
+:01083d0000ba\r
+:01083e0000b9\r
+:01083f009028\r
+:0108400003b4\r
+:0108410000b6\r
+:0108420000b5\r
+:0108430000b4\r
+:0108440000b3\r
+:0108450000b2\r
+:0108460000b1\r
+:0108470000b0\r
+:0108480000af\r
+:0108490000ae\r
+:01084a0000ad\r
+:01084b0000ac\r
+:01084c0000ab\r
+:01084d0000aa\r
+:01084e0000a9\r
+:01084f0000a8\r
+:0108500000a7\r
+:0108510000a6\r
+:0108520000a5\r
+:0108530000a4\r
+:0108540000a3\r
+:0108550000a2\r
+:0108560000a1\r
+:0108570000a0\r
+:01085800009f\r
+:01085900009e\r
+:01085a00009d\r
+:01085b00009c\r
+:01085c00009b\r
+:01085d00009a\r
+:01085e000099\r
+:01085f000098\r
+:010860000097\r
+:010861000096\r
+:010862000095\r
+:010863000094\r
+:010864000093\r
+:010865000092\r
+:010866000091\r
+:010867000090\r
+:01086800008f\r
+:01086900008e\r
+:01086a00008d\r
+:01086b00008c\r
+:01086c00008b\r
+:01086d00008a\r
+:01086e000089\r
+:01086f000088\r
+:010870000087\r
+:010871000086\r
+:010872000085\r
+:010873000084\r
+:010874000083\r
+:010875000082\r
+:010876000081\r
+:010877000080\r
+:01087800007f\r
+:01087900007e\r
+:01087a00007d\r
+:01087b00007c\r
+:01087c00007b\r
+:01087d00007a\r
+:01087e000079\r
+:01087f0090e8\r
+:010880000374\r
+:010881000076\r
+:010882000075\r
+:010883000074\r
+:010884000073\r
+:010885000072\r
+:010886000071\r
+:010887000070\r
+:01088800006f\r
+:01088900006e\r
+:01088a00006d\r
+:01088b00006c\r
+:01088c00006b\r
+:01088d00006a\r
+:01088e000069\r
+:01088f000068\r
+:010890000067\r
+:010891000066\r
+:010892000065\r
+:010893000064\r
+:010894000063\r
+:010895000062\r
+:010896000061\r
+:010897000060\r
+:01089800005f\r
+:01089900005e\r
+:01089a00005d\r
+:01089b00005c\r
+:01089c00005b\r
+:01089d00005a\r
+:01089e000059\r
+:01089f000058\r
+:0108a0000057\r
+:0108a1000056\r
+:0108a2000055\r
+:0108a3000054\r
+:0108a4000053\r
+:0108a5000052\r
+:0108a6000051\r
+:0108a7000050\r
+:0108a800004f\r
+:0108a900004e\r
+:0108aa00004d\r
+:0108ab00004c\r
+:0108ac00004b\r
+:0108ad00004a\r
+:0108ae000049\r
+:0108af000048\r
+:0108b0000047\r
+:0108b1000046\r
+:0108b2000045\r
+:0108b3000044\r
+:0108b4000043\r
+:0108b5000042\r
+:0108b6000041\r
+:0108b7000040\r
+:0108b800003f\r
+:0108b900003e\r
+:0108ba00003d\r
+:0108bb00003c\r
+:0108bc00003b\r
+:0108bd00003a\r
+:0108be000039\r
+:0108bf0090a8\r
+:0108c0000334\r
+:0108c1000036\r
+:0108c2000035\r
+:0108c3000034\r
+:0108c4000033\r
+:0108c5000032\r
+:0108c6000031\r
+:0108c7000030\r
+:0108c800002f\r
+:0108c900002e\r
+:0108ca00002d\r
+:0108cb00002c\r
+:0108cc00002b\r
+:0108cd00002a\r
+:0108ce000029\r
+:0108cf000028\r
+:0108d0000027\r
+:0108d1000026\r
+:0108d2000025\r
+:0108d3000024\r
+:0108d4000023\r
+:0108d5000022\r
+:0108d6000021\r
+:0108d7000020\r
+:0108d800001f\r
+:0108d900001e\r
+:0108da00001d\r
+:0108db00001c\r
+:0108dc00001b\r
+:0108dd00001a\r
+:0108de000019\r
+:0108df000018\r
+:0108e0000017\r
+:0108e1000016\r
+:0108e2000015\r
+:0108e3000014\r
+:0108e4000013\r
+:0108e5000012\r
+:0108e6000011\r
+:0108e7000010\r
+:0108e800000f\r
+:0108e900000e\r
+:0108ea00000d\r
+:0108eb00000c\r
+:0108ec00000b\r
+:0108ed00000a\r
+:0108ee000009\r
+:0108ef000008\r
+:0108f0000007\r
+:0108f1000006\r
+:0108f2000005\r
+:0108f3000004\r
+:0108f4000003\r
+:0108f5000002\r
+:0108f6000001\r
+:0108f7000000\r
+:0108f80000ff\r
+:0108f90000fe\r
+:0108fa0000fd\r
+:0108fb0000fc\r
+:0108fc0000fb\r
+:0108fd0000fa\r
+:0108fe0000f9\r
+:0108ff009068\r
+:0109000003f3\r
+:0109010000f5\r
+:0109020000f4\r
+:0109030000f3\r
+:0109040000f2\r
+:0109050000f1\r
+:0109060000f0\r
+:0109070000ef\r
+:0109080000ee\r
+:0109090000ed\r
+:01090a0000ec\r
+:01090b0000eb\r
+:01090c0000ea\r
+:01090d0000e9\r
+:01090e0000e8\r
+:01090f0000e7\r
+:0109100000e6\r
+:0109110000e5\r
+:0109120000e4\r
+:0109130000e3\r
+:0109140000e2\r
+:0109150000e1\r
+:0109160000e0\r
+:0109170000df\r
+:0109180000de\r
+:0109190000dd\r
+:01091a0000dc\r
+:01091b0000db\r
+:01091c0000da\r
+:01091d0000d9\r
+:01091e0000d8\r
+:01091f0000d7\r
+:0109200000d6\r
+:0109210000d5\r
+:0109220000d4\r
+:0109230000d3\r
+:0109240000d2\r
+:0109250000d1\r
+:0109260000d0\r
+:0109270000cf\r
+:0109280000ce\r
+:0109290000cd\r
+:01092a0000cc\r
+:01092b0000cb\r
+:01092c0000ca\r
+:01092d0000c9\r
+:01092e0000c8\r
+:01092f0000c7\r
+:0109300000c6\r
+:0109310000c5\r
+:0109320000c4\r
+:0109330000c3\r
+:0109340000c2\r
+:0109350000c1\r
+:0109360000c0\r
+:0109370000bf\r
+:0109380000be\r
+:0109390000bd\r
+:01093a0000bc\r
+:01093b0000bb\r
+:01093c0000ba\r
+:01093d0000b9\r
+:01093e0000b8\r
+:01093f009027\r
+:0109400003b3\r
+:0109410000b5\r
+:0109420000b4\r
+:0109430000b3\r
+:0109440000b2\r
+:0109450000b1\r
+:0109460000b0\r
+:0109470000af\r
+:0109480000ae\r
+:0109490000ad\r
+:01094a0000ac\r
+:01094b0000ab\r
+:01094c0000aa\r
+:01094d0000a9\r
+:01094e0000a8\r
+:01094f0000a7\r
+:0109500000a6\r
+:0109510000a5\r
+:0109520000a4\r
+:0109530000a3\r
+:0109540000a2\r
+:0109550000a1\r
+:0109560000a0\r
+:01095700009f\r
+:01095800009e\r
+:01095900009d\r
+:01095a00009c\r
+:01095b00009b\r
+:01095c00009a\r
+:01095d000099\r
+:01095e000098\r
+:01095f000097\r
+:010960000096\r
+:010961000095\r
+:010962000094\r
+:010963000093\r
+:010964000092\r
+:010965000091\r
+:010966000090\r
+:01096700008f\r
+:01096800008e\r
+:01096900008d\r
+:01096a00008c\r
+:01096b00008b\r
+:01096c00008a\r
+:01096d000089\r
+:01096e000088\r
+:01096f000087\r
+:010970000086\r
+:010971000085\r
+:010972000084\r
+:010973000083\r
+:010974000082\r
+:010975000081\r
+:010976000080\r
+:01097700007f\r
+:01097800007e\r
+:01097900007d\r
+:01097a00007c\r
+:01097b00007b\r
+:01097c00007a\r
+:01097d000079\r
+:01097e000078\r
+:01097f0090e7\r
+:010980000373\r
+:010981000075\r
+:010982000074\r
+:010983000073\r
+:010984000072\r
+:010985000071\r
+:010986000070\r
+:01098700006f\r
+:01098800006e\r
+:01098900006d\r
+:01098a00006c\r
+:01098b00006b\r
+:01098c00006a\r
+:01098d000069\r
+:01098e000068\r
+:01098f000067\r
+:010990000066\r
+:010991000065\r
+:010992000064\r
+:010993000063\r
+:010994000062\r
+:010995000061\r
+:010996000060\r
+:01099700005f\r
+:01099800005e\r
+:01099900005d\r
+:01099a00005c\r
+:01099b00005b\r
+:01099c00005a\r
+:01099d000059\r
+:01099e000058\r
+:01099f000057\r
+:0109a0000056\r
+:0109a1000055\r
+:0109a2000054\r
+:0109a3000053\r
+:0109a4000052\r
+:0109a5000051\r
+:0109a6000050\r
+:0109a700004f\r
+:0109a800004e\r
+:0109a900004d\r
+:0109aa00004c\r
+:0109ab00004b\r
+:0109ac00004a\r
+:0109ad000049\r
+:0109ae000048\r
+:0109af000047\r
+:0109b0000046\r
+:0109b1000045\r
+:0109b2000044\r
+:0109b3000043\r
+:0109b4000042\r
+:0109b5000041\r
+:0109b6000040\r
+:0109b700003f\r
+:0109b800003e\r
+:0109b900003d\r
+:0109ba00003c\r
+:0109bb00003b\r
+:0109bc00003a\r
+:0109bd000039\r
+:0109be000038\r
+:0109bf0090a7\r
+:0109c0000333\r
+:0109c1000035\r
+:0109c2000034\r
+:0109c3000033\r
+:0109c4000032\r
+:0109c5000031\r
+:0109c6000030\r
+:0109c700002f\r
+:0109c800002e\r
+:0109c900002d\r
+:0109ca00002c\r
+:0109cb00002b\r
+:0109cc00002a\r
+:0109cd000029\r
+:0109ce000028\r
+:0109cf000027\r
+:0109d0000026\r
+:0109d1000025\r
+:0109d2000024\r
+:0109d3000023\r
+:0109d4000022\r
+:0109d5000021\r
+:0109d6000020\r
+:0109d700001f\r
+:0109d800001e\r
+:0109d900001d\r
+:0109da00001c\r
+:0109db00001b\r
+:0109dc00001a\r
+:0109dd000019\r
+:0109de000018\r
+:0109df000017\r
+:0109e0000016\r
+:0109e1000015\r
+:0109e2000014\r
+:0109e3000013\r
+:0109e4000012\r
+:0109e5000011\r
+:0109e6000010\r
+:0109e700000f\r
+:0109e800000e\r
+:0109e900000d\r
+:0109ea00000c\r
+:0109eb00000b\r
+:0109ec00000a\r
+:0109ed000009\r
+:0109ee000008\r
+:0109ef000007\r
+:0109f0000006\r
+:0109f1000005\r
+:0109f2000004\r
+:0109f3000003\r
+:0109f4000002\r
+:0109f5000001\r
+:0109f6000000\r
+:0109f70000ff\r
+:0109f80000fe\r
+:0109f90000fd\r
+:0109fa0000fc\r
+:0109fb0000fb\r
+:0109fc0000fa\r
+:0109fd0000f9\r
+:0109fe0000f8\r
+:0109ff009067\r
+:010a000003f2\r
+:010a010000f4\r
+:010a020000f3\r
+:010a030000f2\r
+:010a040000f1\r
+:010a050000f0\r
+:010a060000ef\r
+:010a070000ee\r
+:010a080000ed\r
+:010a090000ec\r
+:010a0a0000eb\r
+:010a0b0000ea\r
+:010a0c0000e9\r
+:010a0d0000e8\r
+:010a0e0000e7\r
+:010a0f0000e6\r
+:010a100000e5\r
+:010a110000e4\r
+:010a120000e3\r
+:010a130000e2\r
+:010a140000e1\r
+:010a150000e0\r
+:010a160000df\r
+:010a170000de\r
+:010a180000dd\r
+:010a190000dc\r
+:010a1a0000db\r
+:010a1b0000da\r
+:010a1c0000d9\r
+:010a1d0000d8\r
+:010a1e0000d7\r
+:010a1f0000d6\r
+:010a200000d5\r
+:010a210000d4\r
+:010a220000d3\r
+:010a230000d2\r
+:010a240000d1\r
+:010a250000d0\r
+:010a260000cf\r
+:010a270000ce\r
+:010a280000cd\r
+:010a290000cc\r
+:010a2a0000cb\r
+:010a2b0000ca\r
+:010a2c0000c9\r
+:010a2d0000c8\r
+:010a2e0000c7\r
+:010a2f0000c6\r
+:010a300000c5\r
+:010a310000c4\r
+:010a320000c3\r
+:010a330000c2\r
+:010a340000c1\r
+:010a350000c0\r
+:010a360000bf\r
+:010a370000be\r
+:010a380000bd\r
+:010a390000bc\r
+:010a3a0000bb\r
+:010a3b0000ba\r
+:010a3c0000b9\r
+:010a3d0000b8\r
+:010a3e0000b7\r
+:010a3f009026\r
+:010a400003b2\r
+:010a410000b4\r
+:010a420000b3\r
+:010a430000b2\r
+:010a440000b1\r
+:010a450000b0\r
+:010a460000af\r
+:010a470000ae\r
+:010a480000ad\r
+:010a490000ac\r
+:010a4a0000ab\r
+:010a4b0000aa\r
+:010a4c0000a9\r
+:010a4d0000a8\r
+:010a4e0000a7\r
+:010a4f0000a6\r
+:010a500000a5\r
+:010a510000a4\r
+:010a520000a3\r
+:010a530000a2\r
+:010a540000a1\r
+:010a550000a0\r
+:010a5600009f\r
+:010a5700009e\r
+:010a5800009d\r
+:010a5900009c\r
+:010a5a00009b\r
+:010a5b00009a\r
+:010a5c000099\r
+:010a5d000098\r
+:010a5e000097\r
+:010a5f000096\r
+:010a60000095\r
+:010a61000094\r
+:010a62000093\r
+:010a63000092\r
+:010a64000091\r
+:010a65000090\r
+:010a6600008f\r
+:010a6700008e\r
+:010a6800008d\r
+:010a6900008c\r
+:010a6a00008b\r
+:010a6b00008a\r
+:010a6c000089\r
+:010a6d000088\r
+:010a6e000087\r
+:010a6f000086\r
+:010a70000085\r
+:010a71000084\r
+:010a72000083\r
+:010a73000082\r
+:010a74000081\r
+:010a75000080\r
+:010a7600007f\r
+:010a7700007e\r
+:010a7800007d\r
+:010a7900007c\r
+:010a7a00007b\r
+:010a7b00007a\r
+:010a7c000079\r
+:010a7d000078\r
+:010a7e000077\r
+:010a7f0090e6\r
+:010a80000372\r
+:010a81000074\r
+:010a82000073\r
+:010a83000072\r
+:010a84000071\r
+:010a85000070\r
+:010a8600006f\r
+:010a8700006e\r
+:010a8800006d\r
+:010a8900006c\r
+:010a8a00006b\r
+:010a8b00006a\r
+:010a8c000069\r
+:010a8d000068\r
+:010a8e000067\r
+:010a8f000066\r
+:010a90000065\r
+:010a91000064\r
+:010a92000063\r
+:010a93000062\r
+:010a94000061\r
+:010a95000060\r
+:010a9600005f\r
+:010a9700005e\r
+:010a9800005d\r
+:010a9900005c\r
+:010a9a00005b\r
+:010a9b00005a\r
+:010a9c000059\r
+:010a9d000058\r
+:010a9e000057\r
+:010a9f000056\r
+:010aa0000055\r
+:010aa1000054\r
+:010aa2000053\r
+:010aa3000052\r
+:010aa4000051\r
+:010aa5000050\r
+:010aa600004f\r
+:010aa700004e\r
+:010aa800004d\r
+:010aa900004c\r
+:010aaa00004b\r
+:010aab00004a\r
+:010aac000049\r
+:010aad000048\r
+:010aae000047\r
+:010aaf000046\r
+:010ab0000045\r
+:010ab1000044\r
+:010ab2000043\r
+:010ab3000042\r
+:010ab4000041\r
+:010ab5000040\r
+:010ab600003f\r
+:010ab700003e\r
+:010ab800003d\r
+:010ab900003c\r
+:010aba00003b\r
+:010abb00003a\r
+:010abc000039\r
+:010abd000038\r
+:010abe000037\r
+:010abf0090a6\r
+:010ac0000332\r
+:010ac1000034\r
+:010ac2000033\r
+:010ac3000032\r
+:010ac4000031\r
+:010ac5000030\r
+:010ac600002f\r
+:010ac700002e\r
+:010ac800002d\r
+:010ac900002c\r
+:010aca00002b\r
+:010acb00002a\r
+:010acc000029\r
+:010acd000028\r
+:010ace000027\r
+:010acf000026\r
+:010ad0000025\r
+:010ad1000024\r
+:010ad2000023\r
+:010ad3000022\r
+:010ad4000021\r
+:010ad5000020\r
+:010ad600001f\r
+:010ad700001e\r
+:010ad800001d\r
+:010ad900001c\r
+:010ada00001b\r
+:010adb00001a\r
+:010adc000019\r
+:010add000018\r
+:010ade000017\r
+:010adf000016\r
+:010ae0000015\r
+:010ae1000014\r
+:010ae2000013\r
+:010ae3000012\r
+:010ae4000011\r
+:010ae5000010\r
+:010ae600000f\r
+:010ae700000e\r
+:010ae800000d\r
+:010ae900000c\r
+:010aea00000b\r
+:010aeb00000a\r
+:010aec000009\r
+:010aed000008\r
+:010aee000007\r
+:010aef000006\r
+:010af0000005\r
+:010af1000004\r
+:010af2000003\r
+:010af3000002\r
+:010af4000001\r
+:010af5000000\r
+:010af60000ff\r
+:010af70000fe\r
+:010af80000fd\r
+:010af90000fc\r
+:010afa0000fb\r
+:010afb0000fa\r
+:010afc0000f9\r
+:010afd0000f8\r
+:010afe0000f7\r
+:010aff009066\r
+:010b000003f1\r
+:010b010000f3\r
+:010b020000f2\r
+:010b030000f1\r
+:010b040000f0\r
+:010b050000ef\r
+:010b060000ee\r
+:010b070000ed\r
+:010b080000ec\r
+:010b090000eb\r
+:010b0a0000ea\r
+:010b0b0000e9\r
+:010b0c0000e8\r
+:010b0d0000e7\r
+:010b0e0000e6\r
+:010b0f0000e5\r
+:010b100000e4\r
+:010b110000e3\r
+:010b120000e2\r
+:010b130000e1\r
+:010b140000e0\r
+:010b150000df\r
+:010b160000de\r
+:010b170000dd\r
+:010b180000dc\r
+:010b190000db\r
+:010b1a0000da\r
+:010b1b0000d9\r
+:010b1c0000d8\r
+:010b1d0000d7\r
+:010b1e0000d6\r
+:010b1f0000d5\r
+:010b200000d4\r
+:010b210000d3\r
+:010b220000d2\r
+:010b230000d1\r
+:010b240000d0\r
+:010b250000cf\r
+:010b260000ce\r
+:010b270000cd\r
+:010b280000cc\r
+:010b290000cb\r
+:010b2a0000ca\r
+:010b2b0000c9\r
+:010b2c0000c8\r
+:010b2d0000c7\r
+:010b2e0000c6\r
+:010b2f0000c5\r
+:010b300000c4\r
+:010b310000c3\r
+:010b320000c2\r
+:010b330000c1\r
+:010b340000c0\r
+:010b350000bf\r
+:010b360000be\r
+:010b370000bd\r
+:010b380000bc\r
+:010b390000bb\r
+:010b3a0000ba\r
+:010b3b0000b9\r
+:010b3c0000b8\r
+:010b3d0000b7\r
+:010b3e0000b6\r
+:010b3f009025\r
+:010b400003b1\r
+:010b410000b3\r
+:010b420000b2\r
+:010b430000b1\r
+:010b440000b0\r
+:010b450000af\r
+:010b460000ae\r
+:010b470000ad\r
+:010b480000ac\r
+:010b490000ab\r
+:010b4a0000aa\r
+:010b4b0000a9\r
+:010b4c0000a8\r
+:010b4d0000a7\r
+:010b4e0000a6\r
+:010b4f0000a5\r
+:010b500000a4\r
+:010b510000a3\r
+:010b520000a2\r
+:010b530000a1\r
+:010b540000a0\r
+:010b5500009f\r
+:010b5600009e\r
+:010b5700009d\r
+:010b5800009c\r
+:010b5900009b\r
+:010b5a00009a\r
+:010b5b000099\r
+:010b5c000098\r
+:010b5d000097\r
+:010b5e000096\r
+:010b5f000095\r
+:010b60000094\r
+:010b61000093\r
+:010b62000092\r
+:010b63000091\r
+:010b64000090\r
+:010b6500008f\r
+:010b6600008e\r
+:010b6700008d\r
+:010b6800008c\r
+:010b6900008b\r
+:010b6a00008a\r
+:010b6b000089\r
+:010b6c000088\r
+:010b6d000087\r
+:010b6e000086\r
+:010b6f000085\r
+:010b70000084\r
+:010b71000083\r
+:010b72000082\r
+:010b73000081\r
+:010b74000080\r
+:010b7500007f\r
+:010b7600007e\r
+:010b7700007d\r
+:010b7800007c\r
+:010b7900007b\r
+:010b7a00007a\r
+:010b7b000079\r
+:010b7c000078\r
+:010b7d000077\r
+:010b7e000076\r
+:010b7f0090e5\r
+:010b80000371\r
+:010b81000073\r
+:010b82000072\r
+:010b83000071\r
+:010b84000070\r
+:010b8500006f\r
+:010b8600006e\r
+:010b8700006d\r
+:010b8800006c\r
+:010b8900006b\r
+:010b8a00006a\r
+:010b8b000069\r
+:010b8c000068\r
+:010b8d000067\r
+:010b8e000066\r
+:010b8f000065\r
+:010b90000064\r
+:010b91000063\r
+:010b92000062\r
+:010b93000061\r
+:010b94000060\r
+:010b9500005f\r
+:010b9600005e\r
+:010b9700005d\r
+:010b9800005c\r
+:010b9900005b\r
+:010b9a00005a\r
+:010b9b000059\r
+:010b9c000058\r
+:010b9d000057\r
+:010b9e000056\r
+:010b9f000055\r
+:010ba0000054\r
+:010ba1000053\r
+:010ba2000052\r
+:010ba3000051\r
+:010ba4000050\r
+:010ba500004f\r
+:010ba600004e\r
+:010ba700004d\r
+:010ba800004c\r
+:010ba900004b\r
+:010baa00004a\r
+:010bab000049\r
+:010bac000048\r
+:010bad000047\r
+:010bae000046\r
+:010baf000045\r
+:010bb0000044\r
+:010bb1000043\r
+:010bb2000042\r
+:010bb3000041\r
+:010bb4000040\r
+:010bb500003f\r
+:010bb600003e\r
+:010bb700003d\r
+:010bb800003c\r
+:010bb900003b\r
+:010bba00003a\r
+:010bbb000039\r
+:010bbc000038\r
+:010bbd000037\r
+:010bbe000036\r
+:010bbf0090a5\r
+:010bc0000331\r
+:010bc1000033\r
+:010bc2000032\r
+:010bc3000031\r
+:010bc4000030\r
+:010bc500002f\r
+:010bc600002e\r
+:010bc700002d\r
+:010bc800002c\r
+:010bc900002b\r
+:010bca00002a\r
+:010bcb000029\r
+:010bcc000028\r
+:010bcd000027\r
+:010bce000026\r
+:010bcf000025\r
+:010bd0000024\r
+:010bd1000023\r
+:010bd2000022\r
+:010bd3000021\r
+:010bd4000020\r
+:010bd500001f\r
+:010bd600001e\r
+:010bd700001d\r
+:010bd800001c\r
+:010bd900001b\r
+:010bda00001a\r
+:010bdb000019\r
+:010bdc000018\r
+:010bdd000017\r
+:010bde000016\r
+:010bdf000015\r
+:010be0000014\r
+:010be1000013\r
+:010be2000012\r
+:010be3000011\r
+:010be4000010\r
+:010be500000f\r
+:010be600000e\r
+:010be700000d\r
+:010be800000c\r
+:010be900000b\r
+:010bea00000a\r
+:010beb000009\r
+:010bec000008\r
+:010bed000007\r
+:010bee000006\r
+:010bef000005\r
+:010bf0000004\r
+:010bf1000003\r
+:010bf2000002\r
+:010bf3000001\r
+:010bf4000000\r
+:010bf50000ff\r
+:010bf60000fe\r
+:010bf70000fd\r
+:010bf80000fc\r
+:010bf90000fb\r
+:010bfa0000fa\r
+:010bfb0000f9\r
+:010bfc0000f8\r
+:010bfd0000f7\r
+:010bfe0000f6\r
+:010bff009065\r
+:010c000003f0\r
+:010c010000f2\r
+:010c020000f1\r
+:010c030000f0\r
+:010c040000ef\r
+:010c050000ee\r
+:010c060000ed\r
+:010c070000ec\r
+:010c080000eb\r
+:010c090000ea\r
+:010c0a0000e9\r
+:010c0b0000e8\r
+:010c0c0000e7\r
+:010c0d0000e6\r
+:010c0e0000e5\r
+:010c0f0000e4\r
+:010c100000e3\r
+:010c110000e2\r
+:010c120000e1\r
+:010c130000e0\r
+:010c140000df\r
+:010c150000de\r
+:010c160000dd\r
+:010c170000dc\r
+:010c180000db\r
+:010c190000da\r
+:010c1a0000d9\r
+:010c1b0000d8\r
+:010c1c0000d7\r
+:010c1d0000d6\r
+:010c1e0000d5\r
+:010c1f0000d4\r
+:010c200000d3\r
+:010c210000d2\r
+:010c220000d1\r
+:010c230000d0\r
+:010c240000cf\r
+:010c250000ce\r
+:010c260000cd\r
+:010c270000cc\r
+:010c280000cb\r
+:010c290000ca\r
+:010c2a0000c9\r
+:010c2b0000c8\r
+:010c2c0000c7\r
+:010c2d0000c6\r
+:010c2e0000c5\r
+:010c2f0000c4\r
+:010c300000c3\r
+:010c310000c2\r
+:010c320000c1\r
+:010c330000c0\r
+:010c340000bf\r
+:010c350000be\r
+:010c360000bd\r
+:010c370000bc\r
+:010c380000bb\r
+:010c390000ba\r
+:010c3a0000b9\r
+:010c3b0000b8\r
+:010c3c0000b7\r
+:010c3d0000b6\r
+:010c3e0000b5\r
+:010c3f009024\r
+:010c400003b0\r
+:010c410000b2\r
+:010c420000b1\r
+:010c430000b0\r
+:010c440000af\r
+:010c450000ae\r
+:010c460000ad\r
+:010c470000ac\r
+:010c480000ab\r
+:010c490000aa\r
+:010c4a0000a9\r
+:010c4b0000a8\r
+:010c4c0000a7\r
+:010c4d0000a6\r
+:010c4e0000a5\r
+:010c4f0000a4\r
+:010c500000a3\r
+:010c510000a2\r
+:010c520000a1\r
+:010c530000a0\r
+:010c5400009f\r
+:010c5500009e\r
+:010c5600009d\r
+:010c5700009c\r
+:010c5800009b\r
+:010c5900009a\r
+:010c5a000099\r
+:010c5b000098\r
+:010c5c000097\r
+:010c5d000096\r
+:010c5e000095\r
+:010c5f000094\r
+:010c60000093\r
+:010c61000092\r
+:010c62000091\r
+:010c63000090\r
+:010c6400008f\r
+:010c6500008e\r
+:010c6600008d\r
+:010c6700008c\r
+:010c6800008b\r
+:010c6900008a\r
+:010c6a000089\r
+:010c6b000088\r
+:010c6c000087\r
+:010c6d000086\r
+:010c6e000085\r
+:010c6f000084\r
+:010c70000083\r
+:010c71000082\r
+:010c72000081\r
+:010c73000080\r
+:010c7400007f\r
+:010c7500007e\r
+:010c7600007d\r
+:010c7700007c\r
+:010c7800007b\r
+:010c7900007a\r
+:010c7a000079\r
+:010c7b000078\r
+:010c7c000077\r
+:010c7d000076\r
+:010c7e000075\r
+:010c7f0090e4\r
+:010c80000370\r
+:010c81000072\r
+:010c82000071\r
+:010c83000070\r
+:010c8400006f\r
+:010c8500006e\r
+:010c8600006d\r
+:010c8700006c\r
+:010c8800006b\r
+:010c8900006a\r
+:010c8a000069\r
+:010c8b000068\r
+:010c8c000067\r
+:010c8d000066\r
+:010c8e000065\r
+:010c8f000064\r
+:010c90000063\r
+:010c91000062\r
+:010c92000061\r
+:010c93000060\r
+:010c9400005f\r
+:010c9500005e\r
+:010c9600005d\r
+:010c9700005c\r
+:010c9800005b\r
+:010c9900005a\r
+:010c9a000059\r
+:010c9b000058\r
+:010c9c000057\r
+:010c9d000056\r
+:010c9e000055\r
+:010c9f000054\r
+:010ca0000053\r
+:010ca1000052\r
+:010ca2000051\r
+:010ca3000050\r
+:010ca400004f\r
+:010ca500004e\r
+:010ca600004d\r
+:010ca700004c\r
+:010ca800004b\r
+:010ca900004a\r
+:010caa000049\r
+:010cab000048\r
+:010cac000047\r
+:010cad000046\r
+:010cae000045\r
+:010caf000044\r
+:010cb0000043\r
+:010cb1000042\r
+:010cb2000041\r
+:010cb3000040\r
+:010cb400003f\r
+:010cb500003e\r
+:010cb600003d\r
+:010cb700003c\r
+:010cb800003b\r
+:010cb900003a\r
+:010cba000039\r
+:010cbb000038\r
+:010cbc000037\r
+:010cbd000036\r
+:010cbe000035\r
+:010cbf0090a4\r
+:010cc0000330\r
+:010cc1000032\r
+:010cc2000031\r
+:010cc3000030\r
+:010cc400002f\r
+:010cc500002e\r
+:010cc600002d\r
+:010cc700002c\r
+:010cc800002b\r
+:010cc900002a\r
+:010cca000029\r
+:010ccb000028\r
+:010ccc000027\r
+:010ccd000026\r
+:010cce000025\r
+:010ccf000024\r
+:010cd0000023\r
+:010cd1000022\r
+:010cd2000021\r
+:010cd3000020\r
+:010cd400001f\r
+:010cd500001e\r
+:010cd600001d\r
+:010cd700001c\r
+:010cd800001b\r
+:010cd900001a\r
+:010cda000019\r
+:010cdb000018\r
+:010cdc000017\r
+:010cdd000016\r
+:010cde000015\r
+:010cdf000014\r
+:010ce0000013\r
+:010ce1000012\r
+:010ce2000011\r
+:010ce3000010\r
+:010ce400000f\r
+:010ce500000e\r
+:010ce600000d\r
+:010ce700000c\r
+:010ce800000b\r
+:010ce900000a\r
+:010cea000009\r
+:010ceb000008\r
+:010cec000007\r
+:010ced000006\r
+:010cee000005\r
+:010cef000004\r
+:010cf0000003\r
+:010cf1000002\r
+:010cf2000001\r
+:010cf3000000\r
+:010cf40000ff\r
+:010cf50000fe\r
+:010cf60000fd\r
+:010cf70000fc\r
+:010cf80000fb\r
+:010cf90000fa\r
+:010cfa0000f9\r
+:010cfb0000f8\r
+:010cfc0000f7\r
+:010cfd0000f6\r
+:010cfe0000f5\r
+:010cff009064\r
+:010d000003ef\r
+:010d010000f1\r
+:010d020000f0\r
+:010d030000ef\r
+:010d040000ee\r
+:010d050000ed\r
+:010d060000ec\r
+:010d070000eb\r
+:010d080000ea\r
+:010d090000e9\r
+:010d0a0000e8\r
+:010d0b0000e7\r
+:010d0c0000e6\r
+:010d0d0000e5\r
+:010d0e0000e4\r
+:010d0f0000e3\r
+:010d100000e2\r
+:010d110000e1\r
+:010d120000e0\r
+:010d130000df\r
+:010d140000de\r
+:010d150000dd\r
+:010d160000dc\r
+:010d170000db\r
+:010d180000da\r
+:010d190000d9\r
+:010d1a0000d8\r
+:010d1b0000d7\r
+:010d1c0000d6\r
+:010d1d0000d5\r
+:010d1e0000d4\r
+:010d1f0000d3\r
+:010d200000d2\r
+:010d210000d1\r
+:010d220000d0\r
+:010d230000cf\r
+:010d240000ce\r
+:010d250000cd\r
+:010d260000cc\r
+:010d270000cb\r
+:010d280000ca\r
+:010d290000c9\r
+:010d2a0000c8\r
+:010d2b0000c7\r
+:010d2c0000c6\r
+:010d2d0000c5\r
+:010d2e0000c4\r
+:010d2f0000c3\r
+:010d300000c2\r
+:010d310000c1\r
+:010d320000c0\r
+:010d330000bf\r
+:010d340000be\r
+:010d350000bd\r
+:010d360000bc\r
+:010d370000bb\r
+:010d380000ba\r
+:010d390000b9\r
+:010d3a0000b8\r
+:010d3b0000b7\r
+:010d3c0000b6\r
+:010d3d0000b5\r
+:010d3e0000b4\r
+:010d3f009023\r
+:010d400003af\r
+:010d410000b1\r
+:010d420000b0\r
+:010d430000af\r
+:010d440000ae\r
+:010d450000ad\r
+:010d460000ac\r
+:010d470000ab\r
+:010d480000aa\r
+:010d490000a9\r
+:010d4a0000a8\r
+:010d4b0000a7\r
+:010d4c0000a6\r
+:010d4d0000a5\r
+:010d4e0000a4\r
+:010d4f0000a3\r
+:010d500000a2\r
+:010d510000a1\r
+:010d520000a0\r
+:010d5300009f\r
+:010d5400009e\r
+:010d5500009d\r
+:010d5600009c\r
+:010d5700009b\r
+:010d5800009a\r
+:010d59000099\r
+:010d5a000098\r
+:010d5b000097\r
+:010d5c000096\r
+:010d5d000095\r
+:010d5e000094\r
+:010d5f000093\r
+:010d60000092\r
+:010d61000091\r
+:010d62000090\r
+:010d6300008f\r
+:010d6400008e\r
+:010d6500008d\r
+:010d6600008c\r
+:010d6700008b\r
+:010d6800008a\r
+:010d69000089\r
+:010d6a000088\r
+:010d6b000087\r
+:010d6c000086\r
+:010d6d000085\r
+:010d6e000084\r
+:010d6f000083\r
+:010d70000082\r
+:010d71000081\r
+:010d72000080\r
+:010d7300007f\r
+:010d7400007e\r
+:010d7500007d\r
+:010d7600007c\r
+:010d7700007b\r
+:010d7800007a\r
+:010d79000079\r
+:010d7a000078\r
+:010d7b000077\r
+:010d7c000076\r
+:010d7d000075\r
+:010d7e000074\r
+:010d7f0090e3\r
+:010d8000036f\r
+:010d81000071\r
+:010d82000070\r
+:010d8300006f\r
+:010d8400006e\r
+:010d8500006d\r
+:010d8600006c\r
+:010d8700006b\r
+:010d8800006a\r
+:010d89000069\r
+:010d8a000068\r
+:010d8b000067\r
+:010d8c000066\r
+:010d8d000065\r
+:010d8e000064\r
+:010d8f000063\r
+:010d90000062\r
+:010d91000061\r
+:010d92000060\r
+:010d9300005f\r
+:010d9400005e\r
+:010d9500005d\r
+:010d9600005c\r
+:010d9700005b\r
+:010d9800005a\r
+:010d99000059\r
+:010d9a000058\r
+:010d9b000057\r
+:010d9c000056\r
+:010d9d000055\r
+:010d9e000054\r
+:010d9f000053\r
+:010da0000052\r
+:010da1000051\r
+:010da2000050\r
+:010da300004f\r
+:010da400004e\r
+:010da500004d\r
+:010da600004c\r
+:010da700004b\r
+:010da800004a\r
+:010da9000049\r
+:010daa000048\r
+:010dab000047\r
+:010dac000046\r
+:010dad000045\r
+:010dae000044\r
+:010daf000043\r
+:010db0000042\r
+:010db1000041\r
+:010db2000040\r
+:010db300003f\r
+:010db400003e\r
+:010db500003d\r
+:010db600003c\r
+:010db700003b\r
+:010db800003a\r
+:010db9000039\r
+:010dba000038\r
+:010dbb000037\r
+:010dbc000036\r
+:010dbd000035\r
+:010dbe000034\r
+:010dbf0090a3\r
+:010dc000032f\r
+:010dc1000031\r
+:010dc2000030\r
+:010dc300002f\r
+:010dc400002e\r
+:010dc500002d\r
+:010dc600002c\r
+:010dc700002b\r
+:010dc800002a\r
+:010dc9000029\r
+:010dca000028\r
+:010dcb000027\r
+:010dcc000026\r
+:010dcd000025\r
+:010dce000024\r
+:010dcf000023\r
+:010dd0000022\r
+:010dd1000021\r
+:010dd2000020\r
+:010dd300001f\r
+:010dd400001e\r
+:010dd500001d\r
+:010dd600001c\r
+:010dd700001b\r
+:010dd800001a\r
+:010dd9000019\r
+:010dda000018\r
+:010ddb000017\r
+:010ddc000016\r
+:010ddd000015\r
+:010dde000014\r
+:010ddf000013\r
+:010de0000012\r
+:010de1000011\r
+:010de2000010\r
+:010de300000f\r
+:010de400000e\r
+:010de500000d\r
+:010de600000c\r
+:010de700000b\r
+:010de800000a\r
+:010de9000009\r
+:010dea000008\r
+:010deb000007\r
+:010dec000006\r
+:010ded000005\r
+:010dee000004\r
+:010def000003\r
+:010df0000002\r
+:010df1000001\r
+:010df2000000\r
+:010df30000ff\r
+:010df40000fe\r
+:010df50000fd\r
+:010df60000fc\r
+:010df70000fb\r
+:010df80000fa\r
+:010df90000f9\r
+:010dfa0000f8\r
+:010dfb0000f7\r
+:010dfc0000f6\r
+:010dfd0000f5\r
+:010dfe0000f4\r
+:010dff009063\r
+:010e000003ee\r
+:010e010000f0\r
+:010e020000ef\r
+:010e030000ee\r
+:010e040000ed\r
+:010e050000ec\r
+:010e060000eb\r
+:010e070000ea\r
+:010e080000e9\r
+:010e090000e8\r
+:010e0a0000e7\r
+:010e0b0000e6\r
+:010e0c0000e5\r
+:010e0d0000e4\r
+:010e0e0000e3\r
+:010e0f0000e2\r
+:010e100000e1\r
+:010e110000e0\r
+:010e120000df\r
+:010e130000de\r
+:010e140000dd\r
+:010e150000dc\r
+:010e160000db\r
+:010e170000da\r
+:010e180000d9\r
+:010e190000d8\r
+:010e1a0000d7\r
+:010e1b0000d6\r
+:010e1c0000d5\r
+:010e1d0000d4\r
+:010e1e0000d3\r
+:010e1f0000d2\r
+:010e200000d1\r
+:010e210000d0\r
+:010e220000cf\r
+:010e230000ce\r
+:010e240000cd\r
+:010e250000cc\r
+:010e260000cb\r
+:010e270000ca\r
+:010e280000c9\r
+:010e290000c8\r
+:010e2a0000c7\r
+:010e2b0000c6\r
+:010e2c0000c5\r
+:010e2d0000c4\r
+:010e2e0000c3\r
+:010e2f0000c2\r
+:010e300000c1\r
+:010e310000c0\r
+:010e320000bf\r
+:010e330000be\r
+:010e340000bd\r
+:010e350000bc\r
+:010e360000bb\r
+:010e370000ba\r
+:010e380000b9\r
+:010e390000b8\r
+:010e3a0000b7\r
+:010e3b0000b6\r
+:010e3c0000b5\r
+:010e3d0000b4\r
+:010e3e0000b3\r
+:010e3f009022\r
+:010e400003ae\r
+:010e410000b0\r
+:010e420000af\r
+:010e430000ae\r
+:010e440000ad\r
+:010e450000ac\r
+:010e460000ab\r
+:010e470000aa\r
+:010e480000a9\r
+:010e490000a8\r
+:010e4a0000a7\r
+:010e4b0000a6\r
+:010e4c0000a5\r
+:010e4d0000a4\r
+:010e4e0000a3\r
+:010e4f0000a2\r
+:010e500000a1\r
+:010e510000a0\r
+:010e5200009f\r
+:010e5300009e\r
+:010e5400009d\r
+:010e5500009c\r
+:010e5600009b\r
+:010e5700009a\r
+:010e58000099\r
+:010e59000098\r
+:010e5a000097\r
+:010e5b000096\r
+:010e5c000095\r
+:010e5d000094\r
+:010e5e000093\r
+:010e5f000092\r
+:010e60000091\r
+:010e61000090\r
+:010e6200008f\r
+:010e6300008e\r
+:010e6400008d\r
+:010e6500008c\r
+:010e6600008b\r
+:010e6700008a\r
+:010e68000089\r
+:010e69000088\r
+:010e6a000087\r
+:010e6b000086\r
+:010e6c000085\r
+:010e6d000084\r
+:010e6e000083\r
+:010e6f000082\r
+:010e70000081\r
+:010e71000080\r
+:010e7200007f\r
+:010e7300007e\r
+:010e7400007d\r
+:010e7500007c\r
+:010e7600007b\r
+:010e7700007a\r
+:010e78000079\r
+:010e79000078\r
+:010e7a000077\r
+:010e7b000076\r
+:010e7c000075\r
+:010e7d000074\r
+:010e7e000073\r
+:010e7f0090e2\r
+:010e8000036e\r
+:010e81000070\r
+:010e8200006f\r
+:010e8300006e\r
+:010e8400006d\r
+:010e8500006c\r
+:010e8600006b\r
+:010e8700006a\r
+:010e88000069\r
+:010e89000068\r
+:010e8a000067\r
+:010e8b000066\r
+:010e8c000065\r
+:010e8d000064\r
+:010e8e000063\r
+:010e8f000062\r
+:010e90000061\r
+:010e91000060\r
+:010e9200005f\r
+:010e9300005e\r
+:010e9400005d\r
+:010e9500005c\r
+:010e9600005b\r
+:010e9700005a\r
+:010e98000059\r
+:010e99000058\r
+:010e9a000057\r
+:010e9b000056\r
+:010e9c000055\r
+:010e9d000054\r
+:010e9e000053\r
+:010e9f000052\r
+:010ea0000051\r
+:010ea1000050\r
+:010ea200004f\r
+:010ea300004e\r
+:010ea400004d\r
+:010ea500004c\r
+:010ea600004b\r
+:010ea700004a\r
+:010ea8000049\r
+:010ea9000048\r
+:010eaa000047\r
+:010eab000046\r
+:010eac000045\r
+:010ead000044\r
+:010eae000043\r
+:010eaf000042\r
+:010eb0000041\r
+:010eb1000040\r
+:010eb200003f\r
+:010eb300003e\r
+:010eb400003d\r
+:010eb500003c\r
+:010eb600003b\r
+:010eb700003a\r
+:010eb8000039\r
+:010eb9000038\r
+:010eba000037\r
+:010ebb000036\r
+:010ebc000035\r
+:010ebd000034\r
+:010ebe000033\r
+:010ebf0090a2\r
+:010ec000032e\r
+:010ec1000030\r
+:010ec200002f\r
+:010ec300002e\r
+:010ec400002d\r
+:010ec500002c\r
+:010ec600002b\r
+:010ec700002a\r
+:010ec8000029\r
+:010ec9000028\r
+:010eca000027\r
+:010ecb000026\r
+:010ecc000025\r
+:010ecd000024\r
+:010ece000023\r
+:010ecf000022\r
+:010ed0000021\r
+:010ed1000020\r
+:010ed200001f\r
+:010ed300001e\r
+:010ed400001d\r
+:010ed500001c\r
+:010ed600001b\r
+:010ed700001a\r
+:010ed8000019\r
+:010ed9000018\r
+:010eda000017\r
+:010edb000016\r
+:010edc000015\r
+:010edd000014\r
+:010ede000013\r
+:010edf000012\r
+:010ee0000011\r
+:010ee1000010\r
+:010ee200000f\r
+:010ee300000e\r
+:010ee400000d\r
+:010ee500000c\r
+:010ee600000b\r
+:010ee700000a\r
+:010ee8000009\r
+:010ee9000008\r
+:010eea000007\r
+:010eeb000006\r
+:010eec000005\r
+:010eed000004\r
+:010eee000003\r
+:010eef000002\r
+:010ef0000001\r
+:010ef1000000\r
+:010ef20000ff\r
+:010ef30000fe\r
+:010ef40000fd\r
+:010ef50000fc\r
+:010ef60000fb\r
+:010ef70000fa\r
+:010ef80000f9\r
+:010ef90000f8\r
+:010efa0000f7\r
+:010efb0000f6\r
+:010efc0000f5\r
+:010efd0000f4\r
+:010efe0000f3\r
+:010eff009062\r
+:010f000003ed\r
+:010f010000ef\r
+:010f020000ee\r
+:010f030000ed\r
+:010f040000ec\r
+:010f050000eb\r
+:010f060000ea\r
+:010f070000e9\r
+:010f080000e8\r
+:010f090000e7\r
+:010f0a0000e6\r
+:010f0b0000e5\r
+:010f0c0000e4\r
+:010f0d0000e3\r
+:010f0e0000e2\r
+:010f0f0000e1\r
+:010f100000e0\r
+:010f110000df\r
+:010f120000de\r
+:010f130000dd\r
+:010f140000dc\r
+:010f150000db\r
+:010f160000da\r
+:010f170000d9\r
+:010f180000d8\r
+:010f190000d7\r
+:010f1a0000d6\r
+:010f1b0000d5\r
+:010f1c0000d4\r
+:010f1d0000d3\r
+:010f1e0000d2\r
+:010f1f0000d1\r
+:010f200000d0\r
+:010f210000cf\r
+:010f220000ce\r
+:010f230000cd\r
+:010f240000cc\r
+:010f250000cb\r
+:010f260000ca\r
+:010f270000c9\r
+:010f280000c8\r
+:010f290000c7\r
+:010f2a0000c6\r
+:010f2b0000c5\r
+:010f2c0000c4\r
+:010f2d0000c3\r
+:010f2e0000c2\r
+:010f2f0000c1\r
+:010f300000c0\r
+:010f310000bf\r
+:010f320000be\r
+:010f330000bd\r
+:010f340000bc\r
+:010f350000bb\r
+:010f360000ba\r
+:010f370000b9\r
+:010f380000b8\r
+:010f390000b7\r
+:010f3a0000b6\r
+:010f3b0000b5\r
+:010f3c0000b4\r
+:010f3d0000b3\r
+:010f3e0000b2\r
+:010f3f009021\r
+:010f400003ad\r
+:010f410000af\r
+:010f420000ae\r
+:010f430000ad\r
+:010f440000ac\r
+:010f450000ab\r
+:010f460000aa\r
+:010f470000a9\r
+:010f480000a8\r
+:010f490000a7\r
+:010f4a0000a6\r
+:010f4b0000a5\r
+:010f4c0000a4\r
+:010f4d0000a3\r
+:010f4e0000a2\r
+:010f4f0000a1\r
+:010f500000a0\r
+:010f5100009f\r
+:010f5200009e\r
+:010f5300009d\r
+:010f5400009c\r
+:010f5500009b\r
+:010f5600009a\r
+:010f57000099\r
+:010f58000098\r
+:010f59000097\r
+:010f5a000096\r
+:010f5b000095\r
+:010f5c000094\r
+:010f5d000093\r
+:010f5e000092\r
+:010f5f000091\r
+:010f60000090\r
+:010f6100008f\r
+:010f6200008e\r
+:010f6300008d\r
+:010f6400008c\r
+:010f6500008b\r
+:010f6600008a\r
+:010f67000089\r
+:010f68000088\r
+:010f69000087\r
+:010f6a000086\r
+:010f6b000085\r
+:010f6c000084\r
+:010f6d000083\r
+:010f6e000082\r
+:010f6f000081\r
+:010f70000080\r
+:010f7100007f\r
+:010f7200007e\r
+:010f7300007d\r
+:010f7400007c\r
+:010f7500007b\r
+:010f7600007a\r
+:010f77000079\r
+:010f78000078\r
+:010f79000077\r
+:010f7a000076\r
+:010f7b000075\r
+:010f7c000074\r
+:010f7d000073\r
+:010f7e000072\r
+:010f7f0090e1\r
+:010f8000036d\r
+:010f8100006f\r
+:010f8200006e\r
+:010f8300006d\r
+:010f8400006c\r
+:010f8500006b\r
+:010f8600006a\r
+:010f87000069\r
+:010f88000068\r
+:010f89000067\r
+:010f8a000066\r
+:010f8b000065\r
+:010f8c000064\r
+:010f8d000063\r
+:010f8e000062\r
+:010f8f000061\r
+:010f90000060\r
+:010f9100005f\r
+:010f9200005e\r
+:010f9300005d\r
+:010f9400005c\r
+:010f9500005b\r
+:010f9600005a\r
+:010f97000059\r
+:010f98000058\r
+:010f99000057\r
+:010f9a000056\r
+:010f9b000055\r
+:010f9c000054\r
+:010f9d000053\r
+:010f9e000052\r
+:010f9f000051\r
+:010fa0000050\r
+:010fa100004f\r
+:010fa200004e\r
+:010fa300004d\r
+:010fa400004c\r
+:010fa500004b\r
+:010fa600004a\r
+:010fa7000049\r
+:010fa8000048\r
+:010fa9000047\r
+:010faa000046\r
+:010fab000045\r
+:010fac000044\r
+:010fad000043\r
+:010fae000042\r
+:010faf000041\r
+:010fb0000040\r
+:010fb100003f\r
+:010fb200003e\r
+:010fb300003d\r
+:010fb400003c\r
+:010fb500003b\r
+:010fb600003a\r
+:010fb7000039\r
+:010fb8000038\r
+:010fb9000037\r
+:010fba000036\r
+:010fbb000035\r
+:010fbc000034\r
+:010fbd000033\r
+:010fbe000032\r
+:010fbf0090a1\r
+:010fc000e050\r
+:010fc100e04f\r
+:010fc200e04e\r
+:010fc300e04d\r
+:010fc400e04c\r
+:010fc500e04b\r
+:010fc600e04a\r
+:010fc700e049\r
+:010fc800e048\r
+:010fc900e047\r
+:010fca00e046\r
+:010fcb00e045\r
+:010fcc00e044\r
+:010fcd00e043\r
+:010fce00e042\r
+:010fcf00e041\r
+:010fd000e040\r
+:010fd100e03f\r
+:010fd200e03e\r
+:010fd300e03d\r
+:010fd400e03c\r
+:010fd500e03b\r
+:010fd600e03a\r
+:010fd700e039\r
+:010fd800e038\r
+:010fd900e037\r
+:010fda00e036\r
+:010fdb00e035\r
+:010fdc00e034\r
+:010fdd00e033\r
+:010fde00e032\r
+:010fdf00e031\r
+:010fe000e030\r
+:010fe100e02f\r
+:010fe200e02e\r
+:010fe300e02d\r
+:010fe400e02c\r
+:010fe500e02b\r
+:010fe600e02a\r
+:010fe700e029\r
+:010fe800e028\r
+:010fe900e027\r
+:010fea00e026\r
+:010feb00e025\r
+:010fec00e024\r
+:010fed00e023\r
+:010fee00e022\r
+:010fef00e021\r
+:010ff000e020\r
+:010ff100e01f\r
+:010ff200e01e\r
+:010ff300e01d\r
+:010ff400e01c\r
+:010ff500e01b\r
+:010ff600e01a\r
+:010ff700e019\r
+:010ff800e018\r
+:010ff900e017\r
+:010ffa00e016\r
+:010ffb00e015\r
+:010ffc00e014\r
+:010ffd00e013\r
+:010ffe00e012\r
+:010fff00e011\r
+:00000001ff\r
diff --git a/bsp4/Angabe/vga_arc.vhd b/bsp4/Angabe/vga_arc.vhd
new file mode 100644 (file)
index 0000000..3d2d158
--- /dev/null
@@ -0,0 +1,223 @@
+ -------------------------------------------------------------------------------\r
+-- Title      : vga architecture\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : vga.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-04-07\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: arch of top level module, the sub-modules are connected here\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-04-07  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;      -- include package\r
+\r
+-------------------------------------------------------------------------------\r
+-- ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
+\r
+architecture behav of vga is\r
+\r
+  attribute syn_preserve          : boolean;\r
+  attribute syn_preserve of behav : architecture is true;\r
+\r
+\r
+-------------------------------------------------------------------------------\r
+-- component declarations for the modules\r
+-------------------------------------------------------------------------------\r
+\r
+  component vga_driver\r
+    port (\r
+      clk                  : in  std_logic;\r
+      reset                : in  std_logic;\r
+      column_counter       : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);\r
+      line_counter         : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);\r
+      h_enable             : out std_logic;\r
+      v_enable             : out std_logic;\r
+      hsync                : out std_logic; \r
+      vsync                : out std_logic;\r
+      d_hsync_state          : out hsync_state_type;\r
+      d_vsync_state          : out vsync_state_type;\r
+      d_hsync_counter        : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);\r
+      d_vsync_counter        : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);\r
+      d_set_hsync_counter    : out std_logic;\r
+      d_set_vsync_counter    : out std_logic;\r
+      d_set_column_counter   : out std_logic;\r
+      d_set_line_counter     : out std_logic);\r
+  end component;\r
+\r
+\r
+  component vga_control\r
+    port (\r
+      clk            : in  std_logic;\r
+      reset          : in  std_logic;\r
+      column_counter : in  std_logic_vector(COL_CNT_WIDTH-1 downto 0);\r
+      line_counter   : in  std_logic_vector(LINE_CNT_WIDTH-1 downto 0);\r
+      h_enable       : in  std_logic;\r
+      v_enable       : in  std_logic;\r
+      toggle_counter : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0);\r
+      toggle         : out std_logic;\r
+      r, g, b        : out std_logic\r
+      );\r
+  end component;\r
+\r
+\r
+  component board_driver\r
+    port (\r
+       reset : in  std_logic;\r
+      seven_seg  : out std_logic_vector(2*SEG_WIDTH-1 downto 0));\r
+  end component;\r
+\r
+\r
+-- declare signals needed for internal wiring of these components later\r
+  signal column_counter_sig   : std_logic_vector(COL_CNT_WIDTH-1 downto 0);\r
+  signal line_counter_sig     : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);\r
+  signal h_enable_sig         : std_logic;\r
+  signal v_enable_sig         : std_logic;\r
+  signal r_sig, g_sig, b_sig  : std_logic;\r
+  signal hsync_sig, vsync_sig : std_logic;\r
+  \r
+-- declare signals needed for prolongation of reset\r
+  signal   dly_counter       : std_logic_vector(1 downto 0);\r
+  signal   dly_counter_next  : std_logic_vector(1 downto 0);\r
+  constant MAX_DLY           : std_logic_vector(1 downto 0) := "11";\r
+  signal   reset_dly         : std_logic;      --\r
+  signal   safe_reset        : std_logic;     \r
+\r
+\r
+-------------------------------------------------------------------------------\r
+-- prolong duration of reset to prevent glitches  at power-up\r
+-------------------------------------------------------------------------------\r
+\r
+begin\r
+\r
+  DELAY_RESET_syn : process(clk_pin)            -- synchronous capture\r
+  begin\r
+    if clk_pin'event and clk_pin = '1' then     -- upon rising clock\r
+      dly_counter <= dly_counter_next;          -- ... capture new counter value\r
+    end if;\r
+  end process;\r
+\r
+  DELAY_RESET_next : process(dly_counter, reset_pin)    -- next state logic\r
+  begin\r
+    if reset_pin = RES_ACT then              -- upon reset\r
+      dly_counter_next <= (others => '0');   -- ...clear dly counter\r
+    elsif dly_counter < MAX_DLY then         -- if no oflo\r
+      dly_counter_next <= dly_counter + '1'; -- ...increment dly counter\r
+    else \r
+      dly_counter_next <= dly_counter;       -- freeze dly counter when oflo\r
+    end if;\r
+  end process;\r
+  \r
+  DELAY_RESET_out: process(dly_counter)\r
+  begin\r
+    if dly_counter < MAX_DLY then      -- until dly counter reaches maximum\r
+      reset_dly   <= RES_ACT;          -- ...activate delayed reset signal\r
+    else                               -- upon counter oflo \r
+      reset_dly <= not(RES_ACT);       -- ...finally deactivate delayed reset\r
+    end if;\r
+  end process;\r
+\r
+\r
+\r
+  COMBINE_RESET: process(reset_pin, reset_dly)         -- generate "safe" reset signal\r
+  begin\r
+    if reset_pin = RES_ACT or reset_dly = RES_ACT then -- ...by combining delayed reset with non-delayed reset input \r
+      safe_reset <= RES_ACT;\r
+    else\r
+      safe_reset <= not(RES_ACT);\r
+    end if;\r
+  end process;\r
+\r
+\r
+-------------------------------------------------------------------------------\r
+-- instantiate the components and connect to internal and external signals\r
+-------------------------------------------------------------------------------\r
+\r
+\r
+board_driver_unit : board_driver\r
+    port map (\r
+      reset       => safe_reset,\r
+      seven_seg   => seven_seg_pin);\r
+\r
+\r
+vga_driver_unit : vga_driver\r
+    port map (\r
+      clk                => clk_pin,\r
+      reset              => safe_reset,\r
+      column_counter     => column_counter_sig,\r
+      line_counter       => line_counter_sig,\r
+      h_enable           => h_enable_sig,\r
+      v_enable           => v_enable_sig,\r
+      hsync              => hsync_sig,\r
+      vsync              => vsync_sig,\r
+      d_hsync_state        => d_hsync_state,\r
+      d_vsync_state        => d_vsync_state,\r
+      d_hsync_counter      => d_hsync_counter,\r
+      d_vsync_counter      => d_vsync_counter,\r
+      d_set_hsync_counter  => d_set_hsync_counter,\r
+      d_set_vsync_counter  => d_set_vsync_counter,\r
+      d_set_column_counter => d_set_column_counter,\r
+      d_set_line_counter   => d_set_line_counter);\r
+\r
+-- make the wiring for hsync and vsync pins \r
+-- (pin is output only => internal _sig version required to allow readback of signal)\r
+  vsync_pin <= vsync_sig;\r
+  hsync_pin <= hsync_sig;\r
+\r
+\r
+  vga_control_unit : vga_control\r
+    port map (\r
+      clk            => clk_pin,\r
+      reset          => safe_reset,\r
+      column_counter => column_counter_sig,\r
+      line_counter   => line_counter_sig,\r
+      h_enable       => h_enable_sig,\r
+      v_enable       => v_enable_sig,\r
+      toggle_counter => d_toggle_counter,\r
+      toggle         => d_toggle,\r
+      r              => r_sig,\r
+      g              => g_sig,\r
+      b              => b_sig);\r
+\r
+-- make the wiring for RGB pins: drive all pins for same color from one source ("8 color mode")\r
+  r0_pin <= r_sig; r1_pin <= r_sig; r2_pin <= r_sig;\r
+  g0_pin <= g_sig; g1_pin <= g_sig; g2_pin <= g_sig;\r
+  b0_pin <= b_sig; b1_pin <= b_sig;\r
+\r
+\r
+-- make extra pin connections for debug signals\r
+  d_hsync          <= hsync_sig;       -- make duplicate of signal for debug connector\r
+  d_vsync          <= vsync_sig;       -- make duplicate of signal for debug connector\r
+  d_column_counter <= column_counter_sig;\r
+  d_line_counter   <= line_counter_sig;\r
+  d_h_enable       <= h_enable_sig;\r
+  d_v_enable       <= v_enable_sig;\r
+  d_r              <= r_sig;\r
+  d_g              <= g_sig;\r
+  d_b              <= b_sig;\r
+  d_state_clk      <= clk_pin;        -- make duplicate of signal for debug connector\r
+\r
+  \r
+end behav;\r
+\r
+-------------------------------------------------------------------------------\r
+-- END ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
diff --git a/bsp4/Angabe/vga_beh_tb.vhd b/bsp4/Angabe/vga_beh_tb.vhd
new file mode 100644 (file)
index 0000000..c7e990d
--- /dev/null
@@ -0,0 +1,194 @@
+-------------------------------------------------------------------------------
+-- Title      : vga testbench
+-- Project    : 
+-------------------------------------------------------------------------------
+-- File       : vga_tb.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2007-09-13
+-- Platform   : 
+-------------------------------------------------------------------------------
+-- Description: 
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+entity vga_tb is
+
+end vga_tb;
+
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+architecture behaviour of vga_tb is
+  
+  constant cc : time := 39.7 ns;        -- test clock period
+  component vga
+    port (
+      clk_pin                                  : in  std_logic;
+      reset_pin                                : in  std_logic;
+      r0_pin, r1_pin, r2_pin                   : out std_logic;
+      g0_pin, g1_pin, g2_pin                   : out std_logic;
+      b0_pin, b1_pin                           : out std_logic;
+      hsync_pin                                : out std_logic;
+      vsync_pin                                : out std_logic;
+      seven_seg_pin                            : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+      d_hsync, d_vsync                         : out std_logic;
+      d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+      d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+      d_set_column_counter, d_set_line_counter : out std_logic;
+      d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+      d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+      d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+      d_h_enable                               : out std_logic;
+      d_v_enable                               : out std_logic;
+      d_r, d_g, d_b                            : out std_logic;
+      d_hsync_state                            : out hsync_state_type;
+      d_vsync_state                            : out vsync_state_type;
+      d_state_clk                              : out std_logic;
+      d_toggle                                 : out std_logic;
+      d_toggle_counter                         : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0));
+  end component;
+
+  signal clk_pin                                  : std_logic;
+  signal reset_pin                                : std_logic;
+  signal r0_pin, r1_pin, r2_pin                   : std_logic;
+  signal g0_pin, g1_pin, g2_pin                   : std_logic;
+  signal b0_pin, b1_pin                           : std_logic;
+  signal hsync_pin                                : std_logic;
+  signal vsync_pin                                : std_logic;
+  signal seven_seg_pin                            : std_logic_vector(2*SEG_WIDTH-1 downto 0);
+  signal d_hsync, d_vsync                         : std_logic;
+  signal d_column_counter                         : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal d_line_counter                           : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal d_set_column_counter, d_set_line_counter : std_logic;
+  signal d_hsync_counter                          : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal d_vsync_counter                          : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal d_set_hsync_counter, d_set_vsync_counter : std_logic;
+  signal d_h_enable                               : std_logic;
+  signal d_v_enable                               : std_logic;
+  signal d_r, d_g, d_b                            : std_logic;
+  signal d_hsync_state                            : hsync_state_type;
+  signal d_vsync_state                            : vsync_state_type;
+  signal d_state_clk                              : std_logic;
+  signal d_toggle                                 : std_logic;
+  signal d_toggle_counter                         : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);
+
+  
+begin
+
+  vga_unit: vga
+    port map (
+      clk_pin              => clk_pin,
+      reset_pin            => reset_pin,
+      r0_pin               => r0_pin,
+      r1_pin               => r1_pin,
+      r2_pin               => r2_pin,
+      g0_pin               => g0_pin,
+      g1_pin               => g1_pin,
+      g2_pin               => g2_pin,
+      b0_pin               => b0_pin,
+      b1_pin               => b1_pin,
+      hsync_pin            => hsync_pin,
+      vsync_pin            => vsync_pin,
+      seven_seg_pin        => seven_seg_pin,
+      d_hsync              => d_hsync,
+      d_vsync              => d_vsync,
+      d_column_counter     => d_column_counter,
+      d_line_counter       => d_line_counter,
+      d_set_column_counter => d_set_column_counter,
+      d_set_line_counter   => d_set_line_counter,
+      d_hsync_counter      => d_hsync_counter,
+      d_vsync_counter      => d_vsync_counter,
+      d_set_hsync_counter  => d_set_hsync_counter,
+      d_set_vsync_counter  => d_set_vsync_counter,
+      d_h_enable           => d_h_enable,
+      d_v_enable           => d_v_enable,
+      d_r                  => d_r,
+      d_g                  => d_g,
+      d_b                  => d_b,
+      d_hsync_state        => d_hsync_state,
+      d_vsync_state        => d_vsync_state,
+      d_state_clk          => d_state_clk,
+      d_toggle             => d_toggle,
+      d_toggle_counter     => d_toggle_counter);
+
+  
+-------------------------------------------------------------------------------
+-- generate simulation clock
+-------------------------------------------------------------------------------
+  CLKGEN : process
+  begin
+    clk_pin <= '1';
+    wait for cc/2;
+    clk_pin <= '0';
+    wait for cc/2;
+  end process CLKGEN;
+
+-------------------------------------------------------------------------------
+-- test the design
+-------------------------------------------------------------------------------
+  TEST_IT : process
+
+    -- wait for n clock cycles
+    procedure icwait(cycles : natural) is
+    begin
+      for i in 1 to cycles loop
+        wait until clk_pin = '1' and clk_pin'event;
+      end loop;
+    end;
+
+  begin
+    -----------------------------------------------------------------------------
+    -- initial reset
+    -----------------------------------------------------------------------------
+    reset_pin <= '0';
+    icwait(10);
+
+    icwait(10000000);
+
+    ---------------------------------------------------------------------------
+    -- exit testbench
+    ---------------------------------------------------------------------------
+    assert false
+      report "Test finished"
+      severity error;
+
+  end process test_it;
+
+end behaviour;
+
+
+-------------------------------------------------------------------------------
+-- configuration
+-------------------------------------------------------------------------------
+configuration vga_conf_beh of vga_tb is
+  for behaviour
+    for vga_unit : vga use entity work.vga(behav);
+    end for;
+  end for;
+end vga_conf_beh;
+
+
diff --git a/bsp4/Angabe/vga_control_arc.vhd b/bsp4/Angabe/vga_control_arc.vhd
new file mode 100644 (file)
index 0000000..7f78d72
--- /dev/null
@@ -0,0 +1,128 @@
+-------------------------------------------------------------------------------\r
+-- Title      : vga_control architecture\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : vga_control.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-12-15\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: generation of colors (RGB)\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-12-15  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;\r
+\r
+-------------------------------------------------------------------------------\r
+-- ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
+\r
+architecture behav of vga_control is\r
+\r
+\r
+  attribute syn_preserve          : boolean;\r
+  attribute syn_preserve of behav : architecture is true;\r
+\r
+\r
+  -- signal and constant declarations  \r
+  signal   r_next, g_next, b_next  : std_logic;                                 -- auxiliary signals for next state logic\r
+  signal   toggle_sig   : std_logic;                                            -- auxiliary signal to allow read back of toggle\r
+  signal   toggle_counter_sig  : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);    -- auxiliary signal to allow read back of blinker\r
+  signal   toggle_next  : std_logic;                                            -- auxiliary signal for next state logic\r
+  signal   toggle_counter_next : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);    -- auxiliary signal for next state logic\r
+  constant HALFPERIOD   : std_logic_vector(TOG_CNT_WIDTH-1 downto 0) := "1100000000010001111011000";\r
+                                                                                -- define half period of toggle frequency in clock ticks\r
+\r
+begin  \r
+  -----------------------------------------------------------------------------\r
+  -- draw rectangle on screen\r
+  -----------------------------------------------------------------------------\r
+    \r
+  DRAW_SQUARE_syn: process(clk, reset)\r
+  begin\r
+    if (reset = RES_ACT) then   -- draw black screen upon reset\r
+      r <= COLR_OFF;\r
+      g <= COLR_OFF;\r
+      b <= COLR_OFF;\r
+    elsif (clk'event and clk = '1') then     -- synchronous capture\r
+      r <= r_next;\r
+      g <= g_next;\r
+      b <= b_next;\r
+    end if;\r
+  end process;\r
+\r
+\r
+  DRAW_SQUARE_next: process (column_counter, line_counter, v_enable, h_enable, toggle_sig)\r
+  begin\r
+    if v_enable = ENABLE and h_enable = ENABLE then        \r
+      if (column_counter >= X_MIN and column_counter <= X_MAX and    -- if pixel within the rectangle borders\r
+          line_counter   >= Y_MIN and line_counter   <= Y_MAX) then\r
+        r_next <= toggle_sig;                                        -- ...red\r
+        g_next <= COLR_OFF;                                          -- ...green\r
+        b_next <= not toggle_sig;                                    -- ...blue\r
+      else                                                           -- if somewhere else on screen...\r
+        r_next <= COLR_OFF;\r
+        g_next <= COLR_OFF;                                          -- ... draw background color\r
+        b_next <= COLR_OFF;\r
+      end if;\r
+    else                                                             -- if out of screen...\r
+      r_next <= COLR_OFF;\r
+      g_next <= COLR_OFF;                                            -- ... do not activate any color\r
+      b_next <= COLR_OFF;                                            --     (black screen)\r
+    end if;\r
+  end process;\r
+\r
+\r
+  -----------------------------------------------------------------------------\r
+  -- control blinking of rectangle\r
+  -----------------------------------------------------------------------------\r
+\r
+  BLINKER_syn: process(clk, reset)\r
+  begin\r
+    if (reset = RES_ACT) then                       -- asyn reset\r
+      toggle_counter_sig  <= (others => '0');\r
+      toggle_sig  <= COLR_OFF;\r
+    elsif(clk'event and clk = '1') then             -- synchronous capture\r
+      toggle_counter_sig <= toggle_counter_next;\r
+      toggle_sig  <= toggle_next;\r
+    end if;\r
+  end process;\r
+\r
+\r
+  BLINKER_next : process(toggle_counter_sig, toggle_sig)\r
+  begin\r
+    if toggle_counter_sig >= HALFPERIOD then           -- after half period ...\r
+      toggle_counter_next <= (others => '0');          -- ... clear counter\r
+      toggle_next  <= not(toggle_sig);                 -- ... and toggle colour.\r
+    else                                               -- before half period ...\r
+      toggle_counter_next <= toggle_counter_sig + '1'; -- ... increment counter\r
+      toggle_next  <= toggle_sig;                      -- ... and hold colour\r
+    end if;\r
+  end process;\r
+\r
+\r
+-- assign auxiliary signals to module outputs\r
+toggle <= toggle_sig;\r
+toggle_counter <= toggle_counter_sig;\r
+\r
+end behav;\r
+\r
+-------------------------------------------------------------------------------\r
+-- END ARCHITECTURE\r
+-------------------------------------------------------------------------------\r
diff --git a/bsp4/Angabe/vga_control_ent.vhd b/bsp4/Angabe/vga_control_ent.vhd
new file mode 100644 (file)
index 0000000..2ff5a0a
--- /dev/null
@@ -0,0 +1,53 @@
+-------------------------------------------------------------------------------\r
+-- Title      : vga_control entity\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : vga_control_ent.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-12-15\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: generation of colors (RGB)\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-12-15  1.0      handl     Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+use work.vga_pak.all;\r
+\r
+-------------------------------------------------------------------------------\r
+-- ENTITY\r
+-------------------------------------------------------------------------------\r
+\r
+\r
+entity vga_control is\r
+  port(clk            : in std_logic;\r
+       reset          : in  std_logic;\r
+       column_counter : in std_logic_vector(COL_CNT_WIDTH-1 downto 0);\r
+       toggle_counter : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0);\r
+       toggle         : out std_logic;\r
+       line_counter   : in std_logic_vector(LINE_CNT_WIDTH-1 downto 0);\r
+       v_enable       : in std_logic;\r
+       h_enable       : in std_logic;\r
+       r, g, b        : out std_logic\r
+       );\r
+\r
+end vga_control;\r
+\r
+-------------------------------------------------------------------------------\r
+-- END ENTITY\r
+-------------------------------------------------------------------------------\r
diff --git a/bsp4/Angabe/vga_driver_arc.vhd b/bsp4/Angabe/vga_driver_arc.vhd
new file mode 100644 (file)
index 0000000..02aec99
--- /dev/null
@@ -0,0 +1,402 @@
+-------------------------------------------------------------------------------
+-- Title      : vga_driver architecture
+-- Project    : LU Digital Design
+-------------------------------------------------------------------------------
+-- File       : vga_driver.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-12-15
+-- Last update: 2007-09-13
+-------------------------------------------------------------------------------
+-- Description: generate hsync and vsync
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-12-15  1.0      handl   Created
+-- 2006-01-24  2.0      ST      revised
+-------------------------------------------------------------------------------
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+
+architecture behav of vga_driver is
+
+  attribute syn_preserve          : boolean;
+  attribute syn_preserve of behav : architecture is true;
+
+  constant TIME_A   : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "1100011111";
+  constant TIME_B   : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "0001011010";
+  constant TIME_BC  : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "0010000111";
+  constant TIME_BCD : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "1100000111";
+
+  constant TIME_O   : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "1000001000";
+  constant TIME_P   : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "0000000001";
+  constant TIME_PQ  : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "0000100001";
+  constant TIME_PQR : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "1000000001";
+
+  signal h_sync      : std_logic;
+  signal h_sync_next : std_logic;
+
+  signal hsync_state      : hsync_state_type;
+  signal hsync_state_next : hsync_state_type;
+
+  signal h_enable_sig  : std_logic;
+  signal h_enable_next : std_logic;
+
+  signal   set_hsync_counter : std_logic;
+  signal   hsync_counter     : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal   hsync_counter_next     : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  constant HSYN_CNT_MAX : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0) := "1111111111";
+
+  signal column_counter_sig : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal column_counter_next : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal set_column_counter : std_logic;
+
+  signal v_sync      : std_logic;
+  signal v_sync_next : std_logic;
+
+  signal vsync_state      : vsync_state_type;
+  signal vsync_state_next : vsync_state_type;
+
+  signal v_enable_sig  : std_logic;
+  signal v_enable_next : std_logic;
+
+  signal   set_vsync_counter : std_logic;
+  signal   vsync_counter     : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal   vsync_counter_next     : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  constant VSYN_CNT_MAX : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0) := "1111111111";
+
+  signal line_counter_sig : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal line_counter_next : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal set_line_counter : std_logic;
+
+
+
+begin
+
+----------------------------------------------------------------------------
+-- Column_Counter [0..639]: calculates column number for next pixel to be displayed
+----------------------------------------------------------------------------
+
+  COLUMN_COUNT_syn: process(clk, reset, column_counter_next)
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then                              -- synchronous reset
+        column_counter_sig <= (others => '0');
+      else
+        column_counter_sig <= column_counter_next;         -- synchronous capture
+      end if;
+    end if;
+  end process;
+
+  COLUMN_COUNT_next: process(set_column_counter, column_counter_sig)
+  begin
+    if set_column_counter = ENABLE then                     -- reset counter
+      column_counter_next <= (others => '0');   
+    else
+      if column_counter_sig < RIGHT_BORDER then 
+        column_counter_next <= column_counter_sig + '1';    -- increment column
+      else
+        column_counter_next <= RIGHT_BORDER;                -- ... but do not count beyond right border
+      end if;
+    end if;
+  end process;
+
+----------------------------------------------------------------------------
+-- Line_counter [0..479]: calculates line number for next pixel to be displayed
+----------------------------------------------------------------------------
+
+  LINE_COUNT_syn: process(clk, reset, line_counter_next)
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then                              -- synchronous reset
+        line_counter_sig <= (others => '0');
+      else
+        line_counter_sig <= line_counter_next;             -- synchronous capture
+      end if;
+    end if;
+  end process;
+
+  LINE_COUNT_next: process(set_line_counter, line_counter_sig, set_hsync_counter)
+  begin
+    if set_line_counter = ENABLE then                     -- reset counter
+      line_counter_next <= (others => '0');   
+    else
+      if line_counter_sig < BOTTOM_BORDER then 
+        if set_hsync_counter = '1' then                   -- when enabled
+          line_counter_next <= line_counter_sig + '1';    -- ... increment line
+        else
+          line_counter_next <= line_counter_sig;
+          end if;
+      else
+        line_counter_next <= BOTTOM_BORDER;               -- ... but do not count below bottom
+      end if;
+    end if;
+  end process;
+
+
+----------------------------------------------------------------------------
+-- Hsync_Counter: generates time base for HSYNC State Machine
+----------------------------------------------------------------------------
+
+  HSYNC_COUNT_syn: process(clk, reset, hsync_counter_next)
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then                        -- synchronous reset
+        hsync_counter <= (others => '0');
+      else
+        hsync_counter <= hsync_counter_next;         -- synchronous capture
+      end if;
+    end if;
+  end process;
+
+  HSYNC_COUNT_next: process(set_hsync_counter, hsync_counter)
+  begin
+    if set_hsync_counter = ENABLE then               -- reset counter
+      hsync_counter_next <= (others => '0');   
+    else
+      if hsync_counter < HSYN_CNT_MAX then 
+        hsync_counter_next <= hsync_counter + '1';   -- increment time
+      else
+        hsync_counter_next <= HSYN_CNT_MAX;          -- ... but do not count beyond max period
+      end if;
+    end if;
+  end process;
+
+
+----------------------------------------------------------------------------
+-- HSYNC STATE MACHINE: generates hsync signal and controls hsync counter & column counter
+----------------------------------------------------------------------------
+
+  HSYNC_FSM_syn: process (clk, reset)       -- synchronous capture
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then
+        hsync_state  <= RESET_STATE;
+        h_sync       <= '1';
+        v_enable_sig <= not(ENABLE);
+      else
+        hsync_state  <= hsync_state_next;
+        h_sync       <= h_sync_next;
+        v_enable_sig <= v_enable_next;
+      end if;
+    end if;
+  end process;
+
+  HSYNC_FSM_next : process(hsync_state, hsync_counter, h_sync, v_enable_sig)   -- next-state logic
+  begin                                 -- default assignments
+    hsync_state_next <= hsync_state;    -- ... hold current state
+    h_sync_next        <= h_sync;       -- ... and values
+    v_enable_next      <= v_enable_sig;
+
+    case hsync_state is
+      when RESET_STATE =>
+        h_sync_next      <= '0';        -- next signal values are defined here
+        v_enable_next    <= not(ENABLE);
+        hsync_state_next <= B_STATE;    -- ... as well as state transitions 
+      when B_STATE =>
+        h_sync_next      <= '0';
+        if hsync_counter = TIME_B then
+          hsync_state_next <= C_STATE;
+        end if;
+      when D_STATE =>
+        h_sync_next      <= '1';
+        if hsync_counter = TIME_BC then
+          hsync_state_next <= pre_D_STATE;
+        end if;
+      when pre_D_STATE =>
+        v_enable_next    <= ENABLE;
+        hsync_state_next <= D_STATE;        
+      when C_STATE =>
+        v_enable_next    <= ENABLE;
+        if hsync_counter = TIME_BCD then
+          hsync_state_next <= E_STATE;
+        end if;
+      when E_STATE =>
+        v_enable_next    <= not(ENABLE);
+        if hsync_counter = TIME_A then
+          hsync_state_next <= pre_B_STATE;
+        end if;
+      when pre_B_STATE =>
+        h_sync_next      <= '0';
+        v_enable_next    <= not(ENABLE);        
+        hsync_state_next <= B_STATE;
+      when others =>
+        null;
+    end case;
+  end process;
+
+  HSYNC_FSM_out : process(hsync_state)  -- output logic
+  begin
+    set_hsync_counter  <= not(ENABLE);      -- default assignments
+    set_column_counter <= not(ENABLE);
+
+    case hsync_state is
+      when RESET_STATE =>                   -- outputs for each state are defined here
+        set_hsync_counter  <= ENABLE;
+      when pre_D_STATE =>
+        set_column_counter <= ENABLE;
+      when pre_B_STATE =>
+        set_hsync_counter  <= ENABLE;
+      when others =>
+        null;
+    end case;
+  end process;
+
+
+----------------------------------------------------------------------------
+-- Vsync_Counter: generates time base for VSYNC State Machine
+----------------------------------------------------------------------------
+
+  VSYNC_COUNT_syn: process(clk, reset, vsync_counter_next)
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then                        -- synchronous reset
+        vsync_counter <= (others => '0');
+      else
+        vsync_counter <= vsync_counter_next;         -- synchronous capture
+      end if;
+    end if;
+  end process;
+
+  VSYNC_COUNT_next: process(set_vsync_counter, vsync_counter, set_hsync_counter)
+  begin
+    if set_vsync_counter = ENABLE then               -- reset counter
+      vsync_counter_next <= (others => '0');   
+    else
+      if vsync_counter < VSYN_CNT_MAX then 
+        if set_hsync_counter = '1' then              -- if enabled
+          vsync_counter_next <= vsync_counter + '1'; -- ... increment time
+        else
+          vsync_counter_next <= vsync_counter;
+        end if;
+      else
+        vsync_counter_next <= VSYN_CNT_MAX;          -- ... but do not count beyond max period
+      end if;
+    end if;
+  end process;
+
+
+----------------------------------------------------------------------------
+-- VSYNC STATE MACHINE: generates vsync signal and controls vsync counter & line counter 
+----------------------------------------------------------------------------
+
+  VSYNC_FSM_syn : process (clk, reset)      -- synchronous capture
+  begin
+    if clk'event and clk = '1' then
+      if reset = RES_ACT then
+        vsync_state  <= RESET_STATE;
+        v_sync       <= '1';
+        h_enable_sig <= not(ENABLE);
+      else
+        vsync_state  <= vsync_state_next;
+        v_sync       <= v_sync_next;
+        h_enable_sig <= h_enable_next;
+      end if;
+    end if;
+  end process;
+
+  VSYNC_FSM_next : process(vsync_state, vsync_counter, v_sync, h_enable_sig)
+  begin                                     -- next state logic
+    vsync_state_next <= vsync_state;        -- default assignments
+    v_sync_next       <= v_sync;
+    h_enable_next     <= h_enable_sig;
+
+    case vsync_state is                     -- state transitions and next signals are defined here
+      when RESET_STATE =>
+        v_sync_next      <= '0';
+        h_enable_next    <= not(ENABLE);
+        vsync_state_next <= P_STATE;
+      when P_STATE =>
+        v_sync_next      <= '0';
+        if vsync_counter = time_p then
+          vsync_state_next <= Q_STATE;
+        end if;
+      when Q_STATE =>
+        v_sync_next      <= '1';
+        if vsync_counter = time_pq then
+          vsync_state_next <= pre_R_STATE;
+        end if;
+      when pre_R_STATE =>
+        h_enable_next    <= ENABLE;
+        vsync_state_next <= R_STATE;
+      when R_STATE =>
+        h_enable_next    <= ENABLE;
+        if vsync_counter = time_pqr then
+          vsync_state_next <= S_STATE;
+        end if;
+      when S_STATE =>
+        h_enable_next    <= not(ENABLE);
+        if vsync_counter = time_o then
+          vsync_state_next <= pre_P_STATE;
+        end if;
+      when pre_P_STATE =>
+        v_sync_next      <= '0';
+        h_enable_next    <= not(ENABLE);
+        vsync_state_next <= P_STATE;
+      when others =>
+        null;
+    end case;
+  end process;
+
+  VSYNC_FSM_out : process(vsync_state)
+  begin                                       -- output logic
+    set_vsync_counter <= not(ENABLE);         -- output values for each state defined here
+    set_line_counter  <= not(ENABLE);
+
+    case vsync_state is
+      when RESET_STATE =>
+        set_vsync_counter <= ENABLE;
+      when pre_R_STATE =>
+        set_line_counter  <= ENABLE;
+      when pre_P_STATE =>
+        set_vsync_counter <= ENABLE;
+      when others => 
+        null;
+    end case;
+  end process;
+
+
+
+-- signal wiring for entity (introduced _sig to allow readback of output signals)
+
+  column_counter <= column_counter_sig;
+  v_enable       <= v_enable_sig;
+  line_counter   <= line_counter_sig;
+  h_enable       <= h_enable_sig;
+
+
+  hsync <= h_sync;
+  vsync <= v_sync;
+
+  -----------------------------------------------------------------------------
+  -- debug signals
+  -----------------------------------------------------------------------------
+  d_hsync_state        <= hsync_state;
+  d_vsync_state        <= vsync_state;
+  d_hsync_counter      <= hsync_counter;
+  d_vsync_counter      <= vsync_counter;
+  d_set_hsync_counter  <= set_hsync_counter;
+  d_set_vsync_counter  <= set_vsync_counter;
+  d_set_column_counter <= set_column_counter;
+  d_set_line_counter   <= set_line_counter;
+  
+end behav;
+
+-------------------------------------------------------------------------------
+-- END ARCHITECTURE
+-------------------------------------------------------------------------------
diff --git a/bsp4/Angabe/vga_driver_ent.vhd b/bsp4/Angabe/vga_driver_ent.vhd
new file mode 100644 (file)
index 0000000..f4c00be
--- /dev/null
@@ -0,0 +1,60 @@
+-------------------------------------------------------------------------------
+-- Title      : vga_driver entity
+-- Project    : LU Digital Design
+-------------------------------------------------------------------------------
+-- File       : vga_driver_ent.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-12-15
+-- Last update: 2006-02-24
+-------------------------------------------------------------------------------
+-- Description: generate vsync and hsync
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-12-15  1.0      handl   Created
+-- 2006-02-24  2.0      ST      revised
+-------------------------------------------------------------------------------
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+
+
+entity vga_driver is
+  port(clk            : in  std_logic;
+       reset          : in  std_logic;
+       column_counter : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+       line_counter   : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+       h_enable       : out std_logic;
+       v_enable       : out std_logic;
+       hsync, vsync   : out std_logic;
+
+       d_hsync_state        : out hsync_state_type;
+       d_vsync_state        : out vsync_state_type;
+       d_hsync_counter      : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+       d_vsync_counter      : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+       d_set_hsync_counter  : out std_logic;
+       d_set_vsync_counter  : out std_logic;
+       d_set_column_counter : out std_logic;
+       d_set_line_counter   : out std_logic
+       );
+
+end vga_driver;
+
+-------------------------------------------------------------------------------
+-- END ENTITY
+-------------------------------------------------------------------------------
diff --git a/bsp4/Angabe/vga_ent.vhd b/bsp4/Angabe/vga_ent.vhd
new file mode 100644 (file)
index 0000000..b16b96a
--- /dev/null
@@ -0,0 +1,73 @@
+-------------------------------------------------------------------------------
+-- Title      : vga entitiy
+-- Project    : LU Digital Design
+-------------------------------------------------------------------------------
+-- File       : vga_ent.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2007-09-13
+-------------------------------------------------------------------------------
+-- Description: entity of top level module, external pins defined here
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-- 2006-02-24  2.0      ST      revised
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+
+entity vga is
+  port(
+ input pins from PCB board  
+       clk_pin                                  : in  std_logic;         -- clock pin
+       reset_pin                                : in  std_logic;         -- reset pins (from switch)
+-- output pins to RGB connector / VGA screen
+       r0_pin, r1_pin, r2_pin                   : out std_logic;         -- to RGB connector "red"
+       g0_pin, g1_pin, g2_pin                   : out std_logic;         -- to RGB connector "green"
+       b0_pin, b1_pin                           : out std_logic;         -- to RGB connector "blue"
+       hsync_pin                                : out std_logic;         -- to RGB connector "Hsync"
+       vsync_pin                                : out std_logic;         -- to RGB connector "Vsync"
+-- output pins to 7-segment display
+       seven_seg_pin                                 : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+-- output pins provided for debugging only / logic analyzer
+       d_hsync, d_vsync                         : out std_logic;         -- copy of hsync_pin, vsync_pin
+       d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+       d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+       d_set_column_counter, d_set_line_counter : out std_logic;
+       d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+       d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+       d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+       d_h_enable                               : out std_logic;
+       d_v_enable                               : out std_logic;
+       d_r, d_g, d_b                            : out std_logic;
+       d_hsync_state                            : out hsync_state_type;
+       d_vsync_state                            : out vsync_state_type;
+       d_state_clk                              : out std_logic;
+       d_toggle                                 : out std_logic;
+       d_toggle_counter                         : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0)
+       );
+
+end vga;
+
+-------------------------------------------------------------------------------
+-- END ENTITY
+-------------------------------------------------------------------------------
diff --git a/bsp4/Angabe/vga_pak.vhd b/bsp4/Angabe/vga_pak.vhd
new file mode 100644 (file)
index 0000000..61c8adf
--- /dev/null
@@ -0,0 +1,85 @@
+-------------------------------------------------------------------------------\r
+-- Title      : vga package\r
+-- Project    : LU Digital Design\r
+-------------------------------------------------------------------------------\r
+-- File       : vga_pak.vhd\r
+-- Author     : Thomas Handl\r
+-- Company    : TU Wien\r
+-- Created    : 2004-08-19\r
+-- Last update: 2006-02-24\r
+-------------------------------------------------------------------------------\r
+-- Description: definitions of global constants and enumerated types\r
+-------------------------------------------------------------------------------\r
+-- Copyright (c) 2004 TU Wien\r
+-------------------------------------------------------------------------------\r
+-- Revisions  :\r
+-- Date        Version  Author  Description\r
+-- 2004-08-19  1.0      handl   Created\r
+-- 2006-02-24  2.0      ST      revised\r
+-------------------------------------------------------------------------------\r
+\r
+-------------------------------------------------------------------------------\r
+-- LIBRARIES\r
+-------------------------------------------------------------------------------\r
+\r
+library IEEE;\r
+use IEEE.std_logic_1164.all;\r
+use IEEE.std_logic_unsigned.all;\r
+use IEEE.std_logic_arith.all;\r
+\r
+\r
+-------------------------------------------------------------------------------\r
+-- PACKAGE\r
+-------------------------------------------------------------------------------\r
+\r
+package vga_pak is\r
+\r
+  constant RES_ACT   : std_logic := '0';            -- define reset active LO\r
+  constant ENABLE    : std_logic := '1';            -- define diverse enable HI\r
+  constant COLR_ON    : std_logic := '1';           -- define VGA color on as HI\r
+  constant COLR_OFF   : std_logic := '0';           -- define VGA color off as LO\r
+  constant SEG_WIDTH : integer := 7;                -- display has 7 segments\r
+  constant BCD_WIDTH : integer := 4;                -- BCD number has 4 bit\r
+  constant TOG_CNT_WIDTH : integer := 25;           -- bitwidth of counter that controls blinking\r
+\r
+  constant COL_CNT_WIDTH   : integer := 10;          -- width of the column counter\r
+  constant LINE_CNT_WIDTH  : integer := 9;           -- width of the line counter\r
+  constant HSYN_CNT_WIDTH : integer := 10;          -- width of the h-sync counter\r
+  constant VSYN_CNT_WIDTH : integer := 10;          -- width of the v-sync counter\r
+\r
+  constant RIGHT_BORDER:  std_logic_vector(COL_CNT_WIDTH-1 downto 0) := "1001111111";  -- 640 columns (0...639)\r
+  constant BOTTOM_BORDER: std_logic_vector(LINE_CNT_WIDTH-1 downto 0) := "111011111";   -- 480 lines (0...479)\r
+\r
+  -- define coordinates of rectangle\r
+  constant X_MIN : std_logic_vector(COL_CNT_WIDTH-1 downto 0) := "0001100100";  -- 100\r
+  constant X_MAX : std_logic_vector(COL_CNT_WIDTH-1 downto 0) := "0011001000";  -- 200\r
+  constant Y_MIN : std_logic_vector(LINE_CNT_WIDTH-1 downto 0) := "001100100";\r
+  constant Y_MAX : std_logic_vector(LINE_CNT_WIDTH-1 downto 0) := "011001000";\r
+\r
+  -- define emumerated types for state machines\r
+  type hsync_state_type is (RESET_STATE, B_STATE, C_STATE, D_STATE, E_STATE,\r
+                            pre_D_STATE, pre_B_STATE);\r
+  type vsync_state_type is (RESET_STATE, P_STATE, Q_STATE, R_STATE, S_STATE,\r
+                            pre_R_STATE, pre_P_STATE);\r
+  \r
+  --  Definitions for 7-segment display                             gfedcba\r
+  constant DIGIT_ZERO  : std_logic_vector(SEG_WIDTH-1 downto 0) := "1000000";\r
+  constant DIGIT_ONE   : std_logic_vector(SEG_WIDTH-1 downto 0) := "1111001";\r
+  constant DIGIT_TWO   : std_logic_vector(SEG_WIDTH-1 downto 0) := "0100100";\r
+  constant DIGIT_THREE : std_logic_vector(SEG_WIDTH-1 downto 0) := "0110000";\r
+  constant DIGIT_FOUR  : std_logic_vector(SEG_WIDTH-1 downto 0) := "0011001";\r
+  constant DIGIT_FIVE  : std_logic_vector(SEG_WIDTH-1 downto 0) := "0010010";\r
+  constant DIGIT_SIX   : std_logic_vector(SEG_WIDTH-1 downto 0) := "0000010";\r
+  constant DIGIT_SEVEN : std_logic_vector(SEG_WIDTH-1 downto 0) := "1111000";\r
+  constant DIGIT_EIGHT : std_logic_vector(SEG_WIDTH-1 downto 0) := "0000000";\r
+  constant DIGIT_NINE  : std_logic_vector(SEG_WIDTH-1 downto 0) := "0011000";\r
+  constant DIGIT_MINUS : std_logic_vector(SEG_WIDTH-1 downto 0) := "0111111";\r
+  constant DIGIT_A     : std_logic_vector(SEG_WIDTH-1 downto 0) := "0001000";\r
+  constant DIGIT_B     : std_logic_vector(SEG_WIDTH-1 downto 0) := "0000011";\r
+  constant DIGIT_C     : std_logic_vector(SEG_WIDTH-1 downto 0) := "0110001";\r
+  constant DIGIT_D     : std_logic_vector(SEG_WIDTH-1 downto 0) := "1000010";\r
+  constant DIGIT_E     : std_logic_vector(SEG_WIDTH-1 downto 0) := "1001111";\r
+  constant DIGIT_F     : std_logic_vector(SEG_WIDTH-1 downto 0) := "1000111";\r
+  constant DIGIT_OFF   : std_logic_vector(SEG_WIDTH-1 downto 0) := "1111111";\r
\r
+end package;\r
diff --git a/bsp4/Angabe/vga_pll.bdf b/bsp4/Angabe/vga_pll.bdf
new file mode 100755 (executable)
index 0000000..906c435
--- /dev/null
@@ -0,0 +1,847 @@
+/*\r
+WARNING: Do NOT edit the input and output ports in this file in a text\r
+editor if you plan to continue editing the block that represents it in\r
+the Block Editor! File corruption is VERY likely to occur.\r
+*/\r
+/*\r
+Copyright (C) 1991-2006 Altera Corporation\r
+Your use of Altera Corporation's design tools, logic functions \r
+and other software and tools, and its AMPP partner logic \r
+functions, and any output files any of the foregoing \r
+(including device programming or simulation files), and any \r
+associated documentation or information are expressly subject \r
+to the terms and conditions of the Altera Program License \r
+Subscription Agreement, Altera MegaCore Function License \r
+Agreement, or other applicable license agreement, including, \r
+without limitation, that your use is for the sole purpose of \r
+programming logic devices manufactured by Altera and sold by \r
+Altera or its authorized distributors.  Please refer to the \r
+applicable agreement for further details.\r
+*/\r
+(header "graphic" (version "1.3"))\r
+(pin\r
+       (input)\r
+       (rect 248 80 416 96)\r
+       (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))\r
+       (text "board_clk" (rect 5 0 52 12)(font "Arial" ))\r
+       (pt 168 8)\r
+       (drawing\r
+               (line (pt 92 12)(pt 117 12)(line_width 1))\r
+               (line (pt 92 4)(pt 117 4)(line_width 1))\r
+               (line (pt 121 8)(pt 168 8)(line_width 1))\r
+               (line (pt 92 12)(pt 92 4)(line_width 1))\r
+               (line (pt 117 4)(pt 121 8)(line_width 1))\r
+               (line (pt 117 12)(pt 121 8)(line_width 1))\r
+       )\r
+       (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))\r
+       (annotation_block (location)(rect 256 136 304 152))\r
+)\r
+(pin\r
+       (input)\r
+       (rect 544 96 712 112)\r
+       (text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))\r
+       (text "reset" (rect 5 0 29 12)(font "Arial" ))\r
+       (pt 168 8)\r
+       (drawing\r
+               (line (pt 92 12)(pt 117 12)(line_width 1))\r
+               (line (pt 92 4)(pt 117 4)(line_width 1))\r
+               (line (pt 121 8)(pt 168 8)(line_width 1))\r
+               (line (pt 92 12)(pt 92 4)(line_width 1))\r
+               (line (pt 117 4)(pt 121 8)(line_width 1))\r
+               (line (pt 117 12)(pt 121 8)(line_width 1))\r
+       )\r
+       (text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))\r
+       (annotation_block (location)(rect 512 176 560 192))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 256 1148 272)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_hsync" (rect 90 0 132 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 96 1188 112))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 272 1148 288)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_vsync" (rect 90 0 133 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 112 1188 128))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 288 1148 304)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_column_counter[9..0]" (rect 90 0 205 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 128 1188 272))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 320 1148 336)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_set_column_counter" (rect 90 0 200 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 160 1196 176))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 336 1148 352)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_set_line_counter" (rect 90 0 182 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 176 1188 192))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 352 1148 368)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_hsync_counter[9..0]" (rect 90 0 200 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 192 1196 248))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 368 1142 384)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_vsync_counter[9..0]" (rect 90 0 202 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 208 1182 264))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 384 1142 400)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_set_hsync_counter" (rect 90 0 196 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 224 1182 240))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 400 1142 416)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_set_vsync_counter" (rect 90 0 197 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 240 1182 256))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 448 1142 464)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_r" (rect 90 0 105 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 288 1182 304))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 464 1142 480)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_g" (rect 90 0 107 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 304 1182 320))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 480 1142 496)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_b" (rect 90 0 107 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 320 1182 336))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 496 1142 512)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_hsync_state[0..6]" (rect 90 0 189 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1216 480 1264 584))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 512 1136 528)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_vsync_state[0..6]" (rect 90 0 190 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1256 352 1312 456))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 304 1148 320)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_line_counter[8..0]" (rect 90 0 186 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1140 144 1188 272))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 416 1142 432)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_h_enable" (rect 90 0 145 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 256 1182 272))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 432 1142 448)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_v_enable" (rect 90 0 146 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1134 272 1182 288))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 528 1148 544)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_state_clk" (rect 90 0 146 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1404 88 1452 104))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 544 1148 560)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_toggle" (rect 90 0 131 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1468 112 1516 128))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 80 1104 96)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "r0_pin" (rect 90 0 119 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 400 1144 416))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 96 1104 112)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "r1_pin" (rect 90 0 119 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 416 1144 432))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 112 1104 128)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "r2_pin" (rect 90 0 119 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 432 1144 448))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 128 1104 144)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "g0_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 448 1144 464))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 144 1104 160)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "g1_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 464 1144 480))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 160 1104 176)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "g2_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 480 1144 496))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 176 1104 192)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "b0_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 496 1144 512))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 192 1104 208)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "b1_pin" (rect 90 0 121 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 512 1144 528))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 240 1148 256)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "seven_seg_pin[13..0]" (rect 90 0 196 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1508 472 1572 672))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 560 1148 576)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "d_toggle_counter[24..0]" (rect 90 0 205 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1492 128 1548 288))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 208 1104 224)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "hsync_pin" (rect 90 0 140 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 528 1144 544))\r
+)\r
+(pin\r
+       (output)\r
+       (rect 928 224 1104 240)\r
+       (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))\r
+       (text "vsync_pin" (rect 90 0 141 12)(font "Arial" ))\r
+       (pt 0 8)\r
+       (drawing\r
+               (line (pt 0 8)(pt 52 8)(line_width 1))\r
+               (line (pt 52 4)(pt 78 4)(line_width 1))\r
+               (line (pt 52 12)(pt 78 12)(line_width 1))\r
+               (line (pt 52 12)(pt 52 4)(line_width 1))\r
+               (line (pt 78 4)(pt 82 8)(line_width 1))\r
+               (line (pt 82 8)(pt 78 12)(line_width 1))\r
+               (line (pt 78 12)(pt 82 8)(line_width 1))\r
+       )\r
+       (annotation_block (location)(rect 1096 544 1144 560))\r
+)\r
+(symbol\r
+       (rect 712 56 928 600)\r
+       (text "vga" (rect 5 0 23 12)(font "Arial" ))\r
+       (text "inst" (rect 8 528 25 540)(font "Arial" ))\r
+       (port\r
+               (pt 0 32)\r
+               (input)\r
+               (text "clk_pin" (rect 0 0 34 12)(font "Arial" ))\r
+               (text "clk_pin" (rect 21 27 55 39)(font "Arial" ))\r
+               (line (pt 0 32)(pt 16 32)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 0 48)\r
+               (input)\r
+               (text "reset_pin" (rect 0 0 44 12)(font "Arial" ))\r
+               (text "reset_pin" (rect 21 43 65 55)(font "Arial" ))\r
+               (line (pt 0 48)(pt 16 48)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 32)\r
+               (output)\r
+               (text "r0_pin" (rect 0 0 29 12)(font "Arial" ))\r
+               (text "r0_pin" (rect 166 27 195 39)(font "Arial" ))\r
+               (line (pt 216 32)(pt 200 32)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 48)\r
+               (output)\r
+               (text "r1_pin" (rect 0 0 29 12)(font "Arial" ))\r
+               (text "r1_pin" (rect 166 43 195 55)(font "Arial" ))\r
+               (line (pt 216 48)(pt 200 48)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 64)\r
+               (output)\r
+               (text "r2_pin" (rect 0 0 29 12)(font "Arial" ))\r
+               (text "r2_pin" (rect 166 59 195 71)(font "Arial" ))\r
+               (line (pt 216 64)(pt 200 64)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 80)\r
+               (output)\r
+               (text "g0_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "g0_pin" (rect 164 75 195 87)(font "Arial" ))\r
+               (line (pt 216 80)(pt 200 80)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 96)\r
+               (output)\r
+               (text "g1_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "g1_pin" (rect 164 91 195 103)(font "Arial" ))\r
+               (line (pt 216 96)(pt 200 96)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 112)\r
+               (output)\r
+               (text "g2_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "g2_pin" (rect 164 107 195 119)(font "Arial" ))\r
+               (line (pt 216 112)(pt 200 112)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 128)\r
+               (output)\r
+               (text "b0_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "b0_pin" (rect 164 123 195 135)(font "Arial" ))\r
+               (line (pt 216 128)(pt 200 128)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 144)\r
+               (output)\r
+               (text "b1_pin" (rect 0 0 31 12)(font "Arial" ))\r
+               (text "b1_pin" (rect 164 139 195 151)(font "Arial" ))\r
+               (line (pt 216 144)(pt 200 144)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 160)\r
+               (output)\r
+               (text "hsync_pin" (rect 0 0 50 12)(font "Arial" ))\r
+               (text "hsync_pin" (rect 145 155 195 167)(font "Arial" ))\r
+               (line (pt 216 160)(pt 200 160)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 176)\r
+               (output)\r
+               (text "vsync_pin" (rect 0 0 51 12)(font "Arial" ))\r
+               (text "vsync_pin" (rect 144 171 195 183)(font "Arial" ))\r
+               (line (pt 216 176)(pt 200 176)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 192)\r
+               (output)\r
+               (text "seven_seg_pin[13..0]" (rect 0 0 106 12)(font "Arial" ))\r
+               (text "seven_seg_pin[13..0]" (rect 89 187 195 199)(font "Arial" ))\r
+               (line (pt 216 192)(pt 200 192)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 208)\r
+               (output)\r
+               (text "d_hsync" (rect 0 0 42 12)(font "Arial" ))\r
+               (text "d_hsync" (rect 153 203 195 215)(font "Arial" ))\r
+               (line (pt 216 208)(pt 200 208)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 224)\r
+               (output)\r
+               (text "d_vsync" (rect 0 0 43 12)(font "Arial" ))\r
+               (text "d_vsync" (rect 152 219 195 231)(font "Arial" ))\r
+               (line (pt 216 224)(pt 200 224)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 240)\r
+               (output)\r
+               (text "d_column_counter[9..0]" (rect 0 0 115 12)(font "Arial" ))\r
+               (text "d_column_counter[9..0]" (rect 80 235 195 247)(font "Arial" ))\r
+               (line (pt 216 240)(pt 200 240)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 256)\r
+               (output)\r
+               (text "d_line_counter[8..0]" (rect 0 0 96 12)(font "Arial" ))\r
+               (text "d_line_counter[8..0]" (rect 99 251 195 263)(font "Arial" ))\r
+               (line (pt 216 256)(pt 200 256)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 272)\r
+               (output)\r
+               (text "d_set_column_counter" (rect 0 0 110 12)(font "Arial" ))\r
+               (text "d_set_column_counter" (rect 85 267 195 279)(font "Arial" ))\r
+               (line (pt 216 272)(pt 200 272)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 288)\r
+               (output)\r
+               (text "d_set_line_counter" (rect 0 0 92 12)(font "Arial" ))\r
+               (text "d_set_line_counter" (rect 103 283 195 295)(font "Arial" ))\r
+               (line (pt 216 288)(pt 200 288)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 304)\r
+               (output)\r
+               (text "d_hsync_counter[9..0]" (rect 0 0 110 12)(font "Arial" ))\r
+               (text "d_hsync_counter[9..0]" (rect 85 299 195 311)(font "Arial" ))\r
+               (line (pt 216 304)(pt 200 304)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 320)\r
+               (output)\r
+               (text "d_vsync_counter[9..0]" (rect 0 0 112 12)(font "Arial" ))\r
+               (text "d_vsync_counter[9..0]" (rect 83 315 195 327)(font "Arial" ))\r
+               (line (pt 216 320)(pt 200 320)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 336)\r
+               (output)\r
+               (text "d_set_hsync_counter" (rect 0 0 106 12)(font "Arial" ))\r
+               (text "d_set_hsync_counter" (rect 89 331 195 343)(font "Arial" ))\r
+               (line (pt 216 336)(pt 200 336)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 352)\r
+               (output)\r
+               (text "d_set_vsync_counter" (rect 0 0 107 12)(font "Arial" ))\r
+               (text "d_set_vsync_counter" (rect 88 347 195 359)(font "Arial" ))\r
+               (line (pt 216 352)(pt 200 352)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 368)\r
+               (output)\r
+               (text "d_h_enable" (rect 0 0 55 12)(font "Arial" ))\r
+               (text "d_h_enable" (rect 140 363 195 375)(font "Arial" ))\r
+               (line (pt 216 368)(pt 200 368)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 384)\r
+               (output)\r
+               (text "d_v_enable" (rect 0 0 56 12)(font "Arial" ))\r
+               (text "d_v_enable" (rect 139 379 195 391)(font "Arial" ))\r
+               (line (pt 216 384)(pt 200 384)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 400)\r
+               (output)\r
+               (text "d_r" (rect 0 0 15 12)(font "Arial" ))\r
+               (text "d_r" (rect 180 395 195 407)(font "Arial" ))\r
+               (line (pt 216 400)(pt 200 400)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 416)\r
+               (output)\r
+               (text "d_g" (rect 0 0 17 12)(font "Arial" ))\r
+               (text "d_g" (rect 178 411 195 423)(font "Arial" ))\r
+               (line (pt 216 416)(pt 200 416)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 432)\r
+               (output)\r
+               (text "d_b" (rect 0 0 17 12)(font "Arial" ))\r
+               (text "d_b" (rect 178 427 195 439)(font "Arial" ))\r
+               (line (pt 216 432)(pt 200 432)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 448)\r
+               (output)\r
+               (text "d_hsync_state[0..6]" (rect 0 0 99 12)(font "Arial" ))\r
+               (text "d_hsync_state[0..6]" (rect 96 443 195 455)(font "Arial" ))\r
+               (line (pt 216 448)(pt 200 448)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 464)\r
+               (output)\r
+               (text "d_vsync_state[0..6]" (rect 0 0 100 12)(font "Arial" ))\r
+               (text "d_vsync_state[0..6]" (rect 95 459 195 471)(font "Arial" ))\r
+               (line (pt 216 464)(pt 200 464)(line_width 3))\r
+       )\r
+       (port\r
+               (pt 216 480)\r
+               (output)\r
+               (text "d_state_clk" (rect 0 0 56 12)(font "Arial" ))\r
+               (text "d_state_clk" (rect 139 475 195 487)(font "Arial" ))\r
+               (line (pt 216 480)(pt 200 480)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 496)\r
+               (output)\r
+               (text "d_toggle" (rect 0 0 41 12)(font "Arial" ))\r
+               (text "d_toggle" (rect 154 491 195 503)(font "Arial" ))\r
+               (line (pt 216 496)(pt 200 496)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 216 512)\r
+               (output)\r
+               (text "d_toggle_counter[24..0]" (rect 0 0 115 12)(font "Arial" ))\r
+               (text "d_toggle_counter[24..0]" (rect 80 507 195 519)(font "Arial" ))\r
+               (line (pt 216 512)(pt 200 512)(line_width 3))\r
+       )\r
+       (drawing\r
+               (rectangle (rect 16 16 200 528)(line_width 1))\r
+       )\r
+)\r
+(symbol\r
+       (rect 416 56 512 152)\r
+       (text "vpll" (rect 5 0 22 12)(font "Arial" ))\r
+       (text "inst1" (rect 8 80 31 92)(font "Arial" ))\r
+       (port\r
+               (pt 0 32)\r
+               (input)\r
+               (text "inclk0" (rect 0 0 28 12)(font "Arial" ))\r
+               (text "inclk0" (rect 21 27 49 39)(font "Arial" ))\r
+               (line (pt 0 32)(pt 16 32)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 96 32)\r
+               (output)\r
+               (text "c0" (rect 0 0 11 12)(font "Arial" ))\r
+               (text "c0" (rect 64 27 75 39)(font "Arial" ))\r
+               (line (pt 96 32)(pt 80 32)(line_width 1))\r
+       )\r
+       (drawing\r
+               (rectangle (rect 16 16 80 80)(line_width 1))\r
+       )\r
+)\r
+(connector\r
+       (pt 512 88)\r
+       (pt 712 88)\r
+)\r
diff --git a/bsp4/Angabe/vga_pll.tcl b/bsp4/Angabe/vga_pll.tcl
new file mode 100755 (executable)
index 0000000..c260434
--- /dev/null
@@ -0,0 +1,184 @@
+# Copyright (C) 1991-2006 Altera Corporation\r
+# Your use of Altera Corporation's design tools, logic functions \r
+# and other software and tools, and its AMPP partner logic \r
+# functions, and any output files any of the foregoing \r
+# (including device programming or simulation files), and any \r
+# associated documentation or information are expressly subject \r
+# to the terms and conditions of the Altera Program License \r
+# Subscription Agreement, Altera MegaCore Function License \r
+# Agreement, or other applicable license agreement, including, \r
+# without limitation, that your use is for the sole purpose of \r
+# programming logic devices manufactured by Altera and sold by \r
+# Altera or its authorized distributors.  Please refer to the \r
+# applicable agreement for further details.\r
+\r
+# Quartus II: Generate Tcl File for Project\r
+# File: vga_pll.tcl\r
+# Generated on: Fri Sep 29 09:31:24 2006\r
+\r
+# Load Quartus II Tcl Project package\r
+package require ::quartus::project\r
+package require ::quartus::flow\r
+\r
+set need_to_close_project 0\r
+set make_assignments 1\r
+\r
+# Check that the right project is open\r
+if {[is_project_open]} {\r
+       if {[string compare $quartus(project) "vga_pll"]} {\r
+               puts "Project vga_pll is not open"\r
+               set make_assignments 0\r
+       }\r
+} else {\r
+       # Only open if not already open\r
+       if {[project_exists vga_pll]} {\r
+               project_open -cmp vga_pll vga_pll\r
+       } else {\r
+               project_new -cmp vga_pll vga_pll\r
+       }\r
+       set need_to_close_project 1\r
+}\r
+\r
+# Make assignments\r
+if {$make_assignments} {\r
+       catch { set_global_assignment -name FAMILY Stratix } result\r
+       catch { set_global_assignment -name DEVICE EP1S25F672C6 } result\r
+       catch { set_global_assignment -name ORIGINAL_QUARTUS_VERSION 6.0 } result\r
+       catch { set_global_assignment -name PROJECT_CREATION_TIME_DATE "09:04:10  SEPTEMBER 29, 2006" } result\r
+       catch { set_global_assignment -name LAST_QUARTUS_VERSION 6.0 } result\r
+       catch { set_global_assignment -name EDA_DESIGN_ENTRY_SYNTHESIS_TOOL "Synplify Pro" } result\r
+       catch { set_global_assignment -name EDA_LMF_FILE synplcty.lmf -section_id eda_design_synthesis } result\r
+       catch { set_global_assignment -name EDA_INPUT_DATA_FORMAT VQM -section_id eda_design_synthesis } result\r
+       catch { set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (Verilog)" } result\r
+       catch { set_global_assignment -name EDA_TIME_SCALE "1 ps" -section_id eda_simulation } result\r
+       catch { set_global_assignment -name EDA_OUTPUT_DATA_FORMAT VERILOG -section_id eda_simulation } result\r
+       catch { set_global_assignment -name DEVICE_FILTER_PACKAGE FBGA } result\r
+       catch { set_global_assignment -name DEVICE_FILTER_PIN_COUNT 672 } result\r
+       catch { set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 6 } result\r
+       catch { set_global_assignment -name BSF_FILE ../../src/vpll.bsf } result\r
+       catch { set_global_assignment -name VHDL_FILE ../../src/vpll.vhd } result\r
+       catch { set_global_assignment -name BDF_FILE ../../src/vga_pll.bdf } result\r
+       catch { set_global_assignment -name VQM_FILE ../../syn/rev_1/vga.vqm } result\r
+\r
+       set_location_assignment PIN_E24 -to b0_pin\r
+       set_location_assignment PIN_T6 -to b1_pin\r
+       set_location_assignment PIN_N3 -to board_clk\r
+       set_location_assignment PIN_E23 -to g0_pin\r
+       set_location_assignment PIN_T5 -to g1_pin\r
+       set_location_assignment PIN_T24 -to g2_pin\r
+       set_location_assignment PIN_F1 -to hsync_pin\r
+       set_location_assignment PIN_E22 -to r0_pin\r
+       set_location_assignment PIN_T4 -to r1_pin\r
+       set_location_assignment PIN_T7 -to r2_pin\r
+       set_location_assignment PIN_A5 -to reset\r
+       set_location_assignment PIN_F2 -to vsync_pin\r
+       set_location_assignment PIN_Y5 -to d_hsync_state[0]\r
+       set_location_assignment PIN_F19 -to d_hsync_state[1]\r
+       set_location_assignment PIN_F17 -to d_hsync_state[2]\r
+       set_location_assignment PIN_Y2 -to d_hsync_state[3]\r
+       set_location_assignment PIN_F10 -to d_hsync_state[4]\r
+       set_location_assignment PIN_F9 -to d_hsync_state[5]\r
+       set_location_assignment PIN_F6 -to d_hsync_state[6]\r
+       set_location_assignment PIN_H4 -to d_hsync_counter[0]\r
+       set_location_assignment PIN_G25 -to d_hsync_counter[7]\r
+       set_location_assignment PIN_G22 -to d_hsync_counter[8]\r
+       set_location_assignment PIN_G18 -to d_hsync_counter[9]\r
+       set_location_assignment PIN_F5 -to d_vsync_state[0]\r
+       set_location_assignment PIN_F4 -to d_vsync_state[1]\r
+       set_location_assignment PIN_F3 -to d_vsync_state[2]\r
+       set_location_assignment PIN_M19 -to d_vsync_state[3]\r
+       set_location_assignment PIN_M18 -to d_vsync_state[4]\r
+       set_location_assignment PIN_M7 -to d_vsync_state[5]\r
+       set_location_assignment PIN_M4 -to d_vsync_state[6]\r
+       set_location_assignment PIN_G9 -to d_vsync_counter[0]\r
+       set_location_assignment PIN_G6 -to d_vsync_counter[7]\r
+       set_location_assignment PIN_G4 -to d_vsync_counter[8]\r
+       set_location_assignment PIN_G2 -to d_vsync_counter[9]\r
+       set_location_assignment PIN_K6 -to d_line_counter[0]\r
+       set_location_assignment PIN_K4 -to d_line_counter[1]\r
+       set_location_assignment PIN_J22 -to d_line_counter[2]\r
+       set_location_assignment PIN_M9 -to d_line_counter[3]\r
+       set_location_assignment PIN_M8 -to d_line_counter[4]\r
+       set_location_assignment PIN_M6 -to d_line_counter[5]\r
+       set_location_assignment PIN_M5 -to d_line_counter[6]\r
+       set_location_assignment PIN_L24 -to d_line_counter[7]\r
+       set_location_assignment PIN_L25 -to d_line_counter[8]\r
+       set_location_assignment PIN_L23 -to d_column_counter[0]\r
+       set_location_assignment PIN_L22 -to d_column_counter[1]\r
+       set_location_assignment PIN_L21 -to d_column_counter[2]\r
+       set_location_assignment PIN_L20 -to d_column_counter[3]\r
+       set_location_assignment PIN_L6 -to d_column_counter[4]\r
+       set_location_assignment PIN_L4 -to d_column_counter[5]\r
+       set_location_assignment PIN_L2 -to d_column_counter[6]\r
+       set_location_assignment PIN_K23 -to d_column_counter[7]\r
+       set_location_assignment PIN_K19 -to d_column_counter[8]\r
+       set_location_assignment PIN_K5 -to d_column_counter[9]\r
+       set_location_assignment PIN_L7 -to d_hsync\r
+       set_location_assignment PIN_L5 -to d_vsync\r
+       set_location_assignment PIN_F26 -to d_set_hsync_counter\r
+       set_location_assignment PIN_F24 -to d_set_vsync_counter\r
+       set_location_assignment PIN_F21 -to d_set_line_counter\r
+       set_location_assignment PIN_Y23 -to d_set_column_counter\r
+       set_location_assignment PIN_L3 -to d_r\r
+       set_location_assignment PIN_K24 -to d_g\r
+       set_location_assignment PIN_K20 -to d_b\r
+       set_location_assignment PIN_H18 -to d_v_enable\r
+       set_location_assignment PIN_J21 -to d_h_enable\r
+       set_location_assignment PIN_R8 -to seven_seg_pin[0]\r
+       set_location_assignment PIN_R9 -to seven_seg_pin[1]\r
+       set_location_assignment PIN_R19 -to seven_seg_pin[2]\r
+       set_location_assignment PIN_R20 -to seven_seg_pin[3]\r
+       set_location_assignment PIN_R21 -to seven_seg_pin[4]\r
+       set_location_assignment PIN_R22 -to seven_seg_pin[5]\r
+       set_location_assignment PIN_R23 -to seven_seg_pin[6]\r
+       set_location_assignment PIN_Y11 -to seven_seg_pin[7]\r
+       set_location_assignment PIN_N7 -to seven_seg_pin[8]\r
+       set_location_assignment PIN_N8 -to seven_seg_pin[9]\r
+       set_location_assignment PIN_R4 -to seven_seg_pin[10]\r
+       set_location_assignment PIN_R6 -to seven_seg_pin[11]\r
+       set_location_assignment PIN_AA11 -to seven_seg_pin[12]\r
+       set_location_assignment PIN_T2 -to seven_seg_pin[13]\r
+       set_location_assignment PIN_K3 -to d_state_clk\r
+        set_location_assignment PIN_H3 -to d_toggle\r
+        set_location_assignment PIN_H26 -to d_toggle_counter[0]\r
+        set_location_assignment PIN_G24 -to d_toggle_counter[15]\r
+        set_location_assignment PIN_G23 -to d_toggle_counter[16]\r
+        set_location_assignment PIN_G21 -to d_toggle_counter[17]\r
+        set_location_assignment PIN_G20 -to d_toggle_counter[18]\r
+        set_location_assignment PIN_G5 -to d_toggle_counter[19]\r
+        set_location_assignment PIN_G3 -to d_toggle_counter[20]\r
+        set_location_assignment PIN_G1 -to d_toggle_counter[21]\r
+        set_location_assignment PIN_F25 -to d_toggle_counter[22]\r
+        set_location_assignment PIN_F23 -to d_toggle_counter[23]\r
+        set_location_assignment PIN_T19 -to d_toggle_counter[24]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_column_counter\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[1]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[2]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[3]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[4]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[5]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_counter[6]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_hsync_state\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_line_counter\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[1]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[2]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[3]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[4]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[5]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_counter[6]\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to d_vsync_state\r
+       set_instance_assignment -name SLOW_SLEW_RATE ON -to seven_seg_pin\r
+\r
+\r
+       # Commit assignments\r
+       export_assignments\r
+\r
+execute_flow -compile\r
+\r
+       # Close project\r
+       if {$need_to_close_project} {\r
+               project_close\r
+       }\r
+}\r
diff --git a/bsp4/Angabe/vga_pos_tb.vhd b/bsp4/Angabe/vga_pos_tb.vhd
new file mode 100644 (file)
index 0000000..ebcff70
--- /dev/null
@@ -0,0 +1,198 @@
+-------------------------------------------------------------------------------
+-- Title      : vga testbench
+-- Project    : 
+-------------------------------------------------------------------------------
+-- File       : vga_tb.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-09-29
+-- Platform   : 
+-------------------------------------------------------------------------------
+-- Description: 
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+entity vga_pos_tb is
+
+end vga_pos_tb;
+
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+architecture structure of vga_pos_tb is
+  
+  constant cc : time := 39.7 ns;        -- test clock period
+
+  component vga
+    port (
+      clk_pin                                  : in  std_logic;
+      reset_pin                                : in  std_logic;
+      r0_pin, r1_pin, r2_pin                   : out std_logic;
+      g0_pin, g1_pin, g2_pin                   : out std_logic;
+      b0_pin, b1_pin                           : out std_logic;
+      hsync_pin                                : out std_logic;
+      vsync_pin                                : out std_logic;
+      seven_seg_pin                            : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+      d_hsync, d_vsync                         : out std_logic;
+      d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+      d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+      d_set_column_counter, d_set_line_counter : out std_logic;
+      d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+      d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+      d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+      d_h_enable                               : out std_logic;
+      d_v_enable                               : out std_logic;
+      d_r, d_g, d_b                            : out std_logic;
+      d_hsync_state                            : out std_logic_vector(0 to 6);
+      d_vsync_state                            : out std_logic_vector(0 to 6);
+      d_state_clk                              : out std_logic;
+      d_toggle                                 : out std_logic;
+      d_toggle_counter                         : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0));
+  end component;
+  
+  signal clk_pin                                  : std_logic;
+  signal reset_pin                                : std_logic;
+  signal r0_pin, r1_pin, r2_pin                   : std_logic;
+  signal g0_pin, g1_pin, g2_pin                   : std_logic;
+  signal b0_pin, b1_pin                           : std_logic;
+  signal hsync_pin                                : std_logic;
+  signal vsync_pin                                : std_logic;
+  signal seven_seg_pin                            : std_logic_vector(2*SEG_WIDTH-1 downto 0);
+  signal d_hsync, d_vsync                         : std_logic;
+  signal d_column_counter                         : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal d_line_counter                           : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal d_set_column_counter, d_set_line_counter : std_logic;
+  signal d_hsync_counter                          : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal d_vsync_counter                          : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal d_set_hsync_counter, d_set_vsync_counter : std_logic;
+  signal d_h_enable                               : std_logic;
+  signal d_v_enable                               : std_logic;
+  signal d_r, d_g, d_b                            : std_logic;
+  signal d_hsync_state                            : std_logic_vector(0 to 6);
+  signal d_vsync_state                            : std_logic_vector(0 to 6);
+  signal d_state_clk                              : std_logic;
+  signal d_toggle                                 : std_logic;
+  signal d_toggle_counter                         : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);
+  signal clk                                      : std_logic;
+  
+begin
+
+  vga_unit: vga
+    port map (
+      clk_pin              => clk_pin,
+      reset_pin            => reset_pin,
+      r0_pin               => r0_pin,
+      r1_pin               => r1_pin,
+      r2_pin               => r2_pin,
+      g0_pin               => g0_pin,
+      g1_pin               => g1_pin,
+      g2_pin               => g2_pin,
+      b0_pin               => b0_pin,
+      b1_pin               => b1_pin,
+      hsync_pin            => hsync_pin,
+      vsync_pin            => vsync_pin,
+      seven_seg_pin        => seven_seg_pin,
+      d_hsync              => d_hsync,
+      d_vsync              => d_vsync,
+      d_column_counter     => d_column_counter,
+      d_line_counter       => d_line_counter,
+      d_set_column_counter => d_set_column_counter,
+      d_set_line_counter   => d_set_line_counter,
+      d_hsync_counter      => d_hsync_counter,
+      d_vsync_counter      => d_vsync_counter,
+      d_set_hsync_counter  => d_set_hsync_counter,
+      d_set_vsync_counter  => d_set_vsync_counter,
+      d_h_enable           => d_h_enable,
+      d_v_enable           => d_v_enable,
+      d_r                  => d_r,
+      d_g                  => d_g,
+      d_b                  => d_b,
+      d_hsync_state        => d_hsync_state,
+      d_vsync_state        => d_vsync_state,
+      d_state_clk          => d_state_clk,
+      d_toggle             => d_toggle,
+      d_toggle_counter     => d_toggle_counter);
+
+
+  
+-------------------------------------------------------------------------------
+-- generate simulation clock
+-------------------------------------------------------------------------------
+  CLKGEN : process
+  begin
+    clk <= '1';
+    wait for cc/2;
+    clk <= '0';
+    wait for cc/2;
+  end process CLKGEN;
+
+-------------------------------------------------------------------------------
+-- test the design
+-------------------------------------------------------------------------------
+  TEST_IT : process
+
+    -- wait for n clock cycles
+    procedure icwait(cycles : natural) is
+    begin
+      for i in 1 to cycles loop
+        wait until clk = '1' and clk'event;
+      end loop;
+    end;
+
+  begin
+    -----------------------------------------------------------------------------
+    -- initial reset
+    -----------------------------------------------------------------------------
+    reset_pin <= '0';
+    icwait(10);
+    reset_pin <= '1';
+    icwait(1000000000);
+
+    ---------------------------------------------------------------------------
+    -- exit testbench
+    ---------------------------------------------------------------------------
+    assert false
+      report "Test finished"
+      severity error;
+
+  end process test_it;
+  
+  clk_pin <= clk;
+
+end structure;
+
+-------------------------------------------------------------------------------
+-- configuration
+-------------------------------------------------------------------------------
+configuration vga_conf_pos of vga_pos_tb is
+  for structure
+    for vga_unit : vga use entity work.vga(structure);
+    end for;
+  end for;
+end vga_conf_pos;
+
+
+
diff --git a/bsp4/Angabe/vga_pre_tb.vhd b/bsp4/Angabe/vga_pre_tb.vhd
new file mode 100644 (file)
index 0000000..dc010f7
--- /dev/null
@@ -0,0 +1,197 @@
+-------------------------------------------------------------------------------
+-- Title      : vga testbench
+-- Project    : 
+-------------------------------------------------------------------------------
+-- File       : vga_tb.vhd
+-- Author     : Thomas Handl
+-- Company    : TU Wien
+-- Created    : 2004-04-07
+-- Last update: 2006-09-29
+-- Platform   : 
+-------------------------------------------------------------------------------
+-- Description: 
+-------------------------------------------------------------------------------
+-- Copyright (c) 2004 TU Wien
+-------------------------------------------------------------------------------
+-- Revisions  :
+-- Date        Version  Author  Description
+-- 2004-04-07  1.0      handl   Created
+-------------------------------------------------------------------------------
+
+
+-------------------------------------------------------------------------------
+-- LIBRARIES
+-------------------------------------------------------------------------------
+
+library IEEE;
+use IEEE.std_logic_1164.all;
+use IEEE.std_logic_unsigned.all;
+use IEEE.std_logic_arith.all;
+
+use work.vga_pak.all;
+
+
+-------------------------------------------------------------------------------
+-- ENTITY
+-------------------------------------------------------------------------------
+entity vga_pre_tb is
+
+end vga_pre_tb;
+
+
+-------------------------------------------------------------------------------
+-- ARCHITECTURE
+-------------------------------------------------------------------------------
+architecture structure of vga_pre_tb is
+
+  constant cc : time := 39.7 ns;        -- test clock period
+
+  component vga
+    port (
+      clk_pin                                  : in  std_logic;
+      reset_pin                                : in  std_logic;
+      r0_pin, r1_pin, r2_pin                   : out std_logic;
+      g0_pin, g1_pin, g2_pin                   : out std_logic;
+      b0_pin, b1_pin                           : out std_logic;
+      hsync_pin                                : out std_logic;
+      vsync_pin                                : out std_logic;
+      seven_seg_pin                            : out std_logic_vector(2*SEG_WIDTH-1 downto 0);
+      d_hsync, d_vsync                         : out std_logic;
+      d_column_counter                         : out std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+      d_line_counter                           : out std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+      d_set_column_counter, d_set_line_counter : out std_logic;
+      d_hsync_counter                          : out std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+      d_vsync_counter                          : out std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+      d_set_hsync_counter, d_set_vsync_counter : out std_logic;
+      d_h_enable                               : out std_logic;
+      d_v_enable                               : out std_logic;
+      d_r, d_g, d_b                            : out std_logic;
+      d_hsync_state                            : out std_logic_vector(0 to 6);
+      d_vsync_state                            : out std_logic_vector(0 to 6);
+      d_state_clk                              : out std_logic;
+      d_toggle                                 : out std_logic;
+      d_toggle_counter                         : out std_logic_vector(TOG_CNT_WIDTH-1 downto 0));
+  end component;
+
+  signal clk_pin                                  : std_logic;
+  signal reset_pin                                : std_logic;
+  signal r0_pin, r1_pin, r2_pin                   : std_logic;
+  signal g0_pin, g1_pin, g2_pin                   : std_logic;
+  signal b0_pin, b1_pin                           : std_logic;
+  signal hsync_pin                                : std_logic;
+  signal vsync_pin                                : std_logic;
+  signal seven_seg_pin                            : std_logic_vector(2*SEG_WIDTH-1 downto 0);
+  signal d_hsync, d_vsync                         : std_logic;
+  signal d_column_counter                         : std_logic_vector(COL_CNT_WIDTH-1 downto 0);
+  signal d_line_counter                           : std_logic_vector(LINE_CNT_WIDTH-1 downto 0);
+  signal d_set_column_counter, d_set_line_counter : std_logic;
+  signal d_hsync_counter                          : std_logic_vector(HSYN_CNT_WIDTH-1 downto 0);
+  signal d_vsync_counter                          : std_logic_vector(VSYN_CNT_WIDTH-1 downto 0);
+  signal d_set_hsync_counter, d_set_vsync_counter : std_logic;
+  signal d_h_enable                               : std_logic;
+  signal d_v_enable                               : std_logic;
+  signal d_r, d_g, d_b                            : std_logic;
+  signal d_hsync_state                            : std_logic_vector(0 to 6);
+  signal d_vsync_state                            : std_logic_vector(0 to 6);
+  signal d_state_clk                              : std_logic;
+  signal d_toggle                                 : std_logic;
+  signal d_toggle_counter                         : std_logic_vector(TOG_CNT_WIDTH-1 downto 0);
+  signal clk                                      : std_logic;
+
+begin
+
+  vga_unit: vga
+    port map (
+      clk_pin              => clk_pin,
+      reset_pin            => reset_pin,
+      r0_pin               => r0_pin,
+      r1_pin               => r1_pin,
+      r2_pin               => r2_pin,
+      g0_pin               => g0_pin,
+      g1_pin               => g1_pin,
+      g2_pin               => g2_pin,
+      b0_pin               => b0_pin,
+      b1_pin               => b1_pin,
+      hsync_pin            => hsync_pin,
+      vsync_pin            => vsync_pin,
+      seven_seg_pin        => seven_seg_pin,
+      d_hsync              => d_hsync,
+      d_vsync              => d_vsync,
+      d_column_counter     => d_column_counter,
+      d_line_counter       => d_line_counter,
+      d_set_column_counter => d_set_column_counter,
+      d_set_line_counter   => d_set_line_counter,
+      d_hsync_counter      => d_hsync_counter,
+      d_vsync_counter      => d_vsync_counter,
+      d_set_hsync_counter  => d_set_hsync_counter,
+      d_set_vsync_counter  => d_set_vsync_counter,
+      d_h_enable           => d_h_enable,
+      d_v_enable           => d_v_enable,
+      d_r                  => d_r,
+      d_g                  => d_g,
+      d_b                  => d_b,
+      d_hsync_state        => d_hsync_state,
+      d_vsync_state        => d_vsync_state,
+      d_state_clk          => d_state_clk,
+      d_toggle             => d_toggle,
+      d_toggle_counter     => d_toggle_counter);
+
+  
+-------------------------------------------------------------------------------
+-- generate simulation clock
+-------------------------------------------------------------------------------
+  CLKGEN : process
+  begin
+    clk <= '1';
+    wait for cc/2;
+    clk <= '0';
+    wait for cc/2;
+  end process CLKGEN;
+
+-------------------------------------------------------------------------------
+-- test the design
+-------------------------------------------------------------------------------
+  TEST_IT : process
+
+    -- wait for n clock cycles
+    procedure icwait(cycles : natural) is
+    begin
+      for i in 1 to cycles loop
+        wait until clk = '1' and clk'event;
+      end loop;
+    end;
+
+  begin
+    -----------------------------------------------------------------------------
+    -- initial reset
+    -----------------------------------------------------------------------------
+    reset_pin <= '0';
+    icwait(10);
+    reset_pin <= '1';
+    icwait(10000000);
+
+    ---------------------------------------------------------------------------
+    -- exit testbench
+    ---------------------------------------------------------------------------
+    assert false
+      report "Test finished"
+      severity error;
+
+  end process test_it;
+  
+  clk_pin <= clk;
+
+end structure;
+
+-------------------------------------------------------------------------------
+-- configuration
+-------------------------------------------------------------------------------
+configuration vga_conf_pre of vga_pre_tb is
+  for structure
+    for vga_unit : vga use entity work.vga(beh);
+    end for;
+  end for;
+end vga_conf_pre;
+
+
+
diff --git a/bsp4/Angabe/vpll.bsf b/bsp4/Angabe/vpll.bsf
new file mode 100644 (file)
index 0000000..63c3118
--- /dev/null
@@ -0,0 +1,49 @@
+/*\r
+WARNING: Do NOT edit the input and output ports in this file in a text\r
+editor if you plan to continue editing the block that represents it in\r
+the Block Editor! File corruption is VERY likely to occur.\r
+*/\r
+/*\r
+Copyright (C) 1991-2004 Altera Corporation\r
+Any  megafunction  design,  and related netlist (encrypted  or  decrypted),\r
+support information,  device programming or simulation file,  and any other\r
+associated  documentation or information  provided by  Altera  or a partner\r
+under  Altera's   Megafunction   Partnership   Program  may  be  used  only\r
+to program  PLD  devices (but not masked  PLD  devices) from  Altera.   Any\r
+other  use  of such  megafunction  design,  netlist,  support  information,\r
+device programming or simulation file,  or any other  related documentation\r
+or information  is prohibited  for  any  other purpose,  including, but not\r
+limited to  modification,  reverse engineering,  de-compiling, or use  with\r
+any other  silicon devices,  unless such use is  explicitly  licensed under\r
+a separate agreement with  Altera  or a megafunction partner.  Title to the\r
+intellectual property,  including patents,  copyrights,  trademarks,  trade\r
+secrets,  or maskworks,  embodied in any such megafunction design, netlist,\r
+support  information,  device programming or simulation file,  or any other\r
+related documentation or information provided by  Altera  or a megafunction\r
+partner, remains with Altera, the megafunction partner, or their respective\r
+licensors. No other licenses, including any licenses needed under any third\r
+party's intellectual property, are provided herein.\r
+*/\r
+(header "symbol" (version "1.1"))\r
+(symbol\r
+       (rect 16 16 112 112)\r
+       (text "vpll" (rect 5 0 22 12)(font "Arial" ))\r
+       (text "inst" (rect 8 80 25 92)(font "Arial" ))\r
+       (port\r
+               (pt 0 32)\r
+               (input)\r
+               (text "inclk0" (rect 0 0 28 12)(font "Arial" ))\r
+               (text "inclk0" (rect 21 27 49 39)(font "Arial" ))\r
+               (line (pt 0 32)(pt 16 32)(line_width 1))\r
+       )\r
+       (port\r
+               (pt 96 32)\r
+               (output)\r
+               (text "c0" (rect 0 0 11 12)(font "Arial" ))\r
+               (text "c0" (rect 64 27 75 39)(font "Arial" ))\r
+               (line (pt 96 32)(pt 80 32)(line_width 1))\r
+       )\r
+       (drawing\r
+               (rectangle (rect 16 16 80 80)(line_width 1))\r
+       )\r
+)\r
diff --git a/bsp4/Angabe/vpll.vhd b/bsp4/Angabe/vpll.vhd
new file mode 100644 (file)
index 0000000..dbb347f
--- /dev/null
@@ -0,0 +1,274 @@
+-- megafunction wizard: %ALTPLL%\r
+-- GENERATION: STANDARD\r
+-- VERSION: WM1.0\r
+-- MODULE: altpll \r
+\r
+-- ============================================================\r
+-- File Name: vpll.vhd\r
+-- Megafunction Name(s):\r
+--                     altpll\r
+-- ============================================================\r
+-- ************************************************************\r
+-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!\r
+--\r
+-- 4.1 Build 181 06/29/2004 SJ Full Version\r
+-- ************************************************************\r
+\r
+\r
+--Copyright (C) 1991-2004 Altera Corporation\r
+--Any  megafunction  design,  and related netlist (encrypted  or  decrypted),\r
+--support information,  device programming or simulation file,  and any other\r
+--associated  documentation or information  provided by  Altera  or a partner\r
+--under  Altera's   Megafunction   Partnership   Program  may  be  used  only\r
+--to program  PLD  devices (but not masked  PLD  devices) from  Altera.   Any\r
+--other  use  of such  megafunction  design,  netlist,  support  information,\r
+--device programming or simulation file,  or any other  related documentation\r
+--or information  is prohibited  for  any  other purpose,  including, but not\r
+--limited to  modification,  reverse engineering,  de-compiling, or use  with\r
+--any other  silicon devices,  unless such use is  explicitly  licensed under\r
+--a separate agreement with  Altera  or a megafunction partner.  Title to the\r
+--intellectual property,  including patents,  copyrights,  trademarks,  trade\r
+--secrets,  or maskworks,  embodied in any such megafunction design, netlist,\r
+--support  information,  device programming or simulation file,  or any other\r
+--related documentation or information provided by  Altera  or a megafunction\r
+--partner, remains with Altera, the megafunction partner, or their respective\r
+--licensors. No other licenses, including any licenses needed under any third\r
+--party's intellectual property, are provided herein.\r
+\r
+\r
+LIBRARY ieee;\r
+USE ieee.std_logic_1164.all;\r
+\r
+LIBRARY altera_mf;\r
+USE altera_mf.altera_mf_components.all;\r
+\r
+ENTITY vpll IS\r
+       PORT\r
+       (\r
+               inclk0          : IN STD_LOGIC  := '0';\r
+--             pllena          : IN STD_LOGIC  := '1';\r
+--             areset          : IN STD_LOGIC  := '0';\r
+               c0              : OUT STD_LOGIC \r
+--             locked          : OUT STD_LOGIC \r
+       );\r
+END vpll;\r
+\r
+\r
+ARCHITECTURE SYN OF vpll IS\r
+\r
+       SIGNAL sub_wire0        : STD_LOGIC_VECTOR (5 DOWNTO 0);\r
+       SIGNAL sub_wire1        : STD_LOGIC ;\r
+       SIGNAL sub_wire2        : STD_LOGIC ;\r
+       SIGNAL sub_wire3_bv     : BIT_VECTOR (0 DOWNTO 0);\r
+       SIGNAL sub_wire3        : STD_LOGIC_VECTOR (0 DOWNTO 0);\r
+       SIGNAL sub_wire4        : STD_LOGIC_VECTOR (5 DOWNTO 0);\r
+       SIGNAL sub_wire5_bv     : BIT_VECTOR (0 DOWNTO 0);\r
+       SIGNAL sub_wire5        : STD_LOGIC_VECTOR (0 DOWNTO 0);\r
+       SIGNAL sub_wire6        : STD_LOGIC ;\r
+       SIGNAL sub_wire7        : STD_LOGIC_VECTOR (1 DOWNTO 0);\r
+       SIGNAL sub_wire8        : STD_LOGIC_VECTOR (3 DOWNTO 0);\r
+\r
+signal pllena_int : std_logic;\r
+signal areset_int : std_logic;\r
+signal locked : std_logic;\r
+\r
+       COMPONENT altpll\r
+       GENERIC (\r
+               bandwidth_type          : STRING;\r
+               clk0_duty_cycle         : NATURAL;\r
+               lpm_type                : STRING;\r
+               clk0_multiply_by                : NATURAL;\r
+               invalid_lock_multiplier         : NATURAL;\r
+               inclk0_input_frequency          : NATURAL;\r
+               gate_lock_signal                : STRING;\r
+               clk0_divide_by          : NATURAL;\r
+               pll_type                : STRING;\r
+               valid_lock_multiplier           : NATURAL;\r
+               clk0_time_delay         : STRING;\r
+               spread_frequency                : NATURAL;\r
+               intended_device_family          : STRING;\r
+               operation_mode          : STRING;\r
+               compensate_clock                : STRING;\r
+               clk0_phase_shift                : STRING\r
+       );\r
+       PORT (\r
+                       clkena  : IN STD_LOGIC_VECTOR (5 DOWNTO 0);\r
+                       inclk   : IN STD_LOGIC_VECTOR (1 DOWNTO 0);\r
+                       pllena  : IN STD_LOGIC ;\r
+                       extclkena       : IN STD_LOGIC_VECTOR (3 DOWNTO 0);\r
+                       locked  : OUT STD_LOGIC ;\r
+                       areset  : IN STD_LOGIC ;\r
+                       clk     : OUT STD_LOGIC_VECTOR (5 DOWNTO 0)\r
+       );\r
+       END COMPONENT;\r
+\r
+BEGIN\r
+       sub_wire3_bv(0 DOWNTO 0) <= "0";\r
+       sub_wire3    <= To_stdlogicvector(sub_wire3_bv);\r
+       sub_wire5_bv(0 DOWNTO 0) <= "0";\r
+       sub_wire5    <= NOT(To_stdlogicvector(sub_wire5_bv));\r
+       sub_wire1    <= sub_wire0(0);\r
+       c0    <= sub_wire1;\r
+       locked    <= sub_wire2;\r
+       sub_wire4    <= sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire5(0 DOWNTO 0);\r
+       sub_wire6    <= inclk0;\r
+       sub_wire7    <= sub_wire3(0 DOWNTO 0) & sub_wire6;\r
+       sub_wire8    <= sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0) & sub_wire3(0 DOWNTO 0);\r
+\r
+areset_int <= '0';\r
+pllena_int <= '1';\r
+\r
+       altpll_component : altpll\r
+       GENERIC MAP (\r
+               bandwidth_type => "AUTO",\r
+               clk0_duty_cycle => 50,\r
+               lpm_type => "altpll",\r
+               clk0_multiply_by => 5435,\r
+               invalid_lock_multiplier => 5,\r
+               inclk0_input_frequency => 30003,\r
+               gate_lock_signal => "NO",\r
+               clk0_divide_by => 6666,\r
+               pll_type => "AUTO",\r
+               valid_lock_multiplier => 1,\r
+               clk0_time_delay => "0",\r
+               spread_frequency => 0,\r
+               intended_device_family => "Stratix",\r
+               operation_mode => "NORMAL",\r
+               compensate_clock => "CLK0",\r
+               clk0_phase_shift => "0"\r
+       )\r
+       PORT MAP (\r
+               clkena => sub_wire4,\r
+               inclk => sub_wire7,\r
+               pllena => pllena_int,\r
+               extclkena => sub_wire8,\r
+               areset => areset_int,\r
+               clk => sub_wire0,\r
+               locked => sub_wire2\r
+       );\r
+\r
+\r
+\r
+END SYN;\r
+\r
+-- ============================================================\r
+-- CNX file retrieval info\r
+-- ============================================================\r
+-- Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0"\r
+-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg"\r
+-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz"\r
+-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz"\r
+-- Retrieval info: PRIVATE: SPREAD_USE STRING "0"\r
+-- Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1"\r
+-- Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575"\r
+-- Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"\r
+-- Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000"\r
+-- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "1"\r
+-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "1"\r
+-- Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500"\r
+-- Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1"\r
+-- Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "1"\r
+-- Retrieval info: PRIVATE: TIME_SHIFT0 STRING "0.00000000"\r
+-- Retrieval info: PRIVATE: STICKY_CLK0 STRING "1"\r
+-- Retrieval info: PRIVATE: BANDWIDTH STRING "1.000"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_USE_CUSTOM STRING "0"\r
+-- Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "6"\r
+-- Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1"\r
+-- Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0"\r
+-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0"\r
+-- Retrieval info: PRIVATE: USE_CLK0 STRING "1"\r
+-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1"\r
+-- Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "33.330"\r
+-- Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0"\r
+-- Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0"\r
+-- Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz"\r
+-- Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz"\r
+-- Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"\r
+-- Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "e0"\r
+-- Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "1"\r
+-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1"\r
+-- Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1"\r
+-- Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1"\r
+-- Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1"\r
+-- Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "299.970"\r
+-- Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz"\r
+-- Retrieval info: PRIVATE: PLL_ENA_CHECK STRING "1"\r
+-- Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "33.330"\r
+-- Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0"\r
+-- Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1"\r
+-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "27.175"\r
+-- Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0"\r
+-- Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: DEV_FAMILY STRING "Stratix"\r
+-- Retrieval info: PRIVATE: LOCK_LOSS_SWITCHOVER_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1"\r
+-- Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low"\r
+-- Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "1"\r
+-- Retrieval info: PRIVATE: USE_CLKENA0 STRING "0"\r
+-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg"\r
+-- Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0"\r
+-- Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0"\r
+-- Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0"\r
+-- Retrieval info: PRIVATE: DEVICE_FAMILY NUMERIC "9"\r
+-- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all\r
+-- Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO"\r
+-- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50"\r
+-- Retrieval info: CONSTANT: LPM_TYPE STRING "altpll"\r
+-- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "5435"\r
+-- Retrieval info: CONSTANT: INVALID_LOCK_MULTIPLIER NUMERIC "5"\r
+-- Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "30003"\r
+-- Retrieval info: CONSTANT: GATE_LOCK_SIGNAL STRING "NO"\r
+-- Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "6666"\r
+-- Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO"\r
+-- Retrieval info: CONSTANT: VALID_LOCK_MULTIPLIER NUMERIC "1"\r
+-- Retrieval info: CONSTANT: CLK0_TIME_DELAY STRING "0"\r
+-- Retrieval info: CONSTANT: SPREAD_FREQUENCY NUMERIC "0"\r
+-- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Stratix"\r
+-- Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL"\r
+-- Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0"\r
+-- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0"\r
+-- Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT VCC "c0"\r
+-- Retrieval info: USED_PORT: @clk 0 0 6 0 OUTPUT VCC "@clk[5..0]"\r
+-- Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT GND "inclk0"\r
+-- Retrieval info: USED_PORT: locked 0 0 0 0 OUTPUT GND "locked"\r
+-- Retrieval info: USED_PORT: pllena 0 0 0 0 INPUT VCC "pllena"\r
+-- Retrieval info: USED_PORT: @extclk 0 0 4 0 OUTPUT VCC "@extclk[3..0]"\r
+-- Retrieval info: USED_PORT: @inclk 0 0 2 0 INPUT VCC "@inclk[1..0]"\r
+-- Retrieval info: USED_PORT: areset 0 0 0 0 INPUT GND "areset"\r
+-- Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0\r
+-- Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0\r
+-- Retrieval info: CONNECT: @extclkena 0 0 1 1 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 4 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 1 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0\r
+-- Retrieval info: CONNECT: @pllena 0 0 0 0 pllena 0 0 0 0\r
+-- Retrieval info: CONNECT: @extclkena 0 0 1 2 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 5 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 2 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 0 VCC 0 0 0 0\r
+-- Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @extclkena 0 0 1 3 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @extclkena 0 0 1 0 GND 0 0 0 0\r
+-- Retrieval info: CONNECT: @areset 0 0 0 0 areset 0 0 0 0\r
+-- Retrieval info: CONNECT: @clkena 0 0 1 3 GND 0 0 0 0\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll.vhd TRUE FALSE\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll.inc FALSE FALSE\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll.cmp TRUE FALSE\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll.bsf TRUE\r
+-- Retrieval info: GEN_FILE: TYPE_NORMAL vpll_inst.vhd TRUE FALSE\r
diff --git a/bsp4/Protokolle/DigitalDesign_prot.sty b/bsp4/Protokolle/DigitalDesign_prot.sty
new file mode 100644 (file)
index 0000000..6cb3c1c
--- /dev/null
@@ -0,0 +1,225 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%                          DigitalDesign_app.sty
+%
+%                             Babak Rahbaran
+%                     (rahbaran@ecs.tuwien.ac.at)
+% 
+%                               14.07.03
+%
+%              Institut f"ur Technische Informatik (182/2) 
+%                          ECS Group
+%                     Technische Universit"at Wien 
+%                      1040 Treitlstr. 3, 2. Stk.
+%                      (www.ecs.tuwien.ac.at)
+% 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% packages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{fancyheadings}
+\usepackage{german}
+\usepackage{graphicx}
+\usepackage[latin1]{inputenc} %------- Umlaute im Text
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% user-defined commands
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% typeset pin numbers
+\newcommand{\pin}[1]{\emph{\textbf{#1}}\ }
+\renewcommand{\chaptername}{Aufgabe}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% some size definitions and counter settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\oddsidemargin 1cm
+\evensidemargin 1cm
+\topmargin 0pt
+\headsep 50pt
+\textheight 21.5cm
+\textwidth 14.1cm
+
+\renewcommand{\floatpagefraction}{0.9}
+\renewcommand{\textfraction}{0.05}
+\renewcommand{\topfraction}{1.0}
+\renewcommand{\bottomfraction}{1.0}
+
+\setcounter{totalnumber}{3}
+\setcounter{bottomnumber}{3}
+\setcounter{topnumber}{3}
+
+\setlength{\unitlength}{1mm}
+\setlength{\parindent}{6mm}
+\setlength{\parskip}{12pt plus2pt minus2pt}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% define variables used on titlepage
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% heading
+\def\headline#1{\gdef\@headline{#1}}
+% group number
+\def\groupnr#1{\gdef\@groupnr{#1}}
+% authors
+\def\vornamea#1{\gdef\@vornamea{#1}}
+\def\nachnamea#1{\gdef\@nachnamea{#1}}
+\def\matrikela#1{\gdef\@matrikela{#1}}
+\def\emaila#1{\gdef\@emaila{#1}}
+
+\def\vornameb#1{\gdef\@vornameb{#1}}
+\def\nachnameb#1{\gdef\@nachnameb{#1}}
+\def\matrikelb#1{\gdef\@matrikelb{#1}}
+\def\emailb#1{\gdef\@emailb{#1}}
+
+\def\vornamec#1{\gdef\@vornamec{#1}}
+\def\nachnamec#1{\gdef\@nachnamec{#1}}
+\def\matrikelc#1{\gdef\@matrikelc{#1}}
+\def\emailc#1{\gdef\@emailc{#1}}
+
+%\def\vornamed#1{\gdef\@vornamed{#1}}
+%\def\nachnamed#1{\gdef\@nachnamed{#1}}
+%\def\matrikeld#1{\gdef\@matrikeld{#1}}
+%\def\emaild#1{\gdef\@emaild{#1}}
+
+% address of department
+\def\address#1{\gdef\@address{#1}}
+% LVA-Nr.
+\def\lvanr#1{\gdef\@aufgabe{#1}}
+
+\setcounter{footnote}{0} 
+
+% initialize variables
+\gdef\@headline{Digital Design LU}            
+\gdef\@title{P r o t o k o l l}
+
+\gdef\@groupnr{00}
+
+\gdef\@vornamea{Vorname1}
+\gdef\@nachnamea{Nachname1}
+\gdef\@matrikela{0000000}
+\gdef\@emaila{a@æstudent.tuwien.ac.at}
+
+\gdef\@vornameb{Vorname2}
+\gdef\@nachnameb{Nachname2}
+\gdef\@matrikelb{0000000}
+\gdef\@emailb{b@æstudent.tuwien.ac.at}
+
+\gdef\@vornamec{Vorname3}
+\gdef\@nachnamec{Nachname3}
+\gdef\@matrikelc{0000000}
+\gdef\@emailc{c@student.tuwien.ac.at}
+
+%\gdef\@vornamed{Vorname4}
+%\gdef\@nachnamed{Nachname4}
+%\gdef\@matrikeld{0000000}
+%\gdef\@emaild{d@student.tuwien.ac.at}
+
+\gdef\@aufgabe{zu Aufgabe 1}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% titlepage
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\maketitle{
+\begin{titlepage}
+
+% enlarge page
+\setlength{\topmargin}{0pt}
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{0pt}
+\setlength{\footskip}{0pt}
+
+\let\footnotesize\small \let\footnoterule\relax \setcounter{page}{1}
+\null
+\vfill
+\large
+\vskip -4 cm 
+
+\begin{center}
+% heading
+{\LARGE\bf \@headline \par} \vskip 2cm
+
+\vskip 1cm
+
+% title
+{\Huge\bf\underline \@title \par} 
+\vskip 1cm
+%{\Large \bf \@aufgabe \par}
+\vskip 4cm
+
+\begin{flushright}
+Gruppe \@groupnr \par
+% authors
+\@vornamea \  \@nachnamea, Matr. Nr. \@matrikela \par
+{\small \@emaila \par}
+\@vornameb \  \@nachnameb, Matr. Nr. \@matrikelb \par
+{\small \@emailb \par}
+\@vornamec \  \@nachnamec, Matr. Nr. \@matrikelc \par
+{\small \@emailc \par}
+%\@vornamed \  \@nachnamed, Matr. Nr. \@matrikeld \par
+%{\small \@emaild \par}
+
+%\@authora \par
+%\@authorb \par
+%\@authorc \par
+%\@authord \par
+\vskip 1cm
+Wien, am~\today{}
+\end{flushright}
+\end{center} \par
+\vskip 1.5cm 
+
+\end{titlepage}
+
+\setcounter{footnote}{0} 
+\let\thanks\relax
+} % \def\maketitle
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newenvironment{Ventry}[1]%
+{\begin{list}{}{\renewcommand{\makelabel}[1]{\textbf{##1:}\hfill}%
+\settowidth{\labelwidth}{\textbf{#1:}}%
+\setlength{\leftmargin}{\labelwidth}%
+\addtolength{\leftmargin}{\labelsep}}}%
+{\end{list}}
+
+\newcommand{\tablesize}{\fontsize{8}{10}\selectfont}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% layout of non-title pages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\pagenumbering{roman}
+\setlength{\parskip}{5pt plus2pt minus2pt}
+
+\setlength{\parskip}{1mm}
+\clearpage
+\setlength{\parskip}{5pt plus2pt minus2pt}
+
+\pagestyle{fancy}
+\renewcommand{\chaptermark}[1]{\markboth{\thechapter\ #1}{}}
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}{}}
+\addtolength{\headheight}{2pt}
+
+\pagenumbering{arabic}
+\setcounter{page} {1}
diff --git a/bsp4/Protokolle/DigitalDesign_prot.tex b/bsp4/Protokolle/DigitalDesign_prot.tex
new file mode 100644 (file)
index 0000000..acbdaed
--- /dev/null
@@ -0,0 +1,36 @@
+
+\documentclass[12pt,a4paper,titlepage,oneside]{report}
+
+
+\usepackage{DigitalDesign_prot}
+\sloppy
+
+
+\begin{document}
+% create titlepage
+\maketitle
+
+% tables and lists
+%\tableofcontents
+%\newpage
+%\listoffigures
+%\newpage
+%\listoftables
+%\newpage
+
+% chapters
+\input{chapter1}
+\input{chapter2}
+\input{chapter3}
+\input{chapter4}
+
+% appendices
+%\appendix
+%\input{app1}
+
+% bibliography
+%\bibliographystyle{alpha}
+%\nocite{*}
+%\bibliography{DigitalDesign}
+
+\end{document}
diff --git a/bsp4/Protokolle/chapter1.tex b/bsp4/Protokolle/chapter1.tex
new file mode 100644 (file)
index 0000000..27f796e
--- /dev/null
@@ -0,0 +1,10 @@
+\chapter{Logikanalysator}
+
+
+\begin{itemize}
+\item Frequenz HSYNC =  Hz
+\item Frequenz VSYNC =  Hz
+\item Farbe Pixel = (r,g,b)
+\item Farbe Hintergrund = (r,g,b)
+\item x-Koordinate = 
+\end{itemize}
diff --git a/bsp4/Protokolle/chapter2.tex b/bsp4/Protokolle/chapter2.tex
new file mode 100644 (file)
index 0000000..a8ddc1a
--- /dev/null
@@ -0,0 +1,6 @@
+\chapter{Design-Flow}
+
+\begin{itemize}
+\item Blinkfrequenz =  Hz
+\end{itemize}
+
diff --git a/bsp4/Protokolle/chapter3.tex b/bsp4/Protokolle/chapter3.tex
new file mode 100644 (file)
index 0000000..c6bbec2
--- /dev/null
@@ -0,0 +1 @@
+\chapter{VHDL}
diff --git a/bsp4/Protokolle/chapter4.tex b/bsp4/Protokolle/chapter4.tex
new file mode 100644 (file)
index 0000000..4b1b7cc
--- /dev/null
@@ -0,0 +1,13 @@
+\chapter{Simulation und Test}
+
+\begin{itemize}
+\item File Syntaxfehler: 
+\item Zeilennummer Syntaxfehler: 
+
+\item File Semantikfehler 1: 
+\item Zeilennummer Semantikfehler 1: 
+
+\item File Semantikfehler 2: 
+\item Zeilennummer Semantikfehler 2: 
+\end{itemize}
+
diff --git a/bsp4/Protokolle/prot_1.txt b/bsp4/Protokolle/prot_1.txt
new file mode 100644 (file)
index 0000000..91a8a82
--- /dev/null
@@ -0,0 +1,6 @@
+
+Frequenz HSYNC = ___ ___ Hz 
+Frequenz VSYNC = ___ ___ Hz
+Farbe Pixel = (r,g,b)
+Farbe Hintergrund = (r,g,b)
+x-Koordinate = ___ ___
diff --git a/bsp4/Protokolle/prot_2.txt b/bsp4/Protokolle/prot_2.txt
new file mode 100644 (file)
index 0000000..da24c18
--- /dev/null
@@ -0,0 +1 @@
+blinker_max = ___ ___
diff --git a/bsp4/Protokolle/prot_4.txt b/bsp4/Protokolle/prot_4.txt
new file mode 100644 (file)
index 0000000..d45603d
--- /dev/null
@@ -0,0 +1,9 @@
+File Syntaxfehler: ___ ___
+Zeilennummer Syntaxfehler: ___ ___
+
+File Semantikfehler 1: ___ ___
+Zeilennummer Semantikfehler 1: ___ ___
+
+File Semantikfehler 2: ___ ___
+Zeilennummer Semantikfehler 2: ___ ___
+