Teddy Minz Posted March 26, 2019 Report Share Posted March 26, 2019 Hi everyone, As part of my job, I try to implement a algorithm write in C on a FPGA. To do this, I would like to use SystemC but I'm a beginner. I already have read courses and do some applications on youtube with my linux terminal. It taught me how to do an application from end-to-end but in my case I did not code the algorithm. In deed, with bottom-up processing (VHDL to SystemC) I can manage but with top-down processing (C to SystemC) I don't know how to do/test that. So I think I have to encapsulate the C functions in SystemC modules. At first, can I encapsulate all this functions in the same module ? Which information is needed of the algorithm to realize my SystemC model ? How can I test my code at behavior level ? Do you have any documentations or advice to help me ? Thanks in advance for the help and guidance! Quote Link to comment Share on other sites More sharing options...
David Black Posted March 26, 2019 Report Share Posted March 26, 2019 SystemC is not C. SystemC is C++, which is rather different (more complicated) than simple C. So you would do well to educate yourself in C++ before tackling SystemC. As to how to encapsulate an algorithm in SystemC, it rather depends heavily on the model, the inputs, the outputs, and what exactly you are trying to get from the model. Why are you using SystemC? Do you have specific tools in mind? What are you specifically using SystemC to accomplish? High level partitioning? Synthesis? Create a virtual platform? Analyze communications performance? You need to be much more specific. Quote Link to comment Share on other sites More sharing options...
Roman Popov Posted March 27, 2019 Report Share Posted March 27, 2019 You should start with learning your synthesis tool documentation. C++/SystemC synthesis is very tool-specific. Teddy Minz 1 Quote Link to comment Share on other sites More sharing options...
Teddy Minz Posted March 27, 2019 Author Report Share Posted March 27, 2019 19 hours ago, David Black said: Why are you using SystemC? Do you have specific tools in mind? What are you specifically using SystemC to accomplish? High level partitioning? Synthesis? Create a virtual platform? Analyze communications performance? You need to be much more specific. Thank you for your answer. I want to use SystemC for HW/SW exploration at algorithm level. As part of my project the HW architecture are already chosen. Now, I want to implement a C-Algorithm in this architecture and optimize its execution time. All I have for the moment is a C algorithm and input data. At first, I want to use Vivado HLS for synthesis and later maybe SpaceStudio for HW/SW partitioning. 7 hours ago, Roman Popov said: You should start with learning your synthesis tool documentation. C++/SystemC synthesis is very tool-specific. Alright, thank 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.