From: Ron Baker, Pluralitas! on 15 Apr 2006 20:19 What is the general view on the usefulness/value of systemc? I very familiar with Verilog and used to be very familiar with VHDL. Systemc seems to be lower level where you are almost writing the simuator. That would appear to give more flexibility and abstraction. But after you've completed the systemc design it appears you have to rewrite it in a language that can be synthesized in order to actually make a chip. Any comments? -- rb
From: mk<kal* on 16 Apr 2006 00:14 On Sun, 16 Apr 2006 00:19:22 GMT, "Ron Baker, Pluralitas!" <stoshu(a)bellsouth.net.pa> wrote: >What is the general view on the usefulness/value >of systemc? >I very familiar with Verilog and used to be >very familiar with VHDL. >Systemc seems to be lower level where you >are almost writing the simuator. That would >appear to give more flexibility and abstraction. >But after you've completed the systemc design >it appears you have to rewrite it in a language >that can be synthesized in order to actually >make a chip. >Any comments? I am not sure why you say systemc is lower level. I have the opposite impression. Also there are systemc synthesizers. It's also quite a bit faster to simulate. As someone who writes C++ models using a self-developed fixed-point class library, I welcome systemc.
From: Ron Baker, Pluralitas! on 16 Apr 2006 01:42 "mk" <kal*@dspia.*comdelete> wrote in message news:kvg342hdjeb3o0b93i8oca3ko3sha6tq42(a)4ax.com... > On Sun, 16 Apr 2006 00:19:22 GMT, "Ron Baker, Pluralitas!" > <stoshu(a)bellsouth.net.pa> wrote: > >>What is the general view on the usefulness/value >>of systemc? >>I very familiar with Verilog and used to be >>very familiar with VHDL. >>Systemc seems to be lower level where you >>are almost writing the simuator. That would >>appear to give more flexibility and abstraction. >>But after you've completed the systemc design >>it appears you have to rewrite it in a language >>that can be synthesized in order to actually >>make a chip. >>Any comments? > > I am not sure why you say systemc is lower level. You raise an interesting point. Systemc is basically an extension of c++. C++ is a software language and not even a high level software language per the traditional description. (C has been described as 'portable assembler'.) When one writes in Systemc much of what one is writing are things that I recognize as being internal to traditional simulators such as Modelsim and nc-verilog. In those senses SystemC is low level. Being low level like that it is less constrained and allows more abstract/behavioral coding. Abstract/behavioral coding can be considered high level. > I have the opposite > impression. Also there are systemc synthesizers. Interesting. Can you name some? I asked the prof about that and he gave no indication that there were such. I can imagine that there would be synthesizers for SystemC but I would expect they would be distinctly limited in the range of possible contructs that can be synthesized. > It's also quite a bit > faster to simulate. Interesting. In my minimal experience so far it seems slower to compile but faster to run. And now that I think about it, run time is more critical. > As someone who writes C++ models using a > self-developed fixed-point class library, I welcome systemc. Interesting. Another thought that comes to mind is regarding graphical debugging tools. With a traditional HDL and simulator one can probe and graphically display internal signals. I haven't seen that capability with SystemC. What I've seen so far is like the earliest crude HDL simulators that only had text based output. If you've got a complete, working, self-checking testbench that's just fine. All it has to do is print 'Pass' or 'Fail'. But in order to produce a testbench a graphical display of internal signals is essential. -- rb
From: Hans on 16 Apr 2006 06:35 "Ron Baker, Pluralitas!" <stoshu(a)bellsouth.net.pa> wrote in message news:tPk0g.4939$3W1.1547(a)tornado.socal.rr.com... >> >> I am not sure why you say systemc is lower level. > > You raise an interesting point. Systemc is basically > an extension of c++. It is more than an extension to C++, it includes a cycles based simulator and VCD dumping support. > C++ is a software language > and not even a high level software language per > the traditional description. IMHO C++ is a high level language, why do you think it isn't? > (C has been described > as 'portable assembler'.) When one writes in > Systemc much of what one is writing are things that > I recognize as being internal to traditional simulators > such as Modelsim and nc-verilog. > In those senses SystemC is low level. Check out the appendix in the OSCI SystemC userguide, if you want you can use HDL style programming for SystemC. > > Being low level like that it is less constrained > and allows more abstract/behavioral coding. > Abstract/behavioral coding can be considered > high level. > >> I have the opposite >> impression. Also there are systemc synthesizers. > > Interesting. Can you name some? What about Catapult-C, Agility, Forthe? > I asked the prof about that and he gave no > indication that there were such. And he is a "prof" in.............:-) > I can imagine that there would be synthesizers > for SystemC but I would expect they would > be distinctly limited in the range of possible contructs > that can be synthesized. Check out the (not yet ratified) synthesisable SystemC subset. > >> It's also quite a bit >> faster to simulate. > > Interesting. In my minimal experience so far > it seems slower to compile but faster > to run. And now that I think about it, run time > is more critical. > >> As someone who writes C++ models using a >> self-developed fixed-point class library, I welcome systemc. > > Interesting. > > Another thought that comes to mind is regarding > graphical debugging tools. With a traditional > HDL and simulator one can probe and graphically display > internal signals. I haven't seen that capability with > SystemC. Check out Modelsim, you get nearly the same capability as the supported HDL languages, in addition you can display transactors in the next upcoming 6.2 release. I assume NCSim and others will or have the same capability. > What I've seen so far is like the earliest > crude HDL simulators that only had text based output. > If you've got a complete, working, self-checking testbench > that's just fine. All it has to do is print 'Pass' or 'Fail'. > But in order to produce a testbench a graphical display > of internal signals is essential. Even the free OSCI simulator support VCD dumping, run your simulation, log the signals then use free GTKView or Dinotrace to display them. SystemC is not perfect (check out the error messages, what a pain!) but unless Accellera start making noises about SystemVHDL/HypherVHDL or whatever they call it SystemC is very suitable for testbenches and high level modeling. Mixing HDL and SystemC is very easy (at least in Modelsim) and will give you goodies like constraint random/transaction level modelling and a dead easy C interface :-) Hans www.ht-lab.com > > -- > rb
From: Ron Baker, Pluralitas! on 16 Apr 2006 13:42 "Hans" <hans64(a)ht-lab.com> wrote in message news:F5p0g.114$iB1.53(a)newsfe7-win.ntli.net... > "Ron Baker, Pluralitas!" <stoshu(a)bellsouth.net.pa> wrote in message > news:tPk0g.4939$3W1.1547(a)tornado.socal.rr.com... >>> >>> I am not sure why you say systemc is lower level. >> >> You raise an interesting point. Systemc is basically >> an extension of c++. > > It is more than an extension to C++, it includes a cycles based simulator > and VCD dumping support. > >> C++ is a software language >> and not even a high level software language per >> the traditional description. > > IMHO C++ is a high level language, why do you think it isn't? First considering C: http://www.advogato.org/article/759.html "Is C a "high-level" language? Most would say not" http://en.wikipedia.org/wiki/High-level_language "Many programmers today might refer to C as low-level, as it still allows memory to be accessed by address, and provides direct access to the assembly level." http://en.wikipedia.org/wiki/C_programming_language "C is sometimes referred to (and not always pejoratively) as "high-level assembly" or "portable assembly". It is also sometimes referred to as a mid-level language." And it could be argued that C++ is high level. It's kinda moot. > >> (C has been described >> as 'portable assembler'.) When one writes in >> Systemc much of what one is writing are things that >> I recognize as being internal to traditional simulators >> such as Modelsim and nc-verilog. >> In those senses SystemC is low level. > > Check out the appendix in the OSCI SystemC userguide, if you want you can > use HDL style programming for SystemC. > >> >> Being low level like that it is less constrained >> and allows more abstract/behavioral coding. >> Abstract/behavioral coding can be considered >> high level. >> >>> I have the opposite >>> impression. Also there are systemc synthesizers. >> >> Interesting. Can you name some? > > What about Catapult-C, Agility, Forthe? Cool. Thanks. > >> I asked the prof about that and he gave no >> indication that there were such. > > And he is a "prof" in.............:-) > >> I can imagine that there would be synthesizers >> for SystemC but I would expect they would >> be distinctly limited in the range of possible contructs >> that can be synthesized. > > Check out the (not yet ratified) synthesisable SystemC subset. I've done some more googling and have found some things on that. > >> >>> It's also quite a bit >>> faster to simulate. >> >> Interesting. In my minimal experience so far >> it seems slower to compile but faster >> to run. And now that I think about it, run time >> is more critical. >> >>> As someone who writes C++ models using a >>> self-developed fixed-point class library, I welcome systemc. >> >> Interesting. >> >> Another thought that comes to mind is regarding >> graphical debugging tools. With a traditional >> HDL and simulator one can probe and graphically display >> internal signals. I haven't seen that capability with >> SystemC. > > Check out Modelsim, you get nearly the same capability as the supported > HDL languages, in addition you can display transactors in the next > upcoming 6.2 release. I assume NCSim and others will or have the same > capability. Interesting. Sure, that makes sense. The versions of Modelsim I have access to don't support SystemC but it only makes sense that newer versions would. Then that makes me wonder if you loose the simulation speed advantage of SystemC when you use it with a graphical simulator. (But maybe I'm wrong about SystemC being faster. http://en.wikipedia.org/wiki/SystemC says: "The performance of this simulation kernel is not to be compared with that of commercial VHDL/Verilog simulators at the present.") > >> What I've seen so far is like the earliest >> crude HDL simulators that only had text based output. >> If you've got a complete, working, self-checking testbench >> that's just fine. All it has to do is print 'Pass' or 'Fail'. >> But in order to produce a testbench a graphical display >> of internal signals is essential. > > Even the free OSCI simulator support VCD dumping, run your simulation, log > the signals then use free GTKView or Dinotrace to display them. Interesting. Yes, I will look into the VCD. > > SystemC is not perfect (check out the error messages, what a pain!) but > unless Accellera start making noises about SystemVHDL/HypherVHDL or > whatever they call it SystemC is very suitable for testbenches and high > level modeling. Mixing HDL and SystemC is very easy (at least in Modelsim) > and will give you goodies like constraint random/transaction level > modelling and a dead easy C interface :-) > > Hans > www.ht-lab.com Cool. Thanks for your comments. I checked out your web page too. Pretty good. -- rb
|
Pages: 1 Prev: libbasxi.dll Next: FPGA-based hardware accelerator for PC |