Hello, survey is attached, Regards, Herbert Lange -- Herbert Lange mailto:h-lange@ti.com EDA Solutions Mgr. E-HPA, Germany Texas Instruments Deutschland GmbH Phone: +49 8161-80 4608 D-85350 Freising Fax: +49 8161-80 4477 -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. --------------080905080205060005010109 Content-Type: text/plain; name="surveyHL.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="surveyHL.txt" Survey Questionnaire: SystemVerilog interoperability with other HDL languages ======================================================================== ===== Purpose: The purpose of this questionnaire is to understand the importance of various topics that deal with SystemVerilog interoperability as it pertains to other HDL languages. We focus on three HDL languages in this survey (SystemC, VHDL and AMS). Your inputs will help the SV-XC committee focus on the important items that will have direct impact on your design methodology. We will do a comprehensive technical analysis, but your requirements and their priority to you will help us. It will allow us make better tradeoffs on usability and phase the development of the standards effectively. You are encouraged to elaborate on your answer to any question or add additional feedback not specifically requested. For each of the questions please replace the [] at the beginning of the line with your importance rating. Use the following codes to make it consistent. [1] Extremely Important [2] Important [3] Not that important [4] Not required There are four sections in this questionnaire. Section 1 addresses "General" questions on interoperability of SystemVerilog. Section 2 focuses on SystemC while Section 3 focusses on VHDL interaction with SystemVerilog. Section 4 addresses AMS issues as it pertains to SystemVerilog. The final Section provides a few open ended questions that will help capture any other feedback. Please send your feedback to the committee at sv-xc@eda.org. You can also send email directly to logie@synopsys.com or somdipta@ti.com We would appreciate receiving your feedback within 2 weeks (Mar 15, 2007). However if you need additional time, please let us know. Thanks in advance for your help. If you would like to join the committee and participate in the SV-XC committee deliberations please review the instructions at http://www.eda-twiki.org/sv-xc. ================================================================ Section 1: General ================================================================ 1.1 Do you see interoperability of languages as an issue that needs to be addressed. If so what kinds of interoperability issues? [2] 1.1.1 SystemC <-> SystemVerilog interoperability [2] 1.1.2 VHDL <-> SystemVerilog interoperability [1] 1.1.3 AMS <-> SystemVerilog interoperability [2] 1.1.4 The digital subset inter-operating seamlessly (SV, VHDL, SystemC) [2] 1.1.5 All four interoperating seamlessly (AMS, VHDL, SV, SystemC) -------------------- 1.2 Which of the following needs standardization? [2] 1.2.1 SystemC <-> SystemVerilog interoperability [3] 1.2.2 VHDL <-> SystemVerilog interoperability [1] 1.2.3 AMS <-> SystemVerilog interoperability [2] 1.2.4 The digital subset inter-operating seamlessly (SV, VHDL, SystemC) [2] 1.2.4 All four interoperating seamlessly (AMS, VHDL, SV, SystemC) -------------------- 1.3 Some aspects of interoperability may be specified by providing a definition of expected behavior while others may require one or more of the base languages to add new features, change simulation semantics, or even change in a manner that is not backward compatible. As guidelines, please rank the following approaches: [4] 1.3.1 strictly preserve the current definition and semantics of all languages [4] 1.3.2 only make changes to SV language as needed [2] 1.3.3 propose interoperability features contingent upon changes to non SV languages [2] 1.3.4 where changes are desirable, always preserve backward compatibility [2] 1.3.5 guarantee that a model behaves the same in a mixed language environment as they do in a single language environment -------------------- 1.4 In the context of interoperability, is it important to have the capability to cosimulate multipe simulators (supporting different languages) from different vendors? [2] ================================================================ Section 2: SystemC/C++ ================================================================ 2.1 At what levels of abstraction should a SystemC model communicate with a SystemVerilog model? Rate your interest for each of the following interoperability paradigms [1] 2.1.1 Algorithmic or behavioral level [2] 2.1.2 Communicating processes [3] 2.1.3 RTL [3] 2.1.4 Cycle-accurate level [] 2.1.5 Other, please specify -------------------- 2.2 What kinds of connections are important across the SystemC/SystemVerilog boundary? [3] 2.2.1 Pin Level connection with simple built in types [2] 2.2.2 Pin Level connection with complex data types (such as arrays, structs) [3] 2.2.3 High level synchronization connection with interoperability of events, mailboxes, semaphores etc [2] 2.2.4 Passing parameters across the language boundary [1] 2.2.5 Hierarchically referencing external objects defined in one language from the other language. -------------------- 2.3 Would you like DPI extended in order to cover interaction with SystemC. Please provide the level of importance that you would attach to the following requirements. [3] 2.3.1 Extend DPI import to allow calling of non time-consuming SystemC member functions as DPI import functions? (Note: SystemC member function implies a member function from a SystemC module class or abstract interface class) [3] 2.3.2 Extend DPI import to allow calling of time consuming SystemC member functions as DPI import task? [4] 2.3.3 Extend DPI export to allow calling of non time-consuming SV functions from SystemC? [4] 2.3.4 Extend DPI to enable SV testbench to pass high level transactions to a SystemC model -------------------- 2.4 Would you like DPI extended in order to cover interaction with pure C++ (not SystemC) [3] 2.4.1 Extend DPI import/export functions to enable calling C++ functions (including object methods) [3] 2.4.2 Allow static methods of a SystemVerilog class to be declared as export functions in DPI, so that they can be called from any C++ domain -------------------- [2] 2.5 Would you like to see clear definition of scheduling semantics between SystemC and SystemVerilog [3] 2.5.1 Do you require interoperability of events between SystemVerilog and SytemC. If so which ones of the following are important. [3] 2.5.2 SystemC is notified instantly about SystemVerilog events [2] 2.5.3 SystemVerilog is notified instantly about SystemC events -------------------- [3] 2.6 Do you require interoperability of classes between SystemC/C++ and SystemVerilog [3] 2.6.1 Do you require to instantiate and use C++ classes within SystemVerilog [3] 2.6.2 Do you require to instantiate and use SystemC (sc_modules) in SystemVerilog [4] 2.63 Do you require to instantiate and use SystemVerilog classes in SystemC -------------------- 2.7 What is the importance of different use models for designs containing both SystemVerilog and SystemC ? [2] 2.7.1 Abstract, transaction-level SystemC model serves as reference model. It is embedded into a SV testbench. [3] 2.7.2 SV testbench driving RTL-level SystemC model [4] 2.7.3 SystemC testbench driving DUT written in Verilog or VHDL [3] 2.7.4 SystemC models are behavioral synthesis models, embedded into SV testbench [4] 2.7.5 SystemC models are at RT level and used together with other RTL models written in SV, Verilog or VHDL [4] 2.7.6 SystemC model is a wrapper around a model written in C. The SystemC model has an RTL interface. [3] 2.7.7 SystemC model is a wrapper around some model written in C. The SystemC model has an TL interface, is driven by function calls and is cycle accurate -------------------- 2.8 Please list any data type mappings between SystemVerilog and SystemC that are particularly important [2] 2.8.1 SystemC types such as int, sc_[big]int, [big]sc_uint, sc_lv, sc_bv to/from SystemVerilog real types [] 2.8.2 Complex datatypes such as user-defined structures or arrays across the port boundary real and integer arrays -------------------- ================================================================ Section 3: VHDL ================================================================ 3.1 What kinds of items would you like to be able to instantiate across VHDL, SystemVerilog boundary [2] 3.1.1 Modules and Architectures [2] 3.1.2 SystemVerilog Interfaces [3] 3.1.3 SystemVerilog Program Blocks [3] 3.1.5 Packages -------------------- [4] 3.2 Would you like to have an integrated mechanism for configuring instantiations across the language boundary? -------------------- 3.3 What kinds of objects would you like to connect in an instantiation that crosses SystemVerilog-VHDL boundary [2] 3.3.1 Parameters/generics [2] 3.3.2 Ports that are nets/signals [2] 3.3.3 Ports that variables [3] 3.3.4 Shared/reference variables -------------------- 3.4 What kinds of data types would you like to see supported on "parameters/generics" at the SystemVerilog-VHDL boundary [2] 3.4.1 Bit [3] 3.4.2 4-state logic [1] 3.4.3 Real, short real [3] 3.4.4 Time [1] 3.4.5 Dynamic data types. If so, which ones? [3] 3.4.6 Enumerations [2] 3.4.7 Arrays of bit/logic [1] 3.4.8 Arrays of other data types. If so, what data types? integer real, even 2D and 3D arrays [2] 3.4.9 Packed Structs/Records [2] 3.4.10 Unpacked Structs/Records [] 3.4.11 Other. Please explain. 3.4b Please list any data type mappings (e.g. VHDL std_ulogic to Verilog logic) that are particularly important -------------------- 3.5 What kinds of data types would you like to see supported on "nets/signals" at a language boundary? [2] 3.5.1 Bit [3] 3.5.2 4-state logic with strength [1] 3.5.3 Real, short real [3] 3.5.4 Time [1] 3.5.5 Dynamic data types [3] 3.5.6 Enumerations [2] 3.5.7 Arrays of bit/logic [1] 3.5.8 Arrays of other data types. If so what data types? integer real, even 2D and 3D arrays [2] 3.5.9 Packed Structs/Records [2] 3.5.10 Unpacked Structs/Records [3] 3.5.11 Signed Datatypes [] 3.5.12 Other. Please explain 3.5b Please list any data type mappings (e.g. VHDL std_ulogic to Verilog logic) that are particularly important VHDL real or analog_t to new kind of real Verilog port type, with a driving strength attached to it for resolution -------------------- 3.6 What kinds of data types would you like to see supported on "variables" at the SystemVerilog/VHDL language boundary? [2] 3.6.1 Bit [3] 3.6.2 4-state logic with strength [1] 3.6.3 Real [3] 3.6.4 Time [1] 3.6.5 Dynamic data types [3] 3.6.6 Enumerations [2] 3.6.7 Arrays of bit/logic [1] 3.6.8 Arrays of other data types. If so what data types? [2] 3.6.9 Packed Structs/Records [2] 3.6.10 Unpacked Structs/Records [3] 3.6.11 Signed Datatypes [] 3.6.12 Other. Please explain 3.6b Please list any data type mappings (e.g. VHDL std_ulogic to Verilog logic) that are particularly important -------------------- 3.7 What network resolution semantics would you like to be preserved across the SystemVerilog-VHDL language boundary? [3] 3.7.1 2-state [2] 3.7.2 Multiple drivers [2] 3.7.3 trireg [2] 3.7.4 bidirectional transistor networks [1] 3.7.5 Verilog strength [] 3.7.6 Other. Please explain. -------------------- 3.8 What kinds of behavioral code would you like to be able to call across a language boundary? [3] 3.8.1 Functions [3] 3.8.2 Tasks [2] 3.8.3 Procedures -------------------- 3.9 What kind of integrated interprocess synchronization would you like to see in a mixed-language simulation (events, semaphores, etc.)? [2] 3.9.1 Events [3] 3.9.2 Semaphores [3] 3.9.3 Mailboxes [3] 3.9.4 Queues -------------------- [3] 3.10 How important is an integrated I/0 mechanism between VHDL and SystemVerilog? -------------------- [3] 3.11 Would you like to have integrated access to timing backannotation (Verilog SDF and VHDL VITAL)? Clocking blocks? -------------------- 3.12 Would you like to see VPI extended for the following reasons. [4] 3.12.1 Extend VPI to access objects from VHDL [4] 3.12.2 Extend VPI to incorporate access to VHPI -------------------- [1] 3.13 Would you like to be able to directly reference objects that are declared in a different language (through a hierarchical reference)? -------------------- [4] 3.14 Would you like DPI extended to cover the following scenarios [4] 3.14.1 Extend DPI export to enable them to be called from VHDL-VHPI or Verilog-VPI callback functions -------------------- [2] 3.15 Would you like to see clear definition of scheduling semantics between VHDL and SystemVerilog -------------------- 3.16 Both VHDL and SV support strong typing and type safety for user-defined data types such as enumerations, structures,records, unions, and classes. This guarantees that erroneous operations and illegal values for the type do not occur in objects unless specifically intended, e.g., by casting. How important is it to provide mechanisms to preserve type safety: [3] 3.16.1 For enumerations and structure/record types [3] 3.16.2 For all user-defined types, where both languages require it [3] 3.16.3 For all data types that do not have a one-to-one compatible type between the languages -------------------- 3.17 There are various mechanisms that could support type safety, where required. Please indicate which you would like to see: [2] 3.17.1 Sharing of types declared from an inter-operable packages written in SV [3] 3.17.2 Sharing of types declared from an inter-operable package written in VHDL [3] 3.17.3 Sharing of types declared via a hierarchical reference [2] 3.17.4 Explicitly declaring(somehow) that 2 distinct types are equivalent, subject to appropriate rules -------------------- [3] 3.18 There are some kinds of objects that could have no equivalent in the other language, e.g, a multidimensional array in VHDL or a SV class. Is there a need for a mechanism to transparently pass an object of such a kind as a parameter or a port? For example, is there a need to pass a class from SV through a VHDL instance to another SV child instance? -------------------- 3.19 Would you like to extend SystemVerilog bind to work across the SystemVerilog - VHDL language boundary [3] 3.19.1 Bind SystemVerilog modules/interfaces/programs to VHDL [4] 3.19.2 Bind VHDL entities/architecture to SystemVerilog modules/ ================================================================ Section 4: AMS ================================================================ 4.1 What kind of Analog design unit would you like to instantiate in SystemVerilog [3] 4.1.1 SPICE [1] 4.1.2 VERILOG-AMS [2] 4.1.3 Others. please specify : VERILOG-A -------------------- 4.2 What kinds of data types would you like to see supported on nets at the SystemVerilog/Analog boundary? [1] 4.2.1 Bit [1] 4.2.2 4-state logic with strength [1] 4.2.3 Real, short real [2] 4.2.4 Time [1] 4.2.5 Dynamic data types [2] 4.2.6 Enumerations [2] 4.2.7 Arrays of bit/logic [1] 4.2.8 Arrays of other data types. If so what data types? Arrays {of Arrays} of real or integer [2] 4.2.9 Packed Structs/Records [2] 4.2.10 Unpacked Structs/Records [3] 4.2.11 Signed Datatypes [] 4.2.11 Other. Please explain -------------------- [3] 4.3 How important is the use of interface/modports at the SV-SPICE boundary? -------------------- [3] 4.4 Will you need parameter passing across the SystemVerilog - SPICE boundary? [3] 4.4.1 from SystemVerilog to SPICE? [3] 4.4.2 SPICE to SystemVerilog? -------------------- [4] 4.5 Would you like to instantiate SystemVerilog models in Spice and what SV port types to be allowed? [4] 4.5.1 Bit [4] 4.5.2 4-state logic with strength [4] 4.5.3 Real, short real [4] 4.5.4 Time [4] 4.5.5 Dynamic data types [4] 4.5.6 Enumerations [4] 4.5.7 Arrays of bit/logic [4] 4.5.8 Arrays of other data types. If so what data types? [4] 4.5.9 Packed Structs/Records [4] 4.5.10 Unpacked Structs/Records [4] 4.5.11 Signed Datatypes [4] 4.5.11 Other. Please explain -------------------- [4] 4.6 Would you like to be able to instantiate Program blocks and SystemVerilog interfaces in Spice models -------------------- [1] 4.7 How important is extending Verilog AMS to allow usage of SV data types inside VERILOG-AMS (analog blocks) -------------------- 4.8 Would you like to see the keyword conflict resolved for the following keywords [1] 4.8.1 type [1] 4.8.2 logic -------------------- [2] 4.9 How important is it to allow SV scalar data type in the connect module? -------------------- [3] 4.10 Is it important to define rules for discipline propagation (basic and detailed) through SV objects (net/variable/reg). -------------------- [3] 4.11 How important are rules for driver-receiver segregation for mixed signal net with SV data type. -------------------- [1] 4.12 Would you like to see clear definition of scheduling semantics between SPICE or (Verilog-AMS) and SystemVerilog -------------------- [1] 4.13 Is it important to clarify the behavior of force/release/deposit/vpi on a mixed signal net -------------------- [4] 4.14 Is it important to extend VPI to enable traversing the spice hierarchy? -------------------- [1] 4.15 Would you like to see the interaction between bi-directional devices such as tran/rtran when connected to analog net/node clarified -------------------- [1] 4.16 Will you use SDF annotation on a mixed signal net. Is it important to extend and define the behavior of such SDF annotation -------------------- [4] 4.17 Would you like to see Configurations expanded to cover both the analog (SPICE) and digitial (SystemVerilog) domains -------------------- [4] 4.18 Would you like to see SV bind be extended to enable binding of instances within SPICE sub-circuit? -------------------- [1] 4.19 How important is it to define the behavior of SystemVerilog testbench with analog net? Should SystemVerilog program be enable to read/write analog net? -------------------- [1] 4.20 Do you foresee using SystemVerilog assertions to check analog nets? Should SVA be extended to read values from analog nets? -------------------- [1] 4.21 Is it important to extend hierarchical references in System Verilog to span SPICE nets? ================================================================ Section 5: Misc ================================================================ The previous questions are feature oriented. They may not express all your requirements and they may not allow you to explain what use models you envision for developing design and verification models that lead to your need for mixed language interoperability. The following questions suggest ways to complete your feedback. Provide answers if appropriate to express your needs. [1] 5.1 What levels of abstraction and role do your existing models have for each HDL language that you use? How do they need to work together today? How do you anticipate this use model changing over time? Levels of abstraction when using Verilog-AMS and (System)Verilog in ascending order : analog : functional, signalflow, lumped, natural, netlist digital : tlm, behavioral, rtl, netlist The set of abstraction levels is application specific and also depends on the current project state (exploration -> implementation -> verification). Actually we are using mainly Verilog-AMS/VHDL and Verilog-AMS/spectre/spice netlists. These are configured within AMS-Designer and many simulations are controlled interactively by a smart Verilog-AMS testbench. In the foreseeable future we see, that many project groups are moving in this direction, we expect the HDVL-supported top\down-bottom/up methodology to establish within the next ten years; an substantial precondition for this is a comprehensive interface between SystemVerilog & Verilog-AMS. -------------------- [1] 5.2 At a high level, what do you expect to be able to do with more mixed language interoperability that you are currently not able to do today? How will it change your design methodology over time? We will gain the ability to accomplish HDVL-based mixed-signal verification. If there is a common SystemVerilog-AMS standard there will be a great momentum behind this powerful HDVL and it will be worthwhile to spend more time on generic (reuse!!!) HDVL models and hence a top\down-bottom/up methodology will perform efficiently. Besides more sophisticated/guided HDVL testbenching will be a great asset for AMS design and validation/verification. ------------------- [2] 5.3 While one can idealize how completely and seamlessly they would like everything to inter-operate, not everything is practical. At some level, the alternative is enhancing one particular language to meet a need, or changing to a different language. Are there some aspects of interoperability that you believe are not appropriate for standardization? Why? I think that doing a best-of kind of extension for SystemVerilog, Verilog-AMS and VHDL is the key to specifying a real-world interface/inter-operability. ------------------- [] 5.4 Is there anything else on this topic that you would like to say? The endeavours of your comittee will have a great impact on design methodology. They can ensure that the future HDVL implementations will be more complete and hence are fully satisfying the users needs. I wish you every success :) ------------------- [] 5.5 Can we contact you for additional information. If so please supply email address below. h-lange@ti.com ------------------- Thank you for your time! --------------080905080205060005010109-- -- 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 Wed Mar 14 06:18:50 2007
This archive was generated by hypermail 2.1.8 : Wed Mar 14 2007 - 06:18:52 PDT