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

Timing information is missing in Icestudio projects. #774

Open
zapta opened this issue Oct 20, 2024 · 5 comments
Open

Timing information is missing in Icestudio projects. #774

zapta opened this issue Oct 20, 2024 · 5 comments

Comments

@zapta
Copy link

zapta commented Oct 20, 2024

This is kind of strange, and it came up while workin on the new apio report command. When building ice40 and ecp5 regular projects (I didn't tried on gowin), nextpnr generates max clock speed information, which is important for validating the design. However, for icestudio projects for the same boards, nextpnr doesn't.

This issue is to make icestudio projects also generating timing information.

To reproduce, run the following command in the respective apio project dir and observe if the timing info exists.

$ apio build --verbose-pnr | grep -i mhz
Max frequency for clock 'vclk$SB_IO_IN_$glb_clk': 127.44 MHz (PASS at 12.00 MHz)
Max frequency for clock 'vclk$SB_IO_IN_$glb_clk': 125.36 MHz (PASS at 12.00 MHz)

Regular projects (timing works)
https://github.com/FPGAwars/apio/tree/develop/test-examples/Alhambra-II/02-jumping-LED
https://github.com/FPGAwars/apio/tree/develop/test-examples/ColorLight-5A-75B-V8/Blinky

Icestudio projects (timing doesn't work)
https://github.com/FPGAwars/apio/tree/develop/test-examples/TB/Alhambra-II/icestudio/ledon
https://github.com/FPGAwars/apio/tree/develop/test-examples/TB/ColorLight-5A-75B-V8/icestudio/button

NOTE: The apio report command takes the timing information from a different sources (using the nextnpr --report flag) but it has the same timing issue as the apio build --verbose-npr.

@zapta
Copy link
Author

zapta commented Oct 20, 2024

Is it possible that these two icestudio projects don't use clock at all, and thus no max speed info?

@cavearr
Copy link
Member

cavearr commented Oct 20, 2024

No, it is important that the board clock be adjusted since there are blocks that depend on the calculation of that clock (although the circuit could go higher). give me a couple of days to check these projects and review what's going on.

@zapta
Copy link
Author

zapta commented Oct 20, 2024

I found this icestudio example project that uses a clock and it does generate timing information.

https://github.com/FPGAwars/apio/tree/develop/test-examples/TB/Alhambra-II/icestudio/tff

@cavearr
Copy link
Member

cavearr commented Oct 20, 2024

Hi @zapta ! i'm checking it but i don't know i don't understand you.

This two examples has no maxspeed info because this has no timing paths in it:

https://github.com/FPGAwars/apio/tree/develop/test-examples/TB/Alhambra-II/icestudio/ledon
https://github.com/FPGAwars/apio/tree/develop/test-examples/TB/ColorLight-5A-75B-V8/icestudio/button

Please explain me what are you looking for

@zapta
Copy link
Author

zapta commented Oct 20, 2024

@cavearr , I think that you are right, they don't use clock and therefore the max clock speed report is not applicable to them.

I think we are good and can close this issue. Thanks.

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

No branches or pull requests

2 participants