-
Notifications
You must be signed in to change notification settings - Fork 34
CORDIC #46
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
CORDIC #46
Conversation
This looks good! The build is failing because you need to add the verilog files to info.yaml. Another peripheral got in before you to slot 37, so I'm afraid you will have to renumber. If you could add it to the spreadsheet (pinned in Discord), that should help avoid conflicts. |
Hi! Thanks for pointing it out ( apologies for taking slot 37, I didn't know about the spreadsheet, I updated it with my peripheral). I mapped now to slot 38, put the verilog files into info.yaml and resolved the conflicts |
Hi, I noticed the gds/gl_test_peri failed; it seems to be due to a timeout. Are there any issues with my test cases? They are quite long and do require lots of writes/reads ( I didn't really notice any of them running, so I'm not sure). Could you please advise on how I could fix this build so it passes and can be merged? |
I don't think the tests are excessive. I've now split the peripheral gl test action into two so that they will run in parallel. So if you merge the latest main in and make sure your tests go into Please could you also update your standalone peripheral repo with the change to the ROM (I think this will likely reduce utilization, so it shouldn't be a problem!) |
Thanks! I have merged the branch, and the CI is rerunning; hopefully, it will be okay. I also updated the peripheral repository (removed the unused code), and the run is here: https://github.com/mlewandowski0/tinyqv-cordic/actions/runs/17278204203. It doesn't seem to change much in utilisation. Perhaps I misunderstood something? ( I removed the sequential ROM file, which was only in first draft, the combinational ROM is the same in both repositories). |
Apologies, I think I just got confused by the extra file when I was doing the diff. It all matches now so this should be good to merge as long as the actions succeed. Thank you. |
Hi,
This peripheral implements CORDIC, which allows getting values of trigonometric, hyperbolic, multiplication/division and some other functions (testing for square root and natural logarithm). It uses a signed, 16-bit fixed-point representation as input and output. I used the i_user_peri37 peripheral slot.
My test cases are separated into multiple files, and there are 2 tiles for utilities (like inputting and outputting certain configurations and fixed-point arithmetic). I had to add init.py in a couple of places to import these functionalities; I hope that is OK. I also added matplotlib to the requirements, because my test collects values from different functions and plots them as artefacts in CI.
Link to your peripheral repo: https://github.com/mlewandowski0/tinyqv-cordic
all github actions pass : https://github.com/mlewandowski0/tinyqv-cordic/actions
here is the documentation of the peripheral : https://github.com/mlewandowski0/tinyqv-cordic/actions/runs/17192243103/artifacts/3838531345
I am also on tinytapeout discord with username "Maciej"