从零开始学习 UVM3.11UVM TestBench架构 —— UVM Virtual Sequencer

Posted ReRrain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始学习 UVM3.11UVM TestBench架构 —— UVM Virtual Sequencer相关的知识,希望对你有一定的参考价值。

文章目录

Virtual Sequencer 介绍

简单来说,Virtual Sequencer是一个包含其他seqeuncers句柄的UVM seqeuncer。

为什么我们需要这个?因为我们计划使用virtual sequence,并希望从一个中心位置控制所有sequencer。这里不需要请求类型(request type),因为该sequencer是通用的,不限于处理特定数据类型。

上面展示的环境具有APB代理,Wishbone代理,PCIE环境和寄存器层环境。每个组件都有自己的sequences以及它们启动的sequencer。实例化了一个名为m_virt_seqr的virtual sequencer来保存对每个单独sequencer的引用。因此,在这个virtual sequencer上执行的virtual sequence将可以访问TestBench中所有的sequencers。

Virtual Seq

从零开始学习jQuery(转)

 

本系列文章导航

 

 

从零开始学习jQuery (一) 开天辟地入门篇

从零开始学习jQuery (二) 万能的选择器

从零开始学习jQuery (三) 管理jQuery包装集

从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式

从零开始学习jQuery (五) 事件与事件对象

从零开始学习jQuery (六) jQuery中的Ajax

从零开始学习jQuery (七) jQuery动画-让页面动起来!

从零开始学习jQuery (八) 插播:jQuery实施方案

从零开始学习jQuery (九) jQuery工具函数

从零开始学习jQuery (十) jQueryUI常用功能实战

从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件

 

 

一.摘要

本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍.

本篇文章是入门第一篇, 主要是简单介绍jQuery, 通过简单示例指导大家如何编写jQuery代码以及搭建开发环境. 详细讲解了如何在Visual Studio中配合使用jQuery.

转载请注明子秋出品!博客园首发!

 

二.前言

首先道个歉! "从零开始学习ASP.NET MVC"系列文章在即将介绍Filter时就没有更新了, 原因就是最近我一直在研究和学习jQuery.看到本系列的名称和文章标题, 看过我的MVC系列文章的人会感到很熟悉. 不久要给公司的人做培训, 所以特意制作了本教程.

在写作的同时我参考了网上jQuery的系列教程文章, 在博客园和Google上并没有找到让我满意的系列教程. 我喜欢将知识系统的,深入浅出的讲解.不喜欢写那种"学习笔记"式的文章. 同时本系列将很快全部写完(有工作压力就是有动力), 随后如果时间允许我会继续更新MVC系列文章.再一次对等待MVC文章的朋友们说声抱歉!

另外本系列文章的大部分知识点来源于图灵出版社的"jQuery实战"一书. 推荐大家购买此书, 是jQuery书籍中的经典之作.

下面让我们开始jQuery之旅.

 

三.什么是jQuery

jQuery是一套Javascript脚本库.  在我的博客中可以找到"Javascript轻量级脚本库"系列文章. Javascript脚本库类似于.NET的类库, 我们将一些工具方法或对象方法封装在类库中, 方便用户使用.

注意jQuery是脚本库, 而不是脚本框架. "库"不等于"框架", 比如"System程序集"是类库,而"ASP.NET MVC"是框架. jQuery并不能帮助我们解决脚本的引用管理和功能管理,这些都是脚本框架要做的事.

脚本库能够帮助我们完成编码逻辑,实现业务功能. 使用jQuery将极大的提高编写javascript代码的效率, 让写出来的代码更加优雅, 更加健壮. 同时网络上丰富的jQuery插件也让我们的工作变成了"有了jQuery,天天喝茶水"--因为我们已经站在巨人的肩膀上了.

创建一个ASP.NET MVC项目时, 会发现已经自动引入了jQuery类库. jQuery几乎是微软的御用脚本库了!完美的集成度和智能感知的支持,让.NET和jQuery天衣无缝结合在一起!所以用.NET就要选用jQuery而非Dojo,ExtJS等.

jQuery有如下特点:

1.提供了强大的功能函数

使用这些功能函数, 能够帮助我们快速完成各种功能, 而且会让我们的代码异常简洁.

2.解决浏览器兼容性问题

javascript脚本在不同浏览器的兼容性一直是Web开发人员的噩梦,  常常一个页面在IE7,Firefox下运行正常, 在IE6下就出现莫名其妙的问题. 针对不同的浏览器编写不同的脚本是一件痛苦的事情. 有了jQuery我们将从这个噩梦中醒来, 比如在jQuery中的Event事件对象已经被格式化成所有浏览器通用的, 从前要根据event获取事件触发者, 在ie下是event.srcElements 而ff等标准浏览器下下是event.target. jQuery则通过统一event对象,让我们可以在所有浏览器中使用event.target获取事件对象.

3.实现丰富的UI

jQuery可以实现比如渐变弹出, 图层移动等动画效果, 让我们获得更好的用户体验. 单以渐变效果为例, 从前我自己写了一个可以兼容ie和ff的渐变动画, 使用大量javascript代码实现, 费心费力不说, 写完后没有太多帮助过一段时间就忘记了. 再开发类似的功能还要再次费心费力. 如今使用jQuery就可以帮助我们快速完成此类应用.

4.纠正错误的脚本知识

这一条是我提出的, 原因就是大部分开发人员对于javascript存在错误的认识. 比如在页面中编写加载时即执行的操作DOM的语句, 在HTML元素或者document对象上直接添加"onclick"属性,  不知道onclick其实是一个匿名函数等等.  拥有这些错误脚本知识的技术人员也能完成所有的开发工作, 但是这样的程序是不健壮的. 比如"在页面中编写加载时即执行的操作DOM的语句", 当页面代码很小用户加载很快时没有问题, 当页面加载稍慢时就会出现浏览器"终止操作"的错误.jQuery提供了很多简便的方法帮助我们解决这些问题, 一旦使用jQuery你就将纠正这些错误的知识--因为我们都是用标准的正确的jQuery脚本编写方法!

5.太多了! 等待我们一一去发现.

 

四.Hello World jQuery

按照惯例, 我们来编写jQuery的Hello World程序, 来迈出使用jQuery的第一步

 进入目录学习吧。。。。。。。.

以上是关于从零开始学习 UVM3.11UVM TestBench架构 —— UVM Virtual Sequencer的主要内容,如果未能解决你的问题,请参考以下文章

从零开始学习 UVM5.1UVM Factory —— UVM Factory Override(工厂覆盖)

从零开始学习 UVM2.5UVM 基础功能 —— UVM Object Copy/Clone

从零开始学习 UVM12.6UVM RAL(续更) —— RAL Predictor

从零开始学习 UVM10.9UVM TLM —— TLM Analysis Port

从零开始学习 UVM6.4UVM 激励产生 —— uvm_do 宏详解

从零开始学习 UVM10.7UVM TLM —— TLM Fifo [uvm_tlm_fifo]