首页 > 代码库 > verilog RTL编程实践之四

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 有关

verilog RTL编程实践之四