Line 21... |
Line 21... |
|
|
ascii_in: in std_logic_vector(7 downto 0); --! input ASCII code to display
|
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
|
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.
|
--! 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).
|
--! If multiple displays are required scan signal must be additionally provided (according typical dynamic display indication).
|
--!
|
--!
|
--! \section disp_data_bit_mapping Display Segment Bit Mapping
|
--! \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 |
|
--! |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 |
|
--! |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.
|
--! 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
|
--! 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);
|
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;
|
end display_driver_w_decoder;
|
|
|
--! @brief Architecture definition of the 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
|
--! @details Architecture describes the structure of the module together with doxygen description for doumentation generatior
|
Line 66... |
Line 61... |
--! Seven bits represent the 104-character font map; an 8th bit is used to select whether the decimal point (DP) is lit.
|
--! 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
|
--! source: https://datasheets.maximintegrated.com/en/ds/MAX6955.pdf
|
--!
|
--!
|
--! \section port_disp_data Display Data Out
|
--! \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
|
--! \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 |
|
--! |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 |
|
--! |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.
|
--! 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
|
--! 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
|
ascii_decoder_module:entity work.ascii_decoder
|
port map(
|
port map(
|
clk => clk,
|
clk => clk,
|
reset => reset,
|
reset => reset,
|
ascii_in => ascii_in,
|
ascii_in => ascii_in,
|
disp_data_q => disp_data_q
|
disp_data_q => disp_data_q
|
);
|
);
|
|
|
disp_sel <= '0'; -- TODO: implement this correctly
|
|
|
|
end display_driver_w_decoder_arch;
|
end display_driver_w_decoder_arch;
|
|
|
|
|
No newline at end of file
|
No newline at end of file
|