2018年8月29日
摘要: 通过Verilog去模拟硬件电路的活动,时序逻辑通过时钟沿来激活,组合逻辑的输出则随着输入的变化而变化。所有的这些并发活动在Verilog的寄存器传输级描述中都是通过initial和always块语句、实例化和连续赋值语句来模拟的。测试平台使用许多并发的进程对RTL级进行描述。在测试平台里,大多数语 阅读全文
posted @ 2018-08-29 19:36 猪肉白菜_125 阅读(648) 评论(0) 推荐(0) 编辑
  2018年8月28日
摘要: 6.10 随机化句柄数组 如果想要产生多个随机对象,那么你可能需要建立随机句柄数组,和整数数组不同, 随机求解器不会创建对象,所以你需要在随机化前分配所有的元素。 动态数组可以按照需要分配最大数量的元素,然后按照约束再逐步减小数组的大小。在随机化时,动态句柄数组的大小可以保持不变或减小,但是不能增加 阅读全文
posted @ 2018-08-28 20:25 猪肉白菜_125 阅读(1094) 评论(0) 推荐(0) 编辑
摘要: 6.6 pre_randomize和post_randomize函数 我们在调用randomize()函数之前或者之后要立即执行一些操作。比如,在随机化之前可能要设置类里的一些非随机变量(上下限、权重),或者随机化之后需要计算随机数据的误差矫正位。 SystemVerilog中可以使用void类型的 阅读全文
posted @ 2018-08-28 20:23 猪肉白菜_125 阅读(1331) 评论(0) 推荐(0) 编辑
摘要: 随着设计变得越来越复杂,要想产生一个完整的激励集来测试设计的功能也变得越来越困难。 采用受约束的随机测试法(CRT)自动产生测试集 是目前的一种主要的方法。CRT由两部分组成: 使用随机的数据流为DUT产生输入的测试代码,以及伪随机数发生器的种子。 6.1 什么需要随机化 在产生随机化的激励时,我们 阅读全文
posted @ 2018-08-28 20:22 猪肉白菜_125 阅读(988) 评论(0) 推荐(0) 编辑
  2018年8月15日
摘要: 利用vim可以有用一些强大的功能。本章节将对其高级功能进行描述。 一、缩写 单词的缩写 :iab ad advertisement 键入ad,就会自动补全advertisement 语句的缩写 :iab fft for i from to do {}; 类似的命令可以都写在一个文件里,再在.vimr 阅读全文
posted @ 2018-08-15 19:34 猪肉白菜_125 阅读(522) 评论(0) 推荐(0) 编辑
摘要: vim的基本操作 启动vim 在终端中输入命令:vim在终端界面或者是gvim独立出来一个窗口。 文本输入 在正常模式下输入字符“a”或者是“i”进入文本编辑模式。 文件保存 文本输入完毕后按下Esc键,进入正常模式,然后输入冒号“:”,接下来输入“w test.txt”,这样就能将内容写入到tes 阅读全文
posted @ 2018-08-15 19:17 猪肉白菜_125 阅读(1663) 评论(0) 推荐(0) 编辑
摘要: 浅析vim 用户在使用Linux过程中经常需要编辑文本文件,比如创建Verilog HDL的源程序文件,编写Shell程序自动执行命令等,因此必须掌握至少一种文本编辑器以便高效地输入文本和修改文本文件。 gedit: 图形化文本编辑器程序;在终端中输入gedit或者gedit&,就会出现图形界面,其 阅读全文
posted @ 2018-08-15 17:49 猪肉白菜_125 阅读(240) 评论(0) 推荐(0) 编辑
  2018年5月29日
摘要: 如果一个程序员所接触的第一门语言是Verilog的话,那么这一章我们讲述的面向对象编程OOP(object oriented programming)就要改变Verilog这种面向结构化的编程语言的思路。Verilog语言中没有数据结构,只有向量和数组。 面向对象编程OOP使用户能够创建复杂的数据类 阅读全文
posted @ 2018-05-29 20:01 猪肉白菜_125 阅读(364) 评论(0) 推荐(0) 编辑
  2018年5月28日
摘要: 验证一个设计需要经过几个步骤:生成输入激励,捕获输出相应,决定对错和衡量进度。要完成这个设计,首先第一步就是如何将DUT(Design Under Test)连接到测试平台。这一章的内容就来解决一下这个问题。 4.1将测试平台和设计分开 测试平台的代码独立于设计的代码,设计者需要编写满足规范的代码, 阅读全文
posted @ 2018-05-28 09:17 猪肉白菜_125 阅读(756) 评论(0) 推荐(0) 编辑
  2018年5月13日
摘要: SystemVerilog在任务和函数方面做了很多的改进,使其更加接近于C语言,从而使代码的编写变得更加容易,尤其是在处理参数传递上面。 3.1 过程语句 SystemVerilog从C和C++中引用了很多操作符和语句。下面就来简单介绍几点。 for循环,在for循环中定义循环变量,它的作用范围仅限 阅读全文
posted @ 2018-05-13 19:46 猪肉白菜_125 阅读(453) 评论(0) 推荐(0) 编辑