当前位置: 首页 > news >正文

陕西网站建设公司找哪家好python基础教程电子版

陕西网站建设公司找哪家好,python基础教程电子版,怎么做网页中不显示项目符号,用wordpress做网站教程深拷贝和浅拷贝的区别? 当只拷贝对象中的成员变量和声明的句柄时,称为浅拷贝。浅拷贝只把对象中的句柄复制了,却没有复制句柄b所指向的对象。这会导致复制后,a2中的句柄b 和 a1 中的句柄b指向同一个对象,如果a2中的句…
  1. 深拷贝和浅拷贝的区别?

当只拷贝对象中的成员变量和声明的句柄时,称为浅拷贝。浅拷贝只把对象中的句柄复制了,却没有复制句柄b所指向的对象。这会导致复制后,a2中的句柄b 和 a1 中的句柄b指向同一个对象,如果a2中的句柄b修改了对象的内容,那么a1中的句柄 b 所指向的内容也会发生变化。

深拷贝会复制对象中的所有成员变量以及对象中嵌套的其他类的实例的内容。实现深拷贝,需要自己在类中定义copy方法,目的是为了在复制类中的套娃(对象里面另一个类的实例)时,产生一个新的句柄,并产生一个具有相同内容的对象。

可以将克隆clone理解为深拷贝,需要自己定义产生新对象的逻辑;

  2.类的public、protected和local的区别?

如果没有指明访问类型,那么成员的默认类型是public,子类和外部均可以访问成员。

如果指明了访问类型是protected,那么只有该类或者子类可以访问成员,而外部无法访问。

如果指明了访问类型是local,那么只有该类可以访问成员,子类和外部均无法访问。

  3.sequence机制的作用和优点?

sequence机制主要是用于控制和产生激励,并将产生的一系列transcation发送给driver。

其优点在于: 将激励的产生功能从driver中剥离出来,同时也将testcase和testbench分离开来, 在不同的testcase中,可以将不同的sequence配置成sequencer的main_phase中的default_sequence,当sequencer执行到main_phase时,就会启动sequence, 在不改变driver的情况下完成不同的激励驱动。

    4.Sequence的分类?

a.扁平类(flat sequence):这一类往往只用来组织更细小的粒度,即item实例构成的组织。

b.层次类( hierarchical sequence):这一类是由更高层的sequence用来组织底层的sequence,进而让这些sequence或者按照顺序方式,或者按照并行方式,挂载到同一个sequencer上。

          c.虚拟类(virtual sequence):这一类则是最终控制整个测试场景的方式,鉴于整个环境中              往往存在不同种类的sequencer和其对应的sequence,我们需要一个虚拟的sequence来协            调顶层的测试场景。之所以称这个方式为virtual sequence,是因为该序列本身并不会固定              挂载于某一种sequencer类型上,而是将其内部不同类型sequence最终挂载到不同的目标              sequencer上面。这也是virtual sequence不同于hierarchical sequence的最大一点。

     5.如何在driver中使用interface?

interface声明的是一个实际的物理接口;

dirver中使用virtual interface进行申明接口,然后通过config_db进行接口参数传递,这样我们可以从上层组件获得虚拟的interface接口进行处理。

Config_db传递时只能传递virtual接口,即interface的句柄,否则传递的是一个实际的物理接口

     6.field_automation机制?

可以自动实现copy、compare、print等函数。当使用uvm_field系列相关宏注册之后,可以直接调用以上三个函数,而无需自己定义。这极大的简化了验证平台的搭建,尤其是简化了driver和monitor,提高了效率。

      7.UVM中各个component之间是如何组织运行的,串行还是并行,通过什么机制进行调度的?

搭建的uvm验证环境是自顶向下的树形结构;UVM中运行是通过Phase机制进行层次化仿真的。从组件来看各个组件并行运行,从phase上看是串行运行,有层次化的。Phase机制的9个phase是串行运行的,不同组件中的同一个phase都运行完毕后才能进入下一个phase运行,同一个phase在不同组件中的运行也是由一定顺序的,,build 和 final是自顶向下。

      8.所搭建的验证平台为什么要用RAL(寄存器)?

        首先,寄存器对设计非常重要,其是模块间交互的窗口,我们可以通过读寄存器值去观察模            块的运行状态,通过写寄存器去控制模块的配置和功能改变

保证寄存器的读写正确才能保证dut设计的正确性;采用RAL寄存器模型去测试验证,寄存器模型独立于TB之外,我们可以搭建一个测试寄存器的agent,去通过前门或者后门访问去控制DUT的寄存器,使得 DUT按照我们的要求去运行;

      9.前门访问和后门访问的区别?

a.前门访问顾指的是在寄存器模型上做的读写操作,最终会通过总线UVC来实现总线上的物理时序访问,因此是真实的物理操作。

b.后门访问,指的是利用UVM DPI (uvm_hdl_read()、uvm_hdl_deposit()),将寄存器的操作直接作用到DUT内的寄存器变量,而不通过物理总线访问。前门访问在使用时需要将path设置为UVM_FRONTDOOR

在进行后门访问时,用户首先需要确保寄存器模型在建立时,是否将各个寄存器映射到了DUT一侧的HDL路径:使用add_hdl_path

    从上面的差别可以看出,后门访问较前门访问更便捷更快一些,但如果单纯依赖后门访问也不能称之为“正道”。实际上,利用寄存器模型的前门访问和后门访问混合方式,对寄存器验证的完备性更有帮助。

      10.前门访问和后门访问的方法?

前门访问:

第一种uvm_reg::read()/write(),在传递时,用户需要将参数path指定为UVM_FRONTDOOR。除了status和value两个参数需要传入,其他参数可采用默认值.

寄存器模型提供的方法

//reg_model寄存器模型实例名,reg寄存器实例名

reg_model.reg.write(status, value, UVM_FRONTDOOR, .parent(this));

reg_model.reg.read(status, value, UVM_FRONTDOOR, .parent(this));

第二种uvm_reg_sequence::read_reg()/write_reg(),在使用时,也要将path指定为UVM_FRONTDOOR,uvm_reg_sequence预定义方法

read_reg(rgm.ss, status, data, UVM_FRONTDOOR);

write_reg(rgm.ss, status, data, UVM_FRONTDOOR);

后门访问

确保寄存器模型在建立时将各个寄存器映射到DUT一侧的HDL路径

add_hdl_path("reg_backdoor_access.dut");

chnl0_ctrl_reg.add_hdl_path_slice($sformatf("regs[%0d]", `SLVO_RW_REG), 0, 32);

lock_model();

通过uvm_reg_block::add_hdl_path()将寄存器模型关联到DUT一端

通过uvm_reg::add_hdl_path_slice完成将寄存器模型各个寄存器成员与HDL一侧的地址映射

lock_model()函数结尾,结束地址映射关系,保证模型不会被其他用户修改

          寄存器模型完成HDL路径映射后,利用uvm_reg或uvm_reg_sequence自带的方法进行后门             访问

uvm_reg::read()/write(),在调用该方法时设置UVM_BACKDOOR的访问方式。uvm_reg_sequence::read_reg()/write_reg(),在调用该方法时设置UVM_BACKDOOR的访问方式。uvm_reg::peek()/poke()两个方法,分别对应了读取寄存器(peek)和修改寄存(poke)两种操作,本身只针对后门访问,所以无需设置UVM_BACKDOOR。

寄存器模型提供的方法read()/write()

rgm.ctrl.read(status,data,UVM_BACKDOOR,.parent(this));       

rgm.ctrl.write(status,'h11,UVM_BACKDOOR,.parent(this));

uvm_reg_sequence预定义方法read_reg()/write_reg()

read_reg(rgm.ss,status,data,UVM_FRONTDOOR);

write_reg(rgm.ss,status,'h22,UVM_FRONTDOOR);

寄存器模型提供的方法peek()/poke()

rgm.ctrl.peek(status,data,.parent(this));   

rgm.ctrl.poke(status,'h22,.parent(this));

http://www.yayakq.cn/news/707675/

相关文章:

  • 网站没有icp备案怎么访问什么网站类型
  • 天水 网站建设公司名字大全2022
  • 南京电信网站空间扩容做国际网站有什么需要注意的
  • 吉林省建设监理协会网站诚信建设网推怎么做
  • 做网站收款支付宝接口网站建设买服务器价格
  • 做静态网站需要什么保障网装修平台
  • 卖老石器老榆木做哪个网站好建站如何注重内容建设
  • 网站注册协议今年国内重大新闻
  • 个人电台网站模版织梦怎么修改网站标题
  • 做美食网站的优势图片设计师网站
  • 做哪方面的网站微信借口的网站怎么做
  • 如何查看网站流量网站在线演示
  • 国外家谱网站的建设个人社保缴费证明在哪里下载
  • 网站设计科技有限公司网站推广怎么写
  • 苏州网站 建设 公司网站页面引导怎么做
  • 企业设计网站系统嘉兴专业做网站
  • 如何破解网站后台网站建设与管理基础及实训(php版)
  • 天津最好的网站建设徐汇网站设计
  • 淘客那些网站怎么做的高碑店网站建设价格
  • 网站备案流程阿里云网站建设优化开发公司
  • 企业网站建立网络虚拟社区时对于企业sem竞价
  • 沈阳网站排名优化问卷调查网站
  • 服装网站设计模板wordpress页眉自定义
  • 用ps做企业网站分辨率是多少钱asp网站建设实例花网站
  • 做地方网站如何盈利福州app开发定制
  • 无锡网站建设策划方案大宗交易平台
  • 自己做的网站怎么发到网上网站建设绩效考核表
  • 网站设计制作代码旅游网站建设总结报告
  • 海通建设集团有限公司网站免费建网站那个软件好
  • 深圳坪山高铁站中小企业网络规划与设计论文