ЛР13. Обновление vga (#92)

* Fix(vga):Испр-ие чтения из char_tiff

* Ref(vgachargen):Испр-ие коммента к clk100m_i

* ЛР13. Добавление примечания насчет синхронного чтения в vga_sb_ctrl

---------

Co-authored-by: Andrei Solodovnikov <VoultBoy@yandex.ru>
This commit is contained in:
BROsandr
2024-07-15 14:10:33 +00:00
committed by GitHub
parent a4294c9b9e
commit 5fb4f99700
5 changed files with 92 additions and 116 deletions

View File

@@ -744,8 +744,7 @@ module vgachargen (
* firmware/mem_files/lab_13_ps2_vga_instr.mem — этим файлом необходимо проинициализировать память инструкций
* firmware/mem_files/lab_13_ps2ascii_data.mem — этим файлом необходимо проинициализировать память данных
* firmware/mem_files/lab_13_vga_ch_map.mem
* firmware/mem_files/lab_13_vga_ch_t_ro.mem
* firmware/mem_files/lab_13_vga_ch_t_rw.mem
* firmware/mem_files/lab_13_vga_ch_t.mem
* firmware/mem_files/lab_13_vga_col_map.mem
Вам необходимо добавить в проект все эти файлы.
@@ -802,9 +801,12 @@ module vga_sb_ctrl (
Оба эти сигнала мультиплексируются / демультиплексируются с помощью одного и того же управляющего сигнала: `addr_i[13:12]` в соответствии с диапазонами адресов (рис. 4):
* `addr_i[13:12] == 2'b00` — сигнал `write_enable_i` поступает на вход `char_map_we_i`, выход `char_map_rdata_o` записывается в выходной регистр `read_data_o`;
* `addr_i[13:12] == 2'b01` — сигнал `write_enable_i` поступает на вход `col_map_we_i`, выход `col_map_rdata_o` записывается в выходной регистр `read_data_o`;
* `addr_i[13:12] == 2'b10` — сигнал `write_enable_i` поступает на вход `char_tiff_we_i`, выход `char_tiff_rdata_o` записывается в выходной регистр `read_data_o`.
- `addr_i[13:12] == 2'b00` — сигнал `write_enable_i` поступает на вход `char_map_we_i`, выход `char_map_rdata_o` подается на выход `read_data_o`;
- `addr_i[13:12] == 2'b01` — сигнал `write_enable_i` поступает на вход `col_map_we_i`, выход `col_map_rdata_o` подается на выход `read_data_o`;
- `addr_i[13:12] == 2'b10` — сигнал `write_enable_i` поступает на вход `char_tiff_we_i`, выход `char_tiff_rdata_o` подается на выход `read_data_o`.
> [!Important]
> Обратите внимание на то что, контроллер vga является единственным контроллером, для которого не нужно реализовывать регистр перед выходом read_data_o для реализации синхронного чтения. Данная особенность обусловленна тем, что внутри модуля `vgachargen` уже находится блочная память с синхронным портом на чтение. Добавление еще одного регистра приведет к тому, данные будут "опаздывать" на один такт. Таким образом, данные на выход `read_data_o` необходимо подавать с помощью чисто комбинационной логики.
## Список использованной литературы