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的更多相关文章

  1. 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 ...

  2. verilog学习笔记(1)_两个小module

    第一个小module-ex_module module ex_module( input wire sclk,//声明模块的时候input变量一定是wire变量 input wire rst_n,// ...

  3. c++学习笔记---04---从另一个小程序接着说

    从另一个小程序接着说 文件I/O 前边我们已经给大家简单介绍和演示过C和C++在终端I/O处理上的异同点. 现在我们接着来研究文件I/O. 编程任务:编写一个文件复制程序,功能实现将一个文件复制到另一 ...

  4. &lt;深入理解JavaScript&gt;学习笔记(3)_全面解析Module模式

    简介 Module模式是JavaScript编程中一个非常通用的模式,一般情况下,大家都知道基本用法,本文尝试着给大家更多该模式的高级使用方式. 首先我们来看看Module模式的基本特征: 模块化,可 ...

  5. verilog学习笔记(4)_有限状态机

    有限状态机: 有限状态机是由寄存器组和组合逻辑构成的硬件时序电路: - 其状态(即由寄存器组的1和0的组合状态所构成的有限个状态)只能在同一时钟跳变沿的情况下才能从一个状态转向另一个状态: - 究竟转 ...

  6. C#.NET学习笔记2---C#.第一个C#程序

    C#.NET学习笔记2---C#.第一个C#程序 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com 6.第一个C#程序:   ...

  7. 【自动化学习笔记】_环境搭建Selenium2+Eclipse+Java+TestNG_(一)

    目录 第一步  安装JDK 第二步 下载Eclipse 第三步 在Eclipse中安装TestNG 第四步 下载Selenium IDE.SeleniumRC.IEDriverServer 第五步 下 ...

  8. MiZ702学习笔记12&mdash;&mdash;封装一个普通的VGA IP

    还记得<MiZ702学习笔记(番外篇)--纯PL VGA驱动>这篇文章中,用verilog写了一个VGA驱动.我们今天要介绍的就是将这个工程打包成一个普通的IP,目的是为后面的一篇文章做个 ...

  9. &lt;深入理解JavaScript&gt;学习笔记(1)_编写高质量JavaScript代码的基本要点

    注:本文是拜读了 深入理解JavaScript 之后深有感悟,故做次笔记方便之后查看. JQuery是一个很强大的JavaScript 类库,在我刚刚接触JavaScript的就开始用了. JQuer ...

随机推荐

  1. Intellij IDEA调试功能使用总结

    Intellij IDEA调试功能使用总结 这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序. 1.设置断点 选定要设置断点的代码行,在行号的 ...

  2. First class ,6 examples anlaysisi

    http://www.fgm.cc/learn/ First class ,6 examples anlaysisi <!DOCTYPE html> <!-- To change t ...

  3. hybird app

    Hybrid App 是混合模式应用的简称,兼具 Native App 和 Web App 两种模式应用的优势,开发成本低,拥有 Web 技术跨平台特性.目前大家所知道的基于中间件的移动开发框架都是采 ...

  4. MSSQLSERVER数据库- 杂记

    查看语句执行时间: SET STATISTICS IO ONSET STATISTICS TIME ON SELECT * FROM dbo.NewsInfo Update的表关联例子: UPDATE ...

  5. Ubuntu下MySQL配置为外网访问

    Ububtu安装MySQL后默认外网无法连接,但是很多时候我们想要在外网访问方便管理.在这里,简单叙述一下自己在配置过程中的操作,步骤如下: 以root身份登入mysql mysql -u root ...

  6. SQL Server数据恢复——日志备份

    太坑了,我把数据给删了 “大坑啊,数据被我误删了.”从事数据库相关工作的过程中,我想应该很多人会有过和我一样的遭遇吧?尤其是在进行update或者delete操作的时候,忘记了where条件.这些毁灭 ...

  7. Android改变系统自带环形ProgressBar的大小

    MainActivity如下: package cc.testprogressbar; import android.os.Bundle; import android.app.Activity; / ...

  8. [Java学习笔记]Java Tips

    1.Java没有sizeof关键字 , volatile是java关键字.详情见:http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166. ...

  9. JVM参数设置、分析

    不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java ...

  10. JavaBean找到项目下的文件这里是\WEB-INF\classes\下面的属性文件

    String baseinfo="/com/Bean/DBhelp.properties"; filename=getClass().getClassLoader().getRes ...