cpld-fpga课件(第3章)好东西

上传人:F****n 文档编号:88367034 上传时间:2019-04-25 格式:PPT 页数:40 大小:565.50KB
返回 下载 相关 举报
cpld-fpga课件(第3章)好东西_第1页
第1页 / 共40页
cpld-fpga课件(第3章)好东西_第2页
第2页 / 共40页
cpld-fpga课件(第3章)好东西_第3页
第3页 / 共40页
cpld-fpga课件(第3章)好东西_第4页
第4页 / 共40页
cpld-fpga课件(第3章)好东西_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《cpld-fpga课件(第3章)好东西》由会员分享,可在线阅读,更多相关《cpld-fpga课件(第3章)好东西(40页珍藏版)》请在金锄头文库上搜索。

1、CPLD/FPGA的开发与应用,第3章 硬件描述语言VHDL程序结构,VHDL的描述风格,VHDL的库及配置,VHDL的构造体,VHDL的实体,VHDL程序结构,VHDL程序基本结构,VHDL的基本设计单元,Entity(实体) 用来说明模型的外部特征。,Configuration(配置) 将实体和它的构造体联系起来。,Package(程序包) 构成库的基本单元,使实体和结构体内的数据类型、常量、子程序等对于其他设计单元可见,包括包头和包体两部分。,Library (库) 用来存放已编译过的设计单元,可作为其它设计描述的共享资源。,Architecture(构造体) 用来定义模型的功能。,实体

2、(ENTITY)说明语句的一般格式为: ENTITY 实体名 IS 类属参数说明 端口说明 END 实体名;,斜体表示关键字;实体名为设计单元命名;表示可选项;类属参数说明用以指定某些全局参数值;端口说明则定义了每个外部引脚的名称、模式和数据类型。,实体(ENTITY)用来描述设计单元的外部信息,即为设计单元命名,并说明端口。,实体(ENTITY),端口说明的一般格式为: PORT(端口名,端口名:端口模式 数据类型; . . . 端口名,端口名:端口模式 数据类型);,例如,4-7译码器的端口描述: ENTITY YMQ4_7 IS PORT (Q1,Q2,Q3,Q4 : IN BIT; Y

3、 : OUT STD_LOGIC_VECTOR(7 DOWNTO 1); END YMQ4_7;,设计实体端口模式说明,端口模式(MODE),端口模式(MODE)有以下几种类型: IN ;OUT;INOUT ;BUFFER 端口模式可用下图说明:(黑框代表一个设计或模块) IN OUT BUFFER INOUT,实体(ENTITY)与电路图设计中的电路元件符号(Symbol) 相对应。 Symbol规定了电路元件的符号名、接口关系和数据类型,而ENTITY也具有同样的功能。,下面R-S触发器的例子可以看出两者间的对应关系。 (右边是传统设计中的符号图描述,左边是VHDL的设计描述),ENTIT

4、IE与SYMBOL对应关系,* 端口说明语句用关键词 PORT开头,用来描述实体对外界连接的端口名称、数目、模式和数据类型。 本例中,实体rsff有四个端口,Set/Reset是IN模式, Q/QB 是BUFFER(缓冲)输出模式,都为BIT类型。,RSFF实体的VHDL描述为: ENTITY RSFF IS PORT ( set, reset : IN BIT; q,qb : BUFFER BIT); END RSFF;,* 实体语句用关键词ENTITY开头,实体名RSFF对应于符号名SYMBOL,端口说明语句处于实体结束语句END RSFF;之间。,ENTITIE与SYMBOL对应关系举例

5、,ENTITY cntm16 IS -实体定义 PORT (ci : IN std_logic; nreset : IN std_logic; clk : IN std_logic; co : out std_logic; qcnt : buffer std_logic_vector(3 downto 0) ); END cntm16;,端口名称,端口类型,端口模式,构造体(ARCHITECTURE)说明语句的一般格式为: ARCHITECTURE 构造体名 OF 实体名 IS 构造体说明部分 BEGIN 并行处理语句段; END 构造体名;,关键字ARCHITECTURE做为构造体的开头,构

6、造体名可任取,说明是某设计实体的构造体。 ARCHITECTURE和BEGIN之间是构造体参数说明区;BEGIN和END之间是构造体功能说明语句区,由并行处理语句组成。,构造体(architecture),构造体说明语句描述设计功能,即说明设计单元的具体行为或结构。,构造体(Architecture),构造体(Architecture),声明语句区(Declarations) 用于结构体中的数据类型,常数,信号,元件,子程序等声明。,并发语句区,信号赋值(Signal Assignments 计算结果,并赋值给信号,元件例化 (Component Instantiations) 调用另一个实体

7、所描述的电路。即元件调用,过程调用(Procedure Calls调用一个预先定义好的一个算法。,进程(Processes) 定义一个新算法实现电路功能。进程中的语句按放置的顺序执行,即顺序语句。,构造体组织结构,功能说明语句是构造体描述的主体,采用并行语句(并行赋值语句、元件例化语句、进程语句等)来描述,有行为功能描述、 数据流描述和结构描述三种设计描述方式(或称三种设计描述风格)。,一个设计实体可以有多个构造体,一种可能是行为描述,另一种可能是结构描述,还有一种可能是数据流描述。 可通过配置语句将某一特定的构造体与实体相联系。,以设计实体rsff的构造体描述为例说明如下。,结构描述风格,r

8、sff结构化描述的构造体: ARCHITECTURE netlist OF rsff IS COMPONENT nand2 PORT ( a, b : IN BIT; c : OUT BIT); END COMPONENT; BEGIN U1: nand2 PORT MAP (set, qb, q); U2: nand2 PORT MAP (reset, q, qb); END netlist;,实体rsff的结构图 :,RSFF实体的VHDL描述为: ENTITY RSFF IS PORT ( set, reset : IN BIT; q,qb : BUFFER BIT); END RSFF

9、;,行为、数据流描述风格,行为描述模型,用输入/输出响应来描述器件的模型 只描述电路的功能,而不是结构 不针对专门的硬件 可用于综合和仿真,Input1N,Output1N,IF input1 THEN FOR j IN high DOWNTO low LOOP shift(j) := shift(j); END LOOP; output1 = shift AFTER 5ns,结构描述模型,用更低层次的器件的互连来描述器件的模型 描述电路的功能和结构 调用特殊的硬件 可用于综合和仿真,Input 1,Input n,Output 1,Output n,底层元件,底层元件,Process (a,

10、 b, c, d, sel) begin case (sel) is when “00” = mux_out mux_out mux_out mux_out = d; end case;,数据流描述模型,将硬件的RTL模型转化为某种优化的特殊的门级电路来具体实现,实体和构造体之间的关系,Input1,Inputn,Output1,Outputn,构造体,A B C D Sel,MUX_Out,2,实体,库(library),库的种类: WORK库-设计库,对当前项目默认可视,无需调用说明语句。 STD库-资源库,为VHDL标准库,无需调用说明语句。 IEEE库-资源库,含std_logic_1

11、164等逻辑设计标准和设计单元, 需加调用说明语句。 ASIC库-资源库,又称逻辑门库,含已通过编译的设计实体, 需加调用说明语句。 用户自定义库-资源库,由用户开发的共用程序包,需要加调 用 说明语句。,库的作用:利用VHDL进行设计时,为提高设计效率和遵循统一的语言规则或数据类型,将一些有用的数据定义信息程序包汇集到一个或几个库中以供调用,实现资源共享。,std库/ieee库中的程序包,库说明语句,库说明语句一般格式: LIBRARY 库名1; LIBRARY 库名2; LIBRARY 库名;,库说明语句使用范围: 从一个设计实体的实体说明开始到它所属的构造体配置为止。当一段程序中出现两个

12、以上实体时,需要两条以上的库说明语句,且放置在各自的实体说明前。,包集合(package),包集合调用语句一般格式: LIBRARY IEEE; USE IEEE.std_logic_1164.all; USE IEEE.std_logic_arith.all; USE IEEE.std_logic_unsigned.all;,包集合又称程序包,是库的基本组成单元,是设计中常用子程序和公用数据类型及函数、过程定义的程序集合,可供用户调用。,配置语句的一般格式: CONFIGURATION configuration_name OF ENTITY_name IS FOR architecture

13、_name END FOR; END configuration_name;,配置(configuration),配置(configuration)语句:指明设计实体与结构体之间的连接关系,相当于将设计单元安装到具体的实体中。用户可利用配置语句来选择不同的构造体,使其与具体设计实体相对应。,General VHDL Format,ENTITY test IS PORT (input_pin_name : IN bit; output_pin_name : OUT bit); END test; ARCHITECTURE test_body OF test IS BEGIN output_pin

14、_name = input_pin_name; END test_body;,VHDL Format,Logic Behaviour define section,mux21a实体 mux21a结构体,举例: 设计一个2选1多路通道选择器,d,e,程序包,实体,构造体,多路选择器的VHDL描述(一),ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGIN d = a AND

15、(NOT S) ; e = b AND s ; y = d OR e ; END ARCHITECTURE one ;,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL,d,e,程序包,实体,构造体,信号传输符号,多路选择器的VHDL描述(二),多路选择器的时序仿真波形, VHDL代码编写; 2. 综合成门级网表; 3. 功能仿真; 4. 布局/布线至PLD/FPGA中; 5. 时序仿真; 6. 下载。,基于VHDL设计过程,由VHDL程序综合为实用电路,VHDL文本编辑器,VHDL综合器,FPGA/CPLD 适配器,FPGA/CPLD 编程下载器,FPGA/CPLD 器件和电路系统,时序与功能 仿真器,VHDL 仿真器,ALTERA Cadence Exemplar Synopsys Synplicity Viewlogic .,第章 习题 VHDL程序由哪几部分组成?试画出其结构示意图。 什么是设计的实体?其功能作用? 设计实体有哪几种端口模式?端口说明语句的一般格式? 什么是设计的构造体?简述其功能作用与结构组成。 设计实体中的库有哪几类?其作用是什么?如何调用库资源? 参考举例,设计一个4选1多路选择器。,交通管理系统设计,VHDL应用举例,管理对象: 信号灯管理:红、黄、绿 时间牌管理:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号