《Verilog教程清华微电所.ppt》由会员分享,可在线阅读,更多相关《Verilog教程清华微电所.ppt(38页珍藏版)》请在三一办公上搜索。
1、Verilog教程(1),清华大学微电子学研究所2003年9月,提纲,Verilog概述Verilog程序的基本结构Verilog上机环境及工具,Verilog概述Verilog程序的基本结构Verilog上机环境及工具,Verilog概述,什么是Verilog HDL?Verilog HDL(Hardware Discription Language)是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。,Verilog在VLSI设计过程中的位置,数字电路设计者用Verilog HDL来描述自己的设计思想,然后利用EDA工具进行仿真,综合,最终用ASIC或FPGA实
2、现其功能,Verilog的历史,最初是于1983年由Gateway Design Automation公司(后被Cadence收购)为其模拟器产品开发的硬件建模语言1990年,Cadence公司成立OVI(Open Verilog International)组织来负责推广Verilog1995年,IEEE制定了Verilog HDL标准,即IEEE Std 1364-1995,Verilog与VHDL,目前,设计者使用Verilog和VHDL的情况美国:Verilog:60%,VHDL:40%台湾:Verilog:50%,VHDL:50%,Verilog 与 VHDL,两者的区别:VHDL侧
3、重于系统级描述,从而更多的为系统级设计人员所采用Verilog侧重于电路级描述,从而更多的为电路级设计人员所采用,Verilog HDL与 C语言,虽然Verilog的某些语法与C语言接近,但存在本质上的区别Verilog是一种硬件语言,最终是为了产生实际的硬件电路或对硬件电路进行仿真C语言是一种软件语言,是控制硬件来实现某些功能利用Verilog编程时,要时刻记得Verilog是硬件语言,要时刻将Verilog与硬件电路对应起来SystemC and SystemVerilog:面向SOC,Verilog HDL的设计流程,自顶向下(Top-Down)设计 一个系统由总设计师先进行系统描述(
4、Spec),将系统划分为若干模块,编写模块模型(一般为行为级),仿真验证后,再把这些模块分配给下一层的设计师,由他们完成模块的具体设计,而总设计师负责各模块的接口定义,Verilog HDL设计的入口和出口,Verilog HDL设计的入口系统描述(Spec)Verilog HDL设计的出口功能正确且优化的的Verilog 描述文件仿真时序波形,Verilog HDL的模型类型,五种模型类型:系统级算法级RTL级(寄存器传输级)门级开关级,Verilog概述Verilog程序的基本结构Verilog上机环境及工具,参考书:复杂数字电路系统的Verilog HDL设计技技术作者:夏宇闻,北京航空
5、航天大学出版社,模块(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 S
6、um=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
7、B)begin Sum=AB;Carry=A end endmodule,结构化描述方式,用Verilog直接描述逻辑图可使用内置门:not,and,or开关级:nmos,cmos,tran用户自定义的结构模块实例:其它module单元,设计模拟,Verilog HDL不仅提供描述设计的能力,还提供对激励、控制、存储响应和设计验证的建模能力一般的系统设计包括系统描述设计模块系统测试模块,设计模拟,实例timescale 1ns/100psinclude clu.vmodule testclu;reg Clk,Rst,C,Zero;clu clutest(Clk,Rst,C,Zero)initi
8、al 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等,注释,两种形式:/*可以扩展为多行*/在本行结束,编译指令,以(反引号)开始的标识符为编译指令includetimescale,include,用于
9、嵌入内嵌文件的内容 include“./source/Reg.v”编译时这一行由文件“./source/Reg.v”内容所代替,timescale,将时间单位与实际时间相关联timescale 1ns/100ps前者为时间单位,后者为时间精度 assign#3.56 A=B;实际时延应为3.5ns,Verilog概述Verilog程序的基本结构Verilog上机环境及工具,工作环境,硬件:Sun Ultra1 工作站操作系统:Sun Solaris,几个常用Unix命令,ls:列出当前目录下的内容cd:进入其它目录more filename:在屏幕上显示文件rm filename:删除文件编辑文件可用TextEditor,Cadence公司的Verilog编译及仿真软件,编译软件Verilog-XL:对verilog源文件进行语法检查和编译命令行模式仿真软件Signalscan:在带有输入激励的verilogw源文件编译后,看其波形,可方便的对程序进行调试窗口模式,Verilog-XL,启动命令:verilog filename编译过程中,可看到相关信息,确定文件是否编译通过仿真结束,产生verilog.log文件,Signalscan,启动命令:signalscan/保存所有的信号波形,Siganlscan Waveform窗口,Design Browser窗口,End,
链接地址:https://www.31ppt.com/p-5452060.html