- 博客(13)
- 资源 (8)
- 收藏
- 关注
翻译 第6章 运算符
下表列出了SV断言提供的所有运算符(IEEE-1800,2005)。我们将在单独章节中讨论1800-2009 LRM的功能。我们将在本章详细介绍每个运算符,因为这些运算符每一个都有独特的功能(表6.1和6.2)。 运算符描述##m, ##[m:n]时钟延迟[*m],[*m:n]重复连续[=m],[=m:n]重复 - 不连续[->m],[->m:n]goto重复 - 不连续sig1 t...
2018-04-26 20:05:25 2951 3
翻译 第5章 采样值函数$rose,$fell,$past
图5.1采样值函数$rose,$fell-基础 这些采样值函数允许先行和/或随后被边缘触发。 $rose表示在前一个clk边缘(之前表示当前clk的前一个clk)的表达式(以$ rose(expr))被采样为'0'(或'x'或'z'),并且它在这个时钟边沿被采样为'1'。$fell,只是相反...
2018-04-24 18:40:28 13953 4
翻译 第4章 并发断言:基础(序列,属性,断言)
这些是时域断言,允许使用基于时钟(采样)边缘的语义创建复杂序列。这与完全组合逻辑的立即断言相反,并且不允许时域序列。 并发断言是SVA语言的要旨。它们被称为并发,因为它们与其余的设计逻辑并行执行。让我们从基础开始,继续讨论并发断言的复杂概念。 让我们先学习并发断言的基本语法,然后研究它的语义。 图4...
2018-04-23 14:32:03 8292 10
翻译 第3章 立即断言
立即断言是简单的非时域断言,它们像程序块中的语句那样执行。将它们解释为类似“if”条件语句下表达式。只有在指定程序语句的情况下才可以使用立即断言。 图3.1描述了立即断言的基础知识。这是所谓的,因为它在程序执行到这个程序块时立即执行。它不会等待'下一个时钟边缘'自行启动。断言之前可以使用电平敏感或边沿敏感的语句。正如我们将看到的那样,断言只能在'采样/时钟边沿'敏感逻辑而不是电平敏感逻辑上工作。 ...
2018-04-23 11:00:29 4868
翻译 第2章 SystemVerilog断言
2.1什么是断言?一个断言是一个检查你设计的规范,你要确保永不违反。如果规范被违反,您希望看到失败。下面给出一个简单的例子。每当FRAME_无效(即变为高)时,最后数据相位(LDP_)必须被置位(即变为低)。这种检查对于纠正给定接口的功能是必不可少的。 SVA语言被精确设计来处理这种时域情况。正如我们将在Sect中看到的那样。 SVA建模比Verilog容易得多。还要注意,断言在时间域...
2018-04-19 17:42:06 11435 4
翻译 第1章 介绍
介绍 正如业界众所周知的那样,28纳米及以下节点的设计复杂性正在爆炸式增长。小尺寸要求和高性能,低功耗和小面积的相互矛盾的要求导致了如此复杂的设计架构。多核,多线程和功耗,性能和面积(PPA)需求加剧了设计复杂性和功能验证。 负担在于功能和时间域验证,以确保设计符合规范。 RTL(和虚拟平台级别)功能验证不仅重要,而且硅验证也很重要。工程团队需要几个月才能验证实验室中的硅片的日子已经结束。在硅前...
2018-04-19 15:57:48 3221 2
翻译 UVM糖果爱好者教程 - 10.糖果厂内部
UVM工厂用于创建UVM对象和组件。 这篇文章将解释使用jelly_beans的UVM工厂(如您所期望的)并揭示工厂幕后发生了些什么。::type_id在Transactions和Sequences中,我们定义了jelly_bean_transaction类。 然后,one_jelly_bean_sequence创建了一个jelly_bean_transaction对象,如下所示:jb_tx = ...
2018-04-19 10:16:36 1749
翻译 面向对象编程基本概念
引言 在软件工程的早期,史诗般的挣扎着项目的复杂性,增长以及管理大型开发团队的挑战。面向对象编程(OOP)为软件社区引入了一场革命,以帮助解决这些问题。 OOP专注于模块化,改变容忍度,代码重用,易于理解和分布式开发。今天大多数项目都使用面向对象的概念。由于C ++引入了OOP,因此用户体验已经产生了关于如何最好地利用OOP的更多知识。有很多关于面向对象的协议和更多的争论。应该鼓励哪些功能? C ...
2018-04-18 15:41:53 6397
原创 python从pdf文件中提取文本,并自动翻译
针对Python 3.5.2 测试首先安装两个包:$ pip install googletrans$ pip install pdfminer3kgoogletrans会提供一个命令translate,这个命令会调用google translate api执行自动翻译:pdfminer3k会提供一个工具脚本pdf2txt.py:$ pdf2txt.py xxx.pdf从stackoverflow...
2018-04-18 15:00:49 8884
翻译 UVM糖果爱好者教程 - 9.寄存器抽象
本文将解释如何使用UVM寄存器抽象层(RAL)来生成寄存器事务。下图显示了用于这篇文章的验证平台。 除此之外,jelly_bean_reg_block,jelly_bean_reg_adapter和jelly_bean_reg_predictor是用于寄存器抽象的类。 Verification Platform下图显示了RAL相关类的...
2018-04-17 16:43:59 1802 1
原创 用于Windows的控制台模拟器Cmder(类似gnome,xterm)
如果你经常使用linux,那么你一定对linux的terminal以及在terminal上敲各种命令,快速完成某项工作感到印象深刻。由于Windows上缺乏不错的控制台模拟器而颇为不适应。下面给大家推荐Cmder,Cmder是一个软件包, 它以惊人的软件为基础,并加入Monokai色彩方案和自定义提示布局,并提供完全兼容linux的各种命令的terminal。下载完整版本,解压缩,运行Cmde...
2018-04-11 14:47:52 882
翻译 UVM糖果爱好者教程 - 8.配置
这篇文章将解释UVM配置对象,因为之前的文章并没有太多的介绍。 jelly-bean验证平台使用jelly_bean_agent_config和jelly_bean_env_config两种配置对象。 前者配置jelly_bean_agent,后者配置jelly_bean_env。 下图显示了验证平台和配置相关类的类图。 Ve...
2018-04-08 17:32:57 1115
转载 深入理解abstract class和interface class
理解抽象类abstract class和interface在Java语言中都是用来进行抽象类(本文中的抽象类并非从abstract class翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法,请读者注意区分)定义的,那么什么是抽象类,使用抽象类能为我们带来什么好处呢?在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样...
2018-04-08 09:15:01 301
A Verification Platform for System on Chip
2018-07-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人