网站大量收购闲置独家精品文档,联系QQ:2885784924

第11章 VHDL设计初步.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VHDL 设计初步 参考资料 [1] 潘松,黄继业. EDA技术实用教程. 北京,科学出版社. 2002 [2]潘松,黄继业. 现代DSP技术. 西安,西安电子科技大学出版社. 2003 VHDL是非常高速集成电路硬件描述语言 (Very High speed Integrated Circuit Hardware Description Language)的英文缩写。 语法和风格: (1)类似与现代高级编程语言,如C语言。 (2)VHDL描述的是硬件,它包含许多硬件特有的结构。 VHDL程序的基本结构 Library IEEE; Use IEEE.STD_LOGIC_1164.all; Entity and2 is Port( a, b : in bit; c : out bit); End and2; Architecture a1 of and2 is Begin c = a and b; End a1; VHDL 入门的最有效的方法是通过具体电路实例引出对应的VHDL 表述,通过这些有针对性的表述进而学习相关的语句语法,再通过多个类似实例的学习,逐步完备VHDL 的基本语法知识和提高电路的描述和设计能力。据此,全章通过数个简单、完整而典型的VHDL 设计示例,使读者初步了解用VHDL 表达和设计电路的方法,并对由此而引出的VHDL 语言现象和语句规则能逐步趋向系统的了解。 由于用硬件描述语言来对电子线路的表达和设计是EDA 建模和实现技术中最基本和最重要的方法,其它的许多方法都是建筑在这一基础之上的,如使用MATLAB/DSP Builder的设计方案、图形方式的状态机输入法、原理图输入法等等。因此VHDL 的学习在EDA技术的掌握中具有十分重要的地位。 1 简单组合电路的VHDL 描述 2选1 多路选择器是典型的组合电路,本章以此电路的VHDL 表述与设计为例,引出相关的VHDL 结构、语句表述、数据规则和语法特点,并加以详细说明。 1.1 多路选择器的VHDL 描述 2 选1 多路选择器的电路模型,或元件图如图3-1 所示。例3-1 是其VHDL 的完整描述,即可使用VHDL 综合器直接综合出实现即定功能的逻辑电路,对应的逻辑电路如图3-2 所示,因而可以认为是此多路选择器的内部电路结构。 注意,电路的功能可以是唯一的,但其电路的结构方式不是唯一的,它决定于综合器的基本元件库的来源、优化方向和约束的选择、目标器件(指FPGA/CPLD)的结构特点等等。 图中,a 和b 分别为两个数据输入端的端口名,s 为通道选择控制信号输入端的端口名,y为输出端的端口名。“mux21a”是设计者为此器件取的名称(好的名称应该体现器件的基本功能特点)。 【例3-1】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ; END ARCHITECTURE one ; 由例3-1 可见,此电路的VHDL 描述由两大部分组成: 以关键词ENTITY 引导,END ENTITY mux21a 结尾的语句部分,称为实体。VHDL 的实体描述了电路器件的外部情况及各信号端口的基本性质,如信号流动的方向,流动在其上的信号结构方式和数据类型等。图3-1 可以认为是实体的图形表达。 以关键词ARCHITECTURE 引导,END ARCHITECTURE one 结尾的语句部分,称为结构体。结构体负责描述电路器件的内部逻辑功能和电路结构。图3-2 是此结构体的某种可能的电路原理图表达。 在VHDL 结构体中用于描述逻辑功能和电路结构的语句分为顺序语句和并行语句两部分。顺序语句的执行方式类似于普通软件语言的程序执行方式,是按照语句的前后排列方式逐条顺序执行的。而在结构体中的并行语句,无论有多少行语句,都是同时执行的,与语句的前后次序无关(姑且暂时这样认为,以后将给予详细说明)。 例3-1 中的逻辑描述是用WHEN_ELSE 结构的并行语句表达的。它的含义是,当满足条件s =0,即s 为低电平时,a 输入端的信号传送至y ,否则(即s 为高电平时)b 输入端的信号传送至y。 也可以用其他的语句形式来描述以上相同的逻辑行为。例3-2 中的功能描述语句都用了并行语句,是用布尔方程的表达式

文档评论(0)

beoes + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档