• Verilog HDL语法基础


    1          Verilog是大小写相关的,其中的关键字全部为小写。

    2          空白符由空格、制表符、和换行符组成。

    3          单行注释以“//”开始,verilog将忽略此处到行尾的内容。多行注释以“”结束。多行注释不允许嵌套

    4          操作符有三种:单目操作符、双目操作符和三目操作符。

    5          数字声明      Verilog中有两种数字声明:指明位数的数字和不指明位数的数字

        指明位数的数字表示形式:’

          Size用来指明数字位宽度,只能用十进制整数表示

          Base format包括十进制(’d或’D),二进制(’b或’B),八进制(‘o或’O),十六进制(‘h或’H)

          例如

            4’b1111  //4位2进制数

            12’h3ac   //12位16进制数

        不指明位数的数字:如果数字说明中没有指定基数,那么默认表示为十进制数。如果没有指定位宽,则默认的位宽度与仿真器和使用的计算机有关(最小为32位)。

          ‘o21         //32位八进制数

          X值和Z值:不确定值用X表示,高阻用Z值表示。在八进制数中代表3位,十六进制中代表4位。

          12’h12X  //这是一个12位16进制数,其中低四位不确定

          负数:   在表示位宽的数字前面增加一个减号来表示它是一个负数。

            -6’d3        //一个6位的用二进制补码形式存储的十进制数3,表示负数

            -6’sd3      //一个6位的带符号算数运算的负数

          下划线符号和问号:除了第一个字符,下划线“_”可以出现在数字中的任何位置,它的作用只是提高可读性,在编译阶段会被忽略掉

                   问号“?”是z的另一种表示,使用问号的目的在于增强casex和casez语句的可读性。在这两条语句中,“?”表示不必关心的情况。

                    12’B1111_0011_1110    //     增强可读性

                    4’b10??                   //相当于4’b10zz

    6          字符串是双引号括起来的一个字符队列。对于字符串的限制是,它必须在一行中书写完,不可书写在多行中,也不能包含回车符。Verilog将字符串当作一个单字节的ASCII字符队列。

          “Hello Verilog world”      //是一个字符串

    7          标识符和关键字

        关键字是语言中预留的用于定义语言结构的特殊标识符。Verilog中关键字全部小写。

        标识符是程序代码中对象的名字,程序员使用标识符来访问对象。Verilog中标识符由字母数字字符、下划线和美元符号组成,区分大小写。其第一个字符必须是数字字符或下划线。

          reg value;                  //reg是关键字;value是标识符

    8          转义标识符

        转义标识符以“/”开始,以空白符结束。Verilog将反斜线和空白符之间的字符逐个进行处理。所有的可打印字符均可包含在转义字符中,而反斜线和表示结束的空白符不作为标识符的一部分。

     

  • 相关阅读:
    读《弗兰肯斯坦》:如何对待世界的恶意?
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PASSWORD
    Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':0'.在wanyland模式下面启动allure服务报错了
    python 调用so动态库函数时传char参数
    configparser库会自动修改成小写的问题
    python base64 文件
    "unable to execute 'gcc': No such file or directory error: command 'gcc' failed with exit status 1"今天在loogarch安转oss2报错了~
    No module named 'setuptools_rust' 安装oss2报错
    yum 添加完源后更新 sudo yum makecache fast
    处理机调度与死锁
  • 原文地址:https://www.cnblogs.com/zhtook/p/13151190.html
Copyright © 2020-2023  润新知