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

COFFE should check for unsupported LUT sizes in the input files. #26

Open
vaughnbetz opened this issue Jul 8, 2020 · 0 comments
Open

Comments

@vaughnbetz
Copy link
Owner

Asking for a fracturable 4-LUT currently crashes COFFE. We should give a good error message in this case.
COFFE knows how to build 4 LUTs, 5 LUTs and 6 LUTs.  But if you specify that you want fracturable LUTs, it builds a LUT one size smaller and then wires those together.
So a fracturable 4-LUT needs to build two 3-LUTs, but the code won't build a 3-LUT and crashes. 

See 

init_tran_sizes = self._generate_4lut(subcircuit_filename, min_tran_width, self.use_tgate, self.use_finfet, self.use_fluts)

It would be good to put error messages in to check for this. 

  • We should give an error (add an else clause) in the line above so you get a better crash message (right now we just roll on through to an uninitialized variable). 
  • And then the real check would be to check for inputs that violate this constraint and give a good error message at input parse time.  
  • Should also test LUT sizes > 6 and < 4 and make sure you get a good errors message (K = 8 does give an unsupported parameter error; maybe could be more user-friendly though).
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

1 participant