(精品)数字电子技术第2篇_3VerilogHDL程序设计1

上传人:无*** 文档编号:245205628 上传时间:2024-10-07 格式:PPT 页数:31 大小:89.50KB
返回 下载 相关 举报
(精品)数字电子技术第2篇_3VerilogHDL程序设计1_第1页
第1页 / 共31页
(精品)数字电子技术第2篇_3VerilogHDL程序设计1_第2页
第2页 / 共31页
(精品)数字电子技术第2篇_3VerilogHDL程序设计1_第3页
第3页 / 共31页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Verilog,HDL,教程,(1),石油大学信息与控制工程学院,于云华,2004,年,12,月,提纲,Verilog,概述,Verilog,程序的基本结构,Verilog,上机环境及工具,Verilog,概述,Verilog,程序的基本结构,Verilog,上机环境及工具,Verilog,概述,什么是,Verilog,HDL?,Verilog,HDL(Hardware,Discription,Language),是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。,Verilog,在,VLSI,设计过程中的位置,数字电路设计者用,Verilog,HDL,来描述自己的设计思想,然后利用,EDA,工具进行仿真,综合,最终用,ASIC,或,FPGA,实现其功能,Verilog,的历史,最初是于,1983,年由,Gateway Design Automation,公司,(,后被,Cadence,收购,),为其模拟器产品开发的硬件建模语言,1990,年,,Cadence,公司成立,OVI(Open,Verilog,International),组织来负责推广,Verilog,1995,年,,IEEE,制定了,Verilog,HDL,标准,即,IEEE Std 1364-1995,Verilog,与,VHDL,目前,设计者使用,Verilog,和,VHDL,的情况,美国:,Verilog,:60%,VHDL:40%,台湾:,Verilog,:50%,VHDL:50%,Verilog,与,VHDL,两者的区别:,VHDL,侧重于系统级描述,从而更多的为系统级设计人员所采用,Verilog,侧重于电路级描述,从而更多的为电路级设计人员所采用,Verilog,HDL,与,C,语言,虽然,Verilog,的某些语法与,C,语言接近,但存在本质上的区别,Verilog,是一种硬件语言,最终是为了产生实际的硬件电路或对硬件电路进行仿真,C,语言是一种软件语言,是控制硬件来实现某些功能,利用,Verilog,编程时,要时刻记得,Verilog,是硬件语言,要时刻将,Verilog,与硬件电路对应起来,SystemC,and,SystemVerilog,:,面向,SOC,Verilog,HDL,的设计流程,自顶向下,(Top-Down),设计,一个系统由总设计师先进行系统描述,(Spec),,,将系统划分为若干模块,编写模块模型,(,一般为行为级,),,仿真验证后,再把这些模块分配给下一层的设计师,由他们完成模块的具体设计,而总设计师负责各模块的接口定义,Verilog,HDL,设计的入口和出口,Verilog,HDL,设计的入口,系统描述,(Spec),Verilog,HDL,设计的出口,功能正确且优化的的,Verilog,描述文件,仿真时序波形,Verilog,HDL,的模型类型,五种模型类型,:,系统级,算法级,RTL,级,(,寄存器传输级,),门级,开关级,Verilog,概述,Verilog,程序的基本结构,Verilog,上机环境及工具,模块(,module,),模块是,Verilog,的基本描述单位,用于描述某个设计的功能或结构及其与其它模块通信的外部接口,模块中,可以采用下述方式描述一个设计:,数据流方式,行为方式,结构方式,上述方式的混合,模块,简单的例子(数据流方式),module,HalfAdder(A,B,Sum,Carry);,input A,B;,output Sum,Carry;,assign#2 Sum=AB;,assign#5 Carry=A,endmodule,时延,编译器将在仿真时将时延与物理时间相关联,时延根据时间单位定义,timescale 1ns/100ps,前者为时间单位,后者为时间精度,assign#2 Sum=AB;,数据流描述方式,使用连续赋值语句,assign delay LHS_net=RHS_expression;,半加器的例子,module,HalfAdder(A,B,Sum,Carry);,input A,B;,output Sum,Carry;,assign#2 Sum=AB;,assign#5 Carry=A,endmodule,行为描述方式,使用过程语句描述:,initial,语句:只执行一次,always,语句:循环重复执行,行为描述方式,半加器的例子:,module,HalfAdder(A,B,Sum,Carry);,input A,B;,output Sum,Carry;,always(A,or B),begin,Sum=AB;,Carry=A,end,endmodule,结构化描述方式,用,Verilog,直接描述逻辑图,可使用,内置门:,not,and,or,开关级,:,nmos,cmos,tran,用户自定义的结构,模块实例,:,其它,module,单元,设计模拟,Verilog,HDL,不仅提供描述设计的能力,还提供对激励、控制、存储响应和设计验证的建模能力,一般的系统设计包括,系统描述设计模块,系统测试模块,设计模拟,实例,timescale 1ns/100ps,include,clu.v,module,testclu,;,reg,Clk,Rst,C,Zero,;,clu,clutest(Clk,Rst,C,Zero,),initial,fork,begin,Clk,=0;,Rst,=1;,C=0;,end,设计模拟,begin,#30,Rst,=0;,#190,Rst,=1;,end,$,shm_open(ly.shm,);,$,shm_probe(AS,);,begin,#300$finish;,end,join,always#5,Clk,=,Clk,;,endmodule,标识符,与,C,语言类似,可以是任意一组字母、数字、,$,和,_,的组合,但首字符必须为字母,区分大小写,有一组保留字,(,关键词,),:,always,initial,等,注释,两种形式:,/*,可以扩展为多行,*/,/,在本行结束,编译指令,以,(,反引号,),开始的标识符为编译指令,include,timescale,include,用于嵌入内嵌文件的内容,include “./source/Reg.v”,编译时这一行由文件,“,./source/Reg.v”,内容所代替,timescale,将,时间单位与实际时间相关联,timescale 1ns/100ps,前者为时间单位,后者为时间精度,assign#3.56 A=B;,实际时延应为,3.5ns,Verilog,概述,Verilog,程序的基本结构,Verilog,上机环境及工具,工作环境,硬件:,PC,或,Sun Ultra1,工作站,操作系统:,Windows,或,Sun Solaris,Verilog,仿真软件:,1,、,Mentor Graphics,的,ModelSim,2,、,Cadence,的,LDV,3,、,Synopsys,的,VCS,Verilog,综合软件:,1,、,Synplicity,的,Synplify,2,、,Synopsys,的,FPGA Compiler,End,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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