Skip to content

Fix: Double buffer - #30

Open
ArseniyLyskov wants to merge 1 commit into
yuri-panchul:mainfrom
ArseniyLyskov:double_buffer_fix
Open

Fix: Double buffer#30
ArseniyLyskov wants to merge 1 commit into
yuri-panchul:mainfrom
ArseniyLyskov:double_buffer_fix

Conversation

@ArseniyLyskov

Copy link
Copy Markdown

Насколько я понял материал 12ой лекции Школы Синтеза текущего сезона, Skid буфер является одним из возможных решений проблемы возникновения критического пути ready сигнала в конвейере:

valid-ready pipeline

Однако, в текущей реализации буфера в up_ready регистрируется не down_ready | ~down_valid, а down_ready, в связи с чем предлагаю свои правки

@yuri-panchul

yuri-panchul commented Apr 7, 2026

Copy link
Copy Markdown
Owner

Арсений, я предлагаю сделать три вещи: Во-первых, правку лучше вносить в приватную версию этого репозитория - я вам дам к ней доступ, только прошу его не шэрить. Публичная версия генерится из приватной. Во-вторых, текущую версию я перерисовал из книги Dally Hanrting, и если вносить вашу правку, то модуль нужно переназвать, типа double_buffer_by_arseniy_lyskov. В третих я предлагаю сначала ввести его как один из вариантов регистра в basics_graphics_music, в два примера где сравниваются 5 вариантов регистров. Там мы добавим ваш как шестой и покажем, что ваша правка повышает пропускную способность.

./4_microarchitecture/4_3_pipelines_2/4_3_1_pow_5_single_cycle/fcr_5_double_buffer_from_dally_harting.sv
./4_microarchitecture/4_3_pipelines_2/4_3_1_pow_5_single_cycle/fcr_3_single_for_pipes_with_global_stall.sv
./4_microarchitecture/4_3_pipelines_2/4_3_1_pow_5_single_cycle/fcr_2_single_half_perf_no_comb_path.sv
./4_microarchitecture/4_3_pipelines_2/4_3_1_pow_5_single_cycle/fcr_4_wrapped_2_deep_fifo.sv
./4_microarchitecture/4_3_pipelines_2/4_3_1_pow_5_single_cycle/fcr_1_single_allows_back_to_back.sv
./4_microarchitecture/4_3_pipelines_2/4_3_2_pow_5_pipelined/fcr_5_double_buffer_from_dally_harting.sv
./4_microarchitecture/4_3_pipelines_2/4_3_2_pow_5_pipelined/fcr_3_single_for_pipes_with_global_stall.sv
./4_microarchitecture/4_3_pipelines_2/4_3_2_pow_5_pipelined/fcr_2_single_half_perf_no_comb_path.sv
./4_microarchitecture/4_3_pipelines_2/4_3_2_pow_5_pipelined/fcr_4_wrapped_2_deep_fifo.sv
./4_microarchitecture/4_3_pipelines_2/4_3_2_pow_5_pipelined/fcr_1_single_allows_back_to_back.sv

Сделайте pull request сначала там, я посмотрю, мы сравним и потом я вам дам доступ к приватной репо и мы вставим это в домашку там.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants