../
What I have done
- Defined a structure to organize files in
- Automatically create binding files for a dir called
rtl/ - Identify the top module for a set of rtl files
Discussions
- Involve
jgas little as possible - Have a sorting/filtering mechanism that doesn’t involve
jg - Use a lightweight LTL tool to throw aways tautologies
Issues
- No clear way to identify the top module
- This static analysis of verilog is critical. It allows us to query the LLM better without taking up any of the context window
- Right now I am using the verbose parser output of
iverilogandjg -elaborate - Why this is important?
- Allows us to start from the bottom and convert the verified assertions to assumes for the higher modules
- Scrappy way of using
grepmay not scale pyverilogseems slow but maybe the error is on my part
Plans
- Complete the automatic test suite
- Include
assertionBenchbenchmark files - Write a script to run
jggiven property files - Write a script to generate property files by querying LLMs
- Get baseline performance of Gemini (because its free) and report the token usage
- Get the same for Claude and GPT