| Login | | Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name. | |
| Who's Online | There are currently, 42 guest(s) and 1 member(s) that are online.
You are Anonymous user. You can register for free by clicking here | |
 | |
|
Verification Guild: Forums |
|
| View previous topic :: View next topic |
| Author |
Message |
SAHO Senior


Joined: Oct 16, 2004 Posts: 24
|
Posted: Sat Oct 16, 2004 5:40 pm Post subject: Why replace VHDL testbenches with SystemC testbenches ? |
|
|
Salute to all verification experts:
I am responsible for crafting system level verification environment for my company's networking products using FPGAs. The testbench environment is coded in VHDL using BFMs as highlighted in Ben Cohen's and Janick Bergeron's texts. This is analogues to SystemC's transaction level modelling concept.
I would like to know what is SystemC can provide that VHDL is lacking.
with regards,
SAHO
-------------------------
I have started a listing of SystemC pro and con. Please advise.
Pro
==
1. SystemC offers constraint random stimuli generation
2. SystemC is used in evaluating system performance through system modelling
3. SystemC transaction record are easier to view in waveform (as transaction, rather than loose signals)
4. SystemC testbench runs faster than conventional HDL simulation (??)
Con
== |
|
| Back to top |
|
 |
edge Newbie


Joined: Oct 25, 2004 Posts: 1
|
Posted: Mon Oct 25, 2004 7:28 pm Post subject: vhdl to systemc Testbenches |
|
|
well, going down point by point , feature by feature seems like the wrong way to go. key points are:
1. systemc and scv 1.0 give complete C++ flexibility for modeling your environment. yes, there are specific features like stim gen and coverage, but the greater issue is being able to use real C++ and OOP for describing your environmnet (stimulus and checkers/reference model )with a real language.
2. Don't count on SystemC being much faster than VHDL, unless you are modelling at a much higher level of abstraction. That is NOT the major motivator for SysC.
3. Be prepared to pay a little $$ for a mixed lang environment (Mentor, Cadence, others? ) if you want to get real work done quickly.
4. Is your Device under test complex to benefit from the high level of abstraction of SysC and C++ ? If not, you may want to stick with your vhdl.
5. I do not believe VHDL is great for testbenches, unlike some. It does have re-entrant tasks , which is a great help over old verilog. |
|
| Back to top |
|
 |
alexg Senior

![]()
Joined: Jan 07, 2004 Posts: 586 Location: Ottawa
|
Posted: Mon Oct 25, 2004 8:43 pm Post subject: |
|
|
| Quote: | 1. systemc and scv 1.0 give complete C++ flexibility for modeling your environment. yes, there are specific features like stim gen and coverage, but the greater issue is being able to use real C++ and OOP for describing your environmnet (stimulus and checkers/reference model )with a real language.
|
Design Verification requires both hardware and software knowledge, and verification engineers may have either software or hardware education. For those with software background, C++ is a real language and OOP is the way to go, while for those with electronics background - Verilog or VHDL. Both ways are OK, once tools and languages are used properly.
| Quote: | 4. Is your Device under test complex to benefit from the high level of abstraction of SysC and C++ ? If not, you may want to stick with your vhdl.
|
I agree with this. You may divide your functionality to cycle-precise and transaction-level parts, and evaluate complexity of each one of parts. If cycle-precise functionality is complex and transaction-level is not (example: pci-pci bridge), you'll loose nothing staying entirely in HDL domain. In the opposite case (dsp, graphics etc) , you may want to use SystemC, or combination of SystemC and Verilog/VHDL.
| Quote: | | 5. I do not believe VHDL is great for testbenches, unlike some. |
In my opinion, language choise is less important than good thinking and structuring of verification task, which usually follows to compact and clean code.
Regards,
Alexander Gnusin |
|
| Back to top |
|
 |
|
|
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
| |
|
|