




免费预览已结束,剩余29页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京工业大学实验学院,vhdl与数字电路设计,第一章 vhdl程序的基本结构,北京工业大学实验学院,目 录,基本结构,一,实体,二,三,四,结构体,库和程序包,配置,五,1、基本结构,如图代表的是一个芯片的内部俯视图,下面范例介绍如何使用vhdl程序设计该芯片电路。,pin48,pin7,北京工业大学实验学院,library ieee; -use定义区 use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;,entity ch1 is -entity定义区 port(pin48: in std_logic; pin7 : out std_logic); end ch1;,architecture rtl of ch1 is -architecture定义区 begin pin7=pin48; -程序 end rtl;,北京工业大学实验学院,描述输入/输出端口 描述电路的行为和功能,北京工业大学实验学院,input port,output port,functions,in,out,input,output,vhdl的功能,北京工业大学实验学院,并非所有vhdl程序都具备上述的语法结构。理论上,只有entity和architecture是程序必备的;而在实际应用中,常常需要在定义entity之前调用库和库中的程序包(只是“调用”,不是“编写”)。下图所示的vhdl程序结构是实际应用中最基本、最常见的程序结构。,北京工业大学实验学院,基本结构,-eqcomp4 is a four bit equality comparator library ieee; use ieee.std_logic_1164.all; entity eqcomp4 is port(a, b:in std_logic_vector(3 downto 0); equal :out std_logic); end eqcomp4; architecture dataflow of eqcomp4 is begin equal = 1 when a=b else 0; end dataflow;,vhdl 对大小写不敏感,eqcomp4.vhd,包,实体,构造体,文件名和实体名一致,每行;结尾,关键字begin,关键字end后跟实体名,关键字end后跟构造体名,库,北京工业大学实验学院,2、库和程序包,library(库)是用于存放预先编译好的设计单元(实体说明、结构体、配置说明、程序包说明和程序包体等)。 package (程序包)中定义了基本的常数,数据类型,元件及子程序等。 作用: 声明在实体和结构体定义中将用到的数据类型、元件或子程序等。 声明格式: library ; use all; use ;,北京工业大学实验学院,vhdl语言的库分为两类: 设计库:包括std和work库,设计库对当前项目是可见默认的,无需用library和use语句声明。 资源库:包括ieee库等,设计库是常规元件和标准模块存放的库,使用哪个资源库需要预先声明。 vhdl标准中提供了一些预定义的标准程序包,常用的有: standard(std库) textio(std库) std_logic_1164(ieee库) ,北京工业大学实验学院,库和程序包,由于vhdl已是ieee规定的标准,所以只要是cpld、fpga等器件公司,他们都会提供标准的ieee资源库,而且由于这里面包含许许多多的定义和参数,初学者一时之间也不容易全部了解,所以可以全部写上以减轻负担,如下所示: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;,北京工业大学实验学院,库和程序包,作用: entity(实体)用于定义电路的外观,即i/o端口和数量。 定义格式: entity is 类属参数说明; ; 实体说明部分; end entity ;,北京工业大学实验学院,3、实体,放在端口说明之前,用来为设计实体和其外部环境通信的静态信息提供通道,可以用来定义端口宽度、实体中元件的数目以及器件延迟时间等参数。 可以使vhdl更加具有通用性。在开始设计vhdl语言程序时,难免会有一些参数的值不能确定(或待定),可以应用generic语句编制通用程序,仿真时只要将待定参数初始化即可。 定义格式: generic(参数名称:数据类型:=静态表达式;); 例: generic(delay_time:time:=5ns);,北京工业大学实验学院,3.1 类属参数说明,端口说明是对设计实体与外部接口的描述,端口对应于电路图上的一个引脚,一个端口就是一个数据对象。端口说明部分用于为设计实体和其外部环境通信的动态信息提供通道。 定义格式: port (端口名称: 端口模式 数据类型 :=表达式;); 例: port( a: in bit; b: in bit; c: out bit);,北京工业大学实验学院,端口名,数据类型,端口模式,3.2 端口说明,端口说明必须包括端口名称、端口模式和数据类型的描述。端口名称就是指定端口的标识符;端口模式用来说明数据、信号通过该端口时的流动方向,即数据传输方向;数据类型用来说明通过信号端口的数据或者信号的数据类型。 端口模式:,北京工业大学实验学院,3.2 端口说明,in(输入)模式: out(输出)模式: inout(双向)模式: buffer(缓冲)模式: buffer模式和inout模式的区别就在于inout模式不能用于实体内部的反馈。 linkage(链接)模式:,北京工业大学实验学院,3.2 端口说明,北京工业大学实验学院,entity test1 is port(a: in std_logic; b, c: out std_logic); end test1; architecture rtl of test1 is begin b = not(a); c = b; -error end rtl;,out与buffer的区别,实体说明部分应放在端口说明的下面,由实体声明语句和实体语句两部分构成。 实体声明语句的功能是用来定义设计实体接口中的一些公共信息,如数据类型的定义。 实体语句是每一个设计实体接口的公共部分。实体语句只能由以下并行语句组成:并行断言语句、并行过程调用语句和被动进程语句。这些实体语句部分必须是被动语句,即在语句中不含有赋值语句。,北京工业大学实验学院,3.3 实体说明部分,entity ram is generic(delay_time: time:=5ns); port(addr: in std_logic_vector(15 downto 0); sel: in std_logic; data: out std_logic_vector(31 downto 0); type instruction is array(0 to 7) of natural; type program is array(natural range) of instruction; end ram;,一个完整的entity实例,北京工业大学实验学院,作用: 实体的实现。即说明电路执行什么动作或实现功能。 定义格式: architecture of is 结构体声明语句; begin ; end architecture ;,北京工业大学实验学院,4、结构体,位于实体之后。实体和结构体的编译是有先后顺序的,只有编译了实体说明以后,才能对结构体进行编译。如果实体说明需要重新编译,那么相应的结构体也需要重新编译。 每个实体说明可以对应多个结构体,每个结构体对应着设计实体不同的结构和算法实现方案。一般来说,每个实体对应的各个结构体的地位是同等的,都用来完整地实现结构体的具体功能。 同一个结构体不能被不同的设计实体所共有。,北京工业大学实验学院,结构体,结构体命名: 遵循标识符的命名规则,一般建议按照一定的惯例进行命名: behavioral/behave -行为描述方式 dataflow/rtl -数据流描述方式 structural/structure -结构化描述方式 bool -用数学表达方式 latch -功能,北京工业大学实验学院,结构体声明语句: 对结构体内部所使用的信号、变量、常数、元件、子程序声明等进行定义。和实体中端口说明一样,也应该含有信号名称和数据类型的说明,但由于所定义的信号是结构体内部使用的信号,因此不需要进行端口模式的说明。定义格式如下: signal nesl: bit; 并行描述语句: 结构体中主要包括进程语句、信号赋值语句、块语句、子程序调用语句和元件例化语句等。,北京工业大学实验学院,行为描述方式: 对设计实体的数学模型的描述,是一种抽象描述(不针对器件,不考虑实体的电路组织和门级实现),是整体设计功能的定义,高层次描述。只需注意正确的实体行为,准确的数学模型和精确的输出结果。 寄存器传输(数据流)描述方式: 按照从信号到信号的寄存器传输路径行使进行描述的方式。优点在于很容易进行逻辑综合,缺点是硬件水平要求较高。 结构描述方式: 在层次化结构设计中,高层次的设计模块调用低层次的设计模块,或者直接用门电路设计单元来构成一个复杂的逻辑电路的描述方法。采用结构描述方式时,如果想要引用库中不存在的模块或元件时,必须先创建。,北京工业大学实验学院,结构体的三种描述方式,一个完整vhdl电路设计必须有一个实体和对应的结构体,即实体和结构体对构成一个完整的vhdl设计(一个实体可对应一个结构体或多个结构体,即一个实体可以有不同的描述方式)。 作用: 当实体有多个结构体时,系统默认实体选用最后一个结构体,利用配置语句可以任意选择采用哪一个结构体。 定义格式: configuration of is for end for; end 配置名;,北京工业大学实验学院,5、配置,library std; use std.standard.all; -库和程序包 entity and2 is port(a : in bit; b : in bit; c : out bit); end and2; -实体定义 architecture na of and2 is begin c = 0 when a=0 and b = 0 else 0 when a=1 and b = 0 else 0 when a=0 and b = 1 else 1; end na; -结构体na,北京工业大学实验学院,输入与门,vhdl程序举例1,architecture nb of and2 is begin c = a and b; end nb; -结构体nb configuration s1 of and2 is for na end for; end configuration s1; -结构体配置结束,北京工业大学实验学院,北京工业大学实验学院,vhdl程序举例2全加器,library ieee; use ieee.std_logic_1164.all; entity fa is port (a,b,ci: in std_logic; s,co : out std_logic); end fa; architecture dat1 of fa is begin s=a xor b xor ci; co=(a and b) or (a and ci) or (b and ci); end dat1;,北京工业大学实验学院,为了使设计能够更直接地反映晶体管电路的构成,应该将异或门用基本的与门和或门替代:,architecture dat2 of fa is begin s=(a and b and ci) or (a and (not b) and (not ci) or (not a) and b and (not ci) or (not a) and (not b) and ci); co=(a and b) or (a and ci) or (b and ci); end dat2;,北京工业大学实验学院,为了减少晶体管的使用量,考虑两个输出函数的公共部分,可以将输出改写为:,arc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育技术决策的道德引领
- 大学生性卫生保健
- 重庆巫山县选调事业单位笔试真题2024
- 2024年巴州招聘中小学教师笔试真题
- 2025年中国调直自动切割机行业市场调查、投资前景及策略咨询报告
- 2025年中国节能型变频器行业投资前景及策略咨询研究报告
- 2025年中国简易装配架行业市场调查、投资前景及策略咨询报告
- 2025年中国矿质干燥剂行业市场调查、投资前景及策略咨询报告
- 2025年中国电箱用电源插座及板前联结件行业投资前景及策略咨询研究报告
- 2025年中国珍珠型复合式微过滤口罩行业投资前景及策略咨询研究报告
- 吹气球治疗肺部疾病
- DB51-T 2975-2022 气凝胶复合保温隔热材料及系统通.用技术条件
- DB51-T 2987-2022 企业温室气体排放管理规范
- 脑出血疑难病例讨论护理
- 雨季行车安全培训
- 广西南宁市英语小升初试卷及解答参考(2024-2025学年)
- 广西河池市2023-2024学年高一下学期7月期末考试英语
- 智能客服培训手册
- 安康杯安全知识竞赛考试题含答案
- 个人雇护工签订协议书范本范本
- (完整版)玻璃采购合同
评论
0/150
提交评论