schematics are the high level interface of what components exist, how they are connected other components. there is no specifications on the physical location of the components or the shapes of the traces between the components
PCBs are the actual implementation of the schematic. they define where on the board components sit & the way the traces are routed between them. PCBs are what actually get fabricated into the end product
how do you “compile” your pcb design and verify that it works/is correct?
but ultimately to know your PCB is correct you need to fabricate it and test it
usually you’d use tools like oscilloscope, multi-meters, power supplies
why pcbs have multiple layers
just like how highway overpasses allow us to route roads on top of other roads, having multiple layers on a PCB allows you to route traces on top of each other
random
most of PCB design is done via a GUI. popular electronic computer aided design (ECAD) tool like kicad
how does version control on a PCB design work?
because PCB designs are stored as files on disk, you can literally just use git
however, these designs are internally represented/stored as some sort of file
each ECAD software has different ways of representing the design data internally. for example, a pcb design file designed in inxpedition cannot be opened in kicad. as a result, there is major vendor lock-in the EDA space
translation tools between these different between these file formats do not exist
language models are not (currently) very good at PCB design, though many people are working on this