I am currently trying to re-use a driver code from an old project.
While evaluating, I see that the driver has required functionality for bus protocol but it has additional function
related to the DUT functionality beyond just bus protocol.
For example, the sequence is handing over a large chunk of data that the driver interprets, create small transactions and then
sends them on the bus interface.
In the new project, the assumptions made regarding the large chunk of data are not valid resulting making it hard to re-use.
I would like to know if there are any guidelines to be followed while designing driver?