数字集成电路课件5verilog的符号标识共23p.ppt
《数字集成电路课件5verilog的符号标识共23p.ppt》由会员分享,可在线阅读,更多相关《数字集成电路课件5verilog的符号标识共23p.ppt(23页珍藏版)》请在三一办公上搜索。
1、第五章 Verilog的词汇约定(Lexical convention),理解Verilog中使用的词汇约定认识语言专用标记(tokens)学习timescale,学习内容:,术语及定义,空白符:空格、tabs及换行Identifier: 标志符,Verilog中对象(如模块或端口)的名字Lexical: 语言中的字或词汇,或与其相关。由其文法(grammar)或语法(syntax)区分。LSB:最低有效位(Lease significant bit)MSB:最高有效位(Most significant bit),空白符和注释,module MUX2_1 (out, a, b, sel); /
2、 Port declarations output out; input sel, / control input b, /* data inputs */ a;/* The netlist logic selects input ”a” when sel = 0 and it selects ”b” when sel = 1.*/ not (sel_, sel); and (a1, a, sel_), (b1, b, sel); / What does this line do? or (out, a1, b1);endmodule,格式自由使用空白符提高可读性及代码组织。Verilog忽略
3、空白符除非用于分开其它的语言标记。,多行注释,在/* */内,单行注释到行末结束,整数常量和实数常量,整数的大小可以定义也可以不定义。整数表示为: 其中 size :大小,由十进制数表示的位数(bit)表示。缺省为32位 base:数基,可为2(b)、8(o)、10(d)、16(h)进制。缺省为10进制 value:是所选数基内任意有效数字,包括X、Z。实数常量可以用十进制或科学表示法表示。,Verilog中,常量(literals)可是整数也可以是实数,整数常量和实数常量,整数的大小可以定义也可以不定义。整数表示为:数字中(_)忽略,便于查看没有定义大小(size)整数缺省为32位缺省数基为
4、十进制数基(base)和数字(16进制)中的字母无大小写之分当数值value大于指定的大小时,截去高位。如 2b1101表示的是2b01实数常量实数可用科学表示法或十进制表示科学表示法表示方式: , 表示: 尾数10指数,字符串(string),字符串要在一行中用双引号括起来,也就是不能跨行。字符串中可以使用一些C语言转义(escape)符,如t n可以使用一些C语言格式符(如%b)在仿真时产生格式化输出: ”This is a normal string” ”This string has a t tab and ends with a new linen” ”This string for
5、mats a value: val = %b”,Verilog中,字符串大多用于显示信息的命令中。Verilog没有字符串数据类型,字符串(string),转义符及格式符将在验证支持部分讨论 格式符,转义符,格式符%0d表示没有前导0的十进制数,标识符(identifiers),标识符是用户在描述时给Verilog对象起的名字标识符必须以字母(a-z, A-Z)或( _ )开头,后面可以是字母、数字、( $ )或( _ )。最长可以是1023个字符标识符区分大小写,sel和SEL是不同的标识符模块、端口和实例的名字都是标识符module MUX2_1 (out, a, b, sel);outp
6、ut out;input a, b, sel; not not1 (sel_, sel); and and1 (a1, a, sel_); and and2 (b1, b, sel); or or1 (out, a1, b1);endmodule,Verilog标识符,标识符(identifiers),有效标识符举例: shift_reg_a busa_index _bus3无效标识符举例: 34net / 开头不是字母或“_” a*b_net / 包含了非字母或数字, “$” “_” n238 /包含了非字母或数字, “$” “_”Verilog区分大小写,所有Verilog关键词使用小写字
7、母。,转义标识符( Escaped identifiers),可以包含任何可打印字符反斜杠及空白符不是标识符的一部分module 2:1MUX (out, a, b, sel);output out;input a, b, sel; not not1(sel ,sel); and and1( a1, a, sel ); and and2( b1, b, sel); or or1( out, a1, b1);endmodule使用转义符可能会产生一些问题,并且不是所有工具都支持。有时用转义符完成一些转换,如产生逻辑图的Verilog网表。综合工具输出综合网表时也使用转义符。不建议使用转义符。,转
8、义标识符由反斜杠“”开始,空白符结束,Escaped Identifiers,转义标识符( Escaped identifiers),转义标识符允许用户在标识符中使用非法字符。如: #sel busa+ index A,B top. 3inst 1 / 在层次化名字中转义符 转义标识符必须以空格结束,语言专用标记( tokens),系统任务及函数,$符号指示这是系统任务和函数系统函数有很多,如:返回当前仿真时间$time显示/监视信号值($display, $monitor)停止仿真$stop结束仿真$finish $monitor($time, “a = %b, b = %h”, a, b)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字集成电路 课件 verilog 符号 标识 23
链接地址:https://www.31ppt.com/p-1391681.html