verilog RTL编程实践之四
1.verilog平时三个级别:
1.gate level: and or not xor
2.RTL level: reg comb seq
3.behavior:+ – * /
2.system tasks
1.system tasks必须procedures(always/ initial/ tasks /function)中。
always written inside procedures
2.$monitor and $display 与time region有关。
3.suspends sim ==> $stop
finishes sim ==> $finish
4.$fopen的参数好像不可以是变量(不确定)
fd=$fopen(“path to file”);
3.$random(seed);
4.$display & $monitor string format
%m or %M ==> display hierarchical name
%s or %S ==> string
%h or %H ==> variable value
%t or %t ==> time
5.compiler directives
1.`include “filename”
2.`define <text1><text2>
3.`timescale <time unit>/<precision>
6.parameters <== 参数化设计 位宽 同2005verilog风格配合使用
注意:parameters & define 的用法与区别
7.Flip-Flops 用行为级逻辑实现的
8.FSM
1.mealy state machine & moore state mache
Mealy: output may depend on current state and current input
Moore:output depend on current state only
2.结构:一段 、 二段、 三段
3.先化状态机后code
9.Blocking and Non-Blocking assignments <<<====time region 有关