Size: 433
Comment:
|
Size: 1328
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
== Direct Programming Interface (DPI) == === 综述 === 分析SystemVerilog或者外来语言的源程序的时候只需要相应的编译器。不同的编程语言可以用来支持同一种SystemVerilog layer。现今,SystemVerilog3.1只定义C语言的外来接口。[[BR]][[BR]] 定义这样的接口是从两方面考虑的。在方法学上要求异类的系统里应该允许有些部分是用SystemVerilog以外的语言来写的。而在另一方面,又有实际的需求以便容易且有效的将已经写好的代码,通常是C或者C++,连接到系统里来,而无需了解PLI或者VPI的知识和Overhead。[[BR]][[BR]] DPI遵从黑合的原则:一个component的规范和实现是清晰分开的,具体的实现对系统来说是透明的。因此,具体实现采用的编程语言也是透明的,尽管标准现在只是定义了C的连接语义。 |
[http://www.eetimes.com/news/design/columns/eda/showArticle.jhtml?articleID=26806455 Is SystemVerilog the next PL/1?]
[http://www.deepchip.com/items/0446-06.html SystemVerilog Real Project?]
[http://www.edacn.net:81/bbs/viewthread.php?tid=26776 The search for the perfect language 验证语言的选择和分析]
[http://verificationguild.com/modules.php?name=Forums&file=viewtopic&p=4279#4279 "SV" OO vs "e" Aspect]
Direct Programming Interface (DPI)
综述
分析SystemVerilog或者外来语言的源程序的时候只需要相应的编译器。不同的编程语言可以用来支持同一种SystemVerilog layer。现今,SystemVerilog3.1只定义C语言的外来接口。BRBR
定义这样的接口是从两方面考虑的。在方法学上要求异类的系统里应该允许有些部分是用SystemVerilog以外的语言来写的。而在另一方面,又有实际的需求以便容易且有效的将已经写好的代码,通常是C或者C++,连接到系统里来,而无需了解PLI或者VPI的知识和Overhead。BRBR
DPI遵从黑合的原则:一个component的规范和实现是清晰分开的,具体的实现对系统来说是透明的。因此,具体实现采用的编程语言也是透明的,尽管标准现在只是定义了C的连接语义。