Macros are intellectual properties that you can use in your design. You do not need to design it.
For example, memories, processor core, serdes, PLL etc.
A good example would be memory that’s been created by OpenRAM. Typically for larger memories in a design you
want to avoid using lots of flip-flops. A memory created from flip-flops is much bigger than something that has
been optimised just for data storage.
OpenRAM creates a macro that you can then use in your design without having to deal with the details inside.
This talk by Matt Guthaus explains OpenRAM and its current status. Skywater 130 support is being added
and is being tested in the first tapeouts.
The Discord channel is my favorite thing, I get my hands on right before I sleep - there's a lot of cool things and people are so awesome, they're really helpful. The community side of the course is an important part of it.