One mistake that I have seen regarding the homework assignments has been submitting your own work. To be clear, there is nothing wrong with using freely available IP if it helps you and shows off your abilities. For example, you could find a dual clock FIFO online and use it or generate one from a vendor tool. Does this show your abilities as a designer? Not necessarily. When I did my SpaceX project, I created a synchronous FIFO because of my design implementation. I specifically called out that I didn’t generate IP from Xilinx or Altera since it wouldn’t show my design abilities. If I had decided to generate a FIFO, I would have made sure to call out why I did. I also included an example design of a dual clock FIFO in an appendix so that I could at least talk to it.
In short, a FIFO is so fundamental and relatively straightforward that I would design one from scratch. However, say you thought you needed a CPU in the design. It might not have been specifically called out, but you wanted to include it for testing or even in the RTL to provide some functionality. In this case, use an opencores design. Show where you got it and why you used it. It shows you can integrate third party IP.
One thing never to do in the Homework project is to use your company’s resources or IP. It’s not worth it.
One project I reviewed accidentally contained a tarball of the tarball that was sent. Inside the tarball, the full paths were present. The homework was done on a machine of the company he was working at and included paths to AXI IP that looked like it came from the same company. the last thing you want to show a prospective employer is that you might be taking their IP and using it outside of your job.
Own Your Work. Be able to talk about every aspect of it. Show off your abilities and most of all make sure your design works.