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

Severe timing penalty from clken signal in PFB #44

Open
talonmyburgh opened this issue Nov 9, 2023 · 8 comments
Open

Severe timing penalty from clken signal in PFB #44

talonmyburgh opened this issue Nov 9, 2023 · 8 comments
Assignees
Labels
bug Something isn't working

Comments

@talonmyburgh
Copy link
Owner

talonmyburgh commented Nov 9, 2023

From what I can see, in the PFB module compiles, the ce trace also runs some distance through the design. I am unable to clock the design in casper_wbpfb/wbpfb_vivproj at 200MHz as the trace from the ce runs all the way to gen_wideband_fft.gen_fft_r2_wide_streams[0].u_fft_r2_wide/gen_fft_r2_wide.gen_separate.u_separator/gen_separators[1].u_separate/adder_1/u_output_pipe/gen_pipe_n.out_dat_p_reg[1][0]/CE uninterrupted.

@mschiller-nrao is it usual to have to pipeline the ce signal?

@talonmyburgh talonmyburgh added the bug Something isn't working label Nov 9, 2023
@talonmyburgh
Copy link
Owner Author

This issue is only apparent when compiling the PFB... perhaps because with the addition of the PFB_FIR (unlike my prior timing tests which were just of the FFT), the ce must travel further...

@mschiller-nrao
Copy link
Collaborator

My first question... Do we actually need a clock enable? I HATE clock enables, partially because of this reason. data valid, which appear to be in the SOSI input are often a better approach to gating input data, because they naturally end up pipelined through the design.

There is use for clock enable, eg when you want to do low power design. But I'm not sure that should be our focus if we can't fet a reasonable

I'm just starting on the effort to review what CE is doing and if there is another approach to fix it, perhaps more feedback later today.

@talonmyburgh
Copy link
Owner Author

Well if we decide we want to do without it, then we can remove it. I'm hoping it'll be substantially less work than remove rst.

@mschiller-nrao
Copy link
Collaborator

mschiller-nrao commented Nov 9, 2023 via email

@talonmyburgh
Copy link
Owner Author

@amartens says there is no ce in the legacy casper block. This is an ASTRON thing.

@mschiller-nrao
Copy link
Collaborator

Then I'd recommend you drive it to '1' in the top level wrapper your using in Xilinx or just remove it from the block in it's entirety.

@mschiller-nrao
Copy link
Collaborator

Which actually brings up an interesting question on wb_fft as well... Does the casper block have CE on the wb_fft? if not we should consider removing it there as well..

CE is dangerous for timing. (though it can be good for power consumption in some applications)

@talonmyburgh
Copy link
Owner Author

No ce enables anywhere in legacy CASPER. Can probably just remove it. I can't get to it for a couple weeks as I'm travelling but worth discussing in the meeting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants