EDA技术实用教程第五章_VHDL设计初步
EDA技术实用教程-VHDL版课后答案
第一章1-1 EDA技术与ASIC设计和FPGA开发有什么关系? P3~4答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
1-2与软件描述语言相比,VHDL有什么特点? P6答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL 程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型? 答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。
综合在电子设计自动化中的地位是什么? 答:是核心地位(见图1-3)。
EDA技术与VHDL程序设计基础教程
PCB系统
三、EDA技术的应用 PCB设计
PCB(Printed Circuit Board)印制电路板主要用作电子系统的载体,工程师 通常将集成电路元件焊接在PCB板上完成整个电子系统的搭建、控制、通信等 功能
点阵系 统的原 理图和 版图
点阵系 统的版 图
三、EDA技术的应用
ASIC设计
第2章
重点内容:
CPLD结构和工作原理 FPGA结构和工作原理 FPGA配置方式 CPLD/FPGA应用选型
一、可编程逻辑器件概述
可编程逻辑器件 PROM、PLA和PAL的原理和特性
PROM
基于二极管和三极管 的一次可编程PROM单 字线
元
二极管
上拉电阻
熔丝
数据比特线
(a)
字线 三极管
上拉电阻
FPGA/CPLD布线和适配 (Place & Route) 适配的自动优化 (Optimization)
编程下载 (Program & Download)
行为仿真 (Behaviour)
VHDL仿真器 (Simulator)
功能仿真 (Functional)
时序仿真 (Timing Analysis)
三、EDA技术的应用
EDA技术的应用范畴很广 主要有: 1、PCB印制电路板的设计 2、ASIC全定制数字电路
的设计 3、FPGA/CPLD等可编程器
件上的电子系统设计
波形输入 (Wave)
ASIC设计平台 硬件语言编译工具
逻辑综合工具 功能分析工具 布局布线工具 版图生成工具 形式验证工具
半导体IC产品
“与”阵列 “或”阵列
一、可编程逻辑器件概述
EDA技术与VHDL程序设计基础教程
二、EDA技术的发展历程和未来展望
现代EDA技术是20世纪90年代初从计算机辅助设计、辅助制造和辅 助测试等工程概念发展而来的。它的成熟主要经历了三个阶段,即:
计算机辅助设计(CAD,Computer Aided Design) 计算机辅助工程设计(CAED,Computer Aided Engineering Design) 电子设计自动化(EDA,Electronic System DesignAutomation)。
11 111 111 11111111 11
&
≥1
&
≥1
&
≥1
&
≥1
1
三、 CPLD的基本结构和工作原理
1.输出逻辑宏单元 2.控制电路
3.全局布线区
属于ispLSI中的一种专用内部 互联结构。起作用是将GLB的 输出信号或I/O单元的输入信 号与GLB的输入端连接
EDA技术主要有四个方面: 1、可编程逻辑器件,即应用EDA技术完成电子系统设计的载体; 2、硬件描述语言(VHDL 或者 Verilog)。它用来描述系统的结构和功
能,是EDA的主要表达手段; 3、配套的软件工具。它用来完成电子系统的智能化设计; 4、实验开发系统。在整个EDA设计电子系统的过程中,实验开发系统是 实现可编程器件下载和验证的工具,
第2章
重点内容:
CPLD结构和工作原理 FPGA结构和工作原理 FPGA配置方式 CPLD/FPGA应用选型
一、可编程逻辑器件概述
可编程逻辑器件 PROM、PLA和PAL的原理和特性
PROM
基于二极管和三极管 的一次可编程PROM单 字线
元
二极管
上拉电阻
EDA技术实用教程第五章_VHDL设计初步
Signals vs. Variables
UTILITY:
SIGNALS
Represent Circuit Interconnect
Entity test1 is port (clk : in bit;
d : in bit; q : out bit); end test1; architecture body of test1 is signal q1 : bit ; begin process (clk,d) begin if (clk = ‘1’) then q1 <= d; end if; q <= q1 ; end process; end body;
How Many Registers?
ENTITY reg1 IS PORT ( d : in BIT; clk : in BIT; q : out BIT);
END reg1;
ARCHITECTURE reg1 OF reg1 IS SIGNAL a, b : BIT; BEGIN
PROCESS (clk) BEGIN IF clk='1' AND clk’event THEN
D触发器
ARCHITECTURE bhv OF DFF1 IS
SIGNAL Q1 : STD_LOGIC ; --类似于在芯片内部定义一个数据的暂存节点
BEGIN
PROCESS (CLK)
BEGIN
IF CLK'EVENT AND CLK = '1'
THEN Q1 <= D ;
END IF; Q <= Q1 ;
注意,此语句必须加入
4位加法 计数器
7段译码器
信
eda技术实用教程-veriloghdl答案
eda技术实用教程-veriloghdl答案【篇一:eda技术与vhdl程序开发基础教程课后答案】eda的英文全称是electronic design automation2.eda系统设计自动化eda阶段三个发展阶段3. eda技术的应用可概括为4.目前比较流行的主流厂家的eda软件有、5.常用的设计输入方式有原理图输入、文本输入、状态机输入6.常用的硬件描述语言有7.逻辑综合后生成的网表文件为 edif8.布局布线主要完成9.10.常用的第三方eda工具软件有synplify/synplify pro、leonardo spectrum1.8.2选择1.eda技术发展历程的正确描述为(a)a cad-cae-edab eda-cad-caec eda-cae-cadd cae-cad-eda2.altera的第四代eda集成开发环境为(c)a modelsimb mux+plus iic quartus iid ise3.下列eda工具中,支持状态图输入方式的是(b)a quartus iib isec ispdesignexpertd syplify pro4.下列几种仿真中考虑了物理模型参数的仿真是(a)a 时序仿真b 功能仿真c 行为仿真d 逻辑仿真5.下列描述eda工程设计流程正确的是(c)a输入-综合-布线-下载-仿真b布线-仿真-下载-输入-综合c输入-综合-布线-仿真-下载d输入-仿真-综合-布线-下载6.下列编程语言中不属于硬件描述语言的是(d)a vhdlb verilogc abeld php1.8.3问答1.结合本章学习的知识,简述什么是eda技术?谈谈自己对eda技术的认识?答:eda(electronic design automation)工程是现代电子信息工程领域中一门发展迅速的新技术。
2.简要介绍eda技术的发展历程?答:现代eda技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。
EDA技术与VHDL实用教程
EDA技术与VHDL实用教程
15
表0-1 EDA开发软件特性
厂商 EDA软件名称 软件适用器件系列 软件支持的描述方式
Altera
MAX+plusⅡ QuartusⅡ
MAX、FLEX等 MAX、FLEX、APEX等
逻辑图、波形图、 AHDL文本、VerilogHDL文本、VHDL文本 等
Xilinx
SX系列、MX系列 逻辑图、VHDL文本等
EDA技术与VHDL实用教计方法的缺点是: 1)复杂电路的设计、调试十分
困难。 2)如果某一过程存在错误,查 找和修改十分不便。 3)设计过程中产生大量文档, 不易管理。 4)对于集成电路设计而言,设 计实现过程与具体生产工艺直 接相关,因此可移植性差。 5)只有在设计出样机或生产出 芯片后才能进行实测。
EDA技术,电子设计师可以方便地实现IC 设计、电子电路设计和PCB设计等工作。
EDA技术与VHDL实用教程
3
广义的EDA技术,除了狭义的EDA技 术外,还包括计算机辅助分析CAA技术(如 PSPICE,EWB,MATLAB等),印刷电路 板计算机辅助设计PCB-CAD技术(如 PROTEL,ORCAD等)。
在广义的EDA技术中,CAA技术和 PCB-CAD技术不具备逻辑综合和逻辑适配 的功能,因此它并不能称为真正意义上的 EDA技术。
EDA技术与VHDL实用教程
4
狭义的EDA技术,就是以大规模可编 程逻辑器件为设计载体,以硬件描述语言 为系统逻辑描述的主要表达方式,以计算 机、大规模可编程逻辑器件的开发软件及 实验开发系统为设计开发工具的EDA技 术。
3、算法的实现
如:离散FFT变换、数字滤波器、浮点乘法器、高速宽位加法器、数字 振荡器、数字锁相环、调制解调器、图象DSP等电路的设计,时钟频 率一般在50MHz以上
《VHDL程序设计基础》课件
语法格式
library library_name; use library_name.packag e_name.item;
库的使用
在程序中引用库中的函 数、过程、数据类型等 。
示例
library IEEE; use IEEE.STD_LOGIC_116 4.ALL;
程序包(Package)
01 程序包描述
并行赋值语句
同时对多个信号进行赋值操作。
生成语句
用于生成多个相似的电路结构, 如多路选择器、译码器等。
04 VHDL设计方法
自顶向下设计方法
总词
从整体到局部的设计方法
详细描述
自顶向下设计方法是一种从整体到局部的设计方法,首先确定系统的整体结构 和功能,然后逐步细化各个模块的设计,最终完成整个系统的设计。这种方法 有助于提高设计的层次性和模块化,便于设计和调试。
状态机设计
总结词
通过实例演示如何使用VHDL设计状态机。
详细描述
介绍状态机的基本概念和设计方法,包括状态图的绘制、状 态转移的实现等。通过具体的VHDL代码实现一个有限状态机 ,并解释代码中的各个部分。
06 VHDL仿真与验证
仿真工具与流程
仿真工具
ModelSim、Vivado Simulation等常用的 VHDL仿真工具,支持多种仿真算法和精度 。
02 语法格式
03 包的内容
04 包的使用
05 示例
程序包是库的子集,用于 组织相关的函数、过程、 数据类型等。
package package_name is
在包中声明函数、过程、 数据类型等。
在其他程序中引用包中的 内容。
package logic_operators is function AND (A, B: in std_logic) return std_logic; function OR (A, B: in std_logic) return std_logic; end logic_operators;
EDA技术与VHDL实验指导书
EDA技术与VHDL实验指导书电气中心实验室编制2011-9前言《EDA技术与VHDL实验指导书》是与理论课程《EDA技术与VHDL》配套开出的,是电子信息工程等专业的一门专业选修课程,对电子信息工程等专业的学生具有非常重要的作用。
本实验课与理论课同时进行,与理论课有着较密切的联系。
因此学生在做本实验之前必须具备1.一定的C语言基础;2.电路与电子技术的基础知识;3.计算机辅助设计的基本操作能力;4.理论联系实践的自学能力。
学生学习完本实验课后,应具有1.能熟练使用Quartus II等EDA开发工具软件;2.掌握CPLD/FPGA芯片的基本使用方法,能用现代数字系统的设计方法进行基本的数字系统设计;3.掌握图形编辑和VHDL文本编辑两种设计方法,重点是VHDL文本编辑;4.具备基本的开发能力,为后续学习打下坚实的基础等方面能力。
从70 年代第一片可编程逻辑器件PROM的诞生到现在的CPLD/FPGA,数字系统的设计发生了本质的变化。
基于CPLD/FPGA和EDA(电子设计自动化)工具进行数字系统的设计与开发。
它代表了数字电信领域的最高水平,给数字电路的设计带来了革命性的变化。
从传统的对电路板的设计到现在的基于芯片的设计,使得数字系统设计的效率大大提高,产品更新速度大大加快,设计周期大大变短。
所以本科生学习本课程有着非常重要的意义。
本实验不同于其它实验,其实验手段和实验方法都有重大的变化,要求实验前提交预习报告,检查通过后方可实验,设计与综合实验环节。
本实验是在PC 平台上,用原理图或文本进行输入,然后进行编译,通过之后再进行波形仿真,如有缺陷,对源文件进行修改。
利用ISP技术、采用EDA工具、应用PLD 器件,在PC及EDA开发平台上进行。
实验一组合逻辑电路设计实验学时:3学时实验类型:验证实验要求:必做一、实验目的1.熟练掌握QuartusII开发工具软件;2.掌握门电路VHDL语言程序设计方法;3.掌握选择器VHDL语言程序设计方法;4.掌握加法器VHDL语言程序设计方法;5.熟悉VHDL编程的基本方法;二、实验原理1.二输入与门二输入与门是我们数字电路中的一个基础逻辑门电路,是最基本的逻辑门电路之一,也是最简单的逻辑门之一。
eda技术实用教程-veriloghdl答案
eda技术实用教程-veriloghdl答案【篇一:eda技术与vhdl程序开发基础教程课后答案】eda的英文全称是electronic design automation2.eda系统设计自动化eda阶段三个发展阶段3. eda技术的应用可概括为4.目前比较流行的主流厂家的eda软件有、5.常用的设计输入方式有原理图输入、文本输入、状态机输入6.常用的硬件描述语言有7.逻辑综合后生成的网表文件为 edif8.布局布线主要完成9.10.常用的第三方eda工具软件有synplify/synplify pro、leonardo spectrum1.8.2选择1.eda技术发展历程的正确描述为(a)a cad-cae-edab eda-cad-caec eda-cae-cadd cae-cad-eda2.altera的第四代eda集成开发环境为(c)a modelsimb mux+plus iic quartus iid ise3.下列eda工具中,支持状态图输入方式的是(b)a quartus iib isec ispdesignexpertd syplify pro4.下列几种仿真中考虑了物理模型参数的仿真是(a)a 时序仿真b 功能仿真c 行为仿真d 逻辑仿真5.下列描述eda工程设计流程正确的是(c)a输入-综合-布线-下载-仿真b布线-仿真-下载-输入-综合c输入-综合-布线-仿真-下载d输入-仿真-综合-布线-下载6.下列编程语言中不属于硬件描述语言的是(d)a vhdlb verilogc abeld php1.8.3问答1.结合本章学习的知识,简述什么是eda技术?谈谈自己对eda技术的认识?答:eda(electronic design automation)工程是现代电子信息工程领域中一门发展迅速的新技术。
2.简要介绍eda技术的发展历程?答:现代eda技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。
EDA技术与VHDL第五版教学设计
EDA技术与VHDL第五版教学设计前言EDA技术(Electronic Design Automation)是现代电子工程中不可或缺的技术手段。
EDA技术主要是指借助EDA(Electronic Design Automation)软件工具来进行电子系统及芯片的设计、生产和测试等各个环节中所需的CAD技术。
而VHDL(VHSIC Hardware Description Language)则是用来描述数字系统的硬件特性的一种表示语言。
本文将针对EDA技术和VHDL第五版的教学内容进行简要讨论。
EDA技术EDA技术的应用范围非常广泛,包括模拟电路和数码电路的设计、布局、验证和测试等各个环节。
EDA技术的使用可以大大简化电路设计的过程,提高电路设计的效率和准确性。
目前市面上主流的EDA软件有Altium Designer、Protel、PADS、Eagle、OrCAD等。
EDA技术在电子工程教育中的意义非常重要,对于培养学生的电路设计能力和实践能力有着重要作用。
在课堂教学中,可以通过以下几个方面来进行EDA技术的教学:1.EDA软件的基本操作首先,需要对常用的EDA软件进行介绍。
学生需要了解如何打开、创建和保存项目,如何进行电路设计和模拟,如何进行元器件库的管理等。
其中最重要的是掌握软件的快捷键和常用操作。
2.电路设计流程其次,需要讲解电路设计的流程,包括电路分析、元器件选型、电路设计、仿真和测试等各个环节。
通过实践操作,使学生掌握电路设计的基本流程和步骤。
3.实验实践最后,对于EDA技术的实验实践也是非常重要的一环。
学生可以通过设计一些小的实验电路,并进行仿真和测试,来巩固自己的掌握程度。
比如设计一个简单的加法器,然后通过仿真来验证电路的正确性。
VHDL第五版VHDL是一种常用的数字电路设计语言,它可以用来描述数字电路中各种电路的行为与结构。
VHDL第五版是目前最新版的VHDL标准。
学习VHDL第五版对于培养学生的数字电路实践能力具有非常重要的作用。
《EDA技术实用教程(第五版)》课后习题答案(第1~10章)
《EDA技术实用教程(第五版)》课后习题及答案1 习题1-1EDA技术与ASIC设计和FPGA开发有什么关系?FPGA在ASIC设计中有什么用途?P3~4EDA技术与ASIC设计和FPGA开发有什么关系?答:利用EDA 技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
FPGA在ASIC设计中有什么用途?答:FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA实现ASIC设计的现场可编程器件。
1-2 与软件描述语言相比,VHDL有什么特点? P4~6 答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?P6什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
EDA技术实用教程--VHDL版本(第五版)潘松课后习题答案
《EDA技术实用教程(第五版)》习题1 习题1-1EDA技术与ASIC设计和FPGA开发有什么关系?FPGA在ASIC设计中有什么用途?P3~4EDA技术与ASIC设计和FPGA开发有什么关系?答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
FPGA在ASIC设计中有什么用途?答:FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA实现ASIC设计的现场可编程器件。
1-2 与软件描述语言相比,VHDL有什么特点? P4~6答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU 而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?P6什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
EDA技术与VHDL实用教程
EDA技术与VHDL实用教程
EDA与传统电子设计方法的比较
FPGA和DSP芯片实现FIR滤波器的速度对比
8位FIR滤 FPGA的处理速度 达到相当速度所需DSP芯片的指令执行速度
波器阶数
单位: MSPS
单位:MIPS
8
104
832
16
24
101
103
1616
2472
32
EDA技术与VHDL实用教程
EDA技术与VHDL实用教程
11
VHDL语言是一种高级描述语言,适用于 电路高级建模,综合的效率和效果较好。
Verilog-HDL语言是一种低级的描述语言, 适用于描述门级电路,容易控制电路资源, 但其对系统的描述能力不如VHDL语言。
EDA技术与VHDL实用教程
12
(二)可编程逻辑器件 可编程逻辑器件(简称PLD)是一种由用户 编程来实现某种逻辑功能的新型逻辑器件。
Expert LEVER
Actel
EDA技术与VHDL实用教程
IspLSI、pLSI、 MACH等
SX系列、MX系列
逻辑图、VHDL文本等 逻辑图、VHDL文本等
16
Actel Designer
EDA与传统电子设计方法的比较
手工设计方法的缺点是: 1)复杂电路的设计、调试十分 困难。 2)如果某一过程存在错误,查 找和修改十分不便。 3)设计过程中产生大量文档, 不易管理。 4)对于集成电路设计而言,设 计实现过程与具体生产工艺直 接相关,因此可移植性差。 5)只有在设计出样机或生产出 芯片后才能进行实测。 EDA技术有很大不同: 1)采用硬件描述语言作为设计输入。 2)库(Library)的引入。 3)设计文档的管理。 4)强大的系统建模、电路仿真功能。 5)具有自主知识产权。 6)开发技术的标准化、规范化以及IP 核的可利用性。 7)适用于高效率大规模系统设计的自 顶向下设计方案。 8)全方位地利用计算机自动设计、仿 真和测试技术。 9)对设计者的硬件知识和硬件经验要 求低。 10)高速性能好。 11)纯硬件系统的高可靠性。
EDA技术和VHDL设计第5章 VHDL基本语句
第5章 VHDL基本语句
【例5-4】
L1 -------------------------------------------------------------------------------------------------------------------------
L2 LIBRARY ieee;
L11 ARCHITECTURE bhv OF example3 IS
L12 BEGIN
L13
y1<=a1+1;
L14
y2<=a2+1;
L15
y3<=a3+1;
L16 END;
L17 -------------------------------------------------------------------------------------------------------------------------
L10 ARCHITECTURE construct OF example2 IS
L11 BEGIN
L12
z <= c OR y;
L13
y <= NOT x;
L14
x <= a AND b;
L15 END;
L16 -------------------------------------------------------------------------------------------------------------------------
8
第5章 VHDL基本语句
正如图5-2的硬件电路图所表明的,只有当信号a或者b的 值改变后才能执行赋值语句“x <= a AND b;”,即信号a或b的 值改变之前信号x的值不会发生变化。同样,信号x的值改变之 前,y的值也不会发生变化;信号c或y的值改变之前,z的值也 不会发生变化。由此可以看出,VHDL代码的执行是由事件控 制的,这就意味着并行VHDL语句可以按任意顺序书写,其设 计的功能不变。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构体
图5-2 mux21a结构体
2020/5/20
5.1.1 2选1多路选择器的VHDL描述
【例5-2】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a;
mux21a IS BEGIN y <= (a AND (NOT s))
OR (b AND s) ; END ARCHITECTURE one;
5.1.1 2选1多路选择器的VHDL描述
2020/5/20
【例5-4】 ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT );
– 译码器、编码器、加减法器、多路选择器、地址译码器…...
• 状态机 • 等等……..
2020/5/20
VHDL的功能和标准
• VHDL 描述
– 输入端口 – 输出端口 – 电路的行为和功能
• VHDL有过两个标准:
– IEEE Std 1076-1987 (called VHDL 1987) – IEEE Std 1076-1993 (called VHDL 1993)
• “ tell me how your circuit should behave and the VHDL compiler will give you the hardware that does the job”
• but the designer can not control how the circuit implement
5.1.1 2选1多路选择器的VHDL描述
图5-3 mux21a功能时序波形
2020/5/20
5.1.2 VHDL相关语句说明
1. 实体表达
【例5-5】 ENTITY e_name IS PORT ( p_name : port_m data_type;
... p_namei : port_mi data_type ); END ENTITY e_name;
Entity test1 is port (clk : in bit;
d : in bit; q : out bit); end test1; architecture body of test1 is signal q1 : bit ; begin process (clk,d) begin if (clk = ‘1’) then q1 <= d; end if; q <= q1 ; end process; end body;
2020/5/20
2020/5/20
How Many Registers?
ENTITY reg1 IS PORT ( d : in BIT; clk : in BIT; q : out BIT);
END reg1;
ARCHITECTURE reg1 OF reg1 IS SIGNAL a, b : BIT; BEGIN
2020/5/20
是什么是VHDL?
Very high speed integrated Hardware Description Language (VHDL)
– 是IEEE、工业标准硬件描述语言 – 用语言的方式而非图形等方式描述硬件电路
• 容易修改 • 容易保存
– 特别适合于设计的电路有:
• 复杂组合逻辑电路,如:
ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT;
BEGIN d <= a AND (NOT S) ; e <= b AND s ; y <= d OR e ;
END ARCHITECTURE one ;
2020/5/20
【例5-3】 ... ARCHITECTURE one OF
PROCESS (clk) BEGIN IF clk='1' AND clk’event THEN
a <= d; b <= a; q <= b; END IF; END PROCESS; END reg1;
2020/5/20
2020/5/20
How Many Registers?
ENTITY reg1 IS PORT ( d : in BIT; clk : in BIT; q : out BIT);
(说明语句)
BEGIN (功能描述语句)
END arch_name ;
7. 信号传输(赋值)符号和数据比较符号
2020/5/20
5.1.2 VHDL相关语句说明
8. 逻辑操作符AND、OR、 NOT 9. IF_THEN条件语句
10. WHEN_ELSE条件信号赋值语句
赋值目标 <= 表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 ELSE ... 表达式 ;
11. PROCESS进程语句和顺序语句
12. 文件取名和存盘
2020/5/20
5.1.3 VHDL设计的基本概念和语句小节
实体
结构体
端口定义 端口模式
数据类型 信号赋值符 条件比较符 延时
逻辑操作符 IF条件语句 并行条件语句 进程语句
顺序语句
2020/5/20
并行语句
文件取名
文件存盘
5.2 寄存器描述及其VHDL语言现象
D触发器
SIGNAL Q1 : STD_LOGIC ; --类似于在芯片内部定义一个数据的暂存节点
BEGIN
PROCESS (CLK)
BEGIN
IF CLK'EVENT AND CLK = '1'
THEN Q1 <= D ;
END IF; Q <= Q1 ;
--将内部的暂存数据向端口输出
END PROCESS ; END202b0h/5v/2;0
OUT
IN
INOUT
BUFFER
5. 数据类型BIT
2020/5/20
5.1.2 VHDL相关语句说明
6. 结构体表达
【例5-7】
ARCHITECTURE arch_name OF e_name IS (说明语句)
BEGIN (功能描述语句)
END ARCHITECTURE arch_name ; 或: 【例5-8】 ARCHITECTURE arch_name OF e_name IS
–
“tell me what hardware you want and
I will give it to you”
2020/5/20
Why using VHDL instead of Graphic
• Easy to Modify • It is more powerful than Graphic • VHDL is a portable language because
4位锁存器
输出反馈
锁存信号
2020/5/20
用VHDL设计7段16进制译码器
2020/5/20
用CASE语句完成真值表的功能
向7段数码 管输出信号, 最高位控制 小数点
2020/5/20
注意,此语句必须加入
4位加法 计数器
7段译码器
信
8位总线输出
号 输
ENTITY mux21a IS PORT( a, b : IN BIT ;
s : IN BIT; y : OUT BIT ) ; END ENTITY mux21a ;
实体
图5-1 mux21a实体
ARCHITECTURE one OF mux21a IS BEGIN y <= a WHEN s = '0' ELSE
5.2.1 D触发器的VHDL描述
【例5-9】 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS
PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC );
END ; ARCHITECTURE bhv OF DFF1 IS
用VHDL设计4位计数器
取整数数据类型号模式取 BUFFER,为什么?
整数取值范围
B0 1
A
01 01 10
注意整数和位的不同表达方式!
2020/5/20
修改后的程序
运算符加载
注意,信号 端口模式和 数据类型的 改变!
注意,引 进内部信 号矢量!
组合电路加1器
比较用5种不同语句的D触发器VHDL程序
Entity test1 is port (clk, d : in bit;
q : out bit); end test1; architecture body of test1 is signal q1 : bit ; begin process (clk) begin if clk='1' AND clk’last_value='0'
或:
2020/5/20
【例5-6】 ENTITY e_name IS PORT ( p_name : port_m data_type;
... p_namei : port_mi data_type ); END e_name;
5.1.2 VHDL相关语句说明
2. 实体名
3. PORT语句和端口信号 名 4. 端口模式
END reg1;
ARCHITECTURE reg1 OF reg1 IS BEGIN
PROCESS (clk) VARIABLE a, b : BIT; BEGIN IF clk='1' AND clk’event THEN