A quick thought for you. If you have a clock input that is a fixed multiple of your baud rate (say 8 times baud rate) then you can change baud rates by simply by changing the clock (for example by using an external counter and de-multiplexer). Secondly the number of stop bits can be an input, along with parity mode (none, odd or even, which your implementation lacks). The result will be a genuinely generic component.
That's a good one there. But I have a little question please. What is the difference bewteen this implementation and implementation with microblaze? Does either of them have an advantage?
Excellent question and thank you. Both implementations are doing the same functionality, and from outside you can say that they are the same, but with this implementation you are going to spend less amount of resources ,and with a good design , you can achieve higher throughput.
A second thought for you. If you intend to synthesise this into actual components (say on an FPGA or ASIC) then you should really be constraining integer ranges in your source code. If you constrain an integer to the range 0 to 15 for example then the compiler knows that it will only need 4 bits to store it. Likewise counting down to zero is more efficient as an all zero comparison needs less resources than a value comparison.
Do you know why we dont have any clock divider or baud generator implementation here? Also, I tried his project through his github code and I can not output the same waveform he has, actually the receiver does not receive
I believe you are talking about Component instantiation. I just added another source file to my Uart_Demo project and created a component( It is the same UART project Ihave shown you before). Last thing i have done was instantiation. I labeled my components as UART_1 , UART_2 and then I assigned port map and generic map. After that my UART project became a sub-project of my UART_Demo project
Teşekkürler hocam
Yardımcı olabildiysem ne mutlu
A quick thought for you. If you have a clock input that is a fixed multiple of your baud rate (say 8 times baud rate) then you can change baud rates by simply by changing the clock (for example by using an external counter and de-multiplexer). Secondly the number of stop bits can be an input, along with parity mode (none, odd or even, which your implementation lacks). The result will be a genuinely generic component.
Wow. Thank you for this comment. You are definetly right ,i will improve my design and I am sure it will be better for me as well
Usually I saw a UART board having a reset input. Why would not we include in this implementation? Thanks
I’m sorry for the delayed response, but I don’t use reset in my applications. However, reset should be included.
That's a good one there. But I have a little question please. What is the difference bewteen this implementation and implementation with microblaze? Does either of them have an advantage?
Excellent question and thank you. Both implementations are doing the same functionality, and from outside you can say that they are the same, but with this implementation you are going to spend less amount of resources ,and with a good design , you can achieve higher throughput.
Thank you very much for the answer. I appreciate.
A second thought for you. If you intend to synthesise this into actual components (say on an FPGA or ASIC) then you should really be constraining integer ranges in your source code. If you constrain an integer to the range 0 to 15 for example then the compiler knows that it will only need 4 bits to store it. Likewise counting down to zero is more efficient as an all zero comparison needs less resources than a value comparison.
Do you know why we dont have any clock divider or baud generator implementation here? Also, I tried his project through his github code and I can not output the same waveform he has, actually the receiver does not receive
Thank you !!
Where did u add the three files in design or simulation sources u skipped this part can u say it?
I believe you are talking about Component instantiation. I just added another source file to my Uart_Demo project and created a component( It is the same UART project Ihave shown you before).
Last thing i have done was instantiation. I labeled my components as UART_1 , UART_2 and then I assigned port map and generic map. After that my UART project became a sub-project of my UART_Demo project
Can u add the complete code in description
I will update you when I open a github account.
github.com/mberkaysuer