北大数字集成电路课件-5-verilog的符号标识.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《北大数字集成电路课件-5-verilog的符号标识.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北大 数字集成电路 课件 _verilog 符号 标识
- 资源描述:
-
1、数字集成电路设计入门-从HDL到版图于敦山 北大微电子学系第五章第五章 Verilog的词汇约定的词汇约定(Lexical convention)1.理解理解Verilog中使用的词汇约定中使用的词汇约定2.认识语言专用标记认识语言专用标记(tokens)3.学习学习timescale学习内容:学习内容:术语及定义术语及定义1.空白符:空格、空白符:空格、tabs及换行及换行2.Identifier:标志符,标志符,Verilog中对象中对象(如模块或端如模块或端口口)的名字的名字3.Lexical:语言中的字或词汇,或与其相关。由其语言中的字或词汇,或与其相关。由其文法(文法(grammar
2、)或语法或语法(syntax)区分。区分。4.LSB:最低有效位:最低有效位(Lease significant bit)5.MSB:最高有效位:最高有效位(Most significant bit)空白符和注释空白符和注释module MUX2_1(out,a,b,sel);/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_,s
3、el);and(a1,a,sel_),(b1,b,sel);/What does this line do?or(out,a1,b1);endmodule格式自由格式自由使用空白符提高可读性及代码组使用空白符提高可读性及代码组织。织。Verilog忽略空白符除非用于忽略空白符除非用于分开其它的语言标记。分开其它的语言标记。多行注释,在多行注释,在/*/内内单行注释单行注释到行末结束到行末结束整数常量和实数常量整数常量和实数常量整数的大小可以定义也可以不定义。整数表示为:整数的大小可以定义也可以不定义。整数表示为:其中其中 size:大小,由十进制数表示的位数大小,由十进制数表示的位数(bit)
4、表示。缺省为表示。缺省为32位位 base:数基,可为数基,可为2(b)、8(o)、10(d)、16(h)进制。缺省为进制。缺省为10进制进制 value:是所选数基内任意有效数字,包括是所选数基内任意有效数字,包括X、Z。实数常量可以用十进制或科学表示法表示。实数常量可以用十进制或科学表示法表示。Verilog中,常量中,常量(literals)可是整数也可以是实数可是整数也可以是实数12 unsized decimal(zero-extended to 32 bits)H83a unsized hexadecimal(zero-extended to 32 bits)8b1100_ 000
5、1 8-bit binary64hff01 64-bit hexadecimal(zero-extended to 64 bits)9O17 9-bit octal32bz01x Z-extended to 32 bits3b1010_ 1101 3-bit number,truncated to 3b1016.3 decimal notation32e-4 scientific notation for 0.00324.1E3 scientific notation for 4100整数常量和实数常量整数常量和实数常量整数的大小可以定义也可以不定义。整数表示为:整数的大小可以定义也可以不定义
6、。整数表示为:数字中(数字中(_)忽略,便于查看)忽略,便于查看没有定义大小没有定义大小(size)整数缺省为整数缺省为32位位缺省数基为十进制缺省数基为十进制数基数基(base)和数字和数字(16进制进制)中的字母无大小写之分中的字母无大小写之分当数值当数值value大于指定的大小时,截去高位。如大于指定的大小时,截去高位。如 2b1101表表示的是示的是2b01实数常量实数常量实数可用科学表示法或十进制表示实数可用科学表示法或十进制表示科学表示法表示方式:科学表示法表示方式:,表示:表示:尾数尾数10指数指数字符串(字符串(string)字符串要在一行中用双引号括起来,也就是不能跨行。字符
7、串要在一行中用双引号括起来,也就是不能跨行。字符串中可以使用一些字符串中可以使用一些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 formats a value:val=%b”Verilog中,字符串大多用于显示信息的命令中。中,字符串大多用于显示信息的命令中。Verilog没没有字符串数据类型有字符串数据类型字
8、符串(字符串(string)转义符及格式符将在验证支持部分讨论转义符及格式符将在验证支持部分讨论 格式符格式符%h%o%d%b%c%s%v%m%thexoctdecbinACSIIstringstrengthmoduletime转义符tn”tab换行反斜杠双引号ASCII representation of above格式符%0d表示没有前导0的十进制数标识符标识符(identifiers)标识符是用户在描述时给标识符是用户在描述时给Verilog对象起的名字对象起的名字标识符必须以字母标识符必须以字母(a-z,A-Z)或或(_)开头,后面可以是字母、数字、开头,后面可以是字母、数字、($)或
9、或(_)。最长可以是最长可以是1023个字符个字符标识符区分大小写,标识符区分大小写,sel和和SEL是不同的标识符是不同的标识符模块、端口和实例的名字都是标识符模块、端口和实例的名字都是标识符module MUX2_1(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);endmoduleVerilog标识符标识符标识符标识符(identifiers)有效标识符举例:有效标识符举例:shift_reg_a busa_
10、index _bus3无效标识符举例:无效标识符举例:34net /开头不是字母或开头不是字母或“_”a*b_net /包含了非字母或数字,包含了非字母或数字,“$”“_”n238 /包含了非字母或数字,包含了非字母或数字,“$”“_”Verilog区分大小写,所有区分大小写,所有Verilog关键词使用小写字母。关键词使用小写字母。转义标识符转义标识符(Escaped identifiers)可以包含任何可打印字符可以包含任何可打印字符反斜杠及空白符不是标识符的一部分反斜杠及空白符不是标识符的一部分module 2:1MUX(out,a,b,sel);output out;input a,b
11、,sel;not not1(sel,sel);and and1(a1,a,sel);and and2(b1,b,sel);or or1(out,a1,b1);endmodule使用转义符可能会产生一些问题,并且不是所有工具都支持。使用转义符可能会产生一些问题,并且不是所有工具都支持。有时用转义符完成一些转换,如产生逻辑图的有时用转义符完成一些转换,如产生逻辑图的Verilog网表。综网表。综合工具输出综合网表时也使用转义符。合工具输出综合网表时也使用转义符。不建议使用转义符。不建议使用转义符。转义标识符由反斜杠“”开始,空白符结束Escaped Identifiers转义标识符转义标识符(Es
展开阅读全文