Java教程

verilog基础

本文主要是介绍verilog基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

位宽: 在芯片设计中,可以理解位连接的线路,位宽数表示线路数量;

芯片内部寄存器:芯片内部由1bit的寄存器组合构成不同位宽寄存器

  

 

 

verilog基础数据类型:

wire 线网 :表示硬件单元之间的物理连线,由其连接的器件输出端连续驱动;

  wire interrup;

  wire flag1, flag2;

  wire gnd = 1'b0;

reg 寄存器:用来表示存储单元,它会保持数据原有的值,直到被改写;

  reg clk_tmp;

  reg flag1, flag2;

向量:当位宽大于1时, wire或reg即可声明为向量的形式。

  reg [3:0]  counter;   //声明4bit位宽的寄存器counter 小端

  reg [0:31]  data;  //声明32bit位宽的寄存器变量打他, 最高有效位位0;

assign: 连续过程赋值操作;

  assign  #10  z=a&b  //延时10个时间单位;

initial: 阻塞赋值 ”=“表示

  从0时刻开始执行,只执行一次,不可综合。主要用于初始化,信号检测

always: 重复非阻塞执行 “<=" 表示。用于仿真时钟的产生,行为的检测等;

 

事件:指某一个reg或者wire型变量发生了值的变化,用符号”@“表示, posedge上升,negedge下降

event事件:”->“表示触发信号

进制写法:

  4‘b100  二进制,位宽为4,值为4

  8'hf         十六进制,位宽为8,值为16

  8‘d19  十进制,位宽为14,值为19

时间单位:

1s = 1000ms

1ms = 1000us

1us = 1000ns

1ns = 1000ps

`timescale 1ns/1ps   解释:1ns仿真时间单位,1ps时间精度

  

这篇关于verilog基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!