Hi Kevin, Please see my comments below prefixed with "ARNAB". Thanks Arnab -----Original Message----- From: owner-sv-xc@server.eda.org [mailto:owner-sv-xc@server.eda.org] On Behalf Of Kevin Cameron Sent: Thursday, January 11, 2007 2:59 PM To: sv-xc@server.eda.org Subject: Re: SystemC interfacing to SystemVerilog survey questions > From: Saha, Arnab <arnab_saha@mentor.com> > > (1) At what level should a SystemC model communicate with a > SystemVerilog model ? (choose one or more, use numbers to prioritize, > 1 = most important, 2 = less important than 1, X = not required) > > (a) Algorithmic or behavioral > (b) Communicating processes > (c) RTL > (d) Cycle-accurate > (e) Other, please specify I'm not sure what you mean by your categories. I would assume that it would be fairly easy to hand off all the scheduling for SystemC to the SV/VHDL/AMS simulator if there was an API for that. Most of the rest of the communication will be through signals/events (which just happens when it happens). ARNAB: There are various methodologies involved with how SystemC and SV interact. You have a plain old pin-level connection method where you instantiate a module of another language and then connect signals and ports(c). You can also take the DPI approach and in that case the two models communicate using function calls (a). I don't think we can hand off all the scheduling for SystemC to a SV/VHDL/AMS simulator without handling SystemC objects separately. The scheduling semantics for these languages don't match. > > (2) Use numbers to prioritize the following based on their value > in interfacing SystemC and SystemVerilog: > (1 = most important, 2 = less important than 1, X = not required) ARNAB: I guess, I was not clear in my explanation above. I want you to use numbers to proritize the items below like 1, 2, 3, 4, 5 .... with 1 being the most important and 5 the least. Use as many numbers you want. > (a) Pin-level(rtl) connection between SystemC and SystemVerilog > using simple built-in types provided by each language. 1 > (b) Connection between SystemC and SystemVerilog using complex > types like arrays and structs of built-in types. 2 > (c) Connecting objects that operate at higher level of abstraction > as provided by each language like events, mailboxes, semaphore > and fifos. 2 1 for mailboxes/fifos, since they are a good mechanism for communicating between different kinds of processes. > (d) Hierarchically referencing external objects defined in one > language from another. 2 +/- - suspect SystemC is more likely to be on top so it's unlikely [System]Verilog would want to reference it. > (e) Pass parameters across the language boundary. 1.5 > (f) Other, please specify > > (3) Additional comments ? > Assuming single thread of control? Kev. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Thu Jan 11 15:07:36 2007
This archive was generated by hypermail 2.1.8 : Thu Jan 11 2007 - 15:07:37 PST