Line 3... |
Line 3... |
|
|
|
|
Top entity of the display driver.
|
Top entity of the display driver.
|
|
|
|
|
|
|
|
|
Inheritance diagram for Display\+Driverw\+Decoder\+\_\+\+Top\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=217pt]{class_display_driverw_decoder___top__inherit__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
\subsection*{Entities}
|
\subsection*{Entities}
|
\begin{DoxyCompactItemize}
|
\begin{DoxyCompactItemize}
|
\item
|
\item
|
\hyperlink{class_display_driverw_decoder___top_1_1arch}{arch} architecture
|
\hyperlink{class_display_driverw_decoder___top_1_1arch}{arch} architecture
|
\begin{DoxyCompactList}\small\item\em Architecture definition of the \hyperlink{class_display_driverw_decoder___top}{Display\+Driverw\+Decoder\+\_\+\+Top}. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
\begin{DoxyCompactList}\small\item\em Architecture definition of the \hyperlink{class_display_driverw_decoder___top}{Display\+Driverw\+Decoder\+\_\+\+Top}. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
Line 44... |
Line 34... |
\mbox{\Hypertarget{class_display_driverw_decoder___top_aad8dc6359d9e23dabcbf342fadf2fa06}\label{class_display_driverw_decoder___top_aad8dc6359d9e23dabcbf342fadf2fa06}}
|
\mbox{\Hypertarget{class_display_driverw_decoder___top_aad8dc6359d9e23dabcbf342fadf2fa06}\label{class_display_driverw_decoder___top_aad8dc6359d9e23dabcbf342fadf2fa06}}
|
\hyperlink{class_display_driverw_decoder___top_aad8dc6359d9e23dabcbf342fadf2fa06}{reset} {\bfseries {\bfseries \textcolor{keywordflow}{in}\textcolor{vhdlchar}{ }}} {\bfseries \textcolor{comment}{std\+\_\+logic}\textcolor{vhdlchar}{ }}
|
\hyperlink{class_display_driverw_decoder___top_aad8dc6359d9e23dabcbf342fadf2fa06}{reset} {\bfseries {\bfseries \textcolor{keywordflow}{in}\textcolor{vhdlchar}{ }}} {\bfseries \textcolor{comment}{std\+\_\+logic}\textcolor{vhdlchar}{ }}
|
\begin{DoxyCompactList}\small\item\em active high \end{DoxyCompactList}\item
|
\begin{DoxyCompactList}\small\item\em active high \end{DoxyCompactList}\item
|
\hyperlink{class_display_driverw_decoder___top_a11737d50bbf001c0d64a327a2afca193}{ascii\+\_\+in} {\bfseries {\bfseries \textcolor{keywordflow}{in}\textcolor{vhdlchar}{ }}} {\bfseries \textcolor{comment}{std\+\_\+logic\+\_\+vector}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{(}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{7} \textcolor{vhdlchar}{ }\textcolor{keywordflow}{downto}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{0} \textcolor{vhdlchar}{ }\textcolor{vhdlchar}{)}\textcolor{vhdlchar}{ }}
|
\hyperlink{class_display_driverw_decoder___top_a11737d50bbf001c0d64a327a2afca193}{ascii\+\_\+in} {\bfseries {\bfseries \textcolor{keywordflow}{in}\textcolor{vhdlchar}{ }}} {\bfseries \textcolor{comment}{std\+\_\+logic\+\_\+vector}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{(}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{7} \textcolor{vhdlchar}{ }\textcolor{keywordflow}{downto}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{0} \textcolor{vhdlchar}{ }\textcolor{vhdlchar}{)}\textcolor{vhdlchar}{ }}
|
\item
|
\item
|
\hyperlink{class_display_driverw_decoder___top_aecb25505c62077dc5327da3cd351c8cf}{disp\+\_\+data} {\bfseries {\bfseries \textcolor{keywordflow}{out}\textcolor{vhdlchar}{ }}} {\bfseries \textcolor{comment}{std\+\_\+logic\+\_\+vector}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{(}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{13} \textcolor{vhdlchar}{ }\textcolor{keywordflow}{downto}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{0} \textcolor{vhdlchar}{ }\textcolor{vhdlchar}{)}\textcolor{vhdlchar}{ }}
|
\mbox{\Hypertarget{class_display_driverw_decoder___top_a8f9235710fc037196ed1f7fa93aa0ef3}\label{class_display_driverw_decoder___top_a8f9235710fc037196ed1f7fa93aa0ef3}}
|
|
\hyperlink{class_display_driverw_decoder___top_a8f9235710fc037196ed1f7fa93aa0ef3}{wr\+\_\+en} {\bfseries {\bfseries \textcolor{keywordflow}{in}\textcolor{vhdlchar}{ }}} {\bfseries \textcolor{comment}{std\+\_\+logic}\textcolor{vhdlchar}{ }}
|
|
\begin{DoxyCompactList}\small\item\em active high write enable to store the A\+S\+C\+II code in a register \end{DoxyCompactList}\item
|
|
\hyperlink{class_display_driverw_decoder___top_afe85e1682ca9b85576a5169bef98848c}{disp\+\_\+data} {\bfseries {\bfseries \textcolor{keywordflow}{out}\textcolor{vhdlchar}{ }}} {\bfseries \textcolor{comment}{std\+\_\+logic\+\_\+vector}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{(}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{14} \textcolor{vhdlchar}{ }\textcolor{keywordflow}{downto}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{0} \textcolor{vhdlchar}{ }\textcolor{vhdlchar}{)}\textcolor{vhdlchar}{ }}
|
\item
|
\item
|
\hyperlink{class_display_driverw_decoder___top_ac39d5faa22b7c7b88914e8915f901d69}{disp\+\_\+sel} {\bfseries {\bfseries \textcolor{keywordflow}{out}\textcolor{vhdlchar}{ }}} {\bfseries \textcolor{comment}{std\+\_\+logic}\textcolor{vhdlchar}{ }}
|
\hyperlink{class_display_driverw_decoder___top_ac39d5faa22b7c7b88914e8915f901d69}{disp\+\_\+sel} {\bfseries {\bfseries \textcolor{keywordflow}{out}\textcolor{vhdlchar}{ }}} {\bfseries \textcolor{comment}{std\+\_\+logic}\textcolor{vhdlchar}{ }}
|
\end{DoxyCompactItemize}
|
\end{DoxyCompactItemize}
|
|
|
|
|
Line 60... |
Line 53... |
\index{Display\+Driverw\+Decoder\+\_\+\+Top@{Display\+Driverw\+Decoder\+\_\+\+Top}!ascii\+\_\+in@{ascii\+\_\+in}}
|
\index{Display\+Driverw\+Decoder\+\_\+\+Top@{Display\+Driverw\+Decoder\+\_\+\+Top}!ascii\+\_\+in@{ascii\+\_\+in}}
|
\index{ascii\+\_\+in@{ascii\+\_\+in}!Display\+Driverw\+Decoder\+\_\+\+Top@{Display\+Driverw\+Decoder\+\_\+\+Top}}
|
\index{ascii\+\_\+in@{ascii\+\_\+in}!Display\+Driverw\+Decoder\+\_\+\+Top@{Display\+Driverw\+Decoder\+\_\+\+Top}}
|
\subsubsection{\texorpdfstring{ascii\+\_\+in}{ascii\_in}}
|
\subsubsection{\texorpdfstring{ascii\+\_\+in}{ascii\_in}}
|
{\footnotesize\ttfamily \hyperlink{class_display_driverw_decoder___top_a11737d50bbf001c0d64a327a2afca193}{ascii\+\_\+in} {\bfseries \textcolor{keywordflow}{in}\textcolor{vhdlchar}{ }} {\bfseries \textcolor{comment}{std\+\_\+logic\+\_\+vector}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{(}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{7} \textcolor{vhdlchar}{ }\textcolor{keywordflow}{downto}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{0} \textcolor{vhdlchar}{ }\textcolor{vhdlchar}{)}\textcolor{vhdlchar}{ }} \hspace{0.3cm}{\ttfamily [Port]}}
|
{\footnotesize\ttfamily \hyperlink{class_display_driverw_decoder___top_a11737d50bbf001c0d64a327a2afca193}{ascii\+\_\+in} {\bfseries \textcolor{keywordflow}{in}\textcolor{vhdlchar}{ }} {\bfseries \textcolor{comment}{std\+\_\+logic\+\_\+vector}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{(}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{7} \textcolor{vhdlchar}{ }\textcolor{keywordflow}{downto}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{0} \textcolor{vhdlchar}{ }\textcolor{vhdlchar}{)}\textcolor{vhdlchar}{ }} \hspace{0.3cm}{\ttfamily [Port]}}
|
|
|
A\+S\+C\+II symbols are coded in 1B having values from 0x00 to 0x7F. Current implementation uses 104-\/\+Character A\+S\+C\+II Font Map described in M\+A\+X6955 Datasheet. \href{https://datasheets.maximintegrated.com/en/ds/MAX6955.pdf}{\tt https\+://datasheets.\+maximintegrated.\+com/en/ds/\+M\+A\+X6955.\+pdf} The M\+SB is used to light the display dot. For example if you want to display H the code will be 0x48 (or 01001000b). If you want to display H. the code will be 0x\+C8 (or 11001000b). \mbox{\Hypertarget{class_display_driverw_decoder___top_aecb25505c62077dc5327da3cd351c8cf}\label{class_display_driverw_decoder___top_aecb25505c62077dc5327da3cd351c8cf}}
|
A\+S\+C\+II symbols are coded in 1B having values from 0x00 to 0x7F. Current implementation uses 104-\/\+Character A\+S\+C\+II Font Map described in M\+A\+X6955 Datasheet. \href{https://datasheets.maximintegrated.com/en/ds/MAX6955.pdf}{\tt https\+://datasheets.\+maximintegrated.\+com/en/ds/\+M\+A\+X6955.\+pdf} The M\+SB is used to light the display dot. For example if you want to display H the code will be 0x48 (or 01001000b). If you want to display H. the code will be 0x\+C8 (or 11001000b). \mbox{\Hypertarget{class_display_driverw_decoder___top_afe85e1682ca9b85576a5169bef98848c}\label{class_display_driverw_decoder___top_afe85e1682ca9b85576a5169bef98848c}}
|
\index{Display\+Driverw\+Decoder\+\_\+\+Top@{Display\+Driverw\+Decoder\+\_\+\+Top}!disp\+\_\+data@{disp\+\_\+data}}
|
\index{Display\+Driverw\+Decoder\+\_\+\+Top@{Display\+Driverw\+Decoder\+\_\+\+Top}!disp\+\_\+data@{disp\+\_\+data}}
|
\index{disp\+\_\+data@{disp\+\_\+data}!Display\+Driverw\+Decoder\+\_\+\+Top@{Display\+Driverw\+Decoder\+\_\+\+Top}}
|
\index{disp\+\_\+data@{disp\+\_\+data}!Display\+Driverw\+Decoder\+\_\+\+Top@{Display\+Driverw\+Decoder\+\_\+\+Top}}
|
\subsubsection{\texorpdfstring{disp\+\_\+data}{disp\_data}}
|
\subsubsection{\texorpdfstring{disp\+\_\+data}{disp\_data}}
|
{\footnotesize\ttfamily \hyperlink{class_display_driverw_decoder___top_aecb25505c62077dc5327da3cd351c8cf}{disp\+\_\+data} {\bfseries \textcolor{keywordflow}{out}\textcolor{vhdlchar}{ }} {\bfseries \textcolor{comment}{std\+\_\+logic\+\_\+vector}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{(}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{13} \textcolor{vhdlchar}{ }\textcolor{keywordflow}{downto}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{0} \textcolor{vhdlchar}{ }\textcolor{vhdlchar}{)}\textcolor{vhdlchar}{ }} \hspace{0.3cm}{\ttfamily [Port]}}
|
{\footnotesize\ttfamily \hyperlink{class_display_driverw_decoder___top_afe85e1682ca9b85576a5169bef98848c}{disp\+\_\+data} {\bfseries \textcolor{keywordflow}{out}\textcolor{vhdlchar}{ }} {\bfseries \textcolor{comment}{std\+\_\+logic\+\_\+vector}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{(}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{14} \textcolor{vhdlchar}{ }\textcolor{keywordflow}{downto}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ } \textcolor{vhdldigit}{0} \textcolor{vhdlchar}{ }\textcolor{vhdlchar}{)}\textcolor{vhdlchar}{ }} \hspace{0.3cm}{\ttfamily [Port]}}
|
|
|
Typically the data fed to display (single or multiple) is provided for single display at a time. If multiple displays are required together with data goes display select (according typical dynamic display indication). \mbox{\Hypertarget{class_display_driverw_decoder___top_ac39d5faa22b7c7b88914e8915f901d69}\label{class_display_driverw_decoder___top_ac39d5faa22b7c7b88914e8915f901d69}}
|
Typically the data fed to display (single or multiple) is provided for single display at a time. If multiple displays are required disp\+\_\+sel signal must be provided (according typical dynamic display indication).\hypertarget{class_display_driverw_decoder___top_disp_data_bit_mapping}{}\subsection{Display Segment Bit Mapping}\label{class_display_driverw_decoder___top_disp_data_bit_mapping}
|
|
\tabulinesep=1mm
|
|
\begin{longtabu} spread 0pt [c]{*{16}{|X[-1]}|}
|
|
\hline
|
|
\rowcolor{\tableheadbgcolor}\PBS\centering \textbf{ Bit Number }&\PBS\centering \textbf{ 0 }&\PBS\centering \textbf{ 1}&\PBS\centering \textbf{ 2}&\PBS\centering \textbf{ 3}&\PBS\centering \textbf{ 4}&\PBS\centering \textbf{ 5}&\PBS\centering \textbf{ 6}&\PBS\centering \textbf{ 7}&\PBS\centering \textbf{ 8}&\PBS\centering \textbf{ 9}&\PBS\centering \textbf{ 10}&\PBS\centering \textbf{ 11}&\PBS\centering \textbf{ 12}&\PBS\centering \textbf{ 13}&\PBS\centering \textbf{ 14 }\\\cline{1-16}
|
|
\endfirsthead
|
|
\hline
|
|
\endfoot
|
|
\hline
|
|
\rowcolor{\tableheadbgcolor}\PBS\centering \textbf{ Bit Number }&\PBS\centering \textbf{ 0 }&\PBS\centering \textbf{ 1}&\PBS\centering \textbf{ 2}&\PBS\centering \textbf{ 3}&\PBS\centering \textbf{ 4}&\PBS\centering \textbf{ 5}&\PBS\centering \textbf{ 6}&\PBS\centering \textbf{ 7}&\PBS\centering \textbf{ 8}&\PBS\centering \textbf{ 9}&\PBS\centering \textbf{ 10}&\PBS\centering \textbf{ 11}&\PBS\centering \textbf{ 12}&\PBS\centering \textbf{ 13}&\PBS\centering \textbf{ 14 }\\\cline{1-16}
|
|
\endhead
|
|
\PBS\centering Display Segment&\PBS\centering a &\PBS\centering b&\PBS\centering c&\PBS\centering d&\PBS\centering e&\PBS\centering f&\PBS\centering g1&\PBS\centering g2&\PBS\centering h&\PBS\centering i&\PBS\centering j&\PBS\centering k&\PBS\centering l&\PBS\centering m&\PBS\centering dp \\\cline{1-16}
|
|
\end{longtabu}
|
|
Note that there is no standard way to name the segments. Current data bits correspondt to display segments according this picture\+: \href{https://www.maximintegrated.com/en/images/appnotes/3211/3211Fig02.gif}{\tt https\+://www.\+maximintegrated.\+com/en/images/appnotes/3211/3211\+Fig02.\+gif} \mbox{\Hypertarget{class_display_driverw_decoder___top_ac39d5faa22b7c7b88914e8915f901d69}\label{class_display_driverw_decoder___top_ac39d5faa22b7c7b88914e8915f901d69}}
|
\index{Display\+Driverw\+Decoder\+\_\+\+Top@{Display\+Driverw\+Decoder\+\_\+\+Top}!disp\+\_\+sel@{disp\+\_\+sel}}
|
\index{Display\+Driverw\+Decoder\+\_\+\+Top@{Display\+Driverw\+Decoder\+\_\+\+Top}!disp\+\_\+sel@{disp\+\_\+sel}}
|
\index{disp\+\_\+sel@{disp\+\_\+sel}!Display\+Driverw\+Decoder\+\_\+\+Top@{Display\+Driverw\+Decoder\+\_\+\+Top}}
|
\index{disp\+\_\+sel@{disp\+\_\+sel}!Display\+Driverw\+Decoder\+\_\+\+Top@{Display\+Driverw\+Decoder\+\_\+\+Top}}
|
\subsubsection{\texorpdfstring{disp\+\_\+sel}{disp\_sel}}
|
\subsubsection{\texorpdfstring{disp\+\_\+sel}{disp\_sel}}
|
{\footnotesize\ttfamily \hyperlink{class_display_driverw_decoder___top_ac39d5faa22b7c7b88914e8915f901d69}{disp\+\_\+sel} {\bfseries \textcolor{keywordflow}{out}\textcolor{vhdlchar}{ }} {\bfseries \textcolor{comment}{std\+\_\+logic}\textcolor{vhdlchar}{ }} \hspace{0.3cm}{\ttfamily [Port]}}
|
{\footnotesize\ttfamily \hyperlink{class_display_driverw_decoder___top_ac39d5faa22b7c7b88914e8915f901d69}{disp\+\_\+sel} {\bfseries \textcolor{keywordflow}{out}\textcolor{vhdlchar}{ }} {\bfseries \textcolor{comment}{std\+\_\+logic}\textcolor{vhdlchar}{ }} \hspace{0.3cm}{\ttfamily [Port]}}
|
|
|