Verilog-HDL基础知识.doc_第1页
Verilog-HDL基础知识.doc_第2页
Verilog-HDL基础知识.doc_第3页
Verilog-HDL基础知识.doc_第4页
Verilog-HDL基础知识.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章 Verilog-HDL基础知识1.Verilog-HDL概述1.1 什么是硬件描述语言(HDL)HDL:Hardware Description Language硬件描述语言HDL是一种用形式化方法描述数字电路和系统的语言,可以描述硬件电路的功能、信号连接关系和定时关系。1.2 使用HDL的优点 电路的逻辑功能容易理解; 便于计算机对逻辑进行分析处理; 把逻辑设计与具体电路的实现分成两个独立的阶段来操作; 逻辑设计与实现的工艺无关; 逻辑设计的资源积累可以重复利用; 可以由多人共同更好更快地设计非常复杂的逻辑电路(几十万门以上的逻辑系统)。1.3 Top_Down设计思想1.4 Verilog-HDL简介1.4.1 Verilog HDL的发展1.4.2 Verilog-HDL与VHDL的比较 VHDLVHSIC Hardware Description Language。VHDL于 1987年成为IEEE标准。 Verilog-HDL简单易学,语法比较灵活。VHDL语法严谨,需要较长的时间学会。 Verilog-HDL在系统抽象方面比VHDL略差,但在门级开关电路描述方面比VHDL强。1.4.3 Verilog-HDL 的应用w ASIC和FPGA设计师可用它来编写可综合的代码。w 描述系统的结构,做高层次的仿真。w 验证工程师编写各种层次的测试模块对具体电路设计工程师所设计的模块进行全面细致的验证。w 库模型的设计:可以用于描述ASIC 和FPGA的基本单元(Cell)部件,也可以描述复杂的宏单元(Macro Cell)。1.4.4 Verilog-HDL的抽象级别用Verilog-HDL描述的电路设计就是该电路的Verilog HDL模型,这些模型可以是实际电路的不同级别的抽象,这些抽象的级别和它们对应的模型类型共有以下五种: 系统级(system): 用高级语言结构实现设计模块的外部性能的模型。 算法级(algorithmic): 用高级语言结构实现设计算法的模型。 RTL级(Register Transfer Level): 描述数据在寄存器之间流动和如何处理这些数据的模型。 门级(gate-level): 描述逻辑门以及逻辑门之间的连接的模型。 开关级(switch-level): 描述器件中三极管和储存节点以及它们之间连接的模型。2. Verilog-HDL的模块2.1模块的结构Verilog的基本设计单元是“模块”。一个模块由两部分组成,一部分描述接口;另一部分描述逻辑功能,即定义输入是如何影响输出的。2.1.1 模块的端口定义 模块的端口声明了模块的输入输出口。 其格式如下: module 模块名(端口1,端口2,端口3,.);2.1.2 模块的内容模块内容包括I/O说明、内部信号声明和功能定义及描述。每一条语句必须都以;结束。2.1.2.1 I/O说明I/O说明的格式如下: input 端口1,端口2 . ; /输入端口 output 端口1,端口2 . ; /输出端口 inout 端口1,端口2 . ; /双向端口也可以写在端口声明语句中,如module XXX(input port1, output port2);2.1.2.2 功能定义 用assign声明语句 assign a= b & c; 用实例化元件 and u1(q, a, b); 用always语句块或者initial语句块always (posedge clk)beigin if(clr) q=1b0; else q(大于)2. =(不小于)4. =(不大于) 5. = =(逻辑相等)6. != (逻辑不等)7. = = =(全等)8. != =(非全等)注:1.如果操作数长度不同,长度较短的操作数在最重要的位方向(左方)添0补齐。 2.注意= =与 = = = 、!=与 != =的区别。3.5.3逻辑运算符v 逻辑运算符有: 1.& (逻辑与)2.| (逻辑或) 3.!(一元逻辑非)注:1.这些运算符在逻辑值0或1上运算。逻辑运算的结果为0或1。3.5.4按位运算符v 按位运算符有: 1.(一元非) 2.&(二元与) 3.|(二元或) 4.(二元异或)5., (二元异或非)注:1.这些运算符在输入操作数的对应位上按位操作,并产生向量结果。 2. 3.不同长度操作符运算时,右端对齐,左端补0。 4. 注意:逻辑与“&”和按位与“&”是不同的; 逻辑或“|”和按位与“|”是不同的; 逻辑非“!”和按位取反“”是不同的。3.5.5缩减运算符缩减(归约)运算符在单一操作数的所有位上操作,并产生1位结果。运算符有:1.& (归约与):如果存在值为0的位, 那么结果为0;若如果存在值为x或z的位,结果为x, 否则结果为1。2.& ( 归约与非):与归约运算符&相反。3.| ( 归约或):如果存在值为1的位,那么结果为1;如果存在值为x或z的位,结果为x, 否则结果为0。4.| ( 归约或非):与归约运算符|相反。5. ( 归约异或):如果存在值为x或z的位,那么结果为x;否则如果操作数中有偶数个1, 结果为0, 否则结果为1。6. (归约异或非):与归约运算符相反。3.5.6移位运算符v 移位运算符有:1. (右移) 注:1.移位运算符左侧操作数移动右侧操作数表示的次数,它是一个逻辑移位。空闲位添0补位。 3.5.7条件运算符v 条件运算符根据条件表达式的值选择表达式,形式如下:cond_expr ? expr1 : expr2v 如果cond_expr 为真(即值为1 ),选择expr1;v 如果cond_expr为假(值为0 ),选择expr2。v 如果cond_expr 为x或z,结果将是按以下逻辑 expr1和expr2按位操作的值:0与0得0,1与1得1,其余情况为x 。3.5.8位连接运算符v 连接操作是将小表达式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论