Hi Bala,
I'm happy to hear that you have made progress. To answer you question: no, I don't know much about HAL nor do I use it much. We did a lot of our early development on NIOS (no HAL as such) and had to write our own device drivers. When NIOS-II came along we just updated the code (r/w of devices) and ignored the HAL.
All the serial stuff on our system is interrupt driven through ring buffers. As far as the application programmer is concerned they just put data into the Tx ring buffer using tx_char() or tx_string() and then they forget about it - there is some code running at a lower level that ensures it all gets transmitted. Similarly, they can use a function rx_char() to pull received characters out of the Rx ring buffer - they aren't concerned with how those characters got there. None of this relies on HAL. Let me know if you think something like this would be useful.
Banx.