学习笔记:FPGA设计Verilog基础(四)——Verilog各部分的写法

这篇博客介绍了Verilog设计的基础知识,包括端口定义、测试文件Testbench的使用以及case语句的语法和应用。在端口定义中,讲解了直接整合I/O说明和内部信号声明的方法,以及在引用其他模块时如何连接端口。在Testbench部分,提到了时间单位和initial、always语句的作用。最后,文章阐述了case语句的多分支选择功能及其执行规则。
摘要由CSDN通过智能技术生成

1、verilog的程序

module 模块名 (
 input wire 端口名;
 output reg 端口名;//端口定义+I/O说明+内部信号声明
 );
  ....//功能定义
endmodule

2、测试文件Testbench:

`timescale 1ns/1ns  

module count_text;
  
  reg clk;
  reg clear;
  wire[3:0] Q;
  
  count m1 (.clk(clk), .clear(clear), .Q(Q));
  
  always #10 clk = ~clk;  /*"#10"表示半个时钟周期, parameter #10 clk = ~clk;  
  这句定义了20ns为一个周期,频率为f=1/T=1/20*10^-9=5*10^7Hz=50MHz*/
  
  initial 
    begin
      clk = 0;
      clear = 1;
      #15 clear = 0;
      #1000 $stop;  //要有终止时间,否则程序会一直运行
    end
endmodule

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值