资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
第三章 Verilog HDL硬件描述语言,3.1 Verilog HDL概述 3.2 Verilog HDL语言要素 3.3 Verilog HDL基本语句 3.4 Verilog HDL门元件和结构描述 3.5 仿真验证 3.6 可综合性描述 3.7 设计实例,3.1 Verilog HDL概述,3.1.1 Verilog HDL的特点 3.1.2 Verilog HDL的基本结构,3.1.1 Verilog HDL的特点,能够在不同的抽象层次上,如系统级、功能级、RTL(Register Transfer Level)级、门级和开关级,对设计系统进行精确而简练的描述; 2. 能够在每个抽象层次的描述上对设计进行仿真验证,及时发现可能存在的设计错误,缩短设计周期,并保证整个设计过程的正确性; 3. 由于代码描述与具体工艺实现无关,便于设计标准化,提高设计的可重用性。 如果有C语言的编程经验,只需很短的时间内就能学会和掌握Verilog HDL。因此,Verilog HDL可以作为学习HDL设计方法的入门和基础。,3.1.2 Verilog HDL的基本结构,Verilog程序体是由模块即module构成的。一个模块可以代表一个简单的门,一个32位计数器,一个存储器子系统甚至是计算机系统 。 模块的结构如下: module (); endmodule 其中是模块唯一性的标识符, 是输入输出和双向端口的列表,这些端口用来与其它模块进行连接;一段程序用来指定数据对象为寄存器型、存储器型和线型,以及过程块诸如函数块和任务块,而可以是 initial结构,always结构,assign连续赋值或模块实例。,基本结构,基本结构,adder,例: 加法器的verilog描述,/*/ / MODULE: adder / FILE NAME: adder.v / VERSION: v1.0 / DATE: May 5th, 2003 / AUTHOR: Peter / CODE TYPE: RTL / DESCRIPTION: An adder with two inputs (1 bit), / one output (2 bits). /*/ module adder (in1, in2, sum); input in1,in2; output 1:0 sum; wire in1,in2; reg 1:0 sum;,module adder (in1, in2, sum); input in1,in2; output 1:0 sum; wire in1,in2; reg 1:0 sum; always (in1 or in2) begin sum=in1+in2; end endmodule,一段完整的代码主要组成部分:,第一部分 是代码的注释部分,内容为可选项,建议在设计中采用,以提高代码的可维护性。 第二部分 是模块定义行。以module开头,然后是模块名和端口列表,标志着后面的代码是设计的描述部分。 第三部分 是端口类型和数据类型的说明部分,用于端口、数据类型和参数的定义等等。 第四部分 是描述的主体部分,对设计的模块进行描述,实现设计要求。模块中 “always-begin”和”构成一个执行块,它一直监测输入信号,其中任意一个发生变化时,两个输入的值相加,并将结果赋值给输出信号。 第五部分 是结束行,用关键词endmodule表示模块定义的结束。 模块中除了结束行以外,所有语句都需要以分号结束,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号