您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Verilog-HDL语言设计实验指导书(2004)
1目录第1章课程简介,实验项目及学时安排............................................1第2章实验设备简介.......................................................................................2第3章VerilogHDL语言设计课程实验..............................................3实验一简单的组合逻辑和时序逻辑的设计......................................................................................................3实验二复杂时序逻辑电路的设计.....................................................................................................................8实验三函数和任务的应用设计......................................................................................................................14实验四有限状态机(FSM)的设计...............................................................................................................20实验五基于模块多层次引用的结构化电路设计.............................................................................................261第1章课程简介,实验项目及学时安排1.课程简介本课程是电子信息工程和通信工程两个专业的选修专业课。VerilogHDL程序设计是电子信息类专业学生在学习完数字电子技术和微机原理与接口技术后的选修专业课程,主要内容是学习利用VerilogHDL进行数字逻辑电路和系统的开发和设计。通过对该课程的学习,学生应该掌握VerilogHDL的词法、语法、句法,可综合程序的编写,仿真程序的编写,一般数字逻辑的实现,复杂数字逻辑和算法的实现,并能够初步的利用VerilogHDL进行数字逻辑电路和系统的设计,并对寄存器传输级(RTL)上的数字设计有所掌握和理解。VerilogHDL语言设计是一门理论与实践联系紧密的课程,所以本课程安排5个实验,以帮助学生掌握VerilogHDL程序设计技术,提高学生分析问题和解决问题的能力,并通过实验培养学生的创新意识。本实验课的基本要求如下:1.学会用VerilogHDL语言编写数字电路和系统的程序,通过上机实习加深对课堂所学知识的理解;2.上机前应按照要求把实验内容准备好,即编好程序及需要改变的参数,能预计出可能出现的结果;3.观察实验结果,得出结论;4.实验结束时提交实验报告。2.实验项目及学时安排序号项目学时实验性质验证综合设计1简单的组合逻辑和时序逻辑的设计2√2复杂时序逻辑电路的设计2√3函数和任务的应用设计2√4有限状态机(FSM)的设计2√5基于模块多层次引用的结构化电路设计2√2第2章实验设备简介1.Modelsim6.0和SypnifyPro7.3及以上版本EDA软件Modelsim是美国MentorGraphics公司的子公司ModelTechnology的产品,属于编译型的Verilog/VHDL混合型仿真器。MentorGraphics公司是世界最著名的从事电子设计自动化(EDA)系统设计、制造、销售和服务的厂家之一。Modelsim可以在同一个设计中单独或混合使用Verilog和VHDL,允许Verilog模块调用VHDL的实体,或VHDL调用Verilog。由于Modelsim是编译型仿真器,使用编译后的HDL库进行仿真,因此在进行仿真前,必须编译所有的待仿真的HDL文件成为HDL仿真库,在编译时使源文件获得优化,提高了仿真速度。Modelsim可以完成三个层次的Verilog仿真,分别为RTL级仿真、综合后门级仿真、适配后门级仿真。因为其功能的强大和完善,Modelsim已成为基于PC机Windows平台的最流行的HDL仿真和验证工具。SynplifyPro/Synplify是由位于美国加州的Synplicity公司推出的专门用于FPGA/CPLD的逻辑综合工具,它支持VerilogHDL和VHDL高层次设计描述,在综合优化方面性能优异,应用广泛。SynplifyPro/Synplify支持Verilog1364-1995标准,能以很高的效率将Verilog设计文件转换为针对选定器件的标准网表,并提供相应设计环境的配置文件,在综合后还可以生成Verilog仿真网表,以便对原设计进行功能仿真。需要指出的是,最专业和强大的EDA软件都是基于服务器的UNIX软件,限于已有条件,本课程只能选择PC机Windows平台下最流行的Modelsim和SynplifyPro这两种分别用于仿真和综合的EDA软件。2.计算机系统(PC机)系统配置的基本需求:CPU:Intel奔腾系列,或AMDAthlon/XP;操作系统:WindownsNT/2000/XP;内存:256M或以上;显卡:支持256色的8位显卡或以上;硬盘:20G以上。3第3章VerilogHDL语言设计课程实验实验一简单的组合逻辑和时序逻辑的设计一、实验目的1、掌握基本组合逻辑电路的实现方法,掌握连续赋值语句和条件赋值语句的使用方法;2、掌握基本时序逻辑电路的实现,掌握always语句的使用方法。二、实验原理、内容及步骤1、简单组合逻辑设计描述组合逻辑电路通常利用assign连续赋值语句的数据流方式。连续赋值语句将值赋给线网(连续赋值不能为寄存器赋值)。连续赋值语句只要在右端表达式的操作数上有事件(事件为值的变化)发生时,表达式即被计算,如果结果值有变化,新结果就赋给左边的线网。连续赋值的目标类型如下:1)标量线网;2)向量线网;3)向量的常数型位选择;4)向量的常数型部分选择;5)上述类型的任意的拼接运算结果。组合逻辑设计示例:可综合的数据比较器。它的功能是比较数据a与数据b,如果两个数据相同,则给出结果1,否则给出结果0。描述组合逻辑时常使用assign结构。注意equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的格式。模块源代码://---------------compare.v-----------------modulecompare(equal,a,b);inputa,b;outputequal;assignequal=(a==b)?1:0;//a等于b时,equal输出为1;a不等于b时,//equal输出为0。endmodule测试模块用于检测模块设计得正确与否,它给出模块的输入信号,观察模块的内部信号和输出信号,如果发现结果与预期的有所偏差,则要对设计模块进行修改。4测试模块源代码:`timescale1ns/1ns//定义时间单位。`include./compare.v//包含模块文件。在有的仿真调试环境中并不需要此语句。//而需要从调试环境的菜单中键入有关模块文件的路径和名称modulecomparetest;rega,b;wireequal;initial//initial常用于仿真时信号的给出。begina=0;b=0;#100a=0;b=1;#100a=1;b=1;#100a=1;b=0;#100$stop;//系统任务,暂停仿真以便观察仿真波形。endcomparecompare1(.equal(equal),.a(a),.b(b));//调用模块。endmodule仿真波形(部分):2、简单时序逻辑设计在VerilogHDL中,相对于组合逻辑电路,时序逻辑电路也有规定的表述方式。在可综合的VerilogHDL模型,我们通常使用always块和@(posedgeclk)或@(negedgeclk)的结构来表述时序逻辑。时序逻辑设计示例:可综合的1/2分频器模型。//half_clk.v:modulehalf_clk(reset,clk_in,clk_out);inputclk_in,reset;outputclk_out;regclk_out;5always@(posedgeclk_in)beginif(!reset)clk_out=0;elseclk_out=~clk_out;endendmodule在always块中,被赋值的信号都必须定义为reg型,这是由时序逻辑电路的特点所决定的。对于reg型数据,如果未对它进行赋值,仿真工具会认为它是不定态。为了能正确地观察到仿真结果,在可综合风格的模块中我们通常定义一个复位信号reset,当reset为低电平时,对电路中的寄存器进行复位。测试模块的源代码://-------------------clk_Top.v-----------------------------`timescale1ns/100ps`defineclk_cycle50moduleclk_Top.vregclk,reset;wireclk_out;always#`clk_cycleclk=~clk;initialbeginclk=0;reset=1;#100reset=0;#100reset=1;#10000$stop;endhalf_clkhalf_clk(.reset(reset),.clk_in(clk),.clk_out(clk_out));endmodule仿真波形:6三、实验设备及实验注意事项1.Modelsim6.0和SypnifyPro7.3及以上版本EDA软件Modelsim是美国MentorGraphics公司的子公司ModelTechnology的产品,属于编译型的Verilog/VHDL混合型仿真器。MentorGraphics公司是世界最著名的从事电子设计自动化(EDA)系统设计、制造、销售和服务的厂家之一。Modelsim可以在同一个设计中单独或混合使用Verilog和VHDL,允许Verilog模块调用VHDL的实体,或VHDL调用Verilog。由于Modelsim是编译型仿真器,使用编译后的HDL库进行仿真,因此在进行仿真前,必须编译所有的待仿真的HDL文件成为HDL仿真库,在编译时使源文件获得优化,提高了仿真速度。Modelsim可以完成三个层次的Verilog仿真,分别为RTL级仿真、综合后门级仿真、适配后门级仿真。因为其功能的强大和完善,Modelsim已成为基于PC机Windows平台的最流行的HDL仿真和验证工具。SynplifyPro/Synplify是由位于美国加州的Synplicity公司推出的专门用于FPGA/CPLD的逻辑综合工具,它支持VerilogHDL和VHDL高层次设计描述,在综合优化方面性能优异,应用广泛。SynplifyPro/Synplify支持Verilog1364-1995标准,能以很高的效率将Verilog设计文件转换为针对选定器件的标准网表,并提供相应设计环境的配置文件,在综合后还可以生成Verilog仿真网表,以便对原设计进行功能仿真。需要指出的是,最专业和强大的EDA软件都是基于服务器的UNIX软件,限于已有条件,本课程只能选择PC机Windows平台下最流行的Modelsim和SynplifyPro这两种分别用于仿真和综合的EDA软件。2.计算机系统(PC机)系统配置的基本需求:CPU:Intel奔腾系列,或AMDAthlon/XP;操作系统:WindownsNT/2000
本文标题:Verilog-HDL语言设计实验指导书(2004)
链接地址:https://www.777doc.com/doc-6050945 .html