OpenCores
URL https://opencores.org/ocsvn/single-14-segment-display-driver-w-decoder/single-14-segment-display-driver-w-decoder/trunk

Subversion Repositories single-14-segment-display-driver-w-decoder

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /single-14-segment-display-driver-w-decoder/trunk
    from Rev 7 to Rev 8
    Reverse comparison

Rev 7 → Rev 8

/Documentation/html/search/all_0.js
1,4 → 1,4
var searchData=
[
['_5fmath_5freal',['_MATH_REAL',['../class___m_a_t_h___r_e_a_l.html',1,'']]]
['14_2dsegment_20display_20driver_20info',['14-segment Display Driver Info',['../index.html',1,'']]]
];
/Documentation/html/search/all_1.js
1,7 → 1,4
var searchData=
[
['arch',['arch',['../class_a_s_c_i_i_decoder_1_1arch.html',1,'arch'],['../class_display_driverw_decoder___top_1_1arch.html',1,'arch']]],
['ascii_5fin',['ascii_in',['../class_a_s_c_i_i_decoder.html#a11737d50bbf001c0d64a327a2afca193',1,'ASCIIDecoder.ascii_in()'],['../class_display_driverw_decoder___top.html#a11737d50bbf001c0d64a327a2afca193',1,'DisplayDriverwDecoder_Top.ascii_in()']]],
['asciidecoder',['ASCIIDecoder',['../class_a_s_c_i_i_decoder.html',1,'']]],
['asciidecoder_2evhd',['ASCIIDecoder.vhd',['../_a_s_c_i_i_decoder_8vhd.html',1,'']]]
['_5fmath_5freal',['_MATH_REAL',['../class___m_a_t_h___r_e_a_l.html',1,'']]]
];
/Documentation/html/search/all_2.js
1,4 → 1,7
var searchData=
[
['button',['button',['../class_display_driver_wrapper.html#a5b0cc1fc904e8a360edefca8a94aad6b',1,'DisplayDriverWrapper']]]
['arch',['arch',['../class_a_s_c_i_i_decoder_1_1arch.html',1,'ASCIIDecoder']]],
['ascii_5fin',['ascii_in',['../class_a_s_c_i_i_decoder.html#a11737d50bbf001c0d64a327a2afca193',1,'ASCIIDecoder.ascii_in()'],['../classdisplay__driver__w__decoder.html#a11737d50bbf001c0d64a327a2afca193',1,'display_driver_w_decoder.ascii_in()']]],
['asciidecoder',['ASCIIDecoder',['../class_a_s_c_i_i_decoder.html',1,'']]],
['asciidecoder_2evhd',['ASCIIDecoder.vhd',['../_a_s_c_i_i_decoder_8vhd.html',1,'']]]
];
/Documentation/html/search/all_3.js
1,4 → 1,4
var searchData=
[
['clk',['clk',['../class_display_driverw_decoder___top.html#a4a4609c199d30b3adebbeb3a01276ec5',1,'DisplayDriverwDecoder_Top.clk()'],['../class_display_driver_wrapper.html#a4a4609c199d30b3adebbeb3a01276ec5',1,'DisplayDriverWrapper.clk()']]]
['button',['button',['../class_display_driver_wrapper.html#a5b0cc1fc904e8a360edefca8a94aad6b',1,'DisplayDriverWrapper']]]
];
/Documentation/html/search/all_4.js
1,10 → 1,4
var searchData=
[
['disp_5fdata',['disp_data',['../class_display_driverw_decoder___top.html#afe85e1682ca9b85576a5169bef98848c',1,'DisplayDriverwDecoder_Top.disp_data()'],['../class_display_driver_wrapper.html#afe85e1682ca9b85576a5169bef98848c',1,'DisplayDriverWrapper.disp_data()']]],
['disp_5fsel',['disp_sel',['../class_display_driverw_decoder___top.html#ac39d5faa22b7c7b88914e8915f901d69',1,'DisplayDriverwDecoder_Top.disp_sel()'],['../class_display_driver_wrapper.html#ac39d5faa22b7c7b88914e8915f901d69',1,'DisplayDriverWrapper.disp_sel()']]],
['displaydriverwdecoder_5ftop',['DisplayDriverwDecoder_Top',['../class_display_driverw_decoder___top.html',1,'']]],
['displaydriverwdecoder_5ftop_2evhd',['DisplayDriverwDecoder_Top.vhd',['../_display_driverw_decoder___top_8vhd.html',1,'']]],
['displaydriverwrapper',['DisplayDriverWrapper',['../class_display_driver_wrapper.html',1,'']]],
['displaydriverwrapper_2evhd',['DisplayDriverWrapper.vhd',['../_display_driver_wrapper_8vhd.html',1,'']]],
['distromasciidecoder',['DistRomAsciiDecoder',['../class_dist_rom_ascii_decoder.html',1,'']]]
['clk',['clk',['../classdisplay__driver__w__decoder.html#a4a4609c199d30b3adebbeb3a01276ec5',1,'display_driver_w_decoder.clk()'],['../class_display_driver_wrapper.html#a4a4609c199d30b3adebbeb3a01276ec5',1,'DisplayDriverWrapper.clk()']]]
];
/Documentation/html/search/all_5.js
1,5 → 1,12
var searchData=
[
['my_20personal_20index_20page',['My Personal Index Page',['../index.html',1,'']]],
['math_5freal',['MATH_REAL',['../class_m_a_t_h___r_e_a_l.html',1,'']]]
['disp_5fdata',['disp_data',['../class_display_driver_wrapper.html#afe85e1682ca9b85576a5169bef98848c',1,'DisplayDriverWrapper']]],
['disp_5fdata_5fq',['disp_data_q',['../classdisplay__driver__w__decoder.html#ae5d1871b211b0ea1a0592bd84db8cfd9',1,'display_driver_w_decoder']]],
['disp_5fsel',['disp_sel',['../classdisplay__driver__w__decoder.html#ac39d5faa22b7c7b88914e8915f901d69',1,'display_driver_w_decoder.disp_sel()'],['../class_display_driver_wrapper.html#ac39d5faa22b7c7b88914e8915f901d69',1,'DisplayDriverWrapper.disp_sel()']]],
['display_5fdriver_5fw_5fdecoder',['display_driver_w_decoder',['../classdisplay__driver__w__decoder.html',1,'']]],
['display_5fdriver_5fw_5fdecoder_5farch',['display_driver_w_decoder_arch',['../classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch.html',1,'display_driver_w_decoder']]],
['displaydriverwdecoder_5ftop_2evhd',['DisplayDriverwDecoder_Top.vhd',['../_display_driverw_decoder___top_8vhd.html',1,'']]],
['displaydriverwrapper',['DisplayDriverWrapper',['../class_display_driver_wrapper.html',1,'']]],
['displaydriverwrapper_2evhd',['DisplayDriverWrapper.vhd',['../_display_driver_wrapper_8vhd.html',1,'']]],
['distromasciidecoder',['DistRomAsciiDecoder',['../class_dist_rom_ascii_decoder.html',1,'']]]
];
/Documentation/html/search/all_6.js
1,4 → 1,4
var searchData=
[
['n_5frst',['n_rst',['../class_display_driver_wrapper.html#a962b9c3ed04621f19438691f46e17052',1,'DisplayDriverWrapper']]]
['math_5freal',['MATH_REAL',['../class_m_a_t_h___r_e_a_l.html',1,'']]]
];
/Documentation/html/search/all_7.js
1,4 → 1,4
var searchData=
[
['q',['Q',['../class_a_s_c_i_i_decoder_1_1arch.html#ac142ba3fd33d41ec006fb41f6b872e2f',1,'ASCIIDecoder::arch']]]
['n_5frst',['n_rst',['../class_display_driver_wrapper.html#a962b9c3ed04621f19438691f46e17052',1,'DisplayDriverWrapper']]]
];
/Documentation/html/search/all_8.js
1,4 → 1,4
var searchData=
[
['reset',['reset',['../class_display_driverw_decoder___top.html#aad8dc6359d9e23dabcbf342fadf2fa06',1,'DisplayDriverwDecoder_Top']]]
['q',['Q',['../class_a_s_c_i_i_decoder_1_1arch.html#ac142ba3fd33d41ec006fb41f6b872e2f',1,'ASCIIDecoder::arch']]]
];
/Documentation/html/search/all_9.js
1,4 → 1,4
var searchData=
[
['structure',['Structure',['../class_dist_rom_ascii_decoder_1_1_structure.html',1,'DistRomAsciiDecoder']]]
['reset',['reset',['../classdisplay__driver__w__decoder.html#aad8dc6359d9e23dabcbf342fadf2fa06',1,'display_driver_w_decoder']]]
];
/Documentation/html/search/all_a.js
1,5 → 1,4
var searchData=
[
['tb',['tb',['../classtb.html',1,'']]],
['test',['test',['../classtb_1_1test.html',1,'tb']]]
['structure',['Structure',['../class_dist_rom_ascii_decoder_1_1_structure.html',1,'DistRomAsciiDecoder']]]
];
/Documentation/html/search/all_b.js
1,4 → 1,5
var searchData=
[
['wr_5fen',['wr_en',['../class_display_driverw_decoder___top.html#a8f9235710fc037196ed1f7fa93aa0ef3',1,'DisplayDriverwDecoder_Top']]]
['tb',['tb',['../classtb.html',1,'']]],
['test',['test',['../classtb_1_1test.html',1,'tb']]]
];
/Documentation/html/search/all_c.html
0,0 → 1,26
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_c.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>
Documentation/html/search/all_c.html Property changes : Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: Documentation/html/search/all_c.js =================================================================== --- Documentation/html/search/all_c.js (nonexistent) +++ Documentation/html/search/all_c.js (revision 8) @@ -0,0 +1,4 @@ +var searchData= +[ + ['wr_5fen',['wr_en',['../classdisplay__driver__w__decoder.html#a8f9235710fc037196ed1f7fa93aa0ef3',1,'display_driver_w_decoder']]] +]; Index: Documentation/html/search/classes_1.js =================================================================== --- Documentation/html/search/classes_1.js (revision 7) +++ Documentation/html/search/classes_1.js (revision 8) @@ -1,5 +1,5 @@ var searchData= [ - ['arch',['arch',['../class_a_s_c_i_i_decoder_1_1arch.html',1,'arch'],['../class_display_driverw_decoder___top_1_1arch.html',1,'arch']]], + ['arch',['arch',['../class_a_s_c_i_i_decoder_1_1arch.html',1,'ASCIIDecoder']]], ['asciidecoder',['ASCIIDecoder',['../class_a_s_c_i_i_decoder.html',1,'']]] ]; Index: Documentation/html/search/classes_2.js =================================================================== --- Documentation/html/search/classes_2.js (revision 7) +++ Documentation/html/search/classes_2.js (revision 8) @@ -1,6 +1,7 @@ var searchData= [ - ['displaydriverwdecoder_5ftop',['DisplayDriverwDecoder_Top',['../class_display_driverw_decoder___top.html',1,'']]], + ['display_5fdriver_5fw_5fdecoder',['display_driver_w_decoder',['../classdisplay__driver__w__decoder.html',1,'']]], + ['display_5fdriver_5fw_5fdecoder_5farch',['display_driver_w_decoder_arch',['../classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch.html',1,'display_driver_w_decoder']]], ['displaydriverwrapper',['DisplayDriverWrapper',['../class_display_driver_wrapper.html',1,'']]], ['distromasciidecoder',['DistRomAsciiDecoder',['../class_dist_rom_ascii_decoder.html',1,'']]] ]; Index: Documentation/html/search/pages_0.js =================================================================== --- Documentation/html/search/pages_0.js (revision 7) +++ Documentation/html/search/pages_0.js (revision 8) @@ -1,4 +1,4 @@ var searchData= [ - ['my_20personal_20index_20page',['My Personal Index Page',['../index.html',1,'']]] + ['14_2dsegment_20display_20driver_20info',['14-segment Display Driver Info',['../index.html',1,'']]] ]; Index: Documentation/html/search/searchdata.js =================================================================== --- Documentation/html/search/searchdata.js (revision 7) +++ Documentation/html/search/searchdata.js (revision 8) @@ -1,10 +1,10 @@ var indexSectionsWithContent = { - 0: "_abcdmnqrstw", + 0: "1_abcdmnqrstw", 1: "_admst", 2: "ad", 3: "abcdnqrw", - 4: "m" + 4: "1" }; var indexSectionNames =
/Documentation/html/search/variables_0.js
1,4 → 1,4
var searchData=
[
['ascii_5fin',['ascii_in',['../class_a_s_c_i_i_decoder.html#a11737d50bbf001c0d64a327a2afca193',1,'ASCIIDecoder.ascii_in()'],['../class_display_driverw_decoder___top.html#a11737d50bbf001c0d64a327a2afca193',1,'DisplayDriverwDecoder_Top.ascii_in()']]]
['ascii_5fin',['ascii_in',['../class_a_s_c_i_i_decoder.html#a11737d50bbf001c0d64a327a2afca193',1,'ASCIIDecoder.ascii_in()'],['../classdisplay__driver__w__decoder.html#a11737d50bbf001c0d64a327a2afca193',1,'display_driver_w_decoder.ascii_in()']]]
];
/Documentation/html/search/variables_2.js
1,4 → 1,4
var searchData=
[
['clk',['clk',['../class_display_driverw_decoder___top.html#a4a4609c199d30b3adebbeb3a01276ec5',1,'DisplayDriverwDecoder_Top.clk()'],['../class_display_driver_wrapper.html#a4a4609c199d30b3adebbeb3a01276ec5',1,'DisplayDriverWrapper.clk()']]]
['clk',['clk',['../classdisplay__driver__w__decoder.html#a4a4609c199d30b3adebbeb3a01276ec5',1,'display_driver_w_decoder.clk()'],['../class_display_driver_wrapper.html#a4a4609c199d30b3adebbeb3a01276ec5',1,'DisplayDriverWrapper.clk()']]]
];
/Documentation/html/search/variables_3.js
1,5 → 1,6
var searchData=
[
['disp_5fdata',['disp_data',['../class_display_driverw_decoder___top.html#afe85e1682ca9b85576a5169bef98848c',1,'DisplayDriverwDecoder_Top.disp_data()'],['../class_display_driver_wrapper.html#afe85e1682ca9b85576a5169bef98848c',1,'DisplayDriverWrapper.disp_data()']]],
['disp_5fsel',['disp_sel',['../class_display_driverw_decoder___top.html#ac39d5faa22b7c7b88914e8915f901d69',1,'DisplayDriverwDecoder_Top.disp_sel()'],['../class_display_driver_wrapper.html#ac39d5faa22b7c7b88914e8915f901d69',1,'DisplayDriverWrapper.disp_sel()']]]
['disp_5fdata',['disp_data',['../class_display_driver_wrapper.html#afe85e1682ca9b85576a5169bef98848c',1,'DisplayDriverWrapper']]],
['disp_5fdata_5fq',['disp_data_q',['../classdisplay__driver__w__decoder.html#ae5d1871b211b0ea1a0592bd84db8cfd9',1,'display_driver_w_decoder']]],
['disp_5fsel',['disp_sel',['../classdisplay__driver__w__decoder.html#ac39d5faa22b7c7b88914e8915f901d69',1,'display_driver_w_decoder.disp_sel()'],['../class_display_driver_wrapper.html#ac39d5faa22b7c7b88914e8915f901d69',1,'DisplayDriverWrapper.disp_sel()']]]
];
/Documentation/html/search/variables_6.js
1,4 → 1,4
var searchData=
[
['reset',['reset',['../class_display_driverw_decoder___top.html#aad8dc6359d9e23dabcbf342fadf2fa06',1,'DisplayDriverwDecoder_Top']]]
['reset',['reset',['../classdisplay__driver__w__decoder.html#aad8dc6359d9e23dabcbf342fadf2fa06',1,'display_driver_w_decoder']]]
];
/Documentation/html/search/variables_7.js
1,4 → 1,4
var searchData=
[
['wr_5fen',['wr_en',['../class_display_driverw_decoder___top.html#a8f9235710fc037196ed1f7fa93aa0ef3',1,'DisplayDriverwDecoder_Top']]]
['wr_5fen',['wr_en',['../classdisplay__driver__w__decoder.html#a8f9235710fc037196ed1f7fa93aa0ef3',1,'display_driver_w_decoder']]]
];
/Documentation/html/_display_driverw_decoder___top_8vhd.html
71,11 → 71,11
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Entities</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_display_driverw_decoder___top.html">DisplayDriverwDecoder_Top</a> &#160;</td><td class="memItemRight" valign="bottom">entity</td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Top entity of the display driver. <a href="class_display_driverw_decoder___top.html#details">More...</a><br /></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a> &#160;</td><td class="memItemRight" valign="bottom">entity</td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Top entity of the display driver. <a href="classdisplay__driver__w__decoder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_display_driverw_decoder___top_1_1arch.html">arch</a> &#160;</td><td class="memItemRight" valign="bottom">architecture</td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Architecture definition of the <a class="el" href="class_display_driverw_decoder___top.html" title="Top entity of the display driver. ">DisplayDriverwDecoder_Top</a>. <a href="class_display_driverw_decoder___top_1_1arch.html#details">More...</a><br /></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch.html">display_driver_w_decoder_arch</a> &#160;</td><td class="memItemRight" valign="bottom">architecture</td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Architecture definition of the <a class="el" href="classdisplay__driver__w__decoder.html" title="Top entity of the display driver. ">display_driver_w_decoder</a>. <a href="classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
/Documentation/html/annotated.html
67,8 → 67,8
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_s_c_i_i_decoder.html" target="_self">ASCIIDecoder</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_s_c_i_i_decoder_1_1arch.html" target="_self">ASCIIDecoder.arch</a></td><td class="desc"></td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_display_driverw_decoder___top.html" target="_self">DisplayDriverwDecoder_Top</a></td><td class="desc">Top entity of the display driver </td></tr>
<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_display_driverw_decoder___top_1_1arch.html" target="_self">DisplayDriverwDecoder_Top.arch</a></td><td class="desc">Architecture definition of the <a class="el" href="class_display_driverw_decoder___top.html" title="Top entity of the display driver. ">DisplayDriverwDecoder_Top</a> </td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdisplay__driver__w__decoder.html" target="_self">display_driver_w_decoder</a></td><td class="desc">Top entity of the display driver </td></tr>
<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch.html" target="_self">display_driver_w_decoder.display_driver_w_decoder_arch</a></td><td class="desc">Architecture definition of the <a class="el" href="classdisplay__driver__w__decoder.html" title="Top entity of the display driver. ">display_driver_w_decoder</a> </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_display_driver_wrapper.html" target="_self">DisplayDriverWrapper</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_dist_rom_ascii_decoder.html" target="_self">DistRomAsciiDecoder</a></td><td class="desc"></td></tr>
<tr id="row_3_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_dist_rom_ascii_decoder_1_1_structure.html" target="_self">DistRomAsciiDecoder.Structure</a></td><td class="desc"></td></tr>
/Documentation/html/class_a_s_c_i_i_decoder-members.html
70,7 → 70,7
<tr><td class="entry"><a class="el" href="class_a_s_c_i_i_decoder.html#a11737d50bbf001c0d64a327a2afca193">ascii_in</a></td><td class="entry"><a class="el" href="class_a_s_c_i_i_decoder.html">ASCIIDecoder</a></td><td class="entry"><span class="mlabel">Port</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clk</b> (defined in <a class="el" href="class_a_s_c_i_i_decoder.html">ASCIIDecoder</a>)</td><td class="entry"><a class="el" href="class_a_s_c_i_i_decoder.html">ASCIIDecoder</a></td><td class="entry"><span class="mlabel">Port</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>components</b> (defined in <a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a>)</td><td class="entry"><a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a></td><td class="entry"><span class="mlabel">use clause</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>disp_data</b> (defined in <a class="el" href="class_a_s_c_i_i_decoder.html">ASCIIDecoder</a>)</td><td class="entry"><a class="el" href="class_a_s_c_i_i_decoder.html">ASCIIDecoder</a></td><td class="entry"><span class="mlabel">Port</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>disp_data_q</b> (defined in <a class="el" href="class_a_s_c_i_i_decoder.html">ASCIIDecoder</a>)</td><td class="entry"><a class="el" href="class_a_s_c_i_i_decoder.html">ASCIIDecoder</a></td><td class="entry"><span class="mlabel">Port</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ecp5um</b> (defined in <a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a>)</td><td class="entry"><a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a></td><td class="entry"><span class="mlabel">Library</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>IEEE</b> (defined in <a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a>)</td><td class="entry"><a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a></td><td class="entry"><span class="mlabel">Library</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ieee</b> (defined in <a class="el" href="class_a_s_c_i_i_decoder.html">ASCIIDecoder</a>)</td><td class="entry"><a class="el" href="class_a_s_c_i_i_decoder.html">ASCIIDecoder</a></td><td class="entry"><span class="mlabel">Library</span></td></tr>
/Documentation/html/class_a_s_c_i_i_decoder.html
72,8 → 72,8
<div class="dyncontent">
<div class="center"><img src="class_a_s_c_i_i_decoder__inherit__graph.png" border="0" usemap="#_a_s_c_i_i_decoder_inherit__map" alt="Inheritance graph"/></div>
<map name="_a_s_c_i_i_decoder_inherit__map" id="_a_s_c_i_i_decoder_inherit__map">
<area shape="rect" id="node3" href="class_display_driverw_decoder___top.html" title="Top entity of the display driver. " alt="" coords="5,155,188,181"/>
<area shape="rect" id="node2" href="class_dist_rom_ascii_decoder.html" title="DistRomAsciiDecoder" alt="" coords="22,5,171,32"/>
<area shape="rect" id="node3" href="classdisplay__driver__w__decoder.html" title="Top entity of the display driver. " alt="" coords="5,155,175,181"/>
<area shape="rect" id="node2" href="class_dist_rom_ascii_decoder.html" title="DistRomAsciiDecoder" alt="" coords="15,5,165,32"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
109,8 → 109,8
<tr class="memitem:aad8dc6359d9e23dabcbf342fadf2fa06"><td class="memItemLeft" align="right" valign="top"><a id="aad8dc6359d9e23dabcbf342fadf2fa06"></a>
<a class="el" href="class_a_s_c_i_i_decoder.html#aad8dc6359d9e23dabcbf342fadf2fa06">reset</a> &#160;</td><td class="memItemRight" valign="bottom"> <b><b><span class="keywordflow">in</span><span class="vhdlchar"> </span></b></b> <b><span class="comment">std_logic</span><span class="vhdlchar"> </span></b></td></tr>
<tr class="memitem:a11737d50bbf001c0d64a327a2afca193"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_a_s_c_i_i_decoder.html#a11737d50bbf001c0d64a327a2afca193">ascii_in</a> &#160;</td><td class="memItemRight" valign="bottom"> <b><b><span class="keywordflow">in</span><span class="vhdlchar"> </span></b></b> <b><span class="comment">std_logic_vector</span><span class="vhdlchar"> </span><span class="vhdlchar">(</span><span class="vhdlchar"> </span><span class="vhdlchar"> </span> <span class="vhdldigit">7</span> <span class="vhdlchar"> </span><span class="keywordflow">downto</span><span class="vhdlchar"> </span><span class="vhdlchar"> </span> <span class="vhdldigit">0</span> <span class="vhdlchar"> </span><span class="vhdlchar">)</span><span class="vhdlchar"> </span></b></td></tr>
<tr class="memitem:afe85e1682ca9b85576a5169bef98848c"><td class="memItemLeft" align="right" valign="top"><a id="afe85e1682ca9b85576a5169bef98848c"></a>
<a class="el" href="class_a_s_c_i_i_decoder.html#afe85e1682ca9b85576a5169bef98848c">disp_data</a> &#160;</td><td class="memItemRight" valign="bottom"> <b><b><span class="keywordflow">out</span><span class="vhdlchar"> </span></b></b> <b><span class="comment">std_logic_vector</span><span class="vhdlchar"> </span><span class="vhdlchar">(</span><span class="vhdlchar"> </span><span class="vhdlchar"> </span> <span class="vhdldigit">14</span> <span class="vhdlchar"> </span><span class="keywordflow">downto</span><span class="vhdlchar"> </span><span class="vhdlchar"> </span> <span class="vhdldigit">0</span> <span class="vhdlchar"> </span><span class="vhdlchar">)</span><span class="vhdlchar"> </span></b></td></tr>
<tr class="memitem:ae5d1871b211b0ea1a0592bd84db8cfd9"><td class="memItemLeft" align="right" valign="top"><a id="ae5d1871b211b0ea1a0592bd84db8cfd9"></a>
<a class="el" href="class_a_s_c_i_i_decoder.html#ae5d1871b211b0ea1a0592bd84db8cfd9">disp_data_q</a> &#160;</td><td class="memItemRight" valign="bottom"> <b><b><span class="keywordflow">out</span><span class="vhdlchar"> </span></b></b> <b><span class="comment">std_logic_vector</span><span class="vhdlchar"> </span><span class="vhdlchar">(</span><span class="vhdlchar"> </span><span class="vhdlchar"> </span> <span class="vhdldigit">14</span> <span class="vhdlchar"> </span><span class="keywordflow">downto</span><span class="vhdlchar"> </span><span class="vhdlchar"> </span> <span class="vhdldigit">0</span> <span class="vhdlchar"> </span><span class="vhdlchar">)</span><span class="vhdlchar"> </span></b></td></tr>
</table>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a11737d50bbf001c0d64a327a2afca193"></a>
/Documentation/html/class_a_s_c_i_i_decoder__inherit__graph.map
1,4 → 1,4
<map id="ASCIIDecoder" name="ASCIIDecoder">
<area shape="rect" id="node3" href="$class_display_driverw_decoder___top.html" title="Top entity of the display driver. " alt="" coords="5,155,188,181"/>
<area shape="rect" id="node2" href="$class_dist_rom_ascii_decoder.html" title="DistRomAsciiDecoder" alt="" coords="22,5,171,32"/>
<area shape="rect" id="node3" href="$classdisplay__driver__w__decoder.html" title="Top entity of the display driver. " alt="" coords="5,155,175,181"/>
<area shape="rect" id="node2" href="$class_dist_rom_ascii_decoder.html" title="DistRomAsciiDecoder" alt="" coords="15,5,165,32"/>
</map>
/Documentation/html/class_a_s_c_i_i_decoder__inherit__graph.md5
1,4 → 1,4
e17c734c8e2e5ededbe4151974947354
4bc197c382c43798294592f4c8f3f844
/Documentation/html/class_a_s_c_i_i_decoder__inherit__graph.png Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
/Documentation/html/class_dist_rom_ascii_decoder.html
72,9 → 72,9
<div class="dyncontent">
<div class="center"><img src="class_dist_rom_ascii_decoder__inherit__graph.png" border="0" usemap="#_dist_rom_ascii_decoder_inherit__map" alt="Inheritance graph"/></div>
<map name="_dist_rom_ascii_decoder_inherit__map" id="_dist_rom_ascii_decoder_inherit__map">
<area shape="rect" id="node2" href="class_a_s_c_i_i_decoder.html" title="ASCIIDecoder" alt="" coords="45,80,148,107"/>
<area shape="rect" id="node4" href="classtb.html" title="tb" alt="" coords="172,80,211,107"/>
<area shape="rect" id="node3" href="class_display_driverw_decoder___top.html" title="Top entity of the display driver. " alt="" coords="5,155,188,181"/>
<area shape="rect" id="node2" href="class_a_s_c_i_i_decoder.html" title="ASCIIDecoder" alt="" coords="39,80,141,107"/>
<area shape="rect" id="node4" href="classtb.html" title="tb" alt="" coords="165,80,204,107"/>
<area shape="rect" id="node3" href="classdisplay__driver__w__decoder.html" title="Top entity of the display driver. " alt="" coords="5,155,175,181"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
/Documentation/html/class_dist_rom_ascii_decoder__inherit__graph.map
1,5 → 1,5
<map id="DistRomAsciiDecoder" name="DistRomAsciiDecoder">
<area shape="rect" id="node2" href="$class_a_s_c_i_i_decoder.html" title="ASCIIDecoder" alt="" coords="45,80,148,107"/>
<area shape="rect" id="node4" href="$classtb.html" title="tb" alt="" coords="172,80,211,107"/>
<area shape="rect" id="node3" href="$class_display_driverw_decoder___top.html" title="Top entity of the display driver. " alt="" coords="5,155,188,181"/>
<area shape="rect" id="node2" href="$class_a_s_c_i_i_decoder.html" title="ASCIIDecoder" alt="" coords="39,80,141,107"/>
<area shape="rect" id="node4" href="$classtb.html" title="tb" alt="" coords="165,80,204,107"/>
<area shape="rect" id="node3" href="$classdisplay__driver__w__decoder.html" title="Top entity of the display driver. " alt="" coords="5,155,175,181"/>
</map>
/Documentation/html/class_dist_rom_ascii_decoder__inherit__graph.md5
1,5 → 1,5
8a13e41d0116c3311e19877226ab0acf
68633860e9c1694cc8e1733ef8206ae5
/Documentation/html/class_dist_rom_ascii_decoder__inherit__graph.png Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
/Documentation/html/classdisplay__driver__w__decoder-members.html
0,0 → 1,91
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Single 14 Segment Display Driver with Limited ASCII Decoder: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Single 14 Segment Display Driver with Limited ASCII Decoder
&#160;<span id="projectnumber">0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
 
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
 
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">display_driver_w_decoder Member List</div> </div>
</div><!--header-->
<div class="contents">
 
<p>This is the complete list of members for <a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Address</b> (defined in <a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a>)</td><td class="entry"><a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a></td><td class="entry"><span class="mlabel">Port</span></td></tr>
<tr><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html#a11737d50bbf001c0d64a327a2afca193">ascii_in</a></td><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a></td><td class="entry"><span class="mlabel">Port</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html#a4a4609c199d30b3adebbeb3a01276ec5">clk</a></td><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a></td><td class="entry"><span class="mlabel">Port</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>components</b> (defined in <a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a>)</td><td class="entry"><a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a></td><td class="entry"><span class="mlabel">use clause</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html#ae5d1871b211b0ea1a0592bd84db8cfd9">disp_data_q</a></td><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a></td><td class="entry"><span class="mlabel">Port</span></td></tr>
<tr><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html#ac39d5faa22b7c7b88914e8915f901d69">disp_sel</a></td><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a></td><td class="entry"><span class="mlabel">Port</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ecp5um</b> (defined in <a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a>)</td><td class="entry"><a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a></td><td class="entry"><span class="mlabel">Library</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ieee</b> (defined in <a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a>)</td><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a></td><td class="entry"><span class="mlabel">Library</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>IEEE</b> (defined in <a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a>)</td><td class="entry"><a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a></td><td class="entry"><span class="mlabel">Library</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>numeric_std</b> (defined in <a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a>)</td><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a></td><td class="entry"><span class="mlabel">use clause</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Q</b> (defined in <a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a>)</td><td class="entry"><a class="el" href="class_dist_rom_ascii_decoder.html">DistRomAsciiDecoder</a></td><td class="entry"><span class="mlabel">Port</span></td></tr>
<tr><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html#aad8dc6359d9e23dabcbf342fadf2fa06">reset</a></td><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a></td><td class="entry"><span class="mlabel">Port</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>std_logic_1164</b> (defined in <a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a>)</td><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a></td><td class="entry"><span class="mlabel">use clause</span></td></tr>
<tr><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html#a8f9235710fc037196ed1f7fa93aa0ef3">wr_en</a></td><td class="entry"><a class="el" href="classdisplay__driver__w__decoder.html">display_driver_w_decoder</a></td><td class="entry"><span class="mlabel">Port</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
Documentation/html/classdisplay__driver__w__decoder-members.html Property changes : Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: Documentation/html/classdisplay__driver__w__decoder.html =================================================================== --- Documentation/html/classdisplay__driver__w__decoder.html (nonexistent) +++ Documentation/html/classdisplay__driver__w__decoder.html (revision 8) @@ -0,0 +1,197 @@ + + + + + + + +Single 14 Segment Display Driver with Limited ASCII Decoder: display_driver_w_decoder Entity Reference + + + + + + + + + +
+
+ + + + + + +
+
Single 14 Segment Display Driver with Limited ASCII Decoder +  0.1 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
display_driver_w_decoder Entity Reference
+
+
+ +

Top entity of the display driver. + More...

+
+Inheritance diagram for display_driver_w_decoder:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for display_driver_w_decoder:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + +

+Entities

display_driver_w_decoder_arch  architecture
 Architecture definition of the display_driver_w_decoder. More...
 
+ + +

+Libraries

+ieee 
+ + + +

+Use Clauses

+std_logic_1164 
+numeric_std 
+ + + + + + + + + + + +

+Ports

+clk   in std_logic
 input clock, xx MHz.
+reset   in std_logic
 active high
+ascii_in   in std_logic_vector ( 7 downto 0 )
 input ASCII code to display
+wr_en   in std_logic
 active high write enable to store the ASCII code in a register
disp_data_q   out std_logic_vector ( 14 downto 0 )
disp_sel   out std_logic
+

Detailed Description

+

Top entity of the display driver.

+

Top entity of the decoder architecture. Module description also goes here.

+

Member Data Documentation

+ +

◆ disp_data_q

+ +
+
+ + + + + +
+ + + + +
disp_data_q out std_logic_vector ( 14 downto 0 )
+
+Port
+
+

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).

+

+Display Segment Bit Mapping

+ + + + + +
Bit Number 14131211109876543210
Display Segmentdpmlkjihg2g1fedcba
+

Note that there is no standard way to name the segments. Current data bits correspondt to display segments according this picture: https://www.maximintegrated.com/en/images/appnotes/3211/3211Fig02.gif

+ +
+
+ +

◆ disp_sel

+ +
+
+ + + + + +
+ + + + +
disp_sel out std_logic
+
+Port
+
+

If more displays needs to be fed change disp_sel to vector with length equal to number of displays. Use principles of the standard dynamic indication: provide data then enable the displays sequentially. If brightness control is desired just AND the selector and the PWM controller output.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + +
Documentation/html/classdisplay__driver__w__decoder.html Property changes : Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: Documentation/html/classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch-members.html =================================================================== --- Documentation/html/classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch-members.html (nonexistent) +++ Documentation/html/classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch-members.html (revision 8) @@ -0,0 +1,84 @@ + + + + + + + +Single 14 Segment Display Driver with Limited ASCII Decoder: Member List + + + + + + + + + +
+
+ + + + + + +
+
Single 14 Segment Display Driver with Limited ASCII Decoder +  0.1 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
display_driver_w_decoder_arch Member List
+
+
+ +

This is the complete list of members for display_driver_w_decoder_arch, including all inherited members.

+ + + + +
ascii_reg (defined in display_driver_w_decoder_arch)display_driver_w_decoder_archSignal
syn_noprune (defined in display_driver_w_decoder_arch)display_driver_w_decoder_archAttribute
syn_noprune (defined in display_driver_w_decoder_arch)display_driver_w_decoder_archAttribute
+ + + +
Documentation/html/classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch-members.html Property changes : Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: Documentation/html/classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch.html =================================================================== --- Documentation/html/classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch.html (nonexistent) +++ Documentation/html/classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch.html (revision 8) @@ -0,0 +1,109 @@ + + + + + + + +Single 14 Segment Display Driver with Limited ASCII Decoder: display_driver_w_decoder_arch Architecture Reference + + + + + + + + + +
+
+ + + + + + +
+
Single 14 Segment Display Driver with Limited ASCII Decoder +  0.1 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
display_driver_w_decoder_arch Architecture Reference
+
+
+ +

Architecture definition of the display_driver_w_decoder. + More...

+ + + +

+Signals

+ascii_reg  std_logic_vector ( 7 downto 0 )
+ + + +

+Attributes

+syn_noprune  boolean
+syn_noprune  ascii_reg : signal is true
+ + +

+Instantiations

+ascii_decoder_module  ASCIIDecoder <Entity ASCIIDecoder>
+

Detailed Description

+

Architecture definition of the display_driver_w_decoder.

+

Architecture describes the structure of the module together with doxygen description for doumentation generatior

+

The documentation for this class was generated from the following file: +
+ + + +
Documentation/html/classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch.html Property changes : Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: Documentation/html/classdisplay__driver__w__decoder__coll__graph.map =================================================================== --- Documentation/html/classdisplay__driver__w__decoder__coll__graph.map (nonexistent) +++ Documentation/html/classdisplay__driver__w__decoder__coll__graph.map (revision 8) @@ -0,0 +1,4 @@ + + + + Index: Documentation/html/classdisplay__driver__w__decoder__coll__graph.md5 =================================================================== --- Documentation/html/classdisplay__driver__w__decoder__coll__graph.md5 (nonexistent) +++ Documentation/html/classdisplay__driver__w__decoder__coll__graph.md5 (revision 8) @@ -0,0 +1 @@ +fd8d25dd4aeca4f98e4a25518e55b673 \ No newline at end of file Index: Documentation/html/classdisplay__driver__w__decoder__coll__graph.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: Documentation/html/classdisplay__driver__w__decoder__coll__graph.png =================================================================== --- Documentation/html/classdisplay__driver__w__decoder__coll__graph.png (nonexistent) +++ Documentation/html/classdisplay__driver__w__decoder__coll__graph.png (revision 8)
Documentation/html/classdisplay__driver__w__decoder__coll__graph.png Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: Documentation/html/classdisplay__driver__w__decoder__inherit__graph.map =================================================================== --- Documentation/html/classdisplay__driver__w__decoder__inherit__graph.map (nonexistent) +++ Documentation/html/classdisplay__driver__w__decoder__inherit__graph.map (revision 8) @@ -0,0 +1,4 @@ + + + + Index: Documentation/html/classdisplay__driver__w__decoder__inherit__graph.md5 =================================================================== --- Documentation/html/classdisplay__driver__w__decoder__inherit__graph.md5 (nonexistent) +++ Documentation/html/classdisplay__driver__w__decoder__inherit__graph.md5 (revision 8) @@ -0,0 +1 @@ +245398bc0f4cb9b9a63e6b2d81ef01f7 \ No newline at end of file Index: Documentation/html/classdisplay__driver__w__decoder__inherit__graph.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: Documentation/html/classdisplay__driver__w__decoder__inherit__graph.png =================================================================== --- Documentation/html/classdisplay__driver__w__decoder__inherit__graph.png (nonexistent) +++ Documentation/html/classdisplay__driver__w__decoder__inherit__graph.png (revision 8)
Documentation/html/classdisplay__driver__w__decoder__inherit__graph.png Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: Documentation/html/classes.html =================================================================== --- Documentation/html/classes.html (revision 7) +++ Documentation/html/classes.html (revision 8) @@ -73,7 +73,7 @@
  d  
tb    -DisplayDriverwDecoder_Top    +display_driver_w_decoder   
a | d | t
Index: Documentation/html/functions.html =================================================================== --- Documentation/html/functions.html (revision 7) +++ Documentation/html/functions.html (revision 8) @@ -62,21 +62,23 @@
Here is a list of all documented class members with links to the class documentation for each member:
Index: Documentation/html/functions_vars.html =================================================================== --- Documentation/html/functions_vars.html (revision 7) +++ Documentation/html/functions_vars.html (revision 8) @@ -62,21 +62,23 @@  
Index: Documentation/html/hierarchy.html =================================================================== --- Documentation/html/hierarchy.html (revision 7) +++ Documentation/html/hierarchy.html (revision 8) @@ -67,7 +67,7 @@

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
- + Index: Documentation/html/index.html =================================================================== --- Documentation/html/index.html (revision 7) +++ Documentation/html/index.html (revision 8) @@ -5,7 +5,7 @@ -Single 14 Segment Display Driver with Limited ASCII Decoder: My Personal Index Page +Single 14 Segment Display Driver with Limited ASCII Decoder: 14-segment Display Driver Info @@ -60,20 +60,38 @@
-
My Personal Index Page
+
14-segment Display Driver Info

Introduction

-
  The module contains:








    -     -# Input data register to hold the ASCII symbol codes








    -     -# Decoder to translate the code to 14-segment display word








    -         -# here is also the driver








    -

-Installation

-

-Step 1: Opening the box

-
  etc... 
+
 The main purpose of this module is to be fed with ASCI symbol codes and it will output word lighting up the exact segments 








    + on the 14-segment display to visualize the ASCII character. Current implementation uses input register to store the input code. 








    +








    + ASCII symbols are coded in Byte having values from 0x00 to 0x7F. This range covers all the symbols in the decoding table.








    + The range is doubled because the symbols may be lit with DP on or off. More information may be found in MAX6955 datasheet.








    + Follows small revised quote of the most descriptive part related to decoding. Not applicable words are removed.








    +








    + ... includes 104-character ASCII font maps for 14-segment... . The characters follow the standard ASCII font, with the








    + addition of the following common symbols: GBP, EUR, Yen, degree, micro, plus/minus, arrow up, and arrow down. 








    + Seven bits represent the 104-character font map; an 8th bit is used to select whether the decimal point (DP) is lit.








    + source: https://datasheets.maximintegrated.com/en/ds/MAX6955.pdf








    +

+Display Data Out

+
 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).








    +

+Display Segment Bit Mapping

+
 CDisplayDriverwDecoder_TopTop entity of the display driver
 Cdisplay_driver_w_decoderTop entity of the display driver
 CASCIIDecoder
 CDistRomAsciiDecoder
 CDisplayDriverWrapper
+ + + + +
Bit Number 14131211109876543210
Display Segmentdpmlkjihg2g1fedcba
+

Note that there is no standard way to name the segments. Current data bits correspondt to display segments according this picture:

+3211Fig02.gif +
+
/Documentation/html/inherit_graph_1.map
2,5 → 2,5
<area shape="rect" id="node1" href="$class_dist_rom_ascii_decoder.html" title="DistRomAsciiDecoder" alt="" coords="5,31,155,57"/>
<area shape="rect" id="node2" href="$class_a_s_c_i_i_decoder.html" title="ASCIIDecoder" alt="" coords="203,5,305,32"/>
<area shape="rect" id="node4" href="$classtb.html" title="tb" alt="" coords="235,56,273,83"/>
<area shape="rect" id="node3" href="$class_display_driverw_decoder___top.html" title="Top entity of the display driver. " alt="" coords="353,5,536,32"/>
<area shape="rect" id="node3" href="$classdisplay__driver__w__decoder.html" title="Top entity of the display driver. " alt="" coords="353,5,523,32"/>
</map>
/Documentation/html/inherit_graph_1.md5
1,5 → 2,5
b0f5981a56ffb0c18f4db74be91ec5db
a690d201963852b245896ab7f1398df4
/Documentation/html/inherit_graph_1.png Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
/Documentation/html/inherits.html
76,7 → 76,7
<area shape="rect" id="node1" href="class_dist_rom_ascii_decoder.html" title="DistRomAsciiDecoder" alt="" coords="5,31,155,57"/>
<area shape="rect" id="node2" href="class_a_s_c_i_i_decoder.html" title="ASCIIDecoder" alt="" coords="203,5,305,32"/>
<area shape="rect" id="node4" href="classtb.html" title="tb" alt="" coords="235,56,273,83"/>
<area shape="rect" id="node3" href="class_display_driverw_decoder___top.html" title="Top entity of the display driver. " alt="" coords="353,5,536,32"/>
<area shape="rect" id="node3" href="classdisplay__driver__w__decoder.html" title="Top entity of the display driver. " alt="" coords="353,5,523,32"/>
</map>
</td></tr>
</table>
/Documentation/latex/_display_driverw_decoder___top_8vhd.tex
8,10 → 8,10
\subsection*{Entities}
\begin{DoxyCompactItemize}
\item
\hyperlink{class_display_driverw_decoder___top}{Display\+Driverw\+Decoder\+\_\+\+Top} entity
\hyperlink{classdisplay__driver__w__decoder}{display\+\_\+driver\+\_\+w\+\_\+decoder} entity
\begin{DoxyCompactList}\small\item\em Top entity of the display driver. \end{DoxyCompactList}\item
\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}
\hyperlink{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch}{display\+\_\+driver\+\_\+w\+\_\+decoder\+\_\+arch} architecture
\begin{DoxyCompactList}\small\item\em Architecture definition of the \hyperlink{classdisplay__driver__w__decoder}{display\+\_\+driver\+\_\+w\+\_\+decoder}. \end{DoxyCompactList}\end{DoxyCompactItemize}
 
 
\subsection{Detailed Description}
/Documentation/latex/annotated.tex
1,9 → 1,9
\section{Design Unit List}
Here is a list of all design unit members with links to the Entities they belong to\+:\begin{DoxyCompactList}
\item\contentsline{section}{architecture \hyperlink{class_a_s_c_i_i_decoder_1_1arch}{arch} }{\pageref{class_a_s_c_i_i_decoder_1_1arch}}{}
\item\contentsline{section}{architecture \hyperlink{class_display_driverw_decoder___top_1_1arch}{arch} \\*Architecture definition of the \hyperlink{class_display_driverw_decoder___top}{Display\+Driverw\+Decoder\+\_\+\+Top} }{\pageref{class_display_driverw_decoder___top_1_1arch}}{}
\item\contentsline{section}{entity \hyperlink{class_a_s_c_i_i_decoder}{A\+S\+C\+I\+I\+Decoder} }{\pageref{class_a_s_c_i_i_decoder}}{}
\item\contentsline{section}{entity \hyperlink{class_display_driverw_decoder___top}{Display\+Driverw\+Decoder\+\_\+\+Top} \\*Top entity of the display driver }{\pageref{class_display_driverw_decoder___top}}{}
\item\contentsline{section}{entity \hyperlink{classdisplay__driver__w__decoder}{display\+\_\+driver\+\_\+w\+\_\+decoder} \\*Top entity of the display driver }{\pageref{classdisplay__driver__w__decoder}}{}
\item\contentsline{section}{architecture \hyperlink{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch}{display\+\_\+driver\+\_\+w\+\_\+decoder\+\_\+arch} \\*Architecture definition of the \hyperlink{classdisplay__driver__w__decoder}{display\+\_\+driver\+\_\+w\+\_\+decoder} }{\pageref{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch}}{}
\item\contentsline{section}{entity \hyperlink{class_display_driver_wrapper}{Display\+Driver\+Wrapper} }{\pageref{class_display_driver_wrapper}}{}
\item\contentsline{section}{entity \hyperlink{class_dist_rom_ascii_decoder}{Dist\+Rom\+Ascii\+Decoder} }{\pageref{class_dist_rom_ascii_decoder}}{}
\item\contentsline{section}{architecture \hyperlink{class_dist_rom_ascii_decoder_1_1_structure}{Structure} }{\pageref{class_dist_rom_ascii_decoder_1_1_structure}}{}
/Documentation/latex/class_a_s_c_i_i_decoder.tex
2,18 → 2,16
\label{class_a_s_c_i_i_decoder}\index{A\+S\+C\+I\+I\+Decoder@{A\+S\+C\+I\+I\+Decoder}}
 
 
Inheritance diagram for A\+S\+C\+I\+I\+Decoder\+:
\nopagebreak
Inheritance diagram for A\+S\+C\+I\+I\+Decoder\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=217pt]{class_a_s_c_i_i_decoder__inherit__graph}
\includegraphics[width=207pt]{class_a_s_c_i_i_decoder__inherit__graph}
\end{center}
\end{figure}
 
 
Collaboration diagram for A\+S\+C\+I\+I\+Decoder\+:
\nopagebreak
Collaboration diagram for A\+S\+C\+I\+I\+Decoder\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
51,8 → 49,8
\item
\hyperlink{class_a_s_c_i_i_decoder_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
\mbox{\Hypertarget{class_a_s_c_i_i_decoder_afe85e1682ca9b85576a5169bef98848c}\label{class_a_s_c_i_i_decoder_afe85e1682ca9b85576a5169bef98848c}}
\hyperlink{class_a_s_c_i_i_decoder_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}{ }}
\mbox{\Hypertarget{class_a_s_c_i_i_decoder_ae5d1871b211b0ea1a0592bd84db8cfd9}\label{class_a_s_c_i_i_decoder_ae5d1871b211b0ea1a0592bd84db8cfd9}}
\hyperlink{class_a_s_c_i_i_decoder_ae5d1871b211b0ea1a0592bd84db8cfd9}{disp\+\_\+data\+\_\+q} {\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}{ }}
\end{DoxyCompactItemize}
 
 
/Documentation/latex/class_a_s_c_i_i_decoder__inherit__graph.md5
1,8 → 49,8
0319e0f859e62ba76414cb7e6faf98e8
72fcf97d0c184941d24f53bbb3bdeeb0
/Documentation/latex/class_a_s_c_i_i_decoder__inherit__graph.pdf Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
/Documentation/latex/class_dist_rom_ascii_decoder.tex
2,12 → 2,11
\label{class_dist_rom_ascii_decoder}\index{Dist\+Rom\+Ascii\+Decoder@{Dist\+Rom\+Ascii\+Decoder}}
 
 
Inheritance diagram for Dist\+Rom\+Ascii\+Decoder\+:
\nopagebreak
Inheritance diagram for Dist\+Rom\+Ascii\+Decoder\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=240pt]{class_dist_rom_ascii_decoder__inherit__graph}
\includegraphics[width=235pt]{class_dist_rom_ascii_decoder__inherit__graph}
\end{center}
\end{figure}
\subsection*{Entities}
/Documentation/latex/class_dist_rom_ascii_decoder__inherit__graph.md5
1,12 → 2,11
1d5a4af906d467c8504b73e6390f4c7b
be9944a99afbbb2a75909084e2424251
/Documentation/latex/class_dist_rom_ascii_decoder__inherit__graph.pdf Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
/Documentation/latex/classdisplay__driver__w__decoder.tex
0,0 → 1,102
\hypertarget{classdisplay__driver__w__decoder}{}\section{display\+\_\+driver\+\_\+w\+\_\+decoder Entity Reference}
\label{classdisplay__driver__w__decoder}\index{display\+\_\+driver\+\_\+w\+\_\+decoder@{display\+\_\+driver\+\_\+w\+\_\+decoder}}
 
 
Top entity of the display driver.
 
 
 
 
Inheritance diagram for display\+\_\+driver\+\_\+w\+\_\+decoder\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=207pt]{classdisplay__driver__w__decoder__inherit__graph}
\end{center}
\end{figure}
 
 
Collaboration diagram for display\+\_\+driver\+\_\+w\+\_\+decoder\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=207pt]{classdisplay__driver__w__decoder__coll__graph}
\end{center}
\end{figure}
\subsection*{Entities}
\begin{DoxyCompactItemize}
\item
\hyperlink{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch}{display\+\_\+driver\+\_\+w\+\_\+decoder\+\_\+arch} architecture
\begin{DoxyCompactList}\small\item\em Architecture definition of the \hyperlink{classdisplay__driver__w__decoder}{display\+\_\+driver\+\_\+w\+\_\+decoder}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Libraries}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classdisplay__driver__w__decoder_a0a6af6eef40212dbaf130d57ce711256}\label{classdisplay__driver__w__decoder_a0a6af6eef40212dbaf130d57ce711256}}
\hyperlink{classdisplay__driver__w__decoder_a0a6af6eef40212dbaf130d57ce711256}{ieee}
\end{DoxyCompactItemize}
\subsection*{Use Clauses}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classdisplay__driver__w__decoder_acd03516902501cd1c7296a98e22c6fcb}\label{classdisplay__driver__w__decoder_acd03516902501cd1c7296a98e22c6fcb}}
\hyperlink{classdisplay__driver__w__decoder_acd03516902501cd1c7296a98e22c6fcb}{std\+\_\+logic\+\_\+1164}
\item
\mbox{\Hypertarget{classdisplay__driver__w__decoder_a2edc34402b573437d5f25fa90ba4013e}\label{classdisplay__driver__w__decoder_a2edc34402b573437d5f25fa90ba4013e}}
\hyperlink{classdisplay__driver__w__decoder_a2edc34402b573437d5f25fa90ba4013e}{numeric\+\_\+std}
\end{DoxyCompactItemize}
\subsection*{Ports}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classdisplay__driver__w__decoder_a4a4609c199d30b3adebbeb3a01276ec5}\label{classdisplay__driver__w__decoder_a4a4609c199d30b3adebbeb3a01276ec5}}
\hyperlink{classdisplay__driver__w__decoder_a4a4609c199d30b3adebbeb3a01276ec5}{clk} {\bfseries {\bfseries \textcolor{keywordflow}{in}\textcolor{vhdlchar}{ }}} {\bfseries \textcolor{comment}{std\+\_\+logic}\textcolor{vhdlchar}{ }}
\begin{DoxyCompactList}\small\item\em input clock, xx M\+Hz. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classdisplay__driver__w__decoder_aad8dc6359d9e23dabcbf342fadf2fa06}\label{classdisplay__driver__w__decoder_aad8dc6359d9e23dabcbf342fadf2fa06}}
\hyperlink{classdisplay__driver__w__decoder_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
\mbox{\Hypertarget{classdisplay__driver__w__decoder_a11737d50bbf001c0d64a327a2afca193}\label{classdisplay__driver__w__decoder_a11737d50bbf001c0d64a327a2afca193}}
\hyperlink{classdisplay__driver__w__decoder_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}{ }}
\begin{DoxyCompactList}\small\item\em input A\+S\+C\+II code to display \end{DoxyCompactList}\item
\mbox{\Hypertarget{classdisplay__driver__w__decoder_a8f9235710fc037196ed1f7fa93aa0ef3}\label{classdisplay__driver__w__decoder_a8f9235710fc037196ed1f7fa93aa0ef3}}
\hyperlink{classdisplay__driver__w__decoder_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{classdisplay__driver__w__decoder_ae5d1871b211b0ea1a0592bd84db8cfd9}{disp\+\_\+data\+\_\+q} {\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
\hyperlink{classdisplay__driver__w__decoder_ac39d5faa22b7c7b88914e8915f901d69}{disp\+\_\+sel} {\bfseries {\bfseries \textcolor{keywordflow}{out}\textcolor{vhdlchar}{ }}} {\bfseries \textcolor{comment}{std\+\_\+logic}\textcolor{vhdlchar}{ }}
\end{DoxyCompactItemize}
 
 
\subsection{Detailed Description}
Top entity of the display driver.
 
Top entity of the decoder architecture. Module description also goes here.
 
\subsection{Member Data Documentation}
\mbox{\Hypertarget{classdisplay__driver__w__decoder_ae5d1871b211b0ea1a0592bd84db8cfd9}\label{classdisplay__driver__w__decoder_ae5d1871b211b0ea1a0592bd84db8cfd9}}
\index{display\+\_\+driver\+\_\+w\+\_\+decoder@{display\+\_\+driver\+\_\+w\+\_\+decoder}!disp\+\_\+data\+\_\+q@{disp\+\_\+data\+\_\+q}}
\index{disp\+\_\+data\+\_\+q@{disp\+\_\+data\+\_\+q}!display\+\_\+driver\+\_\+w\+\_\+decoder@{display\+\_\+driver\+\_\+w\+\_\+decoder}}
\subsubsection{\texorpdfstring{disp\+\_\+data\+\_\+q}{disp\_data\_q}}
{\footnotesize\ttfamily \hyperlink{classdisplay__driver__w__decoder_ae5d1871b211b0ea1a0592bd84db8cfd9}{disp\+\_\+data\+\_\+q} {\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 disp\+\_\+sel signal must be provided (according typical dynamic display indication).\hypertarget{index_disp_data_bit_mapping}{}\subsection{Display Segment Bit Mapping}\label{index_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{ 14}&\PBS\centering \textbf{ 13}&\PBS\centering \textbf{ 12}&\PBS\centering \textbf{ 11}&\PBS\centering \textbf{ 10}&\PBS\centering \textbf{ 9}&\PBS\centering \textbf{ 8}&\PBS\centering \textbf{ 7}&\PBS\centering \textbf{ 6}&\PBS\centering \textbf{ 5}&\PBS\centering \textbf{ 4}&\PBS\centering \textbf{ 3}&\PBS\centering \textbf{ 2}&\PBS\centering \textbf{ 1}&\PBS\centering \textbf{ 0 }\\\cline{1-16}
\endfirsthead
\hline
\endfoot
\hline
\rowcolor{\tableheadbgcolor}\PBS\centering \textbf{ Bit Number }&\PBS\centering \textbf{ 14}&\PBS\centering \textbf{ 13}&\PBS\centering \textbf{ 12}&\PBS\centering \textbf{ 11}&\PBS\centering \textbf{ 10}&\PBS\centering \textbf{ 9}&\PBS\centering \textbf{ 8}&\PBS\centering \textbf{ 7}&\PBS\centering \textbf{ 6}&\PBS\centering \textbf{ 5}&\PBS\centering \textbf{ 4}&\PBS\centering \textbf{ 3}&\PBS\centering \textbf{ 2}&\PBS\centering \textbf{ 1}&\PBS\centering \textbf{ 0 }\\\cline{1-16}
\endhead
\PBS\centering Display Segment&\PBS\centering dp&\PBS\centering m&\PBS\centering l&\PBS\centering k&\PBS\centering j&\PBS\centering i&\PBS\centering h&\PBS\centering g2&\PBS\centering g1&\PBS\centering f&\PBS\centering e&\PBS\centering d&\PBS\centering c&\PBS\centering b&\PBS\centering a \\\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{classdisplay__driver__w__decoder_ac39d5faa22b7c7b88914e8915f901d69}\label{classdisplay__driver__w__decoder_ac39d5faa22b7c7b88914e8915f901d69}}
\index{display\+\_\+driver\+\_\+w\+\_\+decoder@{display\+\_\+driver\+\_\+w\+\_\+decoder}!disp\+\_\+sel@{disp\+\_\+sel}}
\index{disp\+\_\+sel@{disp\+\_\+sel}!display\+\_\+driver\+\_\+w\+\_\+decoder@{display\+\_\+driver\+\_\+w\+\_\+decoder}}
\subsubsection{\texorpdfstring{disp\+\_\+sel}{disp\_sel}}
{\footnotesize\ttfamily \hyperlink{classdisplay__driver__w__decoder_ac39d5faa22b7c7b88914e8915f901d69}{disp\+\_\+sel} {\bfseries \textcolor{keywordflow}{out}\textcolor{vhdlchar}{ }} {\bfseries \textcolor{comment}{std\+\_\+logic}\textcolor{vhdlchar}{ }} \hspace{0.3cm}{\ttfamily [Port]}}
 
If more displays needs to be fed change disp\+\_\+sel to vector with length equal to number of displays. Use principles of the standard dynamic indication\+: provide data then enable the displays sequentially. If brightness control is desired just A\+ND the selector and the P\+WM controller output.
 
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
C\+:/\+Projects/single-\/14-\/segment-\/display-\/driver-\/w-\/decoder/\+Project/\+Sources/\hyperlink{_display_driverw_decoder___top_8vhd}{Display\+Driverw\+Decoder\+\_\+\+Top.\+vhd}\end{DoxyCompactItemize}
/Documentation/latex/classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch.tex
0,0 → 1,38
\hypertarget{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch}{}\section{display\+\_\+driver\+\_\+w\+\_\+decoder\+\_\+arch Architecture Reference}
\label{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch}\index{display\+\_\+driver\+\_\+w\+\_\+decoder\+\_\+arch@{display\+\_\+driver\+\_\+w\+\_\+decoder\+\_\+arch}}
 
 
Architecture definition of the \hyperlink{classdisplay__driver__w__decoder}{display\+\_\+driver\+\_\+w\+\_\+decoder}.
 
 
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch_acf2d561d4dedccc31b5064e5e5a8f0a2}\label{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch_acf2d561d4dedccc31b5064e5e5a8f0a2}}
\hyperlink{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch_acf2d561d4dedccc31b5064e5e5a8f0a2}{ascii\+\_\+reg} {\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}{ }}
\end{DoxyCompactItemize}
\subsection*{Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch_a3a82dfc32d13adc69614a857b96b70a2}\label{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch_a3a82dfc32d13adc69614a857b96b70a2}}
\hyperlink{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch_a3a82dfc32d13adc69614a857b96b70a2}{syn\+\_\+noprune} {\bfseries \textcolor{comment}{boolean}\textcolor{vhdlchar}{ }}
\item
\mbox{\Hypertarget{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch_a8dd0a3dcc06aeed56def11c8c09f8e14}\label{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch_a8dd0a3dcc06aeed56def11c8c09f8e14}}
\hyperlink{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch_a8dd0a3dcc06aeed56def11c8c09f8e14}{syn\+\_\+noprune} {\bfseries \textcolor{vhdlchar}{ascii\+\_\+reg}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{\+:}\textcolor{vhdlchar}{ }\textcolor{keywordflow}{signal}\textcolor{vhdlchar}{ }\textcolor{keywordflow}{is}\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{ }\textcolor{vhdlchar}{true}\textcolor{vhdlchar}{ }}
\end{DoxyCompactItemize}
\subsection*{Instantiations}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch_ae44427d7438fe8dcce1de4bbdee152b2}\label{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch_ae44427d7438fe8dcce1de4bbdee152b2}}
\hyperlink{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch_ae44427d7438fe8dcce1de4bbdee152b2}{ascii\+\_\+decoder\+\_\+module} {\bfseries A\+S\+C\+I\+I\+Decoder}
\end{DoxyCompactItemize}
 
 
\subsection{Detailed Description}
Architecture definition of the \hyperlink{classdisplay__driver__w__decoder}{display\+\_\+driver\+\_\+w\+\_\+decoder}.
 
Architecture describes the structure of the module together with doxygen description for doumentation generatior
 
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
C\+:/\+Projects/single-\/14-\/segment-\/display-\/driver-\/w-\/decoder/\+Project/\+Sources/\hyperlink{_display_driverw_decoder___top_8vhd}{Display\+Driverw\+Decoder\+\_\+\+Top.\+vhd}\end{DoxyCompactItemize}
/Documentation/latex/classdisplay__driver__w__decoder__coll__graph.md5
0,0 → 1,38
fbbdee130791e3cc83613621859ab354
/Documentation/latex/classdisplay__driver__w__decoder__coll__graph.pdf Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
Documentation/latex/classdisplay__driver__w__decoder__coll__graph.pdf Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: Documentation/latex/classdisplay__driver__w__decoder__inherit__graph.md5 =================================================================== --- Documentation/latex/classdisplay__driver__w__decoder__inherit__graph.md5 (nonexistent) +++ Documentation/latex/classdisplay__driver__w__decoder__inherit__graph.md5 (revision 8) @@ -0,0 +1 @@ +84ac91aaa75e99f6737f955cf872a10d \ No newline at end of file Index: Documentation/latex/classdisplay__driver__w__decoder__inherit__graph.pdf =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: Documentation/latex/classdisplay__driver__w__decoder__inherit__graph.pdf =================================================================== --- Documentation/latex/classdisplay__driver__w__decoder__inherit__graph.pdf (nonexistent) +++ Documentation/latex/classdisplay__driver__w__decoder__inherit__graph.pdf (revision 8)
Documentation/latex/classdisplay__driver__w__decoder__inherit__graph.pdf Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: Documentation/latex/classtb.tex =================================================================== --- Documentation/latex/classtb.tex (revision 7) +++ Documentation/latex/classtb.tex (revision 8) @@ -2,8 +2,7 @@ \label{classtb}\index{tb@{tb}} -Inheritance diagram for tb\+: -\nopagebreak +Inheritance diagram for tb\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -12,8 +11,7 @@ \end{figure} -Collaboration diagram for tb\+: -\nopagebreak +Collaboration diagram for tb\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode
/Documentation/latex/hierarchy.tex
1,6 → 1,6
\section{Design Unit Hierarchy}
This inheritance list is sorted roughly, but not completely, alphabetically\+:\begin{DoxyCompactList}
\item \contentsline{section}{Display\+Driverw\+Decoder\+\_\+\+Top}{\pageref{class_display_driverw_decoder___top}}{}
\item \contentsline{section}{display\+\_\+driver\+\_\+w\+\_\+decoder}{\pageref{classdisplay__driver__w__decoder}}{}
\begin{DoxyCompactList}
\item \contentsline{section}{A\+S\+C\+I\+I\+Decoder}{\pageref{class_a_s_c_i_i_decoder}}{}
\begin{DoxyCompactList}
/Documentation/latex/index.tex
1,10 → 1,31
\hypertarget{index_intro_sec}{}\section{Introduction}\label{index_intro_sec}
\begin{DoxyVerb} The module contains:
-# Input data register to hold the ASCII symbol codes
-# Decoder to translate the code to 14-segment display word
-# here is also the driver
\begin{DoxyVerb} The main purpose of this module is to be fed with ASCI symbol codes and it will output word lighting up the exact segments
on the 14-segment display to visualize the ASCII character. Current implementation uses input register to store the input code.
 
ASCII symbols are coded in Byte having values from 0x00 to 0x7F. This range covers all the symbols in the decoding table.
The range is doubled because the symbols may be lit with DP on or off. More information may be found in MAX6955 datasheet.
Follows small revised quote of the most descriptive part related to decoding. Not applicable words are removed.
 
... includes 104-character ASCII font maps for 14-segment... . The characters follow the standard ASCII font, with the
addition of the following common symbols: GBP, EUR, Yen, degree, micro, plus/minus, arrow up, and arrow down.
Seven bits represent the 104-character font map; an 8th bit is used to select whether the decimal point (DP) is lit.
source: https://datasheets.maximintegrated.com/en/ds/MAX6955.pdf
\end{DoxyVerb}
\hypertarget{index_install_sec}{}\section{Installation}\label{index_install_sec}
\hypertarget{index_step1}{}\subsection{Step 1\+: Opening the box}\label{index_step1}
\begin{DoxyVerb} etc... \end{DoxyVerb}
\hypertarget{index_port_disp_data}{}\section{Display Data Out}\label{index_port_disp_data}
\begin{DoxyVerb} 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).
\end{DoxyVerb}
\hypertarget{index_disp_data_bit_mapping}{}\subsection{Display Segment Bit Mapping}\label{index_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{ 14}&\PBS\centering \textbf{ 13}&\PBS\centering \textbf{ 12}&\PBS\centering \textbf{ 11}&\PBS\centering \textbf{ 10}&\PBS\centering \textbf{ 9}&\PBS\centering \textbf{ 8}&\PBS\centering \textbf{ 7}&\PBS\centering \textbf{ 6}&\PBS\centering \textbf{ 5}&\PBS\centering \textbf{ 4}&\PBS\centering \textbf{ 3}&\PBS\centering \textbf{ 2}&\PBS\centering \textbf{ 1}&\PBS\centering \textbf{ 0 }\\\cline{1-16}
\endfirsthead
\hline
\endfoot
\hline
\rowcolor{\tableheadbgcolor}\PBS\centering \textbf{ Bit Number }&\PBS\centering \textbf{ 14}&\PBS\centering \textbf{ 13}&\PBS\centering \textbf{ 12}&\PBS\centering \textbf{ 11}&\PBS\centering \textbf{ 10}&\PBS\centering \textbf{ 9}&\PBS\centering \textbf{ 8}&\PBS\centering \textbf{ 7}&\PBS\centering \textbf{ 6}&\PBS\centering \textbf{ 5}&\PBS\centering \textbf{ 4}&\PBS\centering \textbf{ 3}&\PBS\centering \textbf{ 2}&\PBS\centering \textbf{ 1}&\PBS\centering \textbf{ 0 }\\\cline{1-16}
\endhead
\PBS\centering Display Segment&\PBS\centering dp&\PBS\centering m&\PBS\centering l&\PBS\centering k&\PBS\centering j&\PBS\centering i&\PBS\centering h&\PBS\centering g2&\PBS\centering g1&\PBS\centering f&\PBS\centering e&\PBS\centering d&\PBS\centering c&\PBS\centering b&\PBS\centering a \\\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\+:
/Documentation/latex/refman.tex
138,7 → 138,7
\hypersetup{pageanchor=true}
 
%--- Begin generated contents ---
\chapter{My Personal Index Page}
\chapter{14-\/segment Display Driver Info}
\label{index}\hypertarget{index}{}\input{index}
\chapter{Design Unit Index}
\input{hierarchy}
149,9 → 149,9
\chapter{Class Documentation}
\input{class___m_a_t_h___r_e_a_l}
\input{class_a_s_c_i_i_decoder_1_1arch}
\input{class_display_driverw_decoder___top_1_1arch}
\input{class_a_s_c_i_i_decoder}
\input{class_display_driverw_decoder___top}
\input{classdisplay__driver__w__decoder}
\input{classdisplay__driver__w__decoder_1_1display__driver__w__decoder__arch}
\input{class_display_driver_wrapper}
\input{class_dist_rom_ascii_decoder}
\input{class_m_a_t_h___r_e_a_l}
Project/Sources/ASCIIDecoder.vhd Property changes : Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: Project/Sources/DisplayDriverWrapper.vhd =================================================================== --- Project/Sources/DisplayDriverWrapper.vhd (revision 7) +++ Project/Sources/DisplayDriverWrapper.vhd (nonexistent) @@ -1,98 +0,0 @@ --------------------------------------------------------------------------------- --- Entity: DisplayDriverWrapper --- Date:2017-01-06 --- Author: GL --- --- Description: --------------------------------------------------------------------------------- -library ieee; -use ieee.std_logic_1164.all; -use ieee.numeric_std.all; - ---! @file ---! @brief Top wrapper for design FPGA prove. ---! @details This wrapper is designed for Lattice ECP5-5G Versa Development Kit. -entity DisplayDriverWrapper is - port ( - clk : in std_logic; --! input clock, xx MHz. - n_rst : in std_logic; --! active low on board. active high in design. - - button : in std_logic; --! dev board tact switch to scroll through some test symbols, active low - - --! 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). - disp_data : out std_logic_vector(14 downto 0); - - --! If more displays needs to be fed change disp_sel to vector with length equal to number of displays. - --! Use principles of the standard dynamic indication: provide data then enable the displays sequentially. - --! If brightness control is desired just AND the selector and the PWM controller output. - disp_sel : out std_logic - ); - attribute syn_force_pad: boolean; - attribute syn_force_pad of clk, n_rst, button, disp_sel, disp_data: signal is true; -end DisplayDriverWrapper; - ---! @details The architecture consists of the DisplayDriverwDecoder_Top itself (as DUT) plus ---! sample symbol generator triggered by the button on the dev board -architecture arch of DisplayDriverWrapper is - signal rst: std_logic; - - --! Debounce the glitches shorter than 4 clock cycles. Expand at will according the clock speed and glitch duration to filter. - signal bttn_state_fifo: unsigned(3 downto 0); - - --! Active high i.e. '1' means "button pressed" - signal bttn_state: std_logic; - - --! Incremented by 1 each time button is clicked. Provides ASCII symbol code for test purposes - --! Counter range is double the decoder table size because codes from 0x00 to 0x7F are the symbols with decimal point dark. - --! Codes from 0x80 to 0xFF are the same symbols but with decimal point lit. The decoder should handle this. The counter is lineary incremented. - signal symbol_scan_cntr: unsigned(7 downto 0); -begin - ---! invert n_rst to make it active high on design recommendation -rst <= not n_rst; - -BtnDebouncer:process(clk) -begin - if rising_edge(clk) then - if rst = '1' then - bttn_state_fifo <= (others=>'1'); -- active low - bttn_state <= '0'; -- active high - else - bttn_state_fifo <= shift_left(bttn_state_fifo,1); - bttn_state_fifo(bttn_state_fifo'right) <= button; - - if bttn_state_fifo = "0000" then -- button actuated for more than X clocks and no bounces present - bttn_state <= '1'; -- report button is actuated - else - bttn_state <= '0'; - end if; - end if; - end if; -end process; - - -AddrScanCntr:process(rst,bttn_state) -begin - if rst='1' then - symbol_scan_cntr <= (others=>'0'); - elsif rising_edge(bttn_state) then -- TODO: Fix this to edge detector implementation - symbol_scan_cntr <= symbol_scan_cntr + 1; -- I count ont the natural rolloff of this counter - end if; -end process; - - -DDwD_Top:entity work.DisplayDriverwDecoder_Top -port map( - clk => clk, - reset => rst, - ascii_in => std_logic_vector(symbol_scan_cntr), - wr_en => '0', - disp_data => disp_data, - disp_sel => disp_sel -); - ---disp_sel <= '1' when button = '1'; - -end arch; -
Project/Sources/DisplayDriverWrapper.vhd Property changes : Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: Project/Sources/DisplayDriverwDecoder_Top.vhd =================================================================== --- Project/Sources/DisplayDriverwDecoder_Top.vhd (revision 7) +++ Project/Sources/DisplayDriverwDecoder_Top.vhd (revision 8) @@ -1,5 +1,5 @@ -------------------------------------------------------------------------------- --- Entity: DisplayDriverwDecoder_Top +-- Entity: display_driver_w_decoder -- Date:2017-01-06 -- Author: GL -- @@ -12,20 +12,14 @@ use ieee.std_logic_1164.all; use ieee.numeric_std.all; ---! Top entity of the display driver. -entity DisplayDriverwDecoder_Top is +--! @brief Top entity of the display driver. +--! @details Top entity of the decoder architecture. Module description also goes here. +entity display_driver_w_decoder is port ( clk : in std_logic; --! input clock, xx MHz. reset : in std_logic; --! active high - --! ASCII symbols are coded in 1B having values from 0x00 to 0x7F. - --! Current implementation uses 104-Character ASCII Font Map described in MAX6955 Datasheet. - --! https://datasheets.maximintegrated.com/en/ds/MAX6955.pdf - --! The MSB 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 0xC8 (or 11001000b). - -- TODO: refactor the comment above to be clear when the idea gets clear - ascii_in: in std_logic_vector(7 downto 0); + ascii_in: in std_logic_vector(7 downto 0); --! input ASCII code to display wr_en : in std_logic; --! active high write enable to store the ASCII code in a register --! Typically the data fed to display (single or multiple) is provided for single display at a time. @@ -36,8 +30,8 @@ --! |:--------: |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| --! |Display Segment| dp| m| l| k| j| i| h| g2| g1| f| e| d| c| b|a | --! Note that there is no standard way to name the segments. - --! Current data bits correspondt to display segments according this picture: https://www.maximintegrated.com/en/images/appnotes/3211/3211Fig02.gif - disp_data : out std_logic_vector(14 downto 0); + --! Current data bits correspondt to display segments according this picture: @image html https://www.maximintegrated.com/en/images/appnotes/3211/3211Fig02.gif + disp_data_q : out std_logic_vector(14 downto 0); --! If more displays needs to be fed change disp_sel to vector with length equal to number of displays. --! Use principles of the standard dynamic indication: provide data then enable the displays sequentially. @@ -44,11 +38,11 @@ --! If brightness control is desired just AND the selector and the PWM controller output. disp_sel : out std_logic ); -end DisplayDriverwDecoder_Top; +end display_driver_w_decoder; ---! @brief Architecture definition of the DisplayDriverwDecoder_Top ---! @details Detailed description of the DisplayDriverwDecoder_Top architecture. -architecture arch of DisplayDriverwDecoder_Top is +--! @brief Architecture definition of the display_driver_w_decoder +--! @details Architecture describes the structure of the module together with doxygen description for doumentation generatior +architecture display_driver_w_decoder_arch of display_driver_w_decoder is signal ascii_reg: std_logic_vector(7 downto 0); @@ -56,33 +50,44 @@ attribute syn_noprune of ascii_reg: signal is true; begin - --! \mainpage My Personal Index Page + --! \mainpage 14-segment Display Driver Info --! --! \section intro_sec Introduction --! - --! The module contains: - --! -# Input data register to hold the ASCII symbol codes - --! -# Decoder to translate the code to 14-segment display word - --! -# here is also the driver - --! - --! \section install_sec Installation + --! The main purpose of this module is to be fed with ASCI symbol codes and it will output word lighting up the exact segments + --! on the 14-segment display to visualize the ASCII character. Current implementation uses input register to store the input code. --! - --! \subsection step1 Step 1: Opening the box - --! - --! etc... - + --! ASCII symbols are coded in Byte having values from 0x00 to 0x7F. This range covers all the symbols in the decoding table. + --! The range is doubled because the symbols may be lit with DP on or off. More information may be found in MAX6955 datasheet. + --! Follows small revised quote of the most descriptive part related to decoding. Not applicable words are removed. + --! + --! ... includes 104-character ASCII font maps for 14-segment... . The characters follow the standard ASCII font, with the + --! addition of the following common symbols: GBP, EUR, Yen, degree, micro, plus/minus, arrow up, and arrow down. + --! Seven bits represent the 104-character font map; an 8th bit is used to select whether the decimal point (DP) is lit. + --! source: https://datasheets.maximintegrated.com/en/ds/MAX6955.pdf + --! + --! \section port_disp_data Display Data Out + --! + --! 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) to determine + --! for which display is the data targeted. + --! + --! \subsection disp_data_bit_mapping Display Segment Bit Mapping + --! |Bit Number | 14| 13| 12| 11| 10| 9| 8| 7| 6| 5| 4| 3| 2| 1|0 | + --! |:--------: |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| + --! |Display Segment| dp| m| l| k| j| i| h| g2| g1| f| e| d| c| b|a | + --! Note that there is no standard way to name the segments. + --! Current data bits correspondt to display segments according this picture: @image html https://www.maximintegrated.com/en/images/appnotes/3211/3211Fig02.gif + ascii_decoder_module:entity work.ASCIIDecoder port map( clk => clk, reset => reset, ascii_in => ascii_in, - disp_data => disp_data + disp_data_q => disp_data_q ); disp_sel <= '0'; -- TODO: implement this correctly --- disp_data <= "110110111110000"; -- D --- disp_data <= "010110101110000"; -- B. +end display_driver_w_decoder_arch; -end arch; -
/Project/Sources/ascii_decoder.vhd
0,0 → 1,46
--------------------------------------------------------------------------------
-- Entity: ASCIIDecoder
-- Date:2017-01-07
-- Author: GL
--
-- Description:
--------------------------------------------------------------------------------
 
--! @file
--! @brief ASCII decoding table with I/O control logic
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
 
entity ASCIIDecoder is
port (
clk : in std_logic; -- input clock, xx MHz.
reset : in std_logic;
--! ascii_in(7) represents the DP state so it is not decoded.
--! Symbol codes from 0x00 to 0x7F are without DP lit. Symbol codes from 0x80 to 0xFF have DP lit.
ascii_in: in std_logic_vector(7 downto 0);
 
disp_data_q : out std_logic_vector(14 downto 0)
);
end ASCIIDecoder;
 
architecture arch of ASCIIDecoder is
 
--! Q represents the symbol's bit mapping overlay over the 14-segment display.
signal Q : std_logic_vector(13 downto 0);
begin
 
--! @details Decoding table
rom_decoding_table: entity work.DistRomAsciiDecoder
port map(
Address => ascii_in(6 downto 0),
Q => Q
);
 
--! Inversion of ascii_in(7) is needed as '0' is display segment active level
disp_data_q <= (not ascii_in(7)) & Q;
 
 
end arch;
 
Project/Sources/ascii_decoder.vhd Property changes : Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: Project/Sources/display_driver_w_decoder.vhd =================================================================== --- Project/Sources/display_driver_w_decoder.vhd (nonexistent) +++ Project/Sources/display_driver_w_decoder.vhd (revision 8) @@ -0,0 +1,93 @@ +-------------------------------------------------------------------------------- +-- Entity: display_driver_w_decoder +-- Date:2017-01-06 +-- Author: GL +-- +-- Description: Top module for display driver with decoder +--! @file +--! @brief Display Driver With Decoder Top Level Module +-------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +--! @brief Top entity of the display driver. +--! @details Top entity of the decoder architecture. Module description also goes here. +entity display_driver_w_decoder is + port ( + clk : in std_logic; --! input clock, xx MHz. + reset : in std_logic; --! active high + + ascii_in: in std_logic_vector(7 downto 0); --! input ASCII code to display + wr_en : in std_logic; --! active high write enable to store the ASCII code in a register + + --! 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). + --! + --! \section disp_data_bit_mapping Display Segment Bit Mapping + --! |Bit Number | 14| 13| 12| 11| 10| 9| 8| 7| 6| 5| 4| 3| 2| 1|0 | + --! |:--------: |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| + --! |Display Segment| dp| m| l| k| j| i| h| g2| g1| f| e| d| c| b|a | + --! Note that there is no standard way to name the segments. + --! Current data bits correspondt to display segments according this picture: @image html https://www.maximintegrated.com/en/images/appnotes/3211/3211Fig02.gif + disp_data_q : out std_logic_vector(14 downto 0); + + --! If more displays needs to be fed change disp_sel to vector with length equal to number of displays. + --! Use principles of the standard dynamic indication: provide data then enable the displays sequentially. + --! If brightness control is desired just AND the selector and the PWM controller output. + disp_sel : out std_logic + ); +end display_driver_w_decoder; + +--! @brief Architecture definition of the display_driver_w_decoder +--! @details Architecture describes the structure of the module together with doxygen description for doumentation generatior +architecture display_driver_w_decoder_arch of display_driver_w_decoder is + + signal ascii_reg: std_logic_vector(7 downto 0); + + attribute syn_noprune: boolean; + attribute syn_noprune of ascii_reg: signal is true; +begin + + --! \mainpage 14-segment Display Driver Info + --! + --! \section intro_sec Introduction + --! + --! The main purpose of this module is to be fed with ASCI symbol codes and it will output word lighting up the exact segments + --! on the 14-segment display to visualize the ASCII character. Current implementation uses input register to store the input code. + --! + --! ASCII symbols are coded in Byte having values from 0x00 to 0x7F. This range covers all the symbols in the decoding table. + --! The range is doubled because the symbols may be lit with DP on or off. More information may be found in MAX6955 datasheet. + --! Follows small revised quote of the most descriptive part related to decoding. Not applicable words are removed. + --! + --! ... includes 104-character ASCII font maps for 14-segment... . The characters follow the standard ASCII font, with the + --! addition of the following common symbols: GBP, EUR, Yen, degree, micro, plus/minus, arrow up, and arrow down. + --! Seven bits represent the 104-character font map; an 8th bit is used to select whether the decimal point (DP) is lit. + --! source: https://datasheets.maximintegrated.com/en/ds/MAX6955.pdf + --! + --! \section port_disp_data Display Data Out + --! + --! 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) to determine + --! for which display is the data targeted. + --! + --! \subsection disp_data_bit_mapping Display Segment Bit Mapping + --! |Bit Number | 14| 13| 12| 11| 10| 9| 8| 7| 6| 5| 4| 3| 2| 1|0 | + --! |:--------: |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| + --! |Display Segment| dp| m| l| k| j| i| h| g2| g1| f| e| d| c| b|a | + --! Note that there is no standard way to name the segments. + --! Current data bits correspondt to display segments according this picture: @image html https://www.maximintegrated.com/en/images/appnotes/3211/3211Fig02.gif + + ascii_decoder_module:entity work.ASCIIDecoder + port map( + clk => clk, + reset => reset, + ascii_in => ascii_in, + disp_data_q => disp_data_q + ); + + disp_sel <= '0'; -- TODO: implement this correctly + +end display_driver_w_decoder_arch; +
Project/Sources/display_driver_w_decoder.vhd Property changes : Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: Project/Sources/display_driver_wrapper.vhd =================================================================== --- Project/Sources/display_driver_wrapper.vhd (nonexistent) +++ Project/Sources/display_driver_wrapper.vhd (revision 8) @@ -0,0 +1,98 @@ +-------------------------------------------------------------------------------- +-- Entity: DisplayDriverWrapper +-- Date:2017-01-06 +-- Author: GL +-- +-- Description: +-------------------------------------------------------------------------------- +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +--! @file +--! @brief Top wrapper for design FPGA prove. +--! @details This wrapper is designed for Lattice ECP5-5G Versa Development Kit. +entity DisplayDriverWrapper is + port ( + clk : in std_logic; --! input clock, xx MHz. + n_rst : in std_logic; --! active low on board. active high in design. + + button : in std_logic; --! dev board tact switch to scroll through some test symbols, active low + + --! 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). + disp_data : out std_logic_vector(14 downto 0); + + --! If more displays needs to be fed change disp_sel to vector with length equal to number of displays. + --! Use principles of the standard dynamic indication: provide data then enable the displays sequentially. + --! If brightness control is desired just AND the selector and the PWM controller output. + disp_sel : out std_logic + ); + attribute syn_force_pad: boolean; + attribute syn_force_pad of clk, n_rst, button, disp_sel, disp_data: signal is true; +end DisplayDriverWrapper; + +--! @details The architecture consists of the DisplayDriverwDecoder_Top itself (as DUT) plus +--! sample symbol generator triggered by the button on the dev board +architecture arch of DisplayDriverWrapper is + signal rst: std_logic; + + --! Debounce the glitches shorter than 4 clock cycles. Expand at will according the clock speed and glitch duration to filter. + signal bttn_state_fifo: unsigned(3 downto 0); + + --! Active high i.e. '1' means "button pressed" + signal bttn_state: std_logic; + + --! Incremented by 1 each time button is clicked. Provides ASCII symbol code for test purposes + --! Counter range is double the decoder table size because codes from 0x00 to 0x7F are the symbols with decimal point dark. + --! Codes from 0x80 to 0xFF are the same symbols but with decimal point lit. The decoder should handle this. The counter is lineary incremented. + signal symbol_scan_cntr: unsigned(7 downto 0); +begin + +--! invert n_rst to make it active high on design recommendation +rst <= not n_rst; + +BtnDebouncer:process(clk) +begin + if rising_edge(clk) then + if rst = '1' then + bttn_state_fifo <= (others=>'1'); -- active low + bttn_state <= '0'; -- active high + else + bttn_state_fifo <= shift_left(bttn_state_fifo,1); + bttn_state_fifo(bttn_state_fifo'right) <= button; + + if bttn_state_fifo = "0000" then -- button actuated for more than X clocks and no bounces present + bttn_state <= '1'; -- report button is actuated + else + bttn_state <= '0'; + end if; + end if; + end if; +end process; + + +AddrScanCntr:process(rst,bttn_state) +begin + if rst='1' then + symbol_scan_cntr <= (others=>'0'); + elsif rising_edge(bttn_state) then -- TODO: Fix this to edge detector implementation + symbol_scan_cntr <= symbol_scan_cntr + 1; -- I count ont the natural rolloff of this counter + end if; +end process; + + +DDwD_Top:entity work.DisplayDriverwDecoder_Top +port map( + clk => clk, + reset => rst, + ascii_in => std_logic_vector(symbol_scan_cntr), + wr_en => '0', + disp_data => disp_data, + disp_sel => disp_sel +); + +--disp_sel <= '1' when button = '1'; + +end arch; +
Project/Sources/display_driver_wrapper.vhd Property changes : Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.