vhdl 数字电路设计教程

上传人:第*** 文档编号:50177720 上传时间:2018-08-07 格式:PPT 页数:359 大小:2.39MB
返回 下载 相关 举报
vhdl 数字电路设计教程_第1页
第1页 / 共359页
vhdl 数字电路设计教程_第2页
第2页 / 共359页
vhdl 数字电路设计教程_第3页
第3页 / 共359页
vhdl 数字电路设计教程_第4页
第4页 / 共359页
vhdl 数字电路设计教程_第5页
第5页 / 共359页
点击查看更多>>
资源描述

《vhdl 数字电路设计教程》由会员分享,可在线阅读,更多相关《vhdl 数字电路设计教程(359页珍藏版)》请在金锄头文库上搜索。

1、VHDL及设计实 践任课教师:赵宏智单位:北京交通大学计算机学院E - mail: 1本课程安排:学时:32学时(课堂教学22学时,上机实验10学时 ) 课堂教学内容:第一课、引言 第二课、VHDL代码结构第三课、数据类型 第四课、运算操作符和属 性第五课、并发代码 第六课、顺序代码第七课、信号与变量 第八课、状态机第九课、包集和元件 第十课、函数和过程第十一课、复习与答疑教学目的: 了解数字集成电路的结构特点 了解数字集成系统的基本设计方法 掌握VHDL的基本语法和主要编程要点 2实验教学内容及要求:分5次共10学时。实验一:学习安装、使用MODELSIM 6.0D,并根据 testben

2、ch PPT中的两个例子,能够仿真出波形;实验二:(1)用GENERIC语句改写例4.1,设计成通用 译码器,要求书写tb代码并仿出波形;(2)课后习题5.6 ,要求书写tb代码并仿出波形;(3)课后习题6.1,要求 书写tb代码并仿出波形; 实验三:例子7.5、7.8、8.6,要求书写tb代码并仿出 波形; 实验四:第9章例题9.2、9.6、9.9,要求书写tb代码并 仿出波形; 实验五:选做例子串-并型乘法器、并行乘法器、乘-累加电路中的两个,要求书写tb代码并仿出波形; 3实验课要求 掌握 Modelsim仿真工具,从简单的电 路设计入手,到最后能够设计比较复杂 的电子系统,培养设计电路

3、系统的实际 动手能力。 实验教学目的: 掌握常用EDA工具的基本使用方法 ,掌握常用数字电路的设计特点。4考核方式 内容:基本概念与基本功能器件的设计 编程 方式:平时作业、上机与试卷相结合 平时作业与上机 20% 考试试卷 80% 5教材及参考资料教材: VHDL数字电路设计教程,Volnei A. Pedroni著,乔庐峰等 译,电子工业出版社 参考资料: 1 Altera FPGA/CPLD设计(基础篇),王诚等著,人民邮 电出版社。 2 Altera FPGA/CPLD设计(高级篇),王诚等著,人民邮 电出版社。 3FPGA/VHDL快速工程实践入门与提高,杨恒、卢飞 成编著,北京航空

4、航天大学出版社。 6相关网址: 7第一章 引言 VHDL的历史 VHDL的作用 VHDL的语言特点 VHDL与其它硬件描述语言的比较 VHDL设计概述 从VHDL代码到电路的转化8VHDL的历史VHDL:VHSIC (Very High Speed Integrated Circuit) Hardware Description Language 1.80年代初由美国国防部在实施超高速集成电路(VHSIC)项目时开发的 。 2.1987年由 IEEE 协会批准为 IEEE 工业标准,称为 IEEE1076-1987。 各 EDA公司相继推出支持VHDL的设计环境。 3.1993年被更新为 9

5、3 标准,即IEEE1076-1993。进一步提高抽象描述层次 ,扩展系统描述能力。9VHDL的作用1、VHDL打破软、硬件的界限。传统的数字系统设计分为: 硬件设计(硬件设计人员) 软件设计(软件设计人员) 2、采用文本形式进行程序设计,包含许多具有硬件特征的语句,主要用于描 述数字系统的结构、功能、行为和接口,能够支持电路硬件的设计、验证、 综合和测试;设计与具体工艺无关,适合于多层次大规模设计,具有良好的 开放性和并行设计能力、便于交流保存共享。VHDL是电子系统设计者和 EDA工具之间的界面。EDA工具及 HDL的流 行,使电子系统向集 成化、大规模和高速度等方向发展。美国硅谷约有80

6、%的 ASIC和 FPGA/CPLD已采用 HDL进行设计。10VHDL的语言特点VHDL具有强大的语言结构,系统硬件描述能力强 、设计效率高;具有较高的抽象描述能力。 VHDL语言可读性强,易于修改和发现错误。 VHDL具有丰富的仿真语句和库函数。 VHDL源代码进行早期功能仿真,有利于大系统的 设计与验证。 VHDL设计与硬件电路关系不大。11VHDL设计不依赖于器件,与工艺无关 。可移植性好。 VHDL体系符合TOP-DOWN和CE(并行工程)设计思想。 VHDL设计效率高,产品上市时间快,成本低。 易于ASIC实现。12VHDL与其它硬件描述语言的比较VHDL:具有较强的系统级抽象描述

7、能力, 适合行为级和 RTL级的描述。设计者可 不必了解电路细节,所作工作较少,效 率高。但对综合器的要求高,不易控制 底层电路的生成。IEEE标准,支持广泛 。 行为级RTL级门电路级(RTL: Register Translate Level,寄存器传输级)13Verilog HDL :系统级抽象描述能力比VHDL稍差;门级开关电 路描述方面比 VHDL 强。适合 RTL级和门电路级的 描述。设计者需要了解电路细节,所作工作较多。 IEEE标准,支持广泛。 ABEL、PALASM、AHDL(Altera HDL):系统级抽象描述能力差,一般作门级 电路描述。 要求设计者对电路细节有详细的了

8、解。对综合器的性 能要求低,易于控制电路资源。支持少。14VHDL设计简述VHDL主要用于描述数字系统的结构、行为、功能和接口。 VHDL将一个设计(元件、电路 、系统)分为: 外部(可视部分、端口) 内部(不可视部分、内部功能 、算法)15文本编辑器、图形编辑器VHDL综合器(逻辑综合、优化)FPGA/CPLD布线/适配器(自动优化、布局、布线、适配)VHDL仿真器(行为仿真、功能仿真、时序仿真)编程器/下载电缆(编程、下载)测试电路(硬件测试)网表文件(EDIF、XNL、 VHDL)门级仿真器(功能仿真、时序仿真)各种编程文件VHDL的FPGA/CPLD工程设计流程16从VHDL代码到电路

9、的转化 一位全加器全加器abcinscout功能分析:真值表方法逻辑表达式:Cout=a.b+a.cin+b.cinS=a b cin电路外部框图17用VHDL描述一位全加器的功能: ( full_adder.vhd)ENTITY full_adder IS PORT (a, b, cin: IN BIT;s, cout: OUT BIT); END full_adder;ARCHITECTURE dataflow OF full_adder IS BEGINsnew-project; 往project里添加源文件。分为两种:一种是目标代码 ,另一种是测试代码testbench; 添加一个wo

10、rk库,File-new-library; 编译源文件,Compile-Compile all; 开始仿真,Simulate-star simulation; 选择testbench文件作为top-level文件; 查看波形,Add-wave 单击run图标 调试Modelsim 6.0的使用步骤21testbench的组织简单的test bench向要验证的设计提供向量,人工验证输出。 复杂的test bench是自检测的,其结果自动验证。 stimulus要验证的设计简单的test bench复杂的test bench激励验证结果要验证的设计22施加激励产生激励并加到设计的方法:将comp

11、onent实例化, 并对其施加一些输入值和时间量。 具体做法: 主代码作为一个单独的x_main.vhd文件; testbench代码作为另外一个.vhd文件,并且在其中将主 代码x_main中的实体声明为component; 在testbench代码中对component的输入端口赋一些初值 ,并用wait for x_time来给出时序关系。23Tb代码的基本特点Tb代码本身不生成具体的电路,仅供仿真之用;模板固定,记住即可:其entity中无需定义in/out port,原因:tb代码的输出信号往往是由设 计者手工直接提供,而不是由一组tb的输入信号经过功能运算自动生 成的;需使用pro

12、cess语句,因为所提供的测试用例都是时间相关的,是顺 序执行的;由于无需输入信号,因此其process的敏感信号列表为空;测试用例往往是手工赋值的,且不生成具体电路,因此不需要使用 generic语句来设计多种规格的测试用例;24-目标文件fulladder.vhd- ENTITY fulladder ISPORT (a ,b,ci: IN bit;co,s: OUT bit); END fulladder;ARCHITECTURE rtl OF fulladder IS BEGINs ISPort (port_name1,port_name2: signal_mode signal_typ

13、e;port_name3: signal_mode signal_type;) END ; 37 端口的信号模式(signal_mode):in: 输入型,单向引脚,只读。out: 输出型,单向引脚,不能供电路内部使用。inout:输入输出型,双向引脚,可读也可写。buffer: 缓冲型,与 out 相似,但可供电路内部 使用。电路INOUTINOUTBUFFER381工作 B=A传输结果ENG1 G20A=B工作原理高阻态工作高阻态out和 buffer 的典型结构: 用法如P112页out1/out2 的使用inout的典型结构: 多用于数据总线的设计,节省引脚数目!EN1ENG1EN1E

14、NG2BA39 信号的类型:BIT、STD_LOGIC、 INTEGER等; 实体ENTITY的命名:不要与VHDL关键字 冲突。 例子: 基本的与非门-纯组合逻辑abcENTITY nand_gate ISPORT (a, b: IN BIT;x: OUT BIT );END nand_gate;40作用:描述电路行为和实现功能,如定义元件及内部 的连接关系。两个组成部分:声明部分(可选),对数据类型、常量、信号等 元素进行声明。 代码部分(BEGIN与END之间):描述电路的行 为或功能。名称:不能与VHDL关键字冲突,可与ENTITY同名;三、构造体(ARCHITECTURE)或结构体4

15、1注:同一实体的结构体不能同名。定义语句中 的 常数、信号不能与实体中的端口同名。architecture 结构体名称 of 实体名称 is 声明语句内部信号、常数、数据类型、子程序(函数、过程)、 元件等的说明;begin(代码);end 结构体名称;构造体的语法:42 构造体举例: ARCHITECTURE myarch OF nand_gate IS BEGINx) of std_logic; 赋值的原则:相同位宽,相同数据类型。定义8种数字逻辑值的原因: 由std_logic 类型 代替 bit 类型可以完成电子系统的精确模拟,并可 实现常见的三态总线电路。56两个或以上数字逻辑电路的输出端连接到同一个节点时( 称为“线与”现象!),节点的电平该如何取值?典型案例: 总线!1EN1ENAY11EN2ENBY21EN3ENCY3总 线驱动能力强的电路可以将节点电平 强行拉高或拉低,因此需建立 多值逻辑系统加以细分。节点的电平取值取决于: 两者或多者当前的输出电平值; 两者的驱动能力强弱。X:强不确定值; W:弱不确定值;0: 强0; L:弱0;1: 强1;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号