[导读]SystemVerilog引入了面向对象的思想。对象句柄为语言提供了一种安全的、类似于指针的机制。类提供了继承和抽象建模的能力,这就将不带有任何类型安全性问题的C函数指针的优点引入到了SystemVerilog中,因此它为Verilog带来了真正的多态性。它包含了数据以及对数据进...
SystemVerilog 引入了面向对象的思想。对象句柄为语言提供了一种安全的、类似于指针的机制。
类提供了继承和抽象建模的能力,这就将不带有任何类型安全性问题的 C 函数指针的优点引入到了 SystemVerilog 中,因此它为 Verilog 带来了真正的多态性。
它包含了数据以及对数据进行操作的成员函数(函数和任务)。类的数据被称为类属性,它的子程序被称为方法,无论是类属性还是方法都是类的成员。类属性和方法结合在一起,定义了某种类型的对象的内容和能力。
由于其继承了面向对象的思想,因此在 SV 中可以定义类,然后例化,例如下面的代码。class X_mac_env extends uvm_env; X_mac_agent input_agt;//用于向 DUT 发送数据在实例化中,配置为 ACTIVE 模式 X_mac_agent output_agt;//用于向 DUT 接收数据,配置为 PASSIVE 模式 X_mac_reference_model X_mac_model;//实例化 model 和 scoreboard X_mac_scoreboard X_mac_scb;//定义了三个 fifo,用于连接 scoreboard 的两个接口和 reference model 的一个接口 uvm_tlm_analysis_fifo #(X_mac_reg_transaction ) reg_agt_mdl_fifo ;//i_agt<==>ref model uvm_tlm_analysis_fifo #(eth_frame_transaction ) eth_agt_mdl_fifo ;//i_agt<==>ref model uvm_tlm_analysis_fifo #(fec_frame_transaction ) X_mac_agt_mdl_fifo;//i_agt<==>ref model uvm_tlm_analysis_fifo #(X_mac_reg_transaction ) reg_agt_scb_fifo ;//o_agt<==>scb uvm_tlm_analysis_fifo #(eth_frame_transaction ) eth_agt_scb_fifo ;//o_agt<==>scb uvm_tlm_analysis_fifo #(fec_frame_transaction ) X_mac_agt_scb_fifo;//o_agt<==>scb uvm_tlm_analysis_fifo #(X_mac_reg_transaction ) reg_mdl_scb_fifo ;//ref<==>scb uvm_tlm_analysis_fifo #(eth_frame_transaction ) eth_mdl_scb_fifo ;//ref<==>scb uvm_tlm_analysis_fifo #(fec_frame_transaction ) X_mac_mdl_scb_fifo;//ref <==>scb extern function new(string name,uvm_component parent); extern virtual function void build_phase(uvm_phase phase); extern virtual function void connect_phase(uvm_phase phase); `uvm_component_utils(X_mac_env)endclass像在 env 这个类中,就例化了两个 X_mac_agent、 refernence model 和scoreboard,另外例化了 9 个 fifo,使用十分方便。.........................................................................
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
面向对象技术 (Object-Oriented Technology)面向对象技术强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物。...
关键字:
面向对象
抽象性
封装性
在基于Verilog或VHDL的验证平台中,验证平台和DUT连接在一起,验证平台中包含激励发送和响应监测模块,在仿真的开始DUT和验证平台就被加载到仿真器的内存当中并在整个仿真期间一直存在。也就是说,验证平台和DUT都是...
关键字:
System
SV将C语言中的大部分特性包含进去,包括了相当多的数据类型和操作符。1.SystemVerilog支持C语言内建的数据类型。为了避免int和long数据类型的重复带来混淆,在SV中,int是32位的,longint是64...
关键字:
C语言
System
将Systemverilog中的数组和队列拿出来单独讲,是因为相对于其他的数据类型,数组和队列与C语言和Verilog语言的数组有着不同的特性。这些特性不仅体现在完全迥异于C语言的定义方式,也体现在其成员函数上。Syst...
关键字:
System
verilog
SV开辟了一条可以将SV和C语言结合在一起的新途径,通过使用DPI的导入声明,SV语言中可以方便地调用一个C函数。同样SV中的数值可以作为输入值直接输入到C函数中,C函数的返回值也可以直接传递给SV。同样,使用DPI的导...
关键字:
System
关注星标公众号,不错过精彩内容来源|果果小师弟在看别人单片机程序时,你也许是奔溃的,因为全局变量满天飞,不知道哪个在哪用了,哪个表示什么,而且编写极其不规范。自己写单片机程序时,也许你也是奔溃的。总感觉重新开启一个项目,...
关键字:
单片机
面向对象
摘要:在看别人单片机程序时,你也许是奔溃的,因为全局变量满天飞,不知道哪个在哪用了,哪个表示什么,而且编写极其不规范。自己写单片机程序时,也许你也是奔溃的。总感觉重新开启一个项目,之前的写过相似的代码也无法使用,得重新敲...
关键字:
单片机
面向对象
C和C++的最大区别便是,C++有类,C没有类的概念。单单这一个类使得C缺失很多的东西。好在C有结构体,勉强可以当0.1个类来使用。
关键字:
C语言
面向对象
来源:菜鸟教程、立功科技、百度百科 面向对象&&面向过程 1、什么是面向过程编程? 比较官方的解释就是:“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进...
关键字:
面向对象
笔者能力有限,如果文中出现错误的地方,欢迎大家给我指出来,我将不胜感激,谢谢~同时如果各位朋友对于状态机还有不同的想法,笔者也很希望能够互相交流,微信二维码在公众号底部获取。 状态机的概念 有限状态机又称有限状态自动机,...
关键字:
有限状态机
面向对象
来自:冰河技术 前言 面向对象思想与并发编程有关系吗?本来二者是没有什么鸟关系的!它们是分属两个不同的领域,但是,Java却将二者融合在一起了!而且融合的效果不错:我们利用Java的面向对象的思想能够让并发编程变得更加简...
关键字:
面向对象
OC和C++对C的扩展最重要的当然就是“面向对象”了,学习了C++对面向对象自然对面向对象一点也不会感到陌生了,可能还觉得有点亲切呢,陌生的语言中看到熟悉的词,你说亲不亲切啊!面向对象的几个重
关键字:
objective-c
面向对象
学习了何红辉、关爱民写的《Android设计模式》,对于面向对象的六大原则有进一步的理解,特此根据自己的理解记录总结一下什么是接口隔离原则
接口隔离的目的就是将庞大的接口拆分成更小的或者说更具体的接
关键字:
接口隔离
面向对象
静态代码块格式:static{状态代码块的执行语句}特点:随着类的加载而执行,只执行一次,优先于主函数用于给类进行初始化重点:静态的特性,执行顺序 Person p = new Person();=&
关键字:
程序员
面向对象
学习了何红辉、关爱民写的《Android设计模式》,对于面向对象的六大原则有进一步的理解,特此根据自己的理解记录总结一下什么是依赖倒置原则其实依赖倒置原则就是告诉你,不要让你的程序耦合度过高在依赖倒置
关键字:
面向对象
关于Java中的封装封装(面向对象的特质之一);是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处:将变化隔离;便于使用;提高重用性;安全性
封装原则,将不需要对外提供的内容都隐藏起来,把属
关键字:
java
封装
面向对象
一、面向对象与面向过程编程的区别我们以一个实际例子来说明这两者的区别 , 例如:写一个计算器的软件。面向过程程序员思考方式:[1]定义变量保存用户的输入的数据[2]实现一个加法函数,完成数据的加法[3
关键字:
编程
面向对象
面向过程
一.需求Ø 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。Ø 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)
关键字:
java
银行系统
面向对象
什么是面向对象既然讲到面向对象。就要了解另一种编程模式,面向过程
面向过程强调的是do,就是行为,相当于函数
面向对象强调的是this.do.重点在于this上就是将函数以及相关联的一些属性内容封装在
关键字:
java
构造函数
面向对象
1.什么是异常
程序中遇到的非致命错误,而不是编译时的语法错误,如空指针异常,操作数越界,打开一个不纯在的文件、网络中断等等。
由于Java语言面向对象,万物皆对象,异常也被看成是一种对象。
//==
关键字:
java
异常处理
面向对象