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

fud as a synthesis rule checker #2293

Open
rachitnigam opened this issue Sep 28, 2024 · 1 comment
Open

fud as a synthesis rule checker #2293

rachitnigam opened this issue Sep 28, 2024 · 1 comment
Labels
C: fud2 experimental driver S: Available Can be worked upon

Comments

@rachitnigam
Copy link
Contributor

In our pursuit of building an ever more powerful fud, I have the following proposal to enable fud to monitor output logs from various tools (initially, synthesis) and allow specification of design rule checks for things we expect to happen.

For a particular compilation target (like an FPGA), we would like fud to be able to filter specific log lines. For example, we would like to ensure that when something is marked as an FSM register, the synthesis step can recognize it as an FSM. The fud flow should be configurable (through a JSON file) and be able to check for such log lines and emit errors when they are not present. Then, the compiler can generate a configuration for each program that fud ingests and ensures that all parts of that program are compiled correctly by the later parts of the compilation flow.

To summarize, the flow should have two configurations:

  • A per-compilation file generated by the compiler to monitor events for specific code entities in that program (for example, fsm_reg0 is recognized as an FSM by the synthesis tools)
  • A tool-specific configuration file that tells fud how to look for a particular event (for example, in vivado2024.2, the is_onehot_fsm event is in file synthesis.log using the regex \(1\) was inferred as a regex

These kinds of rules will make it easier for end-user of fud + calyx to find out problem to debug/report to us!

@rachitnigam rachitnigam added S: Available Can be worked upon C: fud2 experimental driver labels Sep 28, 2024
@sampsyo
Copy link
Contributor

sampsyo commented Sep 28, 2024

This would be really useful!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: fud2 experimental driver S: Available Can be worked upon
Projects
None yet
Development

No branches or pull requests

2 participants