资源描述:
《Verilog基本语法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VerilogHDL基本语法(一)1主要内容VerilogHDL语言的主要特点VerilogHDL模块与实体引用VerilogHDL的词汇约定VerilogHDL的数据类型VerilogHDL中的操作符2语言的主要特点VerilogHDL作为一种高级的硬件描述编程语言,有着类似C语言的风格。其中有许多语句如:if语句、case语句等和C语言中的对应语句十分相似。只要对VerilogHDL某些语句的特殊方面着重理解,并加强上机练习就能很好地掌握它,利用它的强大功能来设计复杂的数字逻辑电路。3语言的主要特点module(模块)module能够表示:物理块,如IC或ASIC单元逻辑块,
2、如一个CPU设计的ALU部分整个系统每一个模块的描述从关键词module开始,有一个名称(如SN74LS74,DFF,ALU等等),由关键词endmodule结束。module是层次化设计的基本构件逻辑描述放在module内部4语言的主要特点—moduleports端口在模块名字后的括号中列出端口可以说明为input,output及inout端口等价于硬件的引脚(pin)注意模块的名称DFF,端口列表及说明模块通过端口与外部通信5语言的主要特点模块实例化(moduleinstances)moduleDFF(d,clk,clr,q,qb);....endmodulemoduleRE
3、G4(d,clk,clr,q,qb);output[3:0]q,qb;input[3:0]d;inputclk,clr;DFFd0(d[0],clk,clr,q[0],qb[0]);DFFd1(d[1],clk,clr,q[1],qb[1]);DFFd2(d[2],clk,clr,q[2],qb[2]);DFFd3(d[3],clk,clr,q[3],qb[3]);endmodule6简单VerilogHDL模块moduleadder(count,sum,a,b,cin);input[2:0]a,b;inputcin;outputcount;output[2:0]sum;assi
4、gn{count,sum}=a+b+cin;endmodule这个例子描述了一个三位的加法器。从例子中可以看出整个VerilogHDL程序是嵌套在module和endmodule声明语句里的。7简单VerilogHDL模块modulecompare(equal,a,b);outputequal;//声明输出信号equalinput[1:0]a,b;//声明输入信号a,bassignequal=(a==b)?1:0;/*如果两个输入信号相等,输出为1。否则为0*/endmodule这个程序描述了一个比较器。程序中/*........*/和//.........表示注释部分,注释只是
5、为了方便程序员理解程序,对编译是不起作用的。8简单VerilogHDL模块moduletrist2(out,in,enable);outputout;inputin,enable;bufif1mybuf(out,in,enable);endmodule这个程序描述了一个三态驱动器。程序通过调用一个实例元件bufif1来实现其功能。9简单VerilogHDL模块moduletrist1(out,in,enable);outputout;inputin,enable;mytritri_inst(out,in,enable);endmodulemodulemytri(out,in,en
6、able);outputout;inputin,enable;assignout=enable?In:'bz;endmodule10简单VerilogHDL模块上述程序通过另一种方法描述了一个三态门。在这个例子中存在着两个模块:模块trist1调用模块mytri的实例元件tri_inst。模块trist1是上层模块。模块mytri则被称为子模块。通过这种结构性模块构造可构成特大型模块。11简单VerilogHDL模块VerilogHDL程序是由模块构成的。模块是可以进行层次嵌套的。正因为如此,才可以将大型的数字电路设计分割成不同的小模块来实现特定的功能,最后通过顶层模块调用子模块
7、来实现整体功能。每个模块要进行端口定义,并说明输入输出口,然后对模块的功能进行行为逻辑描述。VerilogHDL程序的书写格式自由,一行可以写几个语句,一个语句也可以分写多行。除了endmodule语句外,每个语句和数据定义的最后必须有分号可以用/*.....*/和//...对VerilogHDL程序的任何部分作注释。一个好的,有使用价值的源程序都应当加上必要的注释,以增强程序的可读性和可维护性12主要内容VerilogHDL语言的主要特点VerilogHDL模块与实体引用Ver