I have a very basic question regarding the whole synthesis process.
We say that before mapping the whole process goes technology independent (library), only during mapping it is technology dependent.
My question is then why do we have to source the libraries before the elaboration step which comes before the mapping stage.
We can source it after the elaboration step also.
interesting question. I will try to keep it short and simple. In other words, could you elaborate without the libraries ? Maybe...
Cells can also be instantiated. In fact, macros (memories, PLL, etc.) can only be instantiated. If those cells were missing then you would get linking errors and all sorts of other side effects. Would it be possible to have a mode of operation where RTL with only inferable cells is read in and no libraries are required? Sure. However, most practical designs will have macros, etc. and will later be mapped to a library anyhow so most tools choose to enforce this requirement early on in the flow to avoid issue later on. Why did you want to do that ?
hope this helps,