资源描述:
《Verilog教程清华微电所》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Verilog教程(1)清华大学微电子学研究所2003年9月提纲Verilog概述Verilog程序的基本结构Verilog上机环境及工具Verilog概述Verilog程序的基本结构Verilog上机环境及工具Verilog概述什么是VerilogHDL?VerilogHDL(HardwareDiscriptionLanguage)是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。Verilog在VLSI设计过程中的位置数字电路设计者用VerilogHDL来描述自己的设计思想,然后利用EDA工具进行仿真,综合,最终用ASIC或
2、FPGA实现其功能Verilog的历史最初是于1983年由GatewayDesignAutomation公司(后被Cadence收购)为其模拟器产品开发的硬件建模语言1990年,Cadence公司成立OVI(OpenVerilogInternational)组织来负责推广Verilog1995年,IEEE制定了VerilogHDL标准,即IEEEStd1364-1995Verilog与VHDL目前,设计者使用Verilog和VHDL的情况美国:Verilog:60%,VHDL:40%台湾:Verilog:50%,VHDL:50%Verilog与VHDL两者的
3、区别:VHDL侧重于系统级描述,从而更多的为系统级设计人员所采用Verilog侧重于电路级描述,从而更多的为电路级设计人员所采用VerilogHDL与C语言虽然Verilog的某些语法与C语言接近,但存在本质上的区别Verilog是一种硬件语言,最终是为了产生实际的硬件电路或对硬件电路进行仿真C语言是一种软件语言,是控制硬件来实现某些功能利用Verilog编程时,要时刻记得Verilog是硬件语言,要时刻将Verilog与硬件电路对应起来SystemCandSystemVerilog:面向SOCVerilogHDL的设计流程自顶向下(Top-Down)设计一
4、个系统由总设计师先进行系统描述(Spec),将系统划分为若干模块,编写模块模型(一般为行为级),仿真验证后,再把这些模块分配给下一层的设计师,由他们完成模块的具体设计,而总设计师负责各模块的接口定义VerilogHDL设计的入口和出口VerilogHDL设计的入口系统描述(Spec)VerilogHDL设计的出口功能正确且优化的的Verilog描述文件仿真时序波形VerilogHDL的模型类型五种模型类型:系统级算法级RTL级(寄存器传输级)门级开关级Verilog概述Verilog程序的基本结构Verilog上机环境及工具参考书:复杂数字电路系统的Veri
5、logHDL设计技技术作者:夏宇闻,北京航空航天大学出版社模块(module)模块是Verilog的基本描述单位,用于描述某个设计的功能或结构及其与其它模块通信的外部接口模块中,可以采用下述方式描述一个设计:数据流方式行为方式结构方式上述方式的混合模块简单的例子(数据流方式)moduleHalfAdder(A,B,Sum,Carry);inputA,B;outputSum,Carry;assign#2Sum=A^B;assign#5Carry=A&B;endmodule时延编译器将在仿真时将时延与物理时间相关联时延根据时间单位定义`timescale1ns/
6、100ps前者为时间单位,后者为时间精度assign#2Sum=A^B;数据流描述方式使用连续赋值语句assign[delay]LHS_net=RHS_expression;半加器的例子moduleHalfAdder(A,B,Sum,Carry);inputA,B;outputSum,Carry;assign#2Sum=A^B;assign#5Carry=A&B;endmodule行为描述方式使用过程语句描述:initial语句:只执行一次always语句:循环重复执行行为描述方式半加器的例子:moduleHalfAdder(A,B,Sum,Carry);i
7、nputA,B;outputSum,Carry;always@(AorB)beginSum=A^B;Carry=A&B;endendmodule结构化描述方式用Verilog直接描述逻辑图可使用内置门:not,and,or…开关级:nmos,cmos,tran…用户自定义的结构模块实例:其它module单元设计模拟VerilogHDL不仅提供描述设计的能力,还提供对激励、控制、存储响应和设计验证的建模能力一般的系统设计包括系统描述设计模块系统测试模块设计模拟实例`timescale1ns/100ps`include"clu.v"moduletestclu;r
8、egClk,Rst,C,Zero;cluclutes