电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

vhdl基本语法(简略共34页)

  • 资源ID:432895184       资源大小:165.53KB        全文页数:49页
  • 资源格式: DOCX        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

vhdl基本语法(简略共34页)

VHDL硬件描述语言1.1 VHDL概述1.1.1 VHDL的特点VHDL语言作为一种标准的硬件描述语言,具有结构严谨、描述能力强的特点,由于VHDL语言来源于C、 Fortran 等计算机高级语言,在VHDL 语言中保留了部分高级语言的原语句,如if 语句、子程序和函数等,便于阅读和应用。具体特点如下:1. 支持从系统级到门级电路的描述,既支持自底向上(bottom-up )的设计也支持从顶向下( top-down )的设计,同时也支持结构、行为和数据流三种形式的混合描述。2. VHDL 的设计单元的 基本组成部分是实体( entity )和结构体( architecture),实体包含设计系统单元的输入和输出端口信息,结构体描述设计单元的组成和行为,便于各模块之间数据传送。 利用单元( componet)、块( block )、过程( procure)和函数( function )等语句,用结构化层次化的描述方法,使复杂电路的设计更加简便。采用包的概念,便于标准设计文档资料的保存和广泛使用。3. VHDL 语言有常数、信号和变量三种数据对象,每一个数据对象都要指定数据类型, VHDL的数据类型丰富,有数值数据类型和逻辑数据类型,有位型和位向量型。既支持预定义的数据类型,又支持自定义的数据类型,其定义的数据类型具有明确的物理意义,VHDL是强类型语言。4. 数字系统有组合电路和时序电路,时序电路又分为同步和异步,电路的动作行为有并行和串行动作, VHDL 语言常用语句分为并行语句和顺序语句,完全能够描述复杂的电路结构和行为状态。1.1.2 VHDL语言的基本结构VHDL语言是数字电路的硬件描述语言,在语句结构上吸取了Fortran 和 C 等计算机高级语言的语句,如IF 语句、循环语句、函数和子程序等,只要具备高级语言的编程技能和数字逻辑电路的设计基础,就可以在较短的时间内学会VHDL 语言。但是VHDL毕竟是一种描述数字电路的工业标准语言,该种语言的标识符号、数据类型、数据对象以及描述各种电路的语句形式和程序结构等方面具有特殊的规定,如果一开始就介绍它的语法规定,会使初学者感到枯燥无味,不得要领。较好的办法是选取几个具有代表性的VHDL 程序实例,先介绍整体的程序结构,再逐步介绍程序中的语法概念。一个 VHDL 语言的设计程序描述的是一个电路单元,这个电路单元可以是一个门电路,或者是一个计数器,也可以是一个CPU。一般情况下,一个完整的VHDL 语言程序至少要包含程序包、实体和结构体三个部分。实体给出电路单元的外部输入输出接口信号和引脚信息,结构体给出了电路单元的内部结构和信号的行为特点, 程序包定义在设计结构体和实体中将用到的常数、数据类型、子程序和设计好的电路单元等。一位全加器的逻辑表达式是:S=A B CiCo=AB+ACi+BCi全加器的 VHDL 程序的文件名称是 fulladder.VHD ,其中 VHD 是 VHDL 程序的文件扩展名,程序如下:LIBRARY IEEE;-IEEE 标准库USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fulladder IS- fulladder 是实体名称PORT(A, B, Ci : IN STD_LOGIC; -定义输入 /输出信号Co, S : OUT STD_LOGIC);END fulladder;是结构体名BEGINS <= A XOR B XOR Ci;Co <= (A AND B) OR (A AND Ci) OR (B AND Ci);END addstr;从这个例子中可以看出,一段完整的VHDL代码主要由以下几部分组成:第一部分是程序包,程序包是用VHDL 言 写的共享文件,定 在 构体和 体中将用到的常数、数据 型、子程序和 好的 路 元等,放在文件目 名称 IEEE 的程序包 中。第二部分是程序的 体,定 路 元的 入/ 出引脚信号。程序的 体名称fulladder是任意取的,但是必 与VHDL 程序的文件名称相同。 体的 符是ENTITY , 体以ENTITY 开 ,以 END 束。 其中,定 A 、B 、 Ci 是 入信号引脚,定 Co 和 S 是 出信号引脚。第三部分是程序的 构体,具体描述 路的内部 构和 功能。 构体有三种描述方式,分 是行 ( BEHA VIOR )描述、数据流( DATAFLOW )描述方式和 构 (STRUCTURE)描述方式, 其中数据流( DA TAFLOW )描述方式又称 寄存器(RTL )描述方式,例中 构体的描述方式属于数据流描述方式。 构体以 符ARCHITECTURE开 ,以 END 结尾。 构体的名称 addstr 是任意取的。小提示:VHDL 每条 句是以分号“; ”作 束符的,并且VHDL 空格是不敏感的,所以符合之 空格的数目是可以自己 定的。可以按自己的 任意添加,增 代 可 性。1.1.3 VHDL 言的 体( ENTITY ) 明 句 体是 VHDL程序 中最基本的 成部分,在 体中定 了 芯片中所需要的 入 / 出信号引脚。 端口信号名称表示芯片的 入 / 出信号的引脚名, 种端口信号通常被称 外部信号,信号的 入 / 出状 被称 端口模式, 在 体中 定 信号的数据 型。 体 明 句的格式 :ENTITY 体名称 ISGENERIC (常数名称1: 型 := 缺省 ;常数名称2: 型 := 缺省 ;常数名称 N : 型 := 缺省 ;);PORT(端口信号名称1: 入 / 出状 数据 型;端口信号名称2: 入 / 出状 数据 型;端口信号名称N: 入 / 出状 数据 型);END 体名称;小提示:VHDL 言具有 87 准与 93 准两种格式,以上 VHDL 的 87 准, 于 93 准 要使用 END ENTITY 体名称; 束 体。 注意 了保 代 的可 合性与通用性,最好采用 87 准的 VHDL 格式,有些 EDA 工具不一定支持 93 准的 VHDL 言格式。( Quartus II 支持 VHDL93 、 87 准) 属 GENERIC 常用来定 体端口大小,数据 度,元件例化数目等。一般在 的 中不常用。例 1-1-2 一个同步十六 制加法 数器, 有 数控制、异步清零、和 位 出等功能。 路有三个 入端和五个 出端,分 是 脉冲 入端CLK , 数器状 控制端 EN ,异步清零控制端Rd,四位 数 出端 Q0, Q1, Q2, Q3和一个 位 出端 Co 。当 数器 出0000 1110 , Co=0,只有当 数器 出 1111 , Co=1。 的 体部分如下:ENTITY cntm16 ISPORT(EN : IN STD_LOGIC;Rd : IN STD_LOGIC;CLK : IN STD_LOGIC;Co : OUT STD_LOGIC;Q : BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);END cntm16;1. 体名称表示所 路的 路名称,必 与VHDL 文件名相同, 体名称是“ cntm16 ”,所存的 VHDL文件名必 是 “ cntm16.VHD ”。2. 端口信号名称表示芯片的 入/ 出信号的引脚名, 种端口信号通常被称 外部信号,端口信号名称可以表示一个信号,也可以表示一 信号(BUS ),由数据 型定 ,如EN , Rd, CLK , Co 分 表示 数允 信号,异步清零信号, 入信号和 位 出信号, Q 是一 出信号,用来表示四位同步二 制 数器的四位 数 出信号。3. 端口信号输入 /输出状态有以下几种状态: IN 信号进入电路单元。OUT 信号从电路单元输出。INOUT 信号是双向的,既可以进入电路单元也可以从电路单元输出。BUFFER信号从电路单元输出,同时在电路单元内部可以使用该输出信号。小提示:OUT 与 BUFFER 信号的区别就在于信号是否往内部有反馈,将输出端口定义为BUFFER 型,可以省去一个用于中间运算的一个临时信号,但是并不推荐这么做。4. 端口数据类型( TYPE )定义端口信号的数据类型,在 VHDL 中,常用的端口信号数据类型如下:( 1) 位( BIT )型:表示一位信号的值,可以取值 0和 1,放在单引号里面表示,如 X < = 1, Y <= 0。( 2) 位向量( BIT_VECTOR )型:表示一组位型信号值,在使用时必须标明位向量的宽度(个数)和位向量的排列顺序,例如: Q : OUT BIT_VECTOR(3 downto 0),表示Q3, Q2, Q1, Q0 四个位型信号。位向量的信号值放在双引号里面表示,例如 Q <=“ 0000”;( 3) 标准逻辑位( STD_LOGIC )型: IEEE 标准的逻辑类型, 它是 BIT 型数据类型的扩展,可以取值 U, X , 0, 1,Z ,W , L , H, -等。( 4) 标准逻辑位向量( STD_LOGIC_VECTOR )型: IEEE 标准的逻辑向量,表示一组标准逻辑位型信号值。VHDL是与类型高度相关的语言,不允许将一种数据类型的信号赋予另一种数据类型的信号。除了上述介绍的数据类型外,还有其他多种数据类型用于定义内部信号和变量,请参见 1-2 节。小提示:相同类型(模型相同,数据类型相同)的端口可以写在同一行,如:

注意事项

本文(vhdl基本语法(简略共34页))为本站会员(枫**)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.