zoukankan      html  css  js  c++  java
  • Verilog篇(一)

    Verilog在行为级建模时常用到的一些函数,变量等。

    1:$random(seed),每次根据seed的值产生一个32位的有符号数,seed的数据类型必须是寄存器(reg),整形(integer),时间(time)等类型。变形$dist_uniform(seed,start,end)。

    integer a_time;

    integer AP_SEED;

    a_time = $dist_uniform(AP_SEED,min_time,max_time);

    2: Driver strength spec,只适用于线网等类型的变量,wire tri wand等。可以在变量声明或连续赋值中使用。一对关键字分别表示(0,1)时的strength. 有supply,strong,pull,weak,highz等,strength按8个level划分。

    assign (pull0,pull1) SD1_CLK = 1'b0;

    3: $display("pc_mon_%d (time: %t): pc_ca7=%h ", PC_NUM,$time,cur_pc);

    4: tranfif1 gpio_pads_logic0 (gpio_pads[0], tb_gpio_pads[0], select_gpio_driver);表示select_gpio_driver为1时,两个信号双向连接起来。

    5:bufif1 bf1 (outw, inw, controlw); notif1 bf1(outw, inw, controlw); 表示相应的control为1时,输出会为Z,否则正常logic。只能单向传输。

    6:buf和not可以有多个输出。 buf b1(out1, out2, in); in输入,out1,out2输出。只能单向传输。

    7: specify模块用于指定source与destination之间的时延,参数用specparam表示。

    8:final  begin...end,在$finish之前,会显式调用的procedure。

    9:NC verilog调试的一些tcl命令:

    deposit,与force信号作用类似,但是如果有驱动自然会跟随驱动的情况。

    verilog中的位运算符,缩位运算符,逻辑操作符。

    1)位运算符:操作数几位,结果就有几位,若两个操作数位数不同,位数短的操作数做段补零。

       按位取反:~

       按位与:&

       按位或:|

       按位异或:^

       按位同或:^~或~^

    2)缩位运算符:结果只有一位。

       与缩位运算:&

       或缩位运算:|

       异或缩位运算:^

       与,或,异或,和非运算符组成的复合运算符:~&, ~|, ~^

    3)逻辑运算符:

       逻辑与:&&

       逻辑或:||

       逻辑非:!

       逻辑与和逻辑非是双目运算符,逻辑非是单目运算符。

  • 相关阅读:
    ubuntu 安装 redis desktop manager
    ubuntu 升级内核
    Ubuntu 内核升级,导致无法正常启动
    spring mvc 上传文件,但是接收到文件后发现文件变大,且文件打不开(multipartfile)
    angular5 open modal
    POJ 1426 Find the Multiple(二维DP)
    POJ 3093 Margritas
    POJ 3260 The Fewest Coins
    POJ 1837 Balance(二维DP)
    POJ 1337 A Lazy Worker
  • 原文地址:https://www.cnblogs.com/-9-8/p/4377900.html
Copyright © 2011-2022 走看看