verilog入门基础教程_第1页
verilog入门基础教程_第2页
verilog入门基础教程_第3页
verilog入门基础教程_第4页
verilog入门基础教程_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

Verilog语言的根本语法规那么变量的数据类型Verilog程序的根本结构2.3.4逻辑功能的仿真与测试2.3硬件描述语言VerilogHDL根底概述硬件描述语言HDL(HardwareDescriptionLanguag)类似于高级程序设计语言.它是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,复杂数字逻辑系统所的逻辑功能。HDL是高层次自动化设计的起点和根底.2.3硬件描述语言VerilogHDL根底计算机对HDL的处理:逻辑综合是指从HDL描述的数字逻辑电路模型中导出电路根本元件列表以及元件之间的连接关系〔常称为门级网表〕的过程。逻辑综合的结果产生门级元件及其连接关系的数据库,根据这个数据库可以制作出集成电路或印刷电路板PCB。逻辑仿真是指用计算机仿真软件对数字逻辑电路的结构和行为进行预测.仿真器对HDL描述进行解释,以文本形式或时序波形图形式给出电路的输出。在仿真期间如发现设计中存在错误,就再要对HDL描述进行及时的修改。#起源于美国国防部提出的超高速集成电路研究方案,目的是为了把电子电路的设计意义以文字或文件的方式保存下来,以便其他人能轻易地了解电路的设计意义。1.HDL的产生#随着集成电路的亚微米和深亚微米制造、设计技术的飞速开展,集成电路已进入片上系统SOC〔Systemonachip〕时代。SOC通常是由硬件电路和运行其上的系统软件构成。硬件电路一般使用HDL进行描述.概述

FPGA开发流程与软件(1)设计定义(2)HDLCode(3)功能仿真(4)逻辑综合(5)前仿真(6)布局布线(7)后仿真(9)在系统测试逻辑仿真器逻辑综合器FPGA厂家工具逻辑仿真器逻辑仿真器(8)静态时序分析FPGA厂家工具:Altera的Max+PlusII、QuartusII,Xilinx的Foundation、ISE4.1等

VHDL和Verilog的功能较强属于行为描述语言。两种HDL均为IEEE标准。特别是Verilog由于其句法根源出自C语言,它相对VHDL好用好学2.几种硬件描述语言ABEL(AdvancedBoleanEquationLanguage)VHDL(V--VeryHighSpeedIntegratedCircuit)VerilogHDL〔简称Verilog〕

能力〔capability〕VHDL结构建模抽象能力强系统级-算法级-RTL级-逻辑级-门级Verilog结构建模具体物理建模能力强算法级-RTL级-逻辑级-门级-版图级3.常用VHDL与Verilog两种语言的比较数据类型〔datatype〕VHDL是一种数据类型性极强的语言。支持用户定义的数据类型。严格规定只有类型、字位相同的数据才能进行转递和作用。能利用数据类型检查编程的错误。可以使用抽象(比如枚举)类型为系统建模。Verilog数据类型简单。只能由语言本身定义,不能由用户定义。适于硬件结构的建模,不适于抽象的硬件行为建模。易学性〔easiesttolearn〕VHDL是一种数据类型很强的语言,欠直观。加之同一种电路有多种建模方法,通常需要一定的时间和经验,才能高效的完成设计。Verilog由于Verilog为直接仿真语言,数据类型较简单,语法很直观,故Verilog更易理解和好学。Verilog更像C,约有50%的结构来自C,其余局部来自ADA。2.3.1Verilog语言的根本语法规那么为对数字电路进行描述,Verilog语言规定了一套完整的语法结构。1.间隔符:Verilog的间隔符主要起分隔文本的作用,可以使文本错落有致,便于阅读与修改。间隔符包括空格符〔\b〕、TAB键〔\t〕、换行符〔\n〕及换页符。2.注释符:注释只是为了改善程序的可读性,在编译时不起作用。多行注释符(用于写多行注释):/*---*/;单行注释符:以//开始到行尾结束为注释文字。为了表示数字逻辑电路的逻辑状态,Verilog语言规定了4种根本的逻辑值。0逻辑0、逻辑假1逻辑1、逻辑真x或X不确定的值(未知状态)z或Z高阻态标识符:给对象〔如模块名、电路的输入与输出端口、变量等〕取名所用的字符串。以英文字母或下划线开始如,clk、counter8、_net、bus_A。关键词:用Verilog语言本身规定的特殊字符串定义语言的结构。例如,module、endmodule、input、output、wire、reg、and等都是关键词。关键词都是小写,关键词不能作为标识符使用。4.逻辑值集合3.标识符和关键词5.常量及其表示实数型常量;十进制记数法如:0.1、2.0、5.67科学记数法如:23_5.1e2、5E-423510.0、0.0005Verilog允许用参数定义语句定义一个标识符来代表一个常量,称为符号常量。定义的格式为:parameter参数名1=常量表达式1,参数名2=常量表达式2,……;如parameterBIT=1,BYTE=8,PI=3.14;6.字符串字符串是双撇号内的字符序列常量十进制数的形式的表示方法:表示有符号常量例如:30、-2带基数的形式的表示方法:表示常量格式为:<+/-><位宽>’<基数符号><数值>整数型例如:3’b101、5’o37、8’he3,8’b1001_0011

2.3.2变量的数据类型变量的数据类型存放器型网络型网络类:是指输出始终根据输入的变化而更新其值的变量,它一般指的是硬件电路中的各种物理连接.例:网络型变量L的值由与门的驱动信号a和b所决定,即L=a&b。a、b的值发生变化,线网L的值会立即跟着变化。例:wireL;//将上述电路的输出信号L声明为网络型变量wire[7:0]databus;//声明一个8-bit宽的网络型总线变量常用的网络类型由关键词wire定义wire型变量的定义格式如下:wire[n-1:0]变量名1,变量名2,…,变量名n;变量宽度存放器型变量对应的是具有状态保持作用的电等路元件,如触发器存放器。存放器型变量只能在initial或always内部被赋值。2、存放器型寄存器类型功能说明reg常用的寄存器型变量integer32位带符号的整数型变量real64位带符号的实数型变量,time64位无符号的时间变量4种存放器类型的变量例:regclock;//定义一个1位存放器变量reg[3:0]counter;//定义一个4位存放器变量抽象描述,不对应具体硬件2、每个模块先要进行端口的定义,并说明输入〔input)和输出〔output),然后对模块功能进行描述。2.3.3Verilog程序的根本结构Verilog使用大约100个预定义的关键词定义该语言的结构1、

VerilogHDL程序由模块构成。每个模块的内容都是嵌在关键词module和endmodule两个语句之间。每个模块实现特定的功能。3、除了endmodule语句外,每个语句后必须有分号。4、可以用/*---*/和//…..对VerilogHDL程序的任何局部做注释。模块定义的一般语法结构如下:modulemux2to1(a,b,sel,out);inputa,b,sel;//定义输入信号outputout;//定义输出信号wireselnot;//定义内部节点信号数据类型

//下面对电路的逻辑功能进行描述notU1(selnot,sel);andU2(a1,a,selnot);andU3(b1,b,sel);

orU4(out,a1,b1);

endmodule结构描述(门级描述)端口类型说明电

温馨提示

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

评论

0/150

提交评论