if a dlls were compiled for a certain silicon revision.
is it enough to compile my main project (the one that works with those dlls) for the new Silicon revision ,or do I need to update the dlls each time silicon is changed ?
Ideally you should build your libraries for the oldest silicon revision you intend on using - when a new revision of the silicon is released we aim to fix silicon anomalies, and not introduce new ones. Therefore, the silicon anomalies in a newer revision tend to be a subset of those in the older revision. Building a library for an older revision will, typically, mean there are appropriate workarounds in place even if you move to a newer silicon (whereas building for a newer silicon revision may mean that if you use that code on an older processor, it may be missing crucial silicon anomaly workarounds).
There isn't a requirement to rebuild your libraries, though - the linker may issue a warning, but it wouldn't issue an error if you link a DLB created for, say, 0.2 silicon into a project for 0.5 silicon. Note, however, that the only processing of the DLBs would be in linking it into the project - so there would be no additional anomaly workarounds added to the code.
Retrieving data ...