集成电路设计实验指导书

集成电路设计实验指导书

ID:34659717

大小:185.17 KB

页数:14页

时间:2019-03-08

集成电路设计实验指导书_第1页
集成电路设计实验指导书_第2页
集成电路设计实验指导书_第3页
集成电路设计实验指导书_第4页
集成电路设计实验指导书_第5页
资源描述:

《集成电路设计实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《集成电路设计技术》实验指导书编写人:方元电子电气工程系2012年2月前言VerilogHDL就是在用途最广泛的C语言的基础上发展起来的一种硬件描述语言,它是由GDA(GatewayDesignAutomation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得VerilogHDL迅速得到推广应用。1989年CADENCE公司收购了GDA公司,使得VerilogHDL成为了该公司的独家专利。1990年CA

2、DENCE公司公开发表了VerilogHDL,并成立LVI组织以促进VerilogHDL成为IEEE标准,即IEEEStandard1364-1995。本实验是在学生拥有集成电路设计概念以及数字电路理论学习的基础上,通过ModelSimEDA仿真工具,编写VerilogHDL语言。这有助于学生们对于课堂上所学习的VerilogHDL语言有一个深入的了解,并最终使得学生们能够学会该语言的基本语法,能够编写一些简单的模块。若今后从事集成电路设计工作,能够通过本次实验初窥门径,为今后的工作打下基础。通过实验能够掌握VerilogHDL语言的基本语法,基本模块,为以后更加深入的学习数

3、字集成电路设计打下基础。同时,让学生们使用最简单的HDL逻辑仿真工具ModelSim,对EDA工具的使用有一个基本概念,这样在学习其他EDA工具时就不会那么生疏。本实验通过4次实验,让同学们掌握Verilog模块化设计的理念,学会使用ModelSim软件,学会通过波形图查看电路的时序与逻辑是否正确。实验一简单的组合逻辑和时序逻辑的设计一、实验目的(1)掌握基本组合逻辑电路的实现方法;(2)初步了解两种基本组合逻辑电路的生成方法;(3)学习测试模块的编写;二、实验原理及实验步骤这是一个可综合的数据比较器,很容易看出它的功能是比较数据a与数据b,如果两个数据相同,则给出结果1,否

4、则给出结果0。在VerilogHDL中,描述组合逻辑时常使用assign结构。注意equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的格式。模块源代码的方法之一://---------------compare.v-----------------modulecompare(equal,a,b);inputa;inputb;outputequal;assignequal=(a==b)?1:0;//a等于b时,equal输出为1;a不等于b时,equal输出为0。endmodule模块源代码的方法之二:modulecompare(equal,a,b);in

5、puta;inputb;outputequal;regequal;always@(aorb)if(a==b)//a等于b时,equal输出为1equal=1;else//a不等于b时,equal输出为0equal=0;endmodule测试模块用于检测模块设计得正确与否,它给出模块的输入信号,观察模块的内部信号和输出信号,如果发现结果与预期的有所偏差,则要对设计模块进行修改。测试模块源代码:`timescale1ns/1ns//定义时间单位。`include"./compare.v"//包含模块文件。在有的仿真调试环境中并不需要此语句。//而需要从调试环境的菜单中键入有关模块

6、文件的路径和名称modulecomparetest;rega;regb;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仿真波形:测试模块源代码的方法之二:`timescale1ns/1ns//定义时间单位。`include"./compare.v"//包含模块文件

7、。在有的仿真调试环境中并不需要此语句。//而需要从调试环境的菜单中键入有关模块文件的路径和名称modulecomparetest;rega;regb;wireequal;initial//initial常用于仿真时信号的给出。begina=0;b=0;clock=0;endalways#50clock=~clock;//产生周期性的时钟always@(posedgeclock)//在每次时钟正跳变沿时刻产生不同的a和bbegina={$random}%2;//每次a是0还是1是随机的b={$random

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。