1.词法约定

描述了Verilog HDL源文本中使用的词法标记及其约定。

语言中词法标记的类型有:空格、注释、操作符、数字、字符串、关键字和标识符。

        空格:空白应包含空格、制表符、换行符和制表符。

        注释:单行注释//、多行注释/*   */

        number:

                整型常量:二进制/b、八进制/o、十进制/d、十六进制/h

                两种表达式:0-9(有符号数)、8‘b0000_0001(有无符号数视有无s指示符而定)

                x代表未知数、z代表高阻抗(不区分大小写)

                如果无符号数的大小小于指定大小,则将无符号数往左填充为0,如果无符号数最左边是x或是z,则将x或z扩展至最左边,如果无符号数大小大于常数指定的大小,则无符号数应该截断。

                问号?可以用来替代z,在高阻抗值不关心条件的情况下,问号可以增强可读性。而十进制常数中,无符号数字标记不应该包含任何x、z或是?数字,除非只有一个数字,即表示十进制常数每一位都未知。

                除了第一个字符,下划线在其他任何位置都合法,主要用于分割长数字。

-4'sd15 // this is equivalent to -(-4'd 1), or '0001'
8'd-6   // this is illegal syntax 
-8'd6   // this defines the two's complement of 6, 
        // held in 8 bits—equivalent to -(8'd 6)

                有大小的负数常量和有大小的有符号常量分配给reg时,不管reg本身是否有符号,都会进行符号扩展。

                实数常量:遵循IEEE双精度浮点数标准

                实数可以使用十进制计数法和科学计数法来指定,用小数点表示时,小数点两侧至少有一位数字。

                实数转换成整数时不会产生截断而是按照四舍五入规则转换。

                字符串:在表达式和赋值中用作操作符的字符串,每一个8位ASCII值代表一个字符。

                字符串变量是reg类型的变量,宽度等于字符串中字符的数量乘以8。   

reg[8*12:1] stringvar;
initial begin
  stringvar = "Hello world!";
end

                字符串在赋值时,如果被赋值的容量较小,截断,较大的话,用0填充。

                标识符:一个简单的标识符应该是字母、数字、美元符号($)和下划线字符(_)的任何序列。简单标识符的首字符不得为数字或$;它可以是字母或下划线。标识符应该区分大小写。

                转义的标识符应以反斜杠字符(\)开始,以空白(空格、制表符、换行符)结束。它们提供了在标识符中包含任何可打印ASCII字符的方法,主要作用在于让一些无法成为标识符规则的结构成为标识符。

                关键字:关键字即为非转义标识符,有转义标识符的Verilog关键字不会被解释为关键字。所有关键字都仅用小写字母定义。

                系统任务和功能:$定义了语言结构

                        $display ("display a message");
                        $finish;

                编译器指令:`

                        `define wordsize 8

                属性(attribute):

                        (* sttr_spec {,attr_spec} *)

                        (* full_case,parallel_case *):默认赋值1

                        属性可以放在模块的定义,case语句之上,也可以放在reg的定义和表达式之前。

                        作用:

                

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值