ZEESHAN KHATIB Posted January 24, 2019 Report Share Posted January 24, 2019 Hi, I searched in LRM but didn't get any info, What is the significance of BUS_WIDTH in tlm::tlm_initiator_socket<BUS_WIDTH> ? , how BUS_WIDTH value can make any difference ? Quote Link to comment Share on other sites More sharing options...
AmeyaVS Posted January 24, 2019 Report Share Posted January 24, 2019 Hello @ZEESHAN KHATIB, The BUSWIDTH template parameter denotes the underlying units of the transfers taking place. It can be thought of as 32-bit lines for carrying data at an RTL level when BUSWIDTH=32. At every cycle one can assume a 32-bit bus can transfer 32-bits(i.e. 4 bytes) of data. Now lets say we want to transfer about 1 GB of data using the TLM interface, It can be achieved easily using the generic payload. But then how would you maintain the timing consistency? With the attribute BUSWIDTH you can effectively approximate the time required to transfer the above mentioned data. If you want more details have a look at the references below about the usage of TLM interface for Serial modelling: http://forums.accellera.org/topic/6046-serial-transmission/ https://www.greensocs.com/sites/www.brightsocs.com/files/docs/GS_Serial.pdf Hope this small insight helps! Note: On another note let's assume you want to model an 8/16-bit computing systems would go about creating new interfaces? Also, with the RISC-V taking the lead in 128-bit CPU architecture, we might see CPU's with a big data buses. Best Regards, Ameya Vikram Singh Quote Link to comment Share on other sites More sharing options...
ZEESHAN KHATIB Posted January 26, 2019 Author Report Share Posted January 26, 2019 Thanks you 🙂 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.