Chisel实验笔记(四)
在《Chisel实验笔记(二)》中。通过编写TestBench文件,然后使用Icarus Verilog、GtkWave能够測试,查看相关波形。比較直观,在《Chisel实验笔记(三)》直接对得到C++模拟器进行測试。也能够得到測试结果,实际上对C++模拟器进行測试也能够同一时候得到vcd文件,从而使用GtkWave查看波形,得到直观的结果。
本文就介绍了这个过程。
为了得到相应的vcd文件,须要对《Chisel实验笔记(三)》中的代码做一处改动:
在main方法的margs变量中添加一个參数"--vcd"。例如以下:
val margs=Array("--backend","c","--genHarness","--compile","--test","--vcd") // 添加了一个“--vcd”參数
此时执行该程序。能够输出仿真结果例如以下:
<pre name="code" class="plain">STARTING ./Max2
RESET 5
POKE Max2.io_in0 <- 0x82
POKE Max2.io_in1 <- 0x80
STEP 1 -> 1
PEEK Max2.io_out -> 0x82
EXPECT Max2.io_out <- 130 == 130 PASS
POKE Max2.io_in0 <- 0x65
POKE Max2.io_in1 <- 0xae
STEP 1 -> 2
PEEK Max2.io_out -> 0xae
EXPECT Max2.io_out <- 174 == 174 PASS
POKE Max2.io_in0 <- 0xef
POKE Max2.io_in1 <- 0x3b
STEP 1 -> 3
PEEK Max2.io_out -> 0xef
EXPECT Max2.io_out <- 239 == 239 PASS
POKE Max2.io_in0 <- 0x9c
POKE Max2.io_in1 <- 0xb5
STEP 1 -> 4
PEEK Max2.io_out -> 0xb5
EXPECT Max2.io_out <- 181 == 181 PASS
POKE Max2.io_in0 <- 0x5b
POKE Max2.io_in1 <- 0x2d
STEP 1 -> 5
PEEK Max2.io_out -> 0x5b
EXPECT Max2.io_out <- 91 == 91 PASS
POKE Max2.io_in0 <- 0xc9
POKE Max2.io_in1 <- 0xda
STEP 1 -> 6
PEEK Max2.io_out -> 0xda
EXPECT Max2.io_out <- 218 == 218 PASS
POKE Max2.io_in0 <- 0x2a
POKE Max2.io_in1 <- 0xaa
STEP 1 -> 7
PEEK Max2.io_out -> 0xaa
EXPECT Max2.io_out <- 170 == 170 PASS
POKE Max2.io_in0 <- 0x31
POKE Max2.io_in1 <- 0x64
STEP 1 -> 8
PEEK Max2.io_out -> 0x64
EXPECT Max2.io_out <- 100 == 100 PASS
POKE Max2.io_in0 <- 0x7c
POKE Max2.io_in1 <- 0x86
STEP 1 -> 9
PEEK Max2.io_out -> 0x86
EXPECT Max2.io_out <- 134 == 134 PASS
POKE Max2.io_in0 <- 0x94
POKE Max2.io_in1 <- 0x4f
STEP 1 -> 10
PEEK Max2.io_out -> 0x94
EXPECT Max2.io_out <- 148 == 148 PASS
STEP 1 -> 11
RAN 11 CYCLES PASSED
PASSED
共生成了10组随机数,每次输出当中较大的数据。
同一时候得到了一个Max2.vcd文件,使用gtkwave Max2.vcd就可以打开该文件,结果例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVpc2hhbmd3ZW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
Chisel实验笔记(四)的更多相关文章
- java之jvm学习笔记四(安全管理器)
java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...
- 20145221 《Java程序设计》实验报告四:Android开发基础
20145221 <Java程序设计>实验报告四:Android开发基础 实验要求 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管 ...
- Openstack实验笔记
Openstack实验笔记 制作人:全心全意 Openstack:提供可靠的云部署方案及良好的扩展性 Openstack简单的说就是云操作系统,或者说是云管理平台,自身并不提供云服务,只是提供部署和管 ...
- Huawei-R&S-网络工程师实验笔记20190608-VLAN划分基础(基于端口、MAC地址、子网地址、协议)
>Huawei-R&S-网络工程师实验笔记20190608-VLAN划分基础(基于端口.MAC地址.子网地址.协议) >>实验开始,先上拓扑图参考: 一.基于端口划分VLAN ...
- 官网实例详解-目录和实例简介-keras学习笔记四
官网实例详解-目录和实例简介-keras学习笔记四 2018-06-11 10:36:18 wyx100 阅读数 4193更多 分类专栏: 人工智能 python 深度学习 keras 版权声明: ...
- Java IO学习笔记四:Socket基础
作者:Grey 原文地址:Java IO学习笔记四:Socket基础 准备两个Linux实例(安装好jdk1.8),我准备的两个实例的ip地址分别为: io1实例:192.168.205.138 io ...
- ChCore Lab3 用户进程和异常处理 实验笔记
本文为上海交大 ipads 研究所陈海波老师等人所著的<现代操作系统:原理与实现>的课程实验(LAB)的学习笔记的第三篇:用户进程与异常处理.所有章节的笔记可在此处查看:chcore | ...
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
- SQL*Loader实验笔记【二】
所有SQL*Loader实验笔记 实验案例总结(1-7): SQL*Loader实验笔记[一] 实验案例总结(8-13): SQL*Loader实验笔记[二] 实验案例总结(14-19 ...
随机推荐
- 路由器wiff设置
1.将一根网线连接至路由wankou 2.将另外一根网页连接1.2.3.4口中一个,另外一个连接至电脑 3.登录192.168.1.1,进行设置向导选择ppoe,然后登录网络设置无线名称+密码 4.保 ...
- android mvp高速开发框架介绍(dileber使用之图片下载工具)
这几天忙着工作- 今天抽时间又把框架的bug处理了一下--并且把volley的源代码改动了一下 android mvp框架:dileber(https://github.com/dileber/dil ...
- Hibernate Tools-代码生成
建立好数据库后,点击一个键,代码就生成了,这实在是份十分满意的事情.前面有介绍Hibernate Tools就能够生成代码,那么我们怎么利用它来生成代码呢. 以下就把具体步骤贴出来,相同,有图有真相. ...
- java连接mysql数据库增删改查操作记录
1. 连接数据库.得到数据库连接变量 注意连接数据库的时候 (1)打开DB Browser 新建一个Database Driver,注意加入Driver JARs的时候加入的包,我的是mysql-co ...
- XCode下Swift – WebView IOS demo
简介 我今天用Mac升级了XCode到8.1,Swift版本应该到了swift3,按网上的demo写webview的例子,报一堆错,整了一天才搞定,不想其他人踩坑了! XCode8.1 ,swift3 ...
- mysqli一些常用方法及详解
mysqli一些常用方法及详解 1.die()函数:表示向用户输出引号中的内容后,程序终止运行,提示定制的出错信息 ex: $conn = mysqli_connect("localhost ...
- Android local socket学习总结
转载请注明出处: http://blog.csdn.net/xiexh0921/article/details/7513628 ################################## ...
- OracleRef游标
提到个思考:怎样让游标作为参数传递? 解决这个问题就需要用到 REF Cursor . 1,什么是 REF游标? 动态关联结果集的临时对象.即在运行的时候动态决定执行查询. 2,REF 游标有什 ...
- UVa 11292 The Dragon of Loowater 【贪心】
题意:有一条有n个头的恶龙,有m个骑士去砍掉它们的头,每个骑士可以砍直径不超过x的头,问怎样雇佣骑士,使花的钱最少 把头的直径从小到大排序,骑士的能力值也从小到大排序,再一个一个地去砍头 #inclu ...
- TF基础3
批标准化 批标准化(batch normalization,BN)是为了克服神经网络层数加深导致难以训练而诞生的.深度神经网络随着深度加深,收敛会越来越慢,会导致梯度弥散问题(vanishing gr ...