randyest
Advanced Member level 4
- Joined
- Jan 15, 2009
- Messages
- 106
- Helped
- 31
- Reputation
- 62
- Reaction score
- 14
- Trophy points
- 1,298
- Location
- Boston, MA, USA
- Activity points
- 1,968
I made a nice chip that is effectively a frame buffer with two clock domains and a bunch of buffer space (kind of like a FIFO,) and some special fancy control features and interfaces.
My chip has bout 150 I/O pins, a lot of DRAM, and roughly 5 million gates of logic. It works very well and is very good for some certain niche applications. I have someone that wants to use it, but they insist on having a SystemC model first. I have very little experience with SystemC. I know the idea, but haven't made any. I do know C/C++ basically, but not in this context. I am looking for general advice:
1) How to convert a synthesizeable RTL design with multiple clock domains to SystemC with minimal effort / tweaking / checking / customizing on my part
-(1a) I found out about verilator https://www.veripool.org/wiki/verilator -- are there other tools like verilator that I should consider?
-(1b) Has anyone used verilator or other RTL-to-SystemC conversion tools? Did it work well? How much manual work? How good was the result?
2) How to VERIFY that the SystemC model matches the RTL model?
-(2a) is there such a thing as formal verification between RTL and SystemC?
-(2b) if so, what tools and how reliable are they?
-(2c) how confident can anyone be in a SystemC model? I know how to be sure 100% that RTL matches gate-level, but can I ever have that same level of confidence in a SystemC model? How?
3) I am considering hiring Synopsys to convert my RTL to systemC
-(3a) Has anyone else done this and been happy/sad/mad/glad with the results? What went well and what went wrong? What would you have done differently?
-(3b) Are there other companies that can do the conversion? Is there a big difference in quality? In cost? In time to complete?
Sorry for so many questions, but I'm trying to list all of my concerns and get as much info as you kind folks can provide. I would greatly appreciate any comments or ideas, and will be very generous with donation points to everyone who replies
My chip has bout 150 I/O pins, a lot of DRAM, and roughly 5 million gates of logic. It works very well and is very good for some certain niche applications. I have someone that wants to use it, but they insist on having a SystemC model first. I have very little experience with SystemC. I know the idea, but haven't made any. I do know C/C++ basically, but not in this context. I am looking for general advice:
1) How to convert a synthesizeable RTL design with multiple clock domains to SystemC with minimal effort / tweaking / checking / customizing on my part
-(1a) I found out about verilator https://www.veripool.org/wiki/verilator -- are there other tools like verilator that I should consider?
-(1b) Has anyone used verilator or other RTL-to-SystemC conversion tools? Did it work well? How much manual work? How good was the result?
2) How to VERIFY that the SystemC model matches the RTL model?
-(2a) is there such a thing as formal verification between RTL and SystemC?
-(2b) if so, what tools and how reliable are they?
-(2c) how confident can anyone be in a SystemC model? I know how to be sure 100% that RTL matches gate-level, but can I ever have that same level of confidence in a SystemC model? How?
3) I am considering hiring Synopsys to convert my RTL to systemC
-(3a) Has anyone else done this and been happy/sad/mad/glad with the results? What went well and what went wrong? What would you have done differently?
-(3b) Are there other companies that can do the conversion? Is there a big difference in quality? In cost? In time to complete?
Sorry for so many questions, but I'm trying to list all of my concerns and get as much info as you kind folks can provide. I would greatly appreciate any comments or ideas, and will be very generous with donation points to everyone who replies