verilog学习笔记(2)_一个小module及其tb
module-ex_cnt
module ex_cnt(
input wire sclk,
input wire rst_n,
output wire[9:0] cnt
);
reg [9:0] cnt_r;//_r 代表reg
always@(posedge sclk or negedge rst_n)
if(rst_n == 1'b0)
cnt_r <= 'd0;//'d0代表32位0,然后截取10位
else
cnt_r <= cnt_r + 1'b1;
assign cnt = cnt_r;
endmodule
tb-cnt
`timescale lns/100ps //单位时标声明 声明时间精度为100ps
//#100 //#作为延时开始 延时为10nm
module tb_ex_cnt;//声明不需要端口列表
//例化模块的时候如果原始模块是输出信号,那么括号内可以为wire变量,亦可以为reg变量
reg bt_sclk,tb_rst_n;//激励信号的声明
//例化模块的时候如果原始模块是输出信号,那么括号内必须为wire变量
wire [9:0] tb_cnt;//原始模块输出信号连接线声明
initial//initial在上电之后仅运行一次 只能给寄存器reg变量赋值
begin//begin...end只是在test_bench文件内部顺序执行
tb_sclk <= 0;//这里阻塞赋值,非阻塞赋值都可以
tb_rst_n <= 0;//以上两句赋值语句赋值是有先后顺序的,但是延时为0
#200 //延时20nm
tb_rst_n <= 1;
end
always #10 tb_sclk <= ~tb_sclk; //循环震荡 震荡周期为20nm
//例化的方法
//原始模块名字 例化的名字(可以自定义)
ex_cnt ex_cnt_inst(
.sclk(tb_sclk),//.后面的名字是原始模块的端口名字 括号内为测试基地(当前)端口的名字 例化模块的时候如果原始模块是输出信号,那么括号内可以为wire变量,亦可以为reg变量
.rst_n(tb_rst_n),
.cnt(tb_cnt) //例化模块的时候如果原始模块是输出信号,那么括号内必须为wire变量
);
endmodule
verilog学习笔记(2)_一个小module及其tb的更多相关文章
- verilog学习笔记(3)_task/case小例子及其tb
module ex_case `timescale lns/1ns module ex_case( input wire rst_n, input wire sclk, output reg [7:0 ...
- verilog学习笔记(1)_两个小module
第一个小module-ex_module module ex_module( input wire sclk,//声明模块的时候input变量一定是wire变量 input wire rst_n,// ...
- c++学习笔记---04---从另一个小程序接着说
从另一个小程序接着说 文件I/O 前边我们已经给大家简单介绍和演示过C和C++在终端I/O处理上的异同点. 现在我们接着来研究文件I/O. 编程任务:编写一个文件复制程序,功能实现将一个文件复制到另一 ...
- <深入理解JavaScript>学习笔记(3)_全面解析Module模式
简介 Module模式是JavaScript编程中一个非常通用的模式,一般情况下,大家都知道基本用法,本文尝试着给大家更多该模式的高级使用方式. 首先我们来看看Module模式的基本特征: 模块化,可 ...
- verilog学习笔记(4)_有限状态机
有限状态机: 有限状态机是由寄存器组和组合逻辑构成的硬件时序电路: - 其状态(即由寄存器组的1和0的组合状态所构成的有限个状态)只能在同一时钟跳变沿的情况下才能从一个状态转向另一个状态: - 究竟转 ...
- C#.NET学习笔记2---C#.第一个C#程序
C#.NET学习笔记2---C#.第一个C#程序 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com 6.第一个C#程序: ...
- Spark学习笔记1——第一个Spark程序:单词数统计
Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-c ...
- Unity3D学习笔记2——绘制一个带纹理的面
目录 1. 概述 2. 详论 2.1. 网格(Mesh) 2.1.1. 顶点 2.1.2. 顶点索引 2.2. 材质(Material) 2.2.1. 创建材质 2.2.2. 使用材质 2.3. 光照 ...
- 【自动化学习笔记】_环境搭建Selenium2+Eclipse+Java+TestNG_(一)
目录 第一步 安装JDK 第二步 下载Eclipse 第三步 在Eclipse中安装TestNG 第四步 下载Selenium IDE.SeleniumRC.IEDriverServer 第五步 下 ...
随机推荐
- RobotFramework自动化测试框架-移动手机自动化测试Open Application关键字的使用
在AppiumLibrary库中,Open Application关键字用来打开一个待测试移动APP. 示例1:连接本机已经打开的appium服务端,打开一个待测试的安卓APP,指定测试平台为Andr ...
- Delphi基础-数据类型
枚举类型 Pascal程序不仅用于数值处理,还更广泛地用于处理非数值的数据.例如,性别.月份.星期几.颜色.单位名.学历.职业等. 1. 枚举类型的定义 格式: type 枚举类型标识符=(标识符 ...
- 【BZOJ1477】青蛙的约会(拓展欧几里得)
[BZOJ1477]青蛙的约会(拓展欧几里得) 题面 题目描述 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为 ...
- 【NOI2004】郁闷的出纳员(splay)
题面 Description OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工 作,但是令人郁闷的是,我们的老板反复无 ...
- 【洛谷1640】[SCOI2010]连续攻击游戏
题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备 ...
- WPF自学入门(九)WPF自定义窗口基类
今天简单记录一个知识点:WPF自定义窗口基类,常用winform的人知道,winform的窗体继承是很好用的,写一个基础窗体,直接在后台代码改写继承窗体名.但如果是WPF要继承窗体,我个人感觉没有理解 ...
- parted分区和挂载及非交互式操作
author : headsen chen date : 2017-11-17 09:45:36 个人原创,转载请注明作者,出处,否则依法追究法律责任 1,将磁盘上原有的分区删除掉: 进入:#pa ...
- gdb命令调试技巧
gdb命令调试技巧 一.信息显示1.显示gdb版本 (gdb) show version2.显示gdb版权 (gdb) show version or show warranty3.启动时不显示提示信 ...
- Java异常机制简介
什么是异常? 异常一般是指程序在编译期没有问题,但是在程序运行期出现的错误,一个程序会因为出现异常而终止运行,也就是我们常说的挂掉,在多线程下,异常只会影响所在的线程,对其他线程没有影响. Java异 ...
- protobuf lib库的使用
问题记录: 1.在使用protobuf反射机制动态加载解析proto文件时,发现当proto文件中含有import系统proto文件的语句时,无法解析文件,解决方法是添加路径映射. google::p ...