位宽: 在芯片设计中,可以理解位连接的线路,位宽数表示线路数量;
芯片内部寄存器:芯片内部由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时间精度