硬件描述语言Verilog_HDL基础

上传人:沈*** 文档编号:243867832 上传时间:2024-10-01 格式:PPT 页数:43 大小:1.31MB
返回 下载 相关 举报
硬件描述语言Verilog_HDL基础_第1页
第1页 / 共43页
硬件描述语言Verilog_HDL基础_第2页
第2页 / 共43页
硬件描述语言Verilog_HDL基础_第3页
第3页 / 共43页
点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,CSLG,硬件描述语言,Verilog HDL,基础,1,Verilog,语言的基本语法规则,2,变量的数据类型,3,Verilog,程序的基本结构,4,逻辑功能的仿真与测试,硬件描述语言,HDL(Hardware Description Languag),类似于高级程序设计语言,(C,语言,).,它是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,复杂数字逻辑系统所的逻辑功能。,HDL,是高层次自动化设计的起点和基础,.,硬件描述语言,Verilog HDL,基础,计算机对,HDL,的处理,:,逻辑综合,是指从,HDL,描述的数字逻辑电路模型中导出电路基本元件列表以及元件之间的连接关系(常称为门级网表)的过程。类似对高级程序语言设计进行编译产生目标代码的过程。产生门级元件及其连接关系的数据库,根据这个数据库可以制作出集成电路或印刷电路板,PCB,。,逻辑仿真,是指用计算机仿真软件对数字逻辑电路的结构和行为进行预测,.,仿真器对,HDL,描述进行解释,以文本形式或时序波形图形式给出电路的输出。在仿真期间如发现设计中存在错误,就再要对,HDL,描述进行及时的修改。,1 Verilog,语言的基本语法规则,为对数字电路进行描述(常称为建模),,Verilog,语言规定,了一套完整的语法结构。,1,间隔符,:,Verilog,的间隔符主要起分隔文本的作用,可以使文本错落有致,便于阅读与修改。,间隔符包括空格符(,b,)、,TAB,键(,t,)、换行符(,n,)及换页符。,2,注释符,:,注释只是为了改善程序的可读性,在编译时不起作用。,多行注释符,(,用于写多行注释,):/*-*/,;,单行注释符,:,以,/,开始到行尾结束为注释文字。,标识符,:,给对象(如模块名、电路的输入与输出端口、变量等)取名所用的字符串。由英文字母、数字,,符和下划线组成,并且以英文字母或下划线开始,,如,,,clk,、,counter8,、,_net,、,bus_A,。,关键词,:,是,Verilog,语言本身规定的特殊字符串,用来定义语言的结构。例如,,module,、,endmodule,、,input,、,output,、,wire,、,reg,、,and,等都是关键词。,关键词都是小写,,关键词不能作为标识符使用,。,3,标识符和关键词,为了表示数字逻辑电路的逻辑状态,,Verilog,语言规定了,4,种基本的逻辑值。,0,逻辑,0,、逻辑假,1,逻辑,1,、逻辑真,x,或,X,不确定的值(未知状态),z,或,Z,高阻态,4,逻辑值集合,5,常量及其表示,实数型常量,十进制记数法 如:,0.1,、,2.0,、,5.67,科学记数法 如,:,23_5.1e2,、,5E,4,23510.0,、,0.0005,常量,十进制数的形式的表示方法,:,表示有符号,常量,例如:,30,、,2,带基数的形式的表示方法,:,表示,常量,格式为:,整数型,例如:,3b101,、,5o37,、,8he3,,,8b1001_0011,Verilog,允许用参数定义语句定义一个标识符来代表一个常量,称为,符号常量,。,定义的格式为:,parameter,参数名,1,常量表达式,1,,参数名,2,常量表达式,2,,,;,如,parameter BIT=1,BYTE=8,PI=3.14;,6,字符串,:,字符串是双撇号内的字符序列,2,变量的数据类型,1.,线网类型,:,是指输出始终根据输入的变化而更新其值的变量,它一般指的是硬件电路中的各种物理连接,.,例,:wire L;,/,将上述电路的输出信号,L,声明为网络型变量,wire 7:0 data bus;,/,声明一个,8-bit,宽的网络型总线变量,常用的线网类型由关键词,wire,定义,wire,型变量的定义格式如下:,wire,n-1:0,变量名,1,,变量名,2,,,,变量名,n,;,变量宽度,例,:,线网型变量,L,的值由与门的驱动信号,a,和,b,所决定,即,L,a&b,。,a,、,b,的值发生变化,线网,L,的值会立即跟着变化。,&,b,a,L,寄存器型变量对应的是具有状态保持作用的电等路元件,如触发器寄存器。寄存器型变量只能在,initial,或,always,内部被赋值。,2,、,寄存器型,寄存器类型,功能说明,reg,常用的寄存器型变量,integer,32,位带符号的整数型变量,real,64,位带符号的实数型变量,,time,64,位无符号的时间变量,4,种,寄存器类型的变量,例:,reg clock,;,/,定义一个,1,位寄存器变量,reg 3:0 counter;/,定义一个,4,位,寄存器变量,抽象描述,不对应具体硬件,2,、,每个模块先要进行端口的定义,并说明输入,(,input),和输出,(,output),然后对模块功能进行描述。,3 Verilog,程序的基本结构,Verilog,使用大约,100,个预定义的关键词定义该语言的结构,1,、,VerilogHDL,程序由,模块构成。每个模块的内容都是嵌在关键词,module,和,endmodule,两个语句之间。每个模块实现特定的功能。,3,、,除了,endmodule,语句外,每个语句后必须有分号。,4,、,可以用,/*-*/,和,/.,对,VerilogHDL,程序的任何部分做注释。,模块定义的一般语法结构如下:,端口类型说明,电路结构描述,模块名,数据类型说明,例 用结构描述方式建立门电路,Verilog,模型,/,Gate-level description of simple circuit,module,mux2to1(a,b,sel,out);,input a,b,sel;,/,定义输入信号,output out;,/,定义输出信号,wire selnot,a1,b1;,/,定义内部节点信号数据类型,/,下面对电路的逻辑功能进行描述,not U1(selnot,sel);,and U2(a1,a,selnot);,and U3(b1,b,sel);,or U4(out,a1,b1);,endmodule,4,逻辑功能的仿真与测试,逻辑电路的设计块完成后,就要测试这个设计块描述的逻辑功能是否正确。为此必须在输入端口加入测试信号,而从其输出端口检测其结果是否正确,这一过程常称为搭建测试平台。根据仿真软件的不同,搭建测试平台的方法也不同。,图,2.3.3,例,2.3.1,的仿真输出波形,用,Verilog HDL,描述组合逻辑电路,用,VerilogHDL,描述组合逻辑电路,用,VerilogHDL,描述组合逻辑电路有三种不同抽象级别:,门级描述,数据流描述,行为级描述,VerilogHDL,描述的电路就是该电路的,VerilogHDL,模型。,行为描述方式:,一般使用下述语句描述,可以对组合、时序逻辑电路建模。,1,),initial,语句,2,),always,语句,数据流描述方式:,一般使用,assign,语句描述,主要用于对组合逻辑电路建模。,门级描述:,一般使用,Primitive,(内部元件)、自定义的下层模块对电路描述。主要用于层次化设计中。,基本门级元件模型,元件符号,功能说明,元件符号,功能说明,and,多输入端的与门,nand,多输入端的与非门,or,多输入端的或门,nor,多输入端的或非门,xor,多输入端的异或门,xnor,多输入端的异或非门,buf,多输出端的缓冲器,not,多输出端的反相器,bufif1,控制信号高电平有效的三态缓冲器,notif1,控制信号高电平有效的,三态反相器,bufif0,控制信号低电平有效的三态缓冲器,notif0,控制信号低电平有效的,三态反相器,多输入门,多输出门,三态门,1.,组合逻辑电路的门级建模,门级建模,:,将逻辑电路图用,HDL,规定的文本语言表示出来。,Verilog,基本门级元件,and n-input AND gate,nand n-input NAND gate,or n-input OR gate,nor n-input NOR gate,xor n-input exclusive,OR gate,xnor n-input exclusive,NOR gate,buf n-output buffer,not n-output inverter,bufif0 tri-state buffer;,lo enable,bufif1 tri-state buffer;,hi enable,notif0 tri-state inverter;,lo enable,notif1 tri-state inverter;,hi enable,1,、多输入门,只允许有一个输出,但可以有多个输入。,and A1,(,out,,,in1,,,in2,,,in3,);,输,入,2,x,x,x,1,z,x,x,x,1,x,x,x,0,1,1,1,1,1,1,0,z,x,1,0,输入,1,nand,nand,真值表,X-,不确定状态,Z-,高阻态,and,真值表,x,0,z,x,0,x,x,1,0,1,0,0,0,0,0,z,X,1,0,输入,1,and,输,入,2,x,x,x,x,x,调用名,X,X,1,X,Z,X,X,1,X,X,1,1,1,1,1,X,X,1,0,0,Z,X,1,0,输入,1,or,输,入,2,or,真值表,输,入,2,X,X,X,X,Z,X,X,X,X,X,X,X,0,1,1,X,X,1,0,0,Z,X,1,0,输入,1,xor,xor,真值表,2,、多输出门,允许有多个输出,但只有一个输入。,not N1,(,out1,,,out2,,,,,in,);,x,x,1,0,z,x,1,0,输 入,buf,输 出,buf,真值表,输 出,x,x,0,1,z,x,1,0,输 入,not,not,真值表,buf B1,(,out1,,,out2,,,,,in,);,out1,in,out2,outN,out1,in,out2,outN,bufif1,真值表,x,x,x,z,z,x,x,x,z,x,1/z,1/z,1,z,1,0/z,0/z,0,z,0,z,x,1,0,控制输入,bufif1,数,据,输,入,x,x,x,z,z,x,x,x,z,x,0/z,0/z,0,z,1,1/z,1/z,1,0,z,z,x,1,0,控制输入,notif1,数,据,输,入,notif1,真值表,3,、三态门,有一个输出、一个数据输入和一个输入控制。,如果输入控制信号无效,则三态门的输出为高阻态,z,。,4,、设计举例,/Gate-level description of a 2-to-4-line decoder,module,_2to4decoder(A,1,A,0,E,Y);,input A,B,E;,output 3:0 Y;,wire A1not,A0not,Enot;,not,n1(A1not,A1),n2(A0not,A0),n3(Enot,E);,nand,n4(Y0,A1not,A0not,Enot),n5(Y1,A1not,A0,Enot),n6(Y2,A1,A0not,Enot),n7(Y3,A1,A0,Enot);,endmodule,试用,Verilog,语言,的门级,元件描述,2,线,-4,线译码器,.,说明,部分,功能,描述,例,2,用,Verilog,的门级元件进行,描述由三态门构成的,2,选,1,数据选择器。,/Gate-level description of a 2-to-1-line multiplexer,module,_2to1muxtri(A,B,SEL,L);,input A,B,SEL,output L;,tri L,;/,也是线网型变量,由多个门驱动,bufif1(L,B,SEL);,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!