Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow user defined pipelines of fixed latency #97

Closed
JulianKemmerer opened this issue Aug 21, 2022 · 1 comment
Closed

Allow user defined pipelines of fixed latency #97

JulianKemmerer opened this issue Aug 21, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@JulianKemmerer
Copy link
Owner

JulianKemmerer commented Aug 21, 2022

Consider this pipeline...

void frame_buffer_display()
{
  vga_signals_t vga_signals = vga_timing();

  pixel_t vga_pixel = user_func(vga_signals);
  
  pmod_register_outputs(vga_signals, color);
}

Right now if the user's user_func is autopipelined then functionality is maintained.

But if the user has hand coded user_func with some other fixed delay (ex. maybe 1 or 2 cycle BRAM latency...) then auto pipelining does not work. The function is seen as combinatorial logic, zero latency, like a regular function using static local state vars etc...

Instead allow users to pragma specify the fixed latency they have coded. Ex. maybe like...

#pragma FUNC_LATENCY user_func 2
pixel_t user_func(vga_signals_t vga)
...

Which would do the proper 2 cycle delaying of signals in the places where user_func is used...

Makes the --comb flag for 'everything comb logic' mean something different...

@JulianKemmerer JulianKemmerer added the enhancement New feature or request label Aug 21, 2022
@JulianKemmerer JulianKemmerer self-assigned this Aug 21, 2022
@JulianKemmerer JulianKemmerer added the help wanted Extra attention is needed label Sep 1, 2022
@JulianKemmerer JulianKemmerer removed their assignment Feb 3, 2023
@JulianKemmerer JulianKemmerer self-assigned this Apr 16, 2024
@JulianKemmerer
Copy link
Owner Author

Almost done in #198

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant