《EDA 技术》全册配套课件.ppt

上传人(卖家):罗嗣辉 文档编号:2038250 上传时间:2022-01-17 格式:PPT 页数:510 大小:9.67MB
下载 相关 举报
《EDA 技术》全册配套课件.ppt_第1页
第1页 / 共510页
《EDA 技术》全册配套课件.ppt_第2页
第2页 / 共510页
《EDA 技术》全册配套课件.ppt_第3页
第3页 / 共510页
《EDA 技术》全册配套课件.ppt_第4页
第4页 / 共510页
《EDA 技术》全册配套课件.ppt_第5页
第5页 / 共510页
点击查看更多>>
资源描述

1、EDA 技术全册配套课件技术全册配套课件2EDA 技术3本课程安排:本课程安排: 学时:48学时(课堂教学24学时,上机实验24学时)课堂教学内容:课堂教学内容: 第一章、EDA技术与PLD概述 第二章、Altera及Xilinx可编程逻辑器件 第三章、MAX+PLUS 开发系统入门 第四章、硬件描述语言VHDL 第五章、实验系统箱介绍 第六章、VHDL设计应用实例教学目的:教学目的: 了解一类器件,掌握一门设计语言,熟悉一种设计工具。4实验教学内容及要求:实验教学内容及要求: 分6次共24学时。 实验一:一位全加器的设计; 实验二:0-999计数器及七段译码显示电路设计; 实验三:扫描显示电

2、路设计; 实验四:数字频率计的设计及实现。(3次) 掌握 EDA开发系统 MAX+PLUS II,从简单的电路设计入手,到最后能够设计比较复杂的电子系统。培养利用EDA技术设计电路系统的实际动手能力。实验教学目的:实验教学目的: 了解一类可编程逻辑器件,掌握一门硬件描述 语言,熟悉使用一种EDA设计工具,设计自己的芯片。5教材及参考资料教材及参考资料教材:教材: EDA技术及应用谭会生、张昌凡 编著 西安电子科技大学出版社参考资料:参考资料: CPLD技术及其应用宋万杰 等编著 西安电子科大出版社出版 VHDL硬件描述语言与数字逻辑电路设计 侯伯亨 顾新 等编著 西安电子科技大学出版社 CPL

3、D/FPGA的开发和应用徐光辉 等编著 电子工业出版社出版 6EDA技术的相关网址: 7 第一章第一章 EDAEDA技术概述技术概述1.1 EDA1.1 EDA技术及其发展技术及其发展 一、什么是一、什么是EDAEDA? Electronic Design Automation 即电子设计自动化。二、二、EDAEDA技术发展的三个阶段:技术发展的三个阶段:1、早期电子CAD阶段 20世纪70年代,属EDA技术发展初期。利用计算机、二维图形编辑与分析的CAD工具,完成布图布线等高度重复性的繁杂工作。 典型设计软件如Tango布线软件。8 20世纪80年代初,出现了低密度的可编程逻辑器件(PAL_

4、Programmable Array Logic 和GAL_Generic Array Logic),相应的EDA开发工具主要解决电路设计没有完成之前的功能检测等问题。 80年代后期,EDA工具已经可以进行初级的设计描述、综合、优化和设计结果验证。 2 2、计算机辅助工程设计、计算机辅助工程设计CAECAE阶段阶段9 20世纪90年代,可编程逻辑器件迅速发展,出现功能强大的全线EDA工具。具有较强抽象描述能力的硬件描述语言(VHDL、Verilog HDL)及高性能综合工具的使用,使过去单功能电子产品开发转向系统级电子产品开发(即SOC_ System On a Chip:单片系统、或片上系统

5、集成)。 开始实现“概念驱动工程”(Concept Driver Engineering, CDE )的梦想。 3 3、电子设计自动化、电子设计自动化(EDA)(EDA)阶段阶段10三、三、EDAEDA的广义定义范围包括:的广义定义范围包括:1、半导体工艺设计自动化;2、可编程器件设计自动化;3、电子系统设计自动化;4、印刷电路板设计自动化;5、仿真与测试、故障诊断自动化;6、形式验证自动化。 以上各部分统称为EDA工程11 以大规模可编程逻辑器件大规模可编程逻辑器件为设计载体,以硬件硬件描述语言描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程器件的开发软件开发软件及实验开发系统实

6、验开发系统为设计工具,自动完成用软件方式描述的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门多学科融合的新技术。 四、四、EDAEDA技术的技术的狭义定义:狭义定义:1213 一、传统设计方法:传统设计方法:自下而上(Bottom - up)的 设计方法,是以固定功能元件为基础,基于电 路板的设计方法。固定功能元件电路板设计完整系统构成系统调试、测试与性能分析系统功能需求1.2 1.2 传统设计方法和传统设计方法和 EDAEDA方法的区别:方法的区别:输

7、入输出14 1. 设计依赖于设计师的经验。 2. 设计依赖于现有的通用元器件。 3. 设计后期的仿真不易实现和调试复杂。 4. 自下而上设计思想的局限。 5. 设计实现周期长,灵活性差,耗时 耗力,效率低下。 传统设计方法的缺点:传统设计方法的缺点:15 二、二、 EDAEDA方法方法:自上而下(Top - Down)的设计方法。其方案验证与设计、系统逻辑综合、布局布线、性能仿真、器件编程等均由 EDA工具一体化完成。设计思想不同: 自上而下(Top - Down)的设计方法。 自上而下是指将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大,则还需将子系统进一步分解为更小的子系统和模

8、快,层层分解,直至整个系统中各个子系统关系合理,并便于逻辑电路级的设计和实现为止。 自上而下设计中可逐层描述,逐层仿真,保证满足系统指标。16系统规格设计功能级描述功能级仿真逻辑综合、优化、布局布线定时仿真、定时检查输出门级网表ASIC芯片投片、PLD器件编程、测试ASIC:Application Specific Integrated Circuits, PLD: Programmable Logic Devices17三、传统方法与三、传统方法与EDAEDA方法比较:方法比较: 传统方法1.从下至上2.通用的逻辑元、器件3.系统硬件设计的后期 进行仿真和调试4.主要设计文件是电原 理图 E

9、DA方法1.自上至下2.可编程逻辑器件3.系统设计的早期进行仿 真和修改4.多种设计文件,发展趋 势以 HDL描述文件为主5.降低硬件电路设计难度 EDA技术极大地降低硬件电路设计难度,提高设计效率,是电子系统设计方法的质的飞跃。181.3 EDA1.3 EDA技术的主要内容技术的主要内容实现载体:大规模可编程逻辑器件 (PLD:Programmable Logic Device)描述方式:硬件描述语言 (HDL:Hardware descripation Lauguage) VHDL、Verlog HDL等设计工具:开发软件、开发系统硬件验证:实验开发系统19 FPGA:Field Prog

10、rammable Gates Array CPLD:Complex Programmable Logic Device 主流公司:Xilinx、Altera、Lattice、Actel FPGA/CPLD 显著优点: 开发周期短、投资风险小、产品上市速 度快、市场适应能力强、硬件修改升级方 便。一、一、 大规模可编程逻辑器件大规模可编程逻辑器件20 三类器件的主要性能指标比较 ASIC:Application Specific Integrated Circuits指 标PLDASIC分离式逻辑速 度很好很好差集成度很好很好差价 格很好很好差开发时间很好差较好样品及仿真时间很好差差制造时间很好

11、差较好使用的难易成度很好差较好库存风险很好差较好开发工具的支持很好很好差21 VHDL:IEEE标准,系统级抽象描述能力较强。 Verilog: IEEE标准,门级开关电路描述能力 较强。 ABEL: 系统级抽象描述能力差,适合于门级 电路描述。二、二、 硬件描述语言硬件描述语言 (HDL_Hardware Description Language)22EDA开发工具分为: 集成化的开发系统: 特定功能的开发软件:综合软件 仿真软件三、软件开发工具三、软件开发工具23Altera 公司:Quartus、Maxplus系列Xilinx 公司:ISE、Foundation、 Aillance系列L

12、attice公司:ispDesignEXPERT 系列Actel公司: Libero集成化的开发系统24 综合类: Synplicity公司的Synplify/Synplify Pro Synopsys公司的FPGAexpress、FPGA compiler Mentor公司的 LeonardoSpectrum 仿真类: Model Tech公司的Modelsim Aldec 公司的 Active HDL Cadence公司的NC-Verilog、NC-VHDL、NC-SIM 特定功能的开发软件25 四、实验开发系统四、实验开发系统 26 一、设计输入子模块一、设计输入子模块 用图形编辑器、文

13、本编辑器作设计描述, 完成语义正确性、语法规则的检查。二、设计数据库子模块二、设计数据库子模块 系统的库单元、用户的设计描述、中间设计结果。三、分析验证子模块三、分析验证子模块 各个层次的模拟验证、设计规则的检查、故障诊断。1.4 EDA1.4 EDA软件系统的构成软件系统的构成27 四、综合仿真子模块四、综合仿真子模块 实现从高层抽象描述向低层次描述的自动转换,及各个层次的仿真验证。五、布局布线子模块五、布局布线子模块 完成由逻辑设计到物理实现的映射。28 一、一、 EDAEDA技术的发展趋势技术的发展趋势 1、广度上:大型机工作站微机 2、深度上: ESDA:(Electronic Sys

14、tem Design Automation ) CE: (Concurrent Engineering 并行设 计工程) 单芯片集成:(SOC/SOPC:System On a Programmable Chip)1.5 EDA1.5 EDA技术及技术及EDAEDA工具的发展趋势工具的发展趋势 29ESDA: ESDA软件集成系统的构成和设计、仿真过程技术要求系统目标定义算法建立与仿真验证任务分解、定义设计规范系统级仿真硬件系统设计VHDL、AHDL设计数字电路设计模拟电路设计综合与优化优化设计硬件仿真库电路级仿真器件模拟库电路结构与模块划分ASIC方式综合优化ASIC模拟库PLD、FPGA器

15、件库PCB、MCM实现方式数模混合电路优化PLD、FPGA方式综合优化电路级验证、布局布线器设计参数提取和仿真验证系统调试、系统测试测试仪器仪表行为功能设计验证算法软件控制软件设计系统专用开发系统微控制器总体要求、算法建立专用控制系统PLD的设计30并行工程(CE): CE是将电子产品及相关制造直至销售、维护全过程统一进行设计的一种方法,其核心是产品设计对象的全面可预见性。 CE要求从管理层次上把工艺、工具、任务、智力和时间的安排协调一致,使用统一的集成化设计环境,由若干个相关的设计小组共享数据库,同步地进行设计。 并行工程(CE)和自上而下(Top-Down)设计方法被誉为构成现代电子产品开

16、发方式的两大特征。体现了设计策略的变革。31电子系统的发展趋势:SOC/SOPC存储器、P、PLD等多合一32二、二、EDAEDA工具的发展趋势工具的发展趋势 1、输入工具 发展趋势是以硬件描述语言(HDL)为主。 2、混合信号处理能力 数/模混合信号的处理 数字信号的描述:VHDL、Verilog HDL 模拟信号的描述:AHDL 微波信号的描述:MHDL 333、仿真工具 仿真分为: 功能仿真:又称前仿真、系统级仿真或行为仿 真,用于验证系统的功能。 时序仿真:又称后仿真、电路级仿真,用于验 证系统的时序特性、系统性能。 仿真是系统验证的主要手段,是整个电子设 计过程中花费时间最多的环节。

17、4、综合工具 综合:由高层次描述自动转换为低层次描述的过 程。是EDA技术的核心。34EDA设计的描述层次:行为级描述寄存器传输级描述(RTL)门级描述版图级描述设计前端设计后端综合分为:行为综合、逻辑综合、前端综合、 版图综合、测试综合351.6 EDA1.6 EDA的工程设计流程的工程设计流程文本编辑器、图形编辑器 VHDL综合器(逻辑综合、优化) FPGA/CPLD布线/适配器(自动优化、布局、布线、适配)VHDL仿真器(行为仿真、 功能仿真、 时序仿真)编程器/下载电缆(编程、下载) 测试电路(硬件测试) 网表文件(EDIF、XNL、 VHDL)门级仿真器(功能仿真、 时序仿真)各种编

18、程文件36 1、采用自顶向下(Top - Down)的设计方法; 2、采用系统早期仿真; 3、多种设计描述方式; 4、高度集成化的EDA开发系统; 5、PLD在系统(在线)编程(ISP)能力; 6、可实现单片系统集成(SOC_System On a Chip),减少产品体积、重量,降低综合成本; 7、提高产品的可靠性; 8、提高产品的保密程度和竞争能力; 9、降低电子产品的功耗; 10、提高电子产品的工作速度。EDA技术的优点:37第一章思考题:第一章思考题: 1、EDA技术的基础是什么? 2、构成现代数字系统的基本模块是什么? 3、EDA技术的含义和内容是什么? 4、比较电子系统传统设计方法

19、和采用EDA技术设计 方法的区别。 5、EDA技术有哪些突出的优点? 6、你认为EDA技术的核心是什么?请详细说明理由。 7、一个电子系统可由单片机技术实现,也可由EDA 技术实现,请比较两种方案各自的特点。38 第三章第三章 硬件描述语言(硬件描述语言(VHDLVHDL)39 VHDL: HSIC (Very High Speed Integrated Circuit) ardware escription anguage3.1 3.1 概述概述一、什么是一、什么是VHDLVHDL?40 80年代初由美国国防部在实施超高速集成电路(VHSIC)项目时开发的。 1987年由 IEEE 协会批准

20、为 IEEE 工业标准,称为 IEEE1076-1987。 各EDA公司相继推出支持VHDL的设计环境。 1993年被更新为 93 标准,即IEEE1076-1993。进一步提高抽象描述层次,扩展系统描述能力。二、二、VHDLVHDL的历史的历史41 1、VHDL打破软、硬件的界限 传统的数字系统设计分为: 硬件设计(硬件设计人员) 软件设计(软件设计人员) VHDL是电子系统设计者和 EDA工具之间的界面。三、三、VHDLVHDL的作用的作用 EDA工具及 HDL的流行,使电子系统向集 成化、大规模和高速度等方向发展。 美国硅谷约有80%的 ASIC和 FPGA/CPLD 已采用 HDL进行

21、设计。422、VHDL与C、C+的比较: C、C+ 代替汇编等语言 VHDL 代替原理图、逻辑状态图等3、VHDL与电原理图描述的比较: VHDL具有较强的抽象描述能力,可进行系统 行为级别的描述。描述简洁,效率高。 VHDL描述与实现工艺无关。 电原理图描述需给出完整、具体的电路结构 图,不能进行抽象描述。描述繁杂,效率低。 电原理图描述与实现工艺有关。43 1、VHDL具有强大的语言结构,系统硬件描述能 力强、设计效率高;具有较高的抽象描述能力。 如:一个可置数的16位计数器的电原理图:四、四、VHDLVHDL语言特点语言特点44用VHDL描述的可置数16位计数器:45 2、VHDL语言可

22、读性强,易于修改和发现错误。 3、VHDL具有丰富的仿真语句和库函数,可对 VHDL源代码进行早期功能仿真,有利于大系统的设计与验证。 4、VHDL设计与硬件电路关系不大。 5、VHDL设计不依赖于器件,与工艺无关 。 6、移植性好。 7、VHDL体系符合TOP-DOWN和CE(并行工程)设计 思想。 8、VHDL设计效率高,产品上市时间快,成本低。 9、易于ASIC实现。46VHDL: 具有较强的系统级抽象描述能力,适合行为级和 RTL级的描述。设计者可不必了解电路细节,所作工作较少,效率高。但对综合器的要求高,不易控制底层电路的生成。IEEE标准,支持广泛。 行为级RTL级门电路级RTL:

23、 Register Translate Level47Verilog HDL : 系统级抽象描述能力比VHDL稍差;门级开关电路描述方面比 VHDL 强。适合 RTL级和门电路级的描述。设计者需要了解电路细节,所作工作较多。IEEE标准,支持广泛。 ABEL、PALASM、AHDL(Altera HDL): 系统级抽象描述能力差,一般作门级 电路描述。要求设计者对电路细节有详细的了解。对综合器的性能要求低,易于控制电路资源。支持少。48 VHDL主要用于描述数字系统的结构、行 为、功能和接口。 VHDL将一个设计(元件、电路、系统) 分为: 外部(可视部分、端口) 内部(不可视部分、内部功能、

24、算法)六、六、VHDLVHDL设计简述设计简述49外部与内部:器件或子系统 ARCHITECTURE Process ProcessENTITYSequentialProcessCombinational Processportsportscomponentportsports502选1选择器的VHDL描述: Library ieee;Use ieee.std_logic_1164.all;Entity mux21 isPort(a,b: in std_logic; s: in std_logic; y: out std_logic);End mux21 ;Architecture mux_a

25、rch of mux21 isBegin y = a when s = 0 else b ;End mux_arch ;库程序包的说明实体结构体51 VHDL语言由保留关键字组成; 一般,VHDL语言对字母大小写不敏感; 例外: 、“ ”所括的字符、字符串; 每条VHDL语句由一个分号(;)结束; VHDL语言对空格不敏感,增加可读性; 在“-”之后的是VHDL的注释语句; VHDL有以下描述风格: 行为描述; 数据流(寄存器传输RTL)描述; 结构化描述; VHDLVHDL语言的一些基本特点:语言的一些基本特点:52基本结构包括基本结构包括: 实体(Entity) 结构体(Architect

26、ure) 配置(Configuration) 库(Library)、程序包(Package)3.2 VHDL3.2 VHDL程序基本结构程序基本结构53 库、程序包 实体(Entity) 结构体 (Architecture) 进程 或其它并行结构 配置(Configuration)54一、实体(说明)一、实体(说明) 实体(说明): 定义系统的输入输出端口 语法: ENTITY IS Generic Declarations Port DeclarationsEND ; (1076-1987 version)END ENTITY ; ( 1076-1993 version)551 1、类属说明

27、、类属说明 类属说明: 确定实体或组件中定义的局部常数。模 块化设计时多用于不同层次模块之间信息的 传递。可从外部改变内部电路结构和规模。 类属说明必须放在端口说明之前。 Generic ( 常数名称:类型 := 缺省值 常数名称:类型 := 缺省值 );56类属常用于定义: 实体端口的大小、 设计实体的物理特性、 总线宽度、 元件例化的数量等。例: entity mck is generic(width: integer:=16); port(add_bus:out std_logic_vector (width-1 downto 0); 57例:2输入与门的实体描述 entity and2

28、 is generic(risewidth: time:= 1 ns; fallwidth: time:= 1 ns); port(a1: in std_logic; a0: in std_logic; z0: out std_loigc); end entity and2; 注:数据类型 time 用于仿真模块的设计。 综合器仅支持数据类型为整数的类属值。58其中,端口模式: in: 输入型,此端口为只读型。 out: 输出型,只能在实体内部对其赋值。 inout:输入输出型,既可读也可赋值。 buffer: 缓冲型,与 out 相似,但可读。Port ( 端口名称,端口名称:端口模式 数据

29、类型; 端口名称,端口名称:端口模式 数据类型 );2 2、端口声明、端口声明端口声明:确定输入、输出端口的数目和类型。59out 和 buffer 的区别:inout 和 buffer 的区别:60 指端口上流动的数据的表达格式。为预先定义好的数据类型。 如:bit、bit_vector、integer、 std_logic、std_logic_vector 等。3 3、数据类型:、数据类型: 61作用:定义系统(或模块)的行为、元件及内部 的连接关系,即描述其逻辑功能。两个组成部分: 对数据类型、常数、信号、子程序、元件等 元素的说明部分。 以各种不同的描述风格描述的系统的逻辑功 能实现的

30、部分。常用的描述风格有:行为描 述、数据流描述、 结构化描述。二、结构体二、结构体62结构体结构体说明结构体功能描述 常数说明 数据类型说明 信号说明 例化元件说明 子程序说明 块语句 进程语句 信号赋值语句 子程序调用语句 元件例化语句 63实体与结构体的关系:设计实体结构体1结构体2结构体3结构体n。 一个设计实体可有多个结构体,代表实体的多种实现方式。各个结构体的地位相同。64注:同一实体的结构体不能同名。定义语句中的 常数、信号不能与实体中的端口同名。architecture 结构体名称 of 实体名称 is 说明语句内部信号、常数、 数据类型、子程序(函数、过程)、 元件等的说明;

31、begin 并行处理(功能描述)语句; end architecture 结构体名称;结构体的语法:65例:结构体中错误的信号声明Entity x isPort(sig, const: in bit ; out1, out2: out bit);End x ;Architecture example of x isSignal sig : bit ;Constant const: bit:= 1 ;Begin End example ;66例:一个完整描述(3 bit 计数器)entity conter3 isport(clk, reset: in bit ; count: out integ

32、er range 0 to 7);end counter3 ;architecture my_arch of counter3 is signal count_tmp: integer range o to 7 ;begin process begin wait until clkevent and clk = 1 ; if reset = 1 or count_tmp = 7 then count_tmp = 0 ; else count_tmp = count_tmp + 1 ; end if ; end process ;Count = count_tmp ;end my_arch ;6

33、73bit计数器的等效描述(与的区别):entity conter3 isport(clk, reset: in bit ; count: buffer integer range 0 to 7);end counter3 ;architecture my_arch of counter3 is - signal count_tmp: integer range o to 7 ;begin process begin wait until clkevent and clk = 1 ; if reset = 1 or count = 7 then count = 0 ; else count =

34、 count + 1 ; end if ; end process ;end my_arch ;If reset = 1 then count = 0 ;Else count = count + 1 ;End if ;68三、配置三、配置设计实体结构体1结构体2结构体3结构体n。一个设计实体的多种实现方式配置:从某个实体的多种结构体描述方式中选择 特定的一个。69configuration 配置名 of 实体名 is for 选配结构体名 end for ;end 配置名;简单配置的语法:70 library ieee; use ieee.std_logic_1164.all; entity

35、nand is port(a: in std_logic; b: in std_logic; c: out std_logic); end entity nand; architecture art1 of nand is begin c=not (a and b); end architecture art1;例:一个与非门不同实现方式的配置如下: 71architecture art2 of nand is begin c=1 when (a=0) and (b=0) else 1 when (a=0) and (b=1) else 1 when (a=1) and (b=0) else

36、0 when (a=1) and (b=1) else 0; end architecture art2;72configuration first of nand is for art1; end for; end first; configuration second of nand is for art2 end for; end second;73例:一个对计数器实现多种形式的配置如下:7475程序包:程序包: 已定义的常数、数据类型、元件调用说明、子程序的一个集合。 目的:方便公共信息、资源的访问和共享。库:库: 多个程序包构成库。 四、四、 程序包、库程序包、库76程序包说明的内容

37、: 常量说明; VHDL数据类型说明; 元件说明; 子程序说明;程序包的结构包括: 程序包说明(包首) 程序包主体(包体)77包声明项可由以下语句组成: use 语句(用来包括其它程序包); 类型说明;子类型说明;常量说明; 信号说明;子程序说明;元件说明。 package 程序包名 is 包说明项 end 程序包名;1 1、程序包说明(包首)、程序包说明(包首)语法:78例:程序包说明79包体说明项可含: use 语句;子程序说明;子程序主体;类型说明;子类型说明;常量说明。 package body 程序包名 is 包体说明项 end 程序包名;2 2、程序包包体、程序包包体程序包的内容:

38、子程序的实现算法。包体语法:80程序包首与程序包体的关系: 程序包体并非必须,只有在程序包中要说明子程序时,程序包体才是必须的。 程序包首可以独立定义和使用。如下: 81package seven ispackage seven is subtype segments is bit_vector(0 to 6); subtype segments is bit_vector(0 to 6); type bcd is integer range 0 to 9; type bcd is integer range 0 to 9;end seven; end seven; library work;

39、library work;use work.seven.all;use work.seven.all;entity decoder isentity decoder is port(input: in bcd; port(input: in bcd; drive: out segments); drive: out segments);end decoder;end decoder;architecture art of decoder isarchitecture art of decoder isbeginbegin82 with input select with input selec

40、t drive=B drive=B“11111101111110” when 0, when 0, B B“01100000110000” when 1, when 1, B B“11011011101101” when 2, when 2, B B“11110011111001” when 3, when 3, B B“01100110110011” when 4, when 4, B B“10110111011011” when 5, when 5, B B“10111111011111” when 6, when 6, B B“11100001110000” when 7, when 7

41、, B B“11111111111111” when 8, when 8, B B“11110111111011” when 9, when 9, B B“00000000000000” when others; when others;end architecture art;end architecture art;abcdefg833 3、库的种类、库的种类 VHDL库可分为 5种: 1 1)IEEE IEEE 库库 定义了四个常用的程序包: std_logic_1164 std_logic_1164 (std_logic types & related functions) std_l

42、ogic_arith std_logic_arith (arithmetic functions) std_logic_signed std_logic_signed (signed arithmetic functions) std_logic_unsigned std_logic_unsigned (unsigned arithmetic functions) 84 Type STD_LOGIC:9 logic value system (U, X, 0, 1, Z, W,L, H, -) W, L, H” weak values (Not supported by Synthesis)

43、X - (not x)used for unknown Z - (not z) used for tri-state - Dont Care 85 2 2)STD STD 库(默认库)库(默认库) 库中程序包为:standard, 定义最基本的数据类型: Bit,bit_vector ,Boolean, Integer,Real,and Time注:Type Bit is (0,1); 3 3)面向)面向ASICASIC的库的库 4 4)WORKWORK库(默认库)库(默认库) 5 5)用户定义库)用户定义库864 4、库及程序包的使用、库及程序包的使用 库及程序包的说明总是放在实体单元前面,

44、默认库及程序包可不作说明。用关健字library 说明要使用的库,用关健字 use 说明要使用的库中的程序包。 库及程序包的作用范围:仅限于所说明的设计实体。 每一个设计实体都必须有自已完整的库及程序包说明语句。87 库、程序包 实体(Entity) 结构体 (Architecture) 进程 或其它并行结构 配置(Configuration)88库的使用语法:程序包的使用有两种常用格式: 例: library ieeelibrary ieee; use ieee.std_logic_1164.alluse ieee.std_logic_1164.all; use ieee.std_logic

45、_unsigned.conv_integer;use ieee.std_logic_unsigned.conv_integer; library 库名; use 库名程序包名项目名 use 库名程序包名All;892 选 1 选择器:Library ieee;Use ieee.std_logic_1164.all;Entity mux21 isPort(a,b: in std_logic; s: in std_logic; y: out std_logic);End mux21 ;Architecture mux_arch of mux21 isBegin y = a when s = 0 e

46、lse b ;End mux_arch ;902选1的另一种描述Entity mux21 isPort(a,b: in bit; s: in bit; y: out bit);End mux21 ;Architecture mux_arch of mux21 isBegin y = a when s = 0 else b ;End mux_arch ;91四类语言要素:四类语言要素: 数据对象(Data Object) 数据类型(Data Type) 操作数(Operands) 操作符(Operator)3.3 VHDL3.3 VHDL语言要素语言要素92一、一、VHDLVHDL文字规则文字规

47、则1、数字型文字 1)整数文字:十进制整数 如:5,678,156E2(=15600), 45_234_287 (=45234287) 2)实数文字:带小数的十进制数 如:23.34,2.0,44.99E-2(=0.4499) 8_867_551.23_909(8867551.23909)93 3)以数制基数表示的文字 格式: 如:10#170#(=170) 2#1111_1110#(=254) 16#E#E1(=2#1110_0000# =224) 或:(=1416=224) 16#F.01#E+2 (=(15+1/(1616)1616=3841.00) 基数#数字文字#E指数94 4)物理

48、量文字 如:60 s、100 m、 177 mA 注:整数可综合实现; 实数一般不可综合实现; 物理量不可综合实现;952、字符串型文字(文字串和数字串) 按字符个数多少分为: 字符:用单引号引起来的ASCII字符,可以 是数值,也可以是符号或字母。 如:0 , 1, X , Z, A,*, 2 字符串:用双引号引起来的一维字符数组可综合不可综合96字符串分为: 1)文字字符串:“文字” 如:“ERROR” “BOTH S AND Q EQUAL TO L” “XXXXXXXX” “ZZZZZZZZ” 可综合不可综合972)数位字符串: 称为位矢量,代表二进制、八进制、十六进 制的数组。其位矢

49、量的长度为等值的二进制数的 位数。 格式: 其中基数符号有三种: B:二进制基数符号。 O:八进制基数符号,每一个八进制数代表一个3 位的二进制数。 X:十六进制基数符号,每一个十六进制数代表 一个4位的二进制数。基数符号 “数值”98 如: B“1_1101_1110”:二进制数数组,长度为9 “1_1101_1110” O“34” : 八进制数数组,长度为6 X“1AB”: 十六进制数数组,长度为12 二进制的B可以省略99 基本标识符的要求(87标准): 以英文字母开头; 不连续使用下划线“_”; 不以下划线“_”结尾; 由26个大小写英文字母、数字0-9及 下划线“_”组成的字符串。 3 3、标识符、标识符 定义常数、变量、信号、端口、子程序或 参数的名字。100基本标识符中的英文字母不分大小写;VHDL的保留字不能作为标识符使用。 合法标识符_Decoder_1、2FFT、Sig_#N、Not-Ack、ALL_RST_、data_BUS、return、entitymy_counter、Decoder_1、FFT、Sig_N、Not_Ack、State0、entity1不合法标识符101扩展标识符(93标准): 以反斜杠来界定,免去了87标准中基本标识符的一些限制。 可以以数字打头, 允许包含图形符号, 允许使用VHDL保留字, 区分字母大小写等。 如:74LS163

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《EDA 技术》全册配套课件.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|