第5章_硬件描述语言Verilog_第1页
第5章_硬件描述语言Verilog_第2页
第5章_硬件描述语言Verilog_第3页
第5章_硬件描述语言Verilog_第4页
第5章_硬件描述语言Verilog_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

第5章硬件描述语言VerilogHDL,5.1VerilogHDL语言简介5.2VerilogHDL的特点5.3VerilogHDL重要的功能和概念5.4VerilogHDL的语法规定与常规要素5.5VerilogHDL代码基本结构5.6VerilogHDL结构说明语句5.7VerilogHDL的语句顺序与并行执行5.8VerilogHDL不同抽象级别的模型5.9VerilogHDL仿真语句5.10数字电路VerilogHDL系统设计,本章内容,5.1VerilogHDL简介,Verilog发展过程:1985年:Verilog-XL1989年:Cadence使用Verilog1990年:成立OVI推广Verilog1995年:成为IEEE标准发展趋势:SystemVerilog、Superlog等。,5.2Verilog特点,简单、规范,易于开发具有混合仿真的能力具有高级语言的结构具有用户定于原语,创建灵活,5.3VerilogHDL重要功能和概念,抽象模型,抽象层模块各层均可以由Verilog语言完成,VerilogHDL8种行为描述语言,顺序、并行执行控制过程的启动时间事件触发Task结构Function结构各种建立表达式的运算符,5.4Verilog语法规定与常规要素,Verilog规则与C语言类似,但有区别。C语言是顺序执行,Verilog语言则可以定义并行执行。从根本上讲,Verilog是描述硬件的语言,而硬件肯定要有并行模块的。,Verilog语义要素,块语句:initial块、always块赋值语句:阻塞赋值和非阻塞赋值空格:就是分隔符。注释:单行注释/,多行注释/*/整数和实常数:如:64hff01、8b1101_0001,h83a,标识符。可以使用大小写字母、和下划线开头,可以包含数字、字母、$符。合法的标识符:shift_reg_a,bus_index非法的标识符:34net、a*b_net系统任务和系统函数。以$开头,提供一种封装好的行为。常见的有:$display,$finish,$hold等。编译命令。以“”反引号开始的标识符是编译器指令。如define,ifdef,值集合0,1,x,z参数。用于定义时延和变量宽度。数据类型:有两种:线网类型(net)结构化元器件间的物理连线。Wire、tri等。寄存器类型(reg)抽象的数据存储单元。Reg、integer。,5.5VerilogHDL代码的基本结构,VerilogHDL的基本设计单元是“模块”。Module();端口说明(input,out,inout)参数定义数据类型定义连续赋值语句(assign)过程块(initial和always)行为描述语句底层模块实例任务和函数延时说明块,例如:moduleblock1(a,b,c,d);/端口定义inputa,b,c;/I/O说明outputd;/I/O说明wirex;assignd=a|x;/功能描述assignx=(belseif(AB)FUNC_COMP=3b001;elseFUNC_COMP=3b010;endfunctionendmodule,编码器,moduleENC(IN,Y);input3:0IN;output1:0Y;parameterSW_IN0=4b0001;parameterSW_IN1=4b0010;parameterSW_IN2=4b0100;parameterSW_IN3=4b1000;assignY=FUNC_ENC(IN);function1:0FUNC_ENC;input3:0IN;case(IN)SW_IN0:FUNC_ENC=0;SW_IN1:FUNC_ENC=1;SW_IN2:FUNC_ENC=2;SW_IN3:FUNC_ENC=3;endcaseendfunctionendmodule,2、时序逻辑电路系统设计,JK触发器moduleSY_JK_FF(J,K,CLK,Q,QB);inputJ,K,CLK;outputQ,QB;regQ;always(posedgeCLK)case(J,K)0:Q=Q;1:Q=0;2:Q=1;3:Q=Q;endcaseassignQB=Q;endmodule,摩尔型有限状态机,modulesimple(Clock,Resetn,w,z);inputClock,Resetn,w;outputz;reg2:1y,Y;parameter2:1A=2b00,B=2b01,C=2b10;/Definethenextstatecombinationalcircuitalways(w,y)case(y)A:if(w)Y=B;elseY=A;B:if(w)Y=C;elseY=A;C:if(w)Y=C;elseY=A;default:Y=2bxx;endcase/Definethesequentialblockalways(negedgeResetn,posedgeClock)if(Resetn=0)y=A;elsey=Y;/Defineoutputassignz=(y=C);endmodule,摩尔型串行加法器,八位计数器,modulecounter8(out,cout,data,load,cin,clk);output7:0out;outputcout;input7:0data;inputload,cin,clk;reg7:0out;always

温馨提示

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

评论

0/150

提交评论